-
Notifications
You must be signed in to change notification settings - Fork 45
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 CentOS / RHEL 8 support #2997
Conversation
Hello alexandre-allard-scality,My role is to assist you with the merge of this Status report is not available. |
Waiting for approvalThe following approvals are needed before I can proceed with the merge:
Peer approvals must include at least 1 approval from the following list: |
scripts/bootstrap.sh.in
Outdated
) | ||
# shellcheck disable=SC2034 | ||
# Used through an indirection | ||
declare -a PACKAGES_REDHAT_7=( | ||
python36-rpm |
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.
Whenever I see python36-rpm
for EL7 and python36
for EL8 I'm very confused. python36-rpm
is not alike python36
, 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.
No, python36-rpm is the python36 lib to interact with rpm
Maybe it's not needed in rhel8 (and btw it's maybe also no longer needed with salt 3002.2 we have now, I didn't checked, but it's not related to this PR btw saltstack/salt#57972)
I agree it's really different stuff and to be consistent we may want to install "python36-rpm" on rhel8 as well (if this package exists, otherwise maybe we should add also "python36" in the list for rhel7 even if it's not really needed since it's a dependency of "python36-rpm")
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.
Exactly. So, if we need python36-rpm
on RHEL7 systems and python36
(when not using the RPM bindings), we should declare python36
as a dependency, and not rely on it being implicitly available because we install python36-rpm
which has python36
as a dep.
If on RHEL8 we don't need python36-rpm
, then it shouldn't be listed and only include python36
(or similar).
Let's try to keep the differences between the OSes as minimal as possible.
63fc71b
to
e399ea7
Compare
Integration data createdI have created the integration data for the additional destination branches.
The following branches will NOT be impacted:
You can set option
|
Waiting for approvalThe following approvals are needed before I can proceed with the merge:
Peer approvals must include at least 1 approval from the following list: |
History mismatchMerge commit #1b51240e40a36dca6f7908a4ccd9686ef89c2895 on the integration branch It is likely due to a rebase of the branch Please use the |
e399ea7
to
aad4ed1
Compare
History mismatchMerge commit #376abd07345365be5aa2dbbfe7b5a8ce3de3776d on the integration branch It is likely due to a rebase of the branch Please use the |
aad4ed1
to
8c3ce93
Compare
/reset |
Reset completeI have successfully deleted this pull request's integration branches. |
Integration data createdI have created the integration data for the additional destination branches.
The following branches will NOT be impacted:
You can set option
|
Waiting for approvalThe following approvals are needed before I can proceed with the merge:
Peer approvals must include at least 1 approval from the following list: |
History mismatchMerge commit #ebfb1157ae2a9ca5c87b54362ce1607a7e6bf3d8 on the integration branch It is likely due to a rebase of the branch Please use the |
8c3ce93
to
9549335
Compare
History mismatchMerge commit #0879315b1d49ca58f6aa6bc03f76bd0bd7860ca5 on the integration branch It is likely due to a rebase of the branch Please use the |
Waiting for approvalThe following approvals are needed before I can proceed with the merge:
Peer approvals must include at least 1 approval from the following list: |
6fe85bd
to
130ce88
Compare
ConflictThere is a conflict between your branch Please resolve the conflict on the feature branch ( $ git fetch
$ git checkout origin/feature/2164-support-centos-8
$ git merge origin/development/2.8
$ # <intense conflict resolution>
$ git commit
$ git push origin HEAD:feature/2164-support-centos-8 |
130ce88
to
b2c2deb
Compare
Waiting for approvalThe following approvals are needed before I can proceed with the merge:
Peer approvals must include at least 1 approval from the following list: |
8991be5
to
1bba292
Compare
Create a tree under packages/redhat to handle multiple releases. Adapt paths in the buildchain to the new scheme. Refs: #2164
Create a tree under `packages/debian` to handle multiple releases. Adapt paths in the buildchain to the new scheme. Refs: #2164
This is no longer needed as it has been fixed in Salt 3002, python36-rpm is now a direct dependency of salt-minion.
Since we now support multiple release, we need to append the release in the path to retrieve the right repository. Refs: #2164
Apt is not made to be used in a non-interactive way, but we do in the script used to fetch and build ubuntu packages. We deactivate the warning as it pollutes log output when there is a need to debug.
Use match to retrieve matched values instead of doing a match and then a gensub.
It looks like on CentOS 8, repoquery returns some SRPMs when looking for a package dependency. So, let's filter them out since we don't care about these. Refs: #2164
btrfs is no longer supported on RHEL 8, so we disable btrfs support for containerd on RHEL 8. Refs: #2164
Since RHEL 8 does not ship Python 2, we build this package for Python 3 instead 2. Refs: #2164
This is the definition to build the container image used to download and build MetalK8s packages and dependencies for RHEL 8. Refs: #2164
The purpose of this builder is to download and build RHEL 8 packages. Refs: #2164
Download and build packages for CentOS 8 Refs: #2164
In RHEL 8, the package name in repoquery command is no longer a positional argument, but the argument of the `--whatrequires` option, so we need to move this option right after the package name. Refs: #2164
On CentOS/RHEL 8, ensure Python3 is installed prior to do anything else. This is needed because there is no Python installed otherwise and we need it for some scripts (e.g. to check packages presence, before proceeding to bootstrap) Refs: #2164
We need this option on RHEL 8, otherwise we end up with RHSM information polluting stdout which then breaks the module waiting for a specific output format `<package-name> <version>`. Refs: #2164
Since we now support RHEL 8, we want to test it in pre-merge on a single-node instead of RHEL 7. Refs: #2164
Since all code in MetalK8s is APL2 licensed, let's put our sosreport plugin under the same license
Clean up entries that are no longer used anywhere. These are leftovers when we were using fromrepo to install embedded packages.
04ed5d2
to
ae58ee1
Compare
Waiting for approvalThe following approvals are needed before I can proceed with the merge:
Peer approvals must include at least 1 approval from the following list: |
/approve |
Waiting for approvalThe following approvals are needed before I can proceed with the merge:
Peer approvals must include at least 1 approval from the following list:
The following options are set: approve |
In the queueThe changeset has received all authorizations and has been added to the The changeset will be merged in:
The following branches will NOT be impacted:
There is no action required on your side. You will be notified here once IMPORTANT Please do not attempt to modify this pull request.
If you need this pull request to be removed from the queue, please contact a The following options are set: approve |
I have successfully merged the changeset of this pull request
The following branches have NOT changed:
Please check the status of the associated issue None. Goodbye alexandre-allard-scality. |
Component: salt, build, packages
Context:
Support for CentOS 8 / RHEL 8
Summary:
Acceptance criteria:
Installation on RHEL 8 works (single-node-install-rhel-8) and on other dists also.
Closes: #2164