Bug 1902247
Summary: | openshift-oauth-apiserver apiserver pod crashloopbackoffs | ||
---|---|---|---|
Product: | OpenShift Container Platform | Reporter: | Ricardo Carrillo Cruz <ricarril> |
Component: | Etcd | Assignee: | Sam Batschelet <sbatsche> |
Status: | CLOSED ERRATA | QA Contact: | ge liu <geliu> |
Severity: | medium | Docs Contact: | |
Priority: | low | ||
Version: | 4.7 | CC: | anbhat, aos-bugs, lszaszki, mfojtik |
Target Milestone: | --- | ||
Target Release: | 4.8.0 | ||
Hardware: | Unspecified | ||
OS: | Unspecified | ||
Whiteboard: | LifecycleReset | ||
Fixed In Version: | Doc Type: | Enhancement | |
Doc Text: |
Feature: operator should fall back to Spec.ServiceNetwork if status is not populated.
Reason: etcd-endpoints configmap was becoming empty if network.Status.ServiceNetwork is not populated. cluster-etcd-operator will fail to scale up in that case.
Result: Once the enhancement is implemented, the cluster comes up even if the Status.ServiceNetwork is not populated.
|
Story Points: | --- |
Clone Of: | Environment: | ||
Last Closed: | 2021-07-27 22:34:25 UTC | Type: | Bug |
Regression: | --- | Mount Type: | --- |
Documentation: | --- | CRM: | |
Verified Versions: | Category: | --- | |
oVirt Team: | --- | RHEL 7.3 requirements from Atomic Host: | |
Cloudforms Team: | --- | Target Upstream Version: | |
Embargoed: | |||
Bug Depends On: | |||
Bug Blocks: | 1958416 |
Description
Ricardo Carrillo Cruz
2020-11-27 13:24:15 UTC
The provided must-gather shows that the mandatory etcd-endpoints configmap was empty - didn't have any IP addresses. CAO didn't check the content of the cm, it simply tried to install the API server. For the API server having "--etcd-servers" is mandatory. I agree that the operators should examine the content of the cm before installing the API servers. openshift-authentication-operator: E1127 11:34:23.937053 1 base_controller.go:250] "ConfigObserver" controller failed to sync "key", err: configmaps openshift-etcd/etcd-endpoints: no etcd endpoint addresses found E1127 11:34:24.937055 1 base_controller.go:250] "ConfigObserver" controller failed to sync "key", err: configmaps openshift-etcd/etcd-endpoints: no etcd endpoint addresses found k get configmap -n openshift-etcd etcd-endpoints -oyaml apiVersion: v1 kind: ConfigMap metadata: annotations: alpha.installer.openshift.io/etcd-bootstrap: 10.0.0.6 creationTimestamp: "2020-11-27T09:45:04Z" managedFields: - apiVersion: v1 fieldsType: FieldsV1 fieldsV1: f:metadata: f:annotations: .: {} f:alpha.installer.openshift.io/etcd-bootstrap: {} manager: cluster-bootstrap operation: Update time: "2020-11-27T09:45:04Z" name: etcd-endpoints namespace: openshift-etcd resourceVersion: "481" selfLink: /api/v1/namespaces/openshift-etcd/configmaps/etcd-endpoints uid: 70076ec7-9ebd-4c56-8a4f-ab5bdb1e52ca I'm assigning this issue to the etcd team to have a look and see why the openshift-etcd/etcd-endpoints configmap was empty. Usually, the install-config for the cluster is persisted to kube-system configmaps but it is not included in this must-gather. Could you post your install-config for review please? This bug hasn't had any activity in the last 30 days. Maybe the problem got resolved, was a duplicate of something else, or became less pressing for some reason - or maybe it's still relevant but just hasn't been looked at yet. As such, we're marking this bug as "LifecycleStale" and decreasing the severity/priority. If you have further information on the current state of the bug, please update it, otherwise this bug can be closed in about 7 days. The information can be, for example, that the problem still occurs, that you still want the feature, that more information is needed, or that the bug is (for whatever reason) no longer relevant. Additionally, you can add LifecycleFrozen into Keywords if you think this bug should never be marked as stale. Please consult with bug assignee before you do that. we don't see any endpoints because we have not scaled up etcd. ``` - apiVersion: v1 kind: ConfigMap metadata: annotations: alpha.installer.openshift.io/etcd-bootstrap: 10.0.0.6 ``` etcd-operator logs seem to not find the necessary dependencies from the node to perform scale actions, we require internalIP to be populated[1]. > "BootstrapTeardownController" controller failed to sync "key", err: failed to get internal IP for node: networks.config.openshift.io/cluster: status.serviceNetwork not found moving to SDN team to triage missing statusus. [1] https://github.com/openshift/cluster-etcd-operator/blob/release-4.7/pkg/dnshelpers/util.go#L39 (In reply to Sam Batschelet from comment #6) > > "BootstrapTeardownController" controller failed to sync "key", err: failed to get internal IP for node: networks.config.openshift.io/cluster: status.serviceNetwork not found > > > moving to SDN team to triage missing statusus. The network config spec is validated and copied to the status by the CNO, but CNO doesn't start until after bootstrap is complete. Code that runs at bootstrap time needs to look at spec.serviceNetwork instead of status.serviceNetwork. We probably need to do something better here... I filed https://issues.redhat.com/browse/SDN-1615 about that. But for now, cluster-etcd-operator should be using spec.serviceNetwork if status.serviceNetwork is unset. The LifecycleStale keyword was removed because the needinfo? flag was reset and the bug got commented on recently. The bug assignee was notified. This bug hasn't had any activity in the last 30 days. Maybe the problem got resolved, was a duplicate of something else, or became less pressing for some reason - or maybe it's still relevant but just hasn't been looked at yet. As such, we're marking this bug as "LifecycleStale" and decreasing the severity/priority. If you have further information on the current state of the bug, please update it, otherwise this bug can be closed in about 7 days. The information can be, for example, that the problem still occurs, that you still want the feature, that more information is needed, or that the bug is (for whatever reason) no longer relevant. Additionally, you can add LifecycleFrozen into Keywords if you think this bug should never be marked as stale. Please consult with bug assignee before you do that. The LifecycleStale keyword was removed because the needinfo? flag was reset. The bug assignee was notified. > But for now, cluster-etcd-operator should be using spec.serviceNetwork if status.serviceNetwork is unset.
addressed Dan's comments in PR since this issue can result in the failed install fixing bug for 4.8
Since the problem described in this bug report should be resolved in a recent advisory, it has been closed with a resolution of ERRATA. For information on the advisory (Moderate: OpenShift Container Platform 4.8.2 bug fix and security update), and where to find the updated files, follow the link below. If the solution does not work for you, open a new bug report. https://access.redhat.com/errata/RHSA-2021:2438 |