SUSE / DeepSea

A collection of Salt files for deploying, managing and automating Ceph.
GNU General Public License v3.0
161 stars 75 forks source link

[next] Initial bootstrap code - SES-764 #1728

Closed jschmid1 closed 5 years ago

jschmid1 commented 5 years ago

Signed-off-by: Joshua Schmid jschmid@suse.de

Description:

This PR enables DS-next to bootstrap a cluster(mon&mgr) using containers.

salt-run bootstrap.ceph [non_interactive=True/False]

Will bootstrap a cluster from nothing to N monitors and N managers (N depending on your policy.cfg).

CAVEAT:

salt \admin* podman.get_ceph_version

would make podman/conmon/runc stuck, and runc's child processes even defunct. This would eventually time out in salt, but not in podman, leaving zombie processes behind.

This behavior was not seen when executed in a local context via:

salt-call podman.get_ceph_version

After unsuccessful debugging I switched to a newer version of podman from OBS:

https://download.opensuse.org/repositories/devel:/kubic/openSUSE_Leap_15.1/ (ignoring the missing *-fuse package works fine)

which seems to not have this issues.

it is required for mgr deployment, but seems not to be required for mon bootstrapping. Also for querying ceph for health requires a (minimal) ceph.conf with mon_host options.

footnote: this is an experimental, unfinished, highly fragile and 'untested' code. It's just presented as a PR to other people as it will unblock further development. The code will be changed in the future and unittests will be added at a later stage.

jschmid1 commented 5 years ago

I'm also trying to streamline the returntype of our runners.

Since we're trying to achieve composability with the runners we have to consistently return True on success and False on failure.

jschmid1 commented 5 years ago

UPDATE regarding the podman/salt version issues:

It seems that running the salt-minion in debug mode. salt-minion -l debug doesn't show the described behavior. I'll keep posting updates when I get new insights on this topic

jschmid1 commented 5 years ago

lets move the discussed changes in the next pr