-
Notifications
You must be signed in to change notification settings - Fork 2.3k
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
[3.7] Add restart single master handler for etcdv3 upgrade from embedded etcd #7801
[3.7] Add restart single master handler for etcdv3 upgrade from embedded etcd #7801
Conversation
The entire code was removed in master branch, but back port of ddf1aa2 is difficult (I think). |
Not sure why would we want to support embedded etcd - the first task in migrate is verifying if embedded etcd is used - and requires to migrate to external etcd, see https://github.com/openshift/openshift-ansible/blob/release-3.7/playbooks/common/openshift-etcd/migrate.yml#L11 |
The customer was supposed to finish the migration to external etcd, you can refer to following logs attached in https://bugzilla.redhat.com/show_bug.cgi?id=1564098.
But their master is still single. Do you mean that embedded2external.yml should have doen the change of separation from master to |
Oh, correct, my fault. I was under impression that /lgtm |
/cherrypick release-3.6 |
@vrutkovs: once the present PR merges, I will cherry-pick it on top of release-3.6 in a new PR and assign it to you. In response to this:
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. |
/retest |
1 similar comment
/retest |
|
/retest System containers is not a blocking test AFAIK |
/retest |
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.
The problem happens during the embedded to external migration which happens before upgrading to 3.7, which is before we convert everything to HA services.
I'm concerned that this same handler would be called when applying a 3.7 errata where we'd have the split sercices. I think rather than checking the number of masters we need to check if the service is enabled.
/retest |
1 similar comment
/retest |
That makes sense. Thank you. Updated. (Don't know why logging test started failing...) |
/retest |
2 similar comments
/retest |
/retest |
@DanyC97 It is same issue with openshift/origin#18184 |
/lgtm |
@@ -6,6 +6,7 @@ | |||
when: | |||
- not (master_api_service_status_changed | default(false) | bool) | |||
- openshift.master.cluster_method == 'native' | |||
- master_api_enabled.rc == 0 or openshift_version | version_compare('3.7','>=') |
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 wonder if there may be cases where this code is called and this variable may be undefined? Perhaps
- master_api_enabled is defined and (master_api_enabled.rc == 0 or openshift_version | version_compare('3.7','>='))
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.
Thank you. Yes, it is safer.
I wondered if I should write these as:
- master_api_enabled is defined
- master_api_enabled.rc == 0 or openshift_version | version_compare('3.7','>=')
But maybe - master_api_enabled is defined and (master_api_enabled.rc == 0 or openshift_version | version_compare('3.7','>='))
is easier to understand why master_api_enabled is defined
is checked.
name: "{{ openshift.common.service_type }}-master" | ||
state: restarted | ||
when: | ||
- single_master_enabled.rc == 0 or openshift_version | version_compare('3.7','<') |
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.
likewise, should we check for undefined here?
New changes are detected. LGTM label has been removed. |
[APPROVALNOTIFIER] This PR is NOT APPROVED This pull-request has been approved by: nak3 Assign the PR to them by writing The full list of commands accepted by this bot can be found here. The pull request process is described here
Needs approval from an approver in each of these files:
Approvers can indicate their approval by writing |
@nak3: The following tests failed, say
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. 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. |
Verified that it works without |
@vrutkovs: #7801 failed to apply on top of branch "release-3.6":
In response to this:
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. |
Fixes https://bugzilla.redhat.com/show_bug.cgi?id=1564098