GithubHelp home page GithubHelp logo

Comments (12)

rthallisey avatar rthallisey commented on June 10, 2024

@lveyde, try and deploy the hco on k8s 1.14, then see if network-addons-operator gets deleted when you remove the HCO cr. Slack comment for more details.

from hyperconverged-cluster-operator.

lveyde avatar lveyde commented on June 10, 2024

@rthallisey No, as far as I can tell the operator stays, but I actually expected it to be a normal behavior.

The CR is removed normally though (networkaddonsconfigs cluster).

Noticed something else though - after removing and then re-creating the HCO CR I noticed the following:

kubectl describe networkaddonsconfigs cluster
Name: cluster
Namespace:
Labels: app=hyperconverged-cluster
Annotations:
API Version: networkaddonsoperator.network.kubevirt.io/v1alpha1
Kind: NetworkAddonsConfig
Metadata:
Creation Timestamp: 2019-06-17T08:51:35Z
Generation: 1
Owner References:
API Version: hco.kubevirt.io/v1alpha1
Block Owner Deletion: true
Controller: true
Kind: HyperConverged
Name: hyperconverged-cluster
UID: 1c71811f-90dd-11e9-8848-001a4a160205
Resource Version: 1322571
Self Link: /apis/networkaddonsoperator.network.kubevirt.io/v1alpha1/networkaddonsconfigs/cluster
UID: 1c7375a9-90dd-11e9-8848-001a4a160205
Spec:
Kube Mac Pool:
Linux Bridge:
Multus:
Status:
Conditions:
Last Probe Time: 2019-06-17T08:52:11Z
Last Transition Time: 2019-06-17T08:51:35Z
Message: could not apply (/v1, Kind=ServiceAccount) multus/multus: could not create (/v1, Kind=ServiceAccount) multus/multus: serviceaccounts "multus" is forbidden: unable to create new content in namespace multus because it is being terminated
Reason: FailedToApply
Status: True
Type: Failing
Events:

from hyperconverged-cluster-operator.

rthallisey avatar rthallisey commented on June 10, 2024

@rthallisey No, as far as I can tell the operator stays, but I actually expected it to be a normal behavior.

The normal behavior is that if the HCO cr exists, then all component CRs exist. If the HCO cr doesn't exist, then component crs should not exist.

Looks like the multus namespace was deleted before everything was cleaned up. Is the network-addons-operator responsible for deleting that ns? cc @phoracek

from hyperconverged-cluster-operator.

phoracek avatar phoracek commented on June 10, 2024

The owner chain is HyperConverged<-NetworkAddonsConfig<-(all network components). Because of we referenced namespaced HyperConverged from cluster-wide NetworkAddonsConfig, Kubernetes GC immediatelly removed NetworkAddonsConfig. However, network addons operator managed to deploy its resources before removed. Due to that, after HCO recreates NetworkAddonsConfig, it tries to setup its components again, while they are being removed from previous run.

(We have to implement finalizers to block until components are removed.)

from hyperconverged-cluster-operator.

rthallisey avatar rthallisey commented on June 10, 2024

I think finalizers are part of the problem. I think the other half of this issue is that component operators need to report status on their CRs so the HCO can track their state.

from hyperconverged-cluster-operator.

phoracek avatar phoracek commented on June 10, 2024

They are not the cause of the removal, they just cause distraction in logs (terminating ns and all). We do report status on our CR https://github.com/kubevirt/cluster-network-addons-operator/blob/master/pkg/apis/networkaddonsoperator/v1alpha1/networkaddonsconfig_types.go#L37

from hyperconverged-cluster-operator.

rthallisey avatar rthallisey commented on June 10, 2024

@lveyde can we close this? We're you able to verify?

from hyperconverged-cluster-operator.

kubevirt-bot avatar kubevirt-bot commented on June 10, 2024

Issues go stale after 90d of inactivity.
Mark the issue as fresh with /remove-lifecycle stale.
Stale issues rot after an additional 30d of inactivity and eventually close.

If this issue is safe to close now please do so with /close.

/lifecycle stale

from hyperconverged-cluster-operator.

kubevirt-bot avatar kubevirt-bot commented on June 10, 2024

Issues go stale after 90d of inactivity.
Mark the issue as fresh with /remove-lifecycle stale.
Stale issues rot after an additional 30d of inactivity and eventually close.

If this issue is safe to close now please do so with /close.

/lifecycle stale

from hyperconverged-cluster-operator.

kubevirt-bot avatar kubevirt-bot commented on June 10, 2024

Stale issues rot after 30d of inactivity.
Mark the issue as fresh with /remove-lifecycle rotten.
Rotten issues close after an additional 30d of inactivity.

If this issue is safe to close now please do so with /close.

/lifecycle rotten

from hyperconverged-cluster-operator.

kubevirt-bot avatar kubevirt-bot commented on June 10, 2024

Rotten issues close after 30d of inactivity.
Reopen the issue with /reopen.
Mark the issue as fresh with /remove-lifecycle rotten.

/close

from hyperconverged-cluster-operator.

kubevirt-bot avatar kubevirt-bot commented on June 10, 2024

@kubevirt-bot: Closing this issue.

In response to this:

Rotten issues close after 30d of inactivity.
Reopen the issue with /reopen.
Mark the issue as fresh with /remove-lifecycle rotten.

/close

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.

from hyperconverged-cluster-operator.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.