Closed jschmid1 closed 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.
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
lets move the discussed changes in the next pr
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
runner.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).
Added non-interactive modes for mon/mgr
Added a unitfied
promp
method that supports non_interactive callsCAVEAT:
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.