Skip to content

Conversation

@smarterclayton
Copy link
Contributor

We want release payloads to be directories that kubectl create -f DIR
would be equivalent to keep CVO to remain a simple operator. Explicitly
ignore those files.

Change the cincinnati payload name to its new location release-metadata

Add a test case to verify payload loading. To make testing easier, change
the value structs to have public members.

Blocks openshift/origin#21569 which changes to
write release-metadata, which was being interpreted by CVO as an object
to apply.

@openshift-ci-robot openshift-ci-robot added approved Indicates a PR has been approved by an approver from all required OWNERS files. size/L Denotes a PR that changes 100-499 lines, ignoring generated files. labels Dec 1, 2018
@smarterclayton
Copy link
Contributor Author

/assign @abhinavdahiya

We want release payloads to be directories that `kubectl create -f DIR`
would be equivalent to keep CVO to remain a simple operator. Explicitly
ignore those files.

Add a test case to verify payload loading. To make testing easier, change
the value structs to have public members.
@smarterclayton
Copy link
Contributor Author

/retest

@abhinavdahiya
Copy link
Contributor

/lgtm

@openshift-ci-robot openshift-ci-robot added the lgtm Indicates that a PR is ready to be merged. label Dec 3, 2018
@openshift-ci-robot
Copy link
Contributor

[APPROVALNOTIFIER] This PR is APPROVED

This pull-request has been approved by: abhinavdahiya, smarterclayton

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:
  • OWNERS [abhinavdahiya,smarterclayton]

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

@openshift-merge-robot openshift-merge-robot merged commit 6a7afb8 into openshift:master Dec 3, 2018
wking added a commit to wking/cluster-version-operator that referenced this pull request Jan 24, 2019
Catching up with
openshift/cluster-openshift-apiserver-operator@5a15f36e (move
openshift apiserver later in CVO payload, 2019-01-21,
openshift/cluster-openshift-apiserver-operator#121) moving to 61,
openshift/machine-config-operator@4dd8b917 (mco/install: update mco
run level to 30, 2019-01-21, openshift/machine-config-operator#331),
and operator-framework/operator-lifecycle-manager@f0e86b8c
(chore(deploy): change 30 prefix to 50, 2019-01-21,
operator-framework/operator-lifecycle-manager#678).  I'm not
personally clear on the reasoning; I'd have expected the OLM entries
to belong at the end of the queue, since they seem less central than
the OpenShift core operators.

The Machine API and autoapprover entries had been added to the end of
the queue in dcab5e4 (payload: Ignore files without yaml, yml, or
json extensions, 2018-12-01, openshift#64), but I don't see any discussion of
that placement there.

I'd also understood the 0000_ prefix to be a special case for where
ordering is critical, with most operators landing without specific
ordering after the key components had been addressed.  I dunno how
that squares with:

  $ oc adm release extract --from=quay.io/openshift-release-dev/ocp-release:4.0.0-0.1 --to=/tmp/manifests
  Extracted release payload from digest sha256:66cee7428ba0d3cb983bd2a437e576b2289e7fd5abafa70256200a5408b26644 created at 2019-01-15T04:04:22Z
  $ ls /tmp/manifests | wc -l
  191
  $ ls /tmp/manifests | grep -v '^0000_'
  image-references
  release-metadata

it looks like *all* of our operators are setting the 0000_ prefix.
wking added a commit to wking/cluster-version-operator that referenced this pull request Jan 24, 2019
Catching up with
openshift/cluster-openshift-apiserver-operator@5a15f36e (move
openshift apiserver later in CVO payload, 2019-01-21,
openshift/cluster-openshift-apiserver-operator#121) moving to 61,
openshift/machine-config-operator@4dd8b917 (mco/install: update mco
run level to 30, 2019-01-21, openshift/machine-config-operator#331),
and operator-framework/operator-lifecycle-manager@f0e86b8c
(chore(deploy): change 30 prefix to 50, 2019-01-21,
operator-framework/operator-lifecycle-manager#678).  I'm not
personally clear on the reasoning; I'd have expected the OLM entries
to belong at the end of the queue, since they seem less central than
the OpenShift core operators.

The Machine API and autoapprover entries had been added to the end of
the queue in dcab5e4 (payload: Ignore files without yaml, yml, or
json extensions, 2018-12-01, openshift#64), but I don't see any discussion of
that placement there.

I'd also understood the 0000_ prefix to be a special case for where
ordering is critical, with most operators landing without specific
ordering after the key components had been addressed.  I dunno how
that squares with:

  $ oc adm release extract --from=quay.io/openshift-release-dev/ocp-release:4.0.0-0.1 --to=/tmp/manifests
  Extracted release payload from digest sha256:66cee7428ba0d3cb983bd2a437e576b2289e7fd5abafa70256200a5408b26644 created at 2019-01-15T04:04:22Z
  $ ls /tmp/manifests | wc -l
  191
  $ ls /tmp/manifests | grep -v '^0000_'
  image-references
  release-metadata

it looks like *all* of our operators are setting the 0000_ prefix.
wking added a commit to wking/cluster-version-operator that referenced this pull request Jan 24, 2019
Catching up with
openshift/cluster-openshift-apiserver-operator@5a15f36e (move
openshift apiserver later in CVO payload, 2019-01-21,
openshift/cluster-openshift-apiserver-operator#121) moving to 61,
openshift/machine-config-operator@4dd8b917 (mco/install: update mco
run level to 30, 2019-01-21, openshift/machine-config-operator#331),
and operator-framework/operator-lifecycle-manager@f0e86b8c
(chore(deploy): change 30 prefix to 50, 2019-01-21,
operator-framework/operator-lifecycle-manager#678).  I'm not
personally clear on the reasoning; I'd have expected the OLM entries
to belong at the end of the queue, since they seem less central than
the OpenShift core operators.

The Machine API and autoapprover entries had been added to the end of
the queue in dcab5e4 (payload: Ignore files without yaml, yml, or
json extensions, 2018-12-01, openshift#64), but I don't see any discussion of
that placement there.

I'd also understood the 0000_ prefix to be a special case for where
ordering is critical, with most operators landing without specific
ordering after the key components had been addressed.  I dunno how
that squares with:

  $ oc adm release extract --from=quay.io/openshift-release-dev/ocp-release:4.0.0-0.1 --to=/tmp/manifests
  Extracted release payload from digest sha256:66cee7428ba0d3cb983bd2a437e576b2289e7fd5abafa70256200a5408b26644 created at 2019-01-15T04:04:22Z
  $ ls /tmp/manifests | wc -l
  191
  $ ls /tmp/manifests | grep -v '^0000_'
  image-references
  release-metadata

it looks like *all* of our operators are setting the 0000_ prefix.
wking added a commit to wking/cluster-version-operator that referenced this pull request Jan 24, 2019
Catching up with
openshift/cluster-openshift-apiserver-operator@5a15f36e (move
openshift apiserver later in CVO payload, 2019-01-21,
openshift/cluster-openshift-apiserver-operator#121) moving to 61,
openshift/cluster-openshift-controller-manager-operator@b823879a (move
openshift controller manager later in CVO payload, 2019-01-21,
openshift/cluster-openshift-controller-manager-operator#61) moving to
63, openshift/machine-config-operator@4dd8b917 (mco/install: update
mco run level to 30, 2019-01-21,
openshift/machine-config-operator#331), and
operator-framework/operator-lifecycle-manager@f0e86b8c (chore(deploy):
change 30 prefix to 50, 2019-01-21,
operator-framework/operator-lifecycle-manager#678).  I'm not
personally clear on the reasoning; I'd have expected the OLM entries
to belong at the end of the queue, since they seem less central than
the OpenShift core operators.  In [1], David Eads says that nothing
earlier than 70 should require OpenShift APIs.

The Machine API and autoapprover entries had been added to the end of
the queue in dcab5e4 (payload: Ignore files without yaml, yml, or
json extensions, 2018-12-01, openshift#64), but I don't see any discussion of
that placement there.

I'd also understood the 0000_ prefix to be a special case for where
ordering is critical, with most operators landing without specific
ordering after the key components had been addressed.  I dunno how
that squares with:

  $ oc adm release extract --from=quay.io/openshift-release-dev/ocp-release:4.0.0-0.1 --to=/tmp/manifests
  Extracted release payload from digest sha256:66cee7428ba0d3cb983bd2a437e576b2289e7fd5abafa70256200a5408b26644 created at 2019-01-15T04:04:22Z
  $ ls /tmp/manifests | wc -l
  191
  $ ls /tmp/manifests | grep -v '^0000_'
  image-references
  release-metadata

it looks like *all* of our operators are setting the 0000_ prefix.

[1]: openshift/cluster-openshift-controller-manager-operator#61 (comment)
wking added a commit to wking/cluster-version-operator that referenced this pull request Jan 24, 2019
Catching up with openshift/cluster-machine-approver@67d2bbcb (Change
run level to 09, 2019-01-21, openshift/cluster-machine-approver#12),
openshift/cluster-openshift-apiserver-operator@5a15f36e (move
openshift apiserver later in CVO payload, 2019-01-21,
openshift/cluster-openshift-apiserver-operator#121) moving to 61,
openshift/cluster-openshift-controller-manager-operator@b823879a (move
openshift controller manager later in CVO payload, 2019-01-21,
openshift/cluster-openshift-controller-manager-operator#61) moving to
63, openshift/machine-config-operator@4dd8b917 (mco/install: update
mco run level to 30, 2019-01-21,
openshift/machine-config-operator#331), and
operator-framework/operator-lifecycle-manager@f0e86b8c (chore(deploy):
change 30 prefix to 50, 2019-01-21,
operator-framework/operator-lifecycle-manager#678).  I'm not
personally clear on the reasoning; I'd have expected the OLM entries
to belong at the end of the queue, since they seem less central than
the OpenShift core operators.  In [1], David Eads says that nothing
earlier than 70 should require OpenShift APIs.

The Machine API and autoapprover entries had been added to the end of
the queue in dcab5e4 (payload: Ignore files without yaml, yml, or
json extensions, 2018-12-01, openshift#64), but I don't see any discussion of
that placement there.

I'd also understood the 0000_ prefix to be a special case for where
ordering is critical, with most operators landing without specific
ordering after the key components had been addressed.  I dunno how
that squares with:

  $ oc adm release extract --from=quay.io/openshift-release-dev/ocp-release:4.0.0-0.1 --to=/tmp/manifests
  Extracted release payload from digest sha256:66cee7428ba0d3cb983bd2a437e576b2289e7fd5abafa70256200a5408b26644 created at 2019-01-15T04:04:22Z
  $ ls /tmp/manifests | wc -l
  191
  $ ls /tmp/manifests | grep -v '^0000_'
  image-references
  release-metadata

it looks like *all* of our operators are setting the 0000_ prefix.

[1]: openshift/cluster-openshift-controller-manager-operator#61 (comment)
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. size/L Denotes a PR that changes 100-499 lines, ignoring generated files.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants