-
Notifications
You must be signed in to change notification settings - Fork 5.6k
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
chore(deps): upgrade k8s version and client-go #13965
Conversation
Codecov ReportAttention:
Additional details and impacted files@@ Coverage Diff @@
## master #13965 +/- ##
==========================================
+ Coverage 50.00% 50.03% +0.03%
==========================================
Files 266 266
Lines 45713 45960 +247
==========================================
+ Hits 22858 22997 +139
- Misses 20621 20711 +90
- Partials 2234 2252 +18
☔ View full report in Codecov by Sentry. |
81fdc2e
to
03b2c69
Compare
server/application/application.go
Outdated
if err != nil { | ||
return nil, nil | ||
} |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I think this is a subtle change in behavior. To keep with previous behavior, we should just log.debug and then continue.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
done
Hey, @blakepettersson, I wonder if you could shed light on some e2e test failures.
Basically, as I understand it, Do you have any hunches why this might be the case? |
This is so weird. If I manually add a label to the ns, add a label to But in the e2e test, the original labels/annotations get blown away. |
A small clue: if I delete the last-applied-configuration before |
Ah! This is what it is: kubernetes/kubectl#1337
Our test uses client-side apply to create the ns and then server-side apply to manage it. In other words, we can't guarantee we won't blow away users' metadata when an app takes over management of a namespace. Here's my suggestion:
|
@fengshunli I opened a PR against your branch. I also opened a draft PR so we can see how the tests behave: #13984 |
Actually, instead of creating the ns using server-side apply, let's just update the test to expect the client-side fields to be deleted. Updated my PRs. |
Your branch e2e test still fails @crenshaw-dev |
@crenshaw-dev if I understand correctly in order for fields to be managed by SSA, we'd need to first
I'm guessing this would need some work in gitops-engine for this to be possible, but would be more preferable than risking to lose existing annotations and labels. And adding a disclaimer stating to the effect "once you go SSA you can't go back (easily)" would hardly hurt either. WDYT? |
@fengshunli fixed it. But now reading Blake's comments, I'm not sure my fix is best. :-) @blakepettersson, makes sense to me! So, applying a bare-bones NS resource (apiVersion, kind, name, namespace) will "convert" the resource to SSA, and from then on SSA applies should be additive? I'll attempt the gitops-engine changes, unless @fengshunli beats me to it. :-) |
Signed-off-by: fengshunli <[email protected]>
I believe that to be the case, perhaps @leoluz can confirm? |
@blakepettersson just did a quick test with I think we might have to re-construct the "live" object, complete with its existing labels and annotations, and apply those with SSA to "covert" the fields to SSA management. |
Actually, that doesn't work either. The Server-side apply (without the pre-existing labels/annotations) does not preserve the previously-existing labels and annotations just because they were server-side applied once. I think the breaking change might be the only option. |
@crenshaw-dev hmm.
Wouldn't that work? I got this response from ChatGPT, but I can verify on my end if that's the case when I get some time if you don't beat me to it 😄
|
@blakepettersson I think the ChatGPT answer is only true if your source of truth continues to contain the old labels/annotations. In our case, it will not. We'd have to persist the old labels/annotations somewhere besides the namespace resource itself. |
I just tested locally, and |
@crenshaw-dev It will if you apply the state under the same manager. For the fields to be preserved, it needs to be owned by a different manager. |
In argoproj/argo-cd#13965, upgrading to client-go 0.26 uncovered an issue with existing namespaces not preserving labels and annotations when converting an existing namespace to use `managedNamespaceMetadata`. From 0.26 up, in order to preserve the existing behaviour what we need to do is to first apply the existing namespace with SSA and its preexisting labels and annotations. This also needs to be applied with another manager than the default one. After that initial apply, we proceed as normal with a ServerSideApply. This is a one-time thing for any existing namespace; we check if we need to perform this action by detecting if there is a preexisting SSA annotation on the namespace. Signed-off-by: Blake Pettersson <[email protected]>
In argoproj/argo-cd#13965, upgrading to client-go 0.26 uncovered an issue with existing namespaces not preserving labels and annotations when converting an existing namespace to use `managedNamespaceMetadata`. From 0.26 up, in order to preserve the existing behaviour what we need to do is to first apply the existing namespace with SSA and its preexisting labels and annotations. This also needs to be applied with another manager than the default one. After that initial apply, we proceed as normal with a ServerSideApply. This is a one-time thing for any existing namespace; we check if we need to perform this action by detecting if there is a preexisting SSA annotation on the namespace. Signed-off-by: Blake Pettersson <[email protected]>
This requires argoproj/gitops-engine#537. This is more or less similar to argoproj#13965, with the difference that this is _only_ upgrading dependencies and does not require any changes in the usage of `managedNamespaceMetadata`. Signed-off-by: Blake Pettersson <[email protected]>
As found in argoproj#13965 (and as a follow-up to argoproj#13999), we also need to define what happens if _both_ managedNamespaceMetadata _and_ an Application manifest are both defined for the same namespace. The idea here is that if that happens, we emit an `ApplicationConditionRepeatedResourceWarning`, and set the sync status to `Unknown`, since it's unclear what is supposed to happen. The user will then have the option of removing one of the two definitions. Signed-off-by: Blake Pettersson <[email protected]>
A simpler fix - don't add a managed namespace to the targetObjs list if a namespace already exists in the application source. Signed-off-by: Blake Pettersson <[email protected]>
@blakepettersson yep I like that change. Cherry-picked and pushed! |
@crenshaw-dev I have a PR to fix the merge conflicts on fengshunli#6 (Ideally I'd like to just edit the conflicts here but cannot...) |
@blakepettersson wanna open a new PR directly from your branch? @fengshunli will still get credit in the squashed commit. |
In argoproj/argo-cd#13965, upgrading to client-go 0.26 uncovered an issue with existing namespaces not preserving labels and annotations when converting an existing namespace to use `managedNamespaceMetadata`. From 0.26 up, in order to preserve the existing behaviour what we need to do is to first apply the existing namespace with SSA and its preexisting labels and annotations. This also needs to be applied with another manager than the default one. After that initial apply, we proceed as normal with a ServerSideApply. This is a one-time thing for any existing namespace; we check if we need to perform this action by detecting if there is a preexisting SSA annotation on the namespace. Signed-off-by: Blake Pettersson <[email protected]>
In argoproj/argo-cd#13965, upgrading to client-go 0.26 uncovered an issue with existing namespaces not preserving labels and annotations when converting an existing namespace to use `managedNamespaceMetadata`. From 0.26 up, in order to preserve the existing behaviour what we need to do is to first apply the existing namespace with SSA and its preexisting labels and annotations. This also needs to be applied with another manager than the default one. After that initial apply, we proceed as normal with a ServerSideApply. This is a one-time thing for any existing namespace; we check if we need to perform this action by detecting if there is a preexisting SSA annotation on the namespace. Signed-off-by: Blake Pettersson <[email protected]>
* chore(deps): upgrade k8s version and client-go Signed-off-by: fengshunli <[email protected]> * revert bad merge Signed-off-by: Michael Crenshaw <[email protected]> * fix codegen Signed-off-by: Michael Crenshaw <[email protected]> * fix codegen Signed-off-by: Michael Crenshaw <[email protected]> * fix: check for double definition As found in #13965 (and as a follow-up to #13999), we also need to define what happens if _both_ managedNamespaceMetadata _and_ an Application manifest are both defined for the same namespace. The idea here is that if that happens, we emit an `ApplicationConditionRepeatedResourceWarning`, and set the sync status to `Unknown`, since it's unclear what is supposed to happen. The user will then have the option of removing one of the two definitions. Signed-off-by: Blake Pettersson <[email protected]> * fix: check for double definition A simpler fix - don't add a managed namespace to the targetObjs list if a namespace already exists in the application source. Signed-off-by: Blake Pettersson <[email protected]> * build: extra space in doc Signed-off-by: Blake Pettersson <[email protected]> * build: extra space in doc, again Signed-off-by: Blake Pettersson <[email protected]> * chore: bump gitops-engine Signed-off-by: Blake Pettersson <[email protected]> --------- Signed-off-by: fengshunli <[email protected]> Signed-off-by: Michael Crenshaw <[email protected]> Signed-off-by: Blake Pettersson <[email protected]> Co-authored-by: fengshunli <[email protected]> Co-authored-by: Michael Crenshaw <[email protected]>
Closing since this has been merged with #15852 |
* chore(deps): upgrade k8s version and client-go Signed-off-by: fengshunli <[email protected]> * revert bad merge Signed-off-by: Michael Crenshaw <[email protected]> * fix codegen Signed-off-by: Michael Crenshaw <[email protected]> * fix codegen Signed-off-by: Michael Crenshaw <[email protected]> * fix: check for double definition As found in argoproj#13965 (and as a follow-up to argoproj#13999), we also need to define what happens if _both_ managedNamespaceMetadata _and_ an Application manifest are both defined for the same namespace. The idea here is that if that happens, we emit an `ApplicationConditionRepeatedResourceWarning`, and set the sync status to `Unknown`, since it's unclear what is supposed to happen. The user will then have the option of removing one of the two definitions. Signed-off-by: Blake Pettersson <[email protected]> * fix: check for double definition A simpler fix - don't add a managed namespace to the targetObjs list if a namespace already exists in the application source. Signed-off-by: Blake Pettersson <[email protected]> * build: extra space in doc Signed-off-by: Blake Pettersson <[email protected]> * build: extra space in doc, again Signed-off-by: Blake Pettersson <[email protected]> * chore: bump gitops-engine Signed-off-by: Blake Pettersson <[email protected]> --------- Signed-off-by: fengshunli <[email protected]> Signed-off-by: Michael Crenshaw <[email protected]> Signed-off-by: Blake Pettersson <[email protected]> Co-authored-by: fengshunli <[email protected]> Co-authored-by: Michael Crenshaw <[email protected]>
* fix: check for double definition As found in #13965 (and as a follow-up to #13999), we also need to define what happens if _both_ managedNamespaceMetadata _and_ an Application manifest are both defined for the same namespace. The idea here is that if that happens, we emit an `ApplicationConditionRepeatedResourceWarning`, and set the sync status to `Unknown`, since it's unclear what is supposed to happen. The user will then have the option of removing one of the two definitions. Signed-off-by: Blake Pettersson <[email protected]> * fix: check for double definition A simpler fix - don't add a managed namespace to the targetObjs list if a namespace already exists in the application source. Signed-off-by: Blake Pettersson <[email protected]> * test: add test cases This adds a test case showing that an ns manifest will override `managedNamespaceMetadata` without failing horribly (as it currently does on `HEAD`), as well as a "standard" mNMd diff vs live. Signed-off-by: Blake Pettersson <[email protected]> --------- Signed-off-by: Blake Pettersson <[email protected]>
* fix: check for double definition As found in #13965 (and as a follow-up to #13999), we also need to define what happens if _both_ managedNamespaceMetadata _and_ an Application manifest are both defined for the same namespace. The idea here is that if that happens, we emit an `ApplicationConditionRepeatedResourceWarning`, and set the sync status to `Unknown`, since it's unclear what is supposed to happen. The user will then have the option of removing one of the two definitions. Signed-off-by: Blake Pettersson <[email protected]> * fix: check for double definition A simpler fix - don't add a managed namespace to the targetObjs list if a namespace already exists in the application source. Signed-off-by: Blake Pettersson <[email protected]> * test: add test cases This adds a test case showing that an ns manifest will override `managedNamespaceMetadata` without failing horribly (as it currently does on `HEAD`), as well as a "standard" mNMd diff vs live. Signed-off-by: Blake Pettersson <[email protected]> --------- Signed-off-by: Blake Pettersson <[email protected]>
* fix: check for double definition As found in #13965 (and as a follow-up to #13999), we also need to define what happens if _both_ managedNamespaceMetadata _and_ an Application manifest are both defined for the same namespace. The idea here is that if that happens, we emit an `ApplicationConditionRepeatedResourceWarning`, and set the sync status to `Unknown`, since it's unclear what is supposed to happen. The user will then have the option of removing one of the two definitions. Signed-off-by: Blake Pettersson <[email protected]> * fix: check for double definition A simpler fix - don't add a managed namespace to the targetObjs list if a namespace already exists in the application source. Signed-off-by: Blake Pettersson <[email protected]> * test: add test cases This adds a test case showing that an ns manifest will override `managedNamespaceMetadata` without failing horribly (as it currently does on `HEAD`), as well as a "standard" mNMd diff vs live. Signed-off-by: Blake Pettersson <[email protected]> --------- Signed-off-by: Blake Pettersson <[email protected]>
* fix: check for double definition As found in #13965 (and as a follow-up to #13999), we also need to define what happens if _both_ managedNamespaceMetadata _and_ an Application manifest are both defined for the same namespace. The idea here is that if that happens, we emit an `ApplicationConditionRepeatedResourceWarning`, and set the sync status to `Unknown`, since it's unclear what is supposed to happen. The user will then have the option of removing one of the two definitions. * fix: check for double definition A simpler fix - don't add a managed namespace to the targetObjs list if a namespace already exists in the application source. * test: add test cases This adds a test case showing that an ns manifest will override `managedNamespaceMetadata` without failing horribly (as it currently does on `HEAD`), as well as a "standard" mNMd diff vs live. --------- Signed-off-by: Blake Pettersson <[email protected]> Co-authored-by: Blake Pettersson <[email protected]>
* fix: check for double definition As found in #13965 (and as a follow-up to #13999), we also need to define what happens if _both_ managedNamespaceMetadata _and_ an Application manifest are both defined for the same namespace. The idea here is that if that happens, we emit an `ApplicationConditionRepeatedResourceWarning`, and set the sync status to `Unknown`, since it's unclear what is supposed to happen. The user will then have the option of removing one of the two definitions. * fix: check for double definition A simpler fix - don't add a managed namespace to the targetObjs list if a namespace already exists in the application source. * test: add test cases This adds a test case showing that an ns manifest will override `managedNamespaceMetadata` without failing horribly (as it currently does on `HEAD`), as well as a "standard" mNMd diff vs live. --------- Signed-off-by: Blake Pettersson <[email protected]> Co-authored-by: Blake Pettersson <[email protected]>
* chore(deps): upgrade k8s version and client-go Signed-off-by: fengshunli <[email protected]> * revert bad merge Signed-off-by: Michael Crenshaw <[email protected]> * fix codegen Signed-off-by: Michael Crenshaw <[email protected]> * fix codegen Signed-off-by: Michael Crenshaw <[email protected]> * fix: check for double definition As found in argoproj#13965 (and as a follow-up to argoproj#13999), we also need to define what happens if _both_ managedNamespaceMetadata _and_ an Application manifest are both defined for the same namespace. The idea here is that if that happens, we emit an `ApplicationConditionRepeatedResourceWarning`, and set the sync status to `Unknown`, since it's unclear what is supposed to happen. The user will then have the option of removing one of the two definitions. Signed-off-by: Blake Pettersson <[email protected]> * fix: check for double definition A simpler fix - don't add a managed namespace to the targetObjs list if a namespace already exists in the application source. Signed-off-by: Blake Pettersson <[email protected]> * build: extra space in doc Signed-off-by: Blake Pettersson <[email protected]> * build: extra space in doc, again Signed-off-by: Blake Pettersson <[email protected]> * chore: bump gitops-engine Signed-off-by: Blake Pettersson <[email protected]> --------- Signed-off-by: fengshunli <[email protected]> Signed-off-by: Michael Crenshaw <[email protected]> Signed-off-by: Blake Pettersson <[email protected]> Co-authored-by: fengshunli <[email protected]> Co-authored-by: Michael Crenshaw <[email protected]> Signed-off-by: jmilic1 <[email protected]>
* fix: check for double definition As found in argoproj#13965 (and as a follow-up to argoproj#13999), we also need to define what happens if _both_ managedNamespaceMetadata _and_ an Application manifest are both defined for the same namespace. The idea here is that if that happens, we emit an `ApplicationConditionRepeatedResourceWarning`, and set the sync status to `Unknown`, since it's unclear what is supposed to happen. The user will then have the option of removing one of the two definitions. Signed-off-by: Blake Pettersson <[email protected]> * fix: check for double definition A simpler fix - don't add a managed namespace to the targetObjs list if a namespace already exists in the application source. Signed-off-by: Blake Pettersson <[email protected]> * test: add test cases This adds a test case showing that an ns manifest will override `managedNamespaceMetadata` without failing horribly (as it currently does on `HEAD`), as well as a "standard" mNMd diff vs live. Signed-off-by: Blake Pettersson <[email protected]> --------- Signed-off-by: Blake Pettersson <[email protected]> Signed-off-by: jmilic1 <[email protected]>
* chore(deps): upgrade k8s version and client-go Signed-off-by: fengshunli <[email protected]> * revert bad merge Signed-off-by: Michael Crenshaw <[email protected]> * fix codegen Signed-off-by: Michael Crenshaw <[email protected]> * fix codegen Signed-off-by: Michael Crenshaw <[email protected]> * fix: check for double definition As found in argoproj#13965 (and as a follow-up to argoproj#13999), we also need to define what happens if _both_ managedNamespaceMetadata _and_ an Application manifest are both defined for the same namespace. The idea here is that if that happens, we emit an `ApplicationConditionRepeatedResourceWarning`, and set the sync status to `Unknown`, since it's unclear what is supposed to happen. The user will then have the option of removing one of the two definitions. Signed-off-by: Blake Pettersson <[email protected]> * fix: check for double definition A simpler fix - don't add a managed namespace to the targetObjs list if a namespace already exists in the application source. Signed-off-by: Blake Pettersson <[email protected]> * build: extra space in doc Signed-off-by: Blake Pettersson <[email protected]> * build: extra space in doc, again Signed-off-by: Blake Pettersson <[email protected]> * chore: bump gitops-engine Signed-off-by: Blake Pettersson <[email protected]> --------- Signed-off-by: fengshunli <[email protected]> Signed-off-by: Michael Crenshaw <[email protected]> Signed-off-by: Blake Pettersson <[email protected]> Co-authored-by: fengshunli <[email protected]> Co-authored-by: Michael Crenshaw <[email protected]>
* fix: check for double definition As found in argoproj#13965 (and as a follow-up to argoproj#13999), we also need to define what happens if _both_ managedNamespaceMetadata _and_ an Application manifest are both defined for the same namespace. The idea here is that if that happens, we emit an `ApplicationConditionRepeatedResourceWarning`, and set the sync status to `Unknown`, since it's unclear what is supposed to happen. The user will then have the option of removing one of the two definitions. Signed-off-by: Blake Pettersson <[email protected]> * fix: check for double definition A simpler fix - don't add a managed namespace to the targetObjs list if a namespace already exists in the application source. Signed-off-by: Blake Pettersson <[email protected]> * test: add test cases This adds a test case showing that an ns manifest will override `managedNamespaceMetadata` without failing horribly (as it currently does on `HEAD`), as well as a "standard" mNMd diff vs live. Signed-off-by: Blake Pettersson <[email protected]> --------- Signed-off-by: Blake Pettersson <[email protected]>
* chore(deps): upgrade k8s version and client-go Signed-off-by: fengshunli <[email protected]> * revert bad merge Signed-off-by: Michael Crenshaw <[email protected]> * fix codegen Signed-off-by: Michael Crenshaw <[email protected]> * fix codegen Signed-off-by: Michael Crenshaw <[email protected]> * fix: check for double definition As found in argoproj#13965 (and as a follow-up to argoproj#13999), we also need to define what happens if _both_ managedNamespaceMetadata _and_ an Application manifest are both defined for the same namespace. The idea here is that if that happens, we emit an `ApplicationConditionRepeatedResourceWarning`, and set the sync status to `Unknown`, since it's unclear what is supposed to happen. The user will then have the option of removing one of the two definitions. Signed-off-by: Blake Pettersson <[email protected]> * fix: check for double definition A simpler fix - don't add a managed namespace to the targetObjs list if a namespace already exists in the application source. Signed-off-by: Blake Pettersson <[email protected]> * build: extra space in doc Signed-off-by: Blake Pettersson <[email protected]> * build: extra space in doc, again Signed-off-by: Blake Pettersson <[email protected]> * chore: bump gitops-engine Signed-off-by: Blake Pettersson <[email protected]> --------- Signed-off-by: fengshunli <[email protected]> Signed-off-by: Michael Crenshaw <[email protected]> Signed-off-by: Blake Pettersson <[email protected]> Co-authored-by: fengshunli <[email protected]> Co-authored-by: Michael Crenshaw <[email protected]>
* fix: check for double definition As found in argoproj#13965 (and as a follow-up to argoproj#13999), we also need to define what happens if _both_ managedNamespaceMetadata _and_ an Application manifest are both defined for the same namespace. The idea here is that if that happens, we emit an `ApplicationConditionRepeatedResourceWarning`, and set the sync status to `Unknown`, since it's unclear what is supposed to happen. The user will then have the option of removing one of the two definitions. Signed-off-by: Blake Pettersson <[email protected]> * fix: check for double definition A simpler fix - don't add a managed namespace to the targetObjs list if a namespace already exists in the application source. Signed-off-by: Blake Pettersson <[email protected]> * test: add test cases This adds a test case showing that an ns manifest will override `managedNamespaceMetadata` without failing horribly (as it currently does on `HEAD`), as well as a "standard" mNMd diff vs live. Signed-off-by: Blake Pettersson <[email protected]> --------- Signed-off-by: Blake Pettersson <[email protected]>
* fix: check for double definition As found in argoproj#13965 (and as a follow-up to argoproj#13999), we also need to define what happens if _both_ managedNamespaceMetadata _and_ an Application manifest are both defined for the same namespace. The idea here is that if that happens, we emit an `ApplicationConditionRepeatedResourceWarning`, and set the sync status to `Unknown`, since it's unclear what is supposed to happen. The user will then have the option of removing one of the two definitions. Signed-off-by: Blake Pettersson <[email protected]> * fix: check for double definition A simpler fix - don't add a managed namespace to the targetObjs list if a namespace already exists in the application source. Signed-off-by: Blake Pettersson <[email protected]> * test: add test cases This adds a test case showing that an ns manifest will override `managedNamespaceMetadata` without failing horribly (as it currently does on `HEAD`), as well as a "standard" mNMd diff vs live. Signed-off-by: Blake Pettersson <[email protected]> --------- Signed-off-by: Blake Pettersson <[email protected]> Signed-off-by: Kevin Lyda <[email protected]>
* chore(deps): upgrade k8s version and client-go Signed-off-by: fengshunli <[email protected]> * revert bad merge Signed-off-by: Michael Crenshaw <[email protected]> * fix codegen Signed-off-by: Michael Crenshaw <[email protected]> * fix codegen Signed-off-by: Michael Crenshaw <[email protected]> * fix: check for double definition As found in argoproj#13965 (and as a follow-up to argoproj#13999), we also need to define what happens if _both_ managedNamespaceMetadata _and_ an Application manifest are both defined for the same namespace. The idea here is that if that happens, we emit an `ApplicationConditionRepeatedResourceWarning`, and set the sync status to `Unknown`, since it's unclear what is supposed to happen. The user will then have the option of removing one of the two definitions. Signed-off-by: Blake Pettersson <[email protected]> * fix: check for double definition A simpler fix - don't add a managed namespace to the targetObjs list if a namespace already exists in the application source. Signed-off-by: Blake Pettersson <[email protected]> * build: extra space in doc Signed-off-by: Blake Pettersson <[email protected]> * build: extra space in doc, again Signed-off-by: Blake Pettersson <[email protected]> * chore: bump gitops-engine Signed-off-by: Blake Pettersson <[email protected]> --------- Signed-off-by: fengshunli <[email protected]> Signed-off-by: Michael Crenshaw <[email protected]> Signed-off-by: Blake Pettersson <[email protected]> Co-authored-by: fengshunli <[email protected]> Co-authored-by: Michael Crenshaw <[email protected]>
* fix: check for double definition As found in argoproj#13965 (and as a follow-up to argoproj#13999), we also need to define what happens if _both_ managedNamespaceMetadata _and_ an Application manifest are both defined for the same namespace. The idea here is that if that happens, we emit an `ApplicationConditionRepeatedResourceWarning`, and set the sync status to `Unknown`, since it's unclear what is supposed to happen. The user will then have the option of removing one of the two definitions. Signed-off-by: Blake Pettersson <[email protected]> * fix: check for double definition A simpler fix - don't add a managed namespace to the targetObjs list if a namespace already exists in the application source. Signed-off-by: Blake Pettersson <[email protected]> * test: add test cases This adds a test case showing that an ns manifest will override `managedNamespaceMetadata` without failing horribly (as it currently does on `HEAD`), as well as a "standard" mNMd diff vs live. Signed-off-by: Blake Pettersson <[email protected]> --------- Signed-off-by: Blake Pettersson <[email protected]>
Note on DCO:
If the DCO action in the integration test fails, one or more of your commits are not signed off. Please click on the Details link next to the DCO action for instructions on how to resolve this.
Checklist:
Please see Contribution FAQs if you have questions about your pull-request.