Skip to content

Yoga zed merge v2 #620

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 97 commits into from
Sep 6, 2023
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
97 commits
Select commit Hold shift + click to select a range
eec982d
Correct Manila backend variable in multinode docs
MoteHue Jun 6, 2023
57b6710
Merge pull request #528 from stackhpc/correct-manila-multinode-docs
markgoddard Jun 6, 2023
4d2635d
Cap number of Pulp workers
priteau Jun 12, 2023
73e222e
Merge pull request #533 from stackhpc/pulp-workers
priteau Jun 12, 2023
fe469fc
feat: enable designate within multinode environment
jackhodgkiss Jun 26, 2023
ed93eca
feat: define `FQDN` for `internal`, `external` and `public`
jackhodgkiss Jun 26, 2023
a4bfced
Merge branch 'stackhpc/yoga' into jph/designate
jackhodgkiss Jun 27, 2023
ce883bf
feat: add kolla fqdn and vip addresses
jackhodgkiss Jun 27, 2023
9fa60d8
feat: remove unnecessary newlines
jackhodgkiss Jun 27, 2023
543360c
feat: remove unnecessary newlines within `globals.yml`
jackhodgkiss Jun 27, 2023
fd345c9
Add playbooks to allow hotfixing containers
MoteHue Jun 20, 2023
abcd462
Add documentation for container hotfix playbook
Alex-Welsh Jun 21, 2023
aa1b171
Add mode to container hotfix playbook file copies
Alex-Welsh Jun 23, 2023
788c07a
feat: use kolla API variables
jackhodgkiss Jul 13, 2023
0bdd582
feat: use designate as nameservers for hosts
jackhodgkiss Jul 13, 2023
942532d
fix: remove excess newline
jackhodgkiss Jul 13, 2023
47108aa
fix: remove `dns.yml` from ci-multinode
jackhodgkiss Jul 21, 2023
1daa12d
fix: add `external_allocation_pool_end`
jackhodgkiss Jul 21, 2023
1f78495
fix: wrap `example.com` in quotes
jackhodgkiss Jul 21, 2023
851a5c6
Merge branch 'stackhpc/yoga' into jph/designate
jackhodgkiss Jul 21, 2023
9b85cff
Merge pull request #546 from stackhpc/jph/designate
jackhodgkiss Jul 24, 2023
e2e3fe6
Update TLS docs to include warning about admin endpoints
Alex-Welsh Jul 21, 2023
a7ef8b7
Merge pull request #565 from stackhpc/tls-docs
markgoddard Jul 26, 2023
88cb320
Add secrets.yml to multinode env
Alex-Welsh Jul 27, 2023
1fc6a5e
Update Neutron container tag
MoteHue Jul 28, 2023
2a739da
Merge pull request #567 from stackhpc/update-neutron-tag
MoteHue Jul 31, 2023
13a1433
docs: Add info on how to deploy and test ironic in ci-aio env
markgoddard Jul 31, 2023
205f1e6
Merge pull request #566 from stackhpc/fix-mm-designate-tls
Alex-Welsh Jul 31, 2023
976a292
Merge pull request #569 from stackhpc/yoga-ironic-aio-docs
markgoddard Jul 31, 2023
467b7ad
Add PyYAML as dependency for HashiCorp Vault ops
oneswig Apr 18, 2023
91fda15
Merge pull request #490 from stackhpc/add-pyyaml
priteau Aug 1, 2023
40cab15
Use fact for hotfix containers list
MoteHue Aug 2, 2023
3a33494
Merge pull request #538 from stackhpc/hotfix-containers-playbook
markgoddard Aug 2, 2023
341d18e
Fix backend API certificate generation
priteau Aug 3, 2023
b07664e
Merge pull request #573 from stackhpc/vault-fixes
priteau Aug 3, 2023
d5502bb
Support using local hashicorp consul/vault images
priteau Aug 4, 2023
a788859
Document local HashiCorp images
priteau Aug 9, 2023
b3fade6
Update yamllint file
Alex-Welsh Aug 9, 2023
6223b2d
Merge pull request #574 from stackhpc/fix-tox
markgoddard Aug 10, 2023
eaad4bd
Merge pull request #570 from stackhpc/hashicorp-images
markgoddard Aug 10, 2023
6fedc12
Config for pulling Ark overcloud host images
Alex-Welsh Jul 3, 2023
39004de
Update release train documentation
Alex-Welsh Jul 18, 2023
5d82f78
Fix grep in all-in-one workflow
Alex-Welsh Jul 18, 2023
2a06954
Update host image pulling changes after review
Alex-Welsh Aug 9, 2023
fa08340
Bump stackhpc.cephadm collection to 1.13.2
priteau Aug 10, 2023
47f951b
Merge pull request #576 from stackhpc/bump-cephadm
priteau Aug 11, 2023
038a0a5
Remove trailing whitespace
priteau Aug 11, 2023
898f0bc
Merge pull request #577 from stackhpc/reno-fix
priteau Aug 11, 2023
07ad532
Make ci-aio environment use Rocky 9.2
Alex-Welsh Aug 10, 2023
5c25fcf
Add --lvm option to the AIO automated setup script
Alex-Welsh Aug 11, 2023
9ae4ac9
Correct Manila backend in mutlinode docs
MoteHue Aug 14, 2023
8d23936
Merge pull request #579 from stackhpc/multinode-correct-manila-docs
markgoddard Aug 14, 2023
283cc79
Reduce duplication in pulp.yml
m-bull Aug 15, 2023
e606186
Merge pull request #580 from stackhpc/feat/simplify-pulp-yml
markgoddard Aug 15, 2023
5b33864
Add Ubuntu Jammy repository config in Yoga. (#578)
assumptionsandg Aug 15, 2023
10d5d7c
Fix documentation builds on Read the Docs
priteau Aug 16, 2023
56ea9dc
Pin Consul and Vault to the latest MPL releases
priteau Aug 16, 2023
dc8f151
Merge pull request #581 from stackhpc/rtd-fix
markgoddard Aug 16, 2023
1b91a4d
Attempt to fix RTD failures using Python 3.7
priteau Aug 16, 2023
d94483b
Merge pull request #584 from stackhpc/rtd-fix-again
markgoddard Aug 16, 2023
4292538
Merge pull request #583 from stackhpc/hashicorp-pin
markgoddard Aug 16, 2023
a2b4eb0
Unshallow Read the Docs git clone
priteau Aug 17, 2023
d223dd2
Merge pull request #586 from stackhpc/rtd-unshallow-git-clone
priteau Aug 17, 2023
274f0b0
Restore default Git fetch configuration on RTD
priteau Aug 17, 2023
e65c593
Merge pull request #587 from stackhpc/rtd-remote-set-branches
priteau Aug 17, 2023
2e2886f
Escape wildcard character in custom build command
priteau Aug 17, 2023
f087cb9
Merge pull request #588 from stackhpc/rtd-remote-set-branches-fix
priteau Aug 17, 2023
607817f
Work around Read the Docs wildcard escaping issues
priteau Aug 17, 2023
1a6271b
Merge pull request #589 from stackhpc/rtd-remote-set-branches-fix-fix
priteau Aug 17, 2023
fb2868f
Merge stackhpc/xena into stackhpc/yoga
priteau Aug 17, 2023
ea5ac06
Merge pull request #590 from stackhpc/yoga-xena-merge
markgoddard Aug 17, 2023
735fee7
added some needed paths to lint ignore
g0rgamesh Aug 21, 2023
9226959
Lookup os_release for appropriate distros
MoteHue Aug 21, 2023
426e4be
Merge pull request #593 from stackhpc/aio-os-release
markgoddard Aug 22, 2023
753b03b
removed globs
g0rgamesh Aug 22, 2023
744d6c5
Merge pull request #592 from stackhpc/linter_update
markgoddard Aug 22, 2023
44c7fe0
Support Ceph ingress images stored in Pulp
priteau Aug 22, 2023
5747c15
ci-aio: Increased space on home and temp
assumptionsandg Aug 24, 2023
fff16fc
Magnum container and Ubuntu focal repo bump
darmach Aug 25, 2023
a4c87f8
Magnum container bump
darmach Aug 28, 2023
8a1cda4
Add NetworkManager-config-server rpm to Rocky Linux deployment image
bbezak Aug 28, 2023
fb5d62d
Update Rocky Linux 9.2 repo versions
priteau Aug 29, 2023
f80ea66
Merge pull request #603 from stackhpc/refresh/yoga-pulp-repo-focal-up…
bbezak Aug 29, 2023
4170fec
Merge branch 'stackhpc/yoga' into NetworkManager-config-server
bbezak Aug 29, 2023
e89a2ae
Merge pull request #604 from stackhpc/NetworkManager-config-server
markgoddard Aug 29, 2023
11242d4
fix: Sync Grafana RPM repo on RL9
markgoddard Aug 29, 2023
8137923
Merge pull request #548 from stackhpc/ceph-ingress-images
priteau Aug 29, 2023
c79f9d5
Merge pull request #605 from stackhpc/pulp-grafana
markgoddard Aug 29, 2023
d97da57
ci-aio: Removed --lvm option in deployment script
assumptionsandg Aug 29, 2023
4dd592e
Merge pull request #602 from stackhpc/aio-script-lvm
markgoddard Aug 29, 2023
27abe13
Fix typos in Grafana dashboards
priteau Sep 1, 2023
658503d
Merge pull request #609 from stackhpc/dashboard-typos
priteau Sep 1, 2023
358b306
Fix seed container image build
priteau Sep 4, 2023
9044b82
Merge pull request #616 from stackhpc/seed-container-build
priteau Sep 4, 2023
9d79e49
Merge pull request #585 from stackhpc/rl92-repo-bump
markgoddard Sep 5, 2023
8c05853
Yoga-Zed merge corrections
Alex-Welsh Sep 6, 2023
5d9190a
Fix quincy version variable
markgoddard Sep 6, 2023
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
5 changes: 2 additions & 3 deletions .github/workflows/overcloud-host-image-build.yml
Original file line number Diff line number Diff line change
Expand Up @@ -31,7 +31,7 @@ jobs:
overcloud-host-image-build:
name: Build overcloud host images
if: github.repository == 'stackhpc/stackhpc-kayobe-config'
runs-on: [self-hosted, stackhpc-kayobe-config-kolla-builder]
runs-on: [self-hosted, stackhpc-kayobe-config-kolla-builder-rl9]
permissions: {}
steps:
- uses: actions/checkout@v3
Expand Down Expand Up @@ -65,10 +65,9 @@ jobs:
ref: refs/heads/stackhpc/${{ steps.openstack_release.outputs.openstack_release }}
path: src/kayobe

# FIXME: Failed in kolla-ansible : Ensure the latest version of pip is installed
- name: Install dependencies
run: |
sudo dnf -y install python3-virtualenv zstd
sudo dnf -y install zstd

- name: Setup networking
run: |
Expand Down
7 changes: 1 addition & 6 deletions .github/workflows/overcloud-host-image-promote.yml
Original file line number Diff line number Diff line change
Expand Up @@ -21,7 +21,7 @@ jobs:
overcloud-host-image-promote:
name: Promote overcloud host image
if: github.repository == 'stackhpc/stackhpc-kayobe-config'
runs-on: [self-hosted, stackhpc-kayobe-config-kolla-builder]
runs-on: [self-hosted, stackhpc-kayobe-config-kolla-builder-rl9]
steps:
- uses: actions/checkout@v3
with:
Expand All @@ -40,11 +40,6 @@ jobs:
ref: refs/heads/stackhpc/${{ steps.openstack_release.outputs.openstack_release }}
path: src/kayobe

# FIXME: Failed in kolla-ansible : Ensure the latest version of pip is installed
- name: Install dependencies
run: |
sudo dnf -y install python3-virtualenv

- name: Setup networking
run: |
if ! ip l show breth1 >/dev/null 2>&1; then
Expand Down
2 changes: 1 addition & 1 deletion .github/workflows/stackhpc-all-in-one.yml
Original file line number Diff line number Diff line change
Expand Up @@ -79,7 +79,7 @@ jobs:
- name: Output image tag
id: image_tag
run: |
echo image_tag=$(grep stackhpc_${{ inputs.os_distribution }}_${{ inputs.os_release }}_overcloud_host_image_version etc/kayobe/environments/ci-aio/stackhpc-ci.yml | awk '{print $2}') >> $GITHUB_OUTPUT
echo image_tag=$(grep stackhpc_${{ inputs.os_distribution }}_$(sed s/-/_/ <(echo "${{ inputs.os_release }}"))_overcloud_host_image_version: etc/kayobe/pulp-host-image-versions.yml | awk '{print $2}') >> $GITHUB_OUTPUT

# Use the image override if set, otherwise use overcloud-os_distribution-os_release-tag
- name: Output image name
Expand Down
17 changes: 2 additions & 15 deletions .github/workflows/stackhpc-container-image-build.yml
Original file line number Diff line number Diff line change
Expand Up @@ -40,7 +40,7 @@ jobs:
generate-tag:
name: Generate container image tag
if: github.repository == 'stackhpc/stackhpc-kayobe-config'
runs-on: [self-hosted, stackhpc-kayobe-config-kolla-builder]
runs-on: [self-hosted, stackhpc-kayobe-config-kolla-builder-rl9]
permissions: {}
outputs:
datetime_tag: ${{ steps.datetime_tag.outputs.datetime_tag }}
Expand Down Expand Up @@ -88,7 +88,7 @@ jobs:
container-image-build:
name: Build Kolla container images
if: github.repository == 'stackhpc/stackhpc-kayobe-config'
runs-on: [self-hosted, stackhpc-kayobe-config-kolla-builder]
runs-on: [self-hosted, stackhpc-kayobe-config-kolla-builder-rl9]
timeout-minutes: 720
permissions: {}
strategy:
Expand All @@ -107,11 +107,6 @@ jobs:
ref: refs/heads/stackhpc/${{ needs.generate-tag.outputs.openstack_release }}
path: src/kayobe

# FIXME: Failed in kolla-ansible : Ensure the latest version of pip is installed
- name: Install dependencies
run: |
sudo dnf -y install python3-virtualenv

- name: Setup networking
run: |
if ! ip l show breth1 >/dev/null 2>&1; then
Expand All @@ -127,14 +122,6 @@ jobs:
sudo ip l set dummy1 up
sudo ip l set dummy1 master breth1

# FIXME: Without this workaround we see the following issue after the runner is power cycled:
# TASK [MichaelRigart.interfaces : RedHat | ensure network service is started and enabled] ***
# Unable to start service network: Job for network.service failed because the control process exited with error code.
# See \"systemctl status network.service\" and \"journalctl -xe\" for details.
- name: Kill dhclient (workaround)
run: |
(sudo killall dhclient || true) && sudo systemctl restart network

- name: Install Kayobe
run: |
mkdir -p venvs &&
Expand Down
27 changes: 27 additions & 0 deletions .readthedocs.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,27 @@
# Read the Docs configuration file
# See https://docs.readthedocs.io/en/stable/config-file/v2.html for details

# Required
version: 2

# Set the version of Python and other tools you might need
build:
apt_packages:
- tox
os: ubuntu-22.04
tools:
python: "3.7"
jobs:
post_checkout:
- git remote set-branches origin master stackhpc/zed stackhpc/yoga stackhpc/xena stackhpc/wallaby
- git fetch --unshallow

# Build documentation in the doc/source/ directory with Sphinx
sphinx:
configuration: doc/source/conf.py

# We recommend specifying your dependencies to enable reproducible builds:
# https://docs.readthedocs.io/en/stable/guides/reproducible-builds.html
python:
install:
- requirements: doc/requirements.txt
9 changes: 9 additions & 0 deletions .yamllint
Original file line number Diff line number Diff line change
Expand Up @@ -11,3 +11,12 @@ rules:
require-starting-space: false
line-length: disable
truthy: disable

ignore: |
*etc/kayobe/environments/ci-multinode/secrets.yml
*etc/kayobe/environments/ci-multinode/kolla/globals-tls-config.yml
.automation/
releasenotes/
.github/
.gitlab/
.gitlab-ci.yml
36 changes: 36 additions & 0 deletions doc/source/configuration/host-images.rst
Original file line number Diff line number Diff line change
Expand Up @@ -4,6 +4,42 @@
Host Images
===========

Pulling host images
===================

StackHPC provides pre-built overcloud host images through Ark, which can be
consumed using the configuration provided by this repository.

When configured, an image will be downloaded to the seed during the
``kayobe seed service deploy`` step, and subsequently deployed using bifrost
with ``kayobe overcloud provision``.

To use these images, set ``stackhpc_download_overcloud_host_images`` to true
in ``etc/kayobe/stackhpc-overcloud-host-images.yml``.

Currently, images exist for the following operating systems:

* Rocky Linux 9
* Ubuntu Jammy 22.04

The image to download is selected automatically using the ``os_distribution``
and ``os_release`` variables. These images are versioned and a variable for
each OS is stored in ``pulp-host-image-versions.yml``.

This content requires the same set of credentials as is used for other
release train content.

The Ark pulp credentials issued by StackHPC should be configured in
``etc/kayobe/pulp.yml``, using Ansible Vault to encrypt the password:

.. code-block:: yaml

stackhpc_release_pulp_username: <username>
stackhpc_release_pulp_password: <password>

Building host images
====================

StackHPC Kayobe configuration provides configuration for some standard
overcloud host images, built using the :kayobe-doc:`overcloud DIB
<configuration/reference/overcloud-dib.html>` functionality of Kayobe.
Expand Down
44 changes: 36 additions & 8 deletions doc/source/configuration/release-train.rst
Original file line number Diff line number Diff line change
Expand Up @@ -2,9 +2,9 @@
StackHPC Release Train
======================

StackHPC provides packages and container images for OpenStack via `Ark
<https://ark.stackhpc.com>`__. These artifacts are built and released using a
process known as the `Release Train
StackHPC provides packages, container images, and host images for OpenStack via
`Ark <https://ark.stackhpc.com>`__. These artifacts are built and released using
a process known as the `Release Train
<https://stackhpc.github.io/stackhpc-release-train/>`__.

Deployments should use a local `Pulp <https://pulpproject.org/>`__ repository
Expand Down Expand Up @@ -41,6 +41,7 @@ This configuration provides the following:
* Playbooks to synchronise a local Pulp service with Ark
* Configuration to use the local Pulp repository mirrors on control plane hosts
* Configuration to use the local Pulp container registry on control plane hosts
* Configuration to deploy pre-built OS images to overcloud hosts using Bifrost

Local Pulp server
-----------------
Expand All @@ -60,6 +61,10 @@ Pulp startup.
If a proxy is required to access the Internet from the seed, ``pulp_proxy_url``
may be used.

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
found :ref:`here <host-images>`.

StackHPC Ark
------------

Expand All @@ -74,6 +79,9 @@ The Ark pulp credentials issued by StackHPC should be configured in
Package repositories
--------------------

Rocky Linux 9 and Ubuntu Jammy package repositories are synced based on the
value of ``os_distribution`` and ``os_release``.

On Ark, each package repository provides versioned snapshots using a datetime
stamp (e.g. ``20220817T082321``). The current set of tested versions is defined
in ``etc/kayobe/pulp-repo-versions.yml``. This file is managed by the StackHPC
Expand All @@ -83,15 +91,28 @@ repository.
Package managers
----------------

For Rocky Linux based systems, package manager configuration is
provided by ``stackhpc_dnf_repos`` in ``etc/kayobe/dnf.yml``, which points to
package repositories on the local Pulp server. To use this configuration, the
For Ubuntu Jammy systems, the package manager configuration is provided by
``stackhpc_apt_repositories`` in ``etc/kayobe/apt.yml``.

The configuration is applied by default to all Ubuntu hosts. The configuration
can be overridden by changing the repository definitions in
``apt_repositories`` or toggling ``apt_disable_sources_list`` to use the
default apt repositories. This can be done on a host-by host basis by defining
the variables as host or group vars under ``etc/kayobe/inventory/host_vars`` or
``etc/kayobe/inventory/group_vars``.

For Rocky Linux based systems, package manager configuration is provided by
``stackhpc_dnf_repos`` in ``etc/kayobe/dnf.yml``, which points to package
repositories on the local Pulp server. To use this configuration, the
``dnf_custom_repos`` variable must be set, and this is done for hosts in the
``overcloud`` group via the group_vars file
``etc/kayobe/inventory/group_vars/overcloud/stackhpc-dnf-repos``. Similar
configuration may be added for other groups, however there may be ordering
issues during initial deployment when Pulp has not yet been deployed.

In both instances, the configuration points to package repositories on the
local Pulp server.

The distribution name for the environment should be configured as either
``development`` or ``production`` via ``stackhpc_repo_distribution`` in
``etc/kayobe/stackhpc.yml``.
Expand All @@ -102,6 +123,13 @@ Ceph container images
By default, Ceph images are not synced from quay.io to the local Pulp. To sync
these images, set ``stackhpc_sync_ceph_images`` to ``true``.

HashiCorp container images
--------------------------

By default, HashiCorp images (Consul and Vault) are not synced from Docker Hub
to the local Pulp. To sync these images, set ``stackhpc_sync_hashicorp_images``
to ``true``.

Usage
=====

Expand Down Expand Up @@ -136,7 +164,7 @@ See the Kayobe :kayobe-doc:`custom playbook documentation
these are new container image repositories, then the new image tags will not
be available to cloud nodes until they have been published.
* ``pulp-container-publish.yml``: Publish synchronised container images in the
local Pulp. This will make synchonised container images available to cloud
local Pulp. This will make synchronised container images available to cloud
nodes.

Syncing content
Expand Down Expand Up @@ -254,4 +282,4 @@ you will see a 404 error during ``pulp-repo-sync.yml``:
msg: Task failed to complete. (failed; 404, message='Not Found', url=URL('https://ark.stackhpc.com/pulp/content/rocky/9/BaseOS/x86_64/os/20211122T102435')) '''

The issue can be rectified by updating the ``stackhpc_release_pulp_username``
and ``stackhpc_release_pulp_password`` variables
and ``stackhpc_release_pulp_password`` variables.
15 changes: 15 additions & 0 deletions doc/source/configuration/vault.rst
Original file line number Diff line number Diff line change
Expand Up @@ -39,6 +39,11 @@ Before beginning the deployment of vault for openstack internal TLS and backend
* Ansible Galaxy dependencies installed: ``kayobe control host bootstrap``
* Python dependencies installed: ``pip install -r kayobe-config/requirements.txt``

By default, Consul and Vault images are not synced from Docker Hub to the local
Pulp. To sync these images, set ``stackhpc_sync_hashicorp_images`` to ``true``.
The Vault deployment configuration will be automatically updated to pull images
from Pulp.

Deployment
==========

Expand Down Expand Up @@ -210,6 +215,16 @@ Enable the required TLS variables in kayobe and kolla

3. Deploy backend and internal TLS

.. warning::

It is important that you are only using admin endpoints for keystone. If
any admin endpoints exist for other services, they must be deleted e.g.

.. code-block::

openstack endpoint list --interface admin -f value | \
awk '!/keystone/ {print $1}' | xargs openstack endpoint delete

.. code-block::

kayobe overcloud service deploy
Expand Down
5 changes: 5 additions & 0 deletions doc/source/contributor/environments/aufn-ceph.rst
Original file line number Diff line number Diff line change
Expand Up @@ -6,6 +6,11 @@ This environment creates a Universe-from-nothing_-style deployment of Kayobe con

.. _Universe-from-nothing: https://github.com/stackhpc/a-universe-from-nothing

.. warning::

This guide was written for the Yoga release and has not been validated for
Zed. Proceed with caution.

Prerequisites
=============

Expand Down
Loading