Friday, 2024-07-26

*** bauzas_ is now known as bauzas02:33
fricklerclarkb: iiuc this was the solution https://review.opendev.org/c/openstack/openstack-ansible-tests/+/921434/10..14/test-prepare-keys.yml05:16
noonedeadpunkclarkb: yeah, I did. So we relied on variable ansible_user_id to detect the user. But somehow while running as `zuul` user `ansible_user_id` was still detected as `root`. So ansible_user_id: root while lookup('env', 'USER') was returning zuul06:58
noonedeadpunkkind of weird and smells like some facts cache when they were gathered with become or smth like that... 06:59
noonedeadpunkor I did smth wrong in the patch... but at least I've figured out what's going on07:00
opendevreviewMerged openstack/project-config master: Drop repos with config errors from x/ namespace  https://review.opendev.org/c/openstack/project-config/+/92350909:04
*** bauzas_ is now known as bauzas09:14
*** elodilles_ooo is now known as elodilles12:32
funginoonedeadpunk: zuul does maintain a fact cache for the build so that facts set in one playbook in the build can be referenced by later playbooks in the same build, so maybe yes12:37
*** bauzas_ is now known as bauzas12:40
*** Guest650 is now known as beand12:58
*** bauzas_ is now known as bauzas13:17
*** bauzas_ is now known as bauzas13:42
*** bauzas_ is now known as bauzas14:15
clarkbnoonedeadpunk: that sounds like a fun bug, glad you figured it out15:35
dansmithclarkb: how much work is it to have some opendev-hosted git repo for a thing? I've got a set of good and bad (pretty small) disk images and I want to put them somewhere so we can reference them for testing15:38
clarkbdansmith: its not bad you basically push a change to openstack/project-config to create the project in gerrit. That can seed the repo with existing content and then you push new things to it via typical gerrit review processes15:39
clarkba lot of the extra steps that are needed for things in openstack aren't required in the general case15:39
clarkbhttps://docs.opendev.org/opendev/infra-manual/latest/creators.html this document is quite verbose because it tries to cover all the things but the end result shouldn't be complicated for something like what you describe15:40
dansmithdo you think that's a reasonable thing for a repo of images? the largest one I have is 10MiB because it's a raw, but probably could be trimmed down.. the rest are teensy15:40
clarkbdansmith: assuming these are media images and not disk images then yes. zuul has a media repo with some small stuff in it like that15:42
clarkbin opendev's case we just put them in opendev/system-config along with everything else. but most are svgs so they aren't really binary data15:42
clarkbdansmith: https://opendev.org/zuul/zuul-website-media is the example I'm thinking of15:43
dansmithclarkb: oh sorry I'm talking about sample disk images15:43
dansmiththey're all basically images of blank disks in various formats and variations so no real content15:43
clarkboh I see. Not anything anyone would really be booting, but useful in a testing context. The main concerns I would have with disk imagse are that typically they are binary blobs that people want ot update regularly which is a bad fit for git15:44
clarkbthere may also be concern about shipping what is executable code without source? fungi may have thoughts on that angle specifically.15:45
dansmithwell, in this case I kinda want them versioned even though you can't diff them15:45
clarkbdansmith: ya the problem is more on the git hosting side15:45
clarkbrepos like that balloon15:45
dansmithah okay15:45
dansmithI can just throw them in github, I just figured maybe better to have them in opendev somewhere15:45
clarkbbecause git can't be smart about storage, it basically has to have an entire copy of everythign each time you make a change. Its probably fine if updates are infrequent but if say its a cirros or ubuntu or whatever image that gets updated regularly that can be a problem15:46
fungiyeah, basically git is not a great storage medium for large binary blobs15:47
dansmithno, these have no content, so no real reason to ever change an image unless it's like determined to not be in the format we thought or something like that15:47
fungithough if this is small "broken" images used as test vectors, it's probably not bad15:47
fungithis is pretty common in projects that do input validation checks15:47
clarkbif they are small and only update when there is a bug rather than to keep up with linux development its probably fine15:47
dansmithwell, it is from my perspective of making sure they don't change without us knowing.. a file of hashes could also change, and I could put the file of hashes in git and have them reference files elsewhere, that's just getting more complicated than I want15:48
dansmithand github will work15:48
dansmithcan we just delete the repo without much fanfare if it gets out of hand?15:48
fungie.g. security scanners embedding samples of malware-like files that exercise pattern matches, cryptographic libraries including pre-generated keys, etc15:48
dansmithfungi: right it's kinda like that15:49
dansmithI could also just make the repo a set of scripts to generate the files, it just means that anyone testing them have to have the tooling required to do that (i.e. not great for a tempest run that just wants to point to them via url"15:49
fungii wouldn't have any problem with it. assuming they're custom made and not taken from somewhere else, just put them under an ultra-permissive license like pd or cc015:49
dansmithbut doable15:50
dansmithmost of them are just from qemu-img create with various options15:50
fungicontent licenses for files like that should be fine since they're not really source code15:50
fungiand no need to host them on github in my opinion, could just include them in oslo or in a separate repo under the oslo team if preferable15:51
fricklerdo you need to hand craft the images or could git contain just the code to generate them? then we could publish the results as build artefacts15:51
dansmithmeh, I think putting them into oslo is less good... especially if it adds heft to people cloning that repo or the repo itself15:51
fungithat's a good point too, a publication step could just push them to tarballs.o.o or something too if that's preferable15:52
clarkbya I was under the impression they were real images, but I agree for these more static less executable as a bootable unit things this seems far less problematic15:52
dansmithfrickler: that's what I mentioned above.. some of them have to be hand-crafted, although I can script anything my fingers can do of course, so I could go that way, it's just less helpful for test scenarios that just want a url they can point to15:52
dansmithclarkb: no there's not any content in any of them really15:52
clarkbthe upside to using a separate repo is that you can rewrite the git history more easily15:52
dansmiththey're images of a blank disk in multiple formats15:52
clarkbwhich can be useful when dealing with binary artifacts15:52
clarkbdansmith: ack then ya I think that should probably be fine under both of the concerns I listed previously15:53
dansmithlet me try to just script all their creation and see how that goes15:53
dansmithis there some place we could just manually push image binaries to that get created from this script so they're curl'able?15:53
fungiscripting does make it a little easier for others to reproduce and confirm they're what they claim to be, but i wouldn't consider lack of scripted routine for them as a show-stopper either15:54
dansmithfungi: yeah, I was going to document the creation but code is obviously nice15:54
dansmithI'll just have to see how annoying it gets. the only way I've found a vmdk with a stream footer is with an actual image from vmware, but I did hack it up in a unit test already15:55
fungiwe could stick them in afs, so they're served from static.o.o or any of the sites it hosts, but really that's just what a publication job in zuul would do too15:55
dansmithI dunno if vmware would actually eat that image though15:55
dansmithokay well, let me work on the script and we'll see from there15:55
fungialso publishing them that way would be possible regardless of whether they're checked directly into the repo or generated by the publication job on the fly, you could even have a mix of both if you needed15:56
dansmithyeah, if that's doable then generating on publish would be fine15:56
fungiso maybe for some images that are easy to reproduce programmatically you do that, and check the others in that need hand-massaging15:56
dansmithack15:56
clarkboh ya hosting on afs like tarballs and docs etc work work if you can script the generation of the artifacts15:57
fungiand even if you can't script some of them, the publish job can just upload those blobs directly from the checked-out worktree too15:57
*** dasm is now known as Guest132116:07
opendevreviewClark Boylan proposed openstack/project-config master: Set linaro cloud's max servers to 0  https://review.opendev.org/c/openstack/project-config/+/92502916:38
opendevreviewCarlos Eduardo proposed openstack/project-config master: Implement manila-unmaintained-core group  https://review.opendev.org/c/openstack/project-config/+/92443018:05
dansmithclarkb: fungi: so is x/os-test-images appropriate in gerrit/projects?18:34
fungidansmith: any way it could be governed by an openstack project team, like oslo or glance? then it could go in openstack/ instead. the x/ namespace was really just a convention we used for the repos formerly in openstack/ that weren't claimed by openstack project governance and whose maintainers didn't get back to us when asked what new namespace(s) they wanted created, but if this is18:44
fungigoing to be something that's not just used by openstack we could pick a new namespace to group it and any similar efforts under. but the name implies it's for openstack, so would be better to just make it part of openstack officially18:44
dansmithit would be fine with me to call it a glance thing, and I think that'd be appropriate18:45
fungiwe've been trying to avoid new additions to x/ because just having a random dumping ground for unclaimed projects isn't great18:45
dansmithhowever I guess that needs some buy-in from the ptl yeah?18:45
fungiyeah, but you could propose the addition starting there. a +1 from the glance ptl or glance infra liaison would suffice18:46
dansmithokay sounds good18:46
fungiproject creation and the corresponding governance change can happen in parallel18:46
dansmithand then I can re-use glance-core I suppose18:46
dansmithhow much governance change is required?18:46
dansmithI just don't want to generate paperwork for people for what likely will see very little change over the years...18:46
dansmith(undue amounts of paperwork I mean)18:47
dansmithand presumably the release cadence for this can be whenever-we-damn-well-please yeah?18:47
fungijust a one-liner adding it to the glance section of the reference/projects.yaml in openstack/governance i think. repo additions fall under house rules for fast approval with no majority required18:47
dansmithokay18:47
fungii'm pretty sure if it's independently (or never) released you don't need to add anything to openstack/releases18:48
dansmithwell, whatever we need to do to run the generate script and push the files out to afs or whatever you guys said above :)18:49
dansmithso skimming that extensive doc, it seems like if I'm adding under glance and re-using glance-core, I just need the few lines of the project in there, with name,desc and the glance-core acl is that right?18:51
dansmithand then I can let it create an empty repo and then clone and populate it myself? There's no useful history so far to import since I just wrote the generate script in the last few hours18:52
fungirunning the publish job can just be done each time a change merges to the repo, no need for git tags unless you want them for explicit repo versioning purposes18:57
dansmithexcellent18:57
fungitechnically the typical pattern for something like this would involve two jobs, one that builds the files and/or tests them in check and gate pipelines, then one that runs in the post pipeline to copy the resulting files generated from the gate pipeline build into afs for publication. that gives you the ability to do things like acceptance testing, exercising them with image-inspector19:04
fungior even devstack/tempest to avoid having a change in the test data break common jobs19:04
fungier, runs in the promote pipeline i mean, not post pipeline19:04
fungimore or less the same, just promote works based on changes merged rather than branch state updates19:04
fungibut promote pipeline builds give us the ability to easily tie back to the corresponding gate pipeline builds which preceded them19:05
fungiso that you don't wind up building things twice19:05
fungithis is, for example, how our docs publishing jobs work. actual docs built in gate, then archived as temporary artifacts which promote pipeline jobs copy into afs for publication if the change successfully merges19:06
dansmithyeah making them be re-generated on check is a good idea for sure19:08
dansmithgenerated and thrown away I mean, and published on gate or whatever19:08
opendevreviewDan Smith proposed openstack/project-config master: Add openstack/os-test-images project under glance  https://review.opendev.org/c/openstack/project-config/+/92504319:09
opendevreviewDan Smith proposed openstack/project-config master: Add openstack/os-test-images project under glance  https://review.opendev.org/c/openstack/project-config/+/92504319:12
dansmithfungi: I didn't add tags: per the instructions since I didn't see those anywhere else in the file.. perhaps that has changed and the doc needs updating?19:13
fungidansmith: probably yes, governance tags haven't been a thing for a while now i think19:21
dansmithThe tl;dr from the earlier convo is that I've got a small generator script that reads a yaml manifest of instructions to create all the images19:25
dansmithaside from a little bit of python for one very complex one it's mostly qemu-img and dd commands19:25
dansmithand it can generate a json file or something that can be published next to the actual images to make it easy for tests to see what all images are available19:26
fungisounds awesome19:41
dansmithfungi: the -1 I'm getting on governance.. is that expected until the project-config patch merges?20:08
fungidansmith: yes, i believe there is a governance check job that tests whether the repository exists, so basically the sequence will be we merge the project-config change and then once the deploy job for that completes recheck the governance change20:09
dansmithyeah I wasn't sure if the depends-on should be accounting for that or not, but that's what's failing, so I assume not20:09
fungiright, because it doesn't just depend on the change merging, but actually being deployed to production20:10
dansmithoh, I messed up the depends-on anyway!20:10
opendevreviewDan Smith proposed openstack/project-config master: Add openstack/os-test-images project under glance  https://review.opendev.org/c/openstack/project-config/+/92504321:05
*** bauzas_ is now known as bauzas21:11
opendevreviewClark Boylan proposed openstack/project-config master: Use the osuosl mirror for deb packages in image builds  https://review.opendev.org/c/openstack/project-config/+/92504822:00
opendevreviewClark Boylan proposed openstack/project-config master: Remove labels and diskimages from the linaro cloud  https://review.opendev.org/c/openstack/project-config/+/92504922:00
opendevreviewClark Boylan proposed openstack/project-config master: Remove linaro cloud from Nodepool  https://review.opendev.org/c/openstack/project-config/+/92505022:00
opendevreviewMerged openstack/project-config master: Implement manila-unmaintained-core group  https://review.opendev.org/c/openstack/project-config/+/92443022:52

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