-
-
Notifications
You must be signed in to change notification settings - Fork 102
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 conditionals for Rhel9 in common role #3802
base: master
Are you sure you want to change the base?
Conversation
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.
@AswathySK can we make these conditions smarter so we don't have to keep updating them every time a new OS is released? Or do we prefer to leave it like this so we can test the new major OS releases?
@AdamBrousseau instead of changing conditional to do it for everything greater than or equal to rhel 8 instead? |
Sure. We can get other opinions. If we change it to be something like |
@sxa do you have an opinion on the above? |
d831534
to
e9ee426
Compare
@AdamBrousseau , I have made the change as per your suggestion. |
ansible/playbooks/AdoptOpenJDK_Unix_Playbook/roles/Common/tasks/RedHat.yml
Outdated
Show resolved
Hide resolved
package: "name={{ item }} state=latest" | ||
with_items: "{{ Java_RHEL8 }}" | ||
when: (ansible_distribution_major_version == "8") | ||
when: (ansible_distribution_major_version | int >= 8) |
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.
Are these 3 cases still what we want?
From
infrastructure/ansible/playbooks/AdoptOpenJDK_Unix_Playbook/roles/Common/vars/RedHat.yml
Line 95 in 894d848
Java_RHEL8: |
Java_RHEL8:
- java-1.8.0-openjdk-devel
Java_NOT_RHEL6_PPC64: # Not RHEL8 either
- java-1.7.0-openjdk-devel
- java-1.8.0-openjdk-devel
Java_RHEL6_PPC64:
- java-1.7.0-ibm-devel
- java-1.8.0-ibm-devel
What is java 7 and 8 used for?
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.
@AdamBrousseau @sxa , I am not sure. Should we bump it to 17 or 21?
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.
As far as I can tell it's been there since the beginning. Java is needed for 2 purposes that I know of.
- Connecting agents to jenkins.
- Bootjdk for compiling java.
Since Jenkins now requires jdk17 to run agents, and jdk11 was required 2 years ago, I don't think leaving this at java8 for jenkins connections is necessary.
For bootjdk requirement, the build scripts will pull the needed jdk during the build process so having a permanent install of 8 is not necessary in my opinion.
I would want an opinion from Adopt/@sxa before we remove it completely though.
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.
As far as the boot JDK is concerned I don't want the builds pulling it down dynamically in most cases - that's mostly just a fallback mechanism. Other than pulling down the source, the builds should be able to run without network access.
I suspect those java-1.8.0* packages are no longer required, at least by Temurin, so it would likely be safe to remove them.
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.
@AdamBrousseau , @sxa ,
Since stewart is of opinion not to pull down the bootjdks by the jobs.And java8 is not required, Should we remove the installing and setting up default java part in this role or should we maybe bump it to jdk17 or 21?
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.
Yes I think that should be safe. It will hopefully be obvious if some part of the process requires it, in which case it's easy to back it out again :-)
Can the 1.7 version be installed from the RHEL9 repositories?
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.
@sxa is there another part of the PB installing java for use by the jenkins agent that Adopt is running?
We have an internal Semeru role that installs 21 for this.
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.
Yep. The adoptopenjdk_install role: .
- role: adoptopenjdk_install # JDK21 Build Bootstrap |
It's extracting as a tarball and doesn't set any default on the system to point to it, so the Jenkins agent is pointed directly to it under /usr/lub/jvm when it's started
ansible/playbooks/AdoptOpenJDK_Unix_Playbook/roles/Common/tasks/RedHat.yml
Outdated
Show resolved
Hide resolved
ansible/playbooks/AdoptOpenJDK_Unix_Playbook/roles/Common/tasks/RedHat.yml
Outdated
Show resolved
Hide resolved
e9ee426
to
5586db8
Compare
Signed-off-by: Aswathy S Kumar <[email protected]>
Signed-off-by: Aswathy S Kumar <[email protected]>
1539331
to
885e859
Compare
@AswathySK Linter failures as well |
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.
A few comments/suggestions in addition to the Java7 on RHEL9 comments above.
Should any of these changes be made in the CentOS files too?
@@ -52,11 +51,11 @@ | |||
########################## | |||
# Additional build tools # | |||
########################## | |||
- name: Install additional build tools if NOT RHEL 8 | |||
- name: Install additional build tools if NOT RHEL8 and above |
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.
Remove trailing whitespace to fix linter error
- name: Install additional build tools if NOT RHEL8 and above | |
- name: Install additional build tools if NOT RHEL8 and above |
package: "name={{ item }} state=latest" | ||
with_items: "{{ Additional_Build_Tools_NOT_RHEL8 }}" | ||
with_items: "{{ Additional_Build_Tools_NOT_RHEL8Plus }}" |
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.
We probably need to go through and sanitise some of these names. This one should probably be Additional_Build_Tools_RHEL6_RHEL7
now but that doesn't need to be changed in this PR
|
||
- name: Install Java when RedHat 6 on ppc64 | ||
package: "name={{ item }} state=latest" | ||
with_items: "{{ Java_RHEL6_PPC64 }}" | ||
when: (ansible_distribution_major_version == "6" and ansible_architecture == "ppc64") | ||
|
||
- name: Install Java when RedHat 8 | ||
- name: Install Java when RedHat 8 and RedHat 9 |
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.
- name: Install Java when RedHat 8 and RedHat 9 | |
- name: Install Java when RedHat 8 and later |
@@ -92,17 +92,6 @@ Additional_Build_Tools_RHEL7_s390x: | |||
- libstdc++.s390 # a dependency required for executing a 32-bit C binary | |||
- yum-utils # yumdownloader required for devkit creation | |||
|
|||
Java_RHEL8: |
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.
Since we still have the reference to Java_RHEL8
above I believe this should not be removed
The common role for Unix playbook doesnt include conditionals for rhel9 causing playbook failures.
Failures caused due to current condition:
Checklist