Skip to content
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

Drop CentOS 8 and CentOS 7 boxes #1826

Closed
wants to merge 7 commits into from

Conversation

Copy link
Member

@ekohl ekohl left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Test failures are related. You'll also need to remove all references to the centos8-stream box.

While you're at it, perhaps also drop the centos8 box because CentOS Linux 8 has been EOL for much longer.

@archanaserver
Copy link
Contributor Author

Test failures are related. You'll also need to remove all references to the centos8-stream box.

Would you mind expanding it a little more, might be I'm missing something here.

While you're at it, perhaps also drop the centos8 box because CentOS Linux 8 has been EOL for much longer.

@ekohl Also for the devel box update to alma here: https://github.com/theforeman/forklift/blob/master/vagrant/boxes.d/99-local.yaml.example do we want to update to centos9-stream but also add alma8 or 9 there or only alma update? Like here(#1820) they are trying to do both for katello boxes and I can't understand.

@archanaserver
Copy link
Contributor Author

Ah I just saw what I ask is already fixed in here #1820 (comment)

@archanaserver
Copy link
Contributor Author

@ekohl would you mind reviewing the recent changes once?

@archanaserver
Copy link
Contributor Author

@ekohl i'm not quite sure about the changes i have made here, would you mind looking it :/

@ehelms
Copy link
Member

ehelms commented Jun 27, 2024

I suppose we should also drop CentOS 7 boxes as well?

Copy link
Member

@ekohl ekohl left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@ehelms yes, I did suggest that to @archanaserver in an offline conversation.

To be clear, after this I'd expect all occurrences of centos8 to be gone. There are still quite a few:

72:vagrant up centos8-stream-foreman-nightly
78:vagrant ssh centos8-stream-foreman-nightly
83:Then you can simply open your browser and navigate to `https://centos8-stream-foreman-nightly.<HOSTNAME>.example.com` where `<HOSTNAME>` is replaced by the shortname of your workstation. The first time you do this you will need to accept the self-signed certicate.
89:Katello nightly boxes are available as well; simply change `centos8-stream-foreman-nightly` to `centos8-stream-katello-nightly` and the steps are otherwise exactly the same as above.
107:vagrant up centos8-katello-devel
117:Before you can access the WebUI, you must first accept the self-signed certificate on port 3808 by visiting `https://centos8-katello-devel.<HOSTNAME>.example.com:3808` in your browser.
119:Then, navigate to `https://centos8-katello-devel.<HOSTNAME>.example.com/` to access the WebUI and preview your changes.
177:Sometimes you want to spin up the same box type (e.g. centos8-katello-devel) from within the forklift directory. While this can be added to the Vagrantfile directly, updates to the forklift repository could wipe out your local changes. To help with this, you can define a custom box re-using the configuration within the Vagrantfile. To do so, create a `99-local.yaml` file in vagrant/boxes.d/. For example, to create a custom box on CentOS 8 Stream with nightly and run the installers reset command:
181:  box: centos8-stream
228:  box: centos8
242:  box: centos8
254:openstack-centos8:
269:  box: centos8
282:  box: centos8
293:  box: centos8
309:  box: centos8
350:  box: centos8-stream-katello-nightly

docs/development.md
39:centos8-katello-devel:
40:  box: centos8-stream
55:vagrant up centos8-katello-devel
61:vagrant ssh centos8-katello-devel
70:The Katello development stable box is named `centos8-katello-devel-stable`. Please see the [documentation on stable boxes](./stable_boxes.md) for more information on how to use this box.
72:After spinning up `centos8-katello-devel-stable`, it's a good idea to pull the latest git branches and update gems and npm packages after spinning up a stable box. If a stable box image hasn't been published in a while, these can be out-of-date.
83:Because we are using a webpack server in conjunction with a rails server, there are different ways of starting a server depending on your needs and preferences. The following are instructions for starting the server using a base `centos8-katello-devel` box as a starting point.
87:- Navigate to `https://centos8-katello-devel.<hostname>.example.com/` where `<hostname>` is the shortname of your hypervisor (machine your VM is running on) and accept the self-signed certs.
88:- Accept the self-signed certs on port 3808 at `https://centos8-katello-devel.<hostname>.example.com:3808`.
111:A git repo's contents can be copied to the target user's home directory when spinning up a `centos8-katello-devel` or `centos8-katello-devel-stable` box. This can be done by specifying the `customize_home_git_repo` ansible variable. For example:
114:centos8-katello-devel-stable:
116:  hostname: centos8-katello-devel-stable.example.com
135:You can have files automatically copied over to the target user's home directory when spinning up a `centos8-katello-devel` or `centos8-katello-devel-stable` box. Here are the steps to specify custom files to be copied over:
307:      katello_client_server: 'centos8-katello-devel'

docs/stable_boxes.md
11:A stable box is a box that uses a published vagrant image of a successfully installed environment. These boxes usually have names that end with `-stable`, for example `centos8-katello-devel-stable`.
21:2. `vagrant up centos8-katello-devel-stable` to spin up the box (change the box name to the one you want to spin up)
31:For example with `centos8-katello-devel-stable`:
32:1. `vagrant destroy centos8-katello-devel-stable`
33:2. `vagrant box update centos8-katello-devel-stable`
34:3. `vagrant up centos8-katello-devel-stable`
78:For example, here is the workflow for `centos8-katello-devel-stable`:
80:1. A cron job or scheduled automation builds the box image with Packer using the `packer/centos8-katello-devel-stable.json` template.
86:1. A forklift user uses the box definition with `katello/katello-devel` as the base image, most likely the copied `centos8-katello-devel-stable` box definition.
87:2. On `vagrant up centos8-katello-devel-stable`, the most recent box image is downloaded from Vagrant clould and the box is created.

vagrant/test/lib/box_loader_test.rb
13:    assert_includes loader.boxes, 'centos8-stream-katello-nightly'
14:    assert_equal 'centos8-stream-katello-nightly', loader.boxes['centos8-stream-katello-nightly']['name']
15:    assert_equal 'centos/stream8', loader.boxes['centos8-stream-katello-nightly']['box_name']

vagrant/boxes.d/99-local.yaml.example
2:centos8-katello-devel:
4:  box: centos8-stream
18:centos8-luna-demo:
19:  box: centos8-stream
24:centos8-hammer-devel:
25:  box: centos8-stream
31:      #hammer_devel_server: centos8-katello-devel.custom-domain.example.com
34:  box: centos8-katello-nightly
37:centos8-proxy-devel:
38:    box: centos8-stream
42:      server: 'centos8-katello-devel'
50:      katello_client_server: 'centos8-katello-devel'
52:centos8-katello-client:
53:  box: centos8-stream
58:      katello_client_server: 'centos8-katello-devel'
60:centos8-katello-bats-ci:
61:  box: centos8-stream
72:centos8-dynflow-devel:
73:  box: centos8-stream
81:centos8-katello-nightly-stable:
84:  hostname: centos8-katello-nightly-stable.example.com
86:centos8-katello-devel-stable:
89:  hostname: centos8-katello-devel-stable.example.com
98:centos8-squid:
99:  box: centos8-stream
108:centos8-foreman-smoker:
109:  box: centos8-stream
113:      smoker_base_url: "CHANGEME" # For example: "https://centos8-katello-devel-stable.example.com"

pipelines/katello_devel/03-tests.yml
3:  - pipeline-katello-devel-centos8

pipelines/katello_devel/02-install.yml
3:  - pipeline-katello-devel-centos8

pipelines/vars/katello_devel.yml
1:forklift_name: pipeline-katello-devel-centos8
3:  pipeline-katello-devel-centos8:
4:    box: centos8-stream

pipelines/vars/common/katello_nightly_centos_stream_8.yml
3:pipeline_os: centos8-stream

pipelines/vars/common/foreman_nightly_centos_stream_8.yml
3:pipeline_os: centos8-stream

roles/forklift_versions/molecule/default/verify.yml
10:    pipeline_os: centos8-stream

Some of these directly cause the tests to fail, others less so.

I'm debating the katello_devel test pipeline. AFAIK it's been broken for a long time and in theforeman/jenkins-jobs@44ddb48 (2022) we dropped the pipeline. Perhaps just get rid of the code as well?

Then as @ehelms suggested, do the same for centos7. Perhaps in this PR, perhaps in a separate.

I also suggested we can drop some old versions.

@archanaserver
Copy link
Contributor Author

I'm debating the katello_devel test pipeline. AFAIK it's been broken for a long time and in theforeman/jenkins-jobs@44ddb48 (2022) we dropped the pipeline. Perhaps just get rid of the code as well?

Since it has been broken and dropped, i believe it make sense to remove the code. i've updated the PR.

Then as @ehelms suggested, do the same for centos7. Perhaps in this PR, perhaps in a separate.

I also suggested we can drop some old versions.

Also #1832

@archanaserver archanaserver force-pushed the cs8-drop branch 2 times, most recently from 43167a0 to 728b309 Compare July 16, 2024 11:33
@archanaserver archanaserver force-pushed the cs8-drop branch 5 times, most recently from b1b42dd to aac6722 Compare July 17, 2024 18:58
README.md Outdated Show resolved Hide resolved
@archanaserver archanaserver force-pushed the cs8-drop branch 4 times, most recently from 776c820 to 39a4634 Compare July 18, 2024 12:19
@evgeni
Copy link
Member

evgeni commented Jul 18, 2024

Ansible part LGTM, didn't look at the rest.

README.md Outdated Show resolved Hide resolved
@@ -108,12 +108,12 @@ in your boxes.yaml entry to configure this on box creation.

#### Custom files from git repo

A git repo's contents can be copied to the target user's home directory when spinning up a `centos8-katello-devel` or `centos8-katello-devel-stable` box. This can be done by specifying the `customize_home_git_repo` ansible variable. For example:
A git repo's contents can be copied to the target user's home directory when spinning up a `centos9-katello-devel` or `almalinux8-katello-devel-stable` box. This can be done by specifying the `customize_home_git_repo` ansible variable. For example:
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Please consistently point to centos9

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@ekohl i've just re-reviewed all the changes, hopefully this time i haven't missed anything this time :/

Copy link
Member

@ekohl ekohl left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Could you submit things as separate PRs? Where one depends on another you can wait with submitting it. I at least think that the katello_devel pipeline drop is incomplete, because in 264a2bf you update a config file for that pipeline. If you drop a pipeline, it also doesn't need any configuration anymore.

You also have 6bb4d27 but that should be part of d5775d0 because otherwise the tests are broken.

The thing to aim for is that every commit as a whole can be merged and improve things. That means CI should be able to pass for every commit.

@archanaserver
Copy link
Contributor Author

@ekohl does it looks good? i'll try splitting it on separate PR after that.

@archanaserver
Copy link
Contributor Author

Could you submit things as separate PRs? Where one depends on another you can wait with submitting it. I at least think that the katello_devel pipeline drop is incomplete, because in 264a2bf you update a config file for that pipeline. If you drop a pipeline, it also doesn't need any configuration anymore.

@ekohl i've tried splitting the work in separate PRs, #1841 depends on rest, we can look on this first. i'll add rest of the PRs in draft as if now, will update things once we start merging things.

@archanaserver archanaserver changed the title Drop CentOS 8 stream box Drop CentOS 8 and CentOS 7 boxes Sep 9, 2024
@archanaserver
Copy link
Contributor Author

All changes are merged check #1826 (comment), so closing this one.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

4 participants