Friday, 2023-06-30

noonedeadpunkNeilHanlon: yeah, I was trying to understand from whose prespective discussion is :D08:29
noonedeadpunkis it rhel who's trying to convince that all is cool or it's non-rhel view08:29
anskiynoonedeadpunk: hey. I answered here: https://review.opendev.org/c/openstack/openstack-ansible/+/884662, but only after I did it, I saw your comment :( You're trying to say, that this configuration should be totally possible already? With SSL?09:51
noonedeadpunkanskiy: I'm pretty sure it should be, yes, for quite a while. https://paste.openstack.org/show/bJ8JB4AnkL7qDlGlPEMB/10:10
noonedeadpunkthis we have on Xena, and it didn't change since Victoria at least10:10
noonedeadpunkif that's what you're trying to do10:11
anskiynoonedeadpunk: I wonder how haproxy  is fine with binding on FQDN instead of IP Oo10:12
noonedeadpunkhaproxy pretty much is. keepalived is not10:17
noonedeadpunkbut then there's also a variable on how to bind haproxy10:17
noonedeadpunkbut actually, you might be right that patch has a value10:19
opendevreviewDmitriy Rabotyagov proposed openstack/openstack-ansible master: Allow using domain name as internal_lb_vip_address  https://review.opendev.org/c/openstack/openstack-ansible/+/88466210:20
noonedeadpunkI assume the main problem with the patch, is that haproxy_bind_internal_lb_vip_address is defined outside of scope where variable gets renderred10:21
noonedeadpunk*evaluated10:21
noonedeadpunkas haproxy_bind_internal_lb_vip_address is only a valid thing in haproxy role, while you're defining vars outside of it. But let's see fresh CI results10:22
noonedeadpunkanskiy: one other thing - is that when haproxy can not resolve internal_lb_vip_address or you _really_ want it to avoid from doing that, what you might want to do is to bind haproxy to the interface instead of IP. And for that you would still need to override all these defenitions10:38
noonedeadpunkI'm talking about this ability: https://opendev.org/openstack/openstack-ansible-haproxy_server/src/branch/master/templates/service.j2#L24-L2510:38
noonedeadpunkthat haproxy_bind can be a dict as well10:39
anskiynoonedeadpunk: I can retest that thing (even was already going to do so for this thing: https://review.opendev.org/c/openstack/openstack-ansible-haproxy_server/+/884660)10:51
noonedeadpunkbut as I said - we're having FQDN for internal_lb_vip_address I guess close to forever and it was never an issue. Though we're using haproxy that's shipped with distro packages, so if you're using latest one there could be some changes10:52
anskiynoonedeadpunk: nope, that's standard ubuntu one for me. I see now, that I need to reconsider those patches, thanks!10:56
anskiyI guess, I'll put back WIP on it10:58
opendevreviewDmitriy Rabotyagov proposed openstack/ansible-role-pki master: Convert loop labels to strings  https://review.opendev.org/c/openstack/ansible-role-pki/+/88737412:50
opendevreviewDmitriy Rabotyagov proposed openstack/ansible-role-systemd_service master: Reduce output by leveraging loop labels  https://review.opendev.org/c/openstack/ansible-role-systemd_service/+/87630212:57
opendevreviewDmitriy Rabotyagov proposed openstack/ansible-hardening master: Remove warn argument for command/shell  https://review.opendev.org/c/openstack/ansible-hardening/+/88737613:05
opendevreviewDmitriy Rabotyagov proposed openstack/ansible-role-systemd_mount master: Remove warn argument for command/shell  https://review.opendev.org/c/openstack/ansible-role-systemd_mount/+/88737813:28
opendevreviewDmitriy Rabotyagov proposed openstack/openstack-ansible master: Use include_role in task to avoid lack of access to vars  https://review.opendev.org/c/openstack/openstack-ansible/+/88708214:18
opendevreviewDmitriy Rabotyagov proposed openstack/openstack-ansible master: Use include_role in task to avoid lack of access to vars  https://review.opendev.org/c/openstack/openstack-ansible/+/88708214:19
anskiynoonedeadpunk: I get this: https://paste.opendev.org/show/brLHoif16WO5qM38Jm6J/14:20
anskiyit's SSL cert path, that's broken for me, not `bind`14:20
noonedeadpunkwell, it's completely different story kind of14:21
anskiyyeah, sorry :( It's been a while14:21
noonedeadpunkbut that requires bigger output. Cert is generated as a handler to haproxy role14:21
noonedeadpunkright here https://opendev.org/openstack/openstack-ansible-haproxy_server/src/branch/master/handlers/main.yml#L16-L2614:22
anskiyso it's broken for all the backends with `haproxy_bind: "{{ [internal_lb_vip_address] }}"`: galera, nova_api_metadata, repo_all and rabbitmq. 14:22
noonedeadpunkand it should contain whatever bind address is - in this case it should be same as internal_lb_vip_address14:22
noonedeadpunkbut do you override internal bind address for haproxy?14:22
noonedeadpunkas maybe you shouldn't ? :D14:23
anskiyhaproxy_bind_internal_lb_vip_address? Yeah, I did it14:23
noonedeadpunktry just to comment that out14:23
anskiythe reasoning was this: https://paste.opendev.org/show/bmE2sTIEQLt4zWH47LKL/ if you could get the idea14:33
anskiyI can totally use some other variable/or just put `openstack_host_custom_hosts_records` to group_vars for each AZ14:33
noonedeadpunkaha, az with different networks14:34
noonedeadpunkthen why not to bind just on the interface?14:34
noonedeadpunkwell. I probably can show how we done this usecase14:35
anskiyI do still have your pastes :) so that's fine14:36
anskiyI've been trying to prototype this thing, but now it's postponed14:36
anskiyI'll just rework it on my side without overriding `haproxy_bind_internal_lb_vip_address`, should be okay :)14:37
anskiynot only prototyping, I do remember I've got it working with different Ceph clusters and such14:38
noonedeadpunkwe did smth like that for haproxy specifically https://paste.opendev.org/show/bvaBgtpDTBZCLEHi1X4v/14:38
noonedeadpunkbut we used DNS RR basically, with 3 VIPs each unique for it's own AZ14:39
noonedeadpunkthat will failover between AZs14:40
noonedeadpunkanycast for poor :D14:40
anskiywell, I'm doing DNS for poor :P14:41
noonedeadpunkbut I think your patch makes sense in this context14:41
noonedeadpunkyou probably should just add default there to internal_vip if it;s not available due to context14:42
noonedeadpunkthough you totally should write better commit message to explain the intent14:42
noonedeadpunkfwiw, we're pretty much broken with this new setuptools for projects who "adopted" pyproject.toml but then failed to maintain their stuff in a good way....14:44
noonedeadpunkI'm quite clueless about how to workaround these failures14:44
noonedeadpunkceilometer is also broken for isntallation14:44
noonedeadpunkjrosser: damiandabrowski ^14:44
damiandabrowskiso there are 2 separate issues? pyproject.toml and rally/Tempita?14:55
opendevreviewDmitriy Rabotyagov proposed openstack/ansible-role-python_venv_build master: Remove warn argument for command/shell  https://review.opendev.org/c/openstack/ansible-role-python_venv_build/+/88738414:56
noonedeadpunkI think this is related in a way14:56
noonedeadpunkSince they all error out in exactly same way14:57
noonedeadpunkBut I will be able to look into that only next week14:57
noonedeadpunkmost scary that our cosntaints logic is not working anymore and there seems no way to override what's written in pyproject.toml, which is jsut /o\14:59
noonedeadpunkSo the only way to fix issues - merge some fixes to all dependencies of all projects, and then backport pins to u-c and I bet it won't be possible in many cases.15:00
noonedeadpunkI feel like pip/setuptools tries to fight users back from being flexible to - developers should know and care about all constraints on their own. And I can hardly name a project which really does and it will "backport" nicely for them...15:01
jrosserthis suggests there is a big gap in the requirements testing stuff?15:02
noonedeadpunkI'm not even sure how that should be tested to be frank15:04
noonedeadpunklike gnocchi added pyproject.toml more then a year ago. And using SHA before that - fixes gnocchi installation15:05
noonedeadpunkbasically `gnocchi_git_install_branch: 6f35ea5413a9f78551d8193b8d2a6d77c49b6372`15:05
noonedeadpunkbut then there's also ceilometer, which also depends on smth, that uses pyproject.toml, that fails to build/install now15:06
noonedeadpunkand rally15:06
noonedeadpunkdunno... will continue on that next week...15:07
noonedeadpunkbtw, ansible-core 2.15 is almost passing now15:07
anskiynoonedeadpunk: `you probably should just add default there to internal_vip if it;s not available due to context` -- I'm afraid, I didn't get your point :(15:08
noonedeadpunkanskiy: `  haproxy_bind: "{{ [haproxy_bind_internal_lb_vip_address | default(internal_lb_vip_address)] }}"`15:10
noonedeadpunkfor https://review.opendev.org/c/openstack/openstack-ansible/+/88466215:10
noonedeadpunkas CI obviously fails on the change15:12
noonedeadpunkand I asusme that's because haproxy_bind_internal_lb_vip_address is simply undefined when variable get's evaluated15:12
* noonedeadpunk sign outs for the weekends15:14
damiandabrowskisee you on Monday!15:20
opendevreviewMerged openstack/openstack-ansible-os_neutron master: Switch driver jobs to Jammy  https://review.opendev.org/c/openstack/openstack-ansible-os_neutron/+/88436116:16
damiandabrowskiah, I partially solved the issue with Tempita(rally dependency) that fails to install16:27
damiandabrowskiwe're using '--pre' parameter with pip install that targets also development versions.16:29
damiandabrowskilatest stable tempita version is 0.5.2 and latest dev is 0.5.3dev16:29
damiandabrowskipip installs stable versions from wheels, while dev versions need to be built from tar archive - that is an important difference16:30
damiandabrowskiin fact, all tempita versions cannot be built because they all use 'use_2to3' command that was dropped in setuptools>58.016:33
damiandabrowskibut it doesn't affect wheels as they are already built16:33
damiandabrowskibut i still have no clue why gates install tempita==0.5.2 and local AIO tempita==0.5.3dev16:42
jrosserpossibly to do with the infra wheel builds?16:45
damiandabrowskiahhh, that would make sense, but i still can't reproduce the gating behavior :/17:25
damiandabrowskihttps://zuul.opendev.org/t/openstack/build/16192120de1e4e0b959df64e11d866db/log/logs/etc/host/pip.conf.txt#117:26
damiandabrowskii copied this content to utility container(and to be sure also to the host and repo container) and pip still tries to install 0.5.3dev17:26
noonedeadpunkwell, if it's not constrained, then it makes sense to install 0.5.3dev as from pbr prespective it's "latest"18:51
noonedeadpunkthe question here if it's constrained or not18:57
noonedeadpunkor the project that brings tempita as requirement has specified it in pyprject.toml - then it will always attempt to install latest18:58
noonedeadpunkand the only possible fix to adjust the project that bring tempita as a requirement18:58
opendevreviewDmitriy Rabotyagov proposed openstack/openstack-ansible master: Bump ansible-core to 2.15.1 and collections  https://review.opendev.org/c/openstack/openstack-ansible/+/88652719:01
*** ultra3 is now known as ThiagoCMC19:31
damiandabrowskinoonedeadpunk: but it doesn't explain why it works fine in gating19:49
hamburglerApologies if I missed something here - but noticed that when testing osa tag 27.0.0 - ansible-role-requirements for etcd/corosync have changed versions to (master) and date to a much older one than in the Zed branch causing bootstrap to fail. Temporarily added same values as Zed and works. Was this intentional?21:33
jrosserhamburgler: i thought there was a patch to fix that but i can't see it right now22:05
hamburglerjrosser: no worries at all right now just testing before we look to upgrade to antelope :)22:07
jrosserperhaps submit a bug then it will get picked up22:07
hamburglerwill do - I'll make a note to add in the next day or two22:08
hamburglernm - had time - filed :)22:28

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