Skip to content

Commit

Permalink
BB4 - Improve repositories (#840)
Browse files Browse the repository at this point in the history
Update repositories role and pxe_stack role to better handle repos (simplify repositories and move native removal to pxe_stack).
Also deactivated gpgkey check in Ubuntu because it currently does not comply with simple url format.
Added repositories role usage into checks too.
  • Loading branch information
oxedions committed Oct 16, 2023
1 parent 678443d commit ead8c85
Show file tree
Hide file tree
Showing 23 changed files with 225 additions and 202 deletions.
10 changes: 9 additions & 1 deletion .github/workflows/deb11.yml
Original file line number Diff line number Diff line change
Expand Up @@ -27,14 +27,18 @@ jobs:
- name: Set dummy interface
run: sudo modprobe -v dummy numdummies=2 && sudo ip addr add 10.10.0.1/16 dev dummy0 && sudo ip link set dev dummy0 up && ip a;

- name: Configure BB external repositories
run: |
echo -e 'bb_repositories:\n - name: bluebanquise\n repo: "deb [trusted=yes] http://bluebanquise.com/repository/releases/latest/deb11/x86_64/bluebanquise/ bullseye main"' > resources/workflow/inventory_standard/group_vars/all/repositories.yml
- name: Start container
run: docker run -d --privileged --cgroupns=host --net=host --name mgt1 -v /sys/fs/cgroup:/sys/fs/cgroup:rw -v $PWD:/bluebanquise debian_11:systemd

- name: Setup container
run: |
docker exec mgt1 bash -c "/bluebanquise/bootstrap/online_bootstrap.sh --silent --skip_environment"
docker exec mgt1 bash -c "sudo -u bluebanquise /bin/bash -c 'cd /bluebanquise/bootstrap/ && ./configure_environment.sh --bb_collections_local_path=/bluebanquise/collections/'"
docker exec mgt1 bash -c "curl http://bluebanquise.com/repository/releases/latest/deb11/x86_64/bluebanquise/bluebanquise.list --output /etc/apt/sources.list.d/bluebanquise.list"
# docker exec mgt1 bash -c "curl http://bluebanquise.com/repository/releases/latest/deb11/x86_64/bluebanquise/bluebanquise.list --output /etc/apt/sources.list.d/bluebanquise.list"
- name: Prepare run input files
run: docker exec mgt1 bash -c "sudo -u bluebanquise /bin/bash -c 'cp -a /bluebanquise/resources/workflow/inventory_standard /var/lib/bluebanquise/inventory && cp -a /bluebanquise/resources/workflow/playbooks /var/lib/bluebanquise'"
Expand All @@ -43,6 +47,10 @@ jobs:
# run: |
# docker exec mgt1 bash -c "sudo -u bluebanquise /bin/bash -c 'source /var/lib/bluebanquise/ansible_venv/bin/activate && ANSIBLE_VARS_ENABLED=ansible.builtin.host_group_vars,bluebanquise.commons.core ansible-playbook /var/lib/bluebanquise/playbooks/high_availability.yml -i /var/lib/bluebanquise/inventory --become --connection=local --limit mgt1 --diff --skip-tags pcs,drbd'"

- name: Repositories role execution
run: |
docker exec mgt1 bash -c "sudo -u bluebanquise /bin/bash -c 'source /var/lib/bluebanquise/ansible_venv/bin/activate && ANSIBLE_VARS_ENABLED=ansible.builtin.host_group_vars,bluebanquise.commons.core ansible-playbook /var/lib/bluebanquise/playbooks/infrastructure.yml -i /var/lib/bluebanquise/inventory --become --connection=local --limit mgt1 --diff --tags repositories'"
- name: HPC roles execution
run: |
docker exec mgt1 bash -c "sudo -u bluebanquise /bin/bash -c 'source /var/lib/bluebanquise/ansible_venv/bin/activate && ANSIBLE_VARS_ENABLED=ansible.builtin.host_group_vars,bluebanquise.commons.core ansible-playbook /var/lib/bluebanquise/playbooks/hpc.yml -i /var/lib/bluebanquise/inventory --become --connection=local --limit mgt1 --diff --tags slurm'"
Expand Down
10 changes: 9 additions & 1 deletion .github/workflows/deb12.yml
Original file line number Diff line number Diff line change
Expand Up @@ -27,18 +27,26 @@ jobs:
- name: Set dummy interface
run: sudo modprobe -v dummy numdummies=2 && sudo ip addr add 10.10.0.1/16 dev dummy0 && sudo ip link set dev dummy0 up && ip a;

- name: Configure BB external repositories
run: |
echo -e 'bb_repositories:\n - name: bluebanquise\n repo: "deb [trusted=yes] http://bluebanquise.com/repository/releases/latest/deb12/x86_64/bluebanquise/ bookworm main"' > resources/workflow/inventory_standard/group_vars/all/repositories.yml
- name: Start container
run: docker run -d --privileged --cgroupns=host --net=host --name mgt1 -v /sys/fs/cgroup:/sys/fs/cgroup:rw -v $PWD:/bluebanquise debian_12:systemd

- name: Setup container
run: |
docker exec mgt1 bash -c "/bluebanquise/bootstrap/online_bootstrap.sh --silent --skip_environment"
docker exec mgt1 bash -c "sudo -u bluebanquise /bin/bash -c 'cd /bluebanquise/bootstrap/ && ./configure_environment.sh --bb_collections_local_path=/bluebanquise/collections/'"
docker exec mgt1 bash -c "curl http://bluebanquise.com/repository/releases/latest/deb11/x86_64/bluebanquise/bluebanquise.list --output /etc/apt/sources.list.d/bluebanquise.list"
# docker exec mgt1 bash -c "curl http://bluebanquise.com/repository/releases/latest/deb11/x86_64/bluebanquise/bluebanquise.list --output /etc/apt/sources.list.d/bluebanquise.list"
- name: Prepare run input files
run: docker exec mgt1 bash -c "sudo -u bluebanquise /bin/bash -c 'cp -a /bluebanquise/resources/workflow/inventory_standard /var/lib/bluebanquise/inventory && cp -a /bluebanquise/resources/workflow/playbooks /var/lib/bluebanquise'"

- name: Repositories role execution
run: |
docker exec mgt1 bash -c "sudo -u bluebanquise /bin/bash -c 'source /var/lib/bluebanquise/ansible_venv/bin/activate && ANSIBLE_VARS_ENABLED=ansible.builtin.host_group_vars,bluebanquise.commons.core ansible-playbook /var/lib/bluebanquise/playbooks/infrastructure.yml -i /var/lib/bluebanquise/inventory --become --connection=local --limit mgt1 --diff --tags repositories'"
# - name: High availability roles execution
# run: |
# docker exec mgt1 bash -c "sudo -u bluebanquise /bin/bash -c 'source /var/lib/bluebanquise/ansible_venv/bin/activate && ANSIBLE_VARS_ENABLED=ansible.builtin.host_group_vars,bluebanquise.commons.core ansible-playbook /var/lib/bluebanquise/playbooks/high_availability.yml -i /var/lib/bluebanquise/inventory --become --connection=local --limit mgt1 --diff --skip-tags pcs,drbd'"
Expand Down
11 changes: 10 additions & 1 deletion .github/workflows/el8.yml
Original file line number Diff line number Diff line change
Expand Up @@ -27,18 +27,27 @@ jobs:
- name: Set dummy interface
run: sudo modprobe -v dummy numdummies=2 && sudo ip addr add 10.10.0.1/16 dev dummy0 && sudo ip link set dev dummy0 up && ip a;

- name: Configure BB external repositories
run: |
echo -e 'bb_repositories:\n - name: bluebanquise\n baseurl: "http://bluebanquise.com/repository/releases/latest/el8/x86_64/bluebanquise/"' > resources/workflow/inventory_standard/group_vars/all/repositories.yml
- name: Start container
run: docker run -d --privileged --cgroupns=host --net=host --name mgt1 -v /sys/fs/cgroup:/sys/fs/cgroup:rw -v $PWD:/bluebanquise rockylinux/rockylinux:8_systemd

- name: Setup container
run: |
docker exec mgt1 bash -c "/bluebanquise/bootstrap/online_bootstrap.sh --silent --skip_environment"
docker exec mgt1 bash -c "sudo -u bluebanquise /bin/bash -c 'cd /bluebanquise/bootstrap/ && ./configure_environment.sh --bb_collections_local_path=/bluebanquise/collections/'"
docker exec mgt1 bash -c "dnf install wget -y && cd /etc/yum.repos.d/ && wget http://bluebanquise.com/repository/releases/latest/el8/x86_64/bluebanquise/bluebanquise.repo && dnf config-manager --set-enabled powertools"
docker exec mgt1 bash -c "dnf install wget -y && dnf config-manager --set-enabled powertools"
# docker exec mgt1 bash -c "dnf install wget -y && cd /etc/yum.repos.d/ && wget http://bluebanquise.com/repository/releases/latest/el8/x86_64/bluebanquise/bluebanquise.repo && dnf config-manager --set-enabled powertools"
- name: Prepare run input files
run: docker exec mgt1 bash -c "sudo -u bluebanquise /bin/bash -c 'cp -a /bluebanquise/resources/workflow/inventory_standard /var/lib/bluebanquise/inventory && cp -a /bluebanquise/resources/workflow/playbooks /var/lib/bluebanquise'"

- name: Repositories role execution
run: |
docker exec mgt1 bash -c "sudo -u bluebanquise /bin/bash -c 'source /var/lib/bluebanquise/ansible_venv/bin/activate && ANSIBLE_VARS_ENABLED=ansible.builtin.host_group_vars,bluebanquise.commons.core ansible-playbook /var/lib/bluebanquise/playbooks/infrastructure.yml -i /var/lib/bluebanquise/inventory --become --connection=local --limit mgt1 --diff --tags repositories'"
# - name: High availability roles execution
# run: |
# docker exec mgt1 bash -c "dnf config-manager --set-enabled ha"
Expand Down
11 changes: 10 additions & 1 deletion .github/workflows/el9.yml
Original file line number Diff line number Diff line change
Expand Up @@ -27,14 +27,19 @@ jobs:
- name: Set dummy interface
run: sudo modprobe -v dummy numdummies=2 && sudo ip addr add 10.10.0.1/16 dev dummy0 && sudo ip link set dev dummy0 up && ip a;

- name: Configure BB external repositories
run: |
echo -e 'bb_repositories:\n - name: bluebanquise\n baseurl: "http://bluebanquise.com/repository/releases/latest/el9/x86_64/bluebanquise/"' > resources/workflow/inventory_standard/group_vars/all/repositories.yml
- name: Start container
run: docker run -d --privileged --cgroupns=host --net=host --name mgt1 -v /sys/fs/cgroup:/sys/fs/cgroup:rw -v $PWD:/bluebanquise rockylinux/rockylinux:9_systemd

- name: Setup container
run: |
docker exec mgt1 bash -c "/bluebanquise/bootstrap/online_bootstrap.sh --silent --skip_environment"
docker exec mgt1 bash -c "sudo -u bluebanquise /bin/bash -c 'cd /bluebanquise/bootstrap/ && ./configure_environment.sh --bb_collections_local_path=/bluebanquise/collections/'"
docker exec mgt1 bash -c "dnf install wget -y && cd /etc/yum.repos.d/ && wget http://bluebanquise.com/repository/releases/latest/el9/x86_64/bluebanquise/bluebanquise.repo && dnf config-manager --set-enabled crb"
docker exec mgt1 bash -c "dnf install wget -y && dnf config-manager --set-enabled crb"
# docker exec mgt1 bash -c "dnf install wget -y && cd /etc/yum.repos.d/ && wget http://bluebanquise.com/repository/releases/latest/el9/x86_64/bluebanquise/bluebanquise.repo && dnf config-manager --set-enabled crb"
- name: Prepare run input files
run: docker exec mgt1 bash -c "sudo -u bluebanquise /bin/bash -c 'cp -a /bluebanquise/resources/workflow/inventory_standard /var/lib/bluebanquise/inventory && cp -a /bluebanquise/resources/workflow/playbooks /var/lib/bluebanquise'"
Expand All @@ -46,6 +51,10 @@ jobs:
# docker exec mgt1 bash -c "sudo -u bluebanquise /bin/bash -c 'source /var/lib/bluebanquise/ansible_venv/bin/activate && ANSIBLE_VARS_ENABLED=ansible.builtin.host_group_vars,bluebanquise.commons.core ansible-playbook /var/lib/bluebanquise/playbooks/high_availability.yml -i /var/lib/bluebanquise/inventory --become --connection=local --limit mgt1 --diff -t pcs,drbd --check'"
# docker exec mgt1 bash -c "sudo -u bluebanquise /bin/bash -c 'source /var/lib/bluebanquise/ansible_venv/bin/activate && ANSIBLE_VARS_ENABLED=ansible.builtin.host_group_vars,bluebanquise.commons.core ansible-playbook /var/lib/bluebanquise/playbooks/high_availability.yml -i /var/lib/bluebanquise/inventory --become --connection=local --limit mgt1 --diff --skip-tags pcs'"

- name: Repositories role execution
run: |
docker exec mgt1 bash -c "sudo -u bluebanquise /bin/bash -c 'source /var/lib/bluebanquise/ansible_venv/bin/activate && ANSIBLE_VARS_ENABLED=ansible.builtin.host_group_vars,bluebanquise.commons.core ansible-playbook /var/lib/bluebanquise/playbooks/infrastructure.yml -i /var/lib/bluebanquise/inventory --become --connection=local --limit mgt1 --diff --tags repositories'"
- name: HPC roles execution
run: |
docker exec mgt1 bash -c "sudo -u bluebanquise /bin/bash -c 'source /var/lib/bluebanquise/ansible_venv/bin/activate && ANSIBLE_VARS_ENABLED=ansible.builtin.host_group_vars,bluebanquise.commons.core ansible-playbook /var/lib/bluebanquise/playbooks/hpc.yml -i /var/lib/bluebanquise/inventory --become --connection=local --limit mgt1 --diff --tags slurm,lmod'"
Expand Down
10 changes: 9 additions & 1 deletion .github/workflows/lp15.yml
Original file line number Diff line number Diff line change
Expand Up @@ -27,18 +27,26 @@ jobs:
- name: Set dummy interface
run: sudo modprobe -v dummy numdummies=2 && sudo ip addr add 10.10.0.1/16 dev dummy0 && sudo ip link set dev dummy0 up && ip a;

- name: Configure BB external repositories
run: |
echo -e 'bb_repositories:\n - name: bluebanquise\n repo: "https://bluebanquise.com/repository/releases/latest/lp15/x86_64/bluebanquise/"' > resources/workflow/inventory_standard/group_vars/all/repositories.yml
- name: Start container
run: docker run -d --privileged --cgroupns=host --net=host --name mgt1 -v /sys/fs/cgroup:/sys/fs/cgroup:rw -v $PWD:/bluebanquise opensuseleap_15:systemd

- name: Setup container
run: |
docker exec mgt1 bash -c "/bluebanquise/bootstrap/online_bootstrap.sh --silent --skip_environment"
docker exec mgt1 bash -c "sudo -u bluebanquise /bin/bash -c 'cd /bluebanquise/bootstrap/ && ./configure_environment.sh --bb_collections_local_path=/bluebanquise/collections/'"
docker exec mgt1 bash -c "curl http://bluebanquise.com/repository/releases/latest/lp15/x86_64/bluebanquise/bluebanquise.repo --output /etc/zypp/repos.d/bluebanquise.repo"
# docker exec mgt1 bash -c "curl http://bluebanquise.com/repository/releases/latest/lp15/x86_64/bluebanquise/bluebanquise.repo --output /etc/zypp/repos.d/bluebanquise.repo"
- name: Prepare run input files
run: docker exec mgt1 bash -c "sudo -u bluebanquise /bin/bash -c 'cp -a /bluebanquise/resources/workflow/inventory_standard /var/lib/bluebanquise/inventory && cp -a /bluebanquise/resources/workflow/playbooks /var/lib/bluebanquise'"

- name: Repositories role execution
run: |
docker exec mgt1 bash -c "sudo -u bluebanquise /bin/bash -c 'source /var/lib/bluebanquise/ansible_venv/bin/activate && ANSIBLE_VARS_ENABLED=ansible.builtin.host_group_vars,bluebanquise.commons.core ansible-playbook /var/lib/bluebanquise/playbooks/infrastructure.yml -i /var/lib/bluebanquise/inventory --become --connection=local --limit mgt1 --diff --tags repositories'"
# - name: High availability roles execution
# run: |
# docker exec mgt1 bash -c "sudo -u bluebanquise /bin/bash -c 'source /var/lib/bluebanquise/ansible_venv/bin/activate && ANSIBLE_VARS_ENABLED=ansible.builtin.host_group_vars,bluebanquise.commons.core ansible-playbook /var/lib/bluebanquise/playbooks/high_availability.yml -i /var/lib/bluebanquise/inventory --become --connection=local --limit mgt1 --diff --skip-tags pcs,drbd'"
Expand Down
10 changes: 9 additions & 1 deletion .github/workflows/u20.yml
Original file line number Diff line number Diff line change
Expand Up @@ -27,19 +27,27 @@ jobs:
- name: Set dummy interface
run: sudo modprobe -v dummy numdummies=2 && sudo ip addr add 10.10.0.1/16 dev dummy0 && sudo ip link set dev dummy0 up && ip a;

- name: Configure BB external repositories
run: |
echo -e 'bb_repositories:\n - name: bluebanquise\n repo: "deb [trusted=yes] http://bluebanquise.com/repository/releases/latest/u20/x86_64/bluebanquise/ focal main"' > resources/workflow/inventory_standard/group_vars/all/repositories.yml
- name: Start container
run: docker run -d --privileged --cgroupns=host --net=host --name mgt1 -v /sys/fs/cgroup:/sys/fs/cgroup:rw -v $PWD:/bluebanquise ubuntu_20:systemd

- name: Setup container
run: |
docker exec mgt1 bash -c "/bluebanquise/bootstrap/online_bootstrap.sh --silent --skip_environment"
docker exec mgt1 bash -c "sudo -u bluebanquise /bin/bash -c 'cd /bluebanquise/bootstrap/ && ./configure_environment.sh --bb_collections_local_path=/bluebanquise/collections/'"
docker exec mgt1 bash -c "curl http://bluebanquise.com/repository/releases/latest/u20/x86_64/bluebanquise/bluebanquise.list --output /etc/apt/sources.list.d/bluebanquise.list"
# docker exec mgt1 bash -c "curl http://bluebanquise.com/repository/releases/latest/u20/x86_64/bluebanquise/bluebanquise.list --output /etc/apt/sources.list.d/bluebanquise.list"
docker exec mgt1 bash -c "apt update && DEBIAN_FRONTEND=noninteractive apt-get install apt-utils python3-apt -y"
- name: Prepare run input files
run: docker exec mgt1 bash -c "sudo -u bluebanquise /bin/bash -c 'cp -a /bluebanquise/resources/workflow/inventory_standard /var/lib/bluebanquise/inventory && cp -a /bluebanquise/resources/workflow/playbooks /var/lib/bluebanquise'"

- name: Repositories role execution
run: |
docker exec mgt1 bash -c "sudo -u bluebanquise /bin/bash -c 'source /var/lib/bluebanquise/ansible_venv/bin/activate && ANSIBLE_VARS_ENABLED=ansible.builtin.host_group_vars,bluebanquise.commons.core ansible-playbook /var/lib/bluebanquise/playbooks/infrastructure.yml -i /var/lib/bluebanquise/inventory --become --connection=local --limit mgt1 --diff --tags repositories'"
# - name: High availability roles execution
# run: |
# docker exec mgt1 bash -c "sudo -u bluebanquise /bin/bash -c 'source /var/lib/bluebanquise/ansible_venv/bin/activate && ANSIBLE_VARS_ENABLED=ansible.builtin.host_group_vars,bluebanquise.commons.core ansible-playbook /var/lib/bluebanquise/playbooks/high_availability.yml -i /var/lib/bluebanquise/inventory --become --connection=local --limit mgt1 --diff -t pcs --check'"
Expand Down
10 changes: 9 additions & 1 deletion .github/workflows/u22.yml
Original file line number Diff line number Diff line change
Expand Up @@ -27,19 +27,27 @@ jobs:
- name: Set dummy interface
run: sudo modprobe -v dummy numdummies=2 && sudo ip addr add 10.10.0.1/16 dev dummy0 && sudo ip link set dev dummy0 up && ip a;

- name: Configure BB external repositories
run: |
echo -e 'bb_repositories:\n - name: bluebanquise\n repo: "deb [trusted=yes] http://bluebanquise.com/repository/releases/latest/u22/x86_64/bluebanquise/ jammy main"' > resources/workflow/inventory_standard/group_vars/all/repositories.yml
- name: Start container
run: docker run -d --privileged --cgroupns=host --net=host --name mgt1 -v /sys/fs/cgroup:/sys/fs/cgroup:rw -v $PWD:/bluebanquise ubuntu_22:systemd

- name: Setup container
run: |
docker exec mgt1 bash -c "/bluebanquise/bootstrap/online_bootstrap.sh --silent --skip_environment"
docker exec mgt1 bash -c "sudo -u bluebanquise /bin/bash -c 'cd /bluebanquise/bootstrap/ && ./configure_environment.sh --bb_collections_local_path=/bluebanquise/collections/'"
docker exec mgt1 bash -c "curl http://bluebanquise.com/repository/releases/latest/u22/x86_64/bluebanquise/bluebanquise.list --output /etc/apt/sources.list.d/bluebanquise.list"
# docker exec mgt1 bash -c "curl http://bluebanquise.com/repository/releases/latest/u22/x86_64/bluebanquise/bluebanquise.list --output /etc/apt/sources.list.d/bluebanquise.list"
docker exec mgt1 bash -c "apt update && DEBIAN_FRONTEND=noninteractive apt-get install apt-utils python3-apt -y"
- name: Prepare run input files
run: docker exec mgt1 bash -c "sudo -u bluebanquise /bin/bash -c 'cp -a /bluebanquise/resources/workflow/inventory_standard /var/lib/bluebanquise/inventory && cp -a /bluebanquise/resources/workflow/playbooks /var/lib/bluebanquise'"

- name: Repositories role execution
run: |
docker exec mgt1 bash -c "sudo -u bluebanquise /bin/bash -c 'source /var/lib/bluebanquise/ansible_venv/bin/activate && ANSIBLE_VARS_ENABLED=ansible.builtin.host_group_vars,bluebanquise.commons.core ansible-playbook /var/lib/bluebanquise/playbooks/infrastructure.yml -i /var/lib/bluebanquise/inventory --become --connection=local --limit mgt1 --diff --tags repositories'"
#- name: TEST
# run: |
# docker exec mgt1 bash -c "sudo -u bluebanquise /bin/bash -c 'source /var/lib/bluebanquise/ansible_venv/bin/activate && ansible-doc -t vars -l'"
Expand Down
2 changes: 1 addition & 1 deletion collections/infrastructure/galaxy.yml
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@ namespace: bluebanquise
name: infrastructure

# The version of the collection. Must be compatible with semantic versioning
version: 2.2.0
version: 2.2.1

# The path to the Markdown (.md) readme file. This path is relative to the root of the collection
readme: README.md
Expand Down
1 change: 1 addition & 0 deletions collections/infrastructure/roles/pxe_stack/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -182,6 +182,7 @@ for a group of hosts or even at hostvars level.

## Changelog

* 1.8.3: Allow all distributions to erase default repositories. Benoit Leveugle <benoit.leveugle@gmail.com>
* 1.8.2: RedHat missing rpm. Alexandra Darrieutort <alexandra.darrieurtort@u-bordeaux.fr>, Pierre Gay <pierre.gay@u-bordeaux.fr>
* 1.8.1: Update to BB 2.0 format again. Alexandra Darrieutort <alexandra.darrieurtort@u-bordeaux.fr>, Pierre Gay <pierre.gay@u-bordeaux.fr>
* 1.8.0: Update to BB 2.0 format. Benoit Leveugle <benoit.leveugle@gmail.com>
Expand Down

0 comments on commit ead8c85

Please sign in to comment.