---
# Copyright 2017, AT&T
# 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.

# OpenStack Helm jobs
# These will move with their playbooks inside the
# openstack-helm-infra repository
- job:
    name: openstack-helm-functional-temp
    irrelevant-files:
      - ^.*\.rst$
      - ^doc/.*$
      - ^releasenotes/.*$

- job:
    name: openstack-helm-bandit
    timeout: 3600
    run: tools/gate/playbooks/osh-bandit.yaml
    required-projects:
      - openstack/openstack-helm-infra
    files:
      - ^.*\.py\.tpl$
      - ^.*\.py$
    nodeset: openstack-helm-single-node

- job:
    name: openstack-helm-chart-deploy
    parent: openstack-helm-functional-temp
    roles:
      - zuul: openstack/openstack-helm-infra
    timeout: 7200
    vars:
      zuul_osh_infra_relative_path: ../openstack-helm-infra/
      osh_openstack_release: ocata
    pre-run:
      - tools/gate/playbooks/osh-infra-upgrade-host.yaml
    post-run: tools/gate/playbooks/osh-infra-collect-logs.yaml
    required-projects:
      - openstack/openstack-helm-infra
    nodeset: openstack-helm-single-node

- job:
    name: openstack-helm-keystone
    parent: openstack-helm-chart-deploy
    run: tools/gate/playbooks/osh-gate-runner.yaml
    vars:
      gate_scripts:
        - ./tools/deployment/common/install-packages.sh
        - ./tools/deployment/common/deploy-k8s.sh
        - ./tools/deployment/common/setup-client.sh
        - ./tools/deployment/component/common/ingress.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

- job:
    name: openstack-helm-keystone-ldap
    parent: openstack-helm-chart-deploy
    run: tools/gate/playbooks/osh-gate-runner.yaml
    vars:
      gate_scripts:
        - ./tools/deployment/common/install-packages.sh
        - ./tools/deployment/common/deploy-k8s.sh
        - ./tools/deployment/common/setup-client.sh
        - ./tools/deployment/component/common/ingress.sh
        - ./tools/deployment/component/common/mariadb.sh
        - ./tools/deployment/component/common/memcached.sh
        - ./tools/deployment/component/common/rabbitmq.sh
        - ./tools/deployment/component/keystone/keystone-ldap.sh

- job:
    name: openstack-helm-glance
    parent: openstack-helm-chart-deploy
    run: tools/gate/playbooks/osh-gate-runner.yaml
    vars:
      gate_scripts:
        - ./tools/deployment/common/install-packages.sh
        - ./tools/deployment/common/deploy-k8s.sh
        - ./tools/deployment/common/setup-client.sh
        - ./tools/deployment/component/common/ingress.sh
        - ./tools/deployment/component/common/mariadb.sh
        - ./tools/deployment/component/common/memcached.sh
        - ./tools/deployment/component/common/rabbitmq.sh
        - ./tools/deployment/component/nfs-provisioner/nfs-provisioner.sh
        - ./tools/deployment/component/keystone/keystone.sh
        - ./tools/deployment/component/glance/glance.sh

- job:
    name: openstack-helm-heat
    parent: openstack-helm-chart-deploy
    run: tools/gate/playbooks/osh-gate-runner.yaml
    vars:
      gate_scripts:
        - ./tools/deployment/common/install-packages.sh
        - ./tools/deployment/common/deploy-k8s.sh
        - ./tools/deployment/common/setup-client.sh
        - ./tools/deployment/component/common/ingress.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/heat/heat.sh

- job:
    name: openstack-helm-cinder
    parent: openstack-helm-chart-deploy
    run: tools/gate/playbooks/osh-gate-runner.yaml
    vars:
      gate_scripts:
        - ./tools/deployment/common/install-packages.sh
        - ./tools/deployment/common/deploy-k8s.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/ingress.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

- job:
    name: openstack-helm-compute-kit
    parent: openstack-helm-chart-deploy
    run: tools/gate/playbooks/osh-gate-runner.yaml
    vars:
      gate_scripts:
        - ./tools/deployment/common/install-packages.sh
        - ./tools/deployment/common/deploy-k8s.sh
        - ./tools/deployment/common/setup-client.sh
        - ./tools/deployment/component/common/ingress.sh
        - ./tools/deployment/component/common/mariadb.sh
        - ./tools/deployment/component/common/memcached.sh
        - ./tools/deployment/component/common/rabbitmq.sh
        - ./tools/deployment/component/nfs-provisioner/nfs-provisioner.sh
        - ./tools/deployment/component/keystone/keystone.sh
        - ./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
- job:
    name: openstack-helm-apparmor
    parent: openstack-helm-chart-deploy
    run: tools/gate/playbooks/osh-gate-runner.yaml
    vars:
      gate_scripts:
        - ./tools/deployment/common/install-packages.sh
        - ./tools/deployment/common/deploy-k8s.sh
        - ./tools/deployment/common/setup-client.sh
        - ./tools/deployment/component/common/ingress.sh
        - ./tools/deployment/component/common/mariadb.sh
        - ./tools/deployment/component/common/memcached.sh
        - ./tools/deployment/component/common/rabbitmq.sh
        - ./tools/deployment/component/nfs-provisioner/nfs-provisioner.sh
        - ./tools/deployment/component/keystone/keystone.sh
        - ./tools/deployment/component/glance/glance.sh
        - ./tools/deployment/component/compute-kit/openvswitch.sh
        - ./tools/deployment/component/compute-kit/libvirt.sh
        - ./tools/deployment/apparmor/compute-kit.sh

- job:
    name: openstack-helm-multinode-temp
    parent: openstack-helm-functional-temp
    roles:
      - zuul: openstack/openstack-helm-infra
    vars:
      osh_openstack_release: newton
      zuul_osh_infra_relative_path: ../openstack-helm-infra/
    timeout: 7200
    pre-run:
      - tools/gate/playbooks/osh-infra-upgrade-host.yaml
      - tools/gate/playbooks/osh-infra-deploy-docker.yaml
      - tools/gate/playbooks/osh-infra-build.yaml
      - tools/gate/playbooks/osh-infra-deploy-k8s.yaml
    run: tools/gate/playbooks/multinode-deploy.yaml
    post-run: tools/gate/playbooks/osh-infra-collect-logs.yaml
    required-projects:
      - openstack/openstack-helm-infra

- job:
    timeout: 9600
    name: openstack-helm-armada-deploy
    parent: openstack-helm-functional-temp
    nodeset: openstack-helm-five-node-ubuntu
    roles:
      - zuul: openstack/openstack-helm-infra
    pre-run:
      - tools/gate/playbooks/osh-infra-upgrade-host.yaml
      - tools/gate/playbooks/osh-infra-deploy-docker.yaml
      - tools/gate/playbooks/osh-infra-build.yaml
      - tools/gate/playbooks/osh-infra-deploy-k8s.yaml
    run: tools/gate/playbooks/osh-gate-runner.yaml
    post-run:
      - tools/gate/playbooks/osh-infra-collect-logs.yaml
      - tools/gate/playbooks/gather-armada-manifests.yaml
    required-projects:
      - openstack/openstack-helm-infra
    vars:
      zuul_osh_infra_relative_path: ../openstack-helm-infra/
      gate_scripts:
        - ./tools/deployment/armada/010-armada-host-setup.sh
        - ./tools/deployment/armada/015-armada-build.sh
        - ./tools/deployment/armada/020-armada-render-manifests.sh
        - ./tools/deployment/armada/025-armada-validate-manifests.sh
        - ./tools/deployment/armada/030-armada-apply-manifests.sh

- job:
    timeout: 9600
    name: openstack-helm-armada-update-uuid
    parent: openstack-helm-functional-temp
    nodeset: openstack-helm-five-node-ubuntu
    roles:
      - zuul: openstack/openstack-helm-infra
    pre-run:
      - tools/gate/playbooks/osh-infra-upgrade-host.yaml
      - tools/gate/playbooks/osh-infra-deploy-docker.yaml
      - tools/gate/playbooks/osh-infra-build.yaml
      - tools/gate/playbooks/osh-infra-deploy-k8s.yaml
    run: tools/gate/playbooks/osh-gate-runner.yaml
    post-run:
      - tools/gate/playbooks/osh-infra-collect-logs.yaml
      - tools/gate/playbooks/gather-armada-manifests.yaml
    required-projects:
      - openstack/openstack-helm-infra
    vars:
      zuul_osh_infra_relative_path: ../openstack-helm-infra/
      gate_scripts:
        - ./tools/deployment/armada/010-armada-host-setup.sh
        - ./tools/deployment/armada/015-armada-build.sh
        - ./tools/deployment/armada/020-armada-render-manifests.sh
        - ./tools/deployment/armada/025-armada-validate-manifests.sh
        - ./tools/deployment/armada/030-armada-apply-manifests.sh
        - ./tools/deployment/armada/035-armada-update-uuid.sh

- job:
    timeout: 10800
    name: openstack-helm-armada-update-passwords
    parent: openstack-helm-functional-temp
    nodeset: openstack-helm-five-node-ubuntu
    roles:
      - zuul: openstack/openstack-helm-infra
    pre-run:
      - tools/gate/playbooks/osh-infra-upgrade-host.yaml
      - tools/gate/playbooks/osh-infra-deploy-docker.yaml
      - tools/gate/playbooks/osh-infra-build.yaml
      - tools/gate/playbooks/osh-infra-deploy-k8s.yaml
    run: tools/gate/playbooks/osh-gate-runner.yaml
    post-run:
      - tools/gate/playbooks/osh-infra-collect-logs.yaml
      - tools/gate/playbooks/gather-armada-manifests.yaml
    required-projects:
      - openstack/openstack-helm-infra
    vars:
      zuul_osh_infra_relative_path: ../openstack-helm-infra/
      gate_scripts:
        - ./tools/deployment/armada/010-armada-host-setup.sh
        - ./tools/deployment/armada/015-armada-build.sh
        - ./tools/deployment/armada/020-armada-render-manifests.sh
        - ./tools/deployment/armada/025-armada-validate-manifests.sh
        - ./tools/deployment/armada/030-armada-apply-manifests.sh
        - ./tools/deployment/armada/040-armada-update-passwords.sh

- job:
    name: openstack-helm-multinode-temp-ubuntu
    parent: openstack-helm-multinode-temp
    nodeset: openstack-helm-five-node-ubuntu

- job:
    name: openstack-helm-multinode-temp-centos
    parent: openstack-helm-multinode-temp
    nodeset: openstack-helm-five-node-centos

- job:
    name: openstack-helm-multinode-temp-fedora
    parent: openstack-helm-multinode-temp
    nodeset: openstack-helm-five-node-fedora

- job:
    name: openstack-helm-ironic-ubuntu
    parent: openstack-helm-multinode-temp
    nodeset: openstack-helm-ubuntu
    run: tools/gate/playbooks/ironic-deploy.yaml

- job:
    timeout: 10800
    name: openstack-helm-multinode-temp-tempest
    parent: openstack-helm-multinode-temp
    nodeset: openstack-helm-five-node-ubuntu
    run: tools/gate/playbooks/multinode-tempest-deploy.yaml