Skip to content

unmtransinfo/ds-collection

 
 

Repository files navigation

Ansible Collection - cyverse.ds (modified for SW CACTI)

Modification of cyverse.ds playbooks to work on Ubuntu 24 systems.

Forked from: https://github.com/cyverse/ds-collection

Prerequisites

Only Ubuntu 24.04 is supported at this time.

The following actions need to be performed once for the admin host.

  1. The Docker package repository needs to be configured on development machines and Ansible control nodes. Do the following.

    sudo apt install ca-certificates curl gnupg lsb-release
    sudo mkdir --parents /etc/apt/keyrings
    curl --fail --location --silent --show-error https://download.docker.com/linux/ubuntu/gpg \
       | sudo gpg --dearmor --output /etc/apt/keyrings/docker.gpg
    echo "deb [arch=$(dpkg --print-architecture) signed-by=/etc/apt/keyrings/docker.gpg] \
          https://download.docker.com/linux/ubuntu \
          $(lsb_release --codename --short) stable" \
       | sudo tee /etc/apt/sources.list.d/docker.list
    sudo apt update
  2. The following system packages need to be installed on development machines and Ansible control nodes.

    • dmidecode
    • docker-ce
    • docker-compose-plugin
    • git
    • jq
    • python-is-python3
    • python3
    • python3-pip
    • rpm
    sudo apt install \
       dmidecode docker-ce docker-compose-plugin git jq python-is-python3 python3 python3-pip rpm
  3. The docker service needs to be started.

    sudo systemctl enable docker
    sudo systemctl start docker

The following actions need to be performed for each person who will be developing or deploying the Data Store.

  1. The person needs to be added to the docker group. The following assumes the person's username is DEVELOPER.

    sudo usermod --append --groups docker DEVELOPER
  2. The following python packages need to be installed on the development machines and Ansible control nodes using pip.

    • ansible-core<2.17.0
    • ansible-lint
    • dnspython
    • docker
    • jsonschema
    • molecule
    • molecule-plugins
    • netaddr
    • paramiko
    • python-irodsclient
    • requests
    • scp
    • tox-ansible
    • wheel

    This is encapsulated in the file requirements.txt.

    pip install --requirement requirements.txt
  3. The ansible collections and roles need to be installed.

    ansible-galaxy install -r requirements.yml

Important

All VMs (including the Ansible Control Node, if that is a VM) shall install rng-tools using the playbook infra_rng_tools.yml. This ensures that ansible tasks have efficient entropy in generating random numbers, preventing unexpected pauses in deployment.

About

The cyverse.ds ansible collection, modified for SW CACTI.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages

  • Python 53.4%
  • C++ 30.5%
  • Jinja 10.8%
  • Shell 3.6%
  • Dockerfile 1.5%
  • HTML 0.2%