The first script here can be run on golden builds to keep them up to date should ever we need them.
- provision_servers : Provisions with
common
tasks, could be used to bring a bare server up to ceph standard. - provision_cluster : Provisions ceph components osds, mon, rgws and admins.
- ceph_sanity_check : Performs sanity checking and ceph related attributes to avoid common known issues.
Examples
ansible-playbook -i inventory/production provision_servers.yml
use
--limit : specific hosts
--tags : specific role
ansible-playbook -i inventory/golden-builds.yml provision_golden-builds.yml
use
--limit : specific hosts
--tags : specific role
Golden builds are kept up to date with any changes that need to be made to the cluster via ansible as well. Incase something needs to be cloned back.
- gld-blds-mon: this can be used for any Ceph service that isn't an osd
- gld-blds-osd: This is specifically meant for osd create, main difference being it has 2 networks to set up.
Non-cluster breaking, nothing should be added to this that directly effects cluster health. This is meant for server prep only.
'provision_servers.yml'
will run all required tasks on a machine to prepare it for Ceph use It does not harm or effect the cluster in anyway. These tasks set up all preflight checks needed for a node to be considered Ceph ready.
This removes the need for golden build cloning, as the .yml has been tested across golden-builds and the cluste r nodes themselves. All you have to do is add the ip of the new node to the inventory/production
hosts file and and ansible will change the state of that system.
Currently there is a few things the ansible does not prepare that exist in the golden build already:
TODO: http://docs.ceph.com/docs/master/start/quick-start-preflight/
- cephuser creation
- setting sudoless no password login
- dynamic:
- local .ssh/config server access a valid /etc/hosts file
- dynamic:
- known_hosts file in .ssh/
- visduo require tty
- remove ceph.repo from prx common with conditional
To get around this clone a golden build which has the above set up already. Change the networking and then run this ansible. These tasks will be added an tested against the golden build at a later time.