Improvements for tests

This is to align test scripts and playbooks with the recent
merger with the osh-infra repo.

* Get rid of OSH_INFRA_* env variables and
  use OSH_* variables wherever necessary
* Update linter job so that playbook runs
  the linting commands directly not involving tox
  and additional shell script
* Move tools/gate/playbooks/* to playbooks/*
* Cleanup unused playbooks
* Cleanup unused shell scripts

Change-Id: I1913ed613025457d97cf1a4eeca6c2fbda0b72f6
This commit is contained in:
Vladimir Kozhukalov 2025-03-21 12:49:18 -05:00
parent 0934b52733
commit 536dccaf5b
86 changed files with 449 additions and 1285 deletions

View File

@ -71,15 +71,14 @@ Other links
Our documentation is available `here <https://docs.openstack.org/openstack-helm/latest/>`_.
This project is under active development. We encourage anyone interested in
OpenStack-Helm to review the `code changes <https://review.opendev.org/q/(project:openstack/openstack-helm+OR+project:openstack/openstack-helm-infra+OR+project:openstack/openstack-helm-images+OR+project:openstack/loci)+AND+-is:abandoned>`_
OpenStack-Helm to review the `code changes <https://review.opendev.org/q/(project:openstack/openstack-helm+OR+project:openstack/openstack-helm-images+OR+project:openstack/loci)+AND+-is:abandoned>`_
Our repositories:
* OpenStack charts `openstack-helm <https://opendev.org/openstack/openstack-helm.git>`_
* Infra charts `openstack-helm-infra <https://opendev.org/openstack/openstack-helm-infra.git>`_
* OpenStack-Helm plugin `openstack-helm-plugin <https://opendev.org/openstack/openstack-helm-plugin.git>`_
* Building images `openstack-helm-images <https://opendev.org/openstack/openstack-helm-images.git>`_
* Building Openstack images framework `loci <https://opendev.org/openstack/loci.git>`_
* Build non-OpenStack images `openstack-helm-images <https://opendev.org/openstack/openstack-helm-images.git>`_
* Build Openstack images `loci <https://opendev.org/openstack/loci.git>`_
We welcome contributions in any form: code review, code changes, usage feedback, updating documentation.

View File

@ -12,21 +12,15 @@
---
- hosts: all
vars_files:
- vars.yaml
vars:
work_dir: "{{ zuul.project.src_dir }}/{{ zuul_osh_infra_relative_path | default('') }}"
work_dir: "{{ zuul.project.src_dir }}"
logs_dir: "/tmp/logs"
roles:
- gather-host-logs
tags:
- gather-host-logs
- hosts: primary
vars_files:
- vars.yaml
vars:
work_dir: "{{ zuul.project.src_dir }}/{{ zuul_osh_infra_relative_path | default('') }}"
work_dir: "{{ zuul.project.src_dir }}"
logs_dir: "/tmp/logs"
roles:
- helm-release-status
@ -34,10 +28,4 @@
- gather-pod-logs
- gather-prom-metrics
- gather-selenium-data
tags:
- helm-release-status
- describe-kubernetes-objects
- gather-pod-logs
- gather-prom-metrics
- gather-selenium-data
...

View File

@ -9,7 +9,6 @@
# 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.
---
- hosts: all
strategy: linear

83
playbooks/lint.yaml Normal file
View File

@ -0,0 +1,83 @@
---
# 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.
- hosts: all
roles:
- ensure-python
- ensure-pip
- name: ensure-helm
helm_version: "3.16.4"
- name: ensure-chart-testing
chart_testing_version: "3.11.0"
- name: chart-testing
chart_testing_options: "--target-branch=master --chart-dirs=. --validate-maintainers=false --check-version-increment=false"
zuul_work_dir: "{{ work_dir }}"
vars:
work_dir: "{{ zuul.project.src_dir }}"
tasks:
- name: Install reno
pip:
name: reno>=4.1.0
extra_args: "--ignore-installed"
become: yes
# - name: make all
# make:
# chdir: "{{ work_dir }}"
# target: all
- name: Prevent trailing whitespaces
shell: find . \! \( -path "*/\.*" -o -path "*/doc/build/*" -o -name "*.tgz" -o -name "*.png" -o -name "*.jpg" \) -type f -exec grep -El " +$" {} \;
register: _found_whitespaces
failed_when: _found_whitespaces.stdout != ""
args:
chdir: "{{ work_dir }}"
- name: Install yamllint
shell: pip3 install -U yq yamllint
become: yes
- name: Run yamllint
shell: |
cat > /tmp/yamllint.sh <<EOF
#!/bin/bash
set -xe
rm -rf */charts/helm-toolkit
mkdir .yamllint
cp -r * .yamllint
rm -rf .yamllint/*/templates
for i in */; do
# avoid helm-toolkit to symlink on itself
[ -d "\$i/templates" -a "\$i" != "helm-toolkit/" ] || continue
mkdir -p \$i/charts
ln -s ../../helm-toolkit \$i/charts/helm-toolkit
helm template \$i --output-dir .yamllint 2>&1 > /dev/null
done
find .yamllint -type f -exec sed -i 's/%%%.*/XXX/g' {} +
shopt -s globstar extglob
# Lint all yaml files except templates
yamllint -c yamllint.conf .yamllint/*{,/!(templates)/**}/*.y*ml yamllint*.conf
# Lint templates
yamllint -c yamllint-templates.conf .yamllint/*/templates/*.yaml
EOF
chmod +x /tmp/yamllint.sh
/tmp/yamllint.sh
args:
chdir: "{{ work_dir }}"
executable: /bin/bash
...

View File

@ -1,89 +0,0 @@
---
# 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.
- hosts: all
roles:
- ensure-python
- ensure-pip
- name: ensure-helm
helm_version: "3.16.4"
- name: ensure-chart-testing
chart_testing_version: "3.11.0"
- name: chart-testing
chart_testing_options: "--target-branch=master --chart-dirs=. --validate-maintainers=false --check-version-increment=false"
zuul_work_dir: "{{ work_dir }}"
vars:
work_dir: "{{ zuul.project.src_dir }}/{{ zuul_osh_infra_relative_path | default('') }}"
tasks:
- name: Install reno
pip:
name: reno>=4.1.0
extra_args: "--ignore-installed"
become: yes
- name: make all
make:
chdir: "{{ zuul.project.src_dir }}"
target: all
- name: make all osh
make:
chdir: "{{ zuul.project.src_dir }}/{{ zuul_osh_relative_path | default('../openstack-helm/') }}"
target: all
when: lint_osh is defined
- name: Prevent trailing whitespaces
shell: find . \! \( -path "*/\.*" -o -path "*/doc/build/*" -o -name "*.tgz" -o -name "*.png" -o -name "*.jpg" \) -type f -exec grep -El " +$" {} \;
register: _found_whitespaces
failed_when: _found_whitespaces.stdout != ""
args:
chdir: "{{ ansible_user_dir }}/src/{{ zuul.project.canonical_name }}"
- name: Check release note version matches
shell: ../openstack-helm/tools/gate/reno-check.sh
args:
chdir: "{{ ansible_user_dir }}/src/{{ zuul.project.canonical_name }}"
- name: Check if yamllint.conf exists
stat:
path: "{{ ansible_user_dir }}/src/{{ zuul.project.canonical_name }}/yamllint.conf"
register: yamllintconf
- name: Install jq and pip
apt:
pkg:
- jq
- python3-pip
become: yes
when: yamllintconf.stat.exists == True
- name: Install tox
shell: pip3 install -U tox
become: yes
when: yamllintconf.stat.exists == True
- name: Execute yamllint check for values* yaml files
command: tox -e lint
args:
chdir: "{{ ansible_user_dir }}/src/{{ zuul.project.canonical_name }}"
when: yamllintconf.stat.exists == True
- name: Execute yamllint check for osh values* yaml files
command: tox -e lint
args:
chdir: "{{ zuul.project.src_dir }}/{{ zuul_osh_relative_path | default('../openstack-helm/') }}"
when: yamllintconf.stat.exists == True and lint_osh is defined
...

View File

@ -1,43 +0,0 @@
# 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.
---
- hosts: all
vars_files:
- vars.yaml
vars:
work_dir: "{{ zuul.project.src_dir }}/{{ zuul_osh_infra_relative_path | default('') }}"
gather_facts: False
become: yes
roles:
- deploy-python
tags:
- deploy-python
- hosts: all
vars_files:
- vars.yaml
vars:
work_dir: "{{ zuul.project.src_dir }}/{{ zuul_osh_infra_relative_path | default('') }}"
gather_facts: True
become: yes
roles:
- setup-firewall
- deploy-python-pip
- deploy-docker
- deploy-jq
tags:
- setup-firewall
- deploy-python-pip
- deploy-docker
- deploy-jq
...

View File

@ -1,26 +0,0 @@
# 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.
---
- hosts: primary
vars_files:
- vars.yaml
vars:
work_dir: "{{ zuul.project.src_dir }}/{{ zuul_osh_infra_relative_path | default('') }}"
gather_facts: True
become: yes
roles:
- ensure-pip
- deploy-selenium
tags:
- deploy-selenium
...

View File

@ -1,47 +0,0 @@
# 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.
---
- hosts: primary
tasks:
- name: Ensure pip
include_role:
name: ensure-pip
- name: Clear firewall
include_role:
name: clear-firewall
- name: Override images
include_role:
name: override-images
when: buildset_registry is defined
- name: Use docker mirror
include_role:
name: use-docker-mirror
- name: "creating directory for run artifacts"
file:
path: "/tmp/artifacts"
state: directory
- name: Run gate scripts
include_role:
name: "{{ ([item] | flatten | length == 1) | ternary('osh-run-script', 'osh-run-script-set') }}"
vars:
workload: "{{ [item] | flatten }}"
loop: "{{ gate_scripts }}"
- name: "Downloads artifacts to executor"
synchronize:
src: "/tmp/artifacts"
dest: "{{ zuul.executor.log_root }}/{{ inventory_hostname }}"
mode: pull
ignore_errors: True
...

View File

@ -1,53 +0,0 @@
# 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.
---
- hosts: all
vars_files:
- vars.yaml
vars:
work_dir: "{{ zuul.project.src_dir }}/{{ zuul_osh_infra_relative_path | default('') }}"
gather_facts: False
become: yes
roles:
- deploy-python
tags:
- deploy-python
- hosts: all
vars_files:
- vars.yaml
vars:
work_dir: "{{ zuul.project.src_dir }}/{{ zuul_osh_infra_relative_path | default('') }}"
gather_facts: True
become: yes
roles:
- upgrade-host
- start-zuul-console
- disable-local-nameserver
tags:
- upgrade-host
- start-zuul-console
- disable-local-nameserver
- hosts: all
vars_files:
- vars.yaml
vars:
work_dir: "{{ zuul.project.src_dir }}/{{ zuul_osh_infra_relative_path | default('') }}"
gather_facts: False
become: yes
roles:
- deploy-apparmor
tags:
- deploy-apparmor
...

View File

@ -1,17 +1,8 @@
# 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.
---
- hosts: all
roles:
- start-zuul-console
- ensure-python
- ensure-pip
- clear-firewall
...

View File

@ -11,6 +11,20 @@
# limitations under the License.
---
- hosts: all
become: true
tasks:
- name: Configure /etc/hosts for buildset_registry to workaround docker not understanding ipv6 addresses
lineinfile:
path: /etc/hosts
state: present
regex: "^{{ buildset_registry.host }}\tzuul-jobs.buildset-registry$"
line: "{{ buildset_registry.host }}\tzuul-jobs.buildset-registry"
insertafter: EOF
when:
- buildset_registry is defined
- buildset_registry.host | ipaddr
- hosts: primary
tasks:
- name: Override images
@ -18,10 +32,17 @@
vars:
work_dir: "{{ zuul.project.src_dir }}"
block:
- name: Buildset registry alias
include_role:
name: deploy-env
tasks_from: buildset_registry_alias
- name: Set buildset_registry alias variable when using ip
set_fact:
buildset_registry_alias: zuul-jobs.buildset-registry
when:
- buildset_registry.host | ipaddr
- name: Set buildset_registry alias variable when using name
set_fact:
buildset_registry_alias: "{{ buildset_registry.host }}"
when:
- not ( buildset_registry.host | ipaddr )
- name: Print zuul
debug:
@ -30,7 +51,7 @@
- name: Override proposed images from artifacts
shell: >
find {{ override_paths | join(" ") }} -type f -exec sed -Ei
"s#['\"]?docker\.io/({{ repo }}):({{ tag }})['\"]?\$#{{ buildset_registry_alias }}:{{ buildset_registry.port }}/\1:\2#g" {} +
"s#['\"]?docker\.io/(openstackhelm|loci)/({{ repo }}):({{ tag }})['\"]?\$#{{ buildset_registry_alias }}:{{ buildset_registry.port }}/{{ repo_org }}/{{ repo }}:\3#g" {} +
loop: "{{ zuul.artifacts | default([]) }}"
args:
chdir: "{{ work_dir }}"
@ -39,7 +60,8 @@
when: "'metadata' in zj_zuul_artifact and zj_zuul_artifact.metadata.type | default('') == 'container_image'"
vars:
tag: "{{ zj_zuul_artifact.metadata.tag }}"
repo: "{{ zj_zuul_artifact.metadata.repository }}"
repo_org: "{{ zj_zuul_artifact.metadata.repository | dirname }}"
repo: "{{ zj_zuul_artifact.metadata.repository | basename }}"
override_paths:
- ../openstack-helm*/values_overrides
- ../openstack-helm*/*/values*

View File

@ -1,17 +0,0 @@
# 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.
# NOTE(portdirect): for use in the dev-deploy scripts, a valid vars.yaml is
# required, so provide some nonsense, yet harmless input.
---
ansible_python_interpreter: python3
...

View File

@ -18,5 +18,5 @@ osh_params:
container_distro_name: ubuntu
container_distro_version: jammy
osh_values_overrides_path: "../openstack-helm/values_overrides"
osh_infra_values_overrides_path: "../openstack-helm/values_overrides"
gate_scripts_relative_path: "."
...

View File

@ -29,12 +29,9 @@
zuul_site_mirror_fqdn: "{{ zuul_site_mirror_fqdn }}"
OSH_EXTRA_HELM_ARGS: "{{ zuul_osh_extra_helm_args_relative_path | default('') }}"
OSH_HELM_REPO: "{{ osh_helm_repo | default('../openstack-helm/') }}"
OSH_INFRA_HELM_REPO: "{{ osh_infra_helm_repo | default('../openstack-helm/') }}"
DOWNLOAD_OVERRIDES: "{{ download_overrides | default('') }}"
OSH_PATH: "{{ zuul_osh_relative_path | default('../openstack-helm/') }}"
OSH_INFRA_PATH: "{{ zuul_osh_infra_relative_path | default('../openstack-helm/') }}"
OSH_VALUES_OVERRIDES_PATH: "{{ osh_values_overrides_path }}"
OSH_INFRA_VALUES_OVERRIDES_PATH: "{{ osh_infra_values_overrides_path }}"
OPENSTACK_RELEASE: "{{ osh_params.openstack_release | default('') }}"
CONTAINER_DISTRO_NAME: "{{ osh_params.container_distro_name | default('') }}"
CONTAINER_DISTRO_VERSION: "{{ osh_params.container_distro_version | default('') }}"

View File

@ -18,5 +18,5 @@ osh_params:
container_distro_name: ubuntu
container_distro_version: jammy
osh_values_overrides_path: "../openstack-helm/values_overrides"
osh_infra_values_overrides_path: "../openstack-helm/values_overrides"
gate_scripts_relative_path: "."
...

View File

@ -26,12 +26,9 @@
zuul_site_mirror_fqdn: "{{ zuul_site_mirror_fqdn }}"
OSH_EXTRA_HELM_ARGS: "{{ zuul_osh_extra_helm_args_relative_path | default('') }}"
OSH_HELM_REPO: "{{ osh_helm_repo | default('../openstack-helm') }}"
OSH_INFRA_HELM_REPO: "{{ osh_infra_helm_repo | default('../openstack-helm') }}"
DOWNLOAD_OVERRIDES: "{{ download_overrides | default('') }}"
OSH_PATH: "{{ zuul_osh_relative_path | default('../openstack-helm/') }}"
OSH_INFRA_PATH: "{{ zuul_osh_infra_relative_path | default('../openstack-helm/') }}"
OSH_VALUES_OVERRIDES_PATH: "{{ osh_values_overrides_path }}"
OSH_INFRA_VALUES_OVERRIDES_PATH: "{{ osh_infra_values_overrides_path }}"
OPENSTACK_RELEASE: "{{ osh_params.openstack_release | default('') }}"
CONTAINER_DISTRO_NAME: "{{ osh_params.container_distro_name | default('') }}"
CONTAINER_DISTRO_VERSION: "{{ osh_params.container_distro_version | default('') }}"

View File

@ -25,9 +25,9 @@ done
make all
#NOTE: Deploy libvirt with vbmc then define domains to use as baremetal nodes
: "${OSH_INFRA_PATH:="../openstack-helm-infra"}"
make -C ${OSH_INFRA_PATH} libvirt
helm install ${OSH_INFRA_PATH}/libvirt \
: "${OSH_PATH:="../openstack-helm"}"
make -C ${OSH_PATH} libvirt
helm install ${OSH_PATH}/libvirt \
--namespace=libvirt \
--name=libvirt \
--set network.backend=null \
@ -65,10 +65,10 @@ for LIBVIRT_POD in ${LIBVIRT_PODS}; do
done
#NOTE: Deploy OvS to connect nodes to the deployment host
: ${OSH_INFRA_PATH:="../openstack-helm-infra"}
make -C ${OSH_INFRA_PATH} openvswitch
: ${OSH_PATH:="../openstack-helm"}
make -C ${OSH_PATH} openvswitch
helm install ${OSH_INFRA_PATH}/openvswitch \
helm install ${OSH_PATH}/openvswitch \
--namespace=openstack \
--name=openvswitch

View File

@ -16,10 +16,10 @@
set -xe
#NOTE: Define variables
: ${OSH_INFRA_HELM_REPO:="../openstack-helm-infra"}
: ${OSH_INFRA_VALUES_OVERRIDES_PATH:="../openstack-helm-infra/values_overrides"}
: ${OSH_HELM_REPO:="../openstack-helm"}
: ${OSH_VALUES_OVERRIDES_PATH:="../openstack-helm/values_overrides"}
helm upgrade --install ceph-adapter-rook ${OSH_INFRA_HELM_REPO}/ceph-adapter-rook \
helm upgrade --install ceph-adapter-rook ${OSH_HELM_REPO}/ceph-adapter-rook \
--namespace=openstack
#NOTE: Wait for deploy

View File

@ -14,8 +14,8 @@
set -xe
: ${OSH_INFRA_HELM_REPO:="../openstack-helm-infra"}
: ${OSH_INFRA_VALUES_OVERRIDES_PATH:="../openstack-helm-infra/values_overrides"}
: ${OSH_HELM_REPO:="../openstack-helm"}
: ${OSH_VALUES_OVERRIDES_PATH:="../openstack-helm/values_overrides"}
#NOTE: Deploy command
tee /tmp/ceph-openstack-config.yaml <<EOF
@ -38,13 +38,13 @@ conf:
enabled: false
EOF
: ${OSH_INFRA_EXTRA_HELM_ARGS_CEPH_NS_ACTIVATE:="$(helm osh get-values-overrides ${DOWNLOAD_OVERRIDES:-} -p ${OSH_INFRA_VALUES_OVERRIDES_PATH} -c ceph-provisioners ${FEATURES})"}
: ${OSH_EXTRA_HELM_ARGS_CEPH_NS_ACTIVATE:="$(helm osh get-values-overrides ${DOWNLOAD_OVERRIDES:-} -p ${OSH_VALUES_OVERRIDES_PATH} -c ceph-provisioners ${FEATURES})"}
helm upgrade --install ceph-openstack-config ${OSH_INFRA_HELM_REPO}/ceph-provisioners \
helm upgrade --install ceph-openstack-config ${OSH_HELM_REPO}/ceph-provisioners \
--namespace=openstack \
--values=/tmp/ceph-openstack-config.yaml \
${OSH_INFRA_EXTRA_HELM_ARGS} \
${OSH_INFRA_EXTRA_HELM_ARGS_CEPH_NS_ACTIVATE}
${OSH_EXTRA_HELM_ARGS} \
${OSH_EXTRA_HELM_ARGS_CEPH_NS_ACTIVATE}
#NOTE: Wait for deploy
helm osh wait-for-pods openstack

View File

@ -14,9 +14,9 @@
set -xe
: ${OSH_INFRA_HELM_REPO:="../openstack-helm-infra"}
: ${OSH_INFRA_VALUES_OVERRIDES_PATH:="../openstack-helm-infra/values_overrides"}
: ${OSH_EXTRA_HELM_ARGS_CEPH_RGW:="$(helm osh get-values-overrides -p ${OSH_INFRA_VALUES_OVERRIDES_PATH} -c ceph-rgw ${FEATURES})"}
: ${OSH_HELM_REPO:="../openstack-helm"}
: ${OSH_VALUES_OVERRIDES_PATH:="../openstack-helm/values_overrides"}
: ${OSH_EXTRA_HELM_ARGS_CEPH_RGW:="$(helm osh get-values-overrides -p ${OSH_VALUES_OVERRIDES_PATH} -c ceph-rgw ${FEATURES})"}
#NOTE: Deploy command
tee /tmp/radosgw-osh-infra.yaml <<EOF
@ -48,7 +48,7 @@ manifests:
job_bootstrap: true
EOF
helm upgrade --install radosgw-osh-infra ${OSH_INFRA_HELM_REPO}/ceph-rgw \
helm upgrade --install radosgw-osh-infra ${OSH_HELM_REPO}/ceph-rgw \
--namespace=osh-infra \
--values=/tmp/radosgw-osh-infra.yaml \
${OSH_EXTRA_HELM_ARGS:=} \

View File

@ -16,8 +16,8 @@ set -xe
: ${CEPH_OSD_DATA_DEVICE:="/dev/loop100"}
: ${POD_NETWORK_CIDR:="10.244.0.0/16"}
: ${OSH_INFRA_HELM_REPO:="../openstack-helm-infra"}
: ${OSH_INFRA_VALUES_OVERRIDES_PATH:="../openstack-helm-infra/values_overrides"}
: ${OSH_HELM_REPO:="../openstack-helm"}
: ${OSH_VALUES_OVERRIDES_PATH:="../openstack-helm/values_overrides"}
NUMBER_OF_OSDS="$(kubectl get nodes -l ceph-osd=enabled --no-headers | wc -l)"
@ -199,11 +199,11 @@ manifests:
EOF
for CHART in ceph-mon ceph-osd ceph-client ceph-provisioners; do
helm upgrade --install ${CHART} ${OSH_INFRA_HELM_REPO}/${CHART} \
helm upgrade --install ${CHART} ${OSH_HELM_REPO}/${CHART} \
--namespace=ceph \
--values=/tmp/ceph.yaml \
${OSH_INFRA_EXTRA_HELM_ARGS} \
${OSH_INFRA_EXTRA_HELM_ARGS_CEPH_DEPLOY:-$(helm osh get-values-overrides ${DOWNLOAD_OVERRIDES:-} -p ${OSH_INFRA_VALUES_OVERRIDES_PATH} -c ${CHART} ${FEATURES})}
${OSH_EXTRA_HELM_ARGS} \
${OSH_EXTRA_HELM_ARGS_CEPH_DEPLOY:-$(helm osh get-values-overrides ${DOWNLOAD_OVERRIDES:-} -p ${OSH_VALUES_OVERRIDES_PATH} -c ${CHART} ${FEATURES})}
#NOTE: Wait for deploy
helm osh wait-for-pods ceph

View File

@ -16,8 +16,8 @@ set -xe
: ${CEPH_OSD_DATA_DEVICE:="/dev/loop100"}
: ${POD_NETWORK_CIDR:="10.244.0.0/16"}
: ${OSH_INFRA_HELM_REPO:="../openstack-helm-infra"}
: ${OSH_INFRA_VALUES_OVERRIDES_PATH:="../openstack-helm-infra/values_overrides"}
: ${OSH_HELM_REPO:="../openstack-helm"}
: ${OSH_VALUES_OVERRIDES_PATH:="../openstack-helm/values_overrides"}
NUMBER_OF_OSDS="$(kubectl get nodes -l ceph-osd=enabled --no-headers | wc -l)"
@ -177,11 +177,11 @@ manifests:
EOF
for CHART in ceph-mon ceph-osd ceph-client ceph-provisioners; do
helm upgrade --install --create-namespace ${CHART} ${OSH_INFRA_HELM_REPO}/${CHART} \
helm upgrade --install --create-namespace ${CHART} ${OSH_HELM_REPO}/${CHART} \
--namespace=ceph \
--values=/tmp/ceph.yaml \
${OSH_INFRA_EXTRA_HELM_ARGS} \
${OSH_INFRA_EXTRA_HELM_ARGS_CEPH_DEPLOY:-$(helm osh get-values-overrides ${DOWNLOAD_OVERRIDES:-} -p ${OSH_INFRA_VALUES_OVERRIDES_PATH} -c ${CHART} ${FEATURES})}
${OSH_EXTRA_HELM_ARGS} \
${OSH_EXTRA_HELM_ARGS_CEPH_DEPLOY:-$(helm osh get-values-overrides ${DOWNLOAD_OVERRIDES:-} -p ${OSH_VALUES_OVERRIDES_PATH} -c ${CHART} ${FEATURES})}
#NOTE: Wait for deploy
helm osh wait-for-pods ceph

View File

@ -14,12 +14,12 @@
set -xe
namespace="metacontroller"
: ${OSH_INFRA_HELM_REPO:="../openstack-helm-infra"}
: ${OSH_INFRA_VALUES_OVERRIDES_PATH:="../openstack-helm-infra/values_overrides"}
: ${HELM_ARGS_DAEMONJOB_CONTROLLER:="$(helm osh get-values-overrides -p ${OSH_INFRA_VALUES_OVERRIDES_PATH} -c daemonjob-controller ${FEATURES})"}
: ${OSH_HELM_REPO:="../openstack-helm"}
: ${OSH_VALUES_OVERRIDES_PATH:="../openstack-helm/values_overrides"}
: ${HELM_ARGS_DAEMONJOB_CONTROLLER:="$(helm osh get-values-overrides -p ${OSH_VALUES_OVERRIDES_PATH} -c daemonjob-controller ${FEATURES})"}
#NOTE: Deploy command
helm upgrade --install daemonjob-controller ${OSH_INFRA_HELM_REPO}/daemonjob-controller \
helm upgrade --install daemonjob-controller ${OSH_HELM_REPO}/daemonjob-controller \
--namespace=$namespace \
--set pod.replicas.daemonjob_controller=4 \
${HELM_ARGS_DAEMONJOB_CONTROLLER}

View File

@ -14,7 +14,7 @@
set -xe
: ${OSH_INFRA_HELM_REPO:="../openstack-helm-infra"}
: ${OSH_HELM_REPO:="../openstack-helm"}
for NAMESPACE in docker-nfs docker-registry; do
tee /tmp/${NAMESPACE}-ns.yaml << EOF
@ -39,11 +39,11 @@ storageclass:
name: openstack-helm-bootstrap
EOF
helm upgrade --install docker-registry-nfs-provisioner \
${OSH_INFRA_HELM_REPO}/nfs-provisioner --namespace=docker-nfs \
${OSH_HELM_REPO}/nfs-provisioner --namespace=docker-nfs \
--values=/tmp/docker-registry-nfs-provisioner.yaml
#NOTE: Deploy redis for the docker registry
helm upgrade --install docker-registry-redis ${OSH_INFRA_HELM_REPO}/redis \
helm upgrade --install docker-registry-redis ${OSH_HELM_REPO}/redis \
--namespace=docker-registry \
--set labels.node_selector_key=openstack-helm-node-class \
--set labels.node_selector_value=primary
@ -56,7 +56,7 @@ labels:
volume:
class_name: openstack-helm-bootstrap
EOF
helm upgrade --install docker-registry ${OSH_INFRA_HELM_REPO}/registry \
helm upgrade --install docker-registry ${OSH_HELM_REPO}/registry \
--namespace=docker-registry \
--values=/tmp/docker-registry.yaml

View File

@ -14,10 +14,10 @@
set -xe
: ${OSH_INFRA_HELM_REPO:="../openstack-helm-infra"}
: ${OSH_HELM_REPO:="../openstack-helm"}
#NOTE: Deploy command
helm upgrade --install falco ${OSH_INFRA_HELM_REPO}/falco \
helm upgrade --install falco ${OSH_HELM_REPO}/falco \
--namespace=kube-system
#NOTE: Wait for deploy

View File

@ -1,23 +0,0 @@
#!/bin/bash
# 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.
set -ex
# Build all OSH charts
make all SKIP_CHANGELOG=1
# Build all OSH charts (necessary for Openstack deployment)
(
cd ${OSH_PATH:-"../openstack-helm"} &&
make all SKIP_CHANGELOG=1
)

View File

@ -14,17 +14,17 @@
set -xe
: ${OSH_INFRA_HELM_REPO:="../openstack-helm-infra"}
: ${OSH_INFRA_VALUES_OVERRIDES_PATH:="../openstack-helm-infra/values_overrides"}
: ${OSH_INFRA_EXTRA_HELM_ARGS_LDAP:="$(helm osh get-values-overrides -p ${OSH_INFRA_VALUES_OVERRIDES_PATH} -c ldap ${FEATURES})"}
: ${OSH_HELM_REPO:="../openstack-helm"}
: ${OSH_VALUES_OVERRIDES_PATH:="../openstack-helm/values_overrides"}
: ${OSH_EXTRA_HELM_ARGS_LDAP:="$(helm osh get-values-overrides -p ${OSH_VALUES_OVERRIDES_PATH} -c ldap ${FEATURES})"}
: ${NAMESPACE:="osh-infra"}
#NOTE: Deploy command
helm upgrade --install ldap ${OSH_INFRA_HELM_REPO}/ldap \
helm upgrade --install ldap ${OSH_HELM_REPO}/ldap \
--namespace=${NAMESPACE} \
--set bootstrap.enabled=true \
${OSH_INFRA_EXTRA_HELM_ARGS:=} \
${OSH_INFRA_EXTRA_HELM_ARGS_LDAP}
${OSH_EXTRA_HELM_ARGS:=} \
${OSH_EXTRA_HELM_ARGS_LDAP}
#NOTE: Wait for deploy
helm osh wait-for-pods ${NAMESPACE}

View File

@ -14,12 +14,12 @@
set -xe
#NOTE: Define variables
: ${OSH_INFRA_HELM_REPO:="../openstack-helm-infra"}
: ${OSH_INFRA_VALUES_OVERRIDES_PATH:="../openstack-helm-infra/values_overrides"}
: ${OSH_EXTRA_HELM_ARGS_LOCKDOWN:="$(helm osh get-values-overrides ${DOWNLOAD_OVERRIDES:-} -p ${OSH_INFRA_VALUES_OVERRIDES_PATH} -c lockdown ${FEATURES})"}
: ${OSH_HELM_REPO:="../openstack-helm"}
: ${OSH_VALUES_OVERRIDES_PATH:="../openstack-helm/values_overrides"}
: ${OSH_EXTRA_HELM_ARGS_LOCKDOWN:="$(helm osh get-values-overrides ${DOWNLOAD_OVERRIDES:-} -p ${OSH_VALUES_OVERRIDES_PATH} -c lockdown ${FEATURES})"}
#NOTE: Deploy command
helm upgrade --install lockdown ${OSH_INFRA_HELM_REPO}/lockdown \
helm upgrade --install lockdown ${OSH_HELM_REPO}/lockdown \
--namespace=openstack \
${OSH_EXTRA_HELM_ARGS:=} \
${OSH_EXTRA_HELM_ARGS_LOCKDOWN}

View File

@ -15,15 +15,15 @@
set -xe
#NOTE: Define variables
: ${OSH_INFRA_HELM_REPO:="../openstack-helm-infra"}
: ${OSH_INFRA_VALUES_OVERRIDES_PATH:="../openstack-helm-infra/values_overrides"}
: ${OSH_INFRA_EXTRA_HELM_ARGS_MEMCACHED:="$(helm osh get-values-overrides ${DOWNLOAD_OVERRIDES:-} -p ${OSH_INFRA_VALUES_OVERRIDES_PATH} -c memcached ${FEATURES})"}
: ${OSH_HELM_REPO:="../openstack-helm"}
: ${OSH_VALUES_OVERRIDES_PATH:="../openstack-helm/values_overrides"}
: ${OSH_EXTRA_HELM_ARGS_MEMCACHED:="$(helm osh get-values-overrides ${DOWNLOAD_OVERRIDES:-} -p ${OSH_VALUES_OVERRIDES_PATH} -c memcached ${FEATURES})"}
#NOTE: Deploy command
helm upgrade --install memcached ${OSH_INFRA_HELM_REPO}/memcached \
helm upgrade --install memcached ${OSH_HELM_REPO}/memcached \
--namespace=openstack \
${OSH_INFRA_EXTRA_HELM_ARGS} \
${OSH_INFRA_EXTRA_HELM_ARGS_MEMCACHED}
${OSH_EXTRA_HELM_ARGS} \
${OSH_EXTRA_HELM_ARGS_MEMCACHED}
#NOTE: Wait for deploy
helm osh wait-for-pods openstack

View File

@ -14,9 +14,9 @@
set -xe
namespace="metacontroller"
: ${OSH_INFRA_HELM_REPO:="../openstack-helm-infra"}
: ${OSH_INFRA_VALUES_OVERRIDES_PATH:="../openstack-helm-infra/values_overrides"}
: ${HELM_ARGS_METACONTROLLER:="$(helm osh get-values-overrides -p ${OSH_INFRA_VALUES_OVERRIDES_PATH} -c metacontroller ${FEATURES})"}
: ${OSH_HELM_REPO:="../openstack-helm"}
: ${OSH_VALUES_OVERRIDES_PATH:="../openstack-helm/values_overrides"}
: ${HELM_ARGS_METACONTROLLER:="$(helm osh get-values-overrides -p ${OSH_VALUES_OVERRIDES_PATH} -c metacontroller ${FEATURES})"}
#NOTE: Check no crd exists of APIGroup metacontroller.k8s.io
crds=$(kubectl get crd | awk '/metacontroller.k8s.io/{print $1}')
@ -38,7 +38,7 @@ EOF
kubectl create -f /tmp/${namespace}-ns.yaml
#NOTE: Deploy command
helm upgrade --install metacontroller ${OSH_INFRA_HELM_REPO}/metacontroller \
helm upgrade --install metacontroller ${OSH_HELM_REPO}/metacontroller \
--namespace=$namespace \
--set pod.replicas.metacontroller=3 \
${HELM_ARGS_METACONTROLLER}

View File

@ -14,10 +14,10 @@
set -xe
: ${OSH_INFRA_HELM_REPO:="../openstack-helm-infra"}
: ${OSH_HELM_REPO:="../openstack-helm"}
#NOTE: Deploy namespace configs
for NAMESPACE in kube-system ceph openstack; do
helm upgrade --install ${NAMESPACE}-namespace-config ${OSH_INFRA_HELM_REPO}/namespace-config \
helm upgrade --install ${NAMESPACE}-namespace-config ${OSH_HELM_REPO}/namespace-config \
--namespace=${NAMESPACE}
done

View File

@ -14,7 +14,7 @@
set -xe
: ${OSH_INFRA_HELM_REPO:="../openstack-helm-infra"}
: ${OSH_HELM_REPO:="../openstack-helm"}
tee /tmp/nfs-ns.yaml << EOF
apiVersion: v1
@ -37,7 +37,7 @@ storageclass:
name: general
EOF
helm upgrade --install nfs-provisioner \
${OSH_INFRA_HELM_REPO}/nfs-provisioner --namespace=nfs \
${OSH_HELM_REPO}/nfs-provisioner --namespace=nfs \
--values=/tmp/nfs-provisioner.yaml
#NOTE: Wait for deployment

View File

@ -15,12 +15,12 @@
set -xe
#NOTE: Define variables
: ${OSH_INFRA_HELM_REPO:="../openstack-helm-infra"}
: ${OSH_INFRA_VALUES_OVERRIDES_PATH:="../openstack-helm-infra/values_overrides"}
: ${OSH_EXTRA_HELM_ARGS_OSEXPORTER:="$(helm osh get-values-overrides ${DOWNLOAD_OVERRIDES:-} -p ${OSH_INFRA_VALUES_OVERRIDES_PATH} -c prometheus-openstack-exporter ${FEATURES})"}
: ${OSH_HELM_REPO:="../openstack-helm"}
: ${OSH_VALUES_OVERRIDES_PATH:="../openstack-helm/values_overrides"}
: ${OSH_EXTRA_HELM_ARGS_OSEXPORTER:="$(helm osh get-values-overrides ${DOWNLOAD_OVERRIDES:-} -p ${OSH_VALUES_OVERRIDES_PATH} -c prometheus-openstack-exporter ${FEATURES})"}
#NOTE: Deploy command
helm upgrade --install prometheus-openstack-exporter ${OSH_INFRA_HELM_REPO}/prometheus-openstack-exporter \
helm upgrade --install prometheus-openstack-exporter ${OSH_HELM_REPO}/prometheus-openstack-exporter \
--namespace=openstack \
${OSH_EXTRA_HELM_ARGS:=} \
${OSH_EXTRA_HELM_ARGS_OSEXPORTER}

View File

@ -13,11 +13,5 @@
set -ex
# Build all OSH Infra charts (necessary for Openstack deployment)
(
cd ${OSH_INFRA_PATH:-"../openstack-helm-infra"} &&
make all SKIP_CHANGELOG=1
)
# Build all OSH charts
make all SKIP_CHANGELOG=1

View File

@ -13,19 +13,11 @@
set -ex
: ${OSH_INFRA_PATH:="../openstack-helm-infra"}
(
cd ${OSH_INFRA_PATH} &&
helm repo index ./
)
helm repo index ./
docker run -d --name nginx_charts \
docker run -d --name serve_charts \
-v $(pwd):/usr/share/nginx/html/openstack-helm:ro \
-v $(readlink -f ${OSH_INFRA_PATH}):/usr/share/nginx/html/openstack-helm-infra:ro \
-p 80:80 \
nginx
helm repo add ${OSH_HELM_REPO:-"openstack-helm"} http://localhost/openstack-helm
helm repo add ${OSH_INFRA_HELM_REPO:-"openstack-helm-infra"} http://localhost/openstack-helm-infra

View File

@ -14,4 +14,3 @@
set -ex
helm repo add ${OSH_HELM_REPO:-"openstack-helm"} https://tarballs.opendev.org/openstack/openstack-helm
helm repo add ${OSH_INFRA_HELM_REPO:-"openstack-helm-infra"} https://tarballs.opendev.org/openstack/openstack-helm-infra

View File

@ -1,5 +1,15 @@
#!/bin/bash
set -x
# 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.
if [ "x$1" == "x" ]; then
CHART_DIRS="$(echo ./*/)"

View File

@ -1,18 +0,0 @@
#!/bin/bash
#set -x
if [ "x$1" == "x" ]; then
CHART_DIRS="$(echo ./*/)"
else
CHART_DIRS="$(echo ./$1/)"
fi
for CHART_DIR in ${CHART_DIRS} ; do
# echo $CHART_DIR
if [ -e ${CHART_DIR}values.yaml ]; then
for IMAGE in $(cat ${CHART_DIR}values.yaml | yq '.images.tags | map(.) | join(" ")' | tr -d '"'); do
# sudo docker inspect $IMAGE >/dev/null|| sudo docker pull $IMAGE
echo $IMAGE
done
fi
done

View File

@ -15,19 +15,19 @@
set -xe
#NOTE: Define variables
: ${OSH_INFRA_HELM_REPO:="../openstack-helm-infra"}
: ${OSH_INFRA_VALUES_OVERRIDES_PATH:="../openstack-helm-infra/values_overrides"}
: ${OSH_INFRA_EXTRA_HELM_ARGS_RABBITMQ:="$(helm osh get-values-overrides ${DOWNLOAD_OVERRIDES:-} -p ${OSH_INFRA_VALUES_OVERRIDES_PATH} -c rabbitmq ${FEATURES})"}
: ${OSH_HELM_REPO:="../openstack-helm"}
: ${OSH_VALUES_OVERRIDES_PATH:="../openstack-helm/values_overrides"}
: ${OSH_EXTRA_HELM_ARGS_RABBITMQ:="$(helm osh get-values-overrides ${DOWNLOAD_OVERRIDES:-} -p ${OSH_VALUES_OVERRIDES_PATH} -c rabbitmq ${FEATURES})"}
: ${NAMESPACE:=openstack}
#NOTE: Deploy command
helm upgrade --install rabbitmq ${OSH_INFRA_HELM_REPO}/rabbitmq \
helm upgrade --install rabbitmq ${OSH_HELM_REPO}/rabbitmq \
--namespace=${NAMESPACE} \
--set pod.replicas.server=1 \
--timeout=600s \
${VOLUME_HELM_ARGS:="--set volume.enabled=false --set volume.use_local_path.enabled=true"} \
${OSH_INFRA_EXTRA_HELM_ARGS:=} \
${OSH_INFRA_EXTRA_HELM_ARGS_RABBITMQ}
${OSH_EXTRA_HELM_ARGS:=} \
${OSH_EXTRA_HELM_ARGS_RABBITMQ}
#NOTE: Wait for deploy
helm osh wait-for-pods ${NAMESPACE}

View File

@ -1,17 +0,0 @@
#!/bin/bash
# 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.
set -xe
cd ${OSH_INFRA_PATH:-"../openstack-helm-infra/"}; ./tools/deployment/ceph/ceph-adapter-rook.sh; cd -

View File

@ -1,56 +0,0 @@
#!/bin/bash
# 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.
set -xe
#NOTE: Define variables
: ${OSH_INFRA_HELM_REPO:="../openstack-helm-infra"}
: ${OSH_INFRA_VALUES_OVERRIDES_PATH:="../openstack-helm-infra/values_overrides"}
: ${OSH_EXTRA_HELM_ARGS_CEPH_NS_ACTIVATE:="$(helm osh get-values-overrides ${DOWNLOAD_OVERRIDES:-} -p ${OSH_INFRA_VALUES_OVERRIDES_PATH} -c ceph-provisioners ${FEATURES})"}
#NOTE: Deploy command
tee /tmp/ceph-openstack-config.yaml <<EOF
endpoints:
ceph_mon:
namespace: ceph
network:
public: 172.17.0.1/16
cluster: 172.17.0.1/16
deployment:
ceph: false
rbd_provisioner: false
csi_rbd_provisioner: false
cephfs_provisioner: false
client_secrets: true
bootstrap:
enabled: false
conf:
ceph:
global:
mon_host: ceph-mon-discovery.ceph.svc.cluster.local:6789
mon_allow_pool_size_one: true
EOF
helm upgrade --install ceph-openstack-config ${OSH_INFRA_HELM_REPO}/ceph-provisioners \
--namespace=openstack \
--values=/tmp/ceph-openstack-config.yaml \
${OSH_EXTRA_HELM_ARGS:=} \
${OSH_EXTRA_HELM_ARGS_CEPH_NS_ACTIVATE}
#NOTE: Wait for deploy
helm osh wait-for-pods openstack
#NOTE: Validate Deployment info
kubectl get -n openstack jobs
kubectl get -n openstack secrets
kubectl get -n openstack configmaps

View File

@ -1,17 +0,0 @@
#!/bin/bash
# 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.
set -xe
cd ${OSH_INFRA_PATH:-"../openstack-helm-infra/"}; ./tools/deployment/ceph/ceph-rook.sh; cd -

View File

@ -1,196 +0,0 @@
#!/bin/bash
# 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.
set -xe
#NOTE: Define variables
export CEPH_ENABLED=true
: ${CEPH_OSD_DATA_DEVICE:="/dev/loop100"}
: ${POD_NETWORK_CIDR:="10.244.0.0/24"}
: ${OSH_INFRA_HELM_REPO:="../openstack-helm-infra"}
: ${OSH_INFRA_VALUES_OVERRIDES_PATH:="../openstack-helm-infra/values_overrides"}
NUMBER_OF_OSDS="$(kubectl get nodes -l ceph-osd=enabled --no-headers | wc -l)"
#NOTE: Deploy command
[ -s /tmp/ceph-fs-uuid.txt ] || uuidgen > /tmp/ceph-fs-uuid.txt
CEPH_FS_ID="$(cat /tmp/ceph-fs-uuid.txt)"
#NOTE(portdirect): to use RBD devices with Ubuntu kernels < 4.5 this
# should be set to 'hammer'
. /etc/os-release
if [ "x${ID}" == "xcentos" ] || \
([ "x${ID}" == "xubuntu" ] && \
dpkg --compare-versions "$(uname -r)" "lt" "4.5"); then
CRUSH_TUNABLES=hammer
else
CRUSH_TUNABLES=null
fi
tee /tmp/ceph.yaml <<EOF
endpoints:
ceph_mon:
namespace: ceph
ceph_mgr:
namespace: ceph
network:
public: "${POD_NETWORK_CIDR}"
cluster: "${POD_NETWORK_CIDR}"
deployment:
storage_secrets: true
ceph: true
rbd_provisioner: true
csi_rbd_provisioner: true
cephfs_provisioner: true
client_secrets: false
manifests:
deployment_rbd_provisioner: true
deployment_csi_rbd_provisioner: true
deployment_cephfs_provisioner: true
bootstrap:
enabled: true
conf:
ceph:
global:
fsid: ${CEPH_FS_ID}
mon_addr: :6789
mon_allow_pool_size_one: true
osd_pool_default_size: 1
osd:
osd_crush_chooseleaf_type: 0
pool:
crush:
tunables: ${CRUSH_TUNABLES}
target:
osd: ${NUMBER_OF_OSDS}
final_osd: ${NUMBER_OF_OSDS}
pg_per_osd: 100
default:
crush_rule: same_host
spec:
# Health metrics pool
- name: .mgr
application: mgr_devicehealth
replication: 1
percent_total_data: 5
# RBD pool
- name: rbd
application: rbd
replication: 1
percent_total_data: 40
# CephFS pools
- name: cephfs_metadata
application: cephfs
replication: 1
percent_total_data: 5
- name: cephfs_data
application: cephfs
replication: 1
percent_total_data: 10
# RadosGW pools
- name: .rgw.root
application: rgw
replication: 1
percent_total_data: 0.1
- name: default.rgw.control
application: rgw
replication: 1
percent_total_data: 0.1
- name: default.rgw.data.root
application: rgw
replication: 1
percent_total_data: 0.1
- name: default.rgw.gc
application: rgw
replication: 1
percent_total_data: 0.1
- name: default.rgw.log
application: rgw
replication: 1
percent_total_data: 0.1
- name: default.rgw.intent-log
application: rgw
replication: 1
percent_total_data: 0.1
- name: default.rgw.meta
application: rgw
replication: 1
percent_total_data: 0.1
- name: default.rgw.usage
application: rgw
replication: 1
percent_total_data: 0.1
- name: default.rgw.users.keys
application: rgw
replication: 1
percent_total_data: 0.1
- name: default.rgw.users.email
application: rgw
replication: 1
percent_total_data: 0.1
- name: default.rgw.users.swift
application: rgw
replication: 1
percent_total_data: 0.1
- name: default.rgw.users.uid
application: rgw
replication: 1
percent_total_data: 0.1
- name: default.rgw.buckets.extra
application: rgw
replication: 1
percent_total_data: 0.1
- name: default.rgw.buckets.index
application: rgw
replication: 1
percent_total_data: 3
- name: default.rgw.buckets.data
application: rgw
replication: 1
percent_total_data: 34.8
storage:
osd:
- data:
type: bluestore
location: ${CEPH_OSD_DATA_DEVICE}
# block_db:
# location: ${CEPH_OSD_DB_WAL_DEVICE}
# size: "5GB"
# block_wal:
# location: ${CEPH_OSD_DB_WAL_DEVICE}
# size: "2GB"
pod:
replicas:
mds: 1
mgr: 1
EOF
for CHART in ceph-mon ceph-osd ceph-client ceph-provisioners; do
helm upgrade --install ${CHART} ${OSH_INFRA_HELM_REPO}/${CHART} \
--namespace=ceph \
--values=/tmp/ceph.yaml \
${OSH_EXTRA_HELM_ARGS:=} \
${OSH_EXTRA_HELM_ARGS_CEPH:-$(helm osh get-values-overrides ${DOWNLOAD_OVERRIDES:-} -p ${OSH_INFRA_VALUES_OVERRIDES_PATH} -c ${CHART} ${FEATURES})}
#NOTE: Wait for deploy
helm osh wait-for-pods ceph
#NOTE: Validate deploy
MON_POD=$(kubectl get pods \
--namespace=ceph \
--selector="application=ceph" \
--selector="component=mon" \
--no-headers | awk '{ print $1; exit }')
kubectl exec -n ceph ${MON_POD} -- ceph -s
done

View File

@ -15,9 +15,9 @@
set -xe
#NOTE: Define variables
: ${OSH_INFRA_HELM_REPO:="../openstack-helm-infra"}
: ${OSH_INFRA_VALUES_OVERRIDES_PATH:="../openstack-helm-infra/values_overrides"}
: ${OSH_EXTRA_HELM_ARGS_LDAP:="$(helm osh get-values-overrides ${DOWNLOAD_OVERRIDES:-} -p ${OSH_INFRA_VALUES_OVERRIDES_PATH} -c ldap ${FEATURES})"}
: ${OSH_HELM_REPO:="../openstack-helm"}
: ${OSH_VALUES_OVERRIDES_PATH:="../openstack-helm/values_overrides"}
: ${OSH_EXTRA_HELM_ARGS_LDAP:="$(helm osh get-values-overrides ${DOWNLOAD_OVERRIDES:-} -p ${OSH_VALUES_OVERRIDES_PATH} -c ldap ${FEATURES})"}
#NOTE: Deploy command
tee /tmp/ldap.yaml <<EOF
@ -30,7 +30,7 @@ storage:
pvc:
enabled: false
EOF
helm upgrade --install ldap ${OSH_INFRA_HELM_REPO}/ldap \
helm upgrade --install ldap ${OSH_HELM_REPO}/ldap \
--namespace=openstack \
--values=/tmp/ldap.yaml \
${OSH_EXTRA_HELM_ARGS:=} \

View File

@ -15,12 +15,12 @@
set -xe
#NOTE: Define variables
: ${OSH_INFRA_HELM_REPO:="../openstack-helm-infra"}
: ${OSH_INFRA_VALUES_OVERRIDES_PATH:="../openstack-helm-infra/values_overrides"}
: ${OSH_EXTRA_HELM_ARGS_MARIADB:="$(helm osh get-values-overrides ${DOWNLOAD_OVERRIDES:-} -p ${OSH_INFRA_VALUES_OVERRIDES_PATH} -c mariadb ${FEATURES})"}
: ${OSH_HELM_REPO:="../openstack-helm"}
: ${OSH_VALUES_OVERRIDES_PATH:="../openstack-helm/values_overrides"}
: ${OSH_EXTRA_HELM_ARGS_MARIADB:="$(helm osh get-values-overrides ${DOWNLOAD_OVERRIDES:-} -p ${OSH_VALUES_OVERRIDES_PATH} -c mariadb ${FEATURES})"}
#NOTE: Deploy command
helm upgrade --install mariadb ${OSH_INFRA_HELM_REPO}/mariadb \
helm upgrade --install mariadb ${OSH_HELM_REPO}/mariadb \
--namespace=openstack \
--set pod.replicas.server=1 \
${VOLUME_HELM_ARGS:="--set volume.enabled=false --set volume.use_local_path_for_single_pod_cluster.enabled=true"} \

View File

@ -15,12 +15,12 @@
set -xe
#NOTE: Define variables
: ${OSH_INFRA_HELM_REPO:="../openstack-helm-infra"}
: ${OSH_INFRA_VALUES_OVERRIDES_PATH:="../openstack-helm-infra/values_overrides"}
: ${OSH_EXTRA_HELM_ARGS_MEMCACHED:="$(helm osh get-values-overrides ${DOWNLOAD_OVERRIDES:-} -p ${OSH_INFRA_VALUES_OVERRIDES_PATH} -c memcached ${FEATURES})"}
: ${OSH_HELM_REPO:="../openstack-helm"}
: ${OSH_VALUES_OVERRIDES_PATH:="../openstack-helm/values_overrides"}
: ${OSH_EXTRA_HELM_ARGS_MEMCACHED:="$(helm osh get-values-overrides ${DOWNLOAD_OVERRIDES:-} -p ${OSH_VALUES_OVERRIDES_PATH} -c memcached ${FEATURES})"}
#NOTE: Deploy command
helm upgrade --install memcached ${OSH_INFRA_HELM_REPO}/memcached \
helm upgrade --install memcached ${OSH_HELM_REPO}/memcached \
--namespace=openstack \
${OSH_EXTRA_HELM_ARGS:=} \
${OSH_EXTRA_HELM_ARGS_MEMCACHED}

View File

@ -15,12 +15,12 @@
set -xe
#NOTE: Define variables
: ${OSH_INFRA_HELM_REPO:="../openstack-helm-infra"}
: ${OSH_INFRA_VALUES_OVERRIDES_PATH:="../openstack-helm-infra/values_overrides"}
: ${OSH_EXTRA_HELM_ARGS_RABBITMQ:="$(helm osh get-values-overrides ${DOWNLOAD_OVERRIDES:-} -p ${OSH_INFRA_VALUES_OVERRIDES_PATH} -c rabbitmq ${FEATURES})"}
: ${OSH_HELM_REPO:="../openstack-helm"}
: ${OSH_VALUES_OVERRIDES_PATH:="../openstack-helm/values_overrides"}
: ${OSH_EXTRA_HELM_ARGS_RABBITMQ:="$(helm osh get-values-overrides ${DOWNLOAD_OVERRIDES:-} -p ${OSH_VALUES_OVERRIDES_PATH} -c rabbitmq ${FEATURES})"}
#NOTE: Deploy command
helm upgrade --install rabbitmq ${OSH_INFRA_HELM_REPO}/rabbitmq \
helm upgrade --install rabbitmq ${OSH_HELM_REPO}/rabbitmq \
--namespace=openstack \
--set pod.replicas.server=1 \
--timeout=600s \

View File

@ -21,12 +21,12 @@ if openstack service list -f value -c Type | grep -q "^volume" && \
fi
#NOTE: Define variables
: ${OSH_INFRA_HELM_REPO:="../openstack-helm-infra"}
: ${OSH_INFRA_VALUES_OVERRIDES_PATH:="../openstack-helm-infra/values_overrides"}
: ${OSH_EXTRA_HELM_ARGS_LIBVIRT:="$(helm osh get-values-overrides ${DOWNLOAD_OVERRIDES:-} -p ${OSH_INFRA_VALUES_OVERRIDES_PATH} -c libvirt ${FEATURES})"}
: ${OSH_HELM_REPO:="../openstack-helm"}
: ${OSH_VALUES_OVERRIDES_PATH:="../openstack-helm/values_overrides"}
: ${OSH_EXTRA_HELM_ARGS_LIBVIRT:="$(helm osh get-values-overrides ${DOWNLOAD_OVERRIDES:-} -p ${OSH_VALUES_OVERRIDES_PATH} -c libvirt ${FEATURES})"}
#NOTE: Deploy command
helm upgrade --install libvirt ${OSH_INFRA_HELM_REPO}/libvirt \
helm upgrade --install libvirt ${OSH_HELM_REPO}/libvirt \
--namespace=openstack \
--set conf.ceph.enabled=${CEPH_ENABLED} \
${OSH_EXTRA_HELM_ARGS:=} \

View File

@ -14,12 +14,12 @@
set -xe
#NOTE: Define variables
: ${OSH_INFRA_HELM_REPO:="../openstack-helm-infra"}
: ${OSH_INFRA_VALUES_OVERRIDES_PATH:="../openstack-helm-infra/values_overrides"}
: ${OSH_EXTRA_HELM_ARGS_OPENVSWITCH:="$(helm osh get-values-overrides ${DOWNLOAD_OVERRIDES:-} -p ${OSH_INFRA_VALUES_OVERRIDES_PATH} -c openvswitch ${FEATURES})"}
: ${OSH_HELM_REPO:="../openstack-helm"}
: ${OSH_VALUES_OVERRIDES_PATH:="../openstack-helm/values_overrides"}
: ${OSH_EXTRA_HELM_ARGS_OPENVSWITCH:="$(helm osh get-values-overrides ${DOWNLOAD_OVERRIDES:-} -p ${OSH_VALUES_OVERRIDES_PATH} -c openvswitch ${FEATURES})"}
#NOTE: Deploy command
helm upgrade --install openvswitch ${OSH_INFRA_HELM_REPO}/openvswitch \
helm upgrade --install openvswitch ${OSH_HELM_REPO}/openvswitch \
--namespace=openstack \
${OSH_EXTRA_HELM_ARGS:=} \
${OSH_EXTRA_HELM_ARGS_OPENVSWITCH}

View File

@ -15,9 +15,9 @@
set -xe
#NOTE: Define variables
: ${OSH_INFRA_HELM_REPO:="../openstack-helm-infra"}
: ${OSH_INFRA_VALUES_OVERRIDES_PATH:="../openstack-helm-infra/values_overrides"}
: ${OSH_EXTRA_HELM_ARGS_NFS_PROVISIONER:="$(helm osh get-values-overrides ${DOWNLOAD_OVERRIDES:-} -p ${OSH_INFRA_VALUES_OVERRIDES_PATH} -c nfs-provisioner ${FEATURES})"}
: ${OSH_HELM_REPO:="../openstack-helm"}
: ${OSH_VALUES_OVERRIDES_PATH:="../openstack-helm/values_overrides"}
: ${OSH_EXTRA_HELM_ARGS_NFS_PROVISIONER:="$(helm osh get-values-overrides ${DOWNLOAD_OVERRIDES:-} -p ${OSH_VALUES_OVERRIDES_PATH} -c nfs-provisioner ${FEATURES})"}
tee /tmp/nfs-ns.yaml << EOF
apiVersion: v1
@ -32,7 +32,7 @@ EOF
kubectl create -f /tmp/nfs-ns.yaml
#NOTE: Deploy command
helm upgrade --install nfs-provisioner ${OSH_INFRA_HELM_REPO}/nfs-provisioner \
helm upgrade --install nfs-provisioner ${OSH_HELM_REPO}/nfs-provisioner \
--namespace=nfs \
--set storageclass.name=general \
${OSH_EXTRA_HELM_ARGS_NFS_PROVISIONER}

View File

@ -14,9 +14,9 @@
set -xe
#NOTE: Define variables
: ${OSH_INFRA_HELM_REPO:="../openstack-helm-infra"}
: ${OSH_INFRA_VALUES_OVERRIDES_PATH:="../openstack-helm-infra/values_overrides"}
: ${OSH_EXTRA_HELM_ARGS_OVN:="$(helm osh get-values-overrides ${DOWNLOAD_OVERRIDES:-} -p ${OSH_INFRA_VALUES_OVERRIDES_PATH} -c ovn ${FEATURES})"}
: ${OSH_HELM_REPO:="../openstack-helm"}
: ${OSH_VALUES_OVERRIDES_PATH:="../openstack-helm/values_overrides"}
: ${OSH_EXTRA_HELM_ARGS_OVN:="$(helm osh get-values-overrides ${DOWNLOAD_OVERRIDES:-} -p ${OSH_VALUES_OVERRIDES_PATH} -c ovn ${FEATURES})"}
tee /tmp/ovn.yaml << EOF
volume:
@ -35,7 +35,7 @@ EOF
#NOTE: Deploy command
: ${OSH_EXTRA_HELM_ARGS:=""}
helm upgrade --install ovn ${OSH_INFRA_HELM_REPO}/ovn \
helm upgrade --install ovn ${OSH_HELM_REPO}/ovn \
--namespace=openstack \
--values=/tmp/ovn.yaml \
${OSH_EXTRA_HELM_ARGS} \

View File

@ -14,17 +14,17 @@
set -xe
: ${OSH_INFRA_HELM_REPO:="../openstack-helm-infra"}
: ${OSH_INFRA_VALUES_OVERRIDES_PATH:="../openstack-helm-infra/values_overrides"}
: ${OSH_INFRA_EXTRA_HELM_ARGS_MARIADB_BACKUP:="$(helm osh get-values-overrides -c mariadb-backup ${FEATURES})"}
: ${OSH_HELM_REPO:="../openstack-helm"}
: ${OSH_VALUES_OVERRIDES_PATH:="../openstack-helm/values_overrides"}
: ${OSH_EXTRA_HELM_ARGS_MARIADB_BACKUP:="$(helm osh get-values-overrides -c mariadb-backup ${FEATURES})"}
#NOTE: Deploy command
helm upgrade --install mariadb-backup ${OSH_INFRA_HELM_REPO}/mariadb-backup \
helm upgrade --install mariadb-backup ${OSH_HELM_REPO}/mariadb-backup \
--namespace=openstack \
--wait \
--timeout 900s \
${OSH_INFRA_EXTRA_HELM_ARGS:=} \
${OSH_INFRA_EXTRA_HELM_ARGS_MARIADB_BACKUP}
${OSH_EXTRA_HELM_ARGS:=} \
${OSH_EXTRA_HELM_ARGS_MARIADB_BACKUP}
helm osh wait-for-pods openstack

View File

@ -24,20 +24,20 @@ helm upgrade --install --create-namespace mariadb-operator mariadb-operator/mari
#NOTE: Wait for deploy
helm osh wait-for-pods mariadb-operator
: ${OSH_INFRA_HELM_REPO:="../openstack-helm-infra"}
: ${OSH_INFRA_VALUES_OVERRIDES_PATH:="../openstack-helm-infra/values_overrides"}
: ${OSH_INFRA_EXTRA_HELM_ARGS_MARIADB_CLUSTER:="$(helm osh get-values-overrides -p ${OSH_INFRA_VALUES_OVERRIDES_PATH} -c mariadb-cluster ${FEATURES})"}
: ${OSH_HELM_REPO:="../openstack-helm"}
: ${OSH_VALUES_OVERRIDES_PATH:="../openstack-helm/values_overrides"}
: ${OSH_EXTRA_HELM_ARGS_MARIADB_CLUSTER:="$(helm osh get-values-overrides -p ${OSH_VALUES_OVERRIDES_PATH} -c mariadb-cluster ${FEATURES})"}
#NOTE: Deploy command
# Deploying downscaled cluster
: ${OSH_INFRA_EXTRA_HELM_ARGS:=""}
helm upgrade --install mariadb-cluster ${OSH_INFRA_HELM_REPO}/mariadb-cluster \
: ${OSH_EXTRA_HELM_ARGS:=""}
helm upgrade --install mariadb-cluster ${OSH_HELM_REPO}/mariadb-cluster \
--namespace=openstack \
--wait \
--timeout 900s \
--values values_overrides/mariadb-cluster/downscaled.yaml \
${OSH_INFRA_EXTRA_HELM_ARGS} \
${OSH_INFRA_EXTRA_HELM_ARGS_MARIADB_CLUSTER}
${OSH_EXTRA_HELM_ARGS} \
${OSH_EXTRA_HELM_ARGS_MARIADB_CLUSTER}
sleep 30
@ -56,8 +56,8 @@ helm upgrade --install mariadb-cluster ./mariadb-cluster \
--wait \
--timeout 900s \
--values values_overrides/mariadb-cluster/upscaled.yaml \
${OSH_INFRA_EXTRA_HELM_ARGS} \
${OSH_INFRA_EXTRA_HELM_ARGS_MARIADB_CLUSTER}
${OSH_EXTRA_HELM_ARGS} \
${OSH_EXTRA_HELM_ARGS_MARIADB_CLUSTER}
#NOTE: Wait for deploy
helm osh wait-for-pods openstack

View File

@ -14,19 +14,19 @@
set -xe
: ${OSH_INFRA_HELM_REPO:="../openstack-helm-infra"}
: ${OSH_INFRA_VALUES_OVERRIDES_PATH:="../openstack-helm-infra/values_overrides"}
: ${OSH_INFRA_EXTRA_HELM_ARGS_MARIADB:="$(helm osh get-values-overrides ${DOWNLOAD_OVERRIDES:-} -p ${OSH_INFRA_VALUES_OVERRIDES_PATH} -c mariadb ${FEATURES})"}
: ${OSH_HELM_REPO:="../openstack-helm"}
: ${OSH_VALUES_OVERRIDES_PATH:="../openstack-helm/values_overrides"}
: ${OSH_EXTRA_HELM_ARGS_MARIADB:="$(helm osh get-values-overrides ${DOWNLOAD_OVERRIDES:-} -p ${OSH_VALUES_OVERRIDES_PATH} -c mariadb ${FEATURES})"}
: ${NAMESPACE:="osh-infra"}
: ${RUN_HELM_TESTS:="yes"}
#NOTE: Deploy command
helm upgrade --install mariadb ${OSH_INFRA_HELM_REPO}/mariadb \
helm upgrade --install mariadb ${OSH_HELM_REPO}/mariadb \
--namespace=${NAMESPACE} \
${MONITORING_HELM_ARGS:="--set monitoring.prometheus.enabled=true"} \
--timeout=600s \
${OSH_INFRA_EXTRA_HELM_ARGS:=} \
${OSH_INFRA_EXTRA_HELM_ARGS_MARIADB}
${OSH_EXTRA_HELM_ARGS:=} \
${OSH_EXTRA_HELM_ARGS_MARIADB}
#NOTE: Wait for deploy
helm osh wait-for-pods ${NAMESPACE}

View File

@ -15,19 +15,19 @@
set -xe
#NOTE: Deploy command
: ${OSH_INFRA_HELM_REPO:="../openstack-helm-infra"}
: ${OSH_INFRA_VALUES_OVERRIDES_PATH:="../openstack-helm-infra/values_overrides"}
: ${OSH_INFRA_EXTRA_HELM_ARGS:=""}
: ${OSH_INFRA_EXTRA_HELM_ARGS_POSTGRESQL:="$(helm osh get-values-overrides -p ${OSH_INFRA_VALUES_OVERRIDES_PATH} -c postgresql ${FEATURES})"}
: ${OSH_HELM_REPO:="../openstack-helm"}
: ${OSH_VALUES_OVERRIDES_PATH:="../openstack-helm/values_overrides"}
: ${OSH_EXTRA_HELM_ARGS:=""}
: ${OSH_EXTRA_HELM_ARGS_POSTGRESQL:="$(helm osh get-values-overrides -p ${OSH_VALUES_OVERRIDES_PATH} -c postgresql ${FEATURES})"}
helm upgrade --install postgresql ${OSH_INFRA_HELM_REPO}/postgresql \
helm upgrade --install postgresql ${OSH_HELM_REPO}/postgresql \
--namespace=osh-infra \
--set monitoring.prometheus.enabled=true \
--set storage.pvc.size=1Gi \
--set storage.pvc.enabled=true \
--set pod.replicas.server=1 \
${OSH_INFRA_EXTRA_HELM_ARGS} \
${OSH_INFRA_EXTRA_HELM_ARGS_POSTGRESQL}
${OSH_EXTRA_HELM_ARGS} \
${OSH_EXTRA_HELM_ARGS_POSTGRESQL}
#NOTE: Wait for deploy
helm osh wait-for-pods osh-infra

View File

@ -173,15 +173,15 @@ images:
dep_check: quay.io/airshipit/kubernetes-entrypoint:v1.0.0
EOF
: ${OSH_INFRA_HELM_REPO:="../openstack-helm-infra"}
: ${OSH_INFRA_VALUES_OVERRIDES_PATH:="../openstack-helm-infra/values_overrides"}
: ${OSH_INFRA_EXTRA_HELM_ARGS_ELASTICSEARCH:="$(helm osh get-values-overrides -p ${OSH_INFRA_VALUES_OVERRIDES_PATH} -c elasticsearch ${FEATURES})"}
: ${OSH_HELM_REPO:="../openstack-helm"}
: ${OSH_VALUES_OVERRIDES_PATH:="../openstack-helm/values_overrides"}
: ${OSH_EXTRA_HELM_ARGS_ELASTICSEARCH:="$(helm osh get-values-overrides -p ${OSH_VALUES_OVERRIDES_PATH} -c elasticsearch ${FEATURES})"}
helm upgrade --install elasticsearch ${OSH_INFRA_HELM_REPO}/elasticsearch \
helm upgrade --install elasticsearch ${OSH_HELM_REPO}/elasticsearch \
--namespace=osh-infra \
--values=/tmp/elasticsearch.yaml\
${OSH_INFRA_EXTRA_HELM_ARGS} \
${OSH_INFRA_EXTRA_HELM_ARGS_ELASTICSEARCH}
${OSH_EXTRA_HELM_ARGS} \
${OSH_EXTRA_HELM_ARGS_ELASTICSEARCH}
#NOTE: Wait for deploy
helm osh wait-for-pods osh-infra

View File

@ -14,14 +14,14 @@
set -xe
: ${OSH_INFRA_HELM_REPO:="../openstack-helm-infra"}
: ${OSH_INFRA_VALUES_OVERRIDES_PATH:="../openstack-helm-infra/values_overrides"}
: ${OSH_INFRA_EXTRA_HELM_ARGS_FLUENTBIT:="$(helm osh get-values-overrides -p ${OSH_INFRA_VALUES_OVERRIDES_PATH} -c fluentbit ${FEATURES})"}
: ${OSH_HELM_REPO:="../openstack-helm"}
: ${OSH_VALUES_OVERRIDES_PATH:="../openstack-helm/values_overrides"}
: ${OSH_EXTRA_HELM_ARGS_FLUENTBIT:="$(helm osh get-values-overrides -p ${OSH_VALUES_OVERRIDES_PATH} -c fluentbit ${FEATURES})"}
helm upgrade --install fluentbit ${OSH_INFRA_HELM_REPO}/fluentbit \
helm upgrade --install fluentbit ${OSH_HELM_REPO}/fluentbit \
--namespace=osh-infra \
${OSH_INFRA_EXTRA_HELM_ARGS:=} \
${OSH_INFRA_EXTRA_HELM_ARGS_FLUENTBIT}
${OSH_EXTRA_HELM_ARGS:=} \
${OSH_EXTRA_HELM_ARGS_FLUENTBIT}
#NOTE: Wait for deploy
helm osh wait-for-pods osh-infra

View File

@ -14,9 +14,9 @@
set -xe
: ${OSH_INFRA_HELM_REPO:="../openstack-helm-infra"}
: ${OSH_INFRA_VALUES_OVERRIDES_PATH:="../openstack-helm-infra/values_overrides"}
: ${OSH_INFRA_EXTRA_HELM_ARGS_FLUENTD:="$(helm osh get-values-overrides -p ${OSH_INFRA_VALUES_OVERRIDES_PATH} -c fluentd ${FEATURES})"}
: ${OSH_HELM_REPO:="../openstack-helm"}
: ${OSH_VALUES_OVERRIDES_PATH:="../openstack-helm/values_overrides"}
: ${OSH_EXTRA_HELM_ARGS_FLUENTD:="$(helm osh get-values-overrides -p ${OSH_VALUES_OVERRIDES_PATH} -c fluentd ${FEATURES})"}
tee /tmp/fluentd.yaml << EOF
pod:
@ -226,11 +226,11 @@ conf:
</match>
</label>
EOF
helm upgrade --install fluentd ${OSH_INFRA_HELM_REPO}/fluentd \
helm upgrade --install fluentd ${OSH_HELM_REPO}/fluentd \
--namespace=osh-infra \
--values=/tmp/fluentd.yaml \
${OSH_INFRA_EXTRA_HELM_ARGS} \
${OSH_INFRA_EXTRA_HELM_ARGS_FLUENTD}
${OSH_EXTRA_HELM_ARGS} \
${OSH_EXTRA_HELM_ARGS_FLUENTD}
#NOTE: Wait for deploy
helm osh wait-for-pods osh-infra

View File

@ -14,16 +14,16 @@
set -xe
: ${OSH_INFRA_HELM_REPO:="../openstack-helm-infra"}
: ${OSH_INFRA_VALUES_OVERRIDES_PATH:="../openstack-helm-infra/values_overrides"}
: ${OSH_INFRA_EXTRA_HELM_ARGS_KIBANA:="$(helm osh get-values-overrides -p ${OSH_INFRA_VALUES_OVERRIDES_PATH} -c kibana ${FEATURES})"}
: ${OSH_HELM_REPO:="../openstack-helm"}
: ${OSH_VALUES_OVERRIDES_PATH:="../openstack-helm/values_overrides"}
: ${OSH_EXTRA_HELM_ARGS_KIBANA:="$(helm osh get-values-overrides -p ${OSH_VALUES_OVERRIDES_PATH} -c kibana ${FEATURES})"}
#NOTE: Deploy command
helm upgrade --install kibana ${OSH_INFRA_HELM_REPO}/kibana \
helm upgrade --install kibana ${OSH_HELM_REPO}/kibana \
--namespace=osh-infra \
--set network.kibana.ingress.classes.namespace=nginx-osh-infra \
${OSH_INFRA_EXTRA_HELM_ARGS} \
${OSH_INFRA_EXTRA_HELM_ARGS_KIBANA}
${OSH_EXTRA_HELM_ARGS} \
${OSH_EXTRA_HELM_ARGS_KIBANA}
#NOTE: Wait for deploy
helm osh wait-for-pods osh-infra

View File

@ -14,10 +14,10 @@
set -xe
: ${OSH_INFRA_HELM_REPO:="../openstack-helm-infra"}
: ${OSH_HELM_REPO:="../openstack-helm"}
#NOTE: Deploy command
helm upgrade --install prometheus-alertmanager ${OSH_INFRA_HELM_REPO}/prometheus-alertmanager \
helm upgrade --install prometheus-alertmanager ${OSH_HELM_REPO}/prometheus-alertmanager \
--namespace=osh-infra \
--set pod.replicas.alertmanager=1

View File

@ -14,11 +14,11 @@
set -xe
: ${OSH_INFRA_HELM_REPO:="../openstack-helm-infra"}
: ${OSH_HELM_REPO:="../openstack-helm"}
#NOTE: Deploy command
helm upgrade --install prometheus-blackbox-exporter \
${OSH_INFRA_HELM_REPO}/prometheus-blackbox-exporter --namespace=osh-infra
${OSH_HELM_REPO}/prometheus-blackbox-exporter --namespace=osh-infra
#NOTE: Wait for deploy
helm osh wait-for-pods osh-infra

View File

@ -14,16 +14,16 @@
set -xe
: ${OSH_INFRA_HELM_REPO:="../openstack-helm-infra"}
: ${OSH_INFRA_VALUES_OVERRIDES_PATH:="../openstack-helm-infra/values_overrides"}
: ${OSH_HELM_REPO:="../openstack-helm"}
: ${OSH_VALUES_OVERRIDES_PATH:="../openstack-helm/values_overrides"}
FEATURES="calico ceph containers coredns elasticsearch kubernetes nginx nodes openstack prometheus home_dashboard persistentvolume apparmor ${FEATURES}"
: ${OSH_INFRA_EXTRA_HELM_ARGS_GRAFANA:=$(helm osh get-values-overrides -p ${OSH_INFRA_VALUES_OVERRIDES_PATH} -c grafana ${FEATURES} 2>/dev/null)}
: ${OSH_EXTRA_HELM_ARGS_GRAFANA:=$(helm osh get-values-overrides -p ${OSH_VALUES_OVERRIDES_PATH} -c grafana ${FEATURES} 2>/dev/null)}
#NOTE: Deploy command
helm upgrade --install grafana ${OSH_INFRA_HELM_REPO}/grafana \
helm upgrade --install grafana ${OSH_HELM_REPO}/grafana \
--namespace=osh-infra \
${OSH_INFRA_EXTRA_HELM_ARGS:=} \
${OSH_INFRA_EXTRA_HELM_ARGS_GRAFANA}
${OSH_EXTRA_HELM_ARGS:=} \
${OSH_EXTRA_HELM_ARGS_GRAFANA}
#NOTE: Wait for deploy
helm osh wait-for-pods osh-infra

View File

@ -14,14 +14,14 @@
set -xe
: ${OSH_INFRA_HELM_REPO:="../openstack-helm-infra"}
: ${OSH_INFRA_VALUES_OVERRIDES_PATH:="../openstack-helm-infra/values_overrides"}
: ${OSH_INFRA_EXTRA_HELM_ARGS_KUBE_STATE_METRICS:="$(helm osh get-values-overrides -p ${OSH_INFRA_VALUES_OVERRIDES_PATH} -c prometheus-kube-state-metrics ${FEATURES})"}
: ${OSH_HELM_REPO:="../openstack-helm"}
: ${OSH_VALUES_OVERRIDES_PATH:="../openstack-helm/values_overrides"}
: ${OSH_EXTRA_HELM_ARGS_KUBE_STATE_METRICS:="$(helm osh get-values-overrides -p ${OSH_VALUES_OVERRIDES_PATH} -c prometheus-kube-state-metrics ${FEATURES})"}
#NOTE: Deploy command
helm upgrade --install prometheus-kube-state-metrics \
${OSH_INFRA_HELM_REPO}/prometheus-kube-state-metrics --namespace=kube-system \
${OSH_INFRA_EXTRA_HELM_ARGS_KUBE_STATE_METRICS}
${OSH_HELM_REPO}/prometheus-kube-state-metrics --namespace=kube-system \
${OSH_EXTRA_HELM_ARGS_KUBE_STATE_METRICS}
#NOTE: Wait for deploy
helm osh wait-for-pods kube-system

View File

@ -14,17 +14,17 @@
set -xe
: ${OSH_INFRA_HELM_REPO:="../openstack-helm-infra"}
: ${OSH_INFRA_VALUES_OVERRIDES_PATH:="../openstack-helm-infra/values_overrides"}
: ${OSH_INFRA_EXTRA_HELM_ARGS_MARIADB_MYSQL_EXPORTER:="$(helm osh get-values-overrides -p ${OSH_INFRA_VALUES_OVERRIDES_PATH} -c prometheus-mysql-exporter ${FEATURES})"}
: ${OSH_HELM_REPO:="../openstack-helm"}
: ${OSH_VALUES_OVERRIDES_PATH:="../openstack-helm/values_overrides"}
: ${OSH_EXTRA_HELM_ARGS_MARIADB_MYSQL_EXPORTER:="$(helm osh get-values-overrides -p ${OSH_VALUES_OVERRIDES_PATH} -c prometheus-mysql-exporter ${FEATURES})"}
#NOTE: Deploy command
helm upgrade --install prometheus-mysql-exporter ${OSH_INFRA_HELM_REPO}/prometheus-mysql-exporter \
helm upgrade --install prometheus-mysql-exporter ${OSH_HELM_REPO}/prometheus-mysql-exporter \
--namespace=openstack \
--wait \
--timeout 900s \
${OSH_INFRA_EXTRA_HELM_ARGS:=} \
${OSH_INFRA_EXTRA_HELM_ARGS_MARIADB_MYSQL_EXPORTER}
${OSH_EXTRA_HELM_ARGS:=} \
${OSH_EXTRA_HELM_ARGS_MARIADB_MYSQL_EXPORTER}
#NOTE: Wait for deploy

View File

@ -14,15 +14,15 @@
set -xe
: ${OSH_INFRA_HELM_REPO:="../openstack-helm-infra"}
: ${OSH_INFRA_VALUES_OVERRIDES_PATH:="../openstack-helm-infra/values_overrides"}
: ${OSH_INFRA_EXTRA_HELM_ARGS_NAGIOS:="$(helm osh get-values-overrides -p ${OSH_INFRA_VALUES_OVERRIDES_PATH} -c nagios ${FEATURES})"}
: ${OSH_HELM_REPO:="../openstack-helm"}
: ${OSH_VALUES_OVERRIDES_PATH:="../openstack-helm/values_overrides"}
: ${OSH_EXTRA_HELM_ARGS_NAGIOS:="$(helm osh get-values-overrides -p ${OSH_VALUES_OVERRIDES_PATH} -c nagios ${FEATURES})"}
#NOTE: Deploy command
helm upgrade --install nagios ${OSH_INFRA_HELM_REPO}/nagios \
helm upgrade --install nagios ${OSH_HELM_REPO}/nagios \
--namespace=osh-infra \
${OSH_INFRA_EXTRA_HELM_ARGS:=} \
${OSH_INFRA_EXTRA_HELM_ARGS_NAGIOS}
${OSH_EXTRA_HELM_ARGS:=} \
${OSH_EXTRA_HELM_ARGS_NAGIOS}
#NOTE: Wait for deploy
helm osh wait-for-pods osh-infra

View File

@ -14,14 +14,14 @@
set -xe
: ${OSH_INFRA_HELM_REPO:="../openstack-helm-infra"}
: ${OSH_INFRA_VALUES_OVERRIDES_PATH:="../openstack-helm-infra/values_overrides"}
: ${OSH_INFRA_EXTRA_HELM_ARGS_NODE_EXPORTER:="$(helm osh get-values-overrides -p ${OSH_INFRA_VALUES_OVERRIDES_PATH} -c prometheus-node-exporter ${FEATURES})"}
: ${OSH_HELM_REPO:="../openstack-helm"}
: ${OSH_VALUES_OVERRIDES_PATH:="../openstack-helm/values_overrides"}
: ${OSH_EXTRA_HELM_ARGS_NODE_EXPORTER:="$(helm osh get-values-overrides -p ${OSH_VALUES_OVERRIDES_PATH} -c prometheus-node-exporter ${FEATURES})"}
#NOTE: Deploy command
helm upgrade --install prometheus-node-exporter \
${OSH_INFRA_HELM_REPO}/prometheus-node-exporter --namespace=kube-system \
${OSH_INFRA_EXTRA_HELM_ARGS_NODE_EXPORTER}
${OSH_HELM_REPO}/prometheus-node-exporter --namespace=kube-system \
${OSH_EXTRA_HELM_ARGS_NODE_EXPORTER}
#NOTE: Wait for deploy
helm osh wait-for-pods kube-system

View File

@ -13,7 +13,7 @@
set -xe
: ${OSH_INFRA_HELM_REPO:="../openstack-helm-infra"}
: ${OSH_HELM_REPO:="../openstack-helm"}
#NOTE: Deploy command
tee /tmp/kubernetes-node-problem-detector.yaml << EOF
@ -27,7 +27,7 @@ manifests:
service: true
EOF
helm upgrade --install kubernetes-node-problem-detector \
${OSH_INFRA_HELM_REPO}/kubernetes-node-problem-detector --namespace=kube-system \
${OSH_HELM_REPO}/kubernetes-node-problem-detector --namespace=kube-system \
--values=/tmp/kubernetes-node-problem-detector.yaml
#NOTE: Wait for deploy

View File

@ -14,9 +14,9 @@
set -xe
: ${OSH_INFRA_HELM_REPO:="../openstack-helm-infra"}
: ${OSH_INFRA_VALUES_OVERRIDES_PATH:="../openstack-helm-infra/values_overrides"}
: ${OSH_INFRA_EXTRA_HELM_ARGS_OS_EXPORTER:="$(helm osh get-values-overrides -p ${OSH_INFRA_VALUES_OVERRIDES_PATH} -c prometheus-openstack-exporter ${FEATURES})"}
: ${OSH_HELM_REPO:="../openstack-helm"}
: ${OSH_VALUES_OVERRIDES_PATH:="../openstack-helm/values_overrides"}
: ${OSH_EXTRA_HELM_ARGS_OS_EXPORTER:="$(helm osh get-values-overrides -p ${OSH_VALUES_OVERRIDES_PATH} -c prometheus-openstack-exporter ${FEATURES})"}
tee /tmp/prometheus-openstack-exporter.yaml << EOF
manifests:
@ -30,10 +30,10 @@ EOF
#NOTE: Deploy command
helm upgrade --install prometheus-openstack-exporter \
${OSH_INFRA_HELM_REPO}/prometheus-openstack-exporter \
${OSH_HELM_REPO}/prometheus-openstack-exporter \
--namespace=openstack \
--values=/tmp/prometheus-openstack-exporter.yaml \
${OSH_INFRA_EXTRA_HELM_ARGS_OS_EXPORTER}
${OSH_EXTRA_HELM_ARGS_OS_EXPORTER}
#NOTE: Wait for deploy
helm osh wait-for-pods openstack

View File

@ -14,14 +14,14 @@
set -xe
: ${OSH_INFRA_HELM_REPO:="../openstack-helm-infra"}
: ${OSH_INFRA_VALUES_OVERRIDES_PATH:="../openstack-helm-infra/values_overrides"}
: ${OSH_INFRA_EXTRA_HELM_ARGS_PROCESS_EXPORTER:="$(helm osh get-values-overrides -p ${OSH_INFRA_VALUES_OVERRIDES_PATH} -c prometheus-process-exporter ${FEATURES})"}
: ${OSH_HELM_REPO:="../openstack-helm"}
: ${OSH_VALUES_OVERRIDES_PATH:="../openstack-helm/values_overrides"}
: ${OSH_EXTRA_HELM_ARGS_PROCESS_EXPORTER:="$(helm osh get-values-overrides -p ${OSH_VALUES_OVERRIDES_PATH} -c prometheus-process-exporter ${FEATURES})"}
#NOTE: Deploy command
helm upgrade --install prometheus-process-exporter \
${OSH_INFRA_HELM_REPO}/prometheus-process-exporter --namespace=kube-system \
${OSH_INFRA_EXTRA_HELM_ARGS_PROCESS_EXPORTER}
${OSH_HELM_REPO}/prometheus-process-exporter --namespace=kube-system \
${OSH_EXTRA_HELM_ARGS_PROCESS_EXPORTER}
#NOTE: Wait for deploy
helm osh wait-for-pods kube-system

View File

@ -14,16 +14,16 @@
set -xe
: ${OSH_INFRA_HELM_REPO:="../openstack-helm-infra"}
: ${OSH_INFRA_VALUES_OVERRIDES_PATH:="../openstack-helm-infra/values_overrides"}
: ${OSH_HELM_REPO:="../openstack-helm"}
: ${OSH_VALUES_OVERRIDES_PATH:="../openstack-helm/values_overrides"}
FEATURES="alertmanager ceph elasticsearch kubernetes nodes openstack postgresql apparmor ${FEATURES}"
: ${OSH_INFRA_EXTRA_HELM_ARGS_PROMETHEUS:="$(helm osh get-values-overrides -p ${OSH_INFRA_VALUES_OVERRIDES_PATH} -c prometheus ${FEATURES})"}
: ${OSH_EXTRA_HELM_ARGS_PROMETHEUS:="$(helm osh get-values-overrides -p ${OSH_VALUES_OVERRIDES_PATH} -c prometheus ${FEATURES})"}
#NOTE: Deploy command
helm upgrade --install prometheus ${OSH_INFRA_HELM_REPO}/prometheus \
helm upgrade --install prometheus ${OSH_HELM_REPO}/prometheus \
--namespace=osh-infra \
${OSH_INFRA_EXTRA_HELM_ARGS:=} \
${OSH_INFRA_EXTRA_HELM_ARGS_PROMETHEUS}
${OSH_EXTRA_HELM_ARGS:=} \
${OSH_EXTRA_HELM_ARGS_PROMETHEUS}
#NOTE: Wait for deploy
helm osh wait-for-pods osh-infra

View File

@ -1,35 +0,0 @@
#!/bin/bash
set -e
HELM_DATA_YAML=../openstack-helm-infra/roles/build-helm-packages/defaults/main.yml
HELM_VERSION=$(yq -r '.version.helm' ${HELM_DATA_YAML})
HELM_REPO_URL=$(yq -r '.url.helm_repo' ${HELM_DATA_YAML})
LINT_DIR=.yamllint
rm -rf */charts/helm-toolkit
mkdir ${LINT_DIR}
cp -r * ${LINT_DIR}
rm -rf ${LINT_DIR}/*/templates
wget -qO ${LINT_DIR}/helm.tgz ${HELM_REPO_URL}/helm-${HELM_VERSION}-linux-amd64.tar.gz
tar xzf ${LINT_DIR}/helm.tgz -C ${LINT_DIR} --strip-components=1 linux-amd64/helm
for i in */; do
# avoid helm-toolkit to symlink on itself
[ -d "$i/templates" -a "$i" != "helm-toolkit/" ] || continue
mkdir -p $i/charts
ln -s ../../../openstack-helm-infra/helm-toolkit $i/charts/helm-toolkit
${LINT_DIR}/helm template $i --output-dir ${LINT_DIR} 2>&1 > /dev/null
done
rm -rf */charts/helm-toolkit
find .yamllint -type f -exec sed -i 's/%%%.*/XXX/g' {} +
set +e
shopt -s globstar extglob
# lint all y*mls except for templates with the first config
yamllint -c yamllint.conf ${LINT_DIR}/*{,/!(templates)/**}/*.y*ml yamllint*.conf
result=$?
# lint templates with the second config
yamllint -c yamllint-templates.conf ${LINT_DIR}/*/templates/*.yaml
exit $(($?|$result))

View File

@ -1,7 +0,0 @@
---
- hosts: all
become: true
gather_facts: true
roles:
- deploy-env
...

View File

@ -1,11 +0,0 @@
---
- hosts: all
tasks:
- name: Put keys to .ssh/authorized_keys
lineinfile:
path: /home/zuul/.ssh/authorized_keys
state: present
line: "{{ item }}"
loop:
- "ecdsa-sha2-nistp256 AAAAE2VjZHNhLXNoYTItbmlzdHAyNTYAAAAIbmlzdHAyNTYAAABBBMyM6sgu/Xgg+VaLJX5c6gy6ynYX7pO7XNobnKotYRulcEkmiLprvLSg+WP25VDAcSoif3rek3qiVnEYh6R2/Go= vlad@russell"
...

View File

@ -1,58 +0,0 @@
# 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.
---
- hosts: all
vars:
work_dir: "{{ zuul.project.src_dir }}/{{ zuul_osh_infra_relative_path | default('') }}"
logs_dir: "/tmp/logs"
roles:
- gather-host-logs
tags:
- gather-host-logs
- hosts: primary
vars:
work_dir: "{{ zuul.project.src_dir }}/{{ zuul_osh_infra_relative_path | default('') }}"
logs_dir: "/tmp/logs"
roles:
- helm-release-status
tags:
- helm-release-status
- hosts: primary
vars:
work_dir: "{{ zuul.project.src_dir }}/{{ zuul_osh_infra_relative_path | default('') }}"
logs_dir: "/tmp/logs"
roles:
- describe-kubernetes-objects
tags:
- describe-kubernetes-objects
- hosts: primary
vars:
work_dir: "{{ zuul.project.src_dir }}/{{ zuul_osh_infra_relative_path | default('') }}"
logs_dir: "/tmp/logs"
roles:
- gather-pod-logs
tags:
- gather-pod-logs
- hosts: primary
vars:
work_dir: "{{ zuul.project.src_dir }}/{{ zuul_osh_infra_relative_path | default('') }}"
logs_dir: "/tmp/logs"
roles:
- gather-prom-metrics
tags:
- gather-prom-metrics
...

View File

@ -1,8 +0,0 @@
---
- hosts: all
roles:
- start-zuul-console
- ensure-python
- ensure-pip
- clear-firewall
...

View File

@ -1,98 +0,0 @@
# 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.
---
- hosts: all
become: true
tasks:
- name: Configure /etc/hosts for buildset_registry to workaround docker not understanding ipv6 addresses
lineinfile:
path: /etc/hosts
state: present
regex: "^{{ buildset_registry.host }}\tzuul-jobs.buildset-registry$"
line: "{{ buildset_registry.host }}\tzuul-jobs.buildset-registry"
insertafter: EOF
when:
- buildset_registry is defined
- buildset_registry.host | ipaddr
- hosts: primary
tasks:
- name: Override images
when: buildset_registry is defined
vars:
work_dir: "{{ zuul.project.src_dir }}"
block:
- name: Set buildset_registry alias variable when using ip
set_fact:
buildset_registry_alias: zuul-jobs.buildset-registry
when:
- buildset_registry.host | ipaddr
- name: Set buildset_registry alias variable when using name
set_fact:
buildset_registry_alias: "{{ buildset_registry.host }}"
when:
- not ( buildset_registry.host | ipaddr )
- name: Print zuul
debug:
var: zuul
- name: Override proposed images from artifacts
shell: >
find {{ override_paths | join(" ") }} -type f -exec sed -Ei
"s#['\"]?docker\.io/(openstackhelm|loci)/({{ repo }}):({{ tag }})['\"]?\$#{{ buildset_registry_alias }}:{{ buildset_registry.port }}/{{ repo_org }}/{{ repo }}:\3#g" {} +
loop: "{{ zuul.artifacts | default([]) }}"
args:
chdir: "{{ work_dir }}"
loop_control:
loop_var: zj_zuul_artifact
when: "'metadata' in zj_zuul_artifact and zj_zuul_artifact.metadata.type | default('') == 'container_image'"
vars:
tag: "{{ zj_zuul_artifact.metadata.tag }}"
repo_org: "{{ zj_zuul_artifact.metadata.repository | dirname }}"
repo: "{{ zj_zuul_artifact.metadata.repository | basename }}"
override_paths:
- ../openstack-helm*/values_overrides
- ../openstack-helm*/*/values*
- ../openstack-helm/tools/deployment/
- name: Diff
shell: |
set -ex;
for dir in openstack-helm; do
path="{{ work_dir }}/../${dir}/"
if [ ! -d "${path}" ]; then continue; fi
echo "${dir} diff"
cd "${path}"; git diff; cd -;
done
- name: "creating directory for run artifacts"
file:
path: "/tmp/artifacts"
state: directory
- name: Run gate scripts
include_role:
name: "{{ ([item] | flatten | length == 1) | ternary('osh-run-script', 'osh-run-script-set') }}"
vars:
workload: "{{ [item] | flatten }}"
loop: "{{ gate_scripts }}"
- name: "Downloads artifacts to executor"
synchronize:
src: "/tmp/artifacts"
dest: "{{ zuul.executor.log_root }}/{{ inventory_hostname }}"
mode: pull
ignore_errors: True
...

View File

@ -1,17 +0,0 @@
#!/bin/bash
set -e
RESULT=0
IFS=$'\n'
for chart in $(find $(pwd) -maxdepth 2 -name 'Chart.yaml');do
SERVICE=$(egrep "^name:" "$chart"|awk -F ' ' '{print $2}')
VERSION=$(egrep "^version:" "$chart"|awk -F ' ' '{print $2}')
if grep -q "$VERSION" ./releasenotes/notes/$SERVICE.yaml ; then
echo "$SERVICE is up to date!"
else
echo "$SERVICE version does not match release notes. Likely requires a release note update"
RESULT=1
fi
done
exit $RESULT

View File

@ -1,29 +0,0 @@
#!/usr/bin/env bash
# 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.
set -x
if [ "x$1" == "x" ]; then
CHART_DIRS="$(echo ./*/)"
else
CHART_DIRS="$(echo ./$1/)"
fi
for CHART_DIR in ${CHART_DIRS} ; do
if [ -e ${CHART_DIR}values.yaml ]; then
for IMAGE in $(cat ${CHART_DIR}values.yaml | yq '.images.tags | map(.) | join(" ")' | tr -d '"'); do
sudo docker inspect $IMAGE >/dev/null|| sudo docker pull $IMAGE
done
fi
done

14
tox.ini
View File

@ -40,20 +40,6 @@ allowlist_externals =
; sphinx-build -W --keep-going -b latex -j auto doc/source doc/build/pdf
; make -C doc/build/pdf
[testenv:lint]
deps =
yq
yamllint
commands =
rm -rf .yamllint
bash -c 'if [ ! -d ../openstack-helm-infra ]; then \
git clone https://opendev.org/openstack/openstack-helm-infra ../openstack-helm-infra; \
fi'
bash ../openstack-helm-infra/tools/gate/lint.sh
allowlist_externals =
rm
bash
[testenv:releasenotes]
deps = -r{toxinidir}/releasenotes/requirements.txt
commands = sphinx-build -a -W -E -d releasenotes/build/doctrees -b html releasenotes/source releasenotes/build/html

View File

@ -167,4 +167,30 @@
openstack_release: "2024.1"
container_distro_name: ubuntu
container_distro_version: jammy
- job:
name: openstack-helm-compute-kit-dpdk-2024-1-ubuntu_jammy
description: |
Run the openstack-helm compute-kit job with DPDK enabled.
We use single node environment to run this job which means
that the job only tests that QEMU and OVS-DPDK are working
together. The job does not assume having specific DPDK hardware.
parent: openstack-helm-compute-kit
pre-run:
- playbooks/enable-hugepages.yaml
- playbooks/prepare-hosts.yaml
nodeset: openstack-helm-1node-32GB-ubuntu_jammy
vars:
hugepages:
enabled: true
size: "2M"
number: 2048
osh_params:
openstack_release: "2024.1"
container_distro_name: ubuntu
container_distro_version: jammy
feature_gates: dpdk
files:
- ^roles/.*
- ^openvswitch/.*
...

View File

@ -11,6 +11,18 @@
# See the License for the specific language governing permissions and
# limitations under the License.
- job:
name: openstack-helm-linter
run: playbooks/lint.yaml
nodeset: openstack-helm-1node-ubuntu_jammy
required-projects:
- openstack/openstack-helm
irrelevant-files:
- ^.*\.rst$
- ^releasenotes/.*$
pre-run:
- playbooks/inject-keys.yaml
- job:
name: openstack-helm-bandit
roles:
@ -21,14 +33,22 @@
files:
- ^.*\.py\.tpl$
- ^.*\.py$
- ^tools/gate/playbooks/osh-bandit.yaml$
pre-run: tools/gate/playbooks/prepare-hosts.yaml
post-run: tools/gate/playbooks/osh-infra-collect-logs.yaml
run: tools/gate/playbooks/osh-bandit.yaml
- ^playbooks/osh-bandit.yaml$
pre-run: playbooks/prepare-hosts.yaml
post-run: playbooks/collect-logs.yaml
run: playbooks/osh-bandit.yaml
vars:
helm_version: "v3.6.3"
bandit_version: "1.7.1"
- job:
name: openstack-helm-publish-charts
parent: publish-openstack-artifacts
run: playbooks/build-chart.yaml
required-projects:
- openstack/openstack-helm
post-run: playbooks/publish/post.yaml
- job:
name: openstack-helm-deploy
abstract: true
@ -48,7 +68,7 @@
- playbooks/prepare-hosts.yaml
- playbooks/mount-volumes.yaml
- playbooks/inject-keys.yaml
post-run: playbooks/osh-infra-collect-logs.yaml
post-run: playbooks/collect-logs.yaml
run:
- playbooks/deploy-env.yaml
- playbooks/run-scripts.yaml
@ -82,9 +102,6 @@
ingress_setup: true
helm_version: "v3.14.0"
crictl_version: "v1.30.1"
zuul_osh_relative_path: ../openstack-helm
zuul_osh_infra_relative_path: ../openstack-helm
gate_scripts_relative_path: ../openstack-helm
run_helm_tests: "no"
openstack_provider_gateway_setup: true
@ -96,8 +113,8 @@
# due to image pull rate limits on Docker Hub.
voting: false
run:
- tools/gate/playbooks/deploy-env-kubespray.yaml
- tools/gate/playbooks/run-scripts.yaml
- playbooks/deploy-env-kubespray.yaml
- playbooks/run-scripts.yaml
vars:
metallb_setup: true
kube_version_kubespray: "v1.29.5"
@ -162,8 +179,8 @@
- ./tools/deployment/common/prepare-k8s.sh
- ./tools/deployment/common/prepare-charts.sh
- ./tools/deployment/common/setup-client.sh
- ./tools/deployment/component/ceph/ceph-rook.sh
- ./tools/deployment/component/ceph/ceph-adapter-rook.sh
- ./tools/deployment/ceph/ceph-rook.sh
- ./tools/deployment/ceph/ceph-adapter-rook.sh
- export VOLUME_HELM_ARGS=" "; ./tools/deployment/component/common/rabbitmq.sh
- export VOLUME_HELM_ARGS=" "; ./tools/deployment/component/common/mariadb.sh
- ./tools/deployment/component/common/memcached.sh
@ -189,13 +206,13 @@
- ./tools/deployment/common/prepare-charts.sh
- ./tools/deployment/common/prepare-helm-repos-local.sh
- ./tools/deployment/common/setup-client.sh
- - ./tools/deployment/component/common/rabbitmq.sh
- ./tools/deployment/component/common/mariadb.sh
- ./tools/deployment/component/common/memcached.sh
- ./tools/deployment/component/common/rabbitmq.sh
- ./tools/deployment/component/common/mariadb.sh
- ./tools/deployment/component/common/memcached.sh
- ./tools/deployment/component/keystone/keystone.sh
- - ./tools/deployment/component/heat/heat.sh
- export GLANCE_BACKEND=local; ./tools/deployment/component/glance/glance.sh
- ./tools/deployment/component/compute-kit/openvswitch.sh
- ./tools/deployment/component/heat/heat.sh
- export GLANCE_BACKEND=local; ./tools/deployment/component/glance/glance.sh
- ./tools/deployment/component/compute-kit/openvswitch.sh
- ./tools/deployment/component/compute-kit/libvirt.sh
- ./tools/deployment/component/compute-kit/compute-kit.sh
- export OSH_TEST_TIMEOUT=1200;./tools/deployment/common/run-helm-tests.sh neutron
@ -218,13 +235,13 @@
- ./tools/deployment/common/prepare-charts.sh
- ./tools/deployment/common/prepare-helm-repos-public.sh
- ./tools/deployment/common/setup-client.sh
- - ./tools/deployment/component/common/rabbitmq.sh
- ./tools/deployment/component/common/mariadb.sh
- ./tools/deployment/component/common/memcached.sh
- ./tools/deployment/component/common/rabbitmq.sh
- ./tools/deployment/component/common/mariadb.sh
- ./tools/deployment/component/common/memcached.sh
- ./tools/deployment/component/keystone/keystone.sh
- - ./tools/deployment/component/heat/heat.sh
- export GLANCE_BACKEND=local; ./tools/deployment/component/glance/glance.sh
- ./tools/deployment/component/compute-kit/openvswitch.sh
- ./tools/deployment/component/heat/heat.sh
- export GLANCE_BACKEND=local; ./tools/deployment/component/glance/glance.sh
- ./tools/deployment/component/compute-kit/openvswitch.sh
- ./tools/deployment/component/compute-kit/libvirt.sh
- ./tools/deployment/component/compute-kit/compute-kit.sh
- export OSH_TEST_TIMEOUT=1200;./tools/deployment/common/run-helm-tests.sh neutron
@ -243,12 +260,12 @@
- ./tools/deployment/common/prepare-k8s.sh
- ./tools/deployment/common/prepare-charts.sh
- ./tools/deployment/common/setup-client.sh
- - ./tools/deployment/component/common/rabbitmq.sh
- ./tools/deployment/component/common/mariadb.sh
- ./tools/deployment/component/common/memcached.sh
- ./tools/deployment/component/common/rabbitmq.sh
- ./tools/deployment/component/common/mariadb.sh
- ./tools/deployment/component/common/memcached.sh
- ./tools/deployment/component/keystone/keystone.sh
- - ./tools/deployment/component/heat/heat.sh
- export GLANCE_BACKEND=local; ./tools/deployment/component/glance/glance.sh
- ./tools/deployment/component/heat/heat.sh
- export GLANCE_BACKEND=local; ./tools/deployment/component/glance/glance.sh
- ./tools/deployment/component/compute-kit/openvswitch.sh
- ./tools/deployment/component/compute-kit/libvirt.sh
- ./tools/deployment/component/ovn/ovn.sh
@ -292,11 +309,11 @@
- ./tools/deployment/common/prepare-k8s.sh
- ./tools/deployment/common/prepare-charts.sh
- ./tools/deployment/common/setup-client.sh
- ./tools/deployment/component/ceph/ceph.sh
- ./tools/deployment/component/ceph/ceph-ns-activate.sh
- - ./tools/deployment/component/common/mariadb.sh
- ./tools/deployment/component/common/memcached.sh
- ./tools/deployment/component/common/rabbitmq.sh
- ./tools/deployment/ceph/ceph.sh
- ./tools/deployment/ceph/ceph-ns-activate.sh
- ./tools/deployment/component/common/mariadb.sh
- ./tools/deployment/component/common/memcached.sh
- ./tools/deployment/component/common/rabbitmq.sh
- ./tools/deployment/component/keystone/keystone.sh
- ./tools/deployment/component/cinder/cinder.sh
- ./tools/deployment/common/force-cronjob-run.sh
@ -315,11 +332,11 @@
- ./tools/deployment/common/prepare-k8s.sh
- ./tools/deployment/common/prepare-charts.sh
- ./tools/deployment/common/setup-client.sh
- ./tools/deployment/component/ceph/ceph-rook.sh
- ./tools/deployment/component/ceph/ceph-adapter-rook.sh
- - ./tools/deployment/component/common/mariadb.sh
- ./tools/deployment/component/common/memcached.sh
- ./tools/deployment/component/common/rabbitmq.sh
- ./tools/deployment/ceph/ceph-rook.sh
- ./tools/deployment/ceph/ceph-adapter-rook.sh
- ./tools/deployment/component/common/mariadb.sh
- ./tools/deployment/component/common/memcached.sh
- ./tools/deployment/component/common/rabbitmq.sh
- ./tools/deployment/component/keystone/keystone.sh
- ./tools/deployment/component/cinder/cinder.sh
- ./tools/deployment/common/force-cronjob-run.sh
@ -390,8 +407,8 @@
- ./tools/deployment/common/prepare-charts.sh
- ./tools/deployment/common/setup-client.sh
- ./tools/deployment/common/cert-manager.sh
- ./tools/deployment/component/ceph/ceph-rook.sh
- ./tools/deployment/component/ceph/ceph-adapter-rook.sh
- ./tools/deployment/ceph/ceph-rook.sh
- ./tools/deployment/ceph/ceph-adapter-rook.sh
- ./tools/deployment/component/common/mariadb.sh
- ./tools/deployment/component/common/memcached.sh
- ./tools/deployment/component/common/rabbitmq.sh
@ -420,13 +437,13 @@
- ./tools/deployment/common/prepare-k8s.sh
- ./tools/deployment/common/prepare-charts.sh
- ./tools/deployment/common/setup-client.sh
- - ./tools/deployment/component/common/rabbitmq.sh
- ./tools/deployment/component/common/mariadb.sh
- ./tools/deployment/component/common/memcached.sh
- ./tools/deployment/component/common/rabbitmq.sh
- ./tools/deployment/component/common/mariadb.sh
- ./tools/deployment/component/common/memcached.sh
- ./tools/deployment/component/keystone/keystone.sh
- - ./tools/deployment/component/heat/heat.sh
- export GLANCE_BACKEND=local; ./tools/deployment/component/glance/glance.sh
- ./tools/deployment/component/compute-kit/openvswitch.sh
- ./tools/deployment/component/heat/heat.sh
- export GLANCE_BACKEND=local; ./tools/deployment/component/glance/glance.sh
- ./tools/deployment/component/compute-kit/openvswitch.sh
- ./tools/deployment/component/compute-kit/libvirt.sh
- ./tools/deployment/component/compute-kit/compute-kit.sh
- ./tools/deployment/component/barbican/barbican.sh

View File

@ -13,25 +13,6 @@
# See the License for the specific language governing permissions and
# limitations under the License.
- job:
name: openstack-helm-linter
run: playbooks/lint.yml
nodeset: openstack-helm-1node-ubuntu_jammy
# NOTE(aostapenko) Required if job is run against another project
required-projects:
- openstack/openstack-helm
irrelevant-files:
- ^.*\.rst$
- ^releasenotes/.*$
- job:
name: openstack-helm-publish-charts
parent: publish-openstack-artifacts
run: playbooks/build-chart.yaml
required-projects:
- openstack/openstack-helm
post-run: playbooks/publish/post.yaml
- job:
name: openstack-helm-logging
parent: openstack-helm-deploy
@ -133,33 +114,6 @@
- ^mariadb-cluster/.*
- ^tools/.*
- job:
name: openstack-helm-compute-kit-dpdk-2024-1-ubuntu_jammy
description: |
Run the openstack-helm compute-kit job with DPDK enabled.
We use single node environment to run this job which means
that the job only tests that QEMU and OVS-DPDK are working
together. The job does not assume having specific DPDK hardware.
parent: openstack-helm-compute-kit
pre-run:
- playbooks/enable-hugepages.yaml
- playbooks/prepare-hosts.yaml
nodeset: openstack-helm-1node-32GB-ubuntu_jammy
vars:
gate_scripts_relative_path: ../openstack-helm
hugepages:
enabled: true
size: "2M"
number: 2048
osh_params:
openstack_release: "2024.1"
container_distro_name: ubuntu
container_distro_version: jammy
feature_gates: dpdk
files:
- ^roles/.*
- ^openvswitch/.*
- job:
name: openstack-helm-mariadb-ingress-2024-1-ubuntu_jammy
parent: openstack-helm-compute-kit-2024-1-ubuntu_jammy

View File

@ -1,33 +0,0 @@
---
# 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.
- project:
check:
jobs:
- openstack-helm-infra-logging
- openstack-helm-infra-monitoring
- openstack-helm-infra-metacontroller
- openstack-helm-infra-mariadb-operator-2024-1-ubuntu_jammy
- openstack-helm-infra-compute-kit-dpdk-2024-1-ubuntu_jammy # 32GB node
gate:
jobs:
- openstack-helm-infra-logging
- openstack-helm-infra-monitoring
- openstack-helm-infra-metacontroller
periodic-weekly:
jobs:
- openstack-helm-infra-ceph-migrate
...

View File

@ -24,30 +24,35 @@
- openstack-helm-linter
- openstack-helm-bandit
# 2023.2
- openstack-helm-horizon-2023-2-ubuntu_jammy # 1 node
- openstack-helm-keystone-ldap-2023-2-ubuntu_jammy # 1 node
- openstack-helm-cinder-2023-2-ubuntu_jammy # 3 nodes rook
- openstack-helm-cinder-2023-2-ubuntu_jammy # 5 nodes rook
- openstack-helm-compute-kit-2023-2-ubuntu_jammy # 3 nodes
- openstack-helm-compute-kit-ovn-2023-2-ubuntu_jammy # 3 nodes
# 2024.1
# - openstack-helm-umbrella-2024-1-ubuntu_jammy # 3 nodes rook
- openstack-helm-keystone-ldap-2023-2-ubuntu_jammy # 1 node
- openstack-helm-tls-2024-1-ubuntu_jammy # 3 nodes rook
- openstack-helm-cinder-2024-1-ubuntu_jammy # 3 nodes rook
- openstack-helm-cinder-2024-1-ubuntu_jammy # 5 nodes rook
- openstack-helm-compute-kit-2024-1-ubuntu_jammy # 3 nodes
- openstack-helm-compute-kit-metallb-2024-1-ubuntu_jammy # 1 node + 2 nodes
- openstack-helm-compute-kit-cilium-metallb-2024-1-ubuntu_jammy # 1 node + 2 nodes
- openstack-helm-compute-kit-flannel-metallb-2024-1-ubuntu_jammy # 1 node + 2 nodes
- openstack-helm-compute-kit-metallb-2024-1-ubuntu_jammy # 1 node + 3 nodes
- openstack-helm-compute-kit-cilium-metallb-2024-1-ubuntu_jammy # 1 node + 3 nodes
- openstack-helm-horizon-2024-1-ubuntu_jammy # 1 node
- openstack-helm-tacker-2024-1-ubuntu_jammy
# - openstack-helm-compute-kit-kubespray-2024-1-ubuntu_jammy
- openstack-helm-compute-kit-dpdk-2024-1-ubuntu_jammy # 32GB node
# 2024.2
- openstack-helm-cinder-2024-2-ubuntu_jammy # 3 nodes rook
- openstack-helm-compute-kit-2024-2-ubuntu_jammy # 1 node + 2 nodes + metallb
- openstack-helm-compute-kit-2024-2-ubuntu_jammy # 1 node + 3 nodes
# Infra jobs
- openstack-helm-infra-logging
- openstack-helm-infra-monitoring
- openstack-helm-infra-metacontroller
- openstack-helm-infra-mariadb-operator-2024-1-ubuntu_jammy
gate:
jobs:
- openstack-helm-lint
- openstack-helm-linter
- openstack-helm-cinder-2024-1-ubuntu_jammy
- openstack-helm-compute-kit-2024-1-ubuntu_jammy
- openstack-helm-infra-logging
- openstack-helm-infra-monitoring
- openstack-helm-infra-metacontroller
post:
jobs:
- openstack-helm-publish-charts
@ -55,4 +60,7 @@
# jobs:
# - openstack-helm-compute-kit-helm-repo-public-2024-1-ubuntu_jammy # 1 node + 2 nodes
# - openstack-helm-compute-kit-rook-2024-1-ubuntu_jammy # 5 nodes / rook
periodic-weekly:
jobs:
- openstack-helm-infra-ceph-migrate
...