Tuesday, 2023-04-25

opendevreviewMerged openstack/openstack-ansible stable/zed: Switch spice-html5 source to freedesktop gitlab  https://review.opendev.org/c/openstack/openstack-ansible/+/88133700:32
opendevreviewMerged openstack/openstack-ansible stable/zed: Bump OpenStack-Ansible Zed  https://review.opendev.org/c/openstack/openstack-ansible/+/88133800:50
jrossergood morning07:14
opendevreviewJonathan Rosser proposed openstack/openstack-ansible-os_ironic master: Add driver type for redfish  https://review.opendev.org/c/openstack/openstack-ansible-os_ironic/+/88145007:19
noonedeadpunko/07:33
opendevreviewDmitriy Rabotyagov proposed openstack/openstack-ansible master: Add Yoga upgrade jobs  https://review.opendev.org/c/openstack/openstack-ansible/+/87988407:34
opendevreviewDmitriy Rabotyagov proposed openstack/openstack-ansible master: Switch ubuntu upgrade jobs to Jammy  https://review.opendev.org/c/openstack/openstack-ansible/+/87989007:34
noonedeadpunkpsymin[m]: lxc_container_default_mtu is desinged for just user_variables.yml07:35
noonedeadpunkfor the error you've posted - I think it has smth to do with how you've specified provder_networks07:36
noonedeadpunkand you should never update role defaults. whatever is there - can be overwritten in user_varaibales or group_vars07:37
noonedeadpunkThough in this specific case neutron_provider_networks either getting defined through openstack_user_config or should be explicitly configured in user_variables. Both ways work07:38
noonedeadpunkjrosser: what are your thoughts about this part for tls? https://review.opendev.org/c/openstack/openstack-ansible-repo_server/+/876429/comment/ba86394b_5ac67c55/07:40
noonedeadpunkin terms that repo_server_bind_address is defaulted to 0.0.0.007:40
jrosseryes i think we already have `repo_server_bind_address` dont we07:42
noonedeadpunkAs that sounds like proper variable at first glance, but then it kinda needs logic to handle 0.0.0.0 case where add all IPs, and that needs facts that we don't have...07:42
noonedeadpunkIt's set like that `repo_server_bind_address: "{{ openstack_service_bind_address | default('0.0.0.0') }}"`07:42
noonedeadpunkand SUN for 0.0.0.0 kinda.... won't work I assume07:42
jrosserwell - i wonder if actually the default is bogus07:43
jrosserbecause as you say it has to be defined really07:43
noonedeadpunkwell, it's fine to bind on 0.0.0.007:43
jrossersome of the roles are designed to work standalone like galera etc07:43
noonedeadpunkit's not fine to issue cert for 0.0.0.007:43
jrosserso for those, the default must be such that it does work07:44
jrosserbut actually we do the same thing here https://github.com/openstack/openstack-ansible-galera_server/blob/master/defaults/main.yml#L2807:44
noonedeadpunkyup...07:45
jrosserwhich is almost certainly not correct for TLS things07:45
jrosserdo you think it's better to default these to 127.0.0.1?07:45
noonedeadpunkUm, no, then it won't work for sure kinda07:45
noonedeadpunkas binding uwsgi to 127.0.0.1 is kinda usless07:46
jrosserrelatedly i'm not sure that the `| default('ExampleCorpIntermediate') }}"` is really helpful either07:46
noonedeadpunkin galera case cert and root are going to be issued if they're not defined07:46
jrosseryes07:46
noonedeadpunkand we actually use `galera_address` as it's VIP atm07:47
noonedeadpunk(for tls)07:47
jrosserwell - for roles that are not standalone we can probably not specify defaults, as they are confusing or wrong07:48
jrosserthat way it says "this other variable must be defined"07:48
noonedeadpunkyeah, ok, makes sense. pki_dir still worth to be defaulted I guess07:50
jrosserwell i don't know really07:51
jrossereverything can be overridden regardless07:51
jrosserif the role cannot create its own CA then the vars are mandatory to be defined07:52
noonedeadpunkI'm really not sure what to do with bind_address though to be frank. I could come up with logic that will do like `repo_server_tls_san: "{{ repo_server_bind_address == '0.0.0.0' | ternary(ansible_facts['all_ipv4_addresses'] | join(',IP:'), repo_server_bind_address }}"` or smth...07:52
noonedeadpunkbut that sounds like overkill07:53
noonedeadpunkAnd almost sure we don't have these facts07:53
noonedeadpunkor like "{{ repo_server_bind_address == '0.0.0.0' | ternary(container_address, repo_server_bind_address) }}"07:53
noonedeadpunkbut it's also kinda same...07:54
jrosseri think that is what we have this for? https://github.com/openstack/openstack-ansible/blob/379426ef210d5ffea858a37c006502575efed80b/inventory/group_vars/all/all.yml#L40-L4107:56
noonedeadpunkyeah, exactly...07:56
jrosserso unless i'm missing something it's just `repo_server_bind_address: "{{  openstack_service_bind_address }}"`07:57
noonedeadpunkyup07:57
noonedeadpunkit works by default, totally07:57
noonedeadpunkunless you set `openstack_service_bind_address: 0.0.0.0` which might be valid thing to do07:57
jrosseroh yes i think thats totally not going to work07:58
jrosserit'll break haproxy/metal i think for a start07:58
noonedeadpunksure, but in lxc it will just work07:58
noonedeadpunkor in cases where ou have haproxy out of controllers07:59
jrosserthough we did split the service address and the VIP out onto .100/.101 IP for AIO so it *might* be ok?07:59
noonedeadpunkor smth like f5 instead of haproxy...07:59
jrosseryes07:59
jrosser`container_address` is always the local IP on the mgmt net08:00
jrosserso really depends if we want to support binding to 0.0.0.0 at all, then we must revisit all the bind-to-mgmt patches i think08:00
noonedeadpunkGiven this is merged and used https://review.opendev.org/c/openstack/openstack-ansible/+/870113 - then yes :)08:01
noonedeadpunkotherwise it can be messy as well08:01
noonedeadpunkI think binding to 0.0.0.0 should be totally fine in some scenarios, except tls thing we're currently talking about08:02
jrosserright - so actual question is if we should split the vars between the bind address and whatever gets in the certificate08:02
jrosserbut if you connect to an IP that is not the one in the cert, then it's an error isnt it?08:03
noonedeadpunkyeah. And now I see we should08:03
noonedeadpunkyes, totally08:03
jrosserso what is the case to make them different?08:04
noonedeadpunkwhen you want to bind on zeros?08:04
noonedeadpunkand then you need to do like `ansible_facts['all_ipv4_addresses'] | join(',IP:')`08:04
jrosserurgh08:05
jrosserthats like information leakage too08:05
jrosseras you write the whole IP address mapping for the deployment out into the certificates08:05
noonedeadpunkyeah, so maybe just ternary(container_address, repo_server_bind_address) then?08:06
noonedeadpunkit's a standalone var, so if you want to override it - feel free08:07
noonedeadpunkand then take care of having facts08:07
noonedeadpunk*you need for that08:07
jrosserso is the idea here to have the services accessible on an "ssh" network as well as the mgmt network?08:07
* jrosser just trying to understand why binding to 0.0.0.0 is helpful08:08
noonedeadpunkI wasn't thinking of SSH network, but might be storage network or smth like that08:08
jrosserbtw i did patch the uwsgi role to be able to listen on a list of ip08:08
jrosserwhich is also not accounted for in the TLS stuff08:08
noonedeadpunkgood point08:08
jrosserso there is 3 cases, the mgmt ip, a list of ip, and 0.0.0.008:09
noonedeadpunklike if you want for rgw to talk to keystone through storage net and not mgmt net - that was my thinking08:09
jrosserthe list of IP was necessary to avoid using 0.0.0.0 in ironic, where the conductor API needs to listen on mgmt net and also bmaas net08:09
noonedeadpunkfor example, I'm binding haproxy to zeros, but on a specific interfacce, so that any IP on this intarface was served properly08:11
noonedeadpunkbut that's not realted to the topic :)08:11
jrosseri think we have added extra VIP for similar purposes08:11
noonedeadpunkyeah, so we have a keepalived instance for each haproxy server, and in case of failovers there can be up to 3 VIPs on 1 haproxy08:12
jrosserhmm right so we conclude that this is all complicated08:13
noonedeadpunklet me check how uwsgi lists are handled though08:13
noonedeadpunkaha, just a list instead of string08:14
jrosseryes https://github.com/openstack/ansible-role-uwsgi/commit/cd49d19055bc6a82ef8a80784ab257975a65536a08:14
jrosserone thing we could do is look at converting that to a list everwhere we use it08:15
jrosserthen from a certs point of view it would always be a list, even if just one element08:15
noonedeadpunkyup, makes sense08:15
noonedeadpunkand check for zeros and use management_address/container_address if that's the case?08:16
jrosseri wonder about glance08:16
jrosserwhere there is a good chance it is not uwsgi08:16
noonedeadpunkalso neutron08:17
noonedeadpunkah, but it does suport with eventlet08:17
noonedeadpunkright08:17
jrosserbtw the reason i don't much like the 0.0.0.0 stuff is that accidents are easy, particularly if there is a public IP on the host08:18
jrossernot binding to 0.0.0.0 but to specific addresses gives you another thing that has to go wrong to accidentally have a service exposed08:19
noonedeadpunkyou're not really running api's where there's a public network available?08:19
jrosserno, but the OSA default deployment does08:19
jrosserhaproxy on infra nodes08:20
noonedeadpunkyou mean metal one?08:20
jrosseryes08:20
noonedeadpunkyeah, I'm thinking about 0.0.0.0 as - just in case someone needs that inside their containers but not skilled enough to figure out what goes wrong08:21
jrosseridk how much attention people pay to firewall before the infra nodes, iptables etc08:21
noonedeadpunkso we could say - try setting this var to zeros, and let's see how it goes08:21
jrosseryes thats reasonable08:21
jrosserright yeah, so if you actually set the var to bind to 0.0.0.0 then it should not be a surprise that the certificate gets `ansible_facts['all_ipv4_addresses'] | join(',IP:')`08:23
noonedeadpunkbut then we don't have this fact gathered as of today08:24
noonedeadpunk(haven't checked but quite sure we should not)08:24
jrosserno - because on a network node that will be gigantic facts08:24
jrosserand takes aaaaaages to run08:24
jrosserperhaps we can improve the facts gathering to collect network facts when is_metal==false08:25
damiandabrowskiregarding uwsgi bind list and "then from a certs point of view it would always be a list, even if just one element"08:28
damiandabrowskiplease note that some roles do not support uwsgi: repo_server, tacker, masakari, swift08:30
jrosserthe same is true of glance and neutron as we discussed just now08:32
jrosserso it's a case of if in general it is possible to support binding to multiple addresses in the uwsgi and non-uwsgi cases08:33
jrosserrepo_server and horizon don't really count as they both have a web server08:33
jrosserthats another piece of tech-debt actually, collapsing repo server and horizon onto the same apache for metal deploys rather than keeping a nginx/apache split08:34
opendevreviewDmitriy Rabotyagov proposed openstack/ansible-role-python_venv_build master: Reduce amount of task that are executed  https://review.opendev.org/c/openstack/ansible-role-python_venv_build/+/88139708:38
damiandabrowskijrosser: "so it's a case of if in general it is possible to support binding to multiple addresses in the uwsgi and non-uwsgi cases"09:10
damiandabrowskiit's not possible for non-uwsgi, i just tried to achieve it for swift and tacker09:11
noonedeadpunkI don't think it affects logic of cert generation in any way thoug?09:15
noonedeadpunkbut yes, for those services if they wanna to have multiple IPs to listen on, then need te be binded to 0.0.0.009:15
damiandabrowskiit affects cert generation because in that case, cert would be signed to 0.0.0.0 which i believe won't work09:16
jrosserso in that case the cert must contain the list of interface IP, and the service must bind to 0.0.0.009:17
damiandabrowskito my understanding - yes09:17
jrosserdamiandabrowski: there are some other things to think about with the ironic role regarding TLS09:36
jrosserthere is potential communication between ironic-python-agent over br-bmaas and the ironic conductor *backend*09:36
jrosserand that has a couple of factors, needing more than one IP in the certificate, and also the CA needing to be present in the IPA ramdisk09:37
jrosseradditionally there is also a web server in the ironic deployment and i don't know if it is desirable to make that https or not09:38
jrosseri've not really thought about it but it's used for ipxe (probably can't be https?) and also as a staging point for glance images retrieved by IPA (perhaps could be https)09:39
damiandabrowskiouh, that's surprising that IPA connects directly to conductor backend. Is it described somewhere so I can try to understand the logic?09:45
jrosserit can do, if you want it to09:46
jrossersee the use of `endpoint_override` here https://docs.openstack.org/openstack-ansible-os_ironic/latest/configure-lxc-example.html09:48
jrosserit defaults to whatever the service catalog says but that doesnt really fit with the way OSA deploys the bmaas network with lxc09:48
jrosserand each conductor is responsible for a specific subset of the nodes, so it's fine for each conductor to use it's own IP as the callback in the config file09:49
jrosserthis would be different and use the internal VIP if bmaas network was routed fwiw09:49
damiandabrowskido you think we should cover this scenario out-of-the-box? We can probably say this about all services(that customer may want to omit haproxy and connect directly to service backends)09:52
damiandabrowskialternatively, we can say that more complex ironic scenarios may require disabling TLS(or dealing with potential issues like injecting CA into IPA ramdisk etc.)09:52
damiandabrowskiI'm not super familiar with ironic so I guess I'll just trust your opinion.09:52
jrosserwell theres a class of things like ironic/octavia/heat/trove(?) where there is an agent09:55
jrossertbh what i think we should do for ironic is document the addition of a CA into the IPA ramdisk09:55
jrosseror finding how how to tell it to ignore certificate validation09:56
jrosserit would be nice if the published agents would work even if it was not optimum09:56
jrosseri would really like to improve the ironic CI job using virtualbmc but i just don't have any spare cycles to look at that09:57
damiandabrowskiokok, let's do as you say then09:58
damiandabrowskithere's some information about IPA TLS https://docs.openstack.org/ironic-python-agent/latest/install/index.html#ipa-and-tls09:58
jrosserhmm second time today i see `fatal: [aio1 -> localhost]: FAILED! => {"changed": false, "dest": "/etc/openstack_deploy/upper-constraints/upper_constraints_70106ea80ce77cc6425ca09790503ba03be14618.txt", "elapsed": 10, "msg": "Connection failure: The read operation timed out", "url": "https://releases.openstack.org/constraints/upper/70106ea80ce77cc6425ca09790503ba03be14618"`09:58
jrosserright so `ipa-insecure=1` would be the most straightforward way to use the default IPA image 10:00
damiandabrowskiregarding ironic-ipxe(nginx) TLS support - that's a valid point, I added it to my notes, but now I'm focusing more on adding TLS support to haproxy backends10:02
jrossersure, that feels totally like something to do later10:03
noonedeadpunkSo, should I try to post some change to repo_server role (as quite trivial one) with conclusions on our todays discussion?10:23
noonedeadpunkand then we see if it makes any sense?10:24
opendevreviewDmitriy Rabotyagov proposed openstack/ansible-role-python_venv_build master: Reduce amount of task that are executed  https://review.opendev.org/c/openstack/ansible-role-python_venv_build/+/88139710:42
damiandabrowskinoonedeadpunk: sure, so what is the final conclusion? do something like this + gather network facts for non-metal?11:03
damiandabrowskiplacement_pki_san_ips: "{{ repo_server_bind_address == '0.0.0.0' | ternary(ansible_facts['all_ipv4_addresses'] | join(',IP:'), repo_server_bind_address) }}"11:03
damiandabrowskii wonder how should we handle 0.0.0.0 bind address on metal deployments then11:03
damiandabrowskis/placement/repo/g11:04
noonedeadpunkto be frank I'm more inclided for management_address or smth like that11:04
noonedeadpunkwe don't11:04
damiandabrowskihmm, can you please clarify what do you mean? as using management_address is exactly what we do now11:06
noonedeadpunkI really don't want to gather facts...11:06
damiandabrowskiso in case i'm not sure what's going to change11:06
damiandabrowskiyeah, I'd love to avoid that as well11:06
noonedeadpunkuntil `openstack_service_bind_address: 0.0.0.0`11:07
damiandabrowskiso...are you thinking about adding one extra task(probably above Create and install SSL certificates) to gather all_ipv4_addresses if openstack_service_bind_address = 0.0.0.0?11:09
damiandabrowskis/openstack_service_bind_address/repo_server_bind_address/11:10
damiandabrowskii have one more thought about this whole thing as maybe we are trying to make it more complex than it's really needed11:15
damiandabrowskiso from the beginning: we are trying to secure haproxy backends11:16
damiandabrowskiso what connects to these backends? haproxy11:17
damiandabrowskiand IPs of these backends are easily predictable: https://github.com/openstack/openstack-ansible-haproxy_server/blob/master/templates/service.j2#L13211:18
damiandabrowskiso maybe it's enough to include in cert's SAN only this single IP used by haproxy? as technically only haproxy should connect to these backends11:19
noonedeadpunkdamiandabrowski: I think this logic is wrong kinda11:24
noonedeadpunkdamiandabrowski: https://review.opendev.org/c/openstack/openstack-ansible/+/87148311:26
damiandabrowskiit may be, but it would be still either ansible_host or management_address(after we fix haproxy logic)11:27
damiandabrowskii think it doesn't change the fact, that haproxy uses one specific IP to connect to its backend and most likely, it's the only IP we need in SAN11:28
noonedeadpunkso you think adding variable just defined to management_address?11:41
noonedeadpunkbasically like you did...11:43
noonedeadpunkyeah, okay, you're right here I guess11:45
damiandabrowskijrosser: you're not the only one :D 12:01
damiandabrowskifatal: [aio1_repo_container-41b0947f -> localhost]: FAILED! => {"changed": false, "dest": "/etc/openstack_deploy/upper-constraints/upper_constraints_65245016de7cf2d1e585eeb1378aac6aa6d75de0.txt", "elapsed": 11, "gid": 0, "group": "root", "mode": "0644", "msg": "Connecti12:01
damiandabrowskion failure: The read operation timed out", "owner": "root", "size": 12146, "state": "file", "uid": 0, "url": "https://releases.openstack.org/constraints/upper/65245016de7cf2d1e585eeb1378aac6aa6d75de0"}12:01
jrosserhmm i wonder what is going on12:01
jrossertbh i am a bit surrprised that it tries to do that12:02
jrosserwe have two different cases to handle this https://github.com/openstack/openstack-ansible-repo_server/blob/master/tasks/repo_install_constraints.yml#L22-L3712:02
jrosserin CI iw was supposed to be that the URL was file:// - but i wonder if we have broken that somehow12:03
jrosserhmm https://opendev.org/openstack/openstack-ansible/src/branch/master/playbooks/defaults/repo_packages/openstack_services.yml#L3712:04
damiandabrowskiah i guess you're right, code suggests that in CI upper constraints should be retrieved from local filesystem but they are not12:08
damiandabrowskiso that's another issue12:08
opendevreviewDamian Dąbrowski proposed openstack/openstack-ansible-repo_server master: Add TLS support to repo_server backends  https://review.opendev.org/c/openstack/openstack-ansible-repo_server/+/87642912:12
damiandabrowskinoonedeadpunk: ^12:12
jrosserthis looks broken https://github.com/openstack/openstack-ansible/blob/379426ef210d5ffea858a37c006502575efed80b/scripts/get-ansible-role-requirements.yml#L100-L10412:13
damiandabrowskiyeah, i was just looking at this12:14
noonedeadpunkin CI that indeed could broke for collections...12:14
noonedeadpunkbut um...12:14
damiandabrowskii wonder why, the file is there: https://zuul.opendev.org/t/openstack/build/2319916e3e5741b7b3514a40e9923366/log/logs/etc/host/openstack_deploy/user_variables_zuulrepos.yml.txt12:14
jrosseryes 12:16
jrosser2023-04-25 07:48:06.932526 | rockylinux-9 | TASK [Set Zuul sources path] ***************************************************12:16
jrosser2023-04-25 07:48:06.955443 | rockylinux-9 | skipping: [localhost]12:16
jrosser^ doh12:16
noonedeadpunkah, we don't apply that for upgrade jobs12:16
jrosserright so the failing job i looked at was an upgrade openstack-ansible-upgrade-aio_metal-rockylinux-912:16
jrosseryeah12:16
noonedeadpunk- "lookup('env', 'UPGRADE_TARGET_BRANCH') == ''"12:16
noonedeadpunkAnother question I was wondering about - should we use `cn: ansible_facts['hostname']` but then in san: 'DNS:' ~ ansible_facts['fqdn'] for instance?12:17
damiandabrowskihmm, i think we don't have to(i.e it's not necessary), but would harm, right?12:20
damiandabrowskiat least it would allow us to use FQDNs in the future12:20
damiandabrowskibut wouldn't harm*12:21
jrosseri wonder if we can somehow create some sort of template for what needs to be in the certificate12:22
jrosserdefine it once, and use it everywhere12:23
noonedeadpunkthat would be nice12:23
jrosserotherwise if we change our mind it is a ton of roles to patch12:23
jrosseror make some silly error12:24
noonedeadpunkI think that some service interconnection might use hostnames as rather then IP. rabbit is one example12:25
jrosserright - we already need san: "{{ 'DNS:' ~ ansible_facts['hostname'] ~ ',IP:' ~ rabbitmq_node_address }}" for rabbit12:25
damiandabrowskiso something like: `openstack_pki_san: "{{ 'DNS:' ~ ansible_facts['hostname'] ~ ',IP:' ~ management_address }}"` in ./inventory/group_vars/all/ssl.yml?12:28
damiandabrowskiand `repo_pki_san: "{{ openstack_pki_san | default('tba...') }}"`12:30
damiandabrowskiin repo_server defaults12:30
noonedeadpunkyeah, might be that12:34
damiandabrowskiack12:40
NeilHanlonmorning (afternoon) all13:01
jrosserhello13:02
damiandabrowskihi!13:03
* NeilHanlon forgot to configure the VIPs on his machines when changing from ifcfg scripts to network manager13:08
NeilHanlonoops13:08
opendevreviewDamian Dąbrowski proposed openstack/openstack-ansible-repo_server master: Add TLS support to repo_server backends  https://review.opendev.org/c/openstack/openstack-ansible-repo_server/+/87642913:25
opendevreviewDamian Dąbrowski proposed openstack/openstack-ansible master: Add support for TLS backends  https://review.opendev.org/c/openstack/openstack-ansible/+/87908513:25
damiandabrowskiI think it's better to wait for reviews in repo_server before I patch the other roles https://review.opendev.org/c/openstack/openstack-ansible-repo_server/+/87642913:26
noonedeadpunk++13:31
NeilHanlonhm.. 13:40
NeilHanlonhttps://paste.opendev.org/show/bBcgUJTPDo8XrUtGxmak/ ssl handshake failures on my rocky 9 deployment13:41
noonedeadpunkNeilHanlon: but do you have any backend alive?14:05
noonedeadpunk`echo 'show stat' | nc -U /run/haproxy.stat | grep galera` or smth14:05
NeilHanloni always forget you can access haproxy stats from netcat14:17
NeilHanlonweird, neutron, horizon, and heat backends are down... time to dig more 14:24
noonedeadpunkwell, there's also ui available14:25
NeilHanlonyeah, i just had to dig out my old scriptlet for haproxy stats :P 14:26
NeilHanlon`echo "show stat" | nc -U /run/haproxy.stat | cut -d "," -f 1,2,5-11,18,24,27,30,36,50,37,56,57,62 | column -s, -t | awk '/(\#|galera)/'`14:27
mgariepyyou can also enable prometheus exporter from haproxy14:28
NeilHanlonbut if my cluster isn't running where will I send the logs! :P 14:28
NeilHanlonbut i actually forgot there was a prom exporter in recent haproxy. i've been using old versions for too long, i guess14:28
mgariepyyou can spam your inbox, of slack or thelegram with alertmanager :P14:29
NeilHanlonthank you mgariepy14:29
NeilHanlon:D 14:29
mgariepy#toomanyfeatureeverywhere14:29
NeilHanloncan send 'em right to your phone, too https://ntfy.sh/14:29
mgariepyi prefer not having alert on my phone haha14:30
NeilHanlonme too... but for some important things I allow it14:30
noonedeadpunk#startmeeting openstack_ansible_meeting15:02
opendevmeetMeeting started Tue Apr 25 15:02:22 2023 UTC and is due to finish in 60 minutes.  The chair is noonedeadpunk. Information about MeetBot at http://wiki.debian.org/MeetBot.15:02
opendevmeetUseful Commands: #action #agreed #help #info #idea #link #topic #startvote.15:02
opendevmeetThe meeting name has been set to 'openstack_ansible_meeting'15:02
noonedeadpunk#topic rollcall15:02
noonedeadpunksorry for the delay15:02
NeilHanlono/ heya15:02
noonedeadpunkwas a bit o_O on a raid controller15:02
noonedeadpunko/15:02
damiandabrowskihi!15:02
jrossero/ hello15:04
noonedeadpunk#topic office hours15:05
noonedeadpunkFirst of all let me greet NeilHanlon as a new member of OSA Core Reviewers group! Thanks for all work you do and welcome aboard!15:05
NeilHanlonthank you! I appreciate all your confidence 15:06
jrosserexcellent15:06
NeilHanloni'll try not to break too many things15:06
noonedeadpunkwe still do :D15:07
damiandabrowskiwelcome! \o/15:07
noonedeadpunkNext to that small reminder - we have exactly 1 month left for 2023.1 release. And out of agreed stuff we have tls and upgrade jobs that needs landing15:09
noonedeadpunkFor upgrades I've proposed this patch: https://review.opendev.org/c/openstack/openstack-ansible/+/87988415:11
noonedeadpunkThis is another important part and not only for distro jobs: https://review.opendev.org/c/openstack/openstack-ansible-openstack_hosts/+/88076115:12
noonedeadpunkRegarding TLS - we have this topic going on - https://review.opendev.org/q/topic:tls-backend15:12
noonedeadpunkSeparated haproxy config has been merged at this point15:13
noonedeadpunkToday during discussion on TLS we agreed to review https://review.opendev.org/c/openstack/openstack-ansible-repo_server/+/876429 now. 15:13
noonedeadpunkOnce it will satisfy everyone, damiandabrowski will be able to proceed updating all others15:13
noonedeadpunkWith that we need to decide on default behaviour. If we want to switch it to have internal tls be default or not15:15
jrosserit is good to see this has passed https://review.opendev.org/c/openstack/openstack-ansible/+/87950115:15
noonedeadpunkAs at the moment, outside of AIO, internal endpoint won't be covered with TLS. Though galera and rabbitmq communications will be protected15:15
noonedeadpunkat least once :D15:16
noonedeadpunkbut yes, that's quite sweet15:16
cloudnullO-nice. TLS backends by default?15:18
NeilHanlonvery good to see that! :D 15:18
NeilHanlonhave we seen this before? https://paste.opendev.org/show/bJ3qHVpW1RLVqjXlUJKP/15:18
cloudnullthat's sweet. 15:19
noonedeadpunkNeilHanlon: I think yes, and there should be rescue part15:19
noonedeadpunkso it should not be critical failure15:20
jrosserwould be nice to get rid of that15:20
NeilHanlonah, good enough.. trying to debug a different error i'm having during neutron install15:20
noonedeadpunkiirc it was tricky, and cloudnull might have better memories of that :)15:20
NeilHanlonhttps://paste.opendev.org/show/bG8sYIvHkrdXeUWmcMZk/15:21
noonedeadpunkRegarding TLS by default - I'm not sure at the moment.15:21
cloudnullnoonedeadpunk those are things I'd rather forget :D 15:21
noonedeadpunkfair enough :D15:21
cloudnullits awesome seeing that go forward 15:21
cloudnull++ nice work 15:21
noonedeadpunkSo regarding TLS I would rather leave defaults as is for now. And maybe enable that on 2024.115:22
noonedeadpunkAs it's quite close to the release and we haven't tested that enough to make it default15:22
noonedeadpunkBut we totally should create a job that would cover this path for sure15:22
cloudnullNeilHanlon re: the mount issue. you can run something like `systemctl status "$(systemd-escape -p --suffix=mount /var/www/repo)"` to see what that mount service unit is doing?15:22
jrosseri wonder if we can use `lsmount` or something15:23
NeilHanloncloudnull: yeah the mount itself is fine, rfom what I can tell, just doesn't support remount15:23
cloudnullah - that could be . 15:23
cloudnullis that in the service unit?15:23
noonedeadpunkcloudnull: https://opendev.org/openstack/ansible-role-systemd_mount/src/branch/master/tasks/systemd_mounts.yml#L75-L8515:23
NeilHanlonregarding my other issue w/ neutron, seems they're just not there, so probably an issue with something else anyways lol15:23
damiandabrowskiI'm okay with enabling TLS backend by default in 2024.115:24
noonedeadpunkbut I think it's glusterfs in topic15:24
jrosserif we need to test if something is a mount then there is this https://github.com/openstack/openstack-ansible-repo_server/blob/stable/zed/tasks/repo_pre_install.yml#L4015:24
cloudnullyeah I knew I remembered this being my fault. 15:24
noonedeadpunkI tried to check that but realized that can't come up with anything better15:25
cloudnullso maybe https://opendev.org/openstack/ansible-role-systemd_mount/src/branch/master/vars/main.yml#L18-L19 just needs to be set to start/stop15:25
cloudnullalso I guess https://opendev.org/openstack/ansible-role-systemd_mount/src/branch/master/vars/main.yml#L17 never quite worked right 15:26
cloudnullmaybe it used to be silent in older systemd? not sure. 15:27
jrosserit seems kind of trivial thing but it does alarm a lot of people who see the failed task15:28
cloudnull++15:28
NeilHanlon(like me...)15:28
noonedeadpunkdamiandabrowski: so I think we should add a job, that will enable TLS for internal/admin endpoints (with rollback of behaviour to just default that is non-tls) and between haproxy/usgi15:31
noonedeadpunkthen we can revert this thing15:32
noonedeadpunk(leaving non-tls job as a separate one)15:32
damiandabrowskiso create a separate job that will deploy openstack with frontend & backend TLS enabled and then disable both backend and frontend TLS?15:35
noonedeadpunklet me re-phrase this :)15:36
noonedeadpunkright now jobs do deploy frontend with TLS for internal VIP, that is not default behaviour15:37
noonedeadpunkSo we return main jobs just to defaults15:37
damiandabrowskiok, and what's next? how are we going to test tls backend? :D 15:42
noonedeadpunkYes, so and for TLS backend we add another job for rocky/ubuntu15:42
damiandabrowskiok, i think i get it now15:44
jrosserit will be much more obvious15:44
damiandabrowskiCan I count on your help with zuul?15:44
jrosser`tls` in the job name to drop in the right vars and off we go15:44
noonedeadpunkdamiandabrowski: sure, I can make such job when we're ready or just help out :)15:44
jrosseryou should be able to use what i did for proxy/stepca as a boilerplate for how that works15:45
damiandabrowskiokok thanks15:45
damiandabrowskiis it okay to include CI logic in this patch? https://review.opendev.org/c/openstack/openstack-ansible/+/87908515:45
damiandabrowskior should i create separate one?15:45
jrossersmall patches = good :)15:46
damiandabrowskiok ;)15:46
noonedeadpunkWe have couple of roles broken btw15:52
noonedeadpunkAmong them are magnum and zun15:52
noonedeadpunkFor zun I will try to invest some time and try to see why it's stuck15:52
noonedeadpunkregarding magnum - error is that we can't update cluster label/properties.15:54
noonedeadpunk*cluster template15:54
noonedeadpunkEventually that sounds to me now, that there's issue with module...15:56
noonedeadpunkSo we're supplying same `magnum_cluster_templates` but on second execution module jsut error out?15:56
noonedeadpunkofc we can comment out https://opendev.org/openstack/openstack-ansible/src/branch/master/tests/roles/bootstrap-host/templates/user_variables_magnum.yml.j2#L36-L41 but still feels like some module issue after refactoring15:58
noonedeadpunk#endmeeting16:03
opendevmeetMeeting ended Tue Apr 25 16:03:24 2023 UTC.  Information about MeetBot at http://wiki.debian.org/MeetBot . (v 0.1.4)16:03
opendevmeetMinutes:        https://meetings.opendev.org/meetings/openstack_ansible_meeting/2023/openstack_ansible_meeting.2023-04-25-15.02.html16:03
opendevmeetMinutes (text): https://meetings.opendev.org/meetings/openstack_ansible_meeting/2023/openstack_ansible_meeting.2023-04-25-15.02.txt16:03
opendevmeetLog:            https://meetings.opendev.org/meetings/openstack_ansible_meeting/2023/openstack_ansible_meeting.2023-04-25-15.02.log.html16:03
NeilHanlonthanks noonedeadpunk :) 16:17
opendevreviewMerged openstack/openstack-ansible-openstack_hosts master: Update release name to Antelope  https://review.opendev.org/c/openstack/openstack-ansible-openstack_hosts/+/88076117:51
*** spotz_ is now known as spotz18:16
noonedeadpunkfolks, one more vote needed here https://review.opendev.org/c/openstack/openstack-ansible/+/88131819:17
damiandabrowskidone19:19
noonedeadpunkthanks!19:19
noonedeadpunkKinda wonder if that https://review.opendev.org/c/openstack/ansible-role-python_venv_build/+/881397 makes any difference...19:41
noonedeadpunkoh, we've also strted building wheels always. That's why I guess CI time has increased...19:45
opendevreviewDmitriy Rabotyagov proposed openstack/openstack-ansible master: Enable venv_wheel_build_enable for CI  https://review.opendev.org/c/openstack/openstack-ansible/+/75231119:47
opendevreviewDmitriy Rabotyagov proposed openstack/openstack-ansible master: Enable venv_wheel_build_enable for CI  https://review.opendev.org/c/openstack/openstack-ansible/+/75231119:47
opendevreviewDmitriy Rabotyagov proposed openstack/openstack-ansible master: Disable venv_wheel_build_enable for CI  https://review.opendev.org/c/openstack/openstack-ansible/+/75231119:49
damiandabrowskiI'm trying to enable TLS in oslo.cache, no luck so far... I wonder if it's really implemented for oslo_cache.memcache_pool19:49
noonedeadpunkI won't be surprised if it's not.19:50
damiandabrowskifrom what I can see, it doesn't matter if i tls_enabled is enabled or not, it always uses plain http19:50
noonedeadpunkthough I think it might depend on the driver a lot19:50
noonedeadpunkum, you check with tcpdump?19:50
damiandabrowskithere is something for bmemcached: https://github.com/openstack/oslo.cache/blob/7fb06bc2034d9747c9721c9d3eff06925a4483c6/oslo_cache/_bmemcache_pool.py19:51
damiandabrowskichecked tcpdump, it doesn't look like TLS...19:53
jrossermemcached content is encrypted so it might not be the worst thing?19:54
damiandabrowskiyeah, i wonder if it's really worth to spend more time on this19:55
noonedeadpunkDo we have it encrypted everywhere?19:56
noonedeadpunkor well, are we consistent is setting encryption key?19:56
jrosserthis would be somthing in keystoneauth maybe?19:56
noonedeadpunkthat is totally different topic though19:56
jrosseralso it's used in horizon/oidc use case as well and that might not be encrypted19:57
noonedeadpunkah, we use same key everywhere19:57
damiandabrowskioslo.cache bug report w.r.t TLS support: https://bugs.launchpad.net/oslo.cache/+bug/201770021:16
opendevreviewMerged openstack/openstack-ansible stable/xena: Switch spice-html5 source to freedesktop gitlab  https://review.opendev.org/c/openstack/openstack-ansible/+/88131822:24

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