Skip to content

Conversation

@staebler
Copy link
Contributor

@staebler staebler commented Dec 11, 2018

The on-disk and in-state-file versions of the Network and Ingress manifest assets are not evaluating as equal when read into the store. Consequently, they are being marked as dirty, even when the user has not made any changes to them. This propagates to the Operators and Openshift manifest assets, making them dirty as well.

For both assets, the underlying issue is that the config field is not stored in the state file but it is populated when loading from on-disk. The config field in manifests.Network has been made public, allowing it to be stored in the state file. The config field in manifests.Ingress has been removed, since it is not being used.

Fixes https://jira.coreos.com/browse/CORS-938

https://jira.coreos.com/browse/CORS-940 has been created to add tests to ensure that there are not more assets that have this same problem.

@openshift-ci-robot openshift-ci-robot added size/S Denotes a PR that changes 10-29 lines, ignoring generated files. approved Indicates a PR has been approved by an approver from all required OWNERS files. labels Dec 11, 2018
The on-disk and in-state-file versions of the Network and Ingress manifest
assets are not evaluating as equal when read into the store. Consequently,
they are being marked as dirty, even when the user has not made any changes
to them. This propagates to the Operators and Openshift manifest assets,
making them dirty as well.

For both assets, the underlying issue is that the config field is not stored
in the state file but it is populated when loading from on-disk. The config
field in manifests.Network has been made public, allowing it to be stored in
the state file. The config field in manifests.Ingress has been removed, since
it is not being used.

Fixes https://jira.coreos.com/browse/CORS-938
@crawford
Copy link
Contributor

Nice. I hit this the other day and forgot to file an issue.

/lgtm

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

[APPROVALNOTIFIER] This PR is APPROVED

This pull-request has been approved by: crawford, staebler

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-ci-robot
Copy link
Contributor

@staebler: The following test failed, say /retest to rerun them all:

Test name Commit Details Rerun command
ci/prow/e2e-aws 799525e link /test e2e-aws

Full PR test history. Your PR dashboard. Please help us cut down on flakes by linking to an open issue when you hit one in your PR.

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.

@staebler
Copy link
Contributor Author

This is the right solution to the wrong problem. The network and ingress assets should not even be loaded from disk. They are not written to disk by the installer as they are not targeted assets. Their Load functions should not load any files.

As an aside, this is an example of why I preferred to have the Load function in a separate TargetedAsset type instead of in the WritableAsset type. With it in the WritableAsset type, assets like network and ingress need to define an empty Load function. Maybe better documentation on the Load function in the interface would be sufficient.

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/S Denotes a PR that changes 10-29 lines, ignoring generated files.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants