# 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 - openstack-python-jobs - openstack-python35-jobs - docs-on-readthedocs - openstack-python36-jobs vars: rtd_webhook_id: '38572' check: jobs: - deckhand-tox-py27-postgresql - deckhand-tox-py35-postgresql - deckhand-functional-uwsgi-py35: voting: false - deckhand-functional-docker-py35 - deckhand-integration-uwsgi-py35: voting: false - deckhand-integration-docker-py35: voting: false - deckhand-chart-build-gate - deckhand-chart-build-latest-htk - deckhand-docker-build-gate - deckhand-airskiff-deployment gate: jobs: - deckhand-tox-py27-postgresql - deckhand-tox-py35-postgresql - deckhand-functional-docker-py35 - deckhand-chart-build-gate - deckhand-docker-build-gate post: jobs: - deckhand-docker-publish - deckhand-docker-tag - deckhand-upload-git-mirror - nodeset: name: deckhand-single-node nodes: - name: primary label: ubuntu-xenial - job: name: deckhand-tox-py27-postgresql parent: openstack-tox-py27 pre-run: - tools/gate/playbooks/install-postgresql.yaml vars: tox_envlist: py27-postgresql - 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 description: | Run tox-based functional tests for the Airship Deckhand project under cPython version 3.5. Uses tox with the ``functional-py35`` environment. parent: deckhand-functional-docker-base nodeset: deckhand-single-node vars: tox_envlist: functional disable_keystone: true 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 description: | Run tox-based integration tests for the Airship Deckhand project under cPython version 3.5. parent: deckhand-integration-docker-base nodeset: openstack-helm-single-node vars: disable_keystone: false - job: name: deckhand-airskiff-deployment nodeset: deckhand-single-node 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/armada - airship/pegleg - airship/shipyard - airship/treasuremap - openstack/openstack-helm-infra vars: OSH_INFRA_PATH: "../../openstack/openstack-helm-infra" irrelevant-files: - ^.*\.rst$ - ^doc/.*$ - ^releasenotes/.*$ - job: name: deckhand-docker-build-gate 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 tags: dynamic: patch_set: true - job: name: deckhand-docker-publish description: | Runs on every merge, unless files in a dictionary below are changed. Builds and publishes container 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: - deckhand_quay_creds irrelevant-files: *non-code-files-template vars: publish: true tags: dynamic: branch: true commit: true static: - latest - job: name: deckhand-docker-tag description: | Runs on every merge when files in a dictionalry below are changed, and adds git commit id tag onto the 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: - deckhand_quay_creds # 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: 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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