15:00:22 <noonedeadpunk> #startmeeting openstack_ansible_meeting 15:00:22 <opendevmeet> Meeting started Tue Nov 15 15:00:22 2022 UTC and is due to finish in 60 minutes. The chair is noonedeadpunk. Information about MeetBot at http://wiki.debian.org/MeetBot. 15:00:22 <opendevmeet> Useful Commands: #action #agreed #help #info #idea #link #topic #startvote. 15:00:22 <opendevmeet> The meeting name has been set to 'openstack_ansible_meeting' 15:00:28 <noonedeadpunk> #topic rollcall 15:00:32 <noonedeadpunk> o/ 15:00:46 <damiandabrowski> hi! 15:01:34 <opendevreview> Merged openstack/openstack-ansible stable/xena: Bump OpenStack-Ansible Xena https://review.opendev.org/c/openstack/openstack-ansible/+/864431 15:03:15 <mgariepy> hey ! 15:03:24 <noonedeadpunk> #topic office hours 15:03:41 <noonedeadpunk> so, repo for zookeeper has been create. There's one BUT though 15:04:02 <noonedeadpunk> there're redirect from openstack namespace to windmill on gitea 15:04:16 <noonedeadpunk> so whenever you clone from opendev - you will clone wrong one 15:04:42 <noonedeadpunk> Infra is aware and will discuss better solution for this situation 15:04:52 <noonedeadpunk> skyline repo is not created yet 15:05:52 <noonedeadpunk> I still going to push zookeeper role to gerrit to start reviewing/preapre tests 15:09:26 <noonedeadpunk> I also trying to figure out failure reasons for sahara. Octiavia is broken due to collections version we use - patch for bumping version is already proposed 15:10:13 <noonedeadpunk> Another failure is regarding swift/ironic 15:10:22 <jrosser> o/ in another meeting at the same time :( 15:10:29 <noonedeadpunk> Will try to take a look unless someone is already working with that 15:10:51 <jrosser> i am unlikely to have time this week 15:11:35 <noonedeadpunk> ok, then I will try to check on that 15:11:49 <noonedeadpunk> damiandabrowski: any progress on internal ssl? 15:13:29 <damiandabrowski> yeah, I've been extensively testing James Gibson's changes. Generally they look fine but I found some bugs, I will upload patches soon. My target is to finish internal SSL project before Zed release 15:13:33 <damiandabrowski> I have 2 things to discuss 15:14:43 <damiandabrowski> 1. Even this whole thing is called "internal" SSL, we probably want to provide a way to switch from http to https for external haproxy vip along with internal one, right? (from technical perspective I don't see any blockers) 15:14:56 <noonedeadpunk> Well, yeah, that would be sweet. But mention that before release deadline we also need to branch repos and do RC 15:15:50 <noonedeadpunk> well, I think switching ssl on/off for VIP should not cause any extra complexity from what we have now 15:16:40 <damiandabrowski> complexity in terms of our code or user actions? 15:16:53 <damiandabrowski> I'm talking about this change which for now covers only internal VIP: https://review.opendev.org/c/openstack/openstack-ansible-haproxy_server/+/829899 15:16:57 <cloudnull> has anyone had issues with the setting "send-proxy-v2" w/ galera? -- I just updated to the latest head of master and that setting was resulting in "ERROR 1130 (HY000): Proxy header is not accepted from ..." 15:17:03 <noonedeadpunk> well, both. It's smth we already have now and there shouldn't be changes to that? 15:17:03 <damiandabrowski> it's super easy to make it cover also external one 15:17:18 <cloudnull> it looks like galera is the only service that uses that backend option ? 15:17:44 <damiandabrowski> transition from unencrypted to encrypted traffic is not covered for now 15:18:16 <damiandabrowski> https://review.opendev.org/c/openstack/openstack-ansible-specs/+/822850/1..3/specs/yoga/internal-tls.rst#b43 15:18:24 <damiandabrowski> Jonathan and James explain it here ^ 15:19:23 <noonedeadpunk> cloudnull: um, no, never sam that 15:20:54 <jrosser> damiandabrowski: doesnt james spec allow haproxy to have either http or https backends so it is possible to have a transition, or switch back and forth? 15:21:08 <damiandabrowski> yes, but only for internal VIP 15:21:20 <damiandabrowski> my proposal is to allow that transition also for external VIP 15:21:42 <damiandabrowski> it's just a minor change in a code 15:21:59 <damiandabrowski> (and i'm not talking about backends now) 15:22:21 <noonedeadpunk> but PR you're mentioning only about backends? 15:22:26 <noonedeadpunk> (kind of) 15:23:11 <damiandabrowski> nope, that's why it also implements `haproxy_tcp_upgrade_frontend` var 15:23:22 <noonedeadpunk> ah,ok,yes 15:23:53 <noonedeadpunk> so we "force" tls for internal VIP when we want to secure backends 15:24:29 <noonedeadpunk> but we might need also to force external vip in case it's not tls? 15:24:41 <noonedeadpunk> Sounds like valid thing to do 15:25:49 <damiandabrowski> ok 15:26:38 <noonedeadpunk> it was so long time ago I already forgot what were caveats 15:27:10 <damiandabrowski> i need to leave for a moment, sorry 15:28:08 <noonedeadpunk> you also had second thing to discuss ;) 15:28:21 <mgariepy> ovn ssl patch is ready for reviews, i probably need to add a note. and update the commit message. https://review.opendev.org/c/openstack/openstack-ansible-os_neutron/+/862403 15:28:54 <mgariepy> do we want to support upgrading existing deployment to ssl or we skip that? 15:31:05 <noonedeadpunk> oh, wow, it's huge 15:31:27 <noonedeadpunk> and what upgrade would involve? As I'm not sure it's feasible at all? 15:31:57 <mgariepy> i have no idea how we could proceed. 15:32:21 <noonedeadpunk> Though I dunno if ovn is alike mysql, when client can talk both tls and non-tls 15:33:01 <mgariepy> i'm not sure it would cause big issue (the state won't change on connection loss i guess) 15:33:10 <noonedeadpunk> maybe we should set `neutron_ovn_ssl: false` in defaults, but enable that for CI? 15:33:33 <noonedeadpunk> But indeed I have no idea on impact during such upgrade 15:33:51 <mgariepy> i'd like to have it on by default 15:34:02 <mgariepy> we can add release note for upgrade? 15:34:11 <noonedeadpunk> yes, we can do that 15:34:13 <mgariepy> jamesdenton, what do you think ? 15:34:30 <mgariepy> we only have a couple deployers we know that uses it. 15:36:22 <mgariepy> the deployment order is kinda weird also. 15:36:36 <jrosser> i would be surprised if it can talk tls and non-tls at the same time 15:36:52 <jrosser> the point of the tls is to secure the comms so doing also non-tls would be odd 15:38:01 <jrosser> feels like an upgrade would be hard becasue as soon as the control plane parts get configured for tls then the compute/gateway nodes will be unable to connect to them 15:38:13 <noonedeadpunk> well, mysql does that as well as libvirt and rabbit for example 15:39:12 <mgariepy> the order is kinda weird there https://github.com/openstack/openstack-ansible/blob/master/playbooks/os-neutron-install.yml 15:39:15 <noonedeadpunk> while mysql does support that on the same port, and it's up to client either establish tls or not (unless explicitly restricted on server side), rabbit/libvirt just listen on different ports 15:39:22 <mgariepy> northd is not deployed before the computes. 15:40:07 <mgariepy> but if the connection is cut the ports in and security rules won't be updated until it's back online ? 15:40:11 <mgariepy> i guess.. 15:41:30 <noonedeadpunk> well when connection in ovs is cut to rabbit - huge shitshtorm with everything blicking comes when it's re-established 15:41:45 <noonedeadpunk> I've heard that ovsdb is not a strongest part either... 15:42:39 <mgariepy> it's kinda hard to test that in the CI. 15:42:49 <noonedeadpunk> yeah, totally 15:43:05 <NeilHanlon> o/ sorry I'm (very) late... timezones and Dst. I'm in Texas for SuperComputing22 15:43:21 <noonedeadpunk> but I think if it's only management that will be cut and flows will remain - it might be good enough 15:43:46 <noonedeadpunk> Oh, lucky you NeilHanlon! 15:43:50 <mgariepy> just like anything else when you don't have load on the server it works just like on the dev computer :D 15:44:04 <jamesdenton> mgariepy until now we have OVN in experimental state, so i'm not sure upgrades are in scope if we want to default only to SSL 15:44:18 <jamesdenton> seems like solving for the... 1 deployment out there 15:44:31 <mgariepy> all that work for you jamesdenton ;p 15:44:40 <noonedeadpunk> so indeed if it's just mgmt - let's cover with release note and set ssl enabled by default 15:44:40 <jamesdenton> and maybe spatel lol 15:45:00 <noonedeadpunk> also anskiy I guess? 15:45:06 <mgariepy> yay ok will do that. 15:45:18 <jamesdenton> perhaps. early adopters get to work out the kinks 15:45:28 <jamesdenton> cobra kai. no mercy. 15:46:35 <mgariepy> when you upgrade jamesdenton tell us about your experience :D 15:46:36 <mgariepy> haha 15:48:35 <jamesdenton> i most certainly will 15:48:52 <noonedeadpunk> I will try to check PR then today/tomorrow morning 15:50:13 <mgariepy> cool jrosser i'd like you opinion as well on the pki role usage :D 15:50:20 <jrosser> ok :) 15:55:12 <jrosser> unrelated to all this i have tried and failed to use the ironic openstack ansible modules 15:55:39 <jrosser> certainly for Y the ironic API appears to want a system scoped token when the modules talk to it 15:55:52 <jrosser> but in my utility container the CLI is fine 15:56:42 <jrosser> i've not had time to investigate further but ironic api seems to have different behaviour to the others 15:57:36 <noonedeadpunk> system scoped tokens should not be enforced in Y at least... 15:57:49 <jrosser> i did note that our openrc in the utility container is making a token scoped to the admin project and not a system scoped one 15:57:56 <noonedeadpunk> I can imagine bugs in collection itself - it's really quite huge mess as of today 15:57:59 <jrosser> though i was sure we had a patch related to that some time ago 15:58:18 <noonedeadpunk> I think, it;s matter of variable now 15:58:47 <noonedeadpunk> https://opendev.org/openstack/openstack-ansible-openstack_openrc/commit/fdc640ddcbc13de17609005f4ca34cc4067cd5f8 15:58:49 <spatel> spatel i am up for any kind of testing :) 15:58:54 <noonedeadpunk> openrc_system_scope 15:59:29 <noonedeadpunk> So we basically have multiple openrc files when it;s enabled 15:59:51 <noonedeadpunk> some logic for clouds.yaml present though 16:00:02 <jrosser> ahha ok 16:00:07 <noonedeadpunk> but tbh I'm really not sure if that's ironic or sdk/collection 16:00:36 <noonedeadpunk> As with X sdk and Y collections even keystone failed the same way 16:00:56 <noonedeadpunk> So might be API expects some param to be provided, but collection does not provide it 16:01:02 <noonedeadpunk> as it was missed/not updated 16:02:05 <noonedeadpunk> Evenrually sad thing about collections, that 2.0 is going to be release in January 16:02:07 <damiandabrowski> i'm back sorry. So regarding internal TLS there is one more problem with uWSGI. 16:02:08 <damiandabrowski> In order to use https/https-socket options, the OpenSSL development headers are required(e.g. libssl-dev on Debian). 16:02:11 <damiandabrowski> It's not installed by default and after dev headers are installed, uWSGI python package needs to be reinstalled. 16:02:14 <damiandabrowski> But the old package without https support can be still stored in pip cache(/root/.cache/) which will prevent the correct uWSGI package to be installed. 16:02:17 <damiandabrowski> It can be fixed by disabling pip cache when rebuilding venv: `openstack-ansible /opt/openstack-ansible/playbooks/os-glance-install.yml -e venv_rebuild=true -e uwsgi_pip_install_args='--no-cache-dir'` 16:02:23 <noonedeadpunk> So we will have to release with SHA in ansible-collection-requirements 16:02:25 <damiandabrowski> I guess we want to add an extra logic for that, right? So when libssl-dev is not installed but TLS is enabled, uwsgi playbook will re-install uwsgi. 16:02:28 <damiandabrowski> Or maybe you have some better ideas? 16:03:30 <noonedeadpunk> I don't think it's an issue? 16:04:05 <noonedeadpunk> As we can always build uwsgi with ssl support? 16:04:30 <damiandabrowski> it's the issue on existing environments which doesn't have SSL enabled 16:04:40 <damiandabrowski> i guess we need to provide a smooth upgrade path 16:04:40 <noonedeadpunk> and since we introduce this with new release - uwsgi version will be different, thus cache won't have any effect? 16:05:17 <jrosser> i think there is a recent new release of uwsgi 16:05:20 <noonedeadpunk> because cache might be an issue only when we re-build same uwsgi version but with different flags, while we don't? 16:05:33 <jrosser> so we can probably catch this with enable ssl for it and bump version all at the same time 16:06:09 <noonedeadpunk> oh... where we bump uwsgi :D 16:06:22 <jrosser> global pins? 16:06:23 <noonedeadpunk> ah https://opendev.org/openstack/openstack-ansible/src/branch/master/global-requirement-pins.txt#L11 16:06:38 <noonedeadpunk> yeah, was surprised not to find it in u-c 16:06:42 <jrosser> yeah so i think we have a neat way to do that hopefully 16:06:46 <noonedeadpunk> yup 16:07:08 <jrosser> it just needs libssl-dev in the repo server? 16:07:16 <damiandabrowski> ah yes i think you are right, if we assume that uwsgi will be upgraded it's just a matter of adding libssl-dev to theĀ `uwsgi_package_list` 16:07:30 <noonedeadpunk> 2.0.21 was released ~month ago 16:08:30 <noonedeadpunk> it's weird kind of... does pip just - oh, I have libssl - I will build SSL support for uwsgi? 16:08:46 <noonedeadpunk> and if not - well, ignore that? 16:08:51 <damiandabrowski> yeah 16:09:01 <damiandabrowski> it's mentioned here: https://uwsgi-docs.readthedocs.io/en/latest/HTTPS.html 16:09:04 <noonedeadpunk> well, actually I think it works same for journald I guess.... 16:09:06 <damiandabrowski> "In order to use https option be sure that you have OpenSSL development headers installed (e.g. libssl-dev on Debian). Install them and rebuild uWSGI so the build system will automatically detect it." 16:09:19 <jrosser> uwsgi has a totally custom build system 16:09:23 <jrosser> it's pretty wild 16:09:48 <noonedeadpunk> ok then.... 16:09:56 <damiandabrowski> okok, thanks for the input guys 16:10:02 <noonedeadpunk> So yes - let's bump uwsgi version and call it a day 16:10:15 <noonedeadpunk> oh. we're overtime:) 16:10:16 <jrosser> iirc there was some discussion in the infra channel this last week about conflucting versions of pyOpenssl (?) and that breaking uwsgi buids 16:10:18 <noonedeadpunk> #endmeeting