Skip to content

Caracal to Epoxy sync #1699

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Merged
merged 55 commits into from
Jun 11, 2025
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
55 commits
Select commit Hold shift + click to select a range
61011bf
Make SMS the default runner environment
MaxBed4d May 14, 2025
d3628ef
Add environment variables and secrets
MaxBed4d May 14, 2025
90b8f10
Set VM flavour based on env vars
MaxBed4d May 14, 2025
a812b7c
Fix PCI passthrough default templates
seunghun1ee May 14, 2025
4cc75d1
Merge pull request #1648 from stackhpc/fix-pci-default-template
seunghun1ee May 15, 2025
40240f9
Merge pull request #1649 from stackhpc/zed-utils
Alex-Welsh May 15, 2025
5a71efa
Merge pull request #1652 from stackhpc/cherry-pick-f14616-stackhpc/20…
Alex-Welsh May 15, 2025
67961f9
CI: Avoid dependency updates in forks
priteau May 15, 2025
f08cc5a
Merge pull request #1654 from stackhpc/update-dependencies-stackhpc-only
Alex-Welsh May 15, 2025
45d731d
Var to set upgrade AiOs to Leafcloud
MaxBed4d May 16, 2025
64da1b1
fix: use `rabbitmq` length for `RabbitMQNodeDown` (#1579)
jackhodgkiss May 19, 2025
ffbf780
Bump kayobe to stackhpc/16.6.0.5
stackhpc-ci May 20, 2025
7aee438
Bump kolla-ansible to stackhpc/18.6.0.10
stackhpc-ci May 20, 2025
f8ae750
Merge pull request #1658 from stackhpc/update-dependency/kayobe/stack…
Alex-Welsh May 20, 2025
9bdf4f6
Merge branch 'stackhpc/2024.1' into update-dependency/kolla-ansible/s…
Alex-Welsh May 20, 2025
f83ae51
Merge pull request #1657 from stackhpc/update-dependency/kolla-ansibl…
Alex-Welsh May 20, 2025
a9b8224
Merge pull request #1646 from stackhpc/arc-aio
Alex-Welsh May 20, 2025
aeba2ef
Set check_mode to false for Kayobe/Kolla-Ansible version checks
assumptionsandg May 22, 2025
902e393
Bump magnum-capi-helm
Alex-Welsh May 22, 2025
4aeeb0e
Merge pull request #1667 from stackhpc/disable-check-mode-version-check
jovial May 22, 2025
cc10a8b
Bump Ceph Reef container image to v18.2.7
priteau May 26, 2025
42be8f4
Merge pull request #1669 from stackhpc/bump-ceph-reef
Alex-Welsh May 29, 2025
03452e7
bump ovs/ovn in RL9 in caracal
bbezak May 29, 2025
4173e58
Merge branch 'stackhpc/2024.1' into 2024.1-bump-ovs/ovn
bbezak May 29, 2025
e2a3df6
Merge pull request #1668 from stackhpc/bump-capi
Alex-Welsh May 29, 2025
0fd51f5
Merge branch 'stackhpc/2024.1' into 2024.1-bump-ovs/ovn
bbezak May 29, 2025
bd7a576
Merge pull request #1670 from stackhpc/2024.1-bump-ovs/ovn
bbezak May 30, 2025
ed21759
Fix release note link format
Alex-Welsh May 30, 2025
700704c
fix: do not attempt to install `python3-venv` on non `Ubuntu` systems
jackhodgkiss May 30, 2025
0e9d0c6
Merge pull request #1674 from stackhpc/reno-format
priteau May 30, 2025
c011884
Merge branch 'stackhpc/2024.1' into smartmon-rl9-fix
jackhodgkiss May 31, 2025
d6a8981
Prometheus: Remove build overrides
cityofships Feb 19, 2025
84ad0cb
Bump up Prometheus image tag
cityofships Feb 3, 2025
7413635
Merge pull request #1534 from stackhpc/2024.1_bump_exporters
Alex-Welsh Jun 2, 2025
becb4e7
Merge pull request #1675 from stackhpc/smartmon-rl9-fix
jackhodgkiss Jun 2, 2025
bb093ca
CI: Add upstream-sync workflow
priteau Jun 3, 2025
c2620d6
Merge pull request #1678 from stackhpc/skc-upstream-sync
Alex-Welsh Jun 3, 2025
5ae9d02
CI: Fix workflow syntax error
priteau Jun 3, 2025
5d5fac1
Merge pull request #1679 from stackhpc/skc-upstream-sync
Alex-Welsh Jun 3, 2025
712030c
Add an option to append content to Ceph configs
m-bull Jun 3, 2025
b2bb217
CI: Configure upstream repository to use for sync
priteau Jun 4, 2025
d97ede4
Merge pull request #1681 from stackhpc/skc-upstream-sync
Alex-Welsh Jun 5, 2025
cb45c4c
Merge pull request #1680 from stackhpc/ceph-conf-custom-config
Alex-Welsh Jun 5, 2025
47d7ccd
docs: fix link to IPA upstream documentation
priteau Jun 5, 2025
e3f50f4
Merge pull request #1682 from stackhpc/doc-fix
Alex-Welsh Jun 5, 2025
88786d6
feat: add `stack` user for `Pulp`
jackhodgkiss Jun 5, 2025
9576517
Merge pull request #1683 from stackhpc/pulp-stack-user
Alex-Welsh Jun 6, 2025
43aa6e1
Remove old OFED method
MoteHue Jun 9, 2025
07128e6
Merge pull request #1691 from stackhpc/remove-old-ofed-method
MoteHue Jun 9, 2025
759761c
feat: add support for `HA` Raft in `OpenBao`
jackhodgkiss May 13, 2025
b989ef1
feat: add `openbao_tls_ca` for raft peers
jackhodgkiss Jun 7, 2025
8e05932
fix: update CA certificate paths in monitoring and tempest configurat…
jackhodgkiss Jun 7, 2025
7cc1943
feat: upgrade `stackhpc.hashicorp` => `2.7.1`
jackhodgkiss Jun 9, 2025
ae13db3
Merge pull request #1694 from stackhpc/openbao-ha-raft
bbezak Jun 10, 2025
a9e49fd
Merge branch 'stackhpc/2024.1' into caracal-to-epoxy-sync
seunghun1ee Jun 11, 2025
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
43 changes: 17 additions & 26 deletions .github/workflows/stackhpc-all-in-one.yml
Original file line number Diff line number Diff line change
Expand Up @@ -7,11 +7,10 @@ name: All in one
on:
workflow_call:
inputs:
runner:
required: false
runner_env:
description: Which cloud to run on?
type: string
description: 'Runner name'
default: 'arc-skc-aio-runner'
default: SMS Lab
kayobe_image:
description: Kayobe container image
type: string
Expand Down Expand Up @@ -40,18 +39,6 @@ on:
description: Default network interface name
type: string
default: ens3
vm_flavor:
description: Flavor for the all-in-one VM
type: string
default: en1.medium
vm_network:
description: Network for the all-in-one VM
type: string
default: stackhpc-ci
vm_subnet:
description: Subnet for the all-in-one VM
type: string
default: stackhpc-ci
OS_CLOUD:
description: Name of cloud in clouds.yaml
type: string
Expand Down Expand Up @@ -87,11 +74,18 @@ on:
required: true

jobs:
runner-selection:
uses: ./.github/workflows/runner-selector.yml
with:
runner_env: ${{ inputs.upgrade == true && 'Leafcloud' || inputs.runner_env }}
# NOTE: Runner needs unzip and nodejs packages.
all-in-one:
name: All in one
if: ${{ inputs.if && !cancelled() }}
runs-on: ${{ inputs.runner }}
environment: ${{ inputs.upgrade == true && 'Leafcloud' || inputs.runner_env }}
runs-on: ${{ needs.runner-selection.outputs.runner_name_aio }}
needs:
- runner-selection
permissions: {}
env:
KAYOBE_ENVIRONMENT: ci-aio
Expand Down Expand Up @@ -170,9 +164,9 @@ jobs:
aio_vm_interface = "${{ env.VM_INTERFACE }}"
aio_vm_name = "${{ env.VM_NAME }}"
aio_vm_image = "${{ env.VM_IMAGE }}"
aio_vm_flavor = "${{ env.VM_FLAVOR }}"
aio_vm_network = "${{ env.VM_NETWORK }}"
aio_vm_subnet = "${{ env.VM_SUBNET }}"
aio_vm_flavor = "${{ vars.HOST_IMAGE_BUILD_FLAVOR }}"
aio_vm_network = "${{ vars.HOST_IMAGE_BUILD_NETWORK }}"
aio_vm_subnet = "${{ vars.HOST_IMAGE_BUILD_SUBNET }}"
aio_vm_volume_size = "${{ env.VM_VOLUME_SIZE }}"
aio_vm_tags = ${{ env.VM_TAGS }}
EOF
Expand All @@ -181,9 +175,6 @@ jobs:
SSH_USERNAME: "${{ inputs.ssh_username }}"
VM_NAME: "skc-ci-aio-${{ inputs.neutron_plugin }}-${{ github.run_id }}"
VM_IMAGE: ${{ steps.image_name.outputs.image_name }}
VM_FLAVOR: ${{ inputs.vm_flavor }}
VM_NETWORK: ${{ inputs.vm_network }}
VM_SUBNET: ${{ inputs.vm_subnet }}
VM_INTERFACE: ${{ inputs.vm_interface }}
VM_VOLUME_SIZE: ${{ inputs.upgrade && '65' || '50' }}
VM_TAGS: '["skc-ci-aio", "PR=${{ github.event.number }}"]'
Expand All @@ -192,7 +183,7 @@ jobs:
run: terraform plan
working-directory: ${{ github.workspace }}/terraform/aio
env:
OS_CLOUD: ${{ inputs.OS_CLOUD }}
OS_CLOUD: ${{ vars.OS_CLOUD }}
OS_APPLICATION_CREDENTIAL_ID: ${{ secrets.OS_APPLICATION_CREDENTIAL_ID }}
OS_APPLICATION_CREDENTIAL_SECRET: ${{ secrets.OS_APPLICATION_CREDENTIAL_SECRET }}

Expand All @@ -213,7 +204,7 @@ jobs:
exit 1
working-directory: ${{ github.workspace }}/terraform/aio
env:
OS_CLOUD: ${{ inputs.OS_CLOUD }}
OS_CLOUD: ${{ vars.OS_CLOUD }}
OS_APPLICATION_CREDENTIAL_ID: ${{ secrets.OS_APPLICATION_CREDENTIAL_ID }}
OS_APPLICATION_CREDENTIAL_SECRET: ${{ secrets.OS_APPLICATION_CREDENTIAL_SECRET }}

Expand Down Expand Up @@ -471,7 +462,7 @@ jobs:
run: terraform destroy -auto-approve
working-directory: ${{ github.workspace }}/terraform/aio
env:
OS_CLOUD: ${{ inputs.OS_CLOUD }}
OS_CLOUD: ${{ vars.OS_CLOUD }}
OS_APPLICATION_CREDENTIAL_ID: ${{ secrets.OS_APPLICATION_CREDENTIAL_ID }}
OS_APPLICATION_CREDENTIAL_SECRET: ${{ secrets.OS_APPLICATION_CREDENTIAL_SECRET }}
if: always()
1 change: 1 addition & 0 deletions .github/workflows/update-dependencies.yml
Original file line number Diff line number Diff line change
Expand Up @@ -14,6 +14,7 @@ on:

jobs:
propose_github_release_updates:
if: github.repository == 'stackhpc/stackhpc-kayobe-config'
runs-on: ubuntu-22.04
strategy:
matrix:
Expand Down
38 changes: 38 additions & 0 deletions .github/workflows/upstream-sync.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,38 @@
---
name: Upstream Sync
'on':
schedule:
- cron: "15 8 * * 1"
workflow_dispatch:
permissions:
contents: write
pull-requests: write
jobs:
synchronise-2023-1:
if: github.repository == 'stackhpc/stackhpc-kayobe-config'
name: Synchronise 2023.1
uses: stackhpc/.github/.github/workflows/upstream-sync.yml@main
with:
release_series: 2023.1
upstream: openstack/kayobe-config
synchronise-2024-1:
if: github.repository == 'stackhpc/stackhpc-kayobe-config'
name: Synchronise 2024.1
uses: stackhpc/.github/.github/workflows/upstream-sync.yml@main
with:
release_series: 2024.1
upstream: openstack/kayobe-config
synchronise-2025-1:
if: github.repository == 'stackhpc/stackhpc-kayobe-config'
name: Synchronise 2025.1
uses: stackhpc/.github/.github/workflows/upstream-sync.yml@main
with:
release_series: 2025.1
upstream: openstack/kayobe-config
synchronise-master:
if: github.repository == 'stackhpc/stackhpc-kayobe-config'
name: Synchronise master
uses: stackhpc/.github/.github/workflows/upstream-sync.yml@main
with:
release_series: master
upstream: openstack/kayobe-config
2 changes: 1 addition & 1 deletion doc/source/configuration/ipa.rst
Original file line number Diff line number Diff line change
Expand Up @@ -11,7 +11,7 @@ StackHPC provides prebuilt Ironic Python Agent (IPA) images in Release Train
through Ark.

These images are built in CI using a GitHub workflow and are configured in this
repository. See :kayobe-doc: `Kayobe documentation
repository. See :kayobe-doc:`Kayobe documentation
<configuration/reference/ironic-python-agent.html>` for more details on IPA.

Release Train IPA images are used by Bifrost and Overcloud Ironic by default in
Expand Down
8 changes: 7 additions & 1 deletion doc/source/configuration/monitoring.rst
Original file line number Diff line number Diff line change
Expand Up @@ -169,12 +169,18 @@ for the exporter.
If you are deploying in a cloud with internal TLS, you may be required
to provide a CA certificate for the OpenStack Capacity exporter if your
certificate is not signed by a trusted CA. For example, to use a CA certificate
named ``vault.crt`` that is also added to the Kolla containers:
named ``vault.crt`` or ``openbao.crt`` that is also added to the Kolla containers:

.. code-block:: yaml

stackhpc_os_capacity_openstack_cacert: "{{ kayobe_env_config_path }}/kolla/certificates/ca/vault.crt"

or

.. code-block:: yaml

stackhpc_os_capacity_openstack_cacert: "{{ kayobe_env_config_path }}/kolla/certificates/ca/openbao.crt"

Alternatively, to disable certificate verification for the OpenStack Capacity
exporter:

Expand Down
33 changes: 23 additions & 10 deletions doc/source/configuration/release-train.rst
Original file line number Diff line number Diff line change
Expand Up @@ -52,16 +52,29 @@ The Pulp container is deployed on the seed by default, but may be disabled by
setting ``seed_pulp_container_enabled`` to ``false`` in
``etc/kayobe/seed.yml``.

The URL and credentials of the local Pulp server are configured in
``etc/kayobe/pulp.yml`` via ``pulp_url``, ``pulp_username`` and
``pulp_password``. In most cases, the default values should be sufficient.
An admin password must be generated and set as the value of a
``secrets_pulp_password`` variable, typically in an Ansible Vault encrypted
``etc/kayobe/secrets.yml`` file. This password will be automatically set on
Pulp startup.

If a proxy is required to access the Internet from the seed, ``pulp_proxy_url``
may be used.
The URL for the local Pulp server is configured by ``pulp_url`` within
``etc/kayobe/pulp.yml``.

The Pulp service can be configured with two sets of credentials; one for
administrator operations and another read-only for overcloud hosts
to use.
The administrator credentials can be configured ``pulp_username``,
``pulp_password``
The basic user account credentials can be configured with ``pulp_stack_username``
and ``pulp_stack_password``.
Both sets of credentials can be found within ``etc/kayobe/pulp.yml``.

Both the ``pulp_password`` and ``pulp_stack_password`` are intended to be
configured via their ``secrets_*`` counterparts, i.e.
``secrets_pulp_password`` and ``secrets_pulp_stack_password``. These variables
are expected to be set in an Ansible Vault encrypted
``etc/kayobe/secrets.yml`` file.

Passwords can be generated using ``OpenSSL``

.. code-block:: console

openssl rand -base64 32

Host images are not synchronised to the local Pulp server, since they should
only be pulled to the seed node once. More information on host images can be
Expand Down
1 change: 1 addition & 0 deletions etc/kayobe/ansible/cephadm-gather-keys.yml
Original file line number Diff line number Diff line change
Expand Up @@ -68,6 +68,7 @@
# Kolla Ansible's merge_configs module does not like the leading tabs in ceph.conf.
content: |
{{ cephadm_ceph_conf.stdout | regex_replace('\t') }}
{{ kolla_ceph_conf_append if kolla_ceph_conf_append is defined }}
dest: "{{ kayobe_env_config_path }}/kolla/config/{{ kolla_service_to_conf_dir[item.0.name] }}/ceph.conf"
loop: "{{ query('subelements', kolla_ceph_services | selectattr('required'), 'keys') }}"
loop_control:
Expand Down
1 change: 1 addition & 0 deletions etc/kayobe/ansible/check-kayobe-version.yml
Original file line number Diff line number Diff line change
Expand Up @@ -8,6 +8,7 @@
tasks:
- name: Check version
when: stackhpc_enable_kayobe_check
check_mode: false
block:
- name: Get package info
community.general.pip_package_info:
Expand Down
1 change: 1 addition & 0 deletions etc/kayobe/ansible/check-kolla-ansible-version.yml
Original file line number Diff line number Diff line change
Expand Up @@ -6,6 +6,7 @@
tasks:
- name: Check version
when: stackhpc_enable_kolla_ansible_check
check_mode: false
block:
- name: Get current Kolla-Ansible tag
ansible.builtin.command:
Expand Down
33 changes: 31 additions & 2 deletions etc/kayobe/ansible/openbao-deploy-overcloud.yml
Original file line number Diff line number Diff line change
Expand Up @@ -21,7 +21,12 @@
gather_facts: true
hosts: controllers
vars:
openbao_bind_address: "{{ internal_net_name | net_ip }}"
openbao_bind_addr: "{{ internal_net_name | net_ip }}"
# This is the IP address of the first controller and therefore the leader within
# OpenBao. This could be replaced with the VIP address of the internal network if
# HAProxy has been configured to load balance the OpenBao API.
openbao_raft_leaders:
- "{{ internal_net_name | net_ip(inventory_hostname=groups['controllers'][0]) }}"
tasks:
- name: Set a fact about the virtualenv on the remote system
ansible.builtin.set_fact:
Expand All @@ -46,7 +51,7 @@

- name: Template out TLS key and cert
ansible.builtin.copy:
# Within the OpenBao container these uids & gids map to the vault user
# Within the OpenBao container these uids & gids map to the openbao user
src: "{{ kayobe_env_config_path }}/openbao/{{ item }}"
dest: /opt/kayobe/openbao/{{ item }}
owner: 100
Expand All @@ -55,6 +60,7 @@
loop:
- "{% if kolla_internal_fqdn != kolla_internal_vip_address %}{{ kolla_internal_fqdn }}{% else %}overcloud{% endif %}.crt"
- "{% if kolla_internal_fqdn != kolla_internal_vip_address %}{{ kolla_internal_fqdn }}{% else %}overcloud{% endif %}.key"
- "OS-TLS-INT.crt"
become: true

- name: Apply OpenBao role
Expand All @@ -71,6 +77,7 @@
openbao_docker_tag: "{{ overcloud_openbao_docker_tag }}"
openbao_tls_cert: "{% if kolla_internal_fqdn != kolla_internal_vip_address %}{{ kolla_internal_fqdn }}{% else %}overcloud{% endif %}.crt"
openbao_tls_key: "{% if kolla_internal_fqdn != kolla_internal_vip_address %}{{ kolla_internal_fqdn }}{% else %}overcloud{% endif %}.key"
openbao_tls_ca: "OS-TLS-INT.crt"
copy_self_signed_ca: true
openbao_api_addr: https://{{ internal_net_name | net_ip }}:8200
openbao_write_keys_file: true
Expand All @@ -91,6 +98,28 @@
vault_unseal_keys: "{{ openbao_keys.keys_base64 }}"
environment:
https_proxy: ""
run_once: true

# As the first instance is now unsealed the other instances will now need some
# time to connect before we can proceed.
- name: Wait for OpenBao Raft peers to connect
ansible.builtin.wait_for:
timeout: 30
delegate_to: localhost

# Raft peers take few seconds before they report an unsealed state therefore
# we must wait.
- name: Unseal OpenBao
ansible.builtin.import_role:
name: stackhpc.hashicorp.vault_unseal
vars:
vault_api_addr: https://{{ internal_net_name | net_ip }}:8200
vault_unseal_token: "{{ openbao_keys.root_token }}"
vault_unseal_ca_cert: "{{ '/etc/pki/tls/certs/ca-bundle.crt' if ansible_facts.os_family == 'RedHat' else '/usr/local/share/ca-certificates/OS-TLS-ROOT.crt' }}"
vault_unseal_keys: "{{ openbao_keys.keys_base64 }}"
vault_unseal_timeout: 10
environment:
https_proxy: ""

- name: Configure PKI
any_errors_fatal: true
Expand Down
4 changes: 2 additions & 2 deletions etc/kayobe/ansible/openbao-deploy-seed.yml
Original file line number Diff line number Diff line change
Expand Up @@ -4,8 +4,8 @@
gather_facts: true
hosts: seed
vars:
openbao_bind_address: "{{ ansible_facts['lo'].ipv4.address }}"
openbao_api_addr: "http://{{ openbao_bind_address }}:8200"
openbao_bind_addr: "{{ ansible_facts['lo'].ipv4.address }}"
openbao_api_addr: "http://{{ openbao_bind_addr }}:8200"
tasks:
- name: Set a fact about the virtualenv on the remote system
ansible.builtin.set_fact:
Expand Down
2 changes: 1 addition & 1 deletion etc/kayobe/ansible/pci-passthrough.yml
Original file line number Diff line number Diff line change
Expand Up @@ -11,7 +11,7 @@
vfio_pci_ids: |-
{% set gpu_list = [] %}
{% set output = [] %}
{% for gpu_group in gpu_group_map | dict2items | default([]) %}
{% for gpu_group in (gpu_group_map | default({})) | dict2items %}
{% if gpu_group.key in group_names %}
{% set _ = gpu_list.append(gpu_group.value) %}
{% endif %}
Expand Down
5 changes: 1 addition & 4 deletions etc/kayobe/ansible/pulp-host-image-download.yml
Original file line number Diff line number Diff line change
Expand Up @@ -7,18 +7,15 @@
# password in the get_url task of this playbook
stackhpc_overcloud_host_image_url_no_auth: "{{ stackhpc_release_pulp_content_url }}/kayobe-images/\
{{ openstack_release }}/{{ os_distribution }}/{{ os_release }}/\
{{ 'ofed/' if stackhpc_overcloud_host_image_is_ofed else '' }}\
{{ stackhpc_overcloud_host_image_version }}/\
overcloud-{{ os_distribution }}-{{ os_release }}\
{{ '-ofed' if stackhpc_overcloud_host_image_is_ofed else '' }}.qcow2"
overcloud-{{ os_distribution }}-{{ os_release }}.qcow2"
tasks:
- name: Print image information
ansible.builtin.debug:
msg: |
OS Distribution: {{ os_distribution }}
OS Release: {{ os_release }}
Image tag: {{ stackhpc_overcloud_host_image_version }}
OFED: {{ stackhpc_overcloud_host_image_is_ofed }}

# TODO: Add checksum support
- name: Download image artifact
Expand Down
2 changes: 1 addition & 1 deletion etc/kayobe/ansible/requirements.yml
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,7 @@ collections:
- name: stackhpc.pulp
version: 0.5.5
- name: stackhpc.hashicorp
version: 2.6.1
version: 2.7.1
- name: stackhpc.kayobe_workflows
version: 1.1.0
roles:
Expand Down
6 changes: 2 additions & 4 deletions etc/kayobe/ansible/smartmon-tools.yml
Original file line number Diff line number Diff line change
Expand Up @@ -15,10 +15,8 @@

- name: Ensure Python 3, venv, and pip are installed
ansible.builtin.package:
name:
- python3
- python3-venv
- python3-pip
name: >
{{ ['python3', 'python3-pip'] + (['python3-venv'] if ansible_facts['distribution'] == 'Ubuntu' else []) }}
state: present
become: true

Expand Down
3 changes: 3 additions & 0 deletions etc/kayobe/cephadm.yml
Original file line number Diff line number Diff line change
Expand Up @@ -133,3 +133,6 @@ kolla_ceph_manila_required: "{{ kolla_enable_manila | bool }}"

# Whether to generate Ceph configuration for Nova.
kolla_ceph_nova_required: "{{ kolla_enable_nova | bool }}"

# A (multiline) string to append to all Ceph configuration files.
#kolla_ceph_conf_append:
12 changes: 12 additions & 0 deletions etc/kayobe/containers/pulp/post.yml
Original file line number Diff line number Diff line change
Expand Up @@ -28,6 +28,18 @@
- stackhpc_pulp_sync_for_local_container_build | bool
- pulp_settings.changed

- name: Ensure Pulp stack user exists
ansible.builtin.include_role:
name: stackhpc.pulp.pulp_user
vars:
pulp_users:
- username: "{{ pulp_stack_username }}"
password: "{{ pulp_stack_password }}"
is_staff: false
when:
- pulp_stack_username is defined and pulp_stack_username | length > 0
- pulp_stack_password is defined and pulp_stack_password | length > 0

- name: Login to docker registry
docker_login:
registry_url: "{{ kolla_docker_registry or omit }}"
Expand Down
Loading
Loading