gchq / stroom-ansible

A home for all stroom related ansible playbooks, roles, etc.
Apache License 2.0
4 stars 6 forks source link

Manage RHEL7/RHEL8 software availability deployments #5

Open burnalting opened 4 years ago

burnalting commented 4 years ago

The common tasks playbook (stroom-ansible-master/stroom/roles/setup/common/tasks/main.yml) should be updated to better support missing software from RHEL8 (which existed in RHEL7). As per

# Install common command line tools
- name: YUM install various command line tools
  become: true
  yum:
    name: "{{ packages }}"
    state: present
  vars:
    packages:
      - bash
      - bind-utils # for nslookup
      - coreutils  # realpath is used by some stroom scripts
      - curl
      - git # Needed for migration testing, but useful to have
      - htop # Useful process monitoring
      - iproute  # needed for the ip command used in our scripts
      - jq  # Used by some stroom scripts, handy for REST json munging
      - net-tools
      - python3  # Not sure we need it but just in case
      - unzip
      - vim  # vi is not a mustard cutter

- name: YUM install various command line tools for RHEL7/Centos7 specific deploymen
  become: true
  yum:
    name: "{{ packages_v7 }}"
    state: present
  when: ansible_os_family == "RedHat" and ansible_distribution_version == '7'
  vars:
    packages_v7:
      - httpie  # Used by some stroom scripts
      - python  # Not sure we need it but just in case
at055612 commented 4 years ago

Not sure I understand the need for the second conditional task here, just include python and httpie in the first list and it will just ensure they are there, installing them if they are not. Or is is that httpie and python2 won't install on centos8?

burnalting commented 4 years ago

httpie is not available from standard Centos8 (RHEL8) repositories. python3 is the standard release for Centos8 (RHEL8). If we need python version 2 in addition to python3, then one would need to install python2.

From an accreditation point of view, is best to only install code required to run the capability.