-
Notifications
You must be signed in to change notification settings - Fork 40
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
Add BaremetalHost annotation-based fencing #286
Merged
openshift-merge-bot
merged 1 commit into
openstack-k8s-operators:main
from
lmiccini:bmh-fencing
Oct 14, 2024
Merged
Add BaremetalHost annotation-based fencing #286
openshift-merge-bot
merged 1 commit into
openstack-k8s-operators:main
from
lmiccini:bmh-fencing
Oct 14, 2024
Conversation
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
lmiccini
force-pushed
the
bmh-fencing
branch
3 times, most recently
from
October 12, 2024 15:25
a9a9958
to
3b9f188
Compare
olliewalsh
reviewed
Oct 14, 2024
olliewalsh
reviewed
Oct 14, 2024
olliewalsh
reviewed
Oct 14, 2024
This commit adds one more way of fencing a compute node, using baremetal apis (metal3). It works by adding a reboot annotation, see: https://book.metal3.io/bmo/reboot_annotation.html {"annotations":{"reboot.metal3.io/iha":"{\"mode\": \"hard\"}"}} After the evacuation is completed this annotation is removed and the compute host powered back on. fencing.yaml should contain something like: FencingConfig: edpm-compute-1: [hostname as known by nova] agent: bmh namespace: openstack [namespace of the bmh] token: <long-token> host: edpm-compute-1 [name of the bmh resource] The token is obtained with something like the following: kubectl create serviceaccount k8sadmin -n kube-system kubectl create clusterrolebinding k8sadmin --clusterrole=cluster-admin --serviceaccount=kube-system:k8sadmin kubectl -n kube-system describe secret $(sudo kubectl -n kube-system get secret | (grep k8sadmin || echo "$_") | awk '{print $1}') | grep token: | awk '{print $2}' Customers should create a serviceaccount that has enough rights to perform operations on the baremetalhost resources instead of using a cluster-admin.
abays
reviewed
Oct 14, 2024
olliewalsh
approved these changes
Oct 14, 2024
[APPROVALNOTIFIER] This PR is APPROVED This pull-request has been approved by: lmiccini, olliewalsh 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 |
openshift-merge-bot
bot
merged commit Oct 14, 2024
bf7d886
into
openstack-k8s-operators:main
7 checks passed
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
This commit adds one more way of fencing a compute node, using baremetal apis (metal3).
It works by adding a reboot annotation, see:
https://book.metal3.io/bmo/reboot_annotation.html
{"annotations":{"reboot.metal3.io/iha":"{"mode": "hard"}"}}
After the evacuation is completed this annotation is removed and the compute host powered back on.
fencing.yaml should contain something like:
The token is obtained with something like the following:
Customers should create a serviceaccount that has enough rights to perform operations on the baremetalhost resources instead of using a cluster-admin.