-
Notifications
You must be signed in to change notification settings - Fork 145
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
CRI-O: match version against openshift #901
Conversation
Tags live here for now: https://hub.docker.com/r/runcom/cri-o-system-container/tags/ - we'll configure |
d3063a1
to
ef1553b
Compare
Historically logic like this has a habit of breaking whenever something crazy happens with versioning. I think it may be better to have a switch-case and very explicit requirements? |
You mean to not concatenate strings to build up the image string for the installer? We can avoid that, but that requires us to update this repo every time a new release come up no? I think I'm missing something |
Yes, it would require it to be updated. If you think releases are very frequent then maybe it's a bad idea. If it's once per release of Origin that's usually once every couple of months and totally OK. I would rather heave a static list/mapping we have to update than logic that fails in some weird edge cases or ends up installing something unexpected. Switch/case can have a well defined |
@@ -118,7 +119,7 @@ extensions: | |||
--inventory sjb/inventory/ \ | |||
-e deployment_type=origin \ | |||
-e openshift_use_crio=True \ | |||
-e openshift_crio_systemcontainer_image_override=docker.io/gscrivano/cri-o-centos \ | |||
-e openshift_crio_systemcontainer_image_override="docker.io/runcom/cri-o-system-container:v${crio_tag}" \ |
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.
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.
true. If this is the version currently used by the CI then crio_tag
looks empty
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.
This seems to be merged .... but not "merged". 😕
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 just talked with @runcom He deployed it to test to see if it works. We need to debug why the tag isn't getting set.
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.
yup, I'll debug it asap
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.
@runcom were you able to find the issue?
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'm debugging here just right now, I'll update this once I find something
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.
should be fixed now, I'll work on Steve's switch case for images
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've deployed this to the origin CI already so we can test if it fixes the empty crio_tag issue
21ff45b
to
8923ed9
Compare
@stevekuznetsov added the case statement for the crio image PTAL (deployed to the CI as well for the crio jobs) |
@@ -105,6 +105,21 @@ extensions: | |||
timeout: 7200 | |||
repository: "aos-cd-jobs" | |||
script: |- | |||
crio_tag="$( cat ./ORIGIN_PKG_VERSION | cut -d'-' -f2 | cut -d'.' -f1,2 )" |
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 was also interested in this being fragile. Can you use regex in the case
statements?
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.
You mean extracting something like "3.9" with a regexp from that file? I could do that yeah
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.
Right
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.
fixed, now using grep
@ashcrow so I've fixed the image tag but now we have another issue https://ci.openshift.redhat.com/jenkins/job/test_branch_origin_extended_conformance_crio/185/consoleFull#54402166758b6e51eb7608a5981914356 which is not related to CRI-O
|
8923ed9
to
e3fa4be
Compare
Are you starting the job manually? Use |
oh, I see, I'll just /test crio then |
So it's failing again https://ci.openshift.redhat.com/jenkins/job/test_pull_request_origin_extended_conformance_crio/427/consoleFull#-190934373858b6e51eb7608a5981914356 but this time it tries to restart CRI-O but it hasn't been installed, has something changed in openshift-ansible that now forgets to "atomic install" CRI-O? |
@runcom not that I'm aware of ... but looking at the code it doesn't look correct. It literally installed node items but didn't install the system container 😕. I see that the |
I think this may be it but I'm not sure. The role used to require the @michaelgugino / @sdodson ^^ Thoughts? |
Looks like it merged yesterday openshift/openshift-ansible#6297 |
So that's another reason to test cri-o as well in openshift ansible ha |
Docker has been renamed to container_runtime to more accurately reflect its purpose. This must now be called from prerequisites.yml before calling byo/config.yml |
@michaelgugino thanks. Was there a reason this wasn't called already or is it a bug from refactoring? |
I have some patches here, I will push them shortly. Another thing, we should enable container-engine in the system-containers tests. |
e3fa4be
to
bb41f5f
Compare
It's intentional. So we need to ensure those vars are set when calling prerequisites too before this PR will produce the desired outcome. |
isn't it all fixed now? we have a bunch of PR in both origin and openshift-ansible that are blocked on this cause they're using the wrong cri-o system container image (maybe I'm missing something) |
Any and all variables used with any and all of the plays must be used with prerequisites.yml. In the case of container_runtime, that is all configured during prerequisites.yml. prerequisites.yml configures all of the host-level settings for each container runtime. In the case of system containers, this is when the runtime images are pulled and configured. I highly recommend refactoring some of the tests to use a extra_vars file instead of passing most things via cli in the script. This will help alleviate some of the issues in the future. |
@michaelgugino Is that something which can be done in a follow-on PR? |
@sdodson++ |
@sdodson Thanks! |
@michaelgugino Does it look okay now with @sdodson commit? |
Yeah, the job ran with latest on master so I think this change is good to go. |
Signed-off-by: Antonio Murdaca <[email protected]>
38f2408
to
b8e0743
Compare
I opened up runcom/cri-o-system-container#1 to ensure that this is the image that is in @runcom's namespace. Pulling and looking at it I'm pretty sure it is. |
@mrunalp @Kargakis @stevekuznetsov PTAL this will fix openshift/origin#17546 by pulling the correct image for the CRI-O system container
Signed-off-by: Antonio Murdaca [email protected]