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

272 lines
11 KiB
YAML

---
# Copyright 2018 SUSE LINUX GmbH.
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
#
# http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.
- job:
name: openstack-helm-lint
run: playbooks/lint.yml
nodeset: ubuntu-focal
# NOTE(aostapenko) Required if job is run against another project
required-projects:
- openstack/openstack-helm-infra
irrelevant-files:
- ^.*\.rst$
- ^doc/.*$
- ^releasenotes/.*$
- job:
name: openstack-helm-lint-osh
parent: openstack-helm-lint
required-projects:
- openstack/openstack-helm
files:
- ^helm-toolkit/.*$
vars:
lint_osh: true
- job:
name: openstack-helm-infra-bandit
roles:
- zuul: openstack/openstack-helm-infra
- zuul: zuul/zuul-jobs
required-projects:
- openstack/openstack-helm
- openstack/openstack-helm-infra
files:
- ^.*\.py\.tpl$
- ^.*\.py$
- ^playbooks/osh-infra-bandit.yaml$
pre-run: playbooks/prepare-hosts.yaml
post-run: playbooks/osh-infra-collect-logs.yaml
run: playbooks/osh-infra-bandit.yaml
vars:
helm_version: "v3.6.3"
bandit_version: "1.7.1"
- job:
name: publish-openstack-helm-charts
parent: publish-openstack-artifacts
run: playbooks/build-chart.yaml
required-projects:
- openstack/openstack-helm-infra
post-run: playbooks/publish/post.yaml
- job:
name: openstack-helm-infra-deploy
abstract: true
roles:
- zuul: openstack/openstack-helm-infra
- zuul: zuul/zuul-jobs
required-projects:
- openstack/openstack-helm
- openstack/openstack-helm-infra
irrelevant-files:
- ^.*\.rst$
- ^doc/.*$
- ^releasenotes/.*$
timeout: 7200
pre-run:
- playbooks/prepare-hosts.yaml
- playbooks/mount-volumes.yaml
post-run: playbooks/osh-infra-collect-logs.yaml
run:
- playbooks/deploy-env.yaml
- playbooks/run-scripts.yaml
vars:
extra_volume:
size: 80G
type: Linux
mount_point: /opt/ext_vol
docker:
root_path: "/opt/ext_vol/docker"
containerd:
root_path: "/opt/ext_vol/containerd"
kubeadm:
pod_network_cidr: "10.244.0.0/24"
service_cidr: "10.96.0.0/16"
loopback_setup: true
loopback_device: /dev/loop100
loopback_image: "/opt/ext_vol/openstack-helm/ceph-loop.img"
ceph_osd_data_device: /dev/loop100
# the k8s package versions are available here
# https://packages.cloud.google.com/apt/dists/kubernetes-xenial/main/binary-amd64/Packages
kube_version: "1.26.3-00"
calico_version: "v3.25"
helm_version: "v3.6.3"
yq_version: "v4.6.0"
crictl_version: "v1.26.1"
zuul_osh_infra_relative_path: ../openstack-helm-infra
gate_scripts_relative_path: ../openstack-helm-infra
run_helm_tests: "no"
- job:
name: openstack-helm-infra-logging
parent: openstack-helm-infra-deploy
nodeset: openstack-helm-3nodes-ubuntu_focal
vars:
osh_params:
openstack_release: "2023.1"
container_distro_name: ubuntu
container_distro_version: focal
gate_scripts:
- ./tools/deployment/osh-infra-logging/000-prepare-k8s.sh
- ./tools/deployment/osh-infra-logging/010-ingress.sh
- ./tools/deployment/ceph/ceph.sh
- ./tools/deployment/osh-infra-logging/025-ceph-ns-activate.sh
- ./tools/deployment/osh-infra-logging/030-radosgw-osh-infra.sh
- ./tools/deployment/osh-infra-logging/040-ldap.sh
- ./tools/deployment/osh-infra-logging/050-elasticsearch.sh
- ./tools/deployment/osh-infra-logging/060-fluentd.sh
- ./tools/deployment/osh-infra-logging/070-kibana.sh
- ./tools/deployment/osh-infra-logging/600-kibana-selenium.sh || true
# This job is for compatibility with openstack-helm-images-aio-logging
- job:
name: openstack-helm-infra-aio-logging
parent: openstack-helm-infra-logging
- job:
name: openstack-helm-infra-monitoring
parent: openstack-helm-infra-deploy
nodeset: openstack-helm-1node-ubuntu_focal
vars:
osh_params:
openstack_release: "2023.1"
container_distro_name: ubuntu
container_distro_version: focal
gate_scripts:
- ./tools/deployment/osh-infra-monitoring/000-prepare-k8s.sh
- ./tools/deployment/osh-infra-monitoring/010-deploy-docker-registry.sh
- ./tools/deployment/osh-infra-monitoring/020-ingress.sh
- ./tools/deployment/osh-infra-monitoring/030-nfs-provisioner.sh
- ./tools/deployment/osh-infra-monitoring/040-ldap.sh
- ./tools/deployment/osh-infra-monitoring/045-mariadb.sh
- ./tools/deployment/osh-infra-monitoring/050-prometheus.sh
- ./tools/deployment/osh-infra-monitoring/060-alertmanager.sh
- ./tools/deployment/osh-infra-monitoring/070-kube-state-metrics.sh
- ./tools/deployment/osh-infra-monitoring/075-node-problem-detector.sh
- ./tools/deployment/osh-infra-monitoring/080-node-exporter.sh
- ./tools/deployment/osh-infra-monitoring/090-process-exporter.sh
- ./tools/deployment/osh-infra-monitoring/100-openstack-exporter.sh
- ./tools/deployment/osh-infra-monitoring/105-blackbox-exporter.sh
- ./tools/deployment/osh-infra-monitoring/110-grafana.sh
- ./tools/deployment/osh-infra-monitoring/120-nagios.sh
- ./tools/deployment/osh-infra-monitoring/170-postgresql.sh
- ./tools/deployment/osh-infra-monitoring/600-grafana-selenium.sh || true
- ./tools/deployment/osh-infra-monitoring/610-prometheus-selenium.sh || true
- ./tools/deployment/osh-infra-monitoring/620-nagios-selenium.sh || true
# This job is for compatibility with openstack-helm-images-aio-monitoring
- job:
name: openstack-helm-infra-aio-monitoring
parent: openstack-helm-infra-monitoring
- job:
name: openstack-helm-infra-metacontroller
parent: openstack-helm-infra-deploy
nodeset: openstack-helm-1node-ubuntu_focal
vars:
osh_params:
container_distro_name: ubuntu
container_distro_version: focal
feature_gates: apparmor
gate_scripts:
- ./tools/deployment/common/prepare-k8s.sh
- ./tools/deployment/common/metacontroller.sh
- ./tools/deployment/common/daemonjob-controller.sh
- job:
name: openstack-helm-infra-openstack-support
parent: openstack-helm-infra-deploy
nodeset: openstack-helm-1node-ubuntu_focal
vars:
osh_params:
openstack_release: "2023.1"
container_distro_name: ubuntu
container_distro_version: focal
gate_scripts:
- ./tools/deployment/openstack-support/000-prepare-k8s.sh
- ./tools/deployment/openstack-support/007-namespace-config.sh
- ./tools/deployment/openstack-support/010-ingress.sh
- ./tools/deployment/ceph/ceph.sh
- ./tools/deployment/openstack-support/025-ceph-ns-activate.sh
- ./tools/deployment/openstack-support/030-rabbitmq.sh
- ./tools/deployment/openstack-support/070-mariadb.sh
- ./tools/deployment/openstack-support/040-memcached.sh
- ./tools/deployment/openstack-support/050-libvirt.sh
- ./tools/deployment/openstack-support/060-openvswitch.sh
- ./tools/deployment/common/setup-client.sh
- ./tools/deployment/openstack-support/090-keystone.sh
- ./tools/deployment/openstack-support/100-ceph-radosgateway.sh
- ./tools/deployment/openstack-support/110-openstack-exporter.sh
- ./tools/deployment/openstack-support/120-powerdns.sh
- ./tools/deployment/openstack-support/130-cinder.sh
- job:
name: openstack-helm-infra-openstack-support-rook
parent: openstack-helm-infra-deploy
nodeset: openstack-helm-1node-32GB-ubuntu_focal
vars:
osh_params:
openstack_release: "2023.1"
container_distro_name: ubuntu
container_distro_version: focal
gate_scripts:
- ./tools/deployment/openstack-support-rook/000-prepare-k8s.sh
- ./tools/deployment/openstack-support-rook/007-namespace-config.sh
- ./tools/deployment/openstack-support-rook/010-ingress.sh
- ./tools/deployment/openstack-support-rook/020-ceph.sh
- ./tools/deployment/openstack-support-rook/025-ceph-ns-activate.sh
- ./tools/deployment/openstack-support-rook/030-rabbitmq.sh
- ./tools/deployment/openstack-support-rook/070-mariadb.sh
- ./tools/deployment/openstack-support-rook/040-memcached.sh
- ./tools/deployment/openstack-support-rook/050-libvirt.sh
- ./tools/deployment/openstack-support-rook/060-openvswitch.sh
- ./tools/deployment/common/setup-client.sh
- ./tools/deployment/openstack-support-rook/090-keystone.sh
- ./tools/deployment/openstack-support-rook/100-ceph-radosgateway.sh
- ./tools/deployment/openstack-support-rook/110-openstack-exporter.sh
- ./tools/deployment/openstack-support-rook/120-powerdns.sh
- ./tools/deployment/openstack-support-rook/130-cinder.sh
# Use libvirt ssl
- job:
name: openstack-helm-infra-openstack-support-ssl
parent: openstack-helm-infra-deploy
nodeset: openstack-helm-1node-ubuntu_focal
vars:
osh_params:
openstack_release: "2023.1"
container_distro_name: ubuntu
container_distro_version: focal
feature_gates: ssl
gate_scripts:
- ./tools/deployment/openstack-support/000-prepare-k8s.sh
- ./tools/deployment/openstack-support/007-namespace-config.sh
- ./tools/deployment/openstack-support/010-ingress.sh
- ./tools/deployment/ceph/ceph.sh
- ./tools/deployment/openstack-support/025-ceph-ns-activate.sh
- ./tools/deployment/openstack-support/030-rabbitmq.sh
- ./tools/deployment/openstack-support/070-mariadb.sh
- ./tools/deployment/openstack-support/040-memcached.sh
- ./tools/deployment/openstack-support/051-libvirt-ssl.sh
- ./tools/deployment/openstack-support/060-openvswitch.sh
- ./tools/deployment/common/setup-client.sh
- ./tools/deployment/openstack-support/090-keystone.sh
- ./tools/deployment/openstack-support/100-ceph-radosgateway.sh
- ./tools/deployment/openstack-support/110-openstack-exporter.sh
- ./tools/deployment/openstack-support/120-powerdns.sh
- ./tools/deployment/openstack-support/130-cinder.sh
...