# vim: set ts=2 et:
openstack-phase1:
  series: trusty
  services:
    nodes-api:
      charm: "local:trusty/ubuntu-nodes-controller"
      num_units: 1
      constraints: tags=control
    nodes-compute:
      charm: "local:trusty/ubuntu-nodes-compute"
      num_units: 1
      constraints: tags=compute
    "ntp":
      charm: "cs:trusty/ntp"
  relations:
    - - "ntp:juju-info"
      - "nodes-api:juju-info"
    - - "ntp:juju-info"
      - "nodes-compute:juju-info"
openstack-phase2:
  inherits: openstack-phase1
  services:
    ceilometer:
      branch: "lp:~openstack-charmers/charms/trusty/ceilometer/next"
      num_units: 1
      to:
        - "lxc:nodes-api=0"
    ceilometer-agent:
      branch: "lp:~openstack-charmers/charms/trusty/ceilometer-agent/next"
    mongodb:
      charm: cs:trusty/mongodb
      num_units: 1
      to:
        - "lxc:nodes-api=0"
    heat:
      branch: "lp:~openstack-charmers/charms/trusty/heat/next"
      to:
        - "lxc:nodes-api=0"
#    ceph:
#      charm: cs:trusty/ceph
#      num_units: 1
#      options:
#        fsid: 5a791d94-980b-11e4-b6f6-3c970e8b1cf7
#        monitor-secret: AQAi5a9UeJXUExAA+By9u+GPhl8/XiUQ4nwI3A==
#        osd-devices: /dev/sdb
#        osd-reformat: 'yes'
#        source: cloud:trusty-kilo
#      to:
#        - "nodes-compute=0"
#    ceph-osd:
#      charm: cs:trusty/ceph-osd
#      num_units: 1
#      options:
#        osd-devices: /dev/sdb
#        osd-reformat: 'yes'
#        source: cloud:trusty-kilo
#      to:
#        - "lxc:nodes-api=0"
#    ceph-radosgw:
#      charm: cs:trusty/ceph-radosgw
#      num_units: 1
#      options:
#        source: cloud:trusty-kilo
#        use-embedded-webserver: true
#      to:
#        - "lxc:nodes-api=0"
#    cinder:
#      charm: cs:trusty/cinder
#      num_units: 1
#      options:
#        block-device: None
#        glance-api-version: 2
#        ha-mcastport: 5401
#      to:
#        - "lxc:nodes-api=0"
#    cinder-ceph:
#      charm: cs:trusty/cinder-cep

    "mysql":
      charm: "cs:trusty/mysql"
      num_units: 1
      options:
        "dataset-size": 2G
        "max-connections": 10000
      to:
        - "lxc:nodes-api=0"
    "rabbitmq-server":
      branch: lp:charms/trusty/rabbitmq-server
      num_units: 1
      to:
        - "lxc:nodes-api=0"
    "keystone":
      branch: lp:charms/trusty/keystone
      num_units: 1
      options:
        "admin-password": openstack
        "admin-token": admin
      to:
        - "lxc:nodes-api=0"
    "openstack-dashboard":
      branch: lp:charms/trusty/openstack-dashboard
      num_units: 1
      options:
        secret: admin
        webroot: /
      to:
        - "lxc:nodes-api=0"
    "nova-compute":
      branch: lp:~openstack-charmers/charms/trusty/nova-compute/next
      num_units: 1
      options:
        "enable-live-migration": False
        "manage-neutron-plugin-legacy-mode": False
      to:
        - "nodes-compute=0"
#        - "nodes-compute=1"
    "nova-cloud-controller":
      branch: lp:charms/trusty/nova-cloud-controller
      num_units: 1
      options:
        "console-access-protocol": novnc
        "network-manager": Neutron
        "quantum-security-groups": "yes"
      to:
        - "lxc:nodes-api=0"
    "neutron-api":
      branch: lp:~openstack-charmers/charms/trusty/neutron-api/next
      num_units: 1
      options:
        neutron-security-groups: True
        manage-neutron-plugin-legacy-mode: False
      to:
        - "lxc:nodes-api=0"
    neutron-gateway:
      branch: lp:charms/trusty/neutron-gateway
      options:
#        "ext-port": "eth1"
        plugin: ovs-odl
        instance-mtu: 1400
      to:
        - "nodes-api=0"
    odl-controller:
      branch: lp:~sdn-charmers/charms/trusty/odl-controller/trunk
      options:
        install-url: "https://nexus.opendaylight.org/content/groups/public/org/opendaylight/integration/distribution-karaf/0.2.4-Helium-SR4/distribution-karaf-0.2.4-Helium-SR4.tar.gz"
#        install-url: "https://nexus.opendaylight.org/content/repositories/opendaylight.release/org/opendaylight/integration/distribution-karaf/0.3.2-Lithium-SR2/distribution-karaf-0.3.2-Lithium-SR2.tar.gz"
        http-proxy: "http://squid.internal:3128"
        https-proxy: "http://squid.internal:3128"

      to:
        - "lxc:nodes-api=0"
    "glance":
      branch: lp:charms/trusty/glance
      num_units: 1
      to:
        - "lxc:nodes-api=0"
    neutron-api-odl:
      branch: lp:~openstack-charmers/charms/trusty/neutron-api-odl/vpp
      options:
        overlay-network-type: 'vxlan gre'
        security-groups: True
    openvswitch-odl:
      branch: lp:~openstack-charmers/charms/trusty/openvswitch-odl/trunk
  relations:
    - - "neutron-api:neutron-plugin-api-subordinate"
      - "neutron-api-odl:neutron-plugin-api-subordinate"
    - - "nova-compute:neutron-plugin"
      - "openvswitch-odl:neutron-plugin"
    - - "neutron-gateway"
      - "openvswitch-odl"
    - - "openvswitch-odl:ovsdb-manager"
      - "odl-controller:ovsdb-manager"
    - - "neutron-api-odl:odl-controller"
      - "odl-controller:controller-api"
    - - "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-cloud-controller:cloud-compute"
      - "nova-compute:cloud-compute"
    - - "nova-compute:amqp"
      - "rabbitmq-server:amqp"
    - - "nova-compute:image-service"
      - "glance:image-service"
    - - "glance:shared-db"
      - "mysql:shared-db"
    - - "glance:identity-service"
      - "keystone:identity-service"
    - - "glance:amqp"
      - "rabbitmq-server:amqp"
    - - "openstack-dashboard:identity-service"
      - "keystone:identity-service"
    - - "neutron-api:shared-db"
      - "mysql:shared-db"
    - - "neutron-api:amqp"
      - "rabbitmq-server:amqp"
    - - "nova-cloud-controller:neutron-api"
      - "neutron-api:neutron-api"
    - - "neutron-api:identity-service"
      - "keystone:identity-service"
    - - "neutron-gateway:amqp"
      - "rabbitmq-server:amqp"
    - - "neutron-gateway:neutron-plugin-api"
      - "neutron-api:neutron-plugin-api"
    - - "nova-cloud-controller:quantum-network-service"
      - "neutron-gateway:quantum-network-service"
    - - "ceilometer:amqp"
      - "rabbitmq-server:amqp"
    - - "ceilometer-agent:ceilometer-service"
      - "ceilometer:ceilometer-service"
    - - "ceilometer:identity-service"
      - "keystone:identity-service"
    - - "ceilometer:identity-notifications"
      - "keystone:identity-notifications"
    - - "ceilometer-agent:nova-ceilometer"
      - "nova-compute:nova-ceilometer"
    - - "ceilometer:shared-db"
      - "mongodb:database"
    - - "heat:shared-db"
      - "mysql:shared-db"
    - - "heat:identity-service"
      - "keystone:identity-service"
    - - "heat:amqp"
      - "rabbitmq-server:amqp"
trusty-liberty-nodes:
  inherits: openstack-phase1
  overrides:
    series: trusty

trusty-liberty:
  inherits: openstack-phase2
  overrides:
    #os-data-network: 10.4.8.0/21
    region: Canonical
    source: "cloud:trusty-liberty"
    "openstack-origin": "cloud:trusty-liberty"
    series: trusty

trusty-kilo-nodes:
  inherits: openstack-phase1
  overrides:
    series: trusty

trusty-kilo:
  inherits: openstack-phase2
  overrides:
    #os-data-network: 10.4.8.0/21
    region: Canonical
    source: "cloud:trusty-kilo"
    "openstack-origin": "cloud:trusty-kilo"
    series: trusty


trusty-juno-nodes:
  inherits: openstack-phase1
  overrides:
    series: trusty

trusty-juno:
  inherits: openstack-phase2
  overrides:
    #os-data-network: 10.4.8.0/21
    region: Canonical
    source: "cloud:trusty-juno"
    "openstack-origin": "cloud:trusty-juno"
    series: trusty