-
Notifications
You must be signed in to change notification settings - Fork 5
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
CRAYSAT-1912: Get K8s version from node-images #273
Conversation
Update the cray-sat image build process to get the Kubernetes version from its new location in the node-images repository instead of the old version in the deprecated metal-provision repository. This is more involved than just changing the repository URL and path in the `docker_scripts/config-docker-sat.sh` script because the node-images repository is private in GitHub, but metal-provision was public. Thus we need to authenticate to GitHub when cloning this repository. This is best achieved through a `git` command in the Jenkinsfile. In order to continue supporting local builds, add a target to the `Makefile` that clones the node-images repository if it does not already exist. Use the `git` protocol instead of `https` to allow it to use the user's configured SSH keypair to authenticate when cloning the repo. In either case, the node-images repository gets bind-mounted during the `RUN` command, so that it can be accessed by the `config-docker-sat.sh` script. Test Description: Built the image locally using `make image`. Then ran the container and executed `kubectl version` to verify the version of the `kubectl` client that was installed. Pushed to Jenkins and verified that the Jenkins pipeline worked.
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.
looks good
Before merge, we should test the few important places where we use kubectl. In order of importance:
|
@annapoorna-s-alt testing results: The testing looks good, hence proceeding with merging the PR |
Update the cray-sat image build process to get the Kubernetes version from its new location in the node-images repository instead of the old version in the deprecated metal-provision repository. This is more involved than just changing the repository URL and path in the `docker_scripts/config-docker-sat.sh` script because the node-images repository is private in GitHub, but metal-provision was public. Thus we need to authenticate to GitHub when cloning this repository. This is best achieved through a `git` command in the Jenkinsfile. In order to continue supporting local builds, add a target to the `Makefile` that clones the node-images repository if it does not already exist. Use the `git` protocol instead of `https` to allow it to use the user's configured SSH keypair to authenticate when cloning the repo. In either case, the node-images repository gets bind-mounted during the `RUN` command, so that it can be accessed by the `config-docker-sat.sh` script. Test Description: Built the image locally using `make image`. Then ran the container and executed `kubectl version` to verify the version of the `kubectl` client that was installed. Pushed to Jenkins and verified that the Jenkins pipeline worked. (cherry picked from commit 040f41c)
Update the cray-sat image build process to get the Kubernetes version from its new location in the node-images repository instead of the old version in the deprecated metal-provision repository. This is more involved than just changing the repository URL and path in the `docker_scripts/config-docker-sat.sh` script because the node-images repository is private in GitHub, but metal-provision was public. Thus we need to authenticate to GitHub when cloning this repository. This is best achieved through a `git` command in the Jenkinsfile. In order to continue supporting local builds, add a target to the `Makefile` that clones the node-images repository if it does not already exist. Use the `git` protocol instead of `https` to allow it to use the user's configured SSH keypair to authenticate when cloning the repo. In either case, the node-images repository gets bind-mounted during the `RUN` command, so that it can be accessed by the `config-docker-sat.sh` script. Test Description: Built the image locally using `make image`. Then ran the container and executed `kubectl version` to verify the version of the `kubectl` client that was installed. Pushed to Jenkins and verified that the Jenkins pipeline worked. (cherry picked from commit 040f41c) Co-authored-by: Ryan Haasken <[email protected]>
Summary and Scope
Update the cray-sat image build process to get the Kubernetes version from its new location in the node-images repository instead of the old version in the deprecated metal-provision repository.
This is more involved than just changing the repository URL and path in the
docker_scripts/config-docker-sat.sh
script because the node-images repository is private in GitHub, but metal-provision was public. Thus we need to authenticate to GitHub when cloning this repository. This is best achieved through agit
command in the Jenkinsfile.In order to continue supporting local builds, add a target to the
Makefile
that clones the node-images repository if it does not already exist. Use thegit
protocol instead ofhttps
to allow it to use the user's configured SSH keypair to authenticate when cloning the repo.In either case, the node-images repository gets bind-mounted during the
RUN
command, so that it can be accessed by theconfig-docker-sat.sh
script.Issues and Related PRs
Testing
Tested on:
Test description:
Built the image locally using
make image
. Then ran the container and executedkubectl version
to verify the version of thekubectl
client that was installed.Pushed to Jenkins and verified that the Jenkins pipeline worked.
Risks and Mitigations
Pull Request Checklist