Jump to contentJump to page navigation: previous page [access key p]/next page [access key n]
documentation.suse.com / Installing RHEL Compute Nodes / Using RHEL as a Compute Node
Applies to SUSE OpenStack Cloud 9

5 Using RHEL as a Compute Node

This section outlines how to install a RHEL Compute Node as a member of a new or existing cloud created with SUSE OpenStack Cloud.

5.1 Setting Up a Deployer for RHEL

Ensure that your environment includes a Subscription Management Tool (SMT) server. Run the following steps on that server to configure an RPM repository for use by RHEL clients.

  1. Enable SMT mirroring of the external CentOS 7.5 repository to distribute RHEL-compatible packages to nodes in the cloud.

    tux > sudo smt-setup-custom-repos --name CentOS --description "CentOS 7.5" --productid 100682 \
      --exturl https://download.opensuse.org/repositories/systemsmanagement:/Ardana:/9:/CentOS:/7.5/CentOS_7.5/
    tux > sudo smt-repos -e CentOS
    tux > sudo smt-sync
    tux > sudo smt-mirror
  2. CentOS RPM packages will now be stored on the SMT server in /srv/www/htdocs/repo/RPMMD/CentOS. If your deployer node also operates as your SMT server, publish this content to other nodes with the following command:

    tux > sudo ln -s /srv/www/htdocs/repo/RPMMD/CentOS /opt/ardana_packager/ardana/rhel7/yum/centos

    Or, if your SMT server is hosted separately from your deployer, follow the same steps for this repository as you are doing to mirror other repos, ensuring that it results in hosting the repo on the deployer at /opt/ardana_packager/ardana/rhel7/yum/centos.

  3. Add this new repo as a yum package source to cloud nodes by populating /etc/yum.repos.d/ardana-centos.repo in each RHEL system with the following contents:

    [ardana-centos]
    name=Ardana CentOS Repository
    baseurl=http://DEPLOYER-IP:79/ardana/rhel7/yum/centos
    enabled=1
    gpgcheck=0
  4. Add the new repository to the deployer node as well (and accept its certificate), but with lower priority than other repositories. This ensures that packages present in both repos are preferably installed from the SUSE Linux Enterprise Server repositories.

    tux > sudo zypper ar -p 100 file:/opt/ardana_packager/ardana/rhel7/yum/centos centos
    tux > sudo zypper ref

OpenStack components are installed on Red Hat Enterprise Linux Compute Nodes via virtualenv (venv). To facilitate this, certain packages must be installed from the ardana-centos repository on the deployer node:

for i in nova neutron monasca_agent
  do sudo zypper in -y venv-openstack-$i-rhel-x86_64
done

Once these packages are installed, they will populate a new package directory which must be prepared to serve as a RHEL yum repository:

tux > sudo create_index --dir=/opt/ardana_packager/ardana-9/rhel_venv/x86_64

5.2 Package Dependencies for RHEL Compute Nodes

The original release of RHEL 7.5 requires bug fix advisory RHBA-2018:2198 to be installed for proper DVR functionality. (If this is not done, attempts to create Floating IP resources for VMs on RHEL Compute Nodes will fail, as documented in the Red Hat Knowledge Base.) This update can be downloaded via an active RHEL license, and should be applied after the node's operating system is installed. If this results in a change to the kernel version (to the target of 3.10.0-862), a reboot will be required.

To use the OpenStack Rocky version of nova-compute and qemu-kvm, virtualization packages with versions of at least 2.10.0 must be installed on RHEL nodes.

The RPM files needed for these packages must be provided before executing site.yml. It is expected that a Red Hat Virtualization product subscription will be used to provide these RPM packages, ensuring that the latest version is installed and that continuous updates will be available.

  • qemu-img-rhev

  • qemu-kvm-common-rhev

  • qemu-kvm-rhev

  • qemu-kvm-tools-rhev

5.3 Deploying RHEL Compute Nodes

SELinux policy updates are needed for nova-compute to work properly. SELinux policy updates can be enabled by changing a flag in default configuration. This needs to be done on the Cloud Lifecycle Manager before nova-compute is installed on RHEL nodes.

  1. On the Cloud Lifecycle Manager node, edit the following file:

    cd ~/openstack/ardana/ansible
    vi roles/NOV-CMP-KVM/defaults/main.yml
  2. Set the SELinux flag to true:

    nova_rhel_compute_apply_selinux_policy_updates: true
  3. Save and close the file.

  4. Commit the change to Git:

    git commit -a --allow-empty -m "Enable SELinux policy updates for compute nodes"
  5. Publish the changes so that they are included in playbook runs:

    ansible-playbook -i hosts/localhost ready-deployment.yml

If your existing cloud is fully installed and the new RHEL compute node is being added to it, update the /etc/hosts table on existing nodes to include the new compute node.

cd ~/scratch/ansible/next/ardana/ansible
ansible-playbook -i hosts/verb_hosts site.yml --tag "generate_hosts_file"

Continue to deploy OpenStack services on RHEL nodes by providing the names of each RHEL node (as defined in hosts/verb_hosts) in the following command:

cd ~/scratch/ansible/next/ardana/ansible
ansible-playbook -i hosts/verb_hosts site.yml -l "NODE1_NAME,NODE2_NAME"

If you have used an encryption password when running the configuration processor, include the additional parameter --ask-vault-pass to the end of the above command.