moha7 | My 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 |
---|---|---|
moha7 | Then 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 |
moha7 | that list has been generated by `grep` over the path `/opt/openstack-ansible/`. | 08:38 |
jrosser | good morning | 08:42 |
jrosser | moha7: i think there is a better way to do that | 08:42 |
jrosser | moha7: take a look in here https://github.com/openstack/openstack-ansible/blob/master/playbooks/defaults/repo_packages/openstack_services.yml | 08:43 |
jrosser | all of those things are variables which point to the sources and git SHA of the repositories needed during the deployment | 08:44 |
moha7 | good 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 |
moha7 | Ah, w8 | 08:44 |
jrosser | if 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 github | 08:45 |
jrosser | that would be much more robust than search/replace in /opt/openstack-ansible - the hooks are already there to do what you need | 08:45 |
jrosser | moha7: 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/+/869748 | 08:46 |
jrosser | but it's not had any code review yet so is not merged | 08:47 |
jrosser | but really it is just a nice shortcut to overriding all of the things in `repo_pacakges/openstack_services.yml` manually | 08:47 |
moha7 | Your trick is beatiful; I will put all those `_git_repo` in the user_variable.yml for now | 08:48 |
jrosser | btw i also just tried cloning a repo from opendev.org - from my work network it is extremely slow | 08:49 |
jrosser | but from another provider it is very quick, so i would guess that this is again some problem with routing or transit out of vexxhost | 08:50 |
noonedeadpunk | NeilHanlon: yup, I did | 08:50 |
noonedeadpunk | mornings everyone | 08:50 |
jrosser | o/ good morning | 08:50 |
damiandabrowski | looks like we have broken gating for rocky :/ | 10:54 |
damiandabrowski | https://zuul.opendev.org/t/openstack/build/4613587ab3c84f1d86f9870ea9500e2a/log/logs/host/dnf.log.txt#104 | 10:54 |
damiandabrowski | package 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_64 | 10:54 |
damiandabrowski | should we stick with curl-minimal and put it here? https://opendev.org/openstack/openstack-ansible/src/branch/master/scripts/bootstrap-ansible.sh#L99 | 10:55 |
noonedeadpunk | is curl-minimal a thing for centos? | 10:56 |
noonedeadpunk | yeah | 10:56 |
noonedeadpunk | lets replace with curl-minimal | 10:57 |
jrosser | i think that this is a conflict between what ends up in the CI image with dib | 10:57 |
jrosser | iirc this has happened before | 10:57 |
noonedeadpunk | curl was a thing only for 8 and for 9 seems it should be curl-minimal | 10:57 |
noonedeadpunk | At least according to https://bugs.launchpad.net/tripleo/+bug/1953156 | 10:57 |
opendevreview | Damian Dąbrowski proposed openstack/openstack-ansible master: Replace curl with curl-minimal for DNF https://review.opendev.org/c/openstack/openstack-ansible/+/872896 | 11:06 |
damiandabrowski | done, thanks | 11:06 |
moha7 | jrosser: Should I take care of `requirements_git_install_branch` repo_packages/openstack_services.yml? | 11:56 |
jrosser | moha7: not sure i understand? | 11:57 |
moha7 | Here: 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_branch | 11:59 |
jrosser | well, ultimately all those SHA in there are a large part of what defines a "release" of OSA | 11:59 |
jrosser | as they point to specific points in the git history of all those repos | 12:00 |
moha7 | Then, I'm going to just add `adjutant_git_repo` to the user variable; Is it enough? | 12:00 |
jrosser | so 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 github | 12:00 |
moha7 | ok, tnx | 12:01 |
jrosser | just as an example..... | 12:01 |
jrosser | if 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 |
jrosser | this 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 it | 12:03 |
damiandabrowski | jrosser: sorry, yesterday I missed your messages about nvidia/mdev stuff | 13:44 |
damiandabrowski | let me check how we eventually implemented it | 13:44 |
jrosser | damiandabrowski: yes no problem - i did reply to the ML saying thanks to Tobias and was kind of brief about the detail | 13:45 |
jrosser | and now sean is saying how easy it is apparently with systemd units :) and i think it's just not the case | 13:45 |
jrosser | but i don't really have the willpower to argue | 13:45 |
jrosser | really i was interested to know if you had any nice solution except for putting sleep() in a few places | 13:46 |
noonedeadpunk | #startmeeting openstack_ansible_meeting | 15:02 |
opendevmeet | Meeting 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 |
opendevmeet | Useful Commands: #action #agreed #help #info #idea #link #topic #startvote. | 15:02 |
opendevmeet | The meeting name has been set to 'openstack_ansible_meeting' | 15:02 |
noonedeadpunk | #topic rollcall | 15:02 |
noonedeadpunk | o/ | 15:02 |
damiandabrowski | hi! | 15:02 |
jrosser | o/ hello | 15:05 |
noonedeadpunk | #topic office hours | 15:08 |
noonedeadpunk | sorry - was a bit distracted | 15:08 |
noonedeadpunk | I actually think we had some new bugs during previous week, but let's do bug triage later | 15:09 |
noonedeadpunk | So it seems that our gates are broken now | 15:10 |
jrosser | andrewbonney is away for several months so we are going to be low on reviewers for a while | 15:10 |
damiandabrowski | and curl issue is more complicated than i thought | 15:11 |
damiandabrowski | - on centos 'curl' is installed, so we can't install 'curl-minimal' during bootstrap-ansible.sh | 15:11 |
damiandabrowski | - on rocky 'curl-minimal' is installed, so we can't install 'curl' during bootstrap-ansible.sh | 15:11 |
noonedeadpunk | damiandabrowski: yeah, I know where issue is I guess | 15:11 |
damiandabrowski | so i see few possible options: | 15:11 |
damiandabrowski | a) do not try to install curl on dnf-based systems and just assume they are present by default | 15:11 |
damiandabrowski | b) define a different set of packages installed during bootstrap-ansible.sh(rocky with curl-minimal and centos/rhel with curl) | 15:11 |
damiandabrowski | c) pass --allowerasing to dnf install | 15:11 |
damiandabrowski | d) pass --skip-broken to dnf install | 15:11 |
noonedeadpunk | I think we can install curl-minimal everywhere on rhel? | 15:12 |
noonedeadpunk | jrosser: gotcha, thanks for updating | 15:12 |
noonedeadpunk | The question about curl - is where we try to install it or better - how much work is to replace | 15:13 |
noonedeadpunk | I assume integrated repo and openstack_hosts are the only? | 15:14 |
noonedeadpunk | Which is already a circular dependency, but not that bad, right? | 15:14 |
jrosser | we need to make this select between curl/curl-minimal then? | 15:15 |
noonedeadpunk | I'd try to just do culr-minimal everywhere for rhel9 | 15:18 |
noonedeadpunk | Also I've seen jammy timeouting couple of times... | 15:20 |
noonedeadpunk | and timeout was quite weird | 15:21 |
opendevreview | Dmitriy Rabotyagov proposed openstack/openstack-ansible master: Replace curl with curl-minimal for DNF https://review.opendev.org/c/openstack/openstack-ansible/+/872896 | 15:21 |
noonedeadpunk | I do hope it's just slow provider rather then smth off with lxc images (again) | 15:21 |
damiandabrowski | ahh so it's not that curl/curl-minimal packages are available in images by default. We install them during bootstrap-host | 15:24 |
damiandabrowski | I missed that before | 15:24 |
noonedeadpunk | we also have that in openstack_hosts on a later step | 15:24 |
damiandabrowski | do you have an idea how to solve this circular dependency? | 15:26 |
opendevreview | Dmitriy 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/+/872973 | 15:28 |
opendevreview | Dmitriy Rabotyagov proposed openstack/openstack-ansible master: Replace curl with curl-minimal for DNF https://review.opendev.org/c/openstack/openstack-ansible/+/872896 | 15:29 |
noonedeadpunk | yup, as usual | 15:29 |
damiandabrowski | ahh, zuul.d/project.yaml :D | 15:29 |
opendevreview | Dmitriy 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/+/872973 | 15:30 |
noonedeadpunk | damn | 15:30 |
noonedeadpunk | ok, anything else interesting to discuss? | 15:30 |
noonedeadpunk | I've seen discussions going on around refactoring of haproxy_services | 15:30 |
noonedeadpunk | I don't have much to comment as didn't read up on these | 15:31 |
damiandabrowski | no worries, let's discuss it next time | 15:32 |
jrosser | personally i would have preferred to see the haproxy role used a little more like we do system_service/pki/python_venv_build | 15:33 |
jrosser | i.e very obvious <this role> with <this data> in the service playbooks | 15:33 |
noonedeadpunk | I think it goes to on how important do we see reaching goal `1. Variables scope` | 15:35 |
damiandabrowski | btw. jrosser i fixed most of your comments yesterday | 15:36 |
noonedeadpunk | As 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 |
noonedeadpunk | but yeah, things could be simplifed already :) | 15:37 |
noonedeadpunk | #topic bug triage | 15:39 |
noonedeadpunk | So after rejecting couple of bugs, this one left | 15:39 |
noonedeadpunk | #link https://bugs.launchpad.net/openstack-ansible/+bug/2004546 | 15:39 |
noonedeadpunk | And I think it's quite plausible | 15:39 |
noonedeadpunk | And I guess it's due to having ternary right in variable | 15:40 |
jrosser | what an odd set of packages | 15:40 |
noonedeadpunk | I think main complain is on empty line at the end of the file | 15:42 |
noonedeadpunk | Which might change depending on the role | 15:42 |
noonedeadpunk | *role you run | 15:42 |
noonedeadpunk | though I think we might want to have a bit more details.... | 15:43 |
jrosser | the 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#L176 | 15:44 |
jrosser | #179 i mean | 15:44 |
noonedeadpunk | I think so... | 15:46 |
noonedeadpunk | or it could be global-constraints.txt as well | 15:47 |
noonedeadpunk | I'd say it's more about this https://github.com/openstack/ansible-role-python_venv_build/blob/master/tasks/python_venv_install.yml#L109-L122 | 15:47 |
jrosser | perhaps just a little more info would be helpful | 15:47 |
noonedeadpunk | Yeah, will ask for this | 15:48 |
jrosser | but relatedly i did see a thing where you could so `{{ some_list | select }}` and it would remove falsy elements | 15:48 |
jrosser | like empty or null or whatever | 15:48 |
noonedeadpunk | yeah, I was also thinking to apply filter there to drop empty elements from the list | 15:48 |
jrosser | it might also be a {% vs {%- thing? | 15:50 |
jrosser | those confuse me sometimes particularly with multiline inline jinja like that | 15:51 |
noonedeadpunk | Oh, true, we have `|` vs `|-` | 15:52 |
noonedeadpunk | but why it would be different.... | 15:52 |
noonedeadpunk | Anyway the only way is likely to reproduce the issue and realize what the issue really is | 15:53 |
jrosser | there was another wheel build bug too i think? | 15:55 |
noonedeadpunk | Hm... I don't really see it... | 16:08 |
jrosser | https://bugs.launchpad.net/openstack-ansible/+bug/2004252 | 16:08 |
noonedeadpunk | oh | 16:09 |
noonedeadpunk | that;s interesting | 16:10 |
noonedeadpunk | I though you meant this one tbh https://bugs.launchpad.net/openstack-ansible/+bug/2003294 | 16:10 |
jrosser | omg the irony if it was rackspace dos'ing the infra git servers | 16:11 |
noonedeadpunk | lol | 16:11 |
noonedeadpunk | yeah, that would be "fun" | 16:12 |
noonedeadpunk | regarding 2004252 - I'm about to give up and hardcode `venv_wheel_build_enable: true` | 16:13 |
noonedeadpunk | With overriding it to false for aio | 16:14 |
noonedeadpunk | But that will make us testing what nobody outside of CI will use | 16:14 |
jrosser | i was not even really able to understand the bug | 16:14 |
jrosser | and regarding https://bugs.launchpad.net/openstack-ansible/+bug/2003294, watch this...... | 16:15 |
jrosser | jamesdenton: ^ can you take a look? | 16:15 |
noonedeadpunk | oh my, we're out of time | 16:16 |
noonedeadpunk | #endmeeting | 16:16 |
opendevmeet | Meeting ended Tue Feb 7 16:16:48 2023 UTC. Information about MeetBot at http://wiki.debian.org/MeetBot . (v 0.1.4) | 16:16 |
opendevmeet | Minutes: https://meetings.opendev.org/meetings/openstack_ansible_meeting/2023/openstack_ansible_meeting.2023-02-07-15.02.html | 16:16 |
opendevmeet | Minutes (text): https://meetings.opendev.org/meetings/openstack_ansible_meeting/2023/openstack_ansible_meeting.2023-02-07-15.02.txt | 16:16 |
opendevmeet | Log: https://meetings.opendev.org/meetings/openstack_ansible_meeting/2023/openstack_ansible_meeting.2023-02-07-15.02.log.html | 16:16 |
noonedeadpunk | jrosser: so gist of 2004252 is that 1 compute and 1 infra host are there | 16:17 |
noonedeadpunk | So 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 |
jrosser | yes | 16:18 |
noonedeadpunk | but when running against compute - neutron-ovn-agent (or what's there) is resolved to 2 already | 16:18 |
noonedeadpunk | As we separate plays for neutron-server and neutron-agents in playbook | 16:19 |
noonedeadpunk | Though why doesn't it to build wheels.... | 16:19 |
jrosser | you mean (_venv_wheels_play_hosts[ansible_facts['distribution_version'] ~ '_' ~ ansible_facts['architecture']] | length > 1) right? | 16:19 |
noonedeadpunk | yes | 16:20 |
jrosser | oh no, just the | length part | 16:20 |
jrosser | yes yes i see now | 16:20 |
jrosser | thanks :) | 16:20 |
noonedeadpunk | so https://opendev.org/openstack/openstack-ansible/src/branch/master/playbooks/os-neutron-install.yml#L33 is 1 | 16:20 |
noonedeadpunk | and https://opendev.org/openstack/openstack-ansible/src/branch/master/playbooks/os-neutron-install.yml#L41 is 2 | 16:20 |
noonedeadpunk | Though the question here - if wheels are not present - why they are skipped | 16:21 |
noonedeadpunk | wait, no, it's still smth off | 16:22 |
jrosser | feels like the _venv_wheels_play_hosts is a bit fragile in these small deployments | 16:24 |
jrosser | it's all kind of as expected on 3 controller + bunch of computes? | 16:24 |
noonedeadpunk | smth is off still... | 16:34 |
noonedeadpunk | so 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-L22 | 16:35 |
noonedeadpunk | ah, yes, true | 16:35 |
noonedeadpunk | this is false https://opendev.org/openstack/ansible-role-python_venv_build/src/branch/master/tasks/main.yml#L68 | 16:35 |
noonedeadpunk | yeah, no idea how to identify this... | 16:41 |
noonedeadpunk | except jsut hardcorde building wheels regardlessly | 16:41 |
jrosser | how bad does it hurt the CI jobs to enable there? | 16:42 |
noonedeadpunk | +15mins or smth | 16:43 |
jrosser | thats not great | 16:43 |
noonedeadpunk | I'd assume this bug will be true for all hosts with just 1 controller | 16:56 |
jrosser | it feels that way - and i wonder if we also see something odd for nova | 16:59 |
jrosser | with 1x nova on the controller and N x computes | 16:59 |
noonedeadpunk | Yup | 17:00 |
noonedeadpunk | And all corner cases when controller1 is other OS then all computes | 17:00 |
jrosser | like rule couldbe written for 1 controller perhaps? | 17:00 |
jrosser | argh no though what would it be :/ | 17:01 |
noonedeadpunk | I'd say - change `length > 1` -> `length > 0` | 17:02 |
noonedeadpunk | We still don't test wheels build scenario in CI... | 17:02 |
noonedeadpunk | Ah, no reason to test length then | 17:05 |
jrosser | no indeed | 17:05 |
jrosser | perhaps this is all just complexity that we do not need | 17:05 |
damiandabrowski | yup, i think building wheels even if there's only one host makes sense for me | 17:06 |
damiandabrowski | we always deploy repo container anyway, plus additional host may be added basically any time | 17:06 |
noonedeadpunk | btw, curl thing didn't work out :( | 17:08 |
jrosser | i really am sure we saw this thing before with rocky | 17:09 |
noonedeadpunk | seems we somehow indeed need to split rocky with centos9 | 17:09 |
noonedeadpunk | Well. Another option on how to calculate _venv_wheel_build_enable is based on the venv_build_targets | 17:13 |
noonedeadpunk | But kind of depends if we should just fail when there're no repo hosts or disable wheels_build | 17:16 |
jrosser | plus to consider the existing "don't ddos" fail: condition | 17:19 |
jrosser | imho this is all too complex, so simplifying wherever possible is ++ | 17:19 |
jrosser | but 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 path | 17:20 |
jrosser | i hope that we have wheel build enabled in the infra jobs where there should be 3x repo and 3x keystone to test it all properly | 17:21 |
noonedeadpunk | oh yes, we should have that there indeed | 17:21 |
noonedeadpunk | What I also don't like is that https://opendev.org/openstack/ansible-role-python_venv_build/src/branch/master/vars/main.yml#L51 | 17:22 |
noonedeadpunk | specifically default thingy | 17:22 |
noonedeadpunk | it can result in very weird things | 17:23 |
jrosser | perhaps we remove that and add an assert that the repo_all group is populated | 17:25 |
jrosser | because i agree that leads to really odd things | 17:26 |
noonedeadpunk | I'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 scenarios | 17:29 |
noonedeadpunk | But for upgrade you should always have at least 1 repo_container already spawned for the "other" OS | 17:29 |
opendevreview | Dmitriy 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/+/872987 | 17:36 |
noonedeadpunk | pf | 17:38 |
noonedeadpunk | So I assume that this curl thing is caused by https://github.com/openstack/diskimage-builder/blob/master/diskimage_builder/elements/cache-url/pkg-map#L4 | 17:50 |
noonedeadpunk | that element is required by `cache-devstack` | 17:50 |
noonedeadpunk | and it was broken by this I assume https://github.com/openstack/diskimage-builder/commit/2c4d230d7a09ad8940538338dfdc8bc3212fbc20 | 17:51 |
noonedeadpunk | NeilHanlon: And I think you use DIB a bit differently? | 17:52 |
noonedeadpunk | hm. will ask infra folks | 17:53 |
mgariepy | jamesdenton, are you around ? | 18:10 |
opendevreview | Dmitriy 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/+/872973 | 18:14 |
jrosser | ^ is that right? | 18:16 |
jrosser | `/usr/bin/curl` | 18:16 |
opendevreview | Dmitriy Rabotyagov proposed openstack/openstack-ansible master: Replace curl with curl-minimal for DNF https://review.opendev.org/c/openstack/openstack-ansible/+/872896 | 18:16 |
jrosser | noonedeadpunk: can you do that with the path to the binary in those patches? | 18:33 |
noonedeadpunk | Yes... | 18:33 |
jrosser | oh fascinating | 18:33 |
jrosser | and does that say "anything that provides this" | 18:34 |
noonedeadpunk | check this https://review.opendev.org/c/openstack/diskimage-builder/+/869424/2#message-40234048ef8b46e060c863dcb06d9ca281ced946 | 18:34 |
noonedeadpunk | yup | 18:34 |
noonedeadpunk | exactly | 18:34 |
noonedeadpunk | sorry, wrong link a bit - not to the message I was going to show - at least in same thread | 18:35 |
opendevreview | Dmitriy Rabotyagov proposed openstack/openstack-ansible master: Replace curl with curl-minimal for DNF https://review.opendev.org/c/openstack/openstack-ansible/+/872896 | 18:35 |
noonedeadpunk | I also saw that in example https://docs.ansible.com/ansible/latest/collections/ansible/builtin/dnf_module.html | 18:36 |
noonedeadpunk | I also didn't know it's possible fwiw | 18:38 |
noonedeadpunk | was quite o_O on that | 18:38 |
opendevreview | Jonathan Rosser proposed openstack/openstack-ansible master: Add validation zuul job for hosts setup https://review.opendev.org/c/openstack/openstack-ansible/+/843002 | 18:40 |
jrosser | i didnt get chance to look at broken stable branches recently | 18:42 |
jrosser | things are ok up to W then not ok | 18:42 |
noonedeadpunk | at very least could be related with curl... or rabbit crap again.... | 18:43 |
noonedeadpunk | I will check on that tomorrow | 18:43 |
opendevreview | Merged openstack/openstack-ansible-specs master: Switch sphinx language to en https://review.opendev.org/c/openstack/openstack-ansible-specs/+/872335 | 18:50 |
moha7 | I hope it be done tomorrow: https://paste.opendev.org/show/babduE78ONOlfFnChh6E/ , cloning with the speed of 8KB/s (: | 21:15 |
jrosser | moha7: a couple of things - you probably don’t need all the repos, and hopefully the ones you do need are all also mirrored to GitHub | 21:33 |
moha7 | vmware stuff and calico are obviously not usable in my case, but I wasn't sure about most of the others. | 21:38 |
moha7 | I'll limit the list and aslo check the github | 21:42 |
Generated by irclog2html.py 2.17.3 by Marius Gedminas - find it at https://mg.pov.lt/irclog2html/!