series: precise
services:
  mysql:
    charm: cs:precise/mysql
    constraints: mem=1G
    options:
      dataset-size: 50%
  rabbitmq-server:
    charm: cs:precise/rabbitmq-server
    constraints: mem=1G
  ceph:
    charm: cs:precise/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: cs:precise/keystone
    constraints: mem=1G
    options:
      admin-password: openstack
      admin-token: ubuntutesting
  openstack-dashboard:
    charm: cs:precise/openstack-dashboard
    constraints: mem=1G
  nova-compute:
    charm: cs:precise/nova-compute
    num_units: 3
    constraints: mem=4G
    options:
      config-flags: "auto_assign_floating_ip=False"
      enable-live-migration: False
      virt-type: kvm
  nova-cloud-controller:
    charm: cs:precise/nova-cloud-controller
    constraints: mem=1G
    options:
      network-manager: Neutron
      quantum-security-groups: "yes"
  neutron-gateway:
    charm: cs:precise/quantum-gateway
    constraints: mem=1G
  cinder:
    charm: cs:precise/cinder
    options:
      block-device: "None"
    constraints": mem=1G
  glance:
    charm: cs:precise/glance
    constraints: mem=1G
  swift-proxy:
    charm: cs:precise/swift-proxy
    constraints: mem=1G
    options:
      zone-assignment: manual
      replicas: 3
      use-https: 'no'
      swift-hash: fdfef9d4-8b06-11e2-8ac0-531c923c8fae
  swift-storage-z1:
    charm: cs:precise/swift-storage
    constraints: mem=1G
    options:
      zone: 1
      block-device: vdb
      overwrite: "true"
  swift-storage-z2:
    charm: cs:precise/swift-storage
    constraints: mem=1G
    options:
      zone: 2
      block-device: vdb
      overwrite: "true"
  swift-storage-z3:
    charm: cs:precise/swift-storage
    constraints: mem=1G
    options:
      zone: 3
      block-device: vdb
      overwrite: "true"
  ceilometer:
    charm: cs:precise/ceilometer
    constraints: mem=1G
  ceilometer-agent:
    charm: cs:precise/ceilometer-agent
  mongodb:
    charm: cs:precise/mongodb
    constraints: mem=1G
  heat:
    charm: cs:precise/heat
    constraints: mem=1G
  ntp:
    charm: cs:precise/ntp
relations:
  - - keystone:shared-db
    - mysql:shared-db
  - - nova-cloud-controller:shared-db
    - mysql:shared-db
  - - nova-cloud-controller:amqp
    - rabbitmq-server:amqp
  - - nova-cloud-controller:image-service
    - glance:image-service
  - - nova-cloud-controller:identity-service
    - keystone:identity-service
  - - nova-compute:cloud-compute
    - nova-cloud-controller:cloud-compute
  - - nova-compute:shared-db
    - mysql:shared-db
  - - nova-compute:amqp
    - rabbitmq-server:amqp
  - - nova-compute:image-service
    - glance:image-service
  - - nova-compute:ceph
    - ceph:client
  - - glance:shared-db
    - mysql:shared-db
  - - glance:identity-service
    - keystone:identity-service
  - - glance:ceph
    - ceph:client
  - - glance:image-service
    - cinder:image-service
  - - cinder:shared-db
    - mysql:shared-db
  - - cinder:amqp
    - rabbitmq-server:amqp
  - - cinder:cinder-volume-service
    - nova-cloud-controller:cinder-volume-service
  - - cinder:identity-service
    - keystone:identity-service
  - - cinder:ceph
    - ceph:client
  - - neutron-gateway:shared-db
    - mysql:shared-db
  - - neutron-gateway:amqp
    - rabbitmq-server:amqp
  - - neutron-gateway:quantum-network-service
    - nova-cloud-controller:quantum-network-service
  - - openstack-dashboard:identity-service
    - keystone:identity-service
  - - swift-proxy:identity-service
    - keystone:identity-service
  - - swift-proxy:swift-storage
    - swift-storage-z1:swift-storage
  - - swift-proxy:swift-storage
    - swift-storage-z2:swift-storage
  - - swift-proxy:swift-storage
    - swift-storage-z3:swift-storage
  - - ceilometer:identity-service
    - keystone:identity-service
  - - ceilometer:amqp
    - rabbitmq-server:amqp
  - - ceilometer:shared-db
    - mongodb:database
  - - ceilometer-agent:nova-ceilometer
    - nova-compute:nova-ceilometer
  - - ceilometer-agent:ceilometer-service
    - ceilometer:ceilometer-service
  - - heat:identity-service
    - keystone:identity-service
  - - heat:shared-db
    - mysql:shared-db
  - - heat:amqp
    - rabbitmq-server:amqp
  - - ntp:juju-info
    - nova-compute:juju-info
  - - ntp:juju-info
    - nova-cloud-controller:juju-info
  - - ntp:juju-info
    - neutron-gateway:juju-info
  - - ntp:juju-info
    - ceph:juju-info
  - - ntp:juju-info
    - cinder:juju-info
  - - ntp:juju-info
    - keystone:juju-info
  - - ntp:juju-info
    - glance:juju-info
  - - ntp:juju-info
    - swift-proxy:juju-info
  - - ntp:juju-info
    - swift-storage-z1:juju-info
  - - ntp:juju-info
    - swift-storage-z2:juju-info
  - - ntp:juju-info
    - swift-storage-z3:juju-info
  - - ntp:juju-info
    - ceilometer:juju-info
  - - ntp:juju-info
    - mongodb:juju-info
  - - ntp:juju-info
    - rabbitmq-server:juju-info
  - - ntp:juju-info
    - mysql:juju-info
  - - ntp:juju-info
    - openstack-dashboard:juju-info
  - - ntp:juju-info
    - heat:juju-info
