#
# Bridge all clouds
#
# This file is deployed to /etc/openstack/clouds.yaml on the
# bastion host and contains information for all cloud environments
# provided to OpenDev.
#
# Providers have two projects:
#
# * openstack[zuul|jenkins]-provider
#    provides capacity for test nodes (jenkins being a legacy name
#    from pre-zuulv3 era)
# * openstackci-provider
#    provides capacity for control-plane.  Ranges from a single mirror
#    host to all our other services.
#
# This is used as required for global operations on all clouds.  The
# most important one being the "cloud-launcher" process which
# canonicalises all providers with correct keypairs and other
# configuration details.
#

clouds:
  openstackci-inap:
    profile: internap
    auth:
      username: '{{ clouds.openstackci_internap_username }}'
      password: '{{ clouds.openstackci_internap_password }}'
      project_name: '{{ clouds.openstackci_internap_project_name }}'
    regions:
      - name: mtl01
        values:
          networks:
            - name: inap-17301-WAN1102
              routes_externally: True
  openstackjenkins-inap:
    profile: internap
    auth:
      username: '{{ clouds.openstackjenkins_internap_username }}'
      password: '{{ clouds.openstackjenkins_internap_password }}'
      project_name: '{{ clouds.openstackjenkins_internap_project_name }}'
    regions:
      - name: mtl01
        values:
          networks:
            - name: inap-17304-WAN1101
              routes_externally: True
  openstackci-iweb:
    profile: internap
    auth:
      username: '{{ clouds.openstackci_internap_username }}'
      password: '{{ clouds.openstackci_internap_password }}'
      project_name: '{{ clouds.openstackci_internap_project_name }}'
    regions:
      - name: mtl01
        values:
          networks:
            - name: inap-17301-WAN1102
              routes_externally: True
  openstackjenkins-iweb:
    profile: internap
    auth:
      username: '{{ clouds.openstackjenkins_internap_username }}'
      password: '{{ clouds.openstackjenkins_internap_password }}'
      project_name: '{{ clouds.openstackjenkins_internap_project_name }}'
    regions:
      - name: mtl01
        values:
          networks:
            - name: inap-17304-WAN1101
              routes_externally: True
  openstackci-ovh:
    regions:
      - GRA1
      - SBG1
      - BHS1
    profile: ovh
    # OVH has a weird new ipv6 setup that we can't handle properly
    # for now ignore ipv6
    force_ipv4: true
    auth:
      username: '{{ clouds.openstackci_ovh_username }}'
      password: '{{ clouds.openstackci_ovh_password }}'
      project_name: '{{ clouds.openstackci_ovh_project_name }}'
  openstackci-rax:
    regions:
      - name: DFW
        values:
          block_storage_endpoint_override: 'https://dfw.blockstorage.api.rackspacecloud.com/v2/{{ clouds.openstackci_rax_project_id }}/'
      - name: ORD
        values:
          block_storage_endpoint_override: 'https://ord.blockstorage.api.rackspacecloud.com/v2/{{ clouds.openstackci_rax_project_id }}/'
      - name: IAD
        values:
          block_storage_endpoint_override: 'https://iad.blockstorage.api.rackspacecloud.com/v2/{{ clouds.openstackci_rax_project_id }}/'
    profile: rackspace
    auth:
      username: '{{ clouds.openstackci_rax_username }}'
      password: '{{ clouds.openstackci_rax_password }}'
      project_id: '{{ clouds.openstackci_rax_project_id }}'
    identity_api_version: 2
    volume_api_version: 2
  openstackjenkins-rax:
    regions:
      - name: DFW
        values:
          block_storage_endpoint_override: 'https://dfw.blockstorage.api.rackspacecloud.com/v2/{{ clouds.openstackjenkins_rax_project_id }}/'
      - name: ORD
        values:
          block_storage_endpoint_override: 'https://ord.blockstorage.api.rackspacecloud.com/v2/{{ clouds.openstackjenkins_rax_project_id }}/'
      - name: IAD
        values:
          block_storage_endpoint_override: 'https://iad.blockstorage.api.rackspacecloud.com/v2/{{ clouds.openstackjenkins_rax_project_id }}/'
    profile: rackspace
    auth:
      username: '{{ clouds.openstackjenkins_rax_username }}'
      password: '{{ clouds.openstackjenkins_rax_password }}'
      project_id: '{{ clouds.openstackjenkins_rax_project_id }}'
    identity_api_version: 2
    volume_api_version: 2
  openstackjenkins-ovh:
    regions:
      - GRA1
      - SBG1
      - BHS1
    profile: ovh
    # OVH has a weird new ipv6 setup that we can't handle properly
    # for now ignore ipv6
    force_ipv4: true
    auth:
      username: '{{ clouds.openstackjenkins_ovh_username }}'
      password: '{{ clouds.openstackjenkins_ovh_password }}'
      project_name: '{{ clouds.openstackjenkins_ovh_project_name }}'
  openstackjenkins-vexxhost:
    regions:
      - ca-ymq-1
      - sjc1
    profile: vexxhost
    auth:
      username: '{{ clouds.openstackjenkins_vexxhost_username }}'
      password: '{{ clouds.openstackjenkins_vexxhost_password }}'
      project_name: '{{ clouds.openstackjenkins_vexxhost_project_name }}'
      project_domain_name: default
      user_domain_name: default
  openstackci-vexxhost:
    regions:
      - ca-ymq-1
      - sjc1
    profile: vexxhost
    auth:
      username: '{{ clouds.openstackci_vexxhost_username }}'
      password: '{{ clouds.openstackci_vexxhost_password }}'
      project_name: '{{ clouds.openstackci_vexxhost_project_name }}'
      project_domain_name: default
      user_domain_name: default
  openstackci-linaro-us:
    regions:
      - RegionOne
    auth:
      auth_url: https://us.linaro.cloud:5000
      username: '{{ clouds.openstackci_linaro_us_username }}'
      password: '{{ clouds.openstackci_linaro_us_password }}'
      project_name: '{{ clouds.openstackci_linaro_us_project_name }}'
      project_domain_name: default
      user_domain_name: default
    identity_api_version: 3
  openstackzuul-linaro-us:
    regions:
      - RegionOne
    auth:
      auth_url: https://us.linaro.cloud:5000
      username: '{{ clouds.openstackzuul_linaro_us_username }}'
      password: '{{ clouds.openstackzuul_linaro_us_password }}'
      project_name: '{{ clouds.openstackzuul_linaro_us_project_name }}'
      project_domain_name: default
      user_domain_name: default
    identity_api_version: 3
  openstackci-limestone:
    regions:
      - name: RegionOne
        values:
          networks:
            - name: "Gateway Network"
              routes_externally: false
              routes_ipv6_externally: true
              nat_destination: true
            - name: "Flat External"
              routes_externally: true
              nat_source: true
    auth:
      auth_url: https://osa.continuous.pw:5000
      username: '{{ clouds.openstackci_limestone_username }}'
      password: '{{ clouds.openstackci_limestone_password }}'
      project_name: '{{ clouds.openstackci_limestone_project_name }}'
      user_domain_name: default
      project_domain_name: default
    identity_api_version: 3
    cacert: /etc/openstack/limestone_cacert.pem
  openstackzuul-limestone:
    regions:
      - name: RegionOne
        values:
          networks:
            - name: "Gateway Network"
              routes_externally: false
              routes_ipv6_externally: true
              nat_destination: true
            - name: "Flat External"
              routes_externally: true
              nat_source: true
    auth:
      auth_url: https://osa.continuous.pw:5000
      username: '{{ clouds.openstackzuul_limestone_username }}'
      password: '{{ clouds.openstackzuul_limestone_password }}'
      project_name: '{{ clouds.openstackzuul_limestone_project_name }}'
      user_domain_name: default
      project_domain_name: default
    identity_api_version: 3
    cacert: /etc/openstack/limestone_cacert.pem
  openstackci-packethost:
    regions:
      - name: us-west-1
        values:
          networks:
            - name: openstackci-net
              default_interface: True
    auth:
      auth_url: https://packet.platform9.net/keystone
      username: '{{ clouds.openstackci_packethost_username }}'
      password: '{{ clouds.openstackci_packethost_password }}'
      project_name: '{{ clouds.openstackci_packethost_project_name }}'
      user_domain_name: default
      project_domain_name: default
  openstackzuul-packethost:
    regions:
      - name: us-west-1
        values:
          networks:
            - name: openstackzuul-net
              default_interface: True
    auth:
      auth_url: https://packet.platform9.net/keystone
      username: '{{ clouds.openstackzuul_packethost_username }}'
      password: '{{ clouds.openstackzuul_packethost_password }}'
      project_name: '{{ clouds.openstackzuul_packethost_project_name }}'
      user_domain_name: default
      project_domain_name: default
    identity_api_version: '3'
  opendevci-osuosl:
    regions:
      - RegionOne
    auth:
      auth_url: https://arm-openstack.osuosl.org:5000/v3
      username: '{{ clouds.opendevci_osuosl_username }}'
      password: '{{ clouds.opendevci_osuosl_password }}'
      project_name: 'opendevci'
      project_id: '{{ clouds.opendevci_osuosl_project_id }}'
      user_domain_name: "Default"
    identity_api_version: 3
  opendevzuul-osuosl:
    regions:
      - RegionOne
    auth:
      auth_url: https://arm-openstack.osuosl.org:5000/v3
      username: '{{ clouds.opendevzuul_osuosl_username }}'
      password: '{{ clouds.opendevzuul_osuosl_password }}'
      project_name: 'opendevzuul'
      project_id: '{{ clouds.opendevzuul_osuosl_project_id }}'
      user_domain_name: "Default"
    identity_api_version: 3
  opendevci-inmotion:
    regions:
      - iad3
    auth:
      auth_url: 'https://173.231.255.228:5000'
      username: '{{ clouds.opendevci_inmotion_username }}'
      password: '{{ clouds.opendevci_inmotion_password }}'
      project_name: 'opendevci'
      project_id: '{{ clouds.opendevci_inmotion_project_id }}'
      user_domain_name: "Default"
    identity_api_version: 3
    cacert: {{ openstacksdk_config_dir }}/inmotion_cacert.pem
  opendevzuul-inmotion:
    regions:
      - iad3
    auth:
      auth_url: 'https://173.231.255.228:5000'
      username: '{{ clouds.opendevzuul_inmotion_username }}'
      password: '{{ clouds.opendevzuul_inmotion_password }}'
      project_name: 'opendevzuul'
      project_id: '{{ clouds.opendevzuul_inmotion_project_id }}'
      user_domain_name: "Default"
    identity_api_version: 3
    cacert: {{ openstacksdk_config_dir }}/inmotion_cacert.pem