Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Bug 1829832: support mirroring for index images #438

Merged
merged 2 commits into from May 27, 2020

Conversation

ecordell
Copy link
Contributor

@ecordell ecordell commented May 26, 2020

oc adm catalog mirror initially targeted "registry images" built via oc adm catalog build.

Newer opm tooling creates index images with slight differences. This PR accounts for them in two ways:

  • The database folder has always been configurable, but the database name was hardcoded to bundles.db. The first commit removes the hardcoding, so index images could be supported via the --path flag.
  • mirror now detects the "index label", if present, and uses that to find the database in the image. --path takes precedence, if present.

prior to this commit, it was assumed that the database file has the name
bundles.db in the designated folder.

newer index images use a label to indicate location and default to
/database/index.db, which required a two-step workaround to mirror with
oc adm catalog mirror.

after this change, oc adm catalog mirror with the flag
 `--path="/database/index.db:./"` will work as expected for non-standard
db locations.
index images come with a label indicating where in the image the db file
can be found.

this commit checks for the label before attempting to extract the db

if an explicit path is provided, it is preferred to the label value
@openshift-ci-robot openshift-ci-robot added the bugzilla/severity-high Referenced Bugzilla bug's severity is high for the branch this PR is targeting. label May 26, 2020
@openshift-ci-robot
Copy link

@ecordell: This pull request references Bugzilla bug 1829832, which is valid. The bug has been moved to the POST state. The bug has been updated to refer to the pull request using the external bug tracker.

3 validation(s) were run on this bug
  • bug is open, matching expected state (open)
  • bug target release (4.5.0) matches configured target release for branch (4.5.0)
  • bug is in the state ASSIGNED, which is one of the valid states (NEW, ASSIGNED, ON_DEV, POST, POST)

In response to this:

Bug 1829832: support mirroring for index images

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.

@openshift-ci-robot openshift-ci-robot added the bugzilla/valid-bug Indicates that a referenced Bugzilla bug is valid for the branch this PR is targeting. label May 26, 2020
@openshift-ci-robot
Copy link

@ecordell: This pull request references Bugzilla bug 1829832, which is valid.

3 validation(s) were run on this bug
  • bug is open, matching expected state (open)
  • bug target release (4.5.0) matches configured target release for branch (4.5.0)
  • bug is in the state POST, which is one of the valid states (NEW, ASSIGNED, ON_DEV, POST, POST)

In response to this:

Bug 1829832: support mirroring for index images

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.

Copy link
Member

@soltysh soltysh left a comment

Choose a reason for hiding this comment

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

One question, but overall good.
/lgtm
/approve

if info.IsDir() {
return nil
}
if _, err := sqlittle.Open(path); err == nil {
Copy link
Member

Choose a reason for hiding this comment

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

Is it possible that more than one valid sqlite database file will be present there?

Copy link
Contributor Author

Choose a reason for hiding this comment

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

Possible but unlikely (no tooling for building these images will do it) - but if that's the case, the output will indicate which one was picked, and if it's not the one you wanted you can override with --path

@openshift-ci-robot openshift-ci-robot added the lgtm Indicates that a PR is ready to be merged. label May 27, 2020
@openshift-ci-robot
Copy link

[APPROVALNOTIFIER] This PR is APPROVED

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

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

The pull request process is described here

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-ci-robot openshift-ci-robot added the approved Indicates a PR has been approved by an approver from all required OWNERS files. label May 27, 2020
@openshift-bot
Copy link
Contributor

/retest

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

1 similar comment
@openshift-bot
Copy link
Contributor

/retest

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

@openshift-merge-robot openshift-merge-robot merged commit 06cc74b into openshift:master May 27, 2020
@openshift-ci-robot
Copy link

@ecordell: All pull requests linked via external trackers have merged: openshift/oc#438. Bugzilla bug 1829832 has been moved to the MODIFIED state.

In response to this:

Bug 1829832: support mirroring for index images

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.

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. bugzilla/severity-high Referenced Bugzilla bug's severity is high for the branch this PR is targeting. bugzilla/valid-bug Indicates that a referenced Bugzilla bug is valid for the branch this PR is targeting. lgtm Indicates that a PR is ready to be merged.
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

5 participants