-
Notifications
You must be signed in to change notification settings - Fork 37
Modify startup scripts for ovn-controller-ovs #434
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
base: main
Are you sure you want to change the base?
Conversation
Skipping CI for Draft Pull Request. |
[APPROVALNOTIFIER] This PR is APPROVED This pull-request has been approved by: averdagu 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 |
/test all |
483f6d7
to
5416cdf
Compare
/retest |
1 similar comment
/retest |
/test ovn-operator-build-deploy-kuttl |
5416cdf
to
2191fc8
Compare
Build failed (check pipeline). Post https://softwarefactory-project.io/zuul/t/rdoproject.org/buildset/d1d2c94318b74902b71c12dc025064ab ❌ openstack-k8s-operators-content-provider FAILURE in 10m 00s |
In order to minimize the downtime during update of the ovn-controller-ovs pods we're modifying the update strategy so it doesn't accept any Unavailable pod. This means that it will create new ovn-controller-ovs while the old one is running. This commit enables that two ovn-controller-ovs pods can coexists. It accomplish this by modifying the start-up scripts of all containers so it checks if a pod is already running and slowly stops in a controlled fashon the old pods while it starts the new ones. The logic is done with a temporary file created during the init container that will inform the ovsdb-server/ovs-vswitchd containers if they're on an update scenario or a normal one. The temporary file is deleted after the end of the ovs-vswitchd so when the ovnController CR is deleted, the volumes won't have any leftovers. Related: OSPRH-11636 Jira: OSPRH-10821 Depends-on: lib-common#611
2191fc8
to
ebd0417
Compare
@elvgarrui: only openstack-k8s-operators org members may request cherry picks. If you are already part of the org, make sure to change your membership to public. Otherwise you can still do the cherry-pick manually. 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-sigs/prow repository. |
@averdagu: The following tests failed, say
Full PR test history. Your PR dashboard. 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-sigs/prow repository. I understand the commands that are listed here. |
PR needs rebase. 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-sigs/prow repository. |
Modify startup scripts for ovn-controller-ovs
In order to minimize the downtime during update of the
ovn-controller-ovs pods we're modifying the update strategy so
it doesn't accept any Unavailable pod. This means that it will
create new ovn-controller-ovs while the old one is running.
This commit enables that two ovn-controller-ovs pods can coexists.
It accomplish this by modifying the start-up scripts of all containers
so it checks if a pod is already running and slowly stops in a
controlled fashon the old pods while it starts the new ones.
The logic is done with a temporary file created during the init
container that will inform the ovsdb-server/ovs-vswitchd containers
if they're on an update scenario or a normal one. The temporary file
is deleted after the end of the ovs-vswitchd so when the ovnController
CR is deleted, the volumes won't have any leftovers.
This is an alternative to #423
TODO: