3738 Commits

Author SHA1 Message Date
Vladimir Kozhukalov
7f783dba51 Update elasticsearch chart to work with Rook Ceph
When using Rook for managing Ceph we can use
Rook CRDs to create S3 buckets and users.

This PR adds bucket claim template to the
elasticsearch chart. Rook creates a bucket for
a bucket claim and also creates a secret
containing the credentials to get access to this
bucket. So we also add a snippet to expose
these credentials via environment variables to
containers where they are needed.

Change-Id: Ic5cd35a5c64a914af97d2b3cfec21dbe399c0f14
2023-11-26 19:34:42 -06:00
Vladimir Kozhukalov
145e9df9b7 Run Rook job on multi-node env
Change-Id: Idce9fd9f4817e0dd07b49c291fa6a0a887384073
2023-11-24 19:14:37 -06:00
Vladimir Kozhukalov
510cea0c23 Deploy Ceph on multi-node envs
- In case we deploy Ceph on a multi-node env we have
  to prepare the loop devices on all nodes. For this
  we moved loop devices setup to the deploy-env
  Ansible role.

  For simplicity we need the same device on all nodes,
  so we create a loop device with a big
  minor number (/dev/loop100 by default) hoping
  that only low minor numbers could be busy.

- For test jobs we don't need to use different devices
  for OSD data and metadata. There is no
  any benefit from this for the test environment.
  So let's keep it simple and put both OSD data and metadata
  on the same device.

- On multi-node env Ceph cluster needs cluster members
  see each other, so let's use pod network CIDR.

Change-Id: I493b6c31d97ff2fc4992c6bb1994d0c73320cd7b
2023-11-24 19:06:08 -06:00
Ali Safari
ab14348f97 Add labels to rabbitmq service
Change-Id: I53d18ee535ff563d33387ba633776a060cd1d389
2023-11-07 22:40:43 +00:00
Leontii Istomin
42d86b17ca Remove versions from doc/requirements.txt to avoid confusion
Versions from TOX_CONSTRAINTS_FILE are used which is defaulted to
  https://opendev.org/openstack/requirements/raw/branch/master/upper-constraints.txt

Change-Id: I547c244f9d79f3a0f4d0269f546495504f2340cd
2023-11-07 21:00:14 +00:00
Stephen Taylor
86aa30fc72 [ceph-rgw] Multiple namespace support for the ceph-rgw-pool job
The ClusterRole and ClusterRoleBinding definitions for the
ceph-rgw-pool job don't take the namespace into account. This isn't
an issue for deployments that include a single Ceph cluster, but
this change adds the namespace to the names of those resources to
allow the job to be deployed correctly in multiple namespaces.

Change-Id: I98a82331a52702c623941f839d1258088813f70e
2023-11-06 17:57:10 +00:00
Vladimir Kozhukalov
c047fce569 Fix path for setup-client.sh script
Change-Id: Ieb7549d2f00d981efa1d4bc2d6d8a57a067ef6c7
2023-11-06 10:34:20 -06:00
Stephen Taylor
d070774bfc [ceph-rgw] Add a ceph-rgw-pool job to re-run the ceph-rbd-pool job
The Reef release disallows internal pools from being created by
clients, which means the ceph-client chart is no longer able to
create the .rgw.root pool and configure it. The new ceph-rgw-pool
job deletes and re-creates the ceph-rbd-pool job after ceph-rgw has
been deployed so that job can configure the .rgw.root pool
correctly.

Change-Id: Ic3b9d26de566fe379227a2fe14dc061248e84a4c
2023-11-02 07:05:37 -06:00
Zuul
bad0169ece Merge "Fix deploy-env when buildset_registry is defined" 2023-11-01 19:10:07 +00:00
Vladimir Kozhukalov
b5b66f1489 Fix deploy-env when buildset_registry is defined
It used to configure /etc/hosts in two different places.
The buildset registry record was added while configuing
Containerd and then this record was removed while
configuring Kubernetes.

The PR adds the buildset registry record to the /etc/hosts
template and the task is moved to the tasks/main.yaml.

Change-Id: I7d1ae6c7d33a33d8ca80b63ef9d69decb283e0a6
2023-10-31 17:34:12 -05:00
SPEARS, DUSTIN (ds443n)
b769895a60 Update openvswitch to support cgroups v2
Adds check and if cgroups v2 is active use
cgroups v2 file structure for setting cpus

Change-Id: I603271a1b043d192988694c50ea7411a567b16ca
2023-10-30 17:33:38 -04:00
Zuul
ff552d5969 Merge "Create osh-bandit role" 2023-10-27 22:12:27 +00:00
Zuul
1fcb3f1b23 Merge "Fix deploy-env role" 2023-10-27 21:48:05 +00:00
Vladimir Kozhukalov
f9f487ce4a Fix deploy-env role
The role tried to include non-existing file
which was forgotten while we moved the role to this repo.
This inclusion is only actual for cases when we
consume images from a buildset registry.

Change-Id: I1510edf7bdc78f9c61f7722e2c7848e152edf892
2023-10-27 13:59:19 -05:00
Vladimir Kozhukalov
0cd77664e0 Fix private key paths in the deploy-env role README.md
Change-Id: Ie240f79fbd4162961f28e5c9094bb5b70bae8a3f
2023-10-26 22:20:17 +00:00
Sergiy Markin
a430d16bd5 Control ceph loopback devices path
This PS adds control over location of Ceph loopback devices path.

Change-Id: Ib0738c1127ff37633cdd035b3978cc137c5eaf71
2023-10-26 17:28:45 +00:00
Vladimir Kozhukalov
45b209ac79 Create osh-bandit role
The motivation is to reduce the code base and get rid
of unnecessary duplications. This PR is moves bandit
tasks from the osh-infra-bandit.yaml playbook
to the osh-bandit role. Then we can use this role for the
same job in OSH.

Change-Id: I9489a8c414e6679186e6c399243a7c0838df812a
2023-10-25 17:59:56 -05:00
Stephen Taylor
cdfb3ce6a4 Downgrade Rook to the 1.12.4 release
Roll back Rook in the openstack-support-rook Zuul job to the 1.12.4
release to work around a problem with ceph-rook-exporter resource
conflicts while the issue is investigated further.

Change-Id: Idabc1814e9b8665c0ce63e2efd5ad94bf193f97a
2023-10-24 21:22:13 +00:00
Sergiy Markin
f9b0360418 Mount extra 80Gb volume
This PS mounts extra 80Gb volume if available and mounts it to
/opt/ext_vol. It also alters docker and containerd configs to move their
root folder to that extra volume. This helps zuul gates to succeed when
a node with 40Gb volume is assigned to a zuul gate.

Change-Id: I1c91b13c233bac5ebfe6e3cb16d4288df2c2fe80
2023-10-24 18:39:51 +00:00
Mosher, Jaymes (jm616v)
07c735f632 Add watch verb to cert-manager Role for vencrypt
Change-Id: I32717302aee97748574d8767b1d19824577ad41b
2023-10-16 09:10:08 -06:00
Stephen Taylor
5e5a52cc04 Update Rook to 1.12.5 and Ceph to 18.2.0
This change updates Rook to the 1.12.5 release and Ceph to the
18.2.0 (Reef) release.

Change-Id: I546780ce33b6965aa699f1578d1db9790dc4e002
2023-10-13 12:58:56 -06:00
Vladimir Kozhukalov
47b94340e9 Add 2023.2 Ubuntu Jammy overrides for libvirt chart
Change-Id: I4c9c3f290622df19953b94c61424bcece98d904f
2023-10-09 17:24:12 -05:00
Zuul
540e62271c Merge "fix(libvirt): add HOSTNAME_FQDN to certificate" 2023-10-05 21:11:23 +00:00
Sergiy Markin
eae5c6d69a Uplift nginx ingress controller to v1.8.2
Change-Id: I4223f3f859833447f4045e7acea81bf4c7a8948a
2023-10-04 20:00:33 +00:00
Mohammed Naser
b12e6fb436 fix(libvirt): add HOSTNAME_FQDN to certificate
Change-Id: I2d9e0053aa0f774b6621d6b5aadbd84c3a59a97b
2023-10-04 15:29:21 -04:00
Zuul
4bf06807f5 Merge "[ingress-controller] Redesigned controller parameters" 2023-10-03 20:43:23 +00:00
Stephen Taylor
a58f80599b [ceph] Add support for deploying and managing Ceph with Rook
This change adds an openstack-support-rook zuul job to test
deploying Ceph using the upstream Rook helm charts found in the
https://charts.rook.io/release repository. Minor changes to the
storage keyring manager job and the mon discovery service in the
ceph-mon chart are also included to allow the ceph-mon chart to be
used to generate auth keys and deploy the mon discovery service
necessary for OpenStack.

Change-Id: Iee4174dc54b6a7aac6520c448a54adb1325cccab
2023-10-03 07:16:02 -06:00
Sergiy Markin
db3537e56b [ingress-controller] Redesigned controller parameters
This PS consolidates control over ingress class name and controller
class names at one place.

Change-Id: I394ec99e0e6177c8c8553b636e3fda90c967c15b
2023-10-02 18:10:54 +00:00
Sergiy Markin
56dd4fdb84 [ingress-controller] Fixed controller parameters
This PS fixes some ingress controller parameters.

Change-Id: Ifb96703a8322bbe75834f4b117a4230e236ee6d0
2023-09-28 03:26:45 +00:00
Vladimir Kozhukalov
ae91cf3fc3 Use deploy-env role for all deployment jobs
To make it easier to maintain the jobs all experimental
jobs (those which are not run in check and gate pipelines)
are moved to a separate file. They will be revised later
to use the same deploy-env role.

Also many charts use Openstack images for testing this
PR adds 2023.1 Ubuntu Focal overrides for all these charts.

Change-Id: I4a6fb998c7eb1026b3c05ddd69f62531137b6e51
2023-09-22 15:02:07 -05:00
Zuul
fb71040bf7 Merge "Prevent liveness probe from killing mariadb pods during SST" 2023-09-21 11:56:34 +00:00
Mosher, Jaymes (jm616v)
5358aed591 Prevent liveness probe from killing mariadb pods during SST
Update liveness probe script to accept pods either sending
or receiving a SST, and avoid killing them.

Change-Id: I4ad95c45a7ab7e5e1cec2b4696671b6055cc10e7
2023-09-20 14:12:24 -06:00
Zuul
adcab364d2 Merge "Deprecating the Ingress Class Annotation" 2023-09-16 04:32:02 +00:00
Vladimir Kozhukalov
63cbad8f42 Fix deploy-env role to work on Ubuntu Jammy
Change-Id: Idfddfa48a7078ca63efa085191a5a07cdb8c2e61
2023-09-13 21:59:42 +03:00
Ritchie, Frank (fr801x)
21171ec581 Add optional value for extra poststart command
Add option to define an extra command (or commands via multiline yaml
value) that will run at the end of the poststart script. Specific
deployments can benefit from extra cleanup/checks.

Change-Id: I7c26292dc65dc0bfd4374b1f5577696fca89140f
2023-09-08 12:01:55 -04:00
Zuul
56d980b3bd Merge "Add deploy-env role" 2023-09-07 19:21:59 +00:00
Vladimir Kozhukalov
b0d659f9b2 Use Ceph Reef repo while deploying K8s
Reef is compatible with Focal and Jammy

Change-Id: Ic98a5824a319e4835aa3df2a8e68a1daef97392c
2023-09-06 19:17:17 +03:00
Vladimir Kozhukalov
bda43dfff8 Add deploy-env role
This role works both for singlenode and multinode
inventories. The role installs all necessary prerequisites
and deploys K8s with Containerd as a container runtime.
The idea is to use this role to deploy
all test singlenode/multinode environments for all test jobs.

This PR wraps into a role playbooks that
we are currently using for multinode compute-kit tests.

Change-Id: I41bbe80d806e614a155e6775c4505a4d81a086e8
2023-09-06 13:19:44 +03:00
Stephen Taylor
d29efccdbb [ceph-osd] Add disk zap to OSD init forced repair case
There exists a case for bluestore OSDs where the OSD init process
detects that an OSD has already been initialized in the deployed
Ceph cluster, but the cluster osdmap does not have an entry for it.
This change corrects this case to zap and reinitialize the disk
when OSD_FORCE_REPAIR is set to 1. It also clarifies a log message
in this case when OSD_FORCE_REPAIR is 0 to state that a manual
repair is necessary.

Change-Id: I2f00fa655bf5359dcc80c36d6c2ce33e3ce33166
2023-08-31 08:05:50 -06:00
Ritchie, Frank (fr801x)
6df0925b25 Make selenium v4 syntax optional
Make selenium v4 syntax optional using the same pattern as

https://review.opendev.org/c/openstack/openstack-helm-infra/+/892708

See:

https: //review.opendev.org/c/openstack/openstack-helm-infra/+/883894/5/grafana/templates/bin/_selenium-tests.py.tpl
Change-Id: I744b721750c474db9fecbd46280d30cfb8347a6f
2023-08-30 16:10:44 -04:00
Mosher, Jaymes (jm616v)
f234218dba Allow enabling vencrypt for VNC
This patchset allows enabling vencrypt for VNC, based on a
downstream patchset. [1]

Primary differences:
- script to generate pod-specific certs has been moved under
  values.conf.vencrypt.cert_init_sh to allow for it to be
  overridden if necessary
- leaves the creation of a (sub)issuer for vencrypt as
  outside the scope of this (and the nova) chart
- issuer to use to sign these certs configurable under:
  values.conf.vencrypt.issuer.kind
  values.conf.vencrypt.issuer.name
- added manifests.role_cert_manager to control creation of
  roles needed to create/update certs

1. https://github.com/vexxhost/atmosphere/pull/483

Change-Id: I955015874fed2b24570251c4cad01412bbab6045
2023-08-29 09:18:44 -06:00
Zuul
bfcc66689e Merge "Add upper contstraints to tox doc env" 2023-08-29 14:23:51 +00:00
Zuul
4e49d940c1 Merge "Set targeted dependency of libvirt with ovn networking backend" 2023-08-29 14:23:49 +00:00
Zuul
7da118bd4a Merge "Upgrade ElasticSearch and Kibana to v8.9.0" 2023-08-28 18:37:10 +00:00
Anselme, Schubert
51c70e48df
Deprecating the Ingress Class Annotation
This PS replaces deprecated kubernetes.io/ingress.class annotation  with
spec.ingressClassName field that is a reference to an IngressClass
resource that contains additional Ingress configuration, including the
name of the Ingress controller.

https://kubernetes.io/blog/2020/04/02/improvements-to-the-ingress-api-in-kubernetes-1.18/#deprecating-the-ingress-class-annotation

Change-Id: I9953d966b4f9f7b1692b39f36f434f5055317025
Co-authored-by: Sergiy Markin <smarkin@mirantis.com>
Co-authored-by: Leointii Istomin <listomin@mirantis.com>
Signed-off-by: Anselme, Schubert (sa246v) <sa246v@att.com>
2023-08-26 00:39:34 +00:00
Zuul
2167d4bbc5 Merge "Fix typo in selenium test" 2023-08-25 21:00:51 +00:00
Zuul
aa862218fb Merge "[ceph-rgw] Use Helm toolkit functions for Ceph RGW probes" 2023-08-25 19:56:59 +00:00
Ritchie, Frank (fr801x)
d097c3bf24 Fix typo in selenium test
For selenium v3 the proper syntax is

link = browser.find_element_by_link_text(link_name)

not

 link = browser.find_element_by_text_link(link_name)

Change-Id: I9f6062bae5caaa840208e90e8f29b63bf52d113b
2023-08-25 14:34:48 -04:00
Stephen Taylor
c984e2f169 [ceph-rgw] Use Helm toolkit functions for Ceph RGW probes
This change converts the readiness and liveness probes in the Ceph
RGW chart to use the functions from the Helm toolkit rather than
having hard-coded probe definitions. This allows probe configs to
be overridden in values.yaml without rebuilding charts.

Change-Id: Ia09d06746ee06f96f61a479b57a110c94e77c615
2023-08-25 09:22:13 -06:00
root
8a650594b8 Set targeted dependency of libvirt with ovn networking backend
Change-Id: I95fb525f4b91224cfd12a26eb7b873147de4e818
2023-08-25 14:50:19 +00:00