Tuesday, 2022-04-12

*** pojadhav- is now known as pojadhav05:57
opendevreviewAndre Aranha proposed openstack/tempest master: Add multinode FIPS job to the experimental queue  https://review.opendev.org/c/openstack/tempest/+/82658013:16
*** pojadhav is now known as pojadhav|afk14:02
kopecmartin#startmeeting qa15:00
opendevmeetMeeting started Tue Apr 12 15:00:34 2022 UTC and is due to finish in 60 minutes.  The chair is kopecmartin. Information about MeetBot at http://wiki.debian.org/MeetBot.15:00
opendevmeetUseful Commands: #action #agreed #help #info #idea #link #topic #startvote.15:00
opendevmeetThe meeting name has been set to 'qa'15:00
kopecmartin#link https://wiki.openstack.org/wiki/Meetings/QATeamMeeting#Weekly_QA_Team_meeting15:01
kopecmartinagenda ^^15:01
frickler\o15:01
gmanno/15:01
lpiwowarhi o/ 15:01
soniya29hello15:02
kopecmartin#topic Announcement and Action Item (Optional)15:02
kopecmartinnone announcements from my side15:03
kopecmartin#topic Zed Priority Items progress15:03
kopecmartin#link https://etherpad.opendev.org/p/qa-zed-priority15:04
kopecmartinthis ^^ is the etherpad for the priority items for the current cycle15:04
kopecmartinit's based on the discussions we've had during the PTG15:04
kopecmartinfeel free to edit/add anything i forgot15:04
kopecmartinbtw, is it only me who can't open any etherpad page in firefox?15:05
lpiwowarI have no issue opening the etherped15:06
kopecmartinlol, uncaught exception - ReferenceError: chrome is not defined 15:06
lpiwowarHmmm ... That's weird15:06
kopecmartini guess the firefox available for mac is missing something , meh15:06
lpiwowarYes, i guess15:07
kopecmartinanyway, check the priority items , see whether you're ok with them15:07
kopecmartin#topic OpenStack Events Updates and Planning15:09
kopecmartin#link https://etherpad.opendev.org/p/qa-zed-ptg15:09
kopecmartinagenda from the ptg ^^15:09
kopecmartingmann: where can we publish the recordings from our sessions?15:10
kopecmartinis there a specific service openstack uses?15:10
gmannkopecmartin: I think I have that and I will send to you15:10
kopecmartinokey, thanks15:10
gmannpublishing I am not sure but we can send it on ML from google drive or so15:10
kopecmartinyeah, that's what i meant by publishing - where to upload that, preferably 15:11
kopecmartinack15:11
kopecmartin#topic Gate Status Checks15:12
kopecmartin#link https://review.opendev.org/q/label:Review-Priority%253D%252B2+status:open+(project:openstack/tempest+OR+project:openstack/patrole+OR+project:openstack/devstack+OR+project:openstack/grenade+OR+project:openstack/hacking)15:12
kopecmartinno changes there15:12
kopecmartinoh, i've used the old link :/ .. hacking shouldn't be part of that link anymore15:13
kopecmartin#topic Periodic jobs Status Checks15:13
kopecmartinperiodic stable15:13
kopecmartin#link https://zuul.openstack.org/builds?job_name=tempest-full-yoga&job_name=tempest-full-xena&job_name=tempest-full-wallaby-py3&job_name=tempest-full-victoria-py3&job_name=tempest-full-ussuri-py3&pipeline=periodic-stable15:13
kopecmartinperiodic master15:13
kopecmartin#link https://zuul.openstack.org/builds?project=openstack%2Ftempest&project=openstack%2Fdevstack&pipeline=periodic15:13
* kopecmartin checking out the timeout in tempest-all job15:14
kopecmartinhmm, tests passed15:15
kopecmartinRUN END RESULT_TIMED_OUT: [untrusted : opendev.org/openstack/tempest/playbooks/devstack-tempest.yaml@master]15:15
kopecmartinseems this failed that job15:15
kopecmartinanyway, it seems random but let's watch out if it happens again15:16
kopecmartin#topic Distros check15:16
kopecmartincentos 8/9 stream15:16
kopecmartin#link https://zuul.openstack.org/builds?job_name=tempest-full-centos-9-stream&job_name=tempest-full-py3-centos-8-stream&job_name=devstack-platform-centos-8-stream&job_name=devstack-platform-centos-9-stream&skip=015:16
kopecmartinfedora 15:17
kopecmartin#link https://zuul.openstack.org/builds?job_name=devstack-platform-fedora-latest&skip=015:17
kopecmartinopenEuler15:17
kopecmartin#link https://zuul.openstack.org/builds?job_name=devstack-platform-openEuler-20.03-SP2+&skip=015:17
kopecmartindebian15:17
kopecmartin#link https://zuul.openstack.org/builds?job_name=devstack-platform-debian-bullseye&skip=015:17
kopecmartincentos 8 stream still failing 15:18
kopecmartincentos 9 stream looks good15:18
kopecmartindebian too15:18
kopecmartinfedora and epenEuler are 50-5015:18
kopecmartin#topic Sub Teams highlights (Sub Teams means individual projects under QA program) 15:19
kopecmartinChanges with Review-Priority == +1 15:19
kopecmartin#link https://review.opendev.org/q/label:Review-Priority%253D%252B1+status:open+(project:openstack/tempest+OR+project:openstack/patrole+OR+project:openstack/devstack+OR+project:openstack/grenade+OR+project:openstack/hacking)15:19
kopecmartinno changes there15:20
kopecmartin #topic Open Discussion15:20
kopecmartinanything for the open discussion?15:20
fricklerhacking also doesn't have RP+1 ;)15:20
kopecmartinack, i'll update this link too15:21
fricklermaybe if someone is interested in building jammy images they can help with diskimage-builder15:21
fricklercurrently failing for some unknown (to me) reason https://review.opendev.org/c/openstack/diskimage-builder/+/83622815:22
fricklerI've tested locally and devstack deploys fine. though there seem to be issues with eventlet and py3.1015:22
frickleractually, is fedora using py3.10 already? maybe the failures there could be related then?15:25
fricklerI know we use fedora for tox-py310 jobs15:25
frickleryep, seems so: PYTHON3_VERSION=3.10 https://0040485a3ab53b03d16a-74c6967b9c388ca77dd0a83c1c662326.ssl.cf2.rackcdn.com/837207/1/check/devstack-platform-fedora-latest/3b8d081/job-output.txt15:26
gmannhumm, interesting 15:27
kopecmartinit failed on uploading image, well timeouted 15:28
fricklerwill be interesting to see whether jammy shows the same failure rate when we can finally run it15:28
kopecmartinyeah15:30
kopecmartinanything else?15:32
kopecmartin#topic Bug Triage15:32
kopecmartinnew etherpad for this cycle15:32
kopecmartin#link https://etherpad.openstack.org/p/qa-bug-triage-zed15:32
kopecmartingmann: btw, this looks ready15:33
kopecmartin#link https://review.opendev.org/c/openstack/tempest/+/83375015:33
gmannkopecmartin: +1, thanks 15:34
gmannwill check after meeting15:34
kopecmartinack, thanks15:34
kopecmartinthis is all from my side15:34
kopecmartinanything else from anyone?15:34
fricklerkopecmartin: do you keep those bug number in some kind of spreadsheet?15:34
fricklermight be interesting to make some graphs from them like per cycle15:35
fricklerbug counts15:35
kopecmartinit's just in the etherpad 15:35
kopecmartini can copy the data from there to a spreadsheet15:35
kopecmartinwhy not15:35
gmannI think it is counted from LP only15:35
gmannthat is what I used to do and out in etherpad15:36
fricklerif we wouldn't just be thinking to retire ethercalc, I would've propose to track the numbers there instead15:37
kopecmartini see15:38
kopecmartinok, we can use google spreadsheet 15:38
kopecmartinthe UI is nicer :)15:39
fricklerbut it's not open ... but yeah15:39
kopecmartinok, let me try to copy the bug numbers from the etherpads to something else where we can generate some graphs15:39
kopecmartinthank you everyone, see you next week15:40
kopecmartin#endmeeting15:40
opendevmeetMeeting ended Tue Apr 12 15:40:30 2022 UTC.  Information about MeetBot at http://wiki.debian.org/MeetBot . (v 0.1.4)15:40
opendevmeetMinutes:        https://meetings.opendev.org/meetings/qa/2022/qa.2022-04-12-15.00.html15:40
opendevmeetMinutes (text): https://meetings.opendev.org/meetings/qa/2022/qa.2022-04-12-15.00.txt15:40
opendevmeetLog:            https://meetings.opendev.org/meetings/qa/2022/qa.2022-04-12-15.00.log.html15:40
fricklerah, I almost forgot, I'll be off next week. or actually tomorrow until the 20th15:40
kopecmartinfrickler: ack15:42
kopecmartingmann: also this patrole change https://review.opendev.org/c/openstack/patrole/+/83574315:57
gmannkopecmartin: ack15:58
gmannit is back to back 4 meeting for me this morning, will do after I finish those15:58
kopecmartinof course, i didn't mean to rush you, i'm just going through everything ...15:59
*** pojadhav|afk is now known as pojadhav16:14
opendevreviewLuigi Toscano proposed openstack/devstack-plugin-ceph master: [DNM][CI] Add CEPHADM_DEPLOY flag to py3 tests  https://review.opendev.org/c/openstack/devstack-plugin-ceph/+/83422316:17
dansmithkopecmartin: do you know why this is not collecting the performance.json file that I'm generating? https://review.opendev.org/c/openstack/devstack/+/83713916:41
dansmithit's running that section of the post playbook, so it should be generating the actual file, but it doesn't get collected for the log dump16:42
*** dmellado_ is now known as dmellado16:46
*** artom_ is now known as artom17:01
opendevreviewDan Smith proposed openstack/devstack master: WIP: Attempt to dump perf stats after tempest  https://review.opendev.org/c/openstack/devstack/+/83713917:09
gmanndansmith: I think its order of the 'Generate statistics' and 'fetch-devstack-log-di' role. laster one happening first and that time performance.json was not present.  https://zuul.opendev.org/t/openstack/build/874e0a219bf24ec18c1884fe9327b777/console17:10
dansmithgmann: okay but I'm running right after "link post-devstack tempest.log" right? so I expected that to be the right time17:11
gmanndansmith: I think add 'Generate statistics' in 'pre_tasks' should work17:11
gmanndansmith: that is after log copy things again.17:11
dansmithoh I assumed "pre" was before the run17:12
dansmithI need this to run after devstack and after tempest17:12
dansmithand yeah, those pre things run super early, so I don't think that's right, unless I'm missing something17:13
dansmithor do you mean pre_tasks in post.yaml ?17:13
gmannnot pre.yaml but 'pre_tasks' of that playbook so that in post.yam task run first then roles?17:13
gmannyeah pre_tasks in post.yaml17:14
dansmithhuh, okay, why is "link post-devstack tempest.log" running after we've collected logs?17:14
opendevreviewDan Smith proposed openstack/devstack master: WIP: Attempt to dump perf stats after tempest  https://review.opendev.org/c/openstack/devstack/+/83713917:14
dansmithalso, where are the roles like fetch-devstack-log-dir defined? because it might be nice to use a role here instead, but I haven't found where those live17:16
gmanndansmith: that is here https://github.com/openstack/devstack/tree/master/roles/fetch-devstack-log-dir17:17
* dansmith facepalms17:17
dansmithsorry :(17:17
dansmithneither google nor codesearch would show me that17:18
clarkbthe issue there is they all primarily search file contents not file names/paths17:19
gmannyeah may be dir name are not searched that way. but all devstack and tempest roles are in tree only17:19
clarkbyou can ask codesarch to filter by path but you still have to give it a tring to look for and .* isn't quick (in fact I worry I may have just made it very sad trying that)17:20
dansmithack, well, my grepping suffered the same fate17:20
dansmithI should have tree | grep'd17:20
gmannkopecmartin: sent QA PTG recording in email  to you but sorry I lost QA team photo too due to my system crashed during PTG. 17:22
opendevreviewBenny Kopilov proposed openstack/tempest master: Allows to skip wait for volume create  https://review.opendev.org/c/openstack/tempest/+/83760317:38
opendevreviewBenny Kopilov proposed openstack/tempest master: Allows to skip wait for volume create  https://review.opendev.org/c/openstack/tempest/+/83760317:41
opendevreviewMerged openstack/patrole master: Update tempest to 30.0.0  https://review.opendev.org/c/openstack/patrole/+/83574317:43
opendevreviewMerged openstack/devstack-plugin-nfs master: Enable volume revert to snapshot NFS tests  https://review.opendev.org/c/openstack/devstack-plugin-nfs/+/81271617:58
opendevreviewLuigi Toscano proposed openstack/devstack-plugin-ceph master: [DNM][CI] Add CEPHADM_DEPLOY flag to py3 tests  https://review.opendev.org/c/openstack/devstack-plugin-ceph/+/83422318:41
opendevreviewLuigi Toscano proposed openstack/devstack-plugin-ceph master: [DNM][CI] Add CEPHADM_DEPLOY flag to py3 tests  https://review.opendev.org/c/openstack/devstack-plugin-ceph/+/83422319:40
dansmithgmann: yass: https://af03dfc56dd1bea1c6a5-57b719e0009d4036c44d6542bd77bfc6.ssl.cf1.rackcdn.com/837139/11/check/tempest-full-py3/57baa39/controller/logs/performance.json20:09
dansmithgmann: thanks for the help, sorry for being dumb20:10
gmannnice. 20:10
gmannnp!, we should have better in-file comment/documentation on these things. 20:10
dansmithoh, hmm, looks like I'm failing to read the apache log20:11
dansmithah, it's in access_log not other_vhosts20:12
opendevreviewDan Smith proposed openstack/devstack master: WIP: Gather performance data after tempest  https://review.opendev.org/c/openstack/devstack/+/83713920:21
opendevreviewFrancesco Pantano proposed openstack/devstack-plugin-ceph master: Deploy with cephadm  https://review.opendev.org/c/openstack/devstack-plugin-ceph/+/82648420:34
opendevreviewClark Boylan proposed openstack/tempest master: Stop processing stackviz  https://review.opendev.org/c/openstack/tempest/+/83762821:43
opendevreviewClark Boylan proposed openstack/devstack master: Disable c-bak by default in our CI jobs  https://review.opendev.org/c/openstack/devstack/+/83763021:44
clarkbThat first change should be pretty safe to land considering the lack of dstat data. The second one is more for conversation as I think c-bak testing is limited but I could be wrong. I will WIP it and can remove the WIP if that makes sense to proceed with21:44
clarkbdansmith: ^ that sort of fell out of what I was looking at for memory use21:45
dansmithcool21:46
johnsomLots-o-red on the zuul board. Devstack in having a hard time installing stuff. https://zuul.opendev.org/t/openstack/build/c86a5eafc4a4465bb5c6780892e6565d/log/job-output.txt#1132621:53
clarkblooks like an issue installing keystone because pbr can't figure out the version. setuptools released 2 days ago21:57
clarkbtox updated yesterday too but devstack installs hsouldn't use tox21:57
dansmithsaw a grenade failure like that too21:58
johnsomIt's not just keystone, I am seeing other errors21:58
dansmithhttps://zuul.opendev.org/t/openstack/build/e9ff1ef3a7e84fa2b31a09b9af2a7057/log/job-output.txt#2209121:58
johnsomOne job had that on barbican-client too21:58
clarkbas a sanity check pbr hasn't updated in 2 months22:00
clarkband pip is a month old22:01
clarkbif I run pip install -e /path/to/keystone locally I can't reproduce with latest setuptools and pip22:03
clarkbwith python38 as well which matches the failure22:03
clarkbI'm not sure why this is happening22:05
clarkbis /opt/stack/keystone somehow not a valid package22:06
johnsomEarlier in the file it does a git show and there is a commit message there, so at least at checkout something was there22:09
clarkbhttps://zuul.opendev.org/t/openstack/build/d6c6c23f329a4d15b5f84e67aad971f8/log/job-output.txt#379-402 THe logging there is weird and seems to indicate we synchronize the repo twice? but later in the log it shows what it checked out to, yup that22:09
johnsomJust for the record, here is one for barbicanclient: https://zuul.opendev.org/t/openstack/build/e57c56b167fa40e78caa1fb1e7d7803b22:11
clarkbI think that may be an artifact of logging. Looking at the rendered console from ansibl eit seems to only show one push per repo22:12
clarkbin these installations we're installing from source so there is no sdist. Installing from source implies that git is present22:17
clarkbhowever I think if git isn't present we'd get errors like this as well. Or if git isn't able to emit version like things we can parse?22:17
clarkbfungi: ^ do these failures look familiar to you?22:19
clarkbfwiw I'm fairly certain git is installed because we do git pushed to repos on the host to sync up the test repos22:19
clarkbit looks like maybe centos jobs are ok but ubuntu-focal are not?22:20
clarkbhttp://changelogs.ubuntu.com/changelogs/pool/main/g/git/git_2.25.1-1ubuntu3.3/changelog maybe git updated? I don't know when that latest update actually got releaesd in a package, tryingto figure that out22:22
clarkblooks like git updated 2022-04-12 18:58 on our mirror so image builds after that would include it22:25
johnsomHmm, dpkg log on an old working run and the failing one have the same git version: 1:2.25.1-1ubuntu3.222:26
johnsomOh, no they don't22:26
clarkbya looks like our focal images updated about 5 hour sago which is before our mirrors update to the newer git22:26
clarkbbut it is possible they update git at runtime too22:27
johnsomGood: git                                   1:2.25.1-1ubuntu3.222:27
johnsomBad: git                                   1:2.25.1-1ubuntu3.322:27
johnsomThe git-man line tricked me22:27
clarkbah ok so maybe it is related22:27
clarkbI'm trying to reproduce in a focal container now22:27
clarkbhrm not able to reproduce there either and that uses the newer git22:28
clarkbhtough the newer git also did the clone. I suppos eit is possible that old git fetches a repo that new git doesn't like. But this seems very unlikel22:29
clarkboh though that says "add a check to see that the top level directory is owned by the current user" maybe you need to be different users? Does devstack run as zuul but then create stuff for stack? I dunno I'm just throwing ideas out there22:30
fungithat sounds likely22:33
fungior the initial repo copying results in zuul owning the repos22:33
fungior it's between the stack and tempest accounts22:33
clarkbI'm going to push a new patchset to my tempest change above and put a hold on tempest-full-py322:33
clarkbthen we can examine the node directly and try and debug where pbr is failing since my local reproduction all fail so far22:34
fungii guess you mean your local reproductions all fail to fail?22:35
opendevreviewClark Boylan proposed openstack/tempest master: Stop processing stackviz  https://review.opendev.org/c/openstack/tempest/+/83762822:37
clarkbfungi: yes, but that is because my ubuntu docker container doesn't have multiple users and setting that p to match devstack/tempest/zuul is difficult without holding a node anyway (as I'm not sure whta exactly it looks like)22:38
clarkbI think holding is worthwhile now that we suspect a potential complicated interaction like that. But we'll see22:38
opendevreviewMichael Johnson proposed openstack/devstack master: DNM: testing git versions  https://review.opendev.org/c/openstack/devstack/+/83763422:39
fungiagreed, yes22:39
johnsomNot 100% sure that will work, but trying to install the old version over top22:39
clarkbjohnsom: I think it will work if apt can find that package version still which might not be the case since old packages get pruned. But we'll see22:40
opendevreviewMichael Johnson proposed openstack/devstack master: DNM: testing git versions  https://review.opendev.org/c/openstack/devstack/+/83763422:44
clarkbif it is a difference in file permissions that could explain why tox jobs (which all run as zuul) don't seem to be affected22:44
johnsomYeah, I don't think that would have worked. This version pulls the package off kernel.org and installs22:45
clarkbassuming that is the cause we could probably just chown as appropriately and move on22:45
clarkbbut knowing that is the issue and knowing what to chown to are the first steps22:45
clarkbfungi: ssh root@104.130.253.94 for the node that hsould be held for me22:46
ianw<clarkb> with python38 as well which matches the failure -> isn't it python 3.6?22:52
clarkbianw: this failure https://zuul.opendev.org/t/openstack/build/6ee7c6851ba0435280428d7c924d3088/log/job-output.txt#7361 was 3.822:53
ianwahh, i was looking at https://zuul.opendev.org/t/openstack/build/c86a5eafc4a4465bb5c6780892e6565d/log/job-output.txt#1132622:54
clarkbas is https://zuul.opendev.org/t/openstack/build/d6c6c23f329a4d15b5f84e67aad971f8/log/job-output.txt#697822:54
ianwok, at least it's not something dropping 3.6 support, that was my initial worry22:54
clarkbthe keystone repo is owned by stack:stack on the held node22:56
clarkband bash ./stack.sh is running as the stack user22:56
clarkboh but we probably sudo pip intsall -e because it is a global install22:58
clarkbyes we do22:58
fungiargh23:04
fungiand root != stack23:04
clarkbI've su'd to stack then run `sudo -H LC_ALL=en_US.UTF-8 SETUPTOOLS_USE_DISTUTILS=stdlib http_proxy= https_proxy= no_proxy= PIP_FIND_LINKS= SETUPTOOLS_SYS_PATH_TECHNIQUE=rewrite python3.8 -m pip install -c /opt/stack/requirements/upper-constraints.txt -e /opt/stack/keystone` and that reproduces. Now I'll try chowning the repo to root:root and rerun23:04
clarkbok it still fails so maybe not an ownership thing.23:05
opendevreviewMichael Johnson proposed openstack/devstack master: DNM: testing git versions  https://review.opendev.org/c/openstack/devstack/+/83763423:05
clarkbStill not clear if this is reltaed to the git update though23:05
clarkboh wait did my chown not recurse properly?23:06
johnsomYeah, I forgot the sudo for the package install, so back into the queue23:07
clarkbok that is it23:07
clarkbI chowned /opt/stack/keystone/keystone but needed to chown /opt/stack/keystone23:07
clarkbit has installed now as the stack user running the sudo pip install above after chowning the repo to root:root23:07
clarkbStill not sure what pbr is doing with git to determine versions that breaks, but this is probably a really good indication that the git update did break it23:08
clarkband if I chown it back again it fails again. ok now to see if I can trace pbr's git calls23:09
fungiit wants to call git tag, rev-parse, and so on23:09
clarkb['git', 'rev-parse', '--git-dir'] produces "fatal: unsafe repository ('/opt/stack/keystone' is owned by someone else)\nTo add an exception for this directory, call:\n\n\tgit config --global --add safe.directory /opt/stack/keystone\n"23:11
clarkbI'm not going to try and prescribe a fix now, but I think that tracks it down well. Probably the best thing is to chown the repos23:12
clarkbbut I'm not sure if other git operations are performed by devstack itself and that will cause problems later23:12
clarkbI'm off the held node now if anyone else wants to look. My hacked up pbr is in place and keystone is installed, but if you try to reproduce you should be able to just with my extra debuging output from pbr23:15
fungichown them to root:root?23:15
clarkbthen if you chown the repo it will go away23:15
clarkbfungi: yes because the install is done with sudo to become root to do a global install23:15
ianwo add an exception for this directory, call:23:15
clarkb(all the more reason we should be using virtualenvs but what can you do)23:15
fungithat's what i figure you meant, just making sure23:15
ianwgit config --global --add safe.directory %s23:15
clarkbianw: yup thats in the string above too. The problem with that is I don't think we should be modifying user's global git configs in devstack23:16
clarkbbut maybe that is ok if we say it is a destructive ci tool23:16
clarkb(which I guess it really is)23:16
johnsomShould we open a pbr bug to track this/collect information?23:16
clarkbjohnsom: I don't think so. It isnlt a pbr bug23:16
clarkbmaybe a bug against git?23:16
johnsomlol23:16
fungiwell, this was intentional, cve came across oss-sec ml today about it23:17
clarkbfungi: yup the rare case when it is ok to break users23:17
fungiin short, if you run any git operations in a git tree owned by another user who has put malicious content in the config, then git will silently run arbitrary commands of their choosing as your account23:17
fungiand since it's become popular to just have your shell prompt or editor or file browser run git commands in the background as you roam around the system, it can happen without you even realizing you've called git23:18
clarkbbut this isn't a pbr issue. pbr depends on git and git changes its behavior in a non backward compatible way to address a security issue. I think filing a bug against pbr sets an expectations that pbr maintainers (fungi myself etc) to fix it23:19
fungiright23:19
fungii'm just saying, git upstream will consider the report #notabug23:19
johnsomyeah, I was just trying to find a place to collect info and track. 23:19
clarkbjohnsom: I think devstack, devstack is failing doing what it does as what it does is no longer valid (run an install out of a git repo owned by another user)23:20
johnsomRight, I don't think git is going to act here. adding "--unsecure" would be .... silly23:20
clarkband maybe we make a note in PBR somewhere indicating that modern git has invalidated this use case23:20
clarkb(which transitively affects PBR)23:20
ianwi feel like there is a possibility we install a lot of things from zuul checkouts (zuul:zuul I guess) as non-zuul users ...23:23
clarkbianw: I wonder if there is a flag that we can set on the command line per git command. That isn't really useful for pbr as it shouldn't assume a repo the user wants to install is trusted , though maybe that is implied since it will run python things too23:23
clarkbianw: yes, though all of the the tox stuff seems to reliably use zuul for both the execution and the file ownership. Probably most things that use virtualenvs are ok23:23
ianwis that true that we shouldn't assume the repo is trusted?23:26
clarkbianw: thats what I'm wondering about now that I've written it. If you are running a pip install against a repo there is an implicit trust there23:26
ianwi mean you're telling pip "install from this directory" ... if you don't trust it ...23:27
clarkbbecause you are asking to run python out of that repo to make it happen23:27
clarkbso ya if there is a flag that pbr could set that might work. I don't think we should do it via global static config but instead on a per git invocation basis23:27
ianwright, it's distinct from having a bash PS1 that does git things and accidentally cd'ing into it23:27
clarkband maybe with a flag that enforces the stronger rules in case people want that23:28
clarkbhttps://git-scm.com/book/en/v2/Git-Internals-Environment-Variables doesn't look like we can set env vars that map to arbitrary config values though23:29
johnsomFYI, not a surprise, but my DNM patch that re-installs git 2.25.1-1ubuntu3.2 does in fact get through the keystone install without issue.23:29
clarkbso would need to be a command line flag?23:29
ianw" or via the command line option `-c safe.directory=<path>`."23:31
clarkbianw: oh where'd you find that? that didn't seem to be in my debugging output from git23:32
clarkb(but maybe I just missed it)23:32
ianwgit show 8959555cee7 :) but it's in b/Documentation/config/safe.txt23:32
clarkbah thanks23:32
ianwalso the commands it's running, and the way it's running them, is probably immune to injections via files named "`now-i-own-you.sh`"23:34
ianwit's not going to be tricked into exec-ing any git output i wouldn't have thought23:35
johnsomThis config setting is only respected when specified in a system or global config, not when it is specified in a repository config or via the command line option `-c safe.directory=<path>`.23:35
ianwwhich seems to be the security issue23:35
johnsomhttps://github.com/git/git/commit/8959555cee7ec045958f9b6dd62e541affb7e7d9 for those curious23:37
ianwbah, indeed.  i should have read that sentence from the start23:37
clarkboh ok so making a workaround in pbr wouldn't be possible23:38
clarkbwe could document the behavior in pbr docs and indicate the settings to ste or to chown though23:38
clarkbin that case i htink we should make a devstack bug since this needs to be fixed at the pip install point23:38
johnsom+123:38
johnsomI guess I started this thread, so I will open one. (unless one of you has already started one)23:40
clarkbI have not . Idon't think I'm logged into lp either (though does devstakc use lp?)23:40
clarkbI'm happy for you to do it :)23:40
clarkband then email to the discuss list is probably also a good idea so that w edon't have duplicate debugging overnight from europe :)23:41
johnsomYeah, it's LP23:41
ianwfunctions-common/git_clone seems like the place to do it, but i feel like there might be other places too.  probably plugins doing things23:42
clarkbianw: maybe even in the pip_install function23:42
clarkbbefore running pip chown to root then back again23:42
clarkbthat seems hacky but is likely to catch most cases23:43
ianwthat seems horrific tbh23:43
clarkbor maybe its time to resurrect the global virtualenv install and not do root installs23:43
ianwmost would probably say it fits right in with devstack/global pip/setuptools workarounds etc. :)23:44
clarkbbut I ran out of steam ttrying to make that work the last time I pushed on it (for the pip cannot unintsall this dependency problem)23:44
fungii think the real problem becomes local installs where the repo needs to be owned by root for devstack to do installs, but otherwise gets operated in by a different account23:45
fungiso probably can't just leave it root-owned23:47
ianwyeah, i wouldn't think too many things would be modifying /opt/devstack/<repo> post install23:48
fungii guess devstack could clone to yet another temporary path, chown that, install from it, and clean it back up23:48
clarkbya post intsall seems very unlikely23:48
clarkbone exception maybe grenade23:48
fungii don't mean in ci jobs23:48
clarkbbut I think we still use two copies of the repo for that rather than doing a checkuot23:48
clarkbfungi: oh right local dev iterations23:49
clarkbso ya we probably do need to switch ownership back or use a temporary shallow clone or something23:49
clarkb(temporary shallow lcone may break pbr though)23:49
fungishallow would, yeah23:49
clarkbfungi: any idea if there are multiple CVEs for this? the one on the ubuntu package update specifically indicates git for windows which may give people the wrong idea23:51
clarkber it indicates that on mitre.org23:51
opendevreviewIan Wienand proposed openstack/devstack master: chown checkout out repos for install to root  https://review.opendev.org/c/openstack/devstack/+/83763623:51
ianw^ that's just something to get started ... not an ending point ....23:51
johnsomhttps://bugs.launchpad.net/devstack/+bug/196879823:52
fungiclarkb: that's the only cve i know about, the git authors used windows examples because everyone uses windows these days23:52
johnsomPlease feel free to add  your $0.0223:52
clarkbfungi: heh ok23:52
clarkbjohnsom: I think that covers it well. Thanks!23:53
johnsom+1 working on an email now23:54
fungiclarkb: i'm guessing it's that they figure windows users need more hand-holding, while *nix users can read between the lines23:54
ianwwhat about group ownership?  if root and stack share a group, and it has permissions, is that sufficient?23:55
clarkbianw: ya will be good to see that change go green indicating we have a sufficient workaround23:55
fungiclarkb: the example was taken from the commit message for the patch, authored by one of the git-for-windows maintainers23:56
clarkbianw: let me hop onto my held machine and try to check that23:56
ianwit calls "is_path_owned_by_current_user"23:57
ianwgit-compat-util.h:#define is_path_owned_by_current_user is_path_owned_by_current_uid23:57
ianwit does a lstat on the path then checks "st.st_uid == geteuid"23:58
ianwso it really is a strict "owned by this user"23:58
ianwi feel like we might be on the leading edge of a lot of general annoyance over this :/23:59
clarkbya usermod -a -G stack root then logging out and back in just to be double sure it applied and checking with groups to confirm then switching back over to stack and running the sudo pip install while the repo is stack:stack owned still fails which confirms your analysis23:59

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