Tuesday, 2023-02-07

moha7My connection to opendev.org is really slow! I've installed Gitea and I'm going to mirror these repositories: https://paste.opendev.org/show/bjxw2BKiL3uGRqFd8CKa/08:35
moha7Then I will run `sed` against the /opt/openstack-ansible to replace "https://opendev.org/openstack" with mine. Is it reasonable? Will I get into trouble later in the deployment?08:37
moha7that list has been generated by `grep` over the path `/opt/openstack-ansible/`.08:38
jrossergood morning08:42
jrossermoha7: i think there is a better way to do that08:42
jrossermoha7: take a look in here https://github.com/openstack/openstack-ansible/blob/master/playbooks/defaults/repo_packages/openstack_services.yml08:43
jrosserall of those things are variables which point to the sources and git SHA of the repositories needed during the deployment08:44
moha7good morning; I remember that you were working on a method to switch between GitHub and the current repos in the settings. Until then, what other method do you suggest?08:44
moha7Ah, w808:44
jrosserif you take all the ones ending `_git_repo` and put those in your user variables, you can override them to point to either local mirrors, or the equivalent set of repos on github08:45
jrosserthat would be much more robust than search/replace in /opt/openstack-ansible - the hooks are already there to do what you need08:45
jrossermoha7: yes i do have a patch to allow one variable to choose the git sources, thats here https://review.opendev.org/c/openstack/openstack-ansible/+/86974808:46
jrosserbut it's not had any code review yet so is not merged08:47
jrosserbut really it is just a nice shortcut to overriding all of the things in `repo_pacakges/openstack_services.yml` manually08:47
moha7Your trick is beatiful; I will put all those `_git_repo` in the user_variable.yml for now08:48
jrosserbtw i also just tried cloning a repo from opendev.org - from my work network it is extremely slow08:49
jrosserbut from another provider it is very quick, so i would guess that this is again some problem with routing or transit out of vexxhost08:50
noonedeadpunkNeilHanlon: yup, I did 08:50
noonedeadpunkmornings everyone08:50
jrossero/ good morning08:50
damiandabrowskilooks like we have broken gating for rocky :/10:54
damiandabrowskihttps://zuul.opendev.org/t/openstack/build/4613587ab3c84f1d86f9870ea9500e2a/log/logs/host/dnf.log.txt#10410:54
damiandabrowskipackage curl-minimal-7.76.1-19.el9_1.1.x86_64 conflicts with curl provided by curl-7.76.1-19.el9_1.1.x86_6410:54
damiandabrowskishould we stick with curl-minimal and put it here? https://opendev.org/openstack/openstack-ansible/src/branch/master/scripts/bootstrap-ansible.sh#L9910:55
noonedeadpunkis curl-minimal a thing for centos?10:56
noonedeadpunkyeah10:56
noonedeadpunklets replace with curl-minimal10:57
jrosseri think that this is a conflict between what ends up in the CI image with dib10:57
jrosseriirc this has happened before10:57
noonedeadpunkcurl was a thing only for 8 and for 9 seems it should be curl-minimal10:57
noonedeadpunkAt least according to https://bugs.launchpad.net/tripleo/+bug/195315610:57
opendevreviewDamian Dąbrowski proposed openstack/openstack-ansible master: Replace curl with curl-minimal for DNF  https://review.opendev.org/c/openstack/openstack-ansible/+/87289611:06
damiandabrowskidone, thanks11:06
moha7jrosser: Should I take care of `requirements_git_install_branch`  repo_packages/openstack_services.yml?11:56
jrossermoha7: not sure i understand?11:57
moha7Here: https://github.com/openstack/openstack-ansible/blob/master/playbooks/defaults/repo_packages/openstack_services.yml, there are 3 vars per repos: requirements_git_repo, requirements_git_install_branch, requirements_git_track_branch11:59
jrosserwell, ultimately all those SHA in there are a large part of what defines a "release" of OSA11:59
jrosseras they point to specific points in the git history of all those repos12:00
moha7Then, I'm going to just add `adjutant_git_repo` to the user variable; Is it enough?12:00
jrosserso unless you have a reason to there is no need to override anything but the ones ending in `_git_repo`, as the SHA referred to there should be present in any mirror you make, or on github12:00
moha7ok, tnx12:01
jrosserjust as an example.....12:01
jrosserif you found that you had a bug in lets say nova, which needed an 'emergency' patch applying just for your deployment, you could do that yourself on a branch in github or your mirror, and reference that with `nova_git_repo`and `nova_git_install_branch`12:02
jrosserthis is one of the cool features in OSA that you can deploy any customised versions you like and be in control of patching as you need it12:03
damiandabrowskijrosser:  sorry, yesterday I missed your messages about nvidia/mdev stuff13:44
damiandabrowskilet me check how we eventually implemented it13:44
jrosserdamiandabrowski: yes no problem - i did reply to the ML saying thanks to Tobias and was kind of brief about the detail13:45
jrosserand now sean is saying how easy it is apparently with systemd units :) and i think it's just not the case13:45
jrosserbut i don't really have the willpower to argue13:45
jrosserreally i was interested to know if you had any nice solution except for putting sleep() in a few places13:46
noonedeadpunk#startmeeting openstack_ansible_meeting15:02
opendevmeetMeeting started Tue Feb  7 15:02:19 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
noonedeadpunko/15:02
damiandabrowskihi!15:02
jrossero/ hello15:05
noonedeadpunk#topic office hours15:08
noonedeadpunksorry - was a bit distracted15:08
noonedeadpunkI actually think we had some new bugs during previous week, but let's do bug triage later15:09
noonedeadpunkSo it seems that our gates are broken now15:10
jrosserandrewbonney is away for several months so we are going to be low on reviewers for a while15:10
damiandabrowskiand curl issue is more complicated than i thought15:11
damiandabrowski- on centos 'curl' is installed, so we can't install 'curl-minimal' during bootstrap-ansible.sh15:11
damiandabrowski- on rocky 'curl-minimal' is installed, so we can't install 'curl' during bootstrap-ansible.sh15:11
noonedeadpunkdamiandabrowski: yeah, I know where issue is I guess15:11
damiandabrowskiso i see few possible options:15:11
damiandabrowskia) do not try to install curl on dnf-based systems and just assume they are present by default15:11
damiandabrowskib) define a different set of packages installed during bootstrap-ansible.sh(rocky with curl-minimal and centos/rhel with curl)15:11
damiandabrowskic) pass --allowerasing to dnf install15:11
damiandabrowskid) pass --skip-broken to dnf install15:11
noonedeadpunkI think we can install curl-minimal everywhere on rhel?15:12
noonedeadpunkjrosser: gotcha, thanks for updating15:12
noonedeadpunkThe question about curl - is where we try to install it or better - how much work is to replace15:13
noonedeadpunkI assume integrated repo and openstack_hosts are the only?15:14
noonedeadpunkWhich is already a circular dependency, but not that bad, right?15:14
jrosserwe need to make this select between curl/curl-minimal then?15:15
noonedeadpunkI'd try to just do culr-minimal everywhere for rhel915:18
noonedeadpunkAlso I've seen jammy timeouting couple of times...15:20
noonedeadpunkand timeout was quite weird15:21
opendevreviewDmitriy Rabotyagov proposed openstack/openstack-ansible master: Replace curl with curl-minimal for DNF  https://review.opendev.org/c/openstack/openstack-ansible/+/87289615:21
noonedeadpunkI do hope it's just slow provider rather then smth off with lxc images (again)15:21
damiandabrowskiahh so it's not that curl/curl-minimal packages are available in images by default. We install them during bootstrap-host15:24
damiandabrowskiI missed that before15:24
noonedeadpunkwe also have that in openstack_hosts on a later step15:24
damiandabrowskido you have an idea how to solve this circular dependency?15:26
opendevreviewDmitriy Rabotyagov proposed openstack/openstack-ansible-openstack_hosts master: Replace curl with curl-minimal for DNF  https://review.opendev.org/c/openstack/openstack-ansible-openstack_hosts/+/87297315:28
opendevreviewDmitriy Rabotyagov proposed openstack/openstack-ansible master: Replace curl with curl-minimal for DNF  https://review.opendev.org/c/openstack/openstack-ansible/+/87289615:29
noonedeadpunkyup, as usual15:29
damiandabrowskiahh, zuul.d/project.yaml :D15:29
opendevreviewDmitriy Rabotyagov proposed openstack/openstack-ansible-openstack_hosts master: Replace curl with curl-minimal for DNF  https://review.opendev.org/c/openstack/openstack-ansible-openstack_hosts/+/87297315:30
noonedeadpunkdamn15:30
noonedeadpunkok, anything else interesting to discuss?15:30
noonedeadpunkI've seen discussions going on around refactoring of haproxy_services15:30
noonedeadpunkI don't have much to comment as didn't read up on these15:31
damiandabrowskino worries, let's discuss it next time15:32
jrosserpersonally i would have preferred to see the haproxy role used a little more like we do system_service/pki/python_venv_build15:33
jrosseri.e very obvious <this role> with <this data> in the service playbooks15:33
noonedeadpunkI think it goes to on how important do we see reaching goal `1. Variables scope`15:35
damiandabrowskibtw. jrosser i fixed most of your comments yesterday15:36
noonedeadpunkAs all this complexity was to make that thing work from what I got. And I personally don't care much about it. I kind of agree it's overall confusing though, but from other side we mainly promote using user_variables and not group_vars as group_vars tended to slow ansible down if I'm not mistaken?15:36
noonedeadpunkbut yeah, things could be simplifed already :)15:37
noonedeadpunk#topic bug triage15:39
noonedeadpunkSo after rejecting couple of bugs, this one left15:39
noonedeadpunk#link https://bugs.launchpad.net/openstack-ansible/+bug/200454615:39
noonedeadpunkAnd I think it's quite plausible15:39
noonedeadpunkAnd I guess it's due to having ternary right in variable15:40
jrosserwhat an odd set of packages15:40
noonedeadpunkI think main complain is on empty line at the end of the file15:42
noonedeadpunkWhich might change depending on the role15:42
noonedeadpunk*role you run15:42
noonedeadpunkthough I think we might want to have a bit more details....15:43
jrosserthe bug is very terse, is it talking about this? https://github.com/openstack/ansible-role-python_venv_build/blob/master/tasks/python_venv_wheel_build.yml#L17615:44
jrosser#179 i mean15:44
noonedeadpunkI think so...15:46
noonedeadpunkor it could be global-constraints.txt as well15:47
noonedeadpunkI'd say it's more about this https://github.com/openstack/ansible-role-python_venv_build/blob/master/tasks/python_venv_install.yml#L109-L12215:47
jrosserperhaps just a little more info would be helpful15:47
noonedeadpunkYeah, will ask for this15:48
jrosserbut relatedly i did see a thing where you could so `{{ some_list | select }}` and it would remove falsy elements15:48
jrosserlike empty or null or whatever15:48
noonedeadpunkyeah, I was also thinking to apply filter there to drop empty elements from the list15:48
jrosserit might also be a {% vs {%- thing?15:50
jrosserthose confuse me sometimes particularly with multiline inline jinja like that15:51
noonedeadpunkOh, true, we  have `|` vs `|-` 15:52
noonedeadpunkbut why it would be different....15:52
noonedeadpunkAnyway the only way is likely to reproduce the issue and realize what the issue really is15:53
jrosserthere was another wheel build bug too i think?15:55
noonedeadpunkHm... I don't really see it...16:08
jrosserhttps://bugs.launchpad.net/openstack-ansible/+bug/200425216:08
noonedeadpunkoh16:09
noonedeadpunkthat;s interesting16:10
noonedeadpunkI though you meant this one tbh https://bugs.launchpad.net/openstack-ansible/+bug/200329416:10
jrosseromg the irony if it was rackspace dos'ing the infra git servers16:11
noonedeadpunklol16:11
noonedeadpunkyeah, that would be "fun"16:12
noonedeadpunkregarding 2004252 - I'm about to give up and hardcode `venv_wheel_build_enable: true`16:13
noonedeadpunkWith overriding it to false for aio16:14
noonedeadpunkBut that will make us testing what nobody outside of CI will use16:14
jrosseri was not even really able to understand the bug16:14
jrosserand regarding https://bugs.launchpad.net/openstack-ansible/+bug/2003294, watch this......16:15
jrosserjamesdenton: ^ can you take a look?16:15
noonedeadpunkoh my, we're out of time16:16
noonedeadpunk#endmeeting16:16
opendevmeetMeeting ended Tue Feb  7 16:16:48 2023 UTC.  Information about MeetBot at http://wiki.debian.org/MeetBot . (v 0.1.4)16:16
opendevmeetMinutes:        https://meetings.opendev.org/meetings/openstack_ansible_meeting/2023/openstack_ansible_meeting.2023-02-07-15.02.html16:16
opendevmeetMinutes (text): https://meetings.opendev.org/meetings/openstack_ansible_meeting/2023/openstack_ansible_meeting.2023-02-07-15.02.txt16:16
opendevmeetLog:            https://meetings.opendev.org/meetings/openstack_ansible_meeting/2023/openstack_ansible_meeting.2023-02-07-15.02.log.html16:16
noonedeadpunkjrosser: so gist of 2004252 is that 1 compute and 1 infra host are there16:17
noonedeadpunkSo when running against infra - https://opendev.org/openstack/ansible-role-python_venv_build/src/branch/master/vars/main.yml#L80 is resolved to 1 16:18
jrosseryes16:18
noonedeadpunkbut when running against compute - neutron-ovn-agent (or what's there) is resolved to 2 already16:18
noonedeadpunkAs we separate plays for neutron-server and neutron-agents in playbook16:19
noonedeadpunkThough why doesn't it to build wheels....16:19
jrosseryou mean (_venv_wheels_play_hosts[ansible_facts['distribution_version'] ~ '_' ~ ansible_facts['architecture']] | length > 1) right?16:19
noonedeadpunkyes16:20
jrosseroh no, just the | length part16:20
jrosseryes yes i see now16:20
jrosserthanks :)16:20
noonedeadpunkso https://opendev.org/openstack/openstack-ansible/src/branch/master/playbooks/os-neutron-install.yml#L33 is 116:20
noonedeadpunkand https://opendev.org/openstack/openstack-ansible/src/branch/master/playbooks/os-neutron-install.yml#L41 is 216:20
noonedeadpunkThough the question here - if wheels are not present - why they are skipped16:21
noonedeadpunkwait, no, it's still smth off16:22
jrosserfeels like the _venv_wheels_play_hosts is a bit fragile in these small deployments16:24
jrosserit's all kind of as expected on 3 controller + bunch of computes?16:24
noonedeadpunksmth is off still...16:34
noonedeadpunkso according to the log - role is running https://opendev.org/openstack/ansible-role-python_venv_build/src/branch/master/tasks/python_venv_install.yml#L16-L2216:35
noonedeadpunkah, yes, true16:35
noonedeadpunkthis is false https://opendev.org/openstack/ansible-role-python_venv_build/src/branch/master/tasks/main.yml#L6816:35
noonedeadpunkyeah, no idea how to identify this...16:41
noonedeadpunkexcept jsut hardcorde building wheels regardlessly16:41
jrosserhow bad does it hurt the CI jobs to enable there?16:42
noonedeadpunk+15mins or smth16:43
jrosserthats not great16:43
noonedeadpunkI'd assume this bug will be true for all hosts with just 1 controller16:56
jrosserit feels that way - and i wonder if we also see something odd for nova16:59
jrosserwith 1x nova on the controller and N x computes16:59
noonedeadpunkYup17:00
noonedeadpunkAnd all corner cases when controller1 is other OS then all computes17:00
jrosserlike rule couldbe written for 1 controller perhaps?17:00
jrosserargh no though what would it be :/17:01
noonedeadpunkI'd say - change `length > 1` -> `length > 0`17:02
noonedeadpunkWe still don't test wheels build scenario in CI...17:02
noonedeadpunkAh, no reason to test length then17:05
jrosserno indeed17:05
jrosserperhaps this is all just complexity that we do not need17:05
damiandabrowskiyup, i think building wheels even if there's only one host makes sense for me17:06
damiandabrowskiwe always deploy repo container anyway, plus additional host may be added basically any time17:06
noonedeadpunkbtw, curl thing didn't work out :(17:08
jrosseri really am sure we saw this thing before with rocky17:09
noonedeadpunkseems we somehow indeed need to split rocky with centos917:09
noonedeadpunkWell. Another option on how to calculate _venv_wheel_build_enable is based on the venv_build_targets17:13
noonedeadpunkBut kind of depends if we should just fail when there're no repo hosts or disable wheels_build17:16
jrosserplus to consider the existing "don't ddos" fail: condition17:19
jrosserimho this is all too complex, so simplifying wherever possible is ++17:19
jrosserbut as you say it is then a question for CI, if we make a flag to test without wheel build then we don't test real world code path17:20
jrosseri hope that we have wheel build enabled in the infra jobs where there should be 3x repo and 3x keystone to test it all properly17:21
noonedeadpunkoh yes, we should have that there indeed17:21
noonedeadpunkWhat I also don't like is that https://opendev.org/openstack/ansible-role-python_venv_build/src/branch/master/vars/main.yml#L5117:22
noonedeadpunkspecifically default thingy17:22
noonedeadpunkit can result in very weird things17:23
jrosserperhaps we remove that and add an assert that the repo_all group is populated17:25
jrosserbecause i agree that leads to really odd things17:26
noonedeadpunkI'm jsut trying to think about any other corner cases, like multi-distro with weird amount of nodes or OS upgrade thing, and how always enabled wheels build may be bad for such scenarios17:29
noonedeadpunkBut for upgrade you should always have at least 1 repo_container already spawned for the "other" OS 17:29
opendevreviewDmitriy Rabotyagov proposed openstack/ansible-role-python_venv_build master: Always build wheels by default  https://review.opendev.org/c/openstack/ansible-role-python_venv_build/+/87298717:36
noonedeadpunkpf17:38
noonedeadpunkSo I assume that this curl thing is caused by https://github.com/openstack/diskimage-builder/blob/master/diskimage_builder/elements/cache-url/pkg-map#L417:50
noonedeadpunkthat element is required by `cache-devstack`17:50
noonedeadpunkand it was broken by this I assume https://github.com/openstack/diskimage-builder/commit/2c4d230d7a09ad8940538338dfdc8bc3212fbc2017:51
noonedeadpunkNeilHanlon: And I think you use DIB a bit differently?17:52
noonedeadpunkhm. will ask infra folks17:53
mgariepyjamesdenton, are you around ?18:10
opendevreviewDmitriy Rabotyagov proposed openstack/openstack-ansible-openstack_hosts master: Replace curl with curl-minimal for DNF  https://review.opendev.org/c/openstack/openstack-ansible-openstack_hosts/+/87297318:14
jrosser^ is that right?18:16
jrosser`/usr/bin/curl`18:16
opendevreviewDmitriy Rabotyagov proposed openstack/openstack-ansible master: Replace curl with curl-minimal for DNF  https://review.opendev.org/c/openstack/openstack-ansible/+/87289618:16
jrossernoonedeadpunk: can you do that with the path to the binary in those patches?18:33
noonedeadpunkYes...18:33
jrosseroh fascinating18:33
jrosserand does that say "anything that provides this"18:34
noonedeadpunkcheck this https://review.opendev.org/c/openstack/diskimage-builder/+/869424/2#message-40234048ef8b46e060c863dcb06d9ca281ced94618:34
noonedeadpunkyup18:34
noonedeadpunkexactly18:34
noonedeadpunksorry, wrong link a bit - not to the message I was going to show - at least in same thread18:35
opendevreviewDmitriy Rabotyagov proposed openstack/openstack-ansible master: Replace curl with curl-minimal for DNF  https://review.opendev.org/c/openstack/openstack-ansible/+/87289618:35
noonedeadpunkI also saw that in example https://docs.ansible.com/ansible/latest/collections/ansible/builtin/dnf_module.html18:36
noonedeadpunkI also didn't know it's possible fwiw18:38
noonedeadpunkwas quite o_O on that18:38
opendevreviewJonathan Rosser proposed openstack/openstack-ansible master: Add validation zuul job for hosts setup  https://review.opendev.org/c/openstack/openstack-ansible/+/84300218:40
jrosseri didnt get chance to look at broken stable branches recently18:42
jrosserthings are ok up to W then not ok18:42
noonedeadpunkat very least could be related with curl... or rabbit crap again....18:43
noonedeadpunkI will check on that tomorrow18:43
opendevreviewMerged openstack/openstack-ansible-specs master: Switch sphinx language to en  https://review.opendev.org/c/openstack/openstack-ansible-specs/+/87233518:50
moha7I hope it be done tomorrow: https://paste.opendev.org/show/babduE78ONOlfFnChh6E/ , cloning with the speed of 8KB/s (:21:15
jrossermoha7: a couple of things - you probably don’t need all the repos, and hopefully the ones you do need are all also mirrored to GitHub21:33
moha7vmware stuff and calico are obviously not usable in my case, but I wasn't sure about most of the others.21:38
moha7I'll limit the list and aslo check the github21:42

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