18 Commits

Author SHA1 Message Date
Vladimir Kozhukalov
a836113584 Add ingress deployment to deploy-env role
Change-Id: I910862d391650c443c6f0e352b3687120af14a91
2025-03-03 22:33:24 +00:00
Vladimir Kozhukalov
3edbef16f3 [deploy-env] Fix fetching images
Even with the docker proxy cache we often get
jobs failed due to Docker Hub rate limits.
As per recommendation from the Opendev Infra team
let's pull as many as possible images from other
registires.

This PR updates the dnsmasq and nginx images used
for auxiliary purposes during deployments.

Change-Id: I58946e6fc63d726e08d83ea7f96e7fef140ddf21
2024-12-20 14:44:27 -06:00
Vladimir Kozhukalov
693d3a2686 Update Chart.yaml apiVersion to v2
Change-Id: I66dcaedefd0640f8a7b5343363354ba539d70627
2024-12-16 16:48:03 -06:00
Vladimir Kozhukalov
7fddc1a8d3 Bump K8s to v1.31
Change-Id: I384b10ef7b2da42d2227b4134e4ece4c5f9aa6d1
2024-12-02 22:00:51 -06:00
Vladimir Kozhukalov
1178ded805 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

Change-Id: I3d5a3d855b0b4b0b66e42d94e1e9704f7f91f88b
2024-07-29 05:47:12 -05:00
Vladimir Kozhukalov
62f12e3a1f Add Flannel deployment to deploy-env role
Change-Id: I72f3f29196ea1d433655c8862ac34718df18c7ea
2024-07-15 12:12:48 -05:00
Vladimir Kozhukalov
bc45596483 Add Cilium deployment to deploy-env role
Change-Id: I7cec2d3ff09ec3f85992162bbdb8c351660f7de8
2024-07-02 08:58:30 +00:00
Vladimir Kozhukalov
cf4a143e1b Setup passwordless ssh from primary to cluster nodes
Here we add Ansible tasks to the deploy-env role
to setup passwordless ssh from the primary node
to K8s cluster nodes. This is necessary for some
test scripts like for example Ceph migration script.

Change-Id: I1cae1777d51635a19406ea054f4d83972e5fe43c
2024-06-25 12:32:41 -05:00
Vladimir Kozhukalov
cbc4dffb30 Bump K8s version to 1.29.5
Change-Id: I4a3c7a17f32b5452145e1677e3c5072875dc9111
2024-05-15 13:47:28 -05:00
Vladimir Kozhukalov
d31027cfb4 Install OSH Helm plugin
Depends-On: I71ab6ad104beb491b5b15b7750e2fc0988db82bf
Change-Id: I8f30fbdf94d76ef9fa2985a25c033df290995326
2024-04-17 19:06:48 -05:00
Vladimir Kozhukalov
cfed816a9a Fix coredns resolver
Forward requests for unknown names to 8.8.8.8

NOTE: Temporarily disable DPDK job which turned to
be incompatible with this PR
https://review.opendev.org/c/openstack/openstack-helm/+/914399
It wasn't tested with the DPDK job.

Change-Id: I936fb1032a736f7b09ad50b749d37095cce4c392
2024-03-28 20:34:23 -05:00
Vladimir Kozhukalov
5b1879aa09 Refactor deploy-env role
- Make it less mixed. Each task file
  deploys one feature.
- Deploy Metallb
- Deploy Openstack provider network gateway

Change-Id: I41f0353b286f817cb562b3bd59992e4baa473568
2024-03-25 14:45:00 -05:00
Vladimir Kozhukalov
cfff60ec10 Bump Calico version to v3.27.0
Change-Id: I8daa54e70c66cec41733d6b9fd5c9dd4597ff9c1
2024-02-02 13:54:22 -06:00
Vladimir Kozhukalov
2b7563f5de Add zuul user to docker group
We are going to use containerized Openstack client
in test scripts. Adding zuul to the docker group
allows running docker command directly not using sudo.

Change-Id: Iee77e7f2b8801743f95535d31d0b909dcea50bf3
2024-01-16 13:38:19 -06:00
Vladimir Kozhukalov
9e256fd8b0 Update k8s packages repo
For details see the announcement
https://kubernetes.io/blog/2023/08/31/legacy-package-repository-deprecation/

Also bump K8s version up to 1.28.4

Change-Id: Ic6b3478e53504622804b6f003ca176a679573d5b
2023-12-12 17:58:20 -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
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
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