416df18353
Drop support of Python 2.x as it is being deprecated. Updated documentation, tox config, requirements.txt. Job templates added: - openstack-python35-jobs: openstack-tox-py35 - openstack-python3-ussuri-jobs: openstack-tox-py36, openstack-tox-py37 Job added: - openstack-tox-pep8 Job templates removed: - openstack-python-jobs: openstack-tox-pep8, openstack-tox-py27 Jobs removed: - deckhand-tox-py27-postgresql Change-Id: I7783ba841258a913f5ecd9d6f1130d378345ab5a
464 lines
18 KiB
YAML
464 lines
18 KiB
YAML
# 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:
|
|
templates:
|
|
- openstack-cover-jobs
|
|
- docs-on-readthedocs
|
|
- openstack-python35-jobs
|
|
- openstack-python3-train-jobs
|
|
- openstack-python3-ussuri-jobs
|
|
vars:
|
|
rtd_webhook_id: '38572'
|
|
rtd_project_name: 'airship-deckhand'
|
|
check:
|
|
jobs:
|
|
- deckhand-tox-py35-postgresql
|
|
- deckhand-functional-uwsgi-py35:
|
|
voting: false
|
|
- deckhand-functional-docker-py35-ubuntu
|
|
- deckhand-functional-docker-py35-opensuse
|
|
- deckhand-integration-uwsgi-py35:
|
|
voting: false
|
|
- deckhand-integration-docker-py35-ubuntu:
|
|
voting: false
|
|
- deckhand-integration-docker-py35-opensuse:
|
|
voting: false
|
|
- deckhand-chart-build-gate
|
|
- deckhand-chart-build-latest-htk
|
|
- deckhand-docker-build-gate-ubuntu
|
|
- deckhand-docker-build-gate-opensuse
|
|
- deckhand-airskiff-deployment
|
|
gate:
|
|
jobs:
|
|
- deckhand-tox-py35-postgresql
|
|
- deckhand-functional-docker-py35-ubuntu
|
|
- deckhand-functional-docker-py35-opensuse
|
|
- deckhand-chart-build-gate
|
|
- deckhand-docker-build-gate-ubuntu
|
|
- deckhand-docker-build-gate-opensuse
|
|
- openstack-tox-pep8
|
|
post:
|
|
jobs:
|
|
- deckhand-upload-git-mirror
|
|
- deckhand-docker-publish-ubuntu
|
|
- deckhand-docker-publish-opensuse
|
|
- deckhand-docker-tag-ubuntu
|
|
- deckhand-docker-tag-opensuse
|
|
|
|
- nodeset:
|
|
name: deckhand-single-node
|
|
nodes:
|
|
- name: primary
|
|
label: ubuntu-bionic
|
|
|
|
- nodeset:
|
|
name: deckhand-single-node-airskiff
|
|
nodes:
|
|
- name: primary
|
|
label: ubuntu-xenial
|
|
|
|
- job:
|
|
name: deckhand-tox-py35-postgresql
|
|
parent: openstack-tox-py35
|
|
pre-run:
|
|
- tools/gate/playbooks/install-postgresql.yaml
|
|
vars:
|
|
tox_envlist: py35-postgresql
|
|
|
|
- job:
|
|
name: deckhand-functional-uwsgi-py35
|
|
description: |
|
|
Run tox-based functional tests for the Airship Deckhand project using a
|
|
minimalistic deployment consisting of uwsgi for Deckhand API and pifpaf
|
|
for ephemeral PostgreSQL DB, under cPython version 3.5.
|
|
run: tools/gate/playbooks/run-functional-tests-uwsgi.yaml
|
|
nodeset: deckhand-single-node
|
|
vars:
|
|
tox_envlist: functional-dev
|
|
irrelevant-files:
|
|
- ^.*\.rst$
|
|
- ^doc/.*$
|
|
- ^etc/.*$
|
|
- ^releasenotes/.*$
|
|
- ^setup.cfg$
|
|
- ^deckhand/tests/unit/.*$
|
|
|
|
- job:
|
|
name: deckhand-functional-docker-base
|
|
description: |
|
|
Base job for running deckhand functional tests. Runs tests
|
|
against Docker image generated from source code.
|
|
roles:
|
|
- zuul: openstack/openstack-helm-infra
|
|
timeout: 3600
|
|
pre-run:
|
|
- tools/gate/playbooks/osh-infra-upgrade-host.yaml
|
|
- tools/gate/playbooks/osh-infra-deploy-docker.yaml
|
|
run: tools/gate/playbooks/run-functional-tests-docker.yaml
|
|
required-projects:
|
|
- openstack/openstack-helm-infra
|
|
|
|
- job:
|
|
name: deckhand-functional-docker-py35-ubuntu
|
|
description: |
|
|
Run tox-based functional tests for the Airship Deckhand project under
|
|
cPython version 3.5. Uses tox with the ``functional-py35`` environment.
|
|
Ubuntu (default) image is built and used.
|
|
parent: deckhand-functional-docker-base
|
|
nodeset: deckhand-single-node
|
|
vars:
|
|
tox_envlist: functional
|
|
disable_keystone: true
|
|
distro: ubuntu_xenial
|
|
irrelevant-files:
|
|
- ^.*\.rst$
|
|
- ^doc/.*$
|
|
- ^etc/.*$
|
|
- ^releasenotes/.*$
|
|
- ^setup.cfg$
|
|
- ^deckhand/tests/unit/.*$
|
|
|
|
- job:
|
|
name: deckhand-functional-docker-py35-opensuse
|
|
description: |
|
|
Run tox-based functional tests for the Airship Deckhand project under
|
|
cPython version 3.5. Uses tox with the ``functional-py35`` environment.
|
|
Opensuse image is built and used.
|
|
parent: deckhand-functional-docker-base
|
|
nodeset: deckhand-single-node
|
|
vars:
|
|
tox_envlist: functional
|
|
disable_keystone: true
|
|
distro: opensuse_15
|
|
irrelevant-files:
|
|
- ^.*\.rst$
|
|
- ^doc/.*$
|
|
- ^etc/.*$
|
|
- ^releasenotes/.*$
|
|
- ^setup.cfg$
|
|
- ^deckhand/tests/unit/.*$
|
|
|
|
- job:
|
|
name: deckhand-integration-uwsgi-py35
|
|
description: |
|
|
Run tox-based integration tests for the Airship Deckhand project using a
|
|
minimalistic deployment consisting of uwsgi for Deckhand API and pifpaf
|
|
for ephemeral PostgreSQL DB, under cPython version 3.5.
|
|
timeout: 3600
|
|
run: tools/gate/playbooks/run-integration-tests-uwsgi.yaml
|
|
nodeset: deckhand-single-node
|
|
irrelevant-files:
|
|
- ^.*\.rst$
|
|
- ^doc/.*$
|
|
- ^etc/.*$
|
|
- ^releasenotes/.*$
|
|
- ^setup.cfg$
|
|
- ^deckhand/tests/unit/.*$
|
|
vars:
|
|
disable_keystone: true
|
|
|
|
- job:
|
|
name: deckhand-chart-build-gate
|
|
description: |
|
|
Build charts using pinned Helm toolkit.
|
|
timeout: 900
|
|
run: tools/gate/playbooks/build-charts.yaml
|
|
nodeset: deckhand-single-node
|
|
|
|
- job:
|
|
name: deckhand-chart-build-latest-htk
|
|
description: |
|
|
Build charts using latest Helm toolkit.
|
|
voting: false
|
|
timeout: 900
|
|
run: tools/gate/playbooks/build-charts.yaml
|
|
nodeset: deckhand-single-node
|
|
vars:
|
|
HTK_COMMIT: master
|
|
|
|
- job:
|
|
name: deckhand-integration-docker-base
|
|
description: |
|
|
Base job for running deckhand integration tests. Runs tests
|
|
against Docker image generated from source code.
|
|
timeout: 3600
|
|
roles:
|
|
- zuul: openstack/openstack-helm-infra
|
|
vars:
|
|
zuul_osh_relative_path: ../../openstack/openstack-helm/
|
|
zuul_osh_infra_relative_path: ../../openstack/openstack-helm-infra/
|
|
pre-run:
|
|
- tools/gate/playbooks/osh-infra-upgrade-host.yaml
|
|
- tools/gate/playbooks/osh-infra-deploy-docker.yaml
|
|
run: tools/gate/playbooks/run-integration-tests-docker.yaml
|
|
post-run: tools/gate/playbooks/osh-infra-collect-logs.yaml
|
|
required-projects:
|
|
- openstack/openstack-helm
|
|
- openstack/openstack-helm-infra
|
|
irrelevant-files:
|
|
- ^.*\.rst$
|
|
- ^doc/.*$
|
|
- ^releasenotes/.*$
|
|
|
|
- job:
|
|
name: deckhand-integration-docker-py35-ubuntu
|
|
description: |
|
|
Run tox-based integration tests for the Airship Deckhand project under
|
|
cPython version 3.5. Builds ubuntu (default) deckhand image.
|
|
parent: deckhand-integration-docker-base
|
|
nodeset: openstack-helm-single-node
|
|
vars:
|
|
disable_keystone: false
|
|
distro: ubuntu_xenial
|
|
|
|
- job:
|
|
name: deckhand-airskiff-deployment
|
|
nodeset: deckhand-single-node-airskiff
|
|
description: |
|
|
Deploy Memcached using Airskiff and submitted Deckhand 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:
|
|
- airship/treasuremap
|
|
vars:
|
|
CLONE_DECKHAND: false
|
|
irrelevant-files:
|
|
- ^.*\.rst$
|
|
- ^doc/.*$
|
|
- ^releasenotes/.*$
|
|
|
|
- job:
|
|
name: deckhand-integration-docker-py35-opensuse
|
|
description: |
|
|
Run tox-based integration tests for the Airship Deckhand project under
|
|
cPython version 3.5. Builds opensuse deckhand image.
|
|
parent: deckhand-integration-docker-base
|
|
nodeset: openstack-helm-single-node
|
|
vars:
|
|
disable_keystone: false
|
|
distro: opensuse_15
|
|
|
|
- job:
|
|
name: deckhand-docker-build-gate-ubuntu
|
|
timeout: 1800
|
|
run: tools/gate/playbooks/docker-image-build.yaml
|
|
nodeset: deckhand-single-node
|
|
irrelevant-files: &non-code-files-template
|
|
- ^.*\.rst$
|
|
- ^doc/.*$
|
|
- ^charts/.*$
|
|
- ^etc/.*$
|
|
- ^releasenotes/.*$
|
|
- ^setup.cfg$
|
|
vars:
|
|
publish: false
|
|
distro: ubuntu_xenial
|
|
tags:
|
|
dynamic:
|
|
patch_set: true
|
|
|
|
- job:
|
|
name: deckhand-docker-build-gate-opensuse
|
|
timeout: 1800
|
|
run: tools/gate/playbooks/docker-image-build.yaml
|
|
nodeset: deckhand-single-node
|
|
irrelevant-files: *non-code-files-template
|
|
vars:
|
|
publish: false
|
|
distro: opensuse_15
|
|
tags:
|
|
dynamic:
|
|
patch_set: true
|
|
|
|
- job:
|
|
name: deckhand-docker-publish-ubuntu
|
|
description: |
|
|
Runs on every merge, unless files in a dictionary below are changed.
|
|
Builds and publishes container ubuntu images on quay.io with a set of tags
|
|
listed in vars section. Waits in Zuul queue for a node (VM) assignment.
|
|
timeout: 1800
|
|
run: tools/gate/playbooks/docker-image-build.yaml
|
|
nodeset: deckhand-single-node
|
|
secrets:
|
|
- airship_deckhand_quay_creds
|
|
irrelevant-files: *non-code-files-template
|
|
vars:
|
|
publish: true
|
|
distro: ubuntu_xenial
|
|
tags:
|
|
dynamic:
|
|
branch: true
|
|
commit: true
|
|
static:
|
|
- latest
|
|
|
|
- job:
|
|
name: deckhand-docker-publish-opensuse
|
|
description: |
|
|
Runs on every merge, unless files in a dictionary below are changed.
|
|
Builds and publishes container opensuse images on quay.io with a set of tags
|
|
listed in vars section. Waits in Zuul queue for a node (VM) assignment.
|
|
timeout: 1800
|
|
run: tools/gate/playbooks/docker-image-build.yaml
|
|
nodeset: deckhand-single-node
|
|
secrets:
|
|
- airship_deckhand_quay_creds
|
|
irrelevant-files: *non-code-files-template
|
|
vars:
|
|
publish: true
|
|
distro: opensuse_15
|
|
tags:
|
|
dynamic:
|
|
branch: true
|
|
commit: true
|
|
static:
|
|
- latest
|
|
|
|
- job:
|
|
name: deckhand-docker-tag-ubuntu
|
|
description: |
|
|
Runs on every merge when files in a dictionalry below are changed, and
|
|
adds git commit id tag onto the ubuntu container image published on quay.io,
|
|
which has `latest` tag set. Does not wait in queue for a node (VM)
|
|
assignment, runs almost immediately.
|
|
timeout: 1800
|
|
run: tools/gate/playbooks/docker-image-tag.yaml
|
|
nodeset:
|
|
nodes: []
|
|
secrets:
|
|
- airship_deckhand_quay_creds
|
|
vars:
|
|
distro: ubuntu_xenial
|
|
|
|
- job:
|
|
name: deckhand-docker-tag-opensuse
|
|
description: |
|
|
Runs on every merge when files in a dictionalry below are changed, and
|
|
adds git commit id tag onto the opensuse container image published on quay.io,
|
|
which has `latest` tag set. Does not wait in queue for a node (VM)
|
|
assignment, runs almost immediately.
|
|
timeout: 1800
|
|
run: tools/gate/playbooks/docker-image-tag.yaml
|
|
nodeset:
|
|
nodes: []
|
|
secrets:
|
|
- airship_deckhand_quay_creds
|
|
vars:
|
|
distro: opensuse_15
|
|
# file pattern here must be exactly the same as in
|
|
# deckhand-docker-publish job above,
|
|
# job will be executed on merge only when any of this files get changed
|
|
files: *non-code-files-template
|
|
|
|
- secret:
|
|
name: airship_deckhand_quay_creds
|
|
data:
|
|
username: !encrypted/pkcs1-oaep
|
|
- eC+ZaBS1TN37yuvL2WoGkJQ8OFBSLiXxV0wAkH+2l9wLNjmT3QxwnjXTNSw883zEkE9C/
|
|
XPDUxgv7RMLO/Bfs7uXKH1QjCbIJREPJ7Vk6WY9BUvn6olT/JCafpRcsmAkIS4W8p0l7J
|
|
ZxelQnGm/Z2zcq4eWeKzKsFLGiAHyoFASXqlDf93NesR+lZ4xnZkO24+oPMpZq6o2Xr2D
|
|
eWrxEcEsn817o7bA5d9mHb3u2e4tgyxhRevz43VD+0p1bK1thjRnUVpmOvHNjGI+jphAT
|
|
Vf2+Zqys0+xJ4yJ62bhnayvLZeaKD96rLIXCsbm4xYWsyrzCYvJQ4nESY7McYoDEG6PgL
|
|
3Gr/6oyNUzobQNAxuwo0GpecaBVy5Z1/8Ihlb8r1nNM3J0a7oz1PyPS4O7WRlQmXgHJ/x
|
|
jJJmh66ruDxi1bcarmn4AR6lWmfyFqHwIlptsvX9AcJd4FWII9ZYdTUiidJ9ob4KmchIY
|
|
G0wdqGDaekNR01VgB+JD05IM4UMLjwRnFmLUKIvo0H9YU5X253rv/GXNks1Ov2OevIlch
|
|
RnnnpCESNso+xup0IztfWBkcGPGBpgmIh6T5s5bfg0n9CYEzsJMGiJuMKgeZcBvnif6Qb
|
|
y1mzFxQiyEUUPzngF6ger7sBdXSrkCv8cqWsxdeVf2xEXLCDl/x2rhfj7fa5C8=
|
|
password: !encrypted/pkcs1-oaep
|
|
- TL/cjk3UCv2QQTk/QX6ujvLpHQDgijFmBWG3r9Hg/migT1Iry/eQi/HftHhShWjF0lk6Y
|
|
kesdX49H8wXHkRutGxrmcb4HMde4clebtT0dIvVFU7/Ieoq5OnxVLdIPP3YBLZYLy5Ah5
|
|
jLtfV1FJsuRN5gVGJeOXQUhPitrEnNrcj50ke1+llvfRl7PIR1byAM/6gQLbV3oUtOgk6
|
|
jmpieqxq55yO+o76bXOp8YNNVr0eqI1nISfBoku2GL7nipAcfxDIeR3a5J4pdaJEEhJR7
|
|
qqgp1RMt/aADkBUDqw1xbF86V2Mh2l60mWtYUHm4EvOFotrzeOd6Th73K9y57cBuQRJwT
|
|
qP+T+3yuTtuwvzjgTG+h5deppsRb3EFtPYSI6TqWVKtH2zwRbTJCSbgdY03Tjrwn9vZJK
|
|
QA4O1fRLBhchBqaIcpOFj8AFNPYCtz6cvL0uzAHXfQoQ3r9icNlPg0N5W2VINxYvDIiOc
|
|
Lfpty/EyKOJJpOXoBiJlsGHFLi/8gdMAAtMDf72yrQH6KxdNxdRGs5oALkUQ1IcuLbXng
|
|
ySP8WG+DBiwjt4IAtwd/sF+jyVBzDaywxdbS6RJycI+lRThvibQ5UFpr349yOhUdETB6p
|
|
yzFswIVmx1tHM7NhD80zwdSEj4EjG0AL3GXuwfLHGbr5WIeCaVEuCMW+XUwQpw=
|
|
# Token is valid for 10 years, expires on 10/10/2028
|
|
token: !encrypted/pkcs1-oaep
|
|
- Can0JzCSPRnujg8fZBtSXvLuGVRNaaoVkvCm8EKlqohnUmaryU7ColJxWYjPBxEEePxhB
|
|
mzkM5pD9o8PVkkUj5wxxUXlFDO73AMiwStmh2r/p+sd7bkgw5a2jzhYpBmVtn/qmEemsm
|
|
iIxQi0kz81qrU0H6w3r58lgskIIbD4yOYgu4DeoWmBU+yZ1V1E5RoumVQBdxB1fyenaKG
|
|
zR4Y6ebek31+VAlqSN0HUIYMgbc6Mt7ErEn2wjj9MxNvvP52pWDyxr5U2kKpOYdJpZt9h
|
|
EZgM2cF2zfuG+4KnpdONap54uVRnRcJCf6poI/l4UVYO5Z+EvlF3Xawp3jiPCMCGGy3dd
|
|
lEeEkvNzJppwAj5bEWT1NoFi7PigkK91znppVHu17jBEKkcl2S6LK87RTjfqnBsAmE30d
|
|
ibxqS7pCoSCGuUCP4XrW8QfI70Ml4Gb636bZUqZFi1WxzhfNKSO8LBPHekVQnwrmhhv2Z
|
|
CN9JZdtqR49JpHajubfYrtWxPHuiwnTwgsnpkpM0+5Z1nss/nQhW70uCBXvJkYUtenV87
|
|
c4Exr6ncOjgtqtjheW16hAGLtm2o36ZvBoLD7yqwYAjwb0bfuzDrw8oWa2yAgOcWnHPO6
|
|
w0lNv46YTHiJK9hezHqI0hgn5wifVI8avRZmHwaArVvX4LUXD2N/Tk7mxi7r2U=
|
|
|
|
- job:
|
|
name: deckhand-upload-git-mirror
|
|
parent: upload-git-mirror
|
|
description: Mirrors airship/deckhand to airshipit/deckhand
|
|
vars:
|
|
git_mirror_repository: airshipit/deckhand
|
|
secrets:
|
|
- name: git_mirror_credentials
|
|
secret: deckhand-airshipit-github-secret
|
|
pass-to-parent: true
|
|
|
|
- secret:
|
|
name: deckhand-airshipit-github-secret
|
|
data:
|
|
user: git
|
|
host: github.com
|
|
host_key: github.com ssh-rsa AAAAB3NzaC1yc2EAAAABIwAAAQEAq2A7hRGmdnm9tUDbO9IDSwBK6TbQa+PXYPCPy6rbTrTtw7PHkccKrpp0yVhp5HdEIcKr6pLlVDBfOLX9QUsyCOV0wzfjIJNlGEYsdlLJizHhbn2mUjvSAHQqZETYP81eFzLQNnPHt4EVVUh7VfDESU84KezmD5QlWpXLmvU31/yMf+Se8xhHTvKSCZIFImWwoG6mbUoWf9nzpIoaSjB+weqqUUmpaaasXVal72J+UX2B+2RPW3RcT0eOzQgqlJL3RKrTJvdsjE3JEAvGq3lGHSZXy28G3skua2SmVi/w4yCE6gbODqnTWlg7+wC604ydGXA8VJiS5ap43JXiUFFAaQ==
|
|
ssh_key: !encrypted/pkcs1-oaep
|
|
- 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
- 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
- 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
- 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
|