Merge "CI: Add Airskiff check"
This commit is contained in:
commit
fe8ad58605
26
.zuul.yaml
26
.zuul.yaml
@ -24,6 +24,7 @@
|
||||
- airship-armada-chart-build-gate
|
||||
- airship-armada-chart-build-latest-htk
|
||||
- airship-armada-docker-build-gate
|
||||
- airship-treasuremap-airskiff-deploy
|
||||
gate:
|
||||
jobs:
|
||||
- openstack-tox-pep8
|
||||
@ -69,6 +70,31 @@
|
||||
dynamic:
|
||||
patch_set: true
|
||||
|
||||
- job:
|
||||
name: airship-treasuremap-airskiff-deploy
|
||||
nodeset: airship-armada-single-node
|
||||
description: |
|
||||
Deploy Memcached using Airskiff and submitted Armada changes.
|
||||
timeout: 9600
|
||||
voting: false
|
||||
pre-run:
|
||||
- tools/gate/playbooks/airskiff-reduce-site.yaml
|
||||
- tools/gate/playbooks/git-config.yaml
|
||||
run: tools/gate/playbooks/airskiff-deploy.yaml
|
||||
post-run: tools/gate/playbooks/debug-report.yaml
|
||||
required-projects:
|
||||
- openstack/airship-deckhand
|
||||
- openstack/airship-pegleg
|
||||
- openstack/airship-shipyard
|
||||
- openstack/airship-treasuremap
|
||||
- openstack/openstack-helm-infra
|
||||
irrelevant-files:
|
||||
- ^.*\.rst$
|
||||
- ^doc/.*$
|
||||
- ^examples/.*$
|
||||
- ^releasenotes/.*$
|
||||
- ^swagger/.*$
|
||||
|
||||
- job:
|
||||
name: airship-armada-docker-publish
|
||||
timeout: 1800
|
||||
|
65
tools/gate/playbooks/airskiff-deploy.yaml
Normal file
65
tools/gate/playbooks/airskiff-deploy.yaml
Normal file
@ -0,0 +1,65 @@
|
||||
# Copyright 2018 AT&T Intellectual Property. All other rights reserved.
|
||||
#
|
||||
# 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: Install Required Packages
|
||||
shell: |
|
||||
./tools/deployment/airskiff/developer/000-install-packages.sh
|
||||
args:
|
||||
chdir: "{{ zuul.projects['git.openstack.org/openstack/airship-treasuremap'].src_dir }}"
|
||||
become: yes
|
||||
|
||||
- name: Build Armada with submitted changes
|
||||
shell: |
|
||||
make images
|
||||
args:
|
||||
chdir: "{{ zuul.project.src_dir }}"
|
||||
become: yes
|
||||
|
||||
- name: Deploy Kubernetes with Minikube
|
||||
shell: |
|
||||
./tools/deployment/airskiff/developer/010-deploy-k8s.sh
|
||||
args:
|
||||
chdir: "{{ zuul.projects['git.openstack.org/openstack/airship-treasuremap'].src_dir }}"
|
||||
|
||||
- name: Setup OpenStack Client
|
||||
shell: |
|
||||
./tools/deployment/airskiff/developer/020-setup-client.sh
|
||||
args:
|
||||
chdir: "{{ zuul.projects['git.openstack.org/openstack/airship-treasuremap'].src_dir }}"
|
||||
become: yes
|
||||
|
||||
- name: Deploy Airship components using Armada
|
||||
shell: |
|
||||
mkdir ~/.kube
|
||||
cp -rp /home/zuul/.kube/config ~/.kube/config
|
||||
./tools/deployment/airskiff/developer/030-armada-bootstrap.sh
|
||||
args:
|
||||
chdir: "{{ zuul.projects['git.openstack.org/openstack/airship-treasuremap'].src_dir }}"
|
||||
become: yes
|
||||
|
||||
- name: Deploy OpenStack using Airship
|
||||
shell: |
|
||||
./tools/deployment/airskiff/developer/100-deploy-osh.sh
|
||||
args:
|
||||
chdir: "{{ zuul.projects['git.openstack.org/openstack/airship-treasuremap'].src_dir }}"
|
||||
become: yes
|
||||
|
||||
- name: Wait for deployment completion
|
||||
shell: |
|
||||
./tools/gate/wait-for-shipyard.sh
|
||||
args:
|
||||
chdir: "{{ zuul.projects['git.openstack.org/openstack/airship-treasuremap'].src_dir }}"
|
||||
become: yes
|
22
tools/gate/playbooks/airskiff-reduce-site.yaml
Normal file
22
tools/gate/playbooks/airskiff-reduce-site.yaml
Normal file
@ -0,0 +1,22 @@
|
||||
# Copyright 2018 AT&T Intellectual Property. All other rights reserved.
|
||||
#
|
||||
# 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: Overwrite Armada manifest
|
||||
shell: |
|
||||
mv tools/gate/manifests/full-site.yaml \
|
||||
site/airskiff/software/manifests/full-site.yaml
|
||||
args:
|
||||
chdir: "{{ zuul.projects['git.openstack.org/openstack/airship-treasuremap'].src_dir }}"
|
34
tools/gate/playbooks/debug-report.yaml
Normal file
34
tools/gate/playbooks/debug-report.yaml
Normal file
@ -0,0 +1,34 @@
|
||||
# Copyright 2018 AT&T Intellectual Property. All other rights reserved.
|
||||
#
|
||||
# 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: Build debug report
|
||||
shell: |
|
||||
./tools/gate/debug-report.sh
|
||||
args:
|
||||
chdir: "{{ zuul.projects['git.openstack.org/openstack/airship-treasuremap'].src_dir }}"
|
||||
|
||||
- name: Extract debug report
|
||||
shell: |
|
||||
mkdir -p /tmp/debug
|
||||
tar -xf debug-* -C /tmp/debug
|
||||
args:
|
||||
chdir: "{{ zuul.projects['git.openstack.org/openstack/airship-treasuremap'].src_dir }}"
|
||||
|
||||
- name: Pull logs to executor
|
||||
synchronize:
|
||||
src: /tmp/debug
|
||||
dest: "{{ zuul.executor.log_root }}/{{ inventory_hostname }}"
|
||||
mode: pull
|
25
tools/gate/playbooks/git-config.yaml
Normal file
25
tools/gate/playbooks/git-config.yaml
Normal file
@ -0,0 +1,25 @@
|
||||
# Copyright 2018 AT&T Intellectual Property. All other rights reserved.
|
||||
#
|
||||
# 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: Git config
|
||||
shell: |
|
||||
set -xe;
|
||||
tee .git/config << EOF
|
||||
[remote "origin"]
|
||||
url = https://git.openstack.org/openstack/airship-treasuremap.git
|
||||
EOF
|
||||
args:
|
||||
chdir: "{{ zuul.projects['git.openstack.org/openstack/airship-treasuremap'].src_dir }}"
|
Loading…
x
Reference in New Issue
Block a user