Skip to content

Conversation

@soltysh
Copy link
Contributor

@soltysh soltysh commented Apr 11, 2022

/assign @ricardomaraschini @deejross

@openshift-ci openshift-ci bot added the approved Indicates a PR has been approved by an approver from all required OWNERS files. label Apr 11, 2022
Comment on lines 281 to 346
return fmt.Errorf("unable to parse image %s: %v", from, err)
// return fmt.Errorf("unable to parse image %s: %v", from, err)
return err

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Did you forget to remove or un-comment this line?

repo distribution.Repository, srcManifest distribution.Manifest, manifestLocation imagemanifest.ManifestLocation,
toRepo distribution.Repository, toManifests distribution.ManifestService) error {
// process manifestlist
// oldDigest:newDigest mappging so that we can create a new manifestlist
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

small typo here on mapping

newDigests := make(map[digest.Digest]digest.Digest)
manifestMap, oldList, _, err := imagemanifest.AllManifests(ctx, from.Ref, repo)
for digest, srcManifest := range manifestMap {
err = o.append(ctx, createdAt, from, to, repo, srcManifest, manifestLocation, toRepo, toManifests)
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Regarding the to argument here: IIUC it points to an image by tag and, as a consequence, each time we call append() the tag latest will be updated remotely to point to a single manifest (i.e. it will overwrite the previous manifest list reference with a reference to a single manifest).

Shouldn't to be updated to point to an image by sha before calling append() ? If we could do that then we would assure we would not stomp with the remote tag until the very last moment (when we upload the new manifest list).

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Good point, lemme try to figure something out.

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The caller needs to define if we should push a tag or not, which can be skipped in PutManifestInCompatibleSchema so I went with a boolean passed to append which tells if tag should or not be skipped, which I set in appendManifestlList.

Copy link
Contributor

@ricardomaraschini ricardomaraschini left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

/lgtm

@openshift-ci openshift-ci bot added the lgtm Indicates that a PR is ready to be merged. label Apr 14, 2022
@openshift-ci
Copy link
Contributor

openshift-ci bot commented Apr 14, 2022

[APPROVALNOTIFIER] This PR is APPROVED

This pull-request has been approved by: ricardomaraschini, soltysh

The full list of commands accepted by this bot can be found here.

The pull request process is described here

Details Needs approval from an approver in each of these files:

Approvers can indicate their approval by writing /approve in a comment
Approvers can cancel approval by writing /approve cancel in a comment

@openshift-bot
Copy link
Contributor

/retest-required

Please review the full test history for this PR and help us cut down flakes.

1 similar comment
@openshift-bot
Copy link
Contributor

/retest-required

Please review the full test history for this PR and help us cut down flakes.

@openshift-ci
Copy link
Contributor

openshift-ci bot commented Apr 14, 2022

@soltysh: The following test failed, say /retest to rerun all failed tests or /retest-required to rerun all mandatory failed tests:

Test name Commit Details Required Rerun command
ci/prow/e2e-metal-ipi-ovn-ipv6 d9fa2a8 link false /test e2e-metal-ipi-ovn-ipv6

Full PR test history. Your PR dashboard.

Details

Instructions for interacting with me using PR comments are available here. If you have questions or suggestions related to my behavior, please file an issue against the kubernetes/test-infra repository. I understand the commands that are listed here.

@openshift-merge-robot openshift-merge-robot merged commit 1b0e16c into openshift:master Apr 14, 2022
@soltysh soltysh deleted the wrklds-370 branch April 14, 2022 17:13
wking added a commit to wking/oc that referenced this pull request Aug 29, 2025
…mmits

Originally, the change-log generation focused on merge commits, which
are common in many repositories.  For example, in this 'oc' repository:

  $ git log --graph --oneline -10
  *   559c67e (HEAD -> main, origin/main) Merge pull request openshift#2083 from wking/oc-adm-upgrade-recommend-certificate-authority
  |\
  | * b98b2e1 pkg/cli/admin/inspectalerts: Pass through --certificate-authority, etc.
  * |   e7900fe Merge pull request openshift#2082 from ardaguclu/code-rabbit-test
  |\ \
  | |/
  |/|
  | * ffe752e Remove mentioning about IRC channel from README
  * | f114b17 OTA-1581: Promote `oc adm upgrade status` to general availability (openshift#2063)
  * |   1c54ec0 Merge pull request openshift#2077 from hongkailiu/OTA-1601
  |\ \
  | * | 5f1dbb8 Move not-lines-related table.Write out of the loop
  | * | a352662 Truncate long reasons
  | * | 11f9f47 Reproduce the long reason issue
  | * | 970f883 status: improve line break handling for CO Message

4299014 (Add squash-merge support into oc adm release info,
2022-04-26, openshift#1116), and mentioned the insights operator:

  $ git clone --depth 10 --branch master https://github.com/openshift/insights-operator
  $ cd insights-operator
  $ git log --graph --oneline -5
  * da45333 (HEAD -> master, origin/master, origin/HEAD) OCPBUGS-60611: virt launcher logs gatherer (openshift#1110)
  * 737b59b fix: incorrect anonymization of domains (openshift#1111)
  * b5185da feat: add permissions to gather clusterrole (openshift#1106)
  * 3099eb0 feat: Allow on-demand gathering during initial periodic run (openshift#1109)
  * 7f8b40d RFE-4152: Add missing readonlyRootFilesystem (openshift#1104)

But some repositories also use a mixture of real merges and squash or
rebase merges:

  $ git clone --depth 20 --branch main https://github.com/openshift/operator-framework-operator-controller
  $ cd operator-framework-operator-controller
  $ git log --graph --oneline -11
  * 9319f22a (HEAD -> main, origin/main, origin/HEAD) UPSTREAM: <carry>: Ensure unique name for bad-catalog tests
  * 9b50498a UPSTREAM: <carry>: Adds ResourceVersion checks to the tls secret deletion test, mirroring the logic used in the certificate rotation test. This makes the test more robust by ensuring a new secret is created, not just that an existing one is still present.
  * 2ed1a5c8 UPSTREAM: <carry>: Migrate single/own namespace tests
  * 0c4f4303 UPSTREAM: <carry>: [OTE] add catalog tests from openshift/origin
  * 28299f38 UPSTREAM: <carry>: remove obsolete owners
  * 5aa7897f UPSTREAM: <carry>: [OTE] - Readme:Add info to help use payload-aggregate with new tests
  * 0bb19537 UPSTREAM: <carry>: Adds ResourceVersion checks to the tls secret deletion test, mirroring the logic used in the certificate rotation test. This makes the test more robust by ensuring a new secret is created, not just that an existing one is still present.
  * e9e3220f UPSTREAM: <carry>: [OTE] Add webhook to validate openshift-service-ca certificate rotation
  *   a7d35272 Merge pull request openshift#453 from openshift-bot/synchronize-upstream
  |\
  | * d93f9d16 UPSTREAM: <drop>: configure the commit-checker
  | * 9a69e8ed UPSTREAM: <drop>: remove upstream GitHub configuration

Before this commit, the logic would find the merge commits, assume
that all content came in via merge commits, and not mention the other
changes:

  $ git log --first-parent --merges --oneline
  a7d3527 Merge pull request openshift#453 from openshift-bot/synchronize-upstream
  4cae159 Merge pull request openshift#449 from openshift-bot/synchronize-upstream
  82f63dc Merge pull request openshift#444 from openshift-bot/synchronize-upstream
  6f91d84 Merge pull request openshift#435 from openshift-bot/synchronize-upstream

With this commit, we'll continue to include a line for each of those
merges.  But we'll also include the count of any elided, non-merge,
first-parent commits:

  $ git log --first-parent --no-merges --oneline | wc -l
  16

Folks interested in what exactly was elided will have to click through
to 'Full changelog' or otherwise go digging.  But at least they'll get
the count of elided commits to know that there is more information
there to see behind that click.
wking added a commit to wking/oc that referenced this pull request Aug 29, 2025
…mmits

Originally, the change-log generation focused on merge commits, which
are common in many repositories.  For example, in this 'oc' repository:

  $ git log --graph --oneline -10
  *   559c67e (HEAD -> main, origin/main) Merge pull request openshift#2083 from wking/oc-adm-upgrade-recommend-certificate-authority
  |\
  | * b98b2e1 pkg/cli/admin/inspectalerts: Pass through --certificate-authority, etc.
  * |   e7900fe Merge pull request openshift#2082 from ardaguclu/code-rabbit-test
  |\ \
  | |/
  |/|
  | * ffe752e Remove mentioning about IRC channel from README
  * | f114b17 OTA-1581: Promote `oc adm upgrade status` to general availability (openshift#2063)
  * |   1c54ec0 Merge pull request openshift#2077 from hongkailiu/OTA-1601
  |\ \
  | * | 5f1dbb8 Move not-lines-related table.Write out of the loop
  | * | a352662 Truncate long reasons
  | * | 11f9f47 Reproduce the long reason issue
  | * | 970f883 status: improve line break handling for CO Message

4299014 (Add squash-merge support into oc adm release info,
2022-04-26, openshift#1116), and mentioned the insights operator:

  $ git clone --depth 10 --branch master https://github.com/openshift/insights-operator
  $ cd insights-operator
  $ git log --graph --oneline -5
  * da45333 (HEAD -> master, origin/master, origin/HEAD) OCPBUGS-60611: virt launcher logs gatherer (openshift#1110)
  * 737b59b fix: incorrect anonymization of domains (openshift#1111)
  * b5185da feat: add permissions to gather clusterrole (openshift#1106)
  * 3099eb0 feat: Allow on-demand gathering during initial periodic run (openshift#1109)
  * 7f8b40d RFE-4152: Add missing readonlyRootFilesystem (openshift#1104)

But some repositories also use a mixture of real merges and squash or
rebase merges:

  $ git clone --depth 20 --branch main https://github.com/openshift/operator-framework-operator-controller
  $ cd operator-framework-operator-controller
  $ git log --graph --oneline -11
  * 9319f22a (HEAD -> main, origin/main, origin/HEAD) UPSTREAM: <carry>: Ensure unique name for bad-catalog tests
  * 9b50498a UPSTREAM: <carry>: Adds ResourceVersion checks to the tls secret deletion test, mirroring the logic used in the certificate rotation test. This makes the test more robust by ensuring a new secret is created, not just that an existing one is still present.
  * 2ed1a5c8 UPSTREAM: <carry>: Migrate single/own namespace tests
  * 0c4f4303 UPSTREAM: <carry>: [OTE] add catalog tests from openshift/origin
  * 28299f38 UPSTREAM: <carry>: remove obsolete owners
  * 5aa7897f UPSTREAM: <carry>: [OTE] - Readme:Add info to help use payload-aggregate with new tests
  * 0bb19537 UPSTREAM: <carry>: Adds ResourceVersion checks to the tls secret deletion test, mirroring the logic used in the certificate rotation test. This makes the test more robust by ensuring a new secret is created, not just that an existing one is still present.
  * e9e3220f UPSTREAM: <carry>: [OTE] Add webhook to validate openshift-service-ca certificate rotation
  *   a7d35272 Merge pull request openshift#453 from openshift-bot/synchronize-upstream
  |\
  | * d93f9d16 UPSTREAM: <drop>: configure the commit-checker
  | * 9a69e8ed UPSTREAM: <drop>: remove upstream GitHub configuration

Before this commit, the logic would find the merge commits, assume
that all content came in via merge commits, and not mention the other
changes:

  $ git log --first-parent --merges --oneline
  a7d3527 Merge pull request openshift#453 from openshift-bot/synchronize-upstream
  4cae159 Merge pull request openshift#449 from openshift-bot/synchronize-upstream
  82f63dc Merge pull request openshift#444 from openshift-bot/synchronize-upstream
  6f91d84 Merge pull request openshift#435 from openshift-bot/synchronize-upstream

With this commit, we'll continue to include a line for each of those
merges.  But we'll also include the count of any elided, non-merge,
first-parent commits:

  $ git log --first-parent --no-merges --oneline | wc -l
  16

Folks interested in what exactly was elided will have to click through
to 'Full changelog' or otherwise go digging.  But at least they'll get
the count of elided commits to know that there is more information
there to see behind that click.
wking added a commit to wking/oc that referenced this pull request Aug 29, 2025
…mmits

Originally, the change-log generation focused on merge commits, which
are common in many repositories.  For example, in this 'oc' repository:

  $ git log --graph --oneline -10
  *   559c67e (HEAD -> main, origin/main) Merge pull request openshift#2083 from wking/oc-adm-upgrade-recommend-certificate-authority
  |\
  | * b98b2e1 pkg/cli/admin/inspectalerts: Pass through --certificate-authority, etc.
  * |   e7900fe Merge pull request openshift#2082 from ardaguclu/code-rabbit-test
  |\ \
  | |/
  |/|
  | * ffe752e Remove mentioning about IRC channel from README
  * | f114b17 OTA-1581: Promote `oc adm upgrade status` to general availability (openshift#2063)
  * |   1c54ec0 Merge pull request openshift#2077 from hongkailiu/OTA-1601
  |\ \
  | * | 5f1dbb8 Move not-lines-related table.Write out of the loop
  | * | a352662 Truncate long reasons
  | * | 11f9f47 Reproduce the long reason issue
  | * | 970f883 status: improve line break handling for CO Message

4299014 (Add squash-merge support into oc adm release info,
2022-04-26, openshift#1116), and mentioned the insights operator:

  $ git clone --depth 10 --branch master https://github.com/openshift/insights-operator
  $ cd insights-operator
  $ git log --graph --oneline -5
  * da45333 (HEAD -> master, origin/master, origin/HEAD) OCPBUGS-60611: virt launcher logs gatherer (openshift#1110)
  * 737b59b fix: incorrect anonymization of domains (openshift#1111)
  * b5185da feat: add permissions to gather clusterrole (openshift#1106)
  * 3099eb0 feat: Allow on-demand gathering during initial periodic run (openshift#1109)
  * 7f8b40d RFE-4152: Add missing readonlyRootFilesystem (openshift#1104)

But some repositories also use a mixture of real merges and squash or
rebase merges:

  $ git clone --depth 20 --branch main https://github.com/openshift/operator-framework-operator-controller
  $ cd operator-framework-operator-controller
  $ git log --graph --oneline -11
  * 9319f22a (HEAD -> main, origin/main, origin/HEAD) UPSTREAM: <carry>: Ensure unique name for bad-catalog tests
  * 9b50498a UPSTREAM: <carry>: Adds ResourceVersion checks to the tls secret deletion test, mirroring the logic used in the certificate rotation test. This makes the test more robust by ensuring a new secret is created, not just that an existing one is still present.
  * 2ed1a5c8 UPSTREAM: <carry>: Migrate single/own namespace tests
  * 0c4f4303 UPSTREAM: <carry>: [OTE] add catalog tests from openshift/origin
  * 28299f38 UPSTREAM: <carry>: remove obsolete owners
  * 5aa7897f UPSTREAM: <carry>: [OTE] - Readme:Add info to help use payload-aggregate with new tests
  * 0bb19537 UPSTREAM: <carry>: Adds ResourceVersion checks to the tls secret deletion test, mirroring the logic used in the certificate rotation test. This makes the test more robust by ensuring a new secret is created, not just that an existing one is still present.
  * e9e3220f UPSTREAM: <carry>: [OTE] Add webhook to validate openshift-service-ca certificate rotation
  *   a7d35272 Merge pull request openshift#453 from openshift-bot/synchronize-upstream
  |\
  | * d93f9d16 UPSTREAM: <drop>: configure the commit-checker
  | * 9a69e8ed UPSTREAM: <drop>: remove upstream GitHub configuration

Before this commit, the logic would find the merge commits, assume
that all content came in via merge commits, and not mention the other
changes:

  $ git log --first-parent --merges --oneline
  a7d3527 Merge pull request openshift#453 from openshift-bot/synchronize-upstream
  4cae159 Merge pull request openshift#449 from openshift-bot/synchronize-upstream
  82f63dc Merge pull request openshift#444 from openshift-bot/synchronize-upstream
  6f91d84 Merge pull request openshift#435 from openshift-bot/synchronize-upstream

With this commit, we'll continue to include a line for each of those
merges.  But we'll also include the count of any elided, non-merge,
first-parent commits:

  $ git log --first-parent --no-merges --oneline | wc -l
  16

Folks interested in what exactly was elided will have to click through
to 'Full changelog' or otherwise go digging.  But at least they'll get
the count of elided commits to know that there is more information
there to see behind that click.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

approved Indicates a PR has been approved by an approver from all required OWNERS files. lgtm Indicates that a PR is ready to be merged.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

5 participants