---
# Copyright 2019 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
#
#    https://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:
    check:
      jobs:
        - airship-porthole-linter
        - openstack-tox-pep8
        - openstack-tox-docs
        - airship-porthole-images-jammy-build-calicoctl-utility
        - airship-porthole-images-jammy-build-ceph-utility
        - airship-porthole-images-jammy-build-compute-utility
        - airship-porthole-images-jammy-build-etcdctl-utility
        - airship-porthole-images-jammy-build-mysqlclient-utility
        - airship-porthole-images-jammy-build-openstack-utility
        - airship-porthole-images-jammy-build-postgresql-utility
        # - airship-porthole-deploy-functional-tests-ubuntu_jammy
        - airship-porthole-openstack-tox-py310-kubeadm
        - airship-porthole-openstack-tox-cover-kubeadm
        - airship-porthole-deploy-functional-tests-ubuntu_jammy-kubeadm
        - airship-porthole-deploy-functional-tests-ubuntu_jammy-kubeadm


    gate:
      jobs:
        - airship-porthole-linter
        - openstack-tox-pep8
        - openstack-tox-docs
        - airship-porthole-openstack-tox-py310-kubeadm
        - airship-porthole-openstack-tox-cover-kubeadm
        - airship-porthole-images-jammy-build-calicoctl-utility
        - airship-porthole-images-jammy-build-ceph-utility
        - airship-porthole-images-jammy-build-compute-utility
        - airship-porthole-images-jammy-build-etcdctl-utility
        - airship-porthole-images-jammy-build-mysqlclient-utility
        - airship-porthole-images-jammy-build-openstack-utility
        - airship-porthole-images-jammy-build-postgresql-utility



    post:
      jobs:
        - airship-porthole-images-jammy-publish-calicoctl-utility
        - airship-porthole-images-jammy-publish-ceph-utility
        - airship-porthole-images-jammy-publish-compute-utility
        - airship-porthole-images-jammy-publish-etcdctl-utility
        - airship-porthole-images-jammy-publish-mysqlclient-utility
        - airship-porthole-images-jammy-publish-openstack-utility
        - airship-porthole-images-jammy-publish-postgresql-utility


- nodeset:
    name: airship-porthole-single-node
    nodes:
      - name: primary
        label: ubuntu-bionic

- nodeset:
    name: airship-porthole-jammy-single-node
    nodes:
      - name: primary
        label: ubuntu-jammy


- job:
    name: airship-porthole-openstack-tox-py310-kubeadm
    parent: openstack-tox-py310
    nodeset: treasuremap-airskiff-1node-ubuntu_jammy
    roles:
      - zuul: airship/kubernetes-entrypoint
      - zuul: openstack/openstack-helm
      - zuul: zuul/zuul-jobs
    required-projects:
      - name: openstack/openstack-helm
      - name: openstack/openstack-helm-plugin
      - name: airship/treasuremap
        override-checkout: v1.9
    irrelevant-files:
      - ^.*\.rst$
      - ^doc/.*$
      - ^releasenotes/.*$
      - ^site/seaworthy/.*$
      - ^site/airsloop/.*$
      - ^site/aiab/.*$
    timeout: 10800
    pre-run:
      - tools/gate/playbooks/prepare-hosts.yaml
      - tools/gate/playbooks/mount-volumes.yaml
      - tools/gate/playbooks/deploy-env.yaml
      - tools/gate/playbooks/airship-run-scripts.yaml
    post-run:
      - tools/gate/playbooks/osh-infra-collect-logs.yaml
    vars:
      treasuremap_ref: v1.9
      extra_volume:
        size: 80G
        type: Linux
        mount_point: /opt/ext_vol
      docker:
        root_path: "/opt/ext_vol/docker"
      containerd:
        root_path: "/opt/ext_vol/containerd"
      kubeadm:
        pod_network_cidr: "10.244.0.0/16"
        service_cidr: "10.96.0.0/16"
      osh_plugin_repo: "{{ zuul.project.src_dir }}/../../openstack/openstack-helm-plugin"
      loopback_setup: true
      loopback_device: /dev/loop100
      loopback_image: "/opt/ext_vol/openstack-helm/ceph-loop.img"
      ceph_osd_data_device: /dev/loop100
      kube_version_repo: "v1.32"
      kube_version: "1.32.1-1.1"
      calico_setup: true
      calico_version: "v3.27.4"
      cilium_setup: false
      cilium_version: "1.16.0"
      flannel_setup: false
      flannel_version: v0.25.4
      metallb_setup: false
      metallb_version: "0.13.12"
      helm_version: "v3.14.0"
      crictl_version: "v1.30.1"
      zuul_osh_relative_path: ../../openstack/openstack-helm
      zuul_osh_infra_relative_path: ../../openstack/openstack-helm
      zuul_treasuremap_relative_path: ../../airship/treasuremap
      gate_scripts_relative_path: .
      run_helm_tests: "no"
      distro_suffix: ubuntu_jammy
      osh_params:
        container_distro_name: ubuntu
        container_distro_version: jammy
      HELM_ARTIFACT_URL: https://get.helm.sh/helm-v3.16.4-linux-amd64.tar.gz
      HTK_COMMIT: master
      OSH_INFRA_COMMIT: master
      OSH_COMMIT: master
      gate_scripts:
        - ./tools/deployment/002-build-charts.sh
        - ./tools/deployment/003-prepare-k8s.sh
        - ./tools/deployment/004-make-images.sh
        - ./tools/deployment/005-calicoctl-utility.sh
        - ./tools/deployment/010-ceph-utility.sh
        - ./tools/deployment/020-compute-utility.sh
        - ./tools/deployment/030-etcdctl-utility.sh
        - ./tools/deployment/040-mysqlclient-utility.sh
        - ./tools/deployment/050-openstack-utility.sh
        - ./tools/deployment/060-postgresql-utility.sh


- job:
    name: airship-porthole-openstack-tox-cover-kubeadm
    parent: openstack-tox-cover
    nodeset: treasuremap-airskiff-1node-ubuntu_jammy
    roles:
      - zuul: airship/kubernetes-entrypoint
      - zuul: openstack/openstack-helm
      - zuul: zuul/zuul-jobs
    required-projects:
      - name: openstack/openstack-helm
      - name: openstack/openstack-helm-plugin
      - name: airship/treasuremap
        override-checkout: v1.9
    irrelevant-files:
      - ^.*\.rst$
      - ^doc/.*$
      - ^releasenotes/.*$
      - ^site/seaworthy/.*$
      - ^site/airsloop/.*$
      - ^site/aiab/.*$
    timeout: 10800
    pre-run:
      - tools/gate/playbooks/prepare-hosts.yaml
      - tools/gate/playbooks/mount-volumes.yaml
      - tools/gate/playbooks/deploy-env.yaml
      - tools/gate/playbooks/airship-run-scripts.yaml
    post-run:
      - tools/gate/playbooks/osh-infra-collect-logs.yaml
    vars:
      treasuremap_ref: v1.9
      extra_volume:
        size: 80G
        type: Linux
        mount_point: /opt/ext_vol
      docker:
        root_path: "/opt/ext_vol/docker"
      containerd:
        root_path: "/opt/ext_vol/containerd"
      kubeadm:
        pod_network_cidr: "10.244.0.0/16"
        service_cidr: "10.96.0.0/16"
      osh_plugin_repo: "{{ zuul.project.src_dir }}/../../openstack/openstack-helm-plugin"
      loopback_setup: true
      loopback_device: /dev/loop100
      loopback_image: "/opt/ext_vol/openstack-helm/ceph-loop.img"
      ceph_osd_data_device: /dev/loop100
      kube_version_repo: "v1.32"
      kube_version: "1.32.1-1.1"
      calico_setup: true
      calico_version: "v3.27.4"
      cilium_setup: false
      cilium_version: "1.16.0"
      flannel_setup: false
      flannel_version: v0.25.4
      metallb_setup: false
      metallb_version: "0.13.12"
      helm_version: "v3.14.0"
      crictl_version: "v1.30.1"
      zuul_osh_relative_path: ../../openstack/openstack-helm
      zuul_osh_infra_relative_path: ../../openstack/openstack-helm
      zuul_treasuremap_relative_path: ../../airship/treasuremap
      gate_scripts_relative_path: .
      run_helm_tests: "no"
      distro_suffix: ubuntu_jammy
      osh_params:
        container_distro_name: ubuntu
        container_distro_version: jammy
      HELM_ARTIFACT_URL: https://get.helm.sh/helm-v3.16.4-linux-amd64.tar.gz
      HTK_COMMIT: master
      OSH_INFRA_COMMIT: master
      OSH_COMMIT: master
      gate_scripts:
        - ./tools/deployment/002-build-charts.sh
        - ./tools/deployment/003-prepare-k8s.sh
        - ./tools/deployment/004-make-images.sh
        - ./tools/deployment/005-calicoctl-utility.sh
        - ./tools/deployment/010-ceph-utility.sh
        - ./tools/deployment/020-compute-utility.sh
        - ./tools/deployment/030-etcdctl-utility.sh
        - ./tools/deployment/040-mysqlclient-utility.sh
        - ./tools/deployment/050-openstack-utility.sh
        - ./tools/deployment/060-postgresql-utility.sh



- job:
    name: airship-porthole-images
    abstract: true
    timeout: 7200
    post-timeout: 7200
    run: tools/gate/playbooks/docker-image-build.yaml
    nodeset: treasuremap-airskiff-1node-ubuntu_jammy
    vars:
      publish: false
      tags:
        dynamic:
          branch: true
          commit: false
        static:
          - latest
      args:
        chdir: ../porthole

- job:
    name: airship-porthole-linter
    description: |
      Lints files for trailing whitespace
    run: tools/gate/playbooks/zuul-linter.yaml
    timeout: 300
    nodeset: treasuremap-airskiff-1node-ubuntu_jammy
    vars:
      args:
        chdir: ../porthole

- job:
    name: airship-porthole-deploy-functional-tests-kubeadm
    abstract: true
    description: Deploys all UC's and Executes functional tests
    nodeset: treasuremap-airskiff-1node-ubuntu_jammy
    roles:
      - zuul: airship/kubernetes-entrypoint
      - zuul: openstack/openstack-helm
      - zuul: zuul/zuul-jobs
    required-projects:
      - name: openstack/openstack-helm
      - name: openstack/openstack-helm-plugin
      - name: airship/treasuremap
        override-checkout: v1.9
    irrelevant-files:
      - ^.*\.rst$
      - ^doc/.*$
      - ^releasenotes/.*$
      - ^site/seaworthy/.*$
      - ^site/airsloop/.*$
      - ^site/aiab/.*$
    timeout: 10800
    pre-run:
      - tools/gate/playbooks/prepare-hosts.yaml
      - tools/gate/playbooks/mount-volumes.yaml
    run:
      - tools/gate/playbooks/deploy-env.yaml
      - tools/gate/playbooks/airship-run-scripts.yaml
      - tools/gate/playbooks/make-functional-tests.yaml
    post-run:
      - tools/gate/playbooks/osh-infra-collect-logs.yaml
    vars:
      treasuremap_ref: v1.9
      extra_volume:
        size: 80G
        type: Linux
        mount_point: /opt/ext_vol
      docker:
        root_path: "/opt/ext_vol/docker"
      containerd:
        root_path: "/opt/ext_vol/containerd"
      kubeadm:
        pod_network_cidr: "10.244.0.0/16"
        service_cidr: "10.96.0.0/16"
      osh_plugin_repo: "{{ zuul.project.src_dir }}/../../openstack/openstack-helm-plugin"
      loopback_setup: true
      loopback_device: /dev/loop100
      loopback_image: "/opt/ext_vol/openstack-helm/ceph-loop.img"
      ceph_osd_data_device: /dev/loop100
      kube_version_repo: "v1.32"
      kube_version: "1.32.1-1.1"
      calico_setup: true
      calico_version: "v3.27.4"
      cilium_setup: false
      cilium_version: "1.16.0"
      flannel_setup: false
      flannel_version: v0.25.4
      metallb_setup: false
      metallb_version: "0.13.12"
      helm_version: "v3.14.0"
      crictl_version: "v1.30.1"
      zuul_osh_relative_path: ../../openstack/openstack-helm
      zuul_osh_infra_relative_path: ../../openstack/openstack-helm
      zuul_treasuremap_relative_path: ../../airship/treasuremap
      gate_scripts_relative_path: .
      run_helm_tests: "no"
      distro_suffix: ubuntu_jammy
      osh_params:
        container_distro_name: ubuntu
        container_distro_version: jammy
      HELM_ARTIFACT_URL: https://get.helm.sh/helm-v3.16.4-linux-amd64.tar.gz
      HTK_COMMIT: master
      OSH_INFRA_COMMIT: master
      OSH_COMMIT: master
      gate_scripts:
        - ./tools/deployment/002-build-charts.sh
        - ./tools/deployment/003-prepare-k8s.sh
        - ./tools/deployment/004-make-images.sh
        - ./tools/deployment/005-calicoctl-utility.sh
        - ./tools/deployment/010-ceph-utility.sh
        - ./tools/deployment/020-compute-utility.sh
        - ./tools/deployment/030-etcdctl-utility.sh
        - ./tools/deployment/040-mysqlclient-utility.sh
        - ./tools/deployment/050-openstack-utility.sh
        - ./tools/deployment/060-postgresql-utility.sh

- job:
    name: airship-porthole-deploy-functional-tests-ubuntu_jammy-kubeadm
    parent: airship-porthole-deploy-functional-tests-kubeadm
    vars:
      distro_suffix: ubuntu_jammy
      osh_params:
        openstack_release: antelope
        container_distro_name: ubuntu
        container_distro_version: jammy
      args:
        chdir: ../porthole

- job:
    name: airship-porthole-deploy-functional-tests-ubuntu_jammy-kubeadm
    parent: airship-porthole-deploy-functional-tests-kubeadm
    vars:
      distro_suffix: ubuntu_jammy
      osh_params:
        openstack_release: "2023.2"
        container_distro_name: ubuntu
        container_distro_version: jammy
      args:
        chdir: ../porthole


- secret:
    name: quay_credentials
    data:
      username: !encrypted/pkcs1-oaep
        - SQ0e+mvFN7eU+snMDhXC417r3yy+OoZ+QQcAPAoI2xuUDbZOrCSXIlRATrNZX+NrRx/sT
          GoxeeScqpX3hnBTHAvWn6iDzVoSIOgW8aG4+/kCjU1dtKzPgyuo4t+rFEe1iplLFyG1P1
          xshMrc8dRpAJTjyUwWzY1zatb46LEBK1DD15kkAaS+6KKfD2dH/AX3XYzp3671cdsXtC7
          R7Lm8lKh2MYYmF+ybuCd/JbeuH2aLQc1pLnigPBWJgslzxQ2F2hLXssj8cd+rGSxQ8jVG
          SCqFkyggBdv/TGQdhihnse8Taj8tqgmqbh5KPZIKeCM5ekXbsCMuI1KNH0Fr7UeffOYNU
          5CJsWnuZoX5xQxcRHWAprBaGr8jr6EeklW896GC7wMcFq+C4166H1Y44NMrLtzAlXEs8p
          uO6Vl2AGqt4/ORkJ7aIUdjI21u0r7ULEFcj+Q7hMoC0q81f1RVqbvTWtAi6CfjiUdpEwm
          vwpyfwUP4JugjC3UALe4tMyMO5pQiAIPzYs34/skqxvEQN+5+8BrBnr2tNAIbxMmgpZOU
          Ov89WfURzb7pxBbVgC6HuyX2mQi3OHdYS33TM9e+pXgLN8XK7dzASaCFXa0zjA1xj4pHh
          oBO66rVON6DsjEmliMUHLnkgXJnqqm9pLEa+avCuK0Kt7i5st1DBnxK/Goy2ec=
      password: !encrypted/pkcs1-oaep
        - CuInAjNp1dAXxxNzfs9O9I7+T6OJLx4gaPeafLxfjJs4uCRC8L6N1Kcyc1QPYlr6hfvFz
          D8Er9OKTzbmQixDxGzCSJh/RRcpjwh8GJMn7cvGYMTsrWcYzvK2RC5778huxVnwT0gWiB
          TaqUqOBsHQMlXumEAKO7qqaKxJ4LadXMp/eqcyVfCw1roEOO69QqhBajwhk/5RS3qm6QZ
          KGr0T3AfDAtF276e4GI9L5paVNjME7Au22+S1pVaIxX91/qx3HFAz+HSErvhxGHVKhHr4
          4G/YygeSJMWyKpk28kjoncxgzHNwREXZXbRabMwXoGuweOB4ZZ7JXy9yEkagojx0buBtn
          Phv48p/8C/7ZN3v8xOiHRAnLk6jsWA4cu5Zhplark22Uq+d7MtlEgRpWvqDBWNF+9GCOQ
          Vlpomy02Nj4PkZZDKY7Eo3uf/+3aa8/hhvJursqv6VvqwYl75euT8Immo1EUw/Hw4PBpJ
          JXcwlGoK6kvXmYaG2c7yEiH2xNtTzVTai10fsalubQWR4FTmJA5LU9+HatHBa46XLy4gS
          vMHs2uJudmxhqLIhs5Er248FVjfxw7le5dPun3ir4J7Mjgypu5y8eLCMZAFIwpeqlJrVU
          uih8ByaTlSEh6FBzle7Hb330RjSztC4pX6xiNAmtkpxhF2rEEFS66B/ixwCphQ=
...