---
- job:
    name: validations-common-functional
    parent: devstack
    run: playbooks/validations-common-functional.yaml
    post-run: playbooks/post.yaml
    timeout: 7200
    required-projects:
      - openstack/validations-libs
      - openstack/validations-common
    vars:
      devstack_localrc:
        USE_PYTHON3: true
      run_validation: true
    irrelevant-files:
      - ^.*\.rst$
      - ^doc/.*$
      - ^releasenotes/.*$

- job:
    name: validations-common-reqcheck
    nodeset: centos-8
    parent: base
    run: playbooks/reqcheck.yaml
    timeout: 1600
    voting: false
    required-projects:
      - openstack/validations-common
    files:
      - ^requirements.txt$

- job:
    description: Base validations-common job
    name: validations-common-centos-8-base
    nodeset: centos-8
    parent: base
    success-url: "reports.html"
    failure-url: "reports.html"
    pre-run:
      - tests/prepare-test-host.yml
      - playbooks/molecule/pre.yml
    run:
      - playbooks/molecule/run.yml
    timeout: 1800
    voting: true

- job:
    name: tripleo-ci-centos-8-standalone-validation-common
    parent: tripleo-ci-centos-8-standalone
    vars:
      featureset: '052'
      validate_services: true
      enable_validation: true
      validation_component: validation

- project:
    templates:
      - check-requirements
      - validations-common-molecule-jobs
    check:
      jobs:
        - validations-common-reqcheck
        - openstack-tox-linters
        - openstack-tox-cover
        - openstack-tox-py36
        - openstack-tox-py39
        - validations-common-functional
        - tripleo-ci-centos-8-content-provider:
            dependencies:
              - openstack-tox-linters
              - openstack-tox-cover
              - validations-common-functional
        - tripleo-ci-centos-8-standalone-validation-common:
            vars: &consumer_vars
              consumer_job: true
              build_container_images: false
              remove_tags:
                - build
            dependencies:
              - tripleo-ci-centos-8-content-provider
        - openstack-tox-docs: &tripleo-docs
            files:
              - ^doc/.*
              - ^README.rst
              - ^validations_common/.*
    gate:
      jobs:
        - openstack-tox-linters
        - openstack-tox-py36
        - openstack-tox-py39
        - validations-common-functional
        - tripleo-ci-centos-8-content-provider:
            dependencies:
              - openstack-tox-linters
              - validations-common-functional
        - tripleo-ci-centos-8-standalone-validation-common:
            vars: *consumer_vars
            dependencies:
              - tripleo-ci-centos-8-content-provider
        - openstack-tox-docs: *tripleo-docs
    promote:
      jobs:
        - promote-openstack-tox-docs: *tripleo-docs
- project-template:
    check:
      jobs:
        - validations-common-centos-8-molecule-advanced_format_512e_support
        - validations-common-centos-8-molecule-check_latest_packages_version
        - validations-common-centos-8-molecule-dns
        - validations-common-centos-8-molecule-haproxy
        - validations-common-centos-8-molecule-ntp
        - validations-common-centos-8-molecule-service_status
        - validations-common-centos-8-molecule-check_cpu
        - validations-common-centos-8-molecule-check_disk_space
        - validations-common-centos-8-molecule-check_ram
        - validations-common-centos-8-molecule-check_selinux_mode
        - validations-common-centos-8-molecule-validate_selinux
        - validations-common-centos-8-molecule-xfs_check_ftype
    gate:
      jobs:
        - validations-common-centos-8-molecule-check_latest_packages_version
        - validations-common-centos-8-molecule-dns
        - validations-common-centos-8-molecule-haproxy
        - validations-common-centos-8-molecule-check_cpu
        - validations-common-centos-8-molecule-check_disk_space
        - validations-common-centos-8-molecule-check_ram
        - validations-common-centos-8-molecule-validate_selinux
    name: validations-common-molecule-jobs
- job:
    files:
      - ^validations_common/roles/check_selinux_mode/.*
      - ^tests/prepare-test-host.yml
      - ^playbooks/molecule/pre.yml
      - ^playbooks/molecule/run.yml
      - ^molecule-requirements.txt
    name: validations-common-centos-8-molecule-check_selinux_mode
    parent: validations-common-centos-8-base
    vars:
      validations_common_role_name: check_selinux_mode
    voting: false
- job:
    files:
      - ^validations_common/roles/ntp/.*
      - ^tests/prepare-test-host.yml
      - ^playbooks/molecule/pre.yml
      - ^playbooks/molecule/run.yml
      - ^molecule-requirements.txt
    name: validations-common-centos-8-molecule-ntp
    parent: validations-common-centos-8-base
    vars:
      validations_common_role_name: ntp
    voting: false
- job:
    files:
      - ^validations_common/roles/service_status/.*
      - ^tests/prepare-test-host.yml
      - ^playbooks/molecule/pre.yml
      - ^playbooks/molecule/run.yml
      - ^molecule-requirements.txt
    name: validations-common-centos-8-molecule-service_status
    parent: validations-common-centos-8-base
    vars:
      validations_common_role_name: service_status
    voting: false
- job:
    files:
      - ^validations_common/roles/advanced_format_512e_support/.*
      - ^tests/prepare-test-host.yml
      - ^playbooks/molecule/pre.yml
      - ^playbooks/molecule/run.yml
      - ^molecule-requirements.txt
    name: validations-common-centos-8-molecule-advanced_format_512e_support
    parent: validations-common-centos-8-base
    vars:
      validations_common_role_name: advanced_format_512e_support
    voting: false
- job:
    files:
      - ^validations_common/roles/dns/.*
      - ^tests/prepare-test-host.yml
      - ^playbooks/molecule/pre.yml
      - ^playbooks/molecule/run.yml
      - ^molecule-requirements.txt
    name: validations-common-centos-8-molecule-dns
    parent: validations-common-centos-8-base
    vars:
      validations_common_role_name: dns
- job:
    files:
      - ^validations_common/roles/haproxy/.*
      - ^tests/prepare-test-host.yml
      - ^playbooks/molecule/pre.yml
      - ^playbooks/molecule/run.yml
      - ^molecule-requirements.txt
    name: validations-common-centos-8-molecule-haproxy
    parent: validations-common-centos-8-base
    vars:
      validations_common_role_name: haproxy
- job:
    files:
      - ^validations_common/roles/check_cpu/.*
      - ^tests/prepare-test-host.yml
      - ^playbooks/molecule/pre.yml
      - ^playbooks/molecule/run.yml
      - ^molecule-requirements.txt
    name: validations-common-centos-8-molecule-check_cpu
    parent: validations-common-centos-8-base
    vars:
      validations_common_role_name: check_cpu
- job:
    files:
      - ^validations_common/roles/check_ram/.*
      - ^tests/prepare-test-host.yml
      - ^playbooks/molecule/pre.yml
      - ^playbooks/molecule/run.yml
      - ^molecule-requirements.txt
    name: validations-common-centos-8-molecule-check_ram
    parent: validations-common-centos-8-base
    vars:
      validations_common_role_name: check_ram
- job:
    files:
      - ^validations_common/roles/check_disk_space/.*
      - ^tests/prepare-test-host.yml
      - ^playbooks/molecule/pre.yml
      - ^playbooks/molecule/run.yml
      - ^molecule-requirements.txt
    name: validations-common-centos-8-molecule-check_disk_space
    parent: validations-common-centos-8-base
    vars:
      validations_common_role_name: check_disk_space
- job:
    files:
      - ^validations_common/roles/xfs_check_ftype/.*
      - ^tests/prepare-test-host.yml
      - ^playbooks/molecule/pre.yml
      - ^playbooks/molecule/run.yml
      - ^molecule-requirements.txt
    name: validations-common-centos-8-molecule-xfs_check_ftype
    parent: validations-common-centos-8-base
    vars:
      validations_common_role_name: xfs_check_ftype
    voting: false
- job:
    files:
      - ^validations_common/roles/check_latest_packages_version/.*
      - ^tests/prepare-test-host.yml
      - ^playbooks/molecule/pre.yml
      - ^playbooks/molecule/run.yml
      - ^molecule-requirements.txt
    name: validations-common-centos-8-molecule-check_latest_packages_version
    parent: validations-common-centos-8-base
    vars:
      validations_common_role_name: check_latest_packages_version
- job:
    files:
      - ^validations_common/roles/validate_selinux/.*
      - ^tests/prepare-test-host.yml
      - ^playbooks/molecule/pre.yml
      - ^playbooks/molecule/run.yml
      - ^molecule-requirements.txt
    name: validations-common-centos-8-molecule-validate_selinux
    parent: validations-common-centos-8-base
    vars:
      validations_common_role_name: validate_selinux