Skip to content

Commit

Permalink
Create DOCA builder env
Browse files Browse the repository at this point in the history
  • Loading branch information
assumptionsandg committed Jan 30, 2025
1 parent 7b27767 commit f66506c
Show file tree
Hide file tree
Showing 10 changed files with 64 additions and 29 deletions.
27 changes: 11 additions & 16 deletions .github/workflows/package-build-ofed.yml
Original file line number Diff line number Diff line change
Expand Up @@ -19,7 +19,7 @@ on:

env:
ANSIBLE_FORCE_COLOR: True
KAYOBE_ENVIRONMENT: ci-builder
KAYOBE_ENVIRONMENT: ci-doca-builder
KAYOBE_VAULT_PASSWORD: ${{ secrets.KAYOBE_VAULT_PASSWORD }}
jobs:
overcloud-ofed-packages:
Expand Down Expand Up @@ -182,13 +182,13 @@ jobs:
- name: Bootstrap the control host
run: |
source venvs/kayobe/bin/activate &&
source src/kayobe-config/kayobe-env --environment ci-builder &&
source src/kayobe-config/kayobe-env --environment ci-doca-builder &&
kayobe control host bootstrap
- name: Run growroot playbook
run: |
source venvs/kayobe/bin/activate &&
source src/kayobe-config/kayobe-env --environment ci-builder &&
source src/kayobe-config/kayobe-env --environment ci-doca-builder &&
kayobe playbook run src/kayobe-config/etc/kayobe/ansible/growroot.yml \
-e seed_bootstrap_user="cloud-user" \
-e controller_bootstrap_user="cloud-user" \
Expand All @@ -198,29 +198,24 @@ jobs:
- name: Configure the seed host (Builder VM)
run: |
source venvs/kayobe/bin/activate &&
source src/kayobe-config/kayobe-env --environment ci-builder &&
source src/kayobe-config/kayobe-env --environment ci-doca-builder &&
kayobe seed host configure \
--skip-tags network,docker,docker-registry \
-e seed_bootstrap_user="cloud-user" \
-e controller_bootstrap_user="cloud-user" \
-e dnf_install_doca=true \
-e dnf_enable_doca_modules=false \
-e stackhpc_repos_enabled=true
--skip-tags network,docker,docker-registry
env:
KAYOBE_VAULT_PASSWORD: ${{ secrets.KAYOBE_VAULT_PASSWORD }}

- name: Run a distro-sync
run: |
source venvs/kayobe/bin/activate &&
source src/kayobe-config/kayobe-env --environment ci-builder &&
source src/kayobe-config/kayobe-env --environment ci-doca-builder &&
kayobe seed host command run --become --command "dnf distro-sync --refresh --assumeyes"
env:
KAYOBE_VAULT_PASSWORD: ${{ secrets.KAYOBE_VAULT_PASSWORD }}

- name: Reset BLS entries on the seed host
run: |
source venvs/kayobe/bin/activate &&
source src/kayobe-config/kayobe-env --environment ci-builder &&
source src/kayobe-config/kayobe-env --environment ci-doca-builder &&
kayobe playbook run src/kayobe-config/etc/kayobe/ansible/reset-bls-entries.yml \
-e "reset_bls_host=ofed-builder"
env:
Expand All @@ -229,31 +224,31 @@ jobs:
- name: Disable noexec in /var/tmp
run: |
source venvs/kayobe/bin/activate &&
source src/kayobe-config/kayobe-env --environment ci-builder &&
source src/kayobe-config/kayobe-env --environment ci-doca-builder &&
kayobe seed host command run --become --command "sed -i 's/noexec,//g' /etc/fstab"
env:
KAYOBE_VAULT_PASSWORD: ${{ secrets.KAYOBE_VAULT_PASSWORD }}

- name: Reboot to apply the kernel update
run: |
source venvs/kayobe/bin/activate &&
source src/kayobe-config/kayobe-env --environment ci-builder &&
source src/kayobe-config/kayobe-env --environment ci-doca-builder &&
kayobe playbook run src/kayobe-config/etc/kayobe/ansible/reboot.yml
env:
KAYOBE_VAULT_PASSWORD: ${{ secrets.KAYOBE_VAULT_PASSWORD }}

- name: Run OFED builder playbook
run: |
source venvs/kayobe/bin/activate &&
source src/kayobe-config/kayobe-env --environment ci-builder &&
source src/kayobe-config/kayobe-env --environment ci-doca-builder &&
kayobe playbook run src/kayobe-config/etc/kayobe/ansible/build-ofed-rocky.yml
env:
KAYOBE_VAULT_PASSWORD: ${{ secrets.KAYOBE_VAULT_PASSWORD }}

- name: Run OFED upload playbook
run: |
source venvs/kayobe/bin/activate &&
source src/kayobe-config/kayobe-env --environment ci-builder &&
source src/kayobe-config/kayobe-env --environment ci-doca-builder &&
kayobe playbook run src/kayobe-config/etc/kayobe/ansible/push-ofed.yml \
-e "ofed_tag=${{ steps.ofed_tag.outputs.ofed_tag }}"
env:
Expand Down

This file was deleted.

4 changes: 0 additions & 4 deletions etc/kayobe/environments/ci-builder/inventory/hosts
Original file line number Diff line number Diff line change
@@ -1,9 +1,5 @@
# A 'seed' host used for building images.

[ofed-builder:children]
seed
controllers

# This is neccesary to run `overcloud deployment image build`
[controllers]
builder
Expand Down
6 changes: 0 additions & 6 deletions etc/kayobe/environments/ci-builder/stackhpc-ci.yml
Original file line number Diff line number Diff line change
Expand Up @@ -108,9 +108,3 @@ ipa_build_dib_env_extra:
# builder being a member of the 'overcloud' group for IPA builds.
stackhpc_repos_enabled: false
enable_docker_repo: true

# Enable LVM for OFED builds
seed_lvm_groups:
- "{{ stackhpc_lvm_group_rootvg if dnf_install_doca | bool }}"
controller_lvm_groups:
- "{{ stackhpc_lvm_group_rootvg if dnf_install_doca | bool }}"
4 changes: 4 additions & 0 deletions etc/kayobe/environments/ci-doca-builder/.kayobe-environment
Original file line number Diff line number Diff line change
@@ -0,0 +1,4 @@
---

dependencies:
- ci-builder
19 changes: 19 additions & 0 deletions etc/kayobe/environments/ci-doca-builder/controllers.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,19 @@
---
###############################################################################
# Controller node configuration.

# User with which to access the controllers via SSH during bootstrap, in order
# to setup the Kayobe user account. Default is {{ os_distribution }}.
controller_bootstrap_user: cloud-user

###############################################################################
# Controller node LVM configuration.

# List of controller volume groups. See mrlesmithjr.manage_lvm role for
# format.
controller_lvm_groups:
- "{{ stackhpc_lvm_group_rootvg }}"

###############################################################################
# Dummy variable to allow Ansible to accept this file.
workaround_ansible_issue_8743: yes
3 changes: 3 additions & 0 deletions etc/kayobe/environments/ci-doca-builder/inventory/hosts
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
[ofed-builder:children]
seed
controllers
19 changes: 19 additions & 0 deletions etc/kayobe/environments/ci-doca-builder/seed.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,19 @@
---
###############################################################################
# Seed node configuration.

# User with which to access the seed via SSH during bootstrap, in order
# to setup the Kayobe user account. Default is {{ os_distribution }}.
seed_bootstrap_user: cloud-user

###############################################################################
# Seed node LVM configuration.

# Seed lvm configuration. See inventory/group_vars/seed/lvm.yml
# for the exact configuration.
seed_lvm_groups:
- "{{ stackhpc_lvm_group_rootvg }}"

###############################################################################
# Dummy variable to allow Ansible to accept this file.
workaround_ansible_issue_8743: yes
8 changes: 8 additions & 0 deletions etc/kayobe/environments/ci-doca-builder/stackhpc-ci.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,8 @@
---
###############################################################################
# StackHPC configuration.

# Enable StackHPC Ark repositories for DOCA builds
stackhpc_repos_enabled: true
dnf_install_doca: true
dnf_enable_doca_modules: false

0 comments on commit f66506c

Please sign in to comment.