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

Add support for CentOS / RHEL 8 #248

Closed
11 tasks
nmaludy opened this issue Aug 8, 2019 · 10 comments · Fixed by #261
Closed
11 tasks

Add support for CentOS / RHEL 8 #248

nmaludy opened this issue Aug 8, 2019 · 10 comments · Fixed by #261
Assignees
Labels
feature good first issue OS support Support/issues/PRs on a specific OS

Comments

@nmaludy
Copy link
Member

nmaludy commented Aug 8, 2019

To go along with StackStorm/st2#4761

Once this is done and there are CentOS 8 packages available, we can work to get this implemented in Ansible.

Things to handle:

  • Mongodb 4.0
  • Node 10
  • CentOS 8 vs RHEL 8
  • Removed some unused packs which were installed in EL7
  • Mistral and Postgres no longer installed
  • Python3 install numbered version

Updates for EL8:

  • RabbitMQ on RHEL 8 requires: sudo yum -y module enable perl:5.26
  • Currently need the rabbit packagecloud repo:
# Install rabbit from packagecloud
  curl -s https://packagecloud.io/install/repositories/rabbitmq/rabbitmq-server/script.rpm.sh | sudo bash
  sudo yum makecache -y --disablerepo='*' --enablerepo='rabbitmq_rabbitmq-server'
  • selinux policy utils package name is different: policycoreutils-python -> policycoreutils-python-utils
  • modify [includes/common.sh](https://github.com/StackStorm/st2-packages/blob/f0e1e650d17ccee9c8e4ab05bfdbd1a664378089/scripts/st2bootstrap-el8.sh#L256-L260) to force PEM key type.
  • MongoDB to 4.0 (Readme not updated yet)

See StackStorm/st2docs#955 more differences from EL7 -> EL8.

@arm4b arm4b added the feature label Aug 8, 2019
@punkrokk punkrokk added this to To do: Unstable (ST2 v3.2.0 release) in CentOS/RHEL 8 Support via automation Jan 28, 2020
@punkrokk punkrokk moved this from To do: Unstable (ST2 v3.2.0 release) to To do: Stable (ST2 v3.3.0 release) in CentOS/RHEL 8 Support Jan 28, 2020
@punkrokk punkrokk self-assigned this Feb 12, 2020
@blag blag added the OS support Support/issues/PRs on a specific OS label Apr 24, 2020
@amanda11
Copy link
Contributor

ansible reports the default package manager as dnf for Centos 8. As part of this issue would you want to:

  1. use dnf install rather than yum install (and therefore create mongodb_dnf.yml etc...) OR
  2. continue to use yum install, and therefore detect that if ansible_facts.pkg_mgr is dnf - still use yum?

@arm4b
Copy link
Member

arm4b commented Apr 27, 2020

@amanda11 Thanks for raising this!

For consistency reasons with st2 installation documentation, scripted installer and less diff in ansible-st2 codebase I'd prefer to rely on older yum when adding EL8 support.

@amanda11
Copy link
Contributor

Are you looking for someone to take this on?

@punkrokk
Copy link
Member

@amanda11 Happy to work with you/help you get this done. At the moment we are working on releasing ST2 3.2 which will include beta support for EL8.

FWIW - regarding yum and dnf it's my understanding that dnf is backwards compatible with yum and the yum is an alias to dnf.

Once the EL8 packages are released we can start a list of what needs to be addressed.

@amanda11
Copy link
Contributor

@punkrokk Sounds good. I had a quick play the other-day with ansible and Centos 8, and the first thing it failed on was the fact that it tries looking for files like mongodb_dnf.yml as the ansible facts package mgr reports it as dnf rather than yum (hence the inquiry).

@amanda11
Copy link
Contributor

amanda11 commented Jun 11, 2020

@punkrokk I have some free time to start looking at this if its worth starting. I was first going to take a look at the one line installer to see the differences it does for EL8.
Currentlly just applying the differences between the el7 and el8 bootstrap scripts to see differences and building into playbooks.

@amanda11
Copy link
Contributor

On a fork I have playbook changes that successfully install on Centos8 from the ansible playbook and pass the smoke tests.
Need to tidy up, and re-test with EWC and Centos 7 (and Ubuntu if known version of Ubuntu the playbooks work on...)

Are the smoke-tests in the ansible-playbook sufficient for checking that its installed correctly or is there more recommended?

@punkrokk
Copy link
Member

@amanda11 That was fast :) I was going to recommend checking the diff between ST2 3.1 and 3.2 one line install.

That being said, I think the things to look for are:

  • Install working on CentOS8
  • Check all the logs (st2, mongo, rabbit, /var/log/messages) as well as the install process for any errors.

Once that is done, create a PR from your fork & branch so we can compare and provide more feedback.

Thanks for your help on this one!

@amanda11
Copy link
Contributor

Initial PR up #261

CentOS/RHEL 8 Support automation moved this from To do: Stable (ST2 v3.3.0 release) to Done Jun 18, 2020
@arm4b
Copy link
Member

arm4b commented Jun 19, 2020

The task breakdown put together here and description of scope was super helpful.
Thanks @nmaludy!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
feature good first issue OS support Support/issues/PRs on a specific OS
Projects
No open projects
Development

Successfully merging a pull request may close this issue.

5 participants