Merge "Inclusion annotation for upgrade and install chart changes"

This commit is contained in:
Zuul 2018-10-09 15:08:49 +00:00 committed by Gerrit Code Review
commit 2b8581dcc2
15 changed files with 380 additions and 14 deletions

View File

@ -43,6 +43,7 @@
vars:
osh_openstack_release: newton
zuul_osh_infra_relative_path: ../openstack-helm-infra/
zuul_osh_relative_path: ../openstack-helm/
timeout: 7200
pre-run:
- tools/gate/playbooks/osh-infra-upgrade-host.yaml
@ -53,6 +54,7 @@
post-run: tools/gate/playbooks/osh-infra-collect-logs.yaml
required-projects:
- openstack/openstack-helm-infra
- openstack/openstack-helm
nodeset: openstack-helm-ubuntu
- job:

View File

@ -28,6 +28,8 @@ apiVersion: apps/v1beta1
kind: Deployment
metadata:
name: ranger-agent-api
annotations:
{{ tuple $envAll | include "helm-toolkit.snippets.release_uuid" }}
spec:
replicas: {{ .Values.pod.replicas.api }}
{{ tuple $envAll | include "helm-toolkit.snippets.kubernetes_upgrades_deployment" | indent 2 }}

View File

@ -26,6 +26,8 @@ apiVersion: apps/v1beta1
kind: Deployment
metadata:
name: ranger-agent-engine
annotations:
{{ tuple $envAll | include "helm-toolkit.snippets.release_uuid" }}
spec:
replicas: {{ .Values.pod.replicas.engine }}
{{ tuple $envAll | include "helm-toolkit.snippets.kubernetes_upgrades_deployment" | indent 2 }}

View File

@ -35,8 +35,8 @@ labels:
images:
tags:
ranger_agent: quay.io/attcomdev/ranger-agent:5d29fd462bb85cf6c1b0acb25bfb898944e62b1a
ranger-agent_db_sync: quay.io/attcomdev/ranger-agent:5d29fd462bb85cf6c1b0acb25bfb898944e62b1a
ranger_agent: quay.io/attcomdev/ranger-agent:60529ac023bf550f0e9cb9e0eb4d4eb3dbf2d5c6
ranger-agent_db_sync: quay.io/attcomdev/ranger-agent:60529ac023bf550f0e9cb9e0eb4d4eb3dbf2d5c6
db_drop: docker.io/openstackhelm/heat:newton
db_init: docker.io/openstackhelm/heat:newton
ks_user: docker.io/openstackhelm/heat:newton

View File

@ -26,6 +26,8 @@ apiVersion: apps/v1beta1
kind: Deployment
metadata:
name: {{ $serviceAccountName }}
annotations:
{{ tuple $envAll | include "helm-toolkit.snippets.release_uuid" }}
spec:
replicas: {{ .Values.pod.replicas.ranger }}
{{ tuple $envAll | include "helm-toolkit.snippets.kubernetes_upgrades_deployment" | indent 2 }}

View File

@ -32,8 +32,8 @@ labels:
images:
tags:
ranger: docker.io/hosingh000/ranger:0.1.0
ranger_db_sync: docker.io/hosingh000/ranger:0.1.0
ranger: quay.io/attcomdev/ranger:d376b6059733a4d9b0c47d1c8ba1edf98c8953e3
ranger_db_sync: quay.io/attcomdev/ranger:d376b6059733a4d9b0c47d1c8ba1edf98c8953e3
db_drop: docker.io/openstackhelm/heat:newton
db_init: docker.io/openstackhelm/heat:newton
dep_check: quay.io/stackanetes/kubernetes-entrypoint:v0.3.1
@ -54,27 +54,27 @@ conf:
pecan_debug: True
ranger_base: '/home/ranger/ranger'
ssl_verify: False
log_location: '/var/log/ranger'
use_handlers: console
ranger_agent_https_enable: False
ranger_agent_client_cert_path: ''
cms:
log: cms.log
log: null
fms:
log: fms.log
log: null
ims:
log: ims.log
log: null
rms:
log: rms.log
log: null
rds:
log: rds.log
log: null
repo_local_location: /home/ranger/git_repo
repo_remote_location: git@127.0.0.1:/home/repo/ORM.git
repo_user: orm
repo_email: orm@test.com
uuid:
log: uuid.log
log: null
audit:
log: audit.log
log: null
cli:
base_region: RegionOne
database:
@ -82,6 +82,7 @@ conf:
keystone_authtoken:
auth_type: password
auth_version: v3
auth_enabled: False
ssh:
user: ranger
user_home: /home/ranger

View File

@ -17,6 +17,58 @@
- name: Build Charts
shell: |
set -xe;
./tools/gate/scripts/build-charts.sh
./tools/gate/scripts/010-setup-client.sh
args:
chdir: "{{ zuul_osh_addons_relative_path | default(zuul.project.src_dir) }}"
- name: Deploy MariaDB
environment:
OSH_EXTRA_HELM_ARGS: "{{ zuul_osh_extra_helm_args_relative_path | default('') }}"
OSH_INFRA_PATH: "{{ zuul_osh_infra_relative_path | default('') }}"
zuul_site_mirror_fqdn: "{{ zuul_site_mirror_fqdn }}"
shell: |
set -xe;
./tools/gate/scripts/020-deploy-mariadb.sh
args:
chdir: "{{ zuul_osh_addons_relative_path | default(zuul.project.src_dir) }}"
- name: Deploy RabbitMQ
environment:
OSH_EXTRA_HELM_ARGS: "{{ zuul_osh_extra_helm_args_relative_path | default('') }}"
OSH_INFRA_PATH: "{{ zuul_osh_infra_relative_path | default('') }}"
zuul_site_mirror_fqdn: "{{ zuul_site_mirror_fqdn }}"
shell: |
set -xe;
./tools/gate/scripts/030-deploy-rabbitmq.sh
args:
chdir: "{{ zuul_osh_addons_relative_path | default(zuul.project.src_dir) }}"
- name: Deploy Memcached
environment:
OSH_EXTRA_HELM_ARGS: "{{ zuul_osh_extra_helm_args_relative_path | default('') }}"
OSH_INFRA_PATH: "{{ zuul_osh_infra_relative_path | default('') }}"
zuul_site_mirror_fqdn: "{{ zuul_site_mirror_fqdn }}"
shell: |
set -xe;
./tools/gate/scripts/040-deploy-memcached.sh
args:
chdir: "{{ zuul_osh_addons_relative_path | default(zuul.project.src_dir) }}"
- name: Deploy Keystone
environment:
OSH_EXTRA_HELM_ARGS: "{{ zuul_osh_extra_helm_args_relative_path | default('') }}"
OSH_PATH: "{{ zuul_osh_relative_path | default('') }}"
zuul_site_mirror_fqdn: "{{ zuul_site_mirror_fqdn }}"
shell: |
set -xe;
./tools/gate/scripts/050-deploy-keystone.sh
args:
chdir: "{{ zuul_osh_addons_relative_path | default(zuul.project.src_dir) }}"
- name: Deploy Ranger Charts
shell: |
set -xe;
./tools/gate/scripts/060-deploy-ranger.sh
args:
chdir: "{{ zuul_osh_addons_relative_path | default(zuul.project.src_dir) }}"
- name: Deploy Ranger Agent Charts
shell: |
set -xe;
./tools/gate/scripts/070-deploy-ranger-agent.sh
args:
chdir: "{{ zuul_osh_addons_relative_path | default(zuul.project.src_dir) }}"

View File

@ -0,0 +1,39 @@
#!/bin/bash
# Copyright 2017 The Openstack-Helm Authors.
#
# 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
sudo -H -E pip install "cmd2<=0.8.7"
sudo -H -E pip install python-openstackclient python-heatclient --ignore-installed
sudo -H mkdir -p /etc/openstack
sudo -H chown -R $(id -un): /etc/openstack
tee /etc/openstack/clouds.yaml << EOF
clouds:
openstack_helm:
region_name: RegionOne
identity_api_version: 3
auth:
username: 'admin'
password: 'password'
project_name: 'admin'
project_domain_name: 'default'
user_domain_name: 'default'
auth_url: 'http://keystone.openstack.svc.cluster.local/v3'
EOF
#NOTE: Build charts
make all

View File

@ -0,0 +1,36 @@
#!/bin/bash
# Copyright 2017 The Openstack-Helm Authors.
#
# 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: Lint and package chart
: ${OSH_INFRA_PATH:="../openstack-helm-infra"}
make -C ${OSH_INFRA_PATH} mariadb
#NOTE: Deploy command
: ${OSH_EXTRA_HELM_ARGS:=""}
helm upgrade --install mariadb ${OSH_INFRA_PATH}/mariadb \
--namespace=openstack \
--set pod.replicas.server=1 \
--set volume.enabled=false \
${OSH_EXTRA_HELM_ARGS} \
${OSH_EXTRA_HELM_ARGS_MARIADB}
#NOTE: Wait for deploy
./tools/gate/scripts/wait-for-pods.sh openstack
#NOTE: Validate Deployment info
helm status mariadb

View File

@ -0,0 +1,36 @@
#!/bin/bash
# Copyright 2017 The Openstack-Helm Authors.
#
# 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: Lint and package chart
: ${OSH_INFRA_PATH:="../openstack-helm-infra"}
make -C ${OSH_INFRA_PATH} rabbitmq
#NOTE: Deploy command
: ${OSH_EXTRA_HELM_ARGS:=""}
helm upgrade --install rabbitmq ${OSH_INFRA_PATH}/rabbitmq \
--namespace=openstack \
--set pod.replicas.server=1 \
--set volume.enabled=false \
${OSH_EXTRA_HELM_ARGS} \
${OSH_EXTRA_HELM_ARGS_RABBITMQ}
#NOTE: Wait for deploy
./tools/gate/scripts/wait-for-pods.sh openstack
#NOTE: Validate Deployment info
helm status rabbitmq

View File

@ -0,0 +1,34 @@
#!/bin/bash
# Copyright 2017 The Openstack-Helm Authors.
#
# 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: Lint and package chart
: ${OSH_INFRA_PATH:="../openstack-helm-infra"}
make -C ${OSH_INFRA_PATH} memcached
#NOTE: Deploy command
: ${OSH_EXTRA_HELM_ARGS:=""}
helm upgrade --install memcached ${OSH_INFRA_PATH}/memcached \
--namespace=openstack \
${OSH_EXTRA_HELM_ARGS} \
${OSH_EXTRA_HELM_ARGS_MEMCACHED}
#NOTE: Wait for deploy
./tools/gate/scripts/wait-for-pods.sh openstack
#NOTE: Validate Deployment info
helm status memcached

View File

@ -16,4 +16,19 @@
set -xe
make all
#NOTE: Lint and package chart
: ${OSH_PATH:="../openstack-helm"}
make -C ${OSH_PATH} keystone
#NOTE: Deploy command
: ${OSH_EXTRA_HELM_ARGS:=""}
helm upgrade --install keystone ${OSH_PATH}/keystone \
--namespace=openstack \
${OSH_EXTRA_HELM_ARGS} \
${OSH_EXTRA_HELM_ARGS_KEYSTONE}
#NOTE: Wait for deploy
./tools/gate/scripts/wait-for-pods.sh openstack
#NOTE: Validate Deployment info
helm status keystone

View File

@ -0,0 +1,24 @@
set -xe
#NOTE: Deploy command
#NOTE: override file
tee /tmp/ranger.yaml << EOF
conf:
ranger:
DEFAULT:
ranger_agent_https_enable: true
ranger_agent_client_cert_path: '/home/ranger/ord.cert'
ssh:
ssh_key: null
ssh_config: null
cert:
ranger_agent_client_cert: null
EOF
helm upgrade --install ranger ./ranger \
--namespace=openstack \
--values=/tmp/ranger.yaml
#NOTE: Wait for deploy
./tools/gate/scripts/wait-for-pods.sh openstack

View File

@ -0,0 +1,78 @@
set -xe
#NOTE: Deploy command
#NOTE: override file
tee /tmp/ranger-agent.yaml << EOF
conf:
ranger_agent:
DEFAULT:
enable_rds_callback_check: False
ssh:
ssh_key: null
ssh_config: null
dependencies:
static:
api:
jobs:
- ranger-agent-db-sync
- ranger-agent-ks-user
- ranger-agent-ks-endpoints
- ranger-agent-rabbit-init
services:
- service: oslo_db
endpoint: internal
engine:
jobs:
- ranger-agent-db-sync
- ranger-agent-ks-user
- ranger-agent-rabbit-init
services:
- service: oslo_db
endpoint: internal
- service: identity
endpoint: internal
db_init:
services:
- service: oslo_db
endpoint: internal
db_sync:
jobs:
- ranger-agent-db-init
services:
- service: oslo_db
endpoint: internal
db_drop:
services:
- service: oslo_db
endpoint: internal
ks_user:
services:
- service: identity
endpoint: internal
ks_service:
services:
- service: identity
endpoint: internal
ks_endpoints:
jobs:
- ranger-agent-ks-service
services:
- service: identity
endpoint: internal
rabbit_init:
services:
- service: oslo_messaging
endpoint: internal
image_repo_sync:
services:
- endpoint: internal
service: local_image_registry
EOF
helm upgrade --install ranger-agent ./ranger-agent \
--namespace=openstack \
--values=/tmp/ranger-agent.yaml
#NOTE: Wait for deploy
./tools/gate/scripts/wait-for-pods.sh openstack

View File

@ -0,0 +1,43 @@
#!/bin/bash
# Copyright 2017 The Openstack-Helm Authors.
#
# 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 -e
# From Kolla-Kubernetes, orginal authors Kevin Fox & Serguei Bezverkhi
# Default wait timeout is 600 seconds
end=$(date +%s)
if ! [ -z $2 ]; then
end=$((end + $2))
else
end=$((end + 900))
fi
while true; do
kubectl get pods --namespace=$1 -o json | jq -r \
'.items[].status.phase' | grep Pending > /dev/null && \
PENDING=True || PENDING=False
query='.items[]|select(.status.phase=="Running")'
query="$query|.status.containerStatuses[].ready"
kubectl get pods --namespace=$1 -o json | jq -r "$query" | \
grep false > /dev/null && READY="False" || READY="True"
kubectl get jobs -o json --namespace=$1 | jq -r \
'.items[] | .spec.completions == .status.succeeded' | \
grep false > /dev/null && JOBR="False" || JOBR="True"
[ $PENDING == "False" -a $READY == "True" -a $JOBR == "True" ] && \
break || true
sleep 5
now=$(date +%s)
[ $now -gt $end ] && echo containers failed to start. && \
kubectl get pods --namespace $1 -o wide && exit -1
done