# Copyright (c) 2024 VEXXHOST, Inc.
#
# 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.

- job:
    name: atmosphere-molecule
    parent: tox
    abstract: true
    pre-run: zuul.d/playbooks/molecule/pre.yml
    run: zuul.d/playbooks/molecule/run.yml
    post-run: zuul.d/playbooks/molecule/post.yml

- job:
    name: atmosphere-molecule-csi
    parent: atmosphere-molecule
    abstract: true

- job:
    name: atmosphere-molecule-csi-local-path-provisioner
    parent: atmosphere-molecule-csi
    vars:
      tox_envlist: molecule-csi-local-path-provisioner

- job:
    name: atmosphere-molecule-csi-rbd
    parent: atmosphere-molecule-csi
    vars:
      tox_envlist: molecule-csi-rbd

- job:
    name: atmosphere-molecule-aio
    parent: atmosphere-molecule
    abstract: true
    pre-run: zuul.d/playbooks/molecule-aio/pre.yml
    post-run: zuul.d/playbooks/molecule-aio/post.yml
    roles:
      - zuul: openstack/openstack-helm-infra

- job:
    name: atmosphere-molecule-aio-keycloak
    parent: atmosphere-molecule-aio
    vars:
      tox_envlist: molecule-keycloak

- job:
    name: atmosphere-molecule-aio-full
    parent: atmosphere-molecule-aio
    abstract: true
    timeout: 7200
    nodeset:
      nodes:
        - name: ubuntu-jammy
          label: jammy-16c-64g

- job:
    name: atmosphere-molecule-aio-openvswitch
    parent: atmosphere-molecule-aio-full
    vars:
      tox_envlist: molecule-aio-openvswitch

- job:
    name: atmosphere-molecule-aio-ovn
    parent: atmosphere-molecule-aio-full
    # NOTE(mnaser): https://github.com/vexxhost/atmosphere/issues/662
    voting: false
    vars:
      tox_envlist: molecule-aio-ovn
