Skip to content
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

Merged
merged 3 commits into from
Apr 30, 2018
Merged

[3.7] Add restart single master handler for etcdv3 upgrade from embedded etcd #7801

merged 3 commits into from
Apr 30, 2018

Conversation

nak3
Copy link
Contributor

@nak3 nak3 commented Apr 5, 2018

@openshift-ci-robot openshift-ci-robot added the size/S Denotes a PR that changes 10-29 lines, ignoring generated files. label Apr 5, 2018
@nak3 nak3 changed the title Add restart single master handler for etcdv3 upgrade from embedded etcd [3.7] Add restart single master handler for etcdv3 upgrade from embedded etcd Apr 5, 2018
@nak3
Copy link
Contributor Author

nak3 commented Apr 5, 2018

The entire code was removed in master branch, but back port of ddf1aa2 is difficult (I think).

@vrutkovs
Copy link
Member

vrutkovs commented Apr 5, 2018

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

@nak3
Copy link
Contributor Author

nak3 commented Apr 5, 2018

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.

PLAY [Check if the master has embedded etcd] ******************************************************************************************************************************************************************

TASK [fail] ***************************************************************************************************************************************************************************************************
skipping: [localhost]

PLAY [Run pre-checks] *****************************************************************************************************************************************************************************************

But their master is still single. Do you mean that embedded2external.yml should have doen the change of separation from master to master-api/mater-controllers?

@vrutkovs
Copy link
Member

vrutkovs commented Apr 5, 2018

Oh, correct, my fault. I was under impression that api/controller is now enforced in 3.7.

/lgtm

@openshift-ci-robot openshift-ci-robot added the lgtm Indicates that a PR is ready to be merged. label Apr 5, 2018
@vrutkovs
Copy link
Member

vrutkovs commented Apr 5, 2018

/cherrypick release-3.6

@openshift-cherrypick-robot

@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:

/cherrypick release-3.6

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.

@vrutkovs
Copy link
Member

vrutkovs commented Apr 5, 2018

/retest

1 similar comment
@nak3
Copy link
Contributor Author

nak3 commented Apr 6, 2018

/retest

@nak3
Copy link
Contributor Author

nak3 commented Apr 6, 2018

openshift-jenkins/system-containers has an issue on 3.7 branch. I opened #7832

@vrutkovs
Copy link
Member

vrutkovs commented Apr 6, 2018

/retest

System containers is not a blocking test AFAIK

@vrutkovs
Copy link
Member

vrutkovs commented Apr 7, 2018

/retest

Copy link
Member

@sdodson sdodson left a 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.

@openshift-ci-robot openshift-ci-robot added size/M Denotes a PR that changes 30-99 lines, ignoring generated files. and removed lgtm Indicates that a PR is ready to be merged. size/S Denotes a PR that changes 10-29 lines, ignoring generated files. labels Apr 8, 2018
@nak3
Copy link
Contributor Author

nak3 commented Apr 8, 2018

/retest

1 similar comment
@nak3
Copy link
Contributor Author

nak3 commented Apr 8, 2018

/retest

@nak3
Copy link
Contributor Author

nak3 commented Apr 8, 2018

That makes sense. Thank you. Updated. (Don't know why logging test started failing...)

@vrutkovs
Copy link
Member

vrutkovs commented Apr 9, 2018

/retest

2 similar comments
@nak3
Copy link
Contributor Author

nak3 commented Apr 9, 2018

/retest

@nak3
Copy link
Contributor Author

nak3 commented Apr 11, 2018

/retest

@nak3
Copy link
Contributor Author

nak3 commented Apr 11, 2018

ci/openshift-jenkins/logging also has an issue in 3.7 branch. These PR have same issue with this PR.

#7875
#7891
#7892

@DanyC97
Copy link
Contributor

DanyC97 commented Apr 11, 2018

@nak3 so what is the issue with #7875 & ci/openshift-jenkins/logging ?

@nak3
Copy link
Contributor Author

nak3 commented Apr 11, 2018

@DanyC97 It is same issue with openshift/origin#18184
Upstream (master branch) fixed the issue, but release-3.7 didn't fix it. I requested if it is possible to merge it into release-3.7 as openshift/origin#18647 (comment)

@vrutkovs
Copy link
Member

/lgtm

@openshift-ci-robot openshift-ci-robot added the lgtm Indicates that a PR is ready to be merged. label Apr 30, 2018
@@ -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','>=')
Copy link
Member

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','>='))

Copy link
Contributor Author

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','<')
Copy link
Member

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?

@openshift-ci-robot
Copy link

New changes are detected. LGTM label has been removed.

@openshift-ci-robot openshift-ci-robot removed the lgtm Indicates that a PR is ready to be merged. label Apr 30, 2018
@openshift-ci-robot
Copy link

[APPROVALNOTIFIER] This PR is NOT APPROVED

This pull-request has been approved by: nak3
To fully approve this pull request, please assign additional approvers.
We suggest the following additional approver: vrutkovs

Assign the PR to them by writing /assign @vrutkovs in a comment when ready.

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 /approve in a comment
Approvers can cancel approval by writing /approve cancel in a comment

@openshift-ci-robot
Copy link

openshift-ci-robot commented Apr 30, 2018

@nak3: The following tests failed, say /retest to rerun them all:

Test name Commit Details Rerun command
ci/openshift-jenkins/gcp 6ccdac4 link /test gcp
ci/openshift-jenkins/system-containers 6ccdac4 link /test system-containers
ci/openshift-jenkins/logging 6ccdac4 link /test logging
ci/openshift-jenkins/install 6ccdac4 link /test install

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.

@vrutkovs
Copy link
Member

Verified that it works without openshift_master_cluster_method set and with openshift_master_cluster_method: native

@vrutkovs vrutkovs merged commit 99331ae into openshift:release-3.7 Apr 30, 2018
@openshift-cherrypick-robot

@vrutkovs: #7801 failed to apply on top of branch "release-3.6":

error: Failed to merge in the changes.
Using index info to reconstruct a base tree...
M	roles/openshift_master/handlers/main.yml
A	roles/openshift_master/tasks/update_etcd_client_urls.yml
Falling back to patching base and 3-way merge...
CONFLICT (modify/delete): roles/openshift_master/tasks/update_etcd_client_urls.yml deleted in HEAD and modified in Add restart single master handler for etcdv3 upgrade from embedded etcd. Version Add restart single master handler for etcdv3 upgrade from embedded etcd of roles/openshift_master/tasks/update_etcd_client_urls.yml left in tree.
Auto-merging roles/openshift_master/handlers/main.yml
CONFLICT (content): Merge conflict in roles/openshift_master/handlers/main.yml
Patch failed at 0001 Add restart single master handler for etcdv3 upgrade from embedded etcd

In response to this:

/cherrypick release-3.6

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.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
size/M Denotes a PR that changes 30-99 lines, ignoring generated files.
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

6 participants