822 Commits

Author SHA1 Message Date
Vladimir Kozhukalov
86f5b0e36f Cleanup old scripts
* get-values-overrides.sh and wait-for-pods.sh are not
  needed anymore because they are now a part of
  openstack-helm-plugin
* The functionality of setup-gateway.sh and
  setup-ceph-loopbash-device.sh moved to deploy-env role

Change-Id: Ia4c4142f98bd914e91830109ae5a0adf83f9d6cf
2025-02-28 14:54:59 -06:00
Zuul
090878eba4 Merge "Cleanup FEATURE_GATES variable" 2025-02-27 22:57:16 +00:00
Vladimir Kozhukalov
267cc9ae77 Cleanup FEATURE_GATES variable
A while ago we changed the way how define
feature sets for test jobs and now we are using
FEATURES env variable.

Change-Id: Ib4afe58b27cd255ce844626b1eee5ecc82e3aeb3
2025-02-26 14:38:57 -06:00
Vladimir Kozhukalov
92ff95589c Retire senlin chart
The Senlin project is retired and there has been
little interest in Senlin chart.

Change-Id: Ib7d97bf24eec7b8fde6cf80744c839f77714beb8
2025-02-25 17:38:19 -06:00
Vladimir Kozhukalov
5fc6af50cd Update default overrides path in deployment scripts
Change-Id: Ic8e6963d559ae58973fd2410c2ae90efe4d93a57
2025-02-20 07:02:29 -06:00
Vladimir Kozhukalov
5a59e121aa Generate CHANGELOG.md for charts
We use reno>=4.1.0 features to combine release notes from
a bunch of release notes files. Reno uses git tags
to figure out which release notes files to include
to a given release.

When building charts for deployment tests we skip
generating CHANGELOG.md files.

Change-Id: If908b9b6c8d0adae422deaefb25ba56ece701aa5
2025-01-30 13:02:06 -06:00
Vladimir Kozhukalov
13651f4532 Update values_overrides to use images from buildset registry
Recently we moved all overrides to a separate directory and
if we want to test images published to buildset registry
we have to update those overrides before deployment.

Change-Id: I54f5dffa3a44bfe81bec942942c0784b0e427a2a
2025-01-13 17:04:44 -06:00
Vladimir Kozhukalov
450f355bc7 Append metadata suffix when building charts
Change-Id: I04332e9f18a5f4c5973aae51dbd746f4e1eadc7c
2024-12-21 11:48:01 -06:00
Vladimir Kozhukalov
1425f5426c Minor fixes for tests
* Update the openstack-client image url to
  avoid Docker Hub rate limits.
* One line fix for use-it.sh script
* Temporarily disable voting for the Kubespray job
  because it often encounters Docker Hub rate limits.
* Increase jobs timeout

Depends-On: I58946e6fc63d726e08d83ea7f96e7fef140ddf21
Change-Id: Iae92c73135391a930f1c1dc95dadce424678aee3
2024-12-20 23:44:07 -06:00
Vladimir Kozhukalov
a8416f968e Move values overrides to a separate directory
This is the action item to implement the spec:
doc/source/specs/2025.1/chart_versioning.rst

Depends-On: I327103c18fc0e10e989a17f69b3bff9995c45eb4
Depends-On: I7bfdef3ea2128bbb4e26e3a00161fe30ce29b8e7
Change-Id: I4974785c904cf7c8730279854e3ad9b6b7c35498
2024-12-13 15:25:19 -06:00
Vladimir Kozhukalov
97099183e4 [glance] Add override for downloading Ubuntu image
We used to add the Ubuntu image to the list of
images to download during the glance bootstrap
in one of our test script. This image is mostly
used for debugging and when cirros is incompatible
with infra VMs. So let's add glance values override
file specifically for this and enable it only when
necessary.

Change-Id: I5c10dac4826c3ea10327e4934bbeab27b54877e2
2024-11-15 14:44:10 -06:00
Vladimir Kozhukalov
f761e7bfdd Update test playbook for testing loci images
To test images before publishing them we put them
to the buildset registry and then update the images section
in all values to point to this buildset registry.

This PS replaces both (openstackhelm|loci)/* with
the corresponding buildset image.

Change-Id: Ie33ae8dd4f29746ff99cfc31962d924e12b62e1b
2024-11-06 20:02:25 -06:00
Vladimir Kozhukalov
bdeb6412a3 Add 2024.2 overrides
Depends-On: I783bd05bdd529c73825311515e1390f3cc077c4f
Depends-On: Ic43f14e212f4de6616b4255bdd5ce562c5bcf9b0
Change-Id: I48ec926258b2f8e409ff47e0c858977126698241
2024-10-15 20:20:29 -05:00
Vladimir Kozhukalov
fe2633dab2 Bump cert-manager version to v1.16.1
Change-Id: Icf194c348fffde8066be725378e37830177d4a96
2024-10-10 12:39:30 -05:00
Vladimir Kozhukalov
aa3a6c489e Add Kubespray compute-kit job
We would like to make sure OSH charts work
with K8s clusters managed by third party tools
not only with the K8s cluster deployed by
OSH deploy-env role

Depends-On: I4ffc6653070dbbc6f0766b278acf0ebe2b4ae1e1
Depends-On: I92c73606ed9b9161f39ea1971b3a7db7593982ff
Change-Id: If9bd4720bea951a56cfd6d4f80be37bd17bcb149
2024-09-12 17:31:22 -05:00
Vladimir Kozhukalov
f51624fbf1 Add DPKD overrides to Nova chart
For all test jobs we explicitly deploy Nova with virt_type=qemu
to make tests less dependent on the infrastructure hardware.

By default Nova sets virt_type=kvm but in case of using
DPDK feature we'd better explicitly set it so.

Change-Id: I88c8d2f8f1cc9d155486773c7052347e916255d8
2024-08-22 08:11:43 -05:00
Vladimir Kozhukalov
b335209154 Add Cilium/Metallb and Flannel/Metallb jobs
Also add the ability to test the deployment
with Ubuntu Minimal VM. Sometimes it is useful
for debug.

Change-Id: Ibfcf45c550176a50fdd03442479c66f9f1e0a94d
2024-08-16 15:33:17 -05:00
Vladimir Kozhukalov
2a898322f1 Simplify umbrella job to make it more stable
- Do not deploy Ceph. It is time and resoureces consuming.
  We test Ceph deployment in other jobs.
- Deploy Mariadb and Rabbitmq with local volumes
- Do not test upgrades for Mariadb and Rabbitmq
- Use ephemeral backend for Glance

Change-Id: I43a09d6938c5cfb30c78a54675e3db17d24285bf
2024-08-13 12:51:46 -05:00
Vladimir Kozhukalov
5b6312f620 Reorganize test jobs
- Upgrade env
  - K8s 1.30.3
  - Helm 3.14.0
  - Crictl 1.30.1
  - Calico 3.27.4
  - Cilium 1.16.0
  - Ingress-nginx Helm chart 4.11.1
- Remove Zed and Yoga test jobs
- Remove netpol, apparmor, tungsten-fabric jobs

Change-Id: Ib2cbb6949a6233e695de07619e295c7849a2bbb0
2024-07-31 09:49:19 -05:00
Vladimir Kozhukalov
157cfe621c Run umbrella and tls test jobs on multinode envs
- Run TLS job on multinode env (5 nodes).
- Run umbrella job on multinode env. Update openstack
  umbrella chart values to work on multiple nodes
  (deploy mariadb and rabbit with general storage class).

Change-Id: I50eabc2e56646c2e75cc84aad2280a6bb1a44df0
2024-07-29 05:01:56 -05:00
Vladimir Kozhukalov
c4c80371f9 Do not attach PVC to glance-storage-init job
When PVC is used as glance storage backend we
don't need to attach it to the storage init pod
because anyway the init script does nothing with the PVC.

On the other hand when PVC is used as the backend
there is a race condition when this PVC is attached to
the API pod and to the storage init pod. It breaks the
deployment because storage init pod never starts
and API pod waits for the storage init job to finish.

Also this PR adds the test job that deploys compute-kit
with Ceph as storageclass backend. In this job Mariadb, Rabbit,
Glance, Cinder all use Ceph while usually we test charts
with in-memory volumes. This job is heavy and we run it
periodically.

Change-Id: I7fd1a4a47472bd81cda43cb50b1e3dc448619598
2024-06-21 01:20:49 -05:00
ricolin
30c22e2286 Placement: Support uWSGI for API server
Currently Placement API server still using eventlet-based HTTP servers,
it is generally considered more performant and flexible to run them
using a generic HTTP server that supports WSGI.

Change-Id: I7c0d57a210f1a2d02d989cd8c0d25798bfabfa35
2024-06-05 03:55:13 -05:00
Vladimir Kozhukalov
95adcb7201 Fix cinder deployment script
Recently we introduced test jobs that consume
charts from either local or public Helm repos.
All the deployment scripts must use variables
OSH_HELM_REPO or OSH_INFRA_HELM_REPO
which by default point to local directories
but these new jobs set them to use HTTP repos.

Change-Id: I2e17790385c2bdc0b79607c240a47639c61365c0
2024-05-10 14:41:40 -05:00
Vladimir Kozhukalov
8bfd598d41 Fix typo in all deployment scripts
Wrong variable name DOWLOAD_OVERRIDES is used
instead of DOWNLOAD_OVERRIDES. Also in some scripts
the variable is duplicated.

Change-Id: Ife61d37b049aa191f256cfc5d447d4ea4bc35fc0
2024-04-30 14:54:35 -05:00
Vladimir Kozhukalov
18d92f0eb0 Add jobs consuming charts from Helm repos
Depends-On: Ic92b97eb5df4f7f8c4185c06654de4b4d890fbc6
Change-Id: If5dd37db9ed6f75a789c0fc808446752bbf87890
2024-04-24 16:56:53 -05:00
Zuul
437a3dca5d Merge "Remove unused ingress.sh script" 2024-04-22 18:08:21 +00:00
Vladimir Kozhukalov
3d748215ec Remove unused ingress.sh script
This script used to deploy the ingress controller
using OSH-infra ingress chart. We switched all
the test jobs to the upstream Ingress-nginx
Helm chart some time ago and now we can remove
this script.

Change-Id: I5282e98eb4387ce05ae4dec4fba8f21550a22617
2024-04-20 01:47:32 -05:00
Vladimir Kozhukalov
df1c999e41 Utilize OSH plugin for deployment test scripts
Depends-On: I8f30fbdf94d76ef9fa2985a25c033df290995326
Change-Id: I35b3793a660cfc27faf700b9679529b154e41df4
2024-04-20 01:31:03 -05:00
Vladimir Kozhukalov
718fa2c2e0 Add Metallb job
Metallb be is a L2/L3 load balancer that we
use for exposing the Openstack services
outside the cluster.

Before that we used to deploy the ingress-nginx
contoller in the host network namespace.

Change-Id: I9fdb5f1b2f9403ce04f9d34b1792a0f29f55d879
2024-03-26 19:34:46 -05:00
Vladimir Kozhukalov
96f2a1fcec Pre-setup provider gateway using deploy-env role
Recently we refactored the deploy-env role which
among other things can deploy Openstack provider
network gateway.

Depends-On: I41f0353b286f817cb562b3bd59992e4baa473568
Change-Id: Iece2cc83c68cc282389f8380ceebeebf17f788fb
2024-03-26 16:57:38 -05:00
Vladimir Kozhukalov
82d1b86b2a Update for future ingress improvements
- Openvswitch agent init script skips attaching
  interface if it does not exist. And the compute-kit.sh
  deploys neutron with

  auto_bridge_add: {"br-ex": "provider1"}

  where "provider1" is a tap interface that is going
  to be created while deploying the test env.

- Heat test script checks only public endpoints

- Add 1+2 nodes nodeset. The primary node is used
  as a client node and not a member of K8s cluster.

Change-Id: If7c8763dd619dec31f9d141f21399d159395049a
2024-03-19 16:13:14 -05:00
Vladimir Kozhukalov
17ca3983c2 Update neutron chart to enable dpdk tests
Running dpdk test job on a sinlge node env
does not require a real hardware dpdk interfaces
to be attached to the tunnel bridge. Let's
make the list of dpdk interfaces empty which
will allow us to test the Openvswitch in user space
but not touch real hardware.

Change-Id: I2f9d954258451f64eb87d03affc079b71b00f7bd
Co-Authored-By: Arina Stebenkova <astebenkova@mirantis.com>
2024-02-13 22:21:07 -06:00
Vladimir Kozhukalov
f3286ded3d Use upstream ingress-nginx
Change-Id: Iecd53115f4ee2f4dc6ea4f575cfdb4a934aacb1a
2024-01-30 22:27:47 -06:00
Vladimir Kozhukalov
fd519debfb Use containerized Openstack client
Change-Id: I982cd3a831701d002eb128fb92e1514070f30e15
2024-01-19 10:21:40 -06:00
Vladimir Kozhukalov
d025c02ce6 Enable 2023.2 compute-kit-ovn job
Depends-On: I9f852ff54cfc42536387fa51a73f019b56070345
Change-Id: I80e98df09693dcf5e4666e2bf3209ee34d11eedf
2024-01-04 11:51:49 -06:00
Vladimir Kozhukalov
67090246b7 Run 2023.2 tls job
Change-Id: I2d7d48b6e26e975a1eb91669b89672a8068e1038
2023-12-11 13:54:35 -06:00
Vladimir Kozhukalov
444f1fd161 Use rook ceph for some cinder jobs
Change-Id: I2af04eb6ad313593fb25f9430a00b4e2c5d503fb
2023-12-07 14:37:33 -06:00
Vladimir Kozhukalov
b52ceef053 Use get-values-overrides.sh script from osh-infra
Depends-On: I5cfaad8ebfd08790ecabb3e8fa480a7bf2bb7e1e
Change-Id: I2a76a73974b874774d2ed5871d7280a2a0a9179c
2023-11-29 23:38:29 -06:00
Vladimir Kozhukalov
52cd767c84 Cleanup unnecessary files
We recently re-worked all the deployment jobs
so they use `deploy-env` Ansible role which works
for both multi-node and single-node environments.
This means there is no need to have diffrent sets
of scripts for these two cases.

Also when we deploy Openstack components it is better
to have values overrides for different scenarios but
not different sets of scripts. Here we remove unused
deployment scripts which in many cases duplicated
the code base.

We will be cleaning up the code base even further to
provide excelent user experience.

Change-Id: Iacda03964a4dd0e60873593df9f590ce20504f2f
2023-11-02 16:12:27 -05:00
Vladimir Kozhukalov
2815d67688 Use osh-bandit role for the bandit job
Change-Id: I1ced9902237777683feb36e5a3a261b9c0d56c42
2023-10-30 14:54:26 -05:00
Vladimir Kozhukalov
82a6aa8ce9 Add 2023.2 (Bobcat) jobs
Change-Id: Iea2a16db8acaa94259aeb3e21097bb771b70c38e
2023-10-13 12:40:12 -05:00
Vladimir Kozhukalov
fc365b8dd5 Bump Cirros image version to 0.6.2
In Bobcat by default the ssh keypair is generated
with ed25519 algorithm which is incompatible with
Cirros 0.3.5. The Cirros 0.6.2 also requires minimum
128Mi of RAM

Change-Id: I0135c09a9ae5bc3171891576b29a450f7000f180
2023-10-12 13:45:53 -05:00
Vladimir Kozhukalov
a4ee07744e Fix buildset registry usage for multinode jobs
The issue was that we used to add buildset registry
name to the /etc/hosts file only on the primary node.
This PR fixes this.

Change-Id: I48a861c7c6661e3fe1e7384f4b987f1646d652d7
2023-09-20 01:44:13 +03:00
Vladimir Kozhukalov
b9da4fcbf6 Fix deployment jobs when used for testing images
Change-Id: I0f12c83c4896c699a0b6c13bbff7bc520ca56e46
2023-09-19 04:52:41 +03:00
Vladimir Kozhukalov
56842b39d4 Update ingress deployment script
We recently merged https://review.opendev.org/c/openstack/openstack-helm-infra/+/891720
which updates ingress controller deployment and assumes
we now use IngressClass objects instead of annotations.

We have to update the ingress deployment script
so it creates IngressClass objects with correct names.

Change-Id: I547f27250ba21bb068bc83c62954092111df8b50
2023-09-17 08:49:05 +03:00
Vladimir Kozhukalov
069d8e9320 Use deploy-env role for all deployment jobs
The change updates all deployment jobs so they use
deploy-env role which leverages kubeadm to deploy k8s.
This role works for both single-node/multi-node
inventories.

Also all jobs are reorganized to improve job
maintenance. Check pipeline runs tests for 3
most recent releases: Yoga, Zed, 2023.1

We are focusing on 2023.1 for which we run both
Focal and Jammy jobs.

Change-Id: Ibba9b72876b11484fd7cc2e4710e92f964f15cc3
2023-09-15 20:30:42 +03:00
Vladimir Kozhukalov
5aadee0dc8 Add Ubuntu Jammy overrides
Change-Id: Icabf43efee2e64c856ae14a69881d96b380d7751
2023-09-07 00:12:04 +03:00
Ayumu Ueha
97c1c61ea2 Add Tacker chart
At this point it requires nfs provisioner that provides
ReadWriteMany volumes for vnfpackages, csar files and
also the same storage class is used for logs.

Also this patch adds a job that only deploys Tacker but
does not tests it in any way. This job is put to the experimental
pipeline.

Co-authored-by: Vladimir Kozhukalov <kozhukalov@gmail.com>

Story: 2010682
Task: 47771
Change-Id: I56d7ba489746ab4f818086440a7783f4b1ecb292
2023-09-01 05:01:02 +00:00
Vladimir Kozhukalov
8366d679dd Fix hosts.toml template for containerd
The issue is that playbook that configures containerd
defines buildset registry namespace w/o skip_verify
parameter which leads to the error in the template.

This change add additional check whether skip_verify
parameter is defined or not.

Change-Id: I7b6f19d4fe881e33fef2370bac887e9cd66c7b35
2023-08-15 17:03:12 +03:00
Vladimir Kozhukalov
c39638a148 Configure containerd mirrors for multinode tests
The compute-kit jobs are used to test new images
which are published to buildset registry. We have
to configure containerd which is used for multinode
compute-kit jobs to use this buildset registry.

The role use-buildset-registry that we used before
does not properly configure containerd. So we
extended deploy-docker playbook to configure
both buildset registry and registry mirror
if they are defined.

Change-Id: Idb892a3fcaf51385998d466dbdff8de36d9dd338
2023-08-11 20:48:05 +03:00