Friday, 2023-07-21

anskiyI've deploy Ceph via ceph-ansible intergration and everytime I run playbooks like this: `ceph-ansible` -> `os-nova-install` -> `ceph-ansible` I get all my OSDs restarted. That happens because ceph-ansible renders ceph.conf on OSDs from variables whilst os-nova-install slurps ceph.conf from mon host. 07:42
anskiyThe difference between the two is in absence of `mon initial members = oscp99` and `osd pool default crush rule = -1` on OSD host. I was thinking about using `ceph_client_ceph_conf_overrides` (`ceph_client` variable to add something to `ceph.conf` via config-template) like this: https://paste.opendev.org/show/bfWm5UnkCmHTygg9iRmE/.07:42
anskiyAnd here is the actual question: in config-template there is an `ignore_none_type` attribute which defaults to True and I was assuming that if the value of variable in overrides is None (null in case of YAML) it would just remove it from configuration file, but it doesn't work that way: https://opendev.org/openstack/ansible-config_template/src/branch/master/plugins/action/config_template.py#L220-L228. Is this intended?07:42
anskiygood morning.07:42
anskiyI can probably go the other way around and set `mon initial members` and `osd pool default crush rule` via `ceph_client_ceph_conf_overrides` to the same values as on mon host, if this specific thing I'm asking about is not doable...07:45
noonedeadpunkmornings08:42
noonedeadpunkanskiy: I do recall a way to remove an option from the config... But on the other hand - ceph-ansible also uses our config-tempalte module, so maybe its easier to add something there rather then remove it?08:44
noonedeadpunkAlso, for ceph_cleint role in OSA you can supply static ceph.conf, which would disable fetching it from mons08:44
noonedeadpunkanskiy: regarding param removal - you have tried this path, right? https://opendev.org/openstack/ansible-config_template/commit/2ccc59fa13c9834344d9c040cfa818b7d16f680008:46
noonedeadpunkso it should be not `null` but `{}`08:46
noonedeadpunkas `{}` represents null actually08:46
anskiynoonedeadpunk: nope, I didn't, but I see, that with supplying `null` I get `None` in the code. Gonna try it, thanks. 08:52
anskiynoonedeadpunk: yeah, sure, I can work around it like that :)08:52
anskiyabout supplying static ceph.conf -- it's not gonna be "static", as I would have to parametrize it with variables from other places in `openstack_user_config`/`user_variables`, but this approach is doable too, yes. 08:54
opendevreviewDmitriy Rabotyagov proposed openstack/openstack-ansible-plugins master: Add openstack_resources role skeleton  https://review.opendev.org/c/openstack/openstack-ansible-plugins/+/87879410:17
opendevreviewDmitriy Rabotyagov proposed openstack/openstack-ansible-plugins master: Allow to define cloud name for service_setup  https://review.opendev.org/c/openstack/openstack-ansible-plugins/+/88916710:17
opendevreviewDmitriy Rabotyagov proposed openstack/openstack-ansible-plugins master: Allow to define cloud name for service_setup  https://review.opendev.org/c/openstack/openstack-ansible-plugins/+/88916710:17
anskiynoonedeadpunk: removing via `{}` almost does the trick (https://paste.opendev.org/show/baWDkAxOwTRGXthK9Lq1/). Addint doesn't help, as order of options still changes. 11:52
noonedeadpunkah, yes, it gets sorted....12:15
*** melwitt is now known as jgwentworth18:26

Generated by irclog2html.py 2.17.3 by Marius Gedminas - find it at https://mg.pov.lt/irclog2html/!