diff --git a/.automation b/.automation index fae7ea259..7eefdb99f 160000 --- a/.automation +++ b/.automation @@ -1 +1 @@ -Subproject commit fae7ea259fae80d9e8b59ae27d18ba2d632362dc +Subproject commit 7eefdb99fe60df8eeac63004878ab4d44eb6d6ba diff --git a/.github/workflows/stackhpc-multinode.yml b/.github/workflows/stackhpc-multinode.yml new file mode 100644 index 000000000..22f497a7d --- /dev/null +++ b/.github/workflows/stackhpc-multinode.yml @@ -0,0 +1,71 @@ +--- +# This workflow provides a workflow_dispatch (manual) trigger to deploy a +# multi-node test cluster. + +name: Multinode +'on': + workflow_dispatch: + # NOTE: workflow_dispatch is limited to 10 inputs. + inputs: + multinode_name: + description: Multinode cluster name + type: string + required: true + os_distribution: + description: Host OS distribution + type: choice + default: rocky + options: + - rocky + - ubuntu + neutron_plugin: + description: Neutron ML2 plugin + type: choice + default: ovn + options: + - ovn + - ovs + upgrade: + description: Whether to perform an upgrade + type: boolean + default: false + break_on: + description: When to break execution for manual interaction + type: choice + default: never + options: + - always + - failure + - never + - success + break_duration: + description: How long to break execution for (minutes) + type: number + default: 60 + ssh_key: + description: SSH public key to authorise on Ansible control host + type: string + terraform_kayobe_multinode_version: + description: terraform-kayobe-multinode version + type: string + default: main +jobs: + multinode: + name: Multinode + uses: stackhpc/stackhpc-openstack-gh-workflows/.github/workflows/multinode.yml@1.0.0 + with: + multinode_name: ${{ inputs.multinode_name }} + os_distribution: ${{ inputs.os_distribution }} + os_release: ${{ inputs.os_distribution == 'rocky' && '9' || 'jammy' }} + ssh_username: ${{ inputs.os_distribution == 'rocky' && 'cloud-user' || 'ubuntu' }} + neutron_plugin: ${{ inputs.neutron_plugin }} + upgrade: ${{ inputs.upgrade }} + break_on: ${{ inputs.break_on }} + # Workaround loss of number type using fromJSON: https://github.com/orgs/community/discussions/67182 + break_duration: ${{ fromJSON(inputs.break_duration) }} + ssh_key: ${{ inputs.ssh_key }} + stackhpc_kayobe_config_version: ${{ github.ref_name }} + # NOTE(upgrade): Reference the PREVIOUS release here. + stackhpc_kayobe_config_previous_version: stackhpc/2023.1 + terraform_kayobe_multinode_version: ${{ inputs.terraform_kayobe_multinode_version }} + secrets: inherit diff --git a/doc/source/configuration/monitoring.rst b/doc/source/configuration/monitoring.rst index 34f1d2c8b..8215dc48b 100644 --- a/doc/source/configuration/monitoring.rst +++ b/doc/source/configuration/monitoring.rst @@ -74,7 +74,7 @@ on the overcloud hosts: .. code-block:: console (kayobe) [stack@node ~]$ cd etc/kayobe - (kayobe) [stack@node kayobe]$ kayobe playbook run ansible/smartmontools.yml + (kayobe) [stack@node kayobe]$ kayobe playbook run ansible/smartmon-tools.yml SMART reporting should now be enabled along with a Prometheus alert for unhealthy disks and a Grafana dashboard called ``Hardware Overview``. diff --git a/etc/kayobe/environments/aufn-ceph/tenks.yml b/etc/kayobe/environments/aufn-ceph/tenks.yml index 25eac0374..36d482b2c 100644 --- a/etc/kayobe/environments/aufn-ceph/tenks.yml +++ b/etc/kayobe/environments/aufn-ceph/tenks.yml @@ -21,9 +21,9 @@ node_types: volumes: # There is a minimum disk space capacity requirement of 4GiB when using Ironic Python Agent: # https://github.com/openstack/ironic-python-agent/blob/master/ironic_python_agent/utils.py#L290 - - capacity: 10GiB + - capacity: 15GiB # Ceph volume - - capacity: 10GiB + - capacity: 20GiB physical_networks: - provision-net - cloud-net @@ -34,7 +34,7 @@ node_types: volumes: # There is a minimum disk space capacity requirement of 4GiB when using Ironic Python Agent: # https://github.com/openstack/ironic-python-agent/blob/master/ironic_python_agent/utils.py#L290 - - capacity: 10GiB + - capacity: 15GiB physical_networks: - provision-net - cloud-net diff --git a/etc/kayobe/kolla.yml b/etc/kayobe/kolla.yml index a8c2ca633..f697c90bd 100644 --- a/etc/kayobe/kolla.yml +++ b/etc/kayobe/kolla.yml @@ -344,7 +344,7 @@ kolla_build_blocks: magnum_base_footer: | RUN curl https://raw.githubusercontent.com/helm/helm/main/scripts/get-helm-3 | head -n -1 | bash {% raw %} - {% set magnum_capi_packages = ['magnum-capi-helm==1.0.0'] %} + {% set magnum_capi_packages = ['magnum-capi-helm==1.1.0'] %} RUN {{ macros.install_pip(magnum_capi_packages | customizable("pip_packages")) }} {% endraw %} prometheus_alertmanager_repository_version: | # 2023.1 kolla has 0.24.0 diff --git a/etc/kayobe/kolla/kolla-build.conf b/etc/kayobe/kolla/kolla-build.conf index b444eae17..9f78e1125 100644 --- a/etc/kayobe/kolla/kolla-build.conf +++ b/etc/kayobe/kolla/kolla-build.conf @@ -8,7 +8,7 @@ base_tag = jammy-20231004 {% elif kolla_base_distro == 'rocky' %} base_tag = 9.{{ stackhpc_pulp_repo_rocky_9_minor_version }} {% endif %} -build_args = {{ kolla_build_args.items() | map('join', ':') | join(',') }} +build_args = {{ (kolla_build_args | default({})).items() | map('join', ':') | join(',') }} [openstack-base] type = git diff --git a/releasenotes/notes/magnum-capi-1-1-0-68f14759413316c4.yaml b/releasenotes/notes/magnum-capi-1-1-0-68f14759413316c4.yaml new file mode 100644 index 000000000..8290ba39c --- /dev/null +++ b/releasenotes/notes/magnum-capi-1-1-0-68f14759413316c4.yaml @@ -0,0 +1,6 @@ +--- +features: + - | + ``magnum-capi-helm`` driver has been updated to 1.1.0. + Please see `magnum-capi-helm release notes `_ + for changes.