-
Notifications
You must be signed in to change notification settings - Fork 26
ART-3050: full assembly awareness for plashet from-tags #439
ART-3050: full assembly awareness for plashet from-tags #439
Conversation
23f35a0
to
95ddf47
Compare
95ddf47
to
47ee1f1
Compare
Nice catch. I think this is a failing of the schema. I've changed the hackmd to use: dependencies:
rpms:
- el7: <nvr>
- el8: <nr>
- el9: <entries like this are not too far in the future> This should allow you to find only NVRs relevant to the repo's RHEL version. I've also changed the schema for is:
el7: <nvr>
el8: <nvr>
For pinning image components, is:
nvr: <nvr> Let me know what you think.
I agree, but I would consider it deep human error and not something I would worry too much about defending against.
Perfect.
Great. Perfect place to rely on Runtime. |
When an artist is trying to refine an assembly with a basis event, existing assembly-specific builds for that assembly are not canonically part of the assembly until the artist pins then in the assembly metadata with "is". It follows that plashet should honor "is" when set for RPMs in the assembly metadata when constructing a repo. Another change in behavior is that plashet should honor group "dependencies" defined in the assembly configuration. 431 takes care of determining what a group configuration should look like in light of a given assembly name on the command line. Unlike normal group.yml, assembly group definitions in releases.yml can add "dependencies" to the loaded models.
47ee1f1
to
5b55f91
Compare
568bf33
to
4024b40
Compare
@jupierce I've addressed all issues you mentioned. Please have a look again. |
Co-authored-by: Justin Pierce <jupierce@redhat.com>
4024b40
to
0dd7a31
Compare
e501239
to
dc68686
Compare
@jupierce I pushed another commit to extract some logic in |
dc68686
to
ba974b0
Compare
So that future development can reuse it. Also limit the NVRs for signing to builds from tags and those pinned by "is", because we are not able to sign non-OCP RPMs, which should already be signed.
ba974b0
to
f17fdf3
Compare
Build #11
|
Merging so that future development can base on this. |
58c406f [ART-3093] Allow assemblies to specify machine-os-content in gen-payload (#460) beea167 Fix error message (#461) 6b7c51c Replace mojo links with The Source (#459) 5d71b80 Update doozerlib/plashet.py d8f0956 Update doozerlib/plashet.py 2568f67 Address unittest failures 4c72f79 [ART-2687] Expose brew event and brew tag to modification scripts 03fb7a7 Allow gen-payload to honor metadata.is d75c8e5 package_name instead of component_name 70271e6 Fix golang image build e9e24fc Allow --repo to take precedence over --repo-type defaults (#452) fd94360 Add additional event-safe methods for koji 0b3ccb0 ART-3050: add plashet from-tags --rhcos 395d222 [ART-3075] Add plashet subverb "for-assembly" (#449) ef4392e ART-3050: full assembly awareness for plashet from-tags (#439) 537043b Test dependency accumulation 0617168 Ensure inherited member list entries can contribute metadata 2efccc2 Open PRs for base images 417bd11 Fix method docs 6aadeb2 ART-3034: Implement doozer images:rebase --force-yum-updates (#428) 2009bd8 Testing fixes 89d2cad fix multiple-default click option error 345f848 Fix version extraction 1834dc3 A bit more bundle doc f89b434 Randomize assignee to avoid bugging approver[0] bc08bbb Lock parent images to assembly basis e6ff58f Code to merge image/rpm metadata with assembly overrides
58c406f [ART-3093] Allow assemblies to specify machine-os-content in gen-payload (#460) beea167 Fix error message (#461) 6b7c51c Replace mojo links with The Source (#459) 5d71b80 Update doozerlib/plashet.py d8f0956 Update doozerlib/plashet.py 2568f67 Address unittest failures 4c72f79 [ART-2687] Expose brew event and brew tag to modification scripts 03fb7a7 Allow gen-payload to honor metadata.is d75c8e5 package_name instead of component_name 70271e6 Fix golang image build e9e24fc Allow --repo to take precedence over --repo-type defaults (#452) fd94360 Add additional event-safe methods for koji 0b3ccb0 ART-3050: add plashet from-tags --rhcos 395d222 [ART-3075] Add plashet subverb "for-assembly" (#449) ef4392e ART-3050: full assembly awareness for plashet from-tags (#439) 537043b Test dependency accumulation 0617168 Ensure inherited member list entries can contribute metadata 2efccc2 Open PRs for base images 417bd11 Fix method docs 6aadeb2 ART-3034: Implement doozer images:rebase --force-yum-updates (#428) 2009bd8 Testing fixes 89d2cad fix multiple-default click option error 345f848 Fix version extraction 1834dc3 A bit more bundle doc f89b434 Randomize assignee to avoid bugging approver[0] bc08bbb Lock parent images to assembly basis e6ff58f Code to merge image/rpm metadata with assembly overrides
58c406f [ART-3093] Allow assemblies to specify machine-os-content in gen-payload (#460) beea167 Fix error message (#461) 6b7c51c Replace mojo links with The Source (#459) 5d71b80 Update doozerlib/plashet.py d8f0956 Update doozerlib/plashet.py 2568f67 Address unittest failures 4c72f79 [ART-2687] Expose brew event and brew tag to modification scripts 03fb7a7 Allow gen-payload to honor metadata.is d75c8e5 package_name instead of component_name 70271e6 Fix golang image build e9e24fc Allow --repo to take precedence over --repo-type defaults (#452) fd94360 Add additional event-safe methods for koji 0b3ccb0 ART-3050: add plashet from-tags --rhcos 395d222 [ART-3075] Add plashet subverb "for-assembly" (#449) ef4392e ART-3050: full assembly awareness for plashet from-tags (#439) 537043b Test dependency accumulation 0617168 Ensure inherited member list entries can contribute metadata 2efccc2 Open PRs for base images 417bd11 Fix method docs 6aadeb2 ART-3034: Implement doozer images:rebase --force-yum-updates (#428) 2009bd8 Testing fixes 89d2cad fix multiple-default click option error 345f848 Fix version extraction 1834dc3 A bit more bundle doc f89b434 Randomize assignee to avoid bugging approver[0] bc08bbb Lock parent images to assembly basis e6ff58f Code to merge image/rpm metadata with assembly overrides
When an artist is trying to refine an assembly with a basis event, existing assembly-specific builds for that assembly are not canonically part of the assembly until the artist pins then in the assembly metadata with "is". It follows that plashet should honor "is" when set for RPMs in the assembly metadata when constructing a repo.
Another change in behavior is that plashet should honor group "dependencies" defined in the assembly configuration. 431 takes care of determining what a group configuration should look like in light of a given assembly name on the command line. Unlike normal group.yml, assembly group definitions in releases.yml can add "dependencies" to the loaded models.
NOTE:
assembly_metadata_config()
--brew-event
command line argument fromfrom-tags
subverb since we need to honor the event id defined in the basis.releases.yml
for testing: