# vim: set ts=2 et:
openstack-services:
  services:
    mysql:
      charm: mysql
      constraints: mem=1G
      options:
        dataset-size: 50%
    rabbitmq-server:
      charm: rabbitmq-server
      constraints: mem=1G
      options:
        ssl: "only"
    ceph:
      charm: ceph
      num_units: 3
      constraints: mem=1G
      options:
        monitor-count: 3
        fsid: 6547bd3e-1397-11e2-82e5-53567c8d32dc
        monitor-secret: AQCXrnZQwI7KGBAAiPofmKEXKxu5bUzoYLVkbQ==
        osd-devices: /dev/vdb
        osd-reformat: "yes"
        ephemeral-unmount: /mnt
    keystone:
      charm: keystone
      constraints: mem=1G
      options:
        admin-password: openstack
        admin-token: ubuntutesting
        https-service-endpoints: "True"
        use-https: "yes"
    openstack-dashboard:
      charm: openstack-dashboard
      constraints: mem=1G
    nova-compute:
      charm: nova-compute
      num_units: 3
      constraints: mem=4G
      options:
        enable-live-migration: True
        enable-resize: True
    nova-cloud-controller:
      charm: nova-cloud-controller
      constraints: mem=1G
      options:
        network-manager: Neutron
    neutron-gateway:
      charm: neutron-gateway
      constraints: mem=4G
      options:
        instance-mtu: 1300
        bridge-mappings: physnet1:br-ex
    cinder:
      charm: cinder
      options:
        block-device: "None"
        glance-api-version: 2
      constraints": mem=1G
    glance:
      charm: glance
      constraints: mem=1G
    swift-proxy:
      charm: swift-proxy
      constraints: mem=1G
      options:
        zone-assignment: manual
        replicas: 3
        swift-hash: fdfef9d4-8b06-11e2-8ac0-531c923c8fae
    swift-storage-z1:
      charm: swift-storage-z1
      constraints: mem=1G
      options:
        zone: 1
        block-device: vdb
        overwrite: "true"
    swift-storage-z2:
      charm: swift-storage-z2
      constraints: mem=1G
      options:
        zone: 2
        block-device: vdb
        overwrite: "true"
    swift-storage-z3:
      charm: swift-storage-z3
      constraints: mem=1G
      options:
        zone: 3
        block-device: vdb
        overwrite: "true"
    ceilometer:
      charm: ceilometer
      constraints: mem=1G
    ceilometer-agent:
      charm: ceilometer-agent
    mongodb:
      charm: mongodb
      constraints: mem=1G
  relations:
    - [ keystone, mysql ]
    - [ nova-cloud-controller, mysql ]
    - [ nova-cloud-controller, rabbitmq-server ]
    - [ nova-cloud-controller, glance ]
    - [ nova-cloud-controller, keystone ]
    - [ nova-compute, nova-cloud-controller ]
    - [ nova-compute, mysql ]
    - - nova-compute
      - rabbitmq-server:amqp
    - [ nova-compute, glance ]
    - [ nova-compute, ceph ]
    - [ glance, mysql ]
    - [ glance, keystone ]
    - [ glance, ceph ]
    - [ glance, "cinder:image-service" ]
    - [ cinder, mysql ]
    - [ cinder, rabbitmq-server ]
    - [ cinder, nova-cloud-controller ]
    - [ cinder, keystone ]
    - [ cinder, ceph ]
    - [ neutron-gateway, nova-cloud-controller ]
    - [ openstack-dashboard, keystone ]
    - [ swift-proxy, keystone ]
    - [ swift-proxy, swift-storage-z1 ]
    - [ swift-proxy, swift-storage-z2 ]
    - [ swift-proxy, swift-storage-z3 ]
    - [ "ceilometer:identity-service", keystone ]
    - [ ceilometer, rabbitmq-server ]
    - [ ceilometer, mongodb ]
    - [ ceilometer-agent, nova-compute ]
    - [ ceilometer-agent, ceilometer ]
openstack-singlerabbit:
  inherits: openstack-services
  relations:
    - [ "neutron-gateway:amqp", rabbitmq-server ]
openstack-icehouse:
  inherits: openstack-singlerabbit
  services:
    neutron-api:
      charm: neutron-api
      constraints: mem=1G
      options:
        neutron-security-groups: True
        flat-network-providers: physnet1
    neutron-openvswitch:
      charm: neutron-openvswitch
  relations:
  - [ neutron-api, mysql ]
  - [ neutron-api, rabbitmq-server ]
  - [ neutron-api, nova-cloud-controller ]
  - [ neutron-api, neutron-openvswitch ]
  - [ neutron-api, keystone ]
  - [ neutron-api, neutron-gateway ]
  - [ neutron-openvswitch, nova-compute ]
  - [ neutron-openvswitch, rabbitmq-server ]
openstack-icehouse-msg-split:
  inherits: openstack-services
  services:
    neutron-api:
      charm: neutron-api
      constraints: mem=1G
      options:
        neutron-security-groups: True
    neutron-openvswitch:
      charm: neutron-openvswitch
    rabbitmq-server-neutron:
      charm: rabbitmq-server
      constraints: mem=1G
  relations:
  - [ neutron-api, mysql ]
  - [ neutron-api, rabbitmq-server-neutron ]
  - [ neutron-api, nova-cloud-controller ]
  - [ neutron-api, neutron-openvswitch ]
  - [ neutron-api, keystone ]
  - [ neutron-api, neutron-gateway ]
  - [ neutron-openvswitch, nova-compute ]
  - [ neutron-openvswitch, rabbitmq-server-neutron ]
  - [ "neutron-gateway:amqp-nova", rabbitmq-server ]
  - [ "neutron-gateway:amqp", rabbitmq-server-neutron ]
# icehouse
precise-icehouse:
  inherits: openstack-icehouse
  series: precise
  overrides:
    openstack-origin: cloud:precise-icehouse
    source: cloud:precise-updates/icehouse
precise-icehouse-proposed:
  inherits: precise-icehouse
  overrides:
    openstack-origin: cloud:precise-icehouse/proposed
    source: cloud:precise-updates/icehouse
precise-icehouse-staging:
  inherits: precise-icehouse
  overrides:
    openstack-origin: ppa:ubuntu-cloud-archive/icehouse-staging
    source: ppa:ubuntu-cloud-archive/icehouse-staging
precise-icehouse-trunk:
  inherits: precise-icehouse
  overrides:
    openstack-origin: ppa:openstack-ubuntu-testing/icehouse
    source: ppa:openstack-ubuntu-testing/icehouse
trusty-icehouse:
  inherits: openstack-icehouse
  series: trusty
trusty-icehouse-msg-split:
  inherits: openstack-icehouse-msg-split
  series: trusty
trusty-icehouse-proposed:
  inherits: trusty-icehouse
  overrides:
    source: proposed
    openstack-origin: distro-proposed
trusty-icehouse-trunk:
  inherits: trusty-icehouse
  overrides:
    openstack-origin: ppa:openstack-ubuntu-testing/icehouse
    source: ppa:openstack-ubuntu-testing/icehouse
    offline-compression: "no"
# kilo
trusty-kilo:
  inherits: openstack-icehouse
  series: trusty
  overrides:
    openstack-origin: cloud:trusty-kilo
    source: cloud:trusty-kilo
trusty-kilo-proposed:
  inherits: trusty-kilo
  overrides:
    openstack-origin: cloud:trusty-kilo/proposed
    source: cloud:trusty-proposed/kilo
trusty-kilo-staging:
  inherits: trusty-kilo
  overrides:
    openstack-origin: ppa:ubuntu-cloud-archive/kilo-staging
    source: ppa:ubuntu-cloud-archive/kilo-staging
# liberty
trusty-liberty:
  inherits: openstack-icehouse
  series: trusty
  overrides:
    openstack-origin: cloud:trusty-liberty
    source: cloud:trusty-liberty
trusty-liberty-proposed:
  inherits: trusty-liberty
  overrides:
    openstack-origin: cloud:trusty-liberty/proposed
    source: cloud:trusty-liberty/proposed
trusty-liberty-staging:
  inherits: trusty-liberty
  overrides:
    openstack-origin: ppa:ubuntu-cloud-archive/liberty-staging
    source: ppa:ubuntu-cloud-archive/liberty-staging
# mitaka
trusty-mitaka:
  inherits: openstack-icehouse
  series: trusty
  overrides:
    openstack-origin: cloud:trusty-mitaka
    source: cloud:trusty-mitaka
trusty-mitaka-proposed:
  inherits: trusty-mitaka
  overrides:
    openstack-origin: cloud:trusty-mitaka/proposed
    source: cloud:trusty-mitaka/proposed
trusty-mitaka-staging:
  inherits: trusty-mitaka
  overrides:
    openstack-origin: ppa:ubuntu-cloud-archive/mitaka-staging
    source: ppa:ubuntu-cloud-archive/mitaka-staging
xenial-mitaka:
  inherits: openstack-icehouse
  series: xenial
xenial-mitaka-proposed:
  inherits: xenial-mitaka
  overrides:
    source: proposed
    openstack-origin: distro-proposed
# newton
xenial-newton:
  inherits: openstack-icehouse
  series: xenial
  overrides:
    openstack-origin: cloud:xenial-newton
    source: cloud:xenial-newton
xenial-newton-proposed:
  inherits: xenial-newton
  overrides:
    openstack-origin: cloud:xenial-newton/proposed
    source: cloud:xenial-proposed/newton
xenial-newton-staging:
  inherits: xenial-newton
  overrides:
    openstack-origin: ppa:ubuntu-cloud-archive/newton-staging
    source: ppa:ubuntu-cloud-archive/newton-staging
yakkety-newton:
  inherits: openstack-icehouse
  series: yakkety
yakkety-newton-proposed:
  inherits: yakkety-newton
  overrides:
    source: proposed
    openstack-origin: distro-proposed
# ocata
xenial-ocata:
  inherits: openstack-icehouse
  series: xenial
  overrides:
    openstack-origin: cloud:xenial-ocata
    source: cloud:xenial-ocata
xenial-ocata-proposed:
  inherits: xenial-ocata
  overrides:
    openstack-origin: cloud:xenial-ocata/proposed
    source: cloud:xenial-proposed/ocata
xenial-ocata-staging:
  inherits: xenial-ocata
  overrides:
    openstack-origin: ppa:ubuntu-cloud-archive/ocata-staging
    source: ppa:ubuntu-cloud-archive/ocata-staging
zesty-ocata:
  inherits: openstack-icehouse
  series: zesty
zesty-ocata-proposed:
  inherits: zesty-ocata
  overrides:
    source: proposed
    openstack-origin: distro-proposed
