From 8cc46e65c20745e241b68b3d960fc3c96d64b970 Mon Sep 17 00:00:00 2001 From: David Blaisonneau Date: Thu, 30 Jun 2016 18:43:58 +0200 Subject: [JOID] generate bundle using jinja templates Signed-off-by: David Blaisonneau --- ci/bundle_tpl/bundle.yaml | 47 +++++++++++ ci/bundle_tpl/ceilometer.yaml | 17 ++++ ci/bundle_tpl/ceph.yaml | 40 +++++++++ ci/bundle_tpl/cinder.yaml | 14 ++++ ci/bundle_tpl/glance.yaml | 12 +++ ci/bundle_tpl/haclusters.yaml | 52 ++++++++++++ ci/bundle_tpl/heat.yaml | 11 +++ ci/bundle_tpl/keystone.yaml | 14 ++++ ci/bundle_tpl/mysql.yaml | 16 ++++ ci/bundle_tpl/neutron-api.yaml | 16 ++++ ci/bundle_tpl/neutron-gateway.yaml | 14 ++++ ci/bundle_tpl/neutron-ovs.yaml | 12 +++ ci/bundle_tpl/nova-cloud-controller.yaml | 17 ++++ ci/bundle_tpl/nova-compute.yaml | 18 +++++ ci/bundle_tpl/odl.yaml | 16 ++++ ci/bundle_tpl/openstack-dashboard.yaml | 15 ++++ ci/bundle_tpl/opnfv-promise.yaml | 5 ++ ci/bundle_tpl/phase2-overrides.yaml | 23 ++++++ ci/bundle_tpl/rabbitmq.yaml | 7 ++ ci/bundle_tpl/relations.yaml | 135 +++++++++++++++++++++++++++++++ 20 files changed, 501 insertions(+) create mode 100644 ci/bundle_tpl/bundle.yaml create mode 100644 ci/bundle_tpl/ceilometer.yaml create mode 100644 ci/bundle_tpl/ceph.yaml create mode 100644 ci/bundle_tpl/cinder.yaml create mode 100644 ci/bundle_tpl/glance.yaml create mode 100644 ci/bundle_tpl/haclusters.yaml create mode 100644 ci/bundle_tpl/heat.yaml create mode 100644 ci/bundle_tpl/keystone.yaml create mode 100644 ci/bundle_tpl/mysql.yaml create mode 100644 ci/bundle_tpl/neutron-api.yaml create mode 100644 ci/bundle_tpl/neutron-gateway.yaml create mode 100644 ci/bundle_tpl/neutron-ovs.yaml create mode 100644 ci/bundle_tpl/nova-cloud-controller.yaml create mode 100644 ci/bundle_tpl/nova-compute.yaml create mode 100644 ci/bundle_tpl/odl.yaml create mode 100644 ci/bundle_tpl/openstack-dashboard.yaml create mode 100644 ci/bundle_tpl/opnfv-promise.yaml create mode 100644 ci/bundle_tpl/phase2-overrides.yaml create mode 100644 ci/bundle_tpl/rabbitmq.yaml create mode 100644 ci/bundle_tpl/relations.yaml (limited to 'ci/bundle_tpl') diff --git a/ci/bundle_tpl/bundle.yaml b/ci/bundle_tpl/bundle.yaml new file mode 100644 index 00000000..8f1c5546 --- /dev/null +++ b/ci/bundle_tpl/bundle.yaml @@ -0,0 +1,47 @@ +# vim: set ts=2 et: +{{ ubuntu.release }}-{{ os.release }}-nodes: + inherits: openstack-phase1 + + +{{ ubuntu.release }}-{{ os.release }}: + inherits: openstack-phase2 + overrides: +{% include 'phase2-overrides.yaml' %} + + +openstack-phase1: + services: + nodes: + charm: "cs:{{ ubuntu.release }}/ubuntu" + num_units: 2 + ntp: + charm: "local:{{ ubuntu.release }}/ntp" + relations: + - - "ntp:juju-info" + - "nodes:juju-info" + + +openstack-phase2: + inherits: openstack-phase1 + relations: +{% include 'relations.yaml' %} + services: +{% if os.ha.mode == 'ha' %} + {% include 'haclusters.yaml' %} +{% endif %} +{% include 'mysql.yaml' %} +{% include 'ceilometer.yaml' %} +{% include 'ceph.yaml' %} +{% include 'cinder.yaml' %} +{% include 'glance.yaml' %} +{% include 'opnfv-promise.yaml' %} +{% include 'keystone.yaml' %} +{% include 'nova-cloud-controller.yaml' %} +{% include 'nova-compute.yaml' %} +{% include 'openstack-dashboard.yaml' %} +{% include 'rabbitmq.yaml' %} +{% include 'heat.yaml' %} +{% include 'neutron-api.yaml' %} +{% include 'neutron-gateway.yaml' %} +{% if os.network.controller == 'nosdn' %}{% include 'neutron-ovs.yaml' %} +{% elif os.network.controller == 'odl' %}{% include 'odl.yaml' %}{% endif %} diff --git a/ci/bundle_tpl/ceilometer.yaml b/ci/bundle_tpl/ceilometer.yaml new file mode 100644 index 00000000..f76a7c7d --- /dev/null +++ b/ci/bundle_tpl/ceilometer.yaml @@ -0,0 +1,17 @@ + ceilometer-agent: + charm: "local:{{ ubuntu.release }}/ceilometer-agent" + mongodb: + charm: local:{{ ubuntu.release }}/mongodb + to: + - "lxc:nodes=0" + ceilometer: + charm: "local:{{ ubuntu.release }}/ceilometer" + num_units: {{ unit_qty() }} + options: +{% if os.ha.mode == 'ha' %} + vip: {{ opnfv.vip.ceilometer }} +{% endif %} + to: +{% for unit_id in to_select() %} + - "lxc:nodes={{ unit_id }}" +{% endfor %} diff --git a/ci/bundle_tpl/ceph.yaml b/ci/bundle_tpl/ceph.yaml new file mode 100644 index 00000000..725ac705 --- /dev/null +++ b/ci/bundle_tpl/ceph.yaml @@ -0,0 +1,40 @@ +{% if opnfv.storage_dict.ceph is defined %} + ceph: + charm: "local:{{ ubuntu.release }}/ceph" + num_units: {{ unit_qty() }} + options: + monitor-count: {{ unit_qty() }} + fsid: 5a791d94-980b-11e4-b6f6-3c970e8b1cf7 + monitor-secret: AQAi5a9UeJXUExAA+By9u+GPhl8/XiUQ4nwI3A== + osd-reformat: {{ opnfv.storage_dict.ceph.reformat }} +{% if opnfv.spaces_dict.storage is defined %} + ceph-cluster-network: {{ opnfv.spaces_dict.storage.cidr }} +{% endif %} +# ceph-public-network: 192.168.0.0/24 + to: +{% for unit_id in to_select() %} + - "lxc:nodes={{ unit_id }}" +{% endfor %} + ceph-osd: + charm: "local:{{ ubuntu.release }}/ceph-osd" + num_units: {{ unit_qty() }} + options: + osd-devices: {{ opnfv.storage_dict.ceph.disk }} + osd-reformat: 'yes' + to: +{% for unit_id in to_select() %} + - "nodes={{ unit_id }}" +{% endfor %} + ceph-radosgw: + charm: "local:{{ ubuntu.release }}/ceph-radosgw" + num_units: {{ unit_qty() if os.beta.hacluster_ceph_radosgw else 1 }} + options: + use-embedded-webserver: true + operator-roles: "Member,admin" + to: +{% for unit_id in to_select(unit_qty() if os.beta.hacluster_ceph_radosgw else 1) %} + - "lxc:nodes={{ unit_id }}" +{% endfor %} + cinder-ceph: + charm: "local:{{ ubuntu.release }}/cinder-ceph" +{% endif %} diff --git a/ci/bundle_tpl/cinder.yaml b/ci/bundle_tpl/cinder.yaml new file mode 100644 index 00000000..6113200a --- /dev/null +++ b/ci/bundle_tpl/cinder.yaml @@ -0,0 +1,14 @@ + cinder: + charm: "local:{{ ubuntu.release }}/cinder" + num_units: {{ unit_qty() }} + options: + block-device: None + glance-api-version: 2 + ha-mcastport: 5401 +{% if os.ha.mode == 'ha' %} + vip: {{ opnfv.vip.cinder }} +{% endif %} + to: +{% for unit_id in to_select() %} + - "lxc:nodes={{ unit_id }}" +{% endfor %} diff --git a/ci/bundle_tpl/glance.yaml b/ci/bundle_tpl/glance.yaml new file mode 100644 index 00000000..c571760b --- /dev/null +++ b/ci/bundle_tpl/glance.yaml @@ -0,0 +1,12 @@ + glance: + charm: "local:{{ ubuntu.release }}/glance" + num_units: {{ unit_qty() }} + options: + ha-mcastport: 5402 +{% if os.ha.mode == 'ha' %} + vip: {{ opnfv.vip.glance }} +{% endif %} + to: +{% for unit_id in to_select() %} + - "lxc:nodes={{ unit_id }}" +{% endfor %} diff --git a/ci/bundle_tpl/haclusters.yaml b/ci/bundle_tpl/haclusters.yaml new file mode 100644 index 00000000..c21ec545 --- /dev/null +++ b/ci/bundle_tpl/haclusters.yaml @@ -0,0 +1,52 @@ + hacluster-keystone: + charm: "local:{{ ubuntu.release }}/hacluster" + options: + corosync_key: | + 'QisjNpoKHLkvyc3PEdDHP5VZjgD0kOk9t0ABPWmCELlu5AgWgnW6bJd34BVXO7VhW+3ZwNQM3W+bZ3pl28ftY4ki4N/S0KLFNia5egFgiA3AH2QXLnokS7OYXuu6GMJJ1S5mDe6P5zU+tfJe/Mebq24u7CgR0gAvohSPRdDTwdY=' + hacluster-cinder: + charm: "local:{{ ubuntu.release }}/hacluster" + options: + corosync_key: | + 'cc6n5Zv6M2mQ2mUhTx/aKoImQ7q77pKDdkSwBUG5VqoSb23SxnGUsAxH5E8lOeCZ84EURzS71FEb8F9P5YY+2deh0+tdXukoKTugdVmJfarahPpWpEEZRRCigUngdFw/479FOcFCkN1SJtQNqWi1ACYSn1/GRoQ2vP+2byrkV6E=' + hacluster-heat: + charm: "local:{{ ubuntu.release }}/hacluster" + options: + corosync_key: | + 'tNeFXmOqzytRq7loxLMDaaMqZZXjC7BNfMbcKxSNeIPyBj4lkJwHZyuV7mo0ogzcfVJqLBHBULai+ed9uyWCZJxLXoi+WwTj5AqcXfxfSo9vLCthukJJ4zuKvzeGibZRszwINf32RW9jtXSCPosv8a+9MSg49KD1c9fS20aEuIM=' + hacluster-horizon: + charm: "local:{{ ubuntu.release }}/hacluster" + options: + corosync_key: | + 'aCVPHw6XYne+Hxv0WPiM3+yEfeIxs0Ly0EMKB494Rdzjf5rE52GcXqqxuvIa/nXJ4GCR+UdKk9FEwcASfYkeu3HDWUld9uTE6pOc+ibWYnybNH7VBfEHW8h9YmQKs3HD2T3wlTcS2irU4CUW7/IKNok4etYdM3iFn1K2ReSGXEI=' + hacluster-nova: + charm: "local:{{ ubuntu.release }}/hacluster" + options: + corosync_key: | + 'gel86qmEze8dYKYbfqIgRpqapJpKtdYL2hxC1y5nWYBPq7EMf6V8mF01IjeUkSRs14CUDrsPpT4PWeom7EOY2fleuLx/aIuqQUfEDkhf/gvaz7BaU4hrmTCoDBK7/HvEwY+/wu4qkEeckzSRPsm9MYzqnLRshh8yjZJ70xU/mmk=' + hacluster-neutron: + charm: "local:{{ ubuntu.release }}/hacluster" + options: + corosync_key: | + 'KNhb4++3jlllbnscS5D3qdzOJDsQPEeZ7zOLZJHbkKrRjX9gRCijVVOiv2JCvq03HqQ7LIufQzWGl9Za8qh0f6QmQ3XhFh/Cb/3WaYFj+tEf0zArWv+8miswmM1z4eyTSrTWBq0dTgx1z96wjBxP5HV0+1LWW+3Ei4oZWyRGeR0=' + hacluster-glance: + charm: "local:{{ ubuntu.release }}/hacluster" + options: + corosync_key: | + 'el1dd8107J5mwQDPS7tEJPZrr0XFfL95+Tku/QG90W5Q5f5SP4W8TRfKvddGmZWZl2lVd1neG5WqaHa1mq/aScJpoflzVAJCvshN7Gd2AjHhLNNugeI8S90j/7wrKUhqiCAlkKaeri2xs5bB5PZ7Z9AHuNZL7SW1al8lxrKhUFI=' + hacluster-ceilometer: + charm: "local:{{ ubuntu.release }}/hacluster" + options: + corosync_key: | + 'cHkgKGJpdHMgPSA5NjApLgpQcmVzcyBrZXlzIG9uIHlvdXIga2V5Ym9hcmQgdG8gZ2VuZXJhdGUgZW50cm9weSAoYml0cyA9IDEwMDgpLgpXcml0aW5nIGNvcm9zeW5jIGtleSB0byAvZXRjL2Nvcm9zeW5jL2F1dGhrZXkuCg==' + hacluster-mysql: + charm: "local:{{ ubuntu.release }}/hacluster" + options: + corosync_key: | + 'Q29yb3N5bmMgQ2x1c3RlciBFbmdpbmUgQXV0aGVudGljYXRpb24ga2V5IGdlbmVyYXRvci4KR2F0aGVyaW5nIDEwMjQgYml0cyBmb3Iga2V5IGZyb20gL2Rldi9yYW5kb20uClByZXNzIGtleXMgb24geW91ciBrZXlib2FyZCB0byBnZW5lcmF0ZSBlbnRyb3B5LgpQcmVzcyBrZXlzIG9uIHlvdXIga2V5Ym9hcmQgdG8gZ2VuZXJhdGUgZW50cm9weSAoYml0cyA9IDkyMCkuClByZXNzIGtleXMgb24geW91ciBrZXlib2FyZCB0byBnZW5lcmF0ZSBlbnRyb3B5IChiaXRzID0gMTAwMCkuCldyaXRpbmcgY29yb3N5bmMga2V5IHRvIC9ldGMvY29yb3N5bmMvYXV0aGtleS4K' +{% if os.beta.hacluster_ceph_radosgw %} + hacluster-ceph-radosgw: + charm: "local:{{ ubuntu.release }}/hacluster" + options: + corosync_key: | + 'tk8U/FkH1+dNsvj6IU0C8AST7i/9ylIoCD8kWpPjB+UE2AYR7tkgkjnc4m5dzIYPYTceY7Hnb9xLJ0nlcQLYYFBRAJOg3drNTcVrfh63y9g9La1J1r51YSbOqXq1Q6RUhxP4OQBtDGE6/4NtZwuRPvPGLcI2ENiVm78l8JFkXRw=' +{% endif %} diff --git a/ci/bundle_tpl/heat.yaml b/ci/bundle_tpl/heat.yaml new file mode 100644 index 00000000..ba97fb61 --- /dev/null +++ b/ci/bundle_tpl/heat.yaml @@ -0,0 +1,11 @@ + heat: + charm: "local:{{ ubuntu.release }}/heat" + num_units: {{ unit_qty() }} + options: +{% if os.ha.mode == 'ha' %} + vip: {{ opnfv.vip.heat }} +{% endif %} + to: +{% for unit_id in to_select() %} + - "lxc:nodes={{ unit_id }}" +{% endfor %} diff --git a/ci/bundle_tpl/keystone.yaml b/ci/bundle_tpl/keystone.yaml new file mode 100644 index 00000000..18f5cc63 --- /dev/null +++ b/ci/bundle_tpl/keystone.yaml @@ -0,0 +1,14 @@ + keystone: + charm: "local:{{ ubuntu.release }}/keystone" + num_units: {{ unit_qty() }} + options: + admin-password: {{ opnfv.admin_password | default(os.admin.password) }} + admin-token: {{ os.admin.name }} + ha-mcastport: 5403 +{% if os.ha.mode == 'ha' %} + vip: {{ opnfv.vip.keystone }} +{% endif %} + to: +{% for unit_id in to_select() %} + - "lxc:nodes={{ unit_id }}" +{% endfor %} diff --git a/ci/bundle_tpl/mysql.yaml b/ci/bundle_tpl/mysql.yaml new file mode 100644 index 00000000..4835dfe6 --- /dev/null +++ b/ci/bundle_tpl/mysql.yaml @@ -0,0 +1,16 @@ + mysql: + charm: "local:{{ ubuntu.release }}/percona-cluster" + num_units: {{ unit_qty() }} + options: + dataset-size: 2G + lp1366997-workaround: true + max-connections: 10000 + root-password: {{ get_password('mysql_root') }} + sst-password: {{ get_password('mysql_sst') }} +{% if os.ha.mode == 'ha' %} + vip: {{ opnfv.vip.mysql }} +{% endif %} + to: +{% for unit_id in to_select() %} + - "lxc:nodes={{ unit_id }}" +{% endfor %} diff --git a/ci/bundle_tpl/neutron-api.yaml b/ci/bundle_tpl/neutron-api.yaml new file mode 100644 index 00000000..403babcf --- /dev/null +++ b/ci/bundle_tpl/neutron-api.yaml @@ -0,0 +1,16 @@ + neutron-api: + charm: "local:{{ ubuntu.release }}/neutron-api" + num_units: {{ unit_qty() }} + options: + neutron-security-groups: true + flat-network-providers: "*" +{% if os.network.controller == 'odl' %} + manage-neutron-plugin-legacy-mode: False +{% endif %} +{% if os.ha.mode == 'ha' %} + vip: {{ opnfv.vip.neutron }} +{% endif %} + to: +{% for unit_id in to_select() %} + - "lxc:nodes={{ unit_id }}" +{% endfor %} diff --git a/ci/bundle_tpl/neutron-gateway.yaml b/ci/bundle_tpl/neutron-gateway.yaml new file mode 100644 index 00000000..65cfab80 --- /dev/null +++ b/ci/bundle_tpl/neutron-gateway.yaml @@ -0,0 +1,14 @@ + neutron-gateway: + charm: "local:{{ ubuntu.release }}/neutron-gateway" + num_units: 1 + options: +{% if opnfv.ext_port is defined %} + ext-port: {{ opnfv.ext_port }} +{% endif %} +{% if os.network.controller == 'odl' %} + plugin: ovs-odl +{% endif %} + instance-mtu: 1400 + to: + - "nodes=0" +{# Empty block to avoid bad block trim #} diff --git a/ci/bundle_tpl/neutron-ovs.yaml b/ci/bundle_tpl/neutron-ovs.yaml new file mode 100644 index 00000000..1670d43c --- /dev/null +++ b/ci/bundle_tpl/neutron-ovs.yaml @@ -0,0 +1,12 @@ + neutron-openvswitch: + charm: "local:{{ ubuntu.release }}/neutron-openvswitch" + num_units: 1 + options: +{% if os.network.dpdk %} + enable-dpdk: true + #dpdk-driver: uio_pci_generic +{% endif %} + #data-port: "" + #default-socket-memory: 1024 + #default-socket-cores: 1 +{# Empty block to avoid bad block trim #} diff --git a/ci/bundle_tpl/nova-cloud-controller.yaml b/ci/bundle_tpl/nova-cloud-controller.yaml new file mode 100644 index 00000000..8b0e3c16 --- /dev/null +++ b/ci/bundle_tpl/nova-cloud-controller.yaml @@ -0,0 +1,17 @@ + nova-cloud-controller: + charm: "local:{{ ubuntu.release }}/nova-cloud-controller" + num_units: {{ unit_qty() }} + options: + console-access-protocol: novnc +{% if opnfv.domain is defined %} + console-proxy-ip: {{ opnfv.domain }} +{% endif %} + network-manager: Neutron + service-guard: true +{% if os.ha.mode == 'ha' %} + vip: {{ opnfv.vip.nova }} +{% endif %} + to: +{% for unit_id in to_select() %} + - "lxc:nodes={{ unit_id }}" +{% endfor %} diff --git a/ci/bundle_tpl/nova-compute.yaml b/ci/bundle_tpl/nova-compute.yaml new file mode 100644 index 00000000..e6305d4c --- /dev/null +++ b/ci/bundle_tpl/nova-compute.yaml @@ -0,0 +1,18 @@ + nova-compute: + charm: "local:{{ ubuntu.release }}/nova-compute" + num_units: {{ opnfv.units }} + options: + enable-live-migration: true + enable-resize: true + manage-neutron-plugin-legacy-mode: false + migration-auth-type: ssh +{% if os.beta.huge_pages %} + hugepages: "50%" +{% endif %} +{% if os.lxd %} + virt-type: lxd +{% endif %} + to: +{% for unit_id in to_select(opnfv.units) %} + - "nodes={{ unit_id }}" +{% endfor %} diff --git a/ci/bundle_tpl/odl.yaml b/ci/bundle_tpl/odl.yaml new file mode 100644 index 00000000..96568d4f --- /dev/null +++ b/ci/bundle_tpl/odl.yaml @@ -0,0 +1,16 @@ + odl-controller: + charm: local:{{ ubuntu.release }}/odl-controller + options: + install-url: "https://nexus.opendaylight.org/content/repositories/opendaylight.release/org/opendaylight/integration/distribution-karaf/0.4.2-Beryllium-SR2/distribution-karaf-0.4.2-Beryllium-SR2.tar.gz" + profile: "openvswitch-odl-beryllium" + http-proxy: "http://squid.internal:3128" + https-proxy: "http://squid.internal:3128" + to: + - "lxc:nodes=0" + neutron-api-odl: + charm: local:{{ ubuntu.release }}/neutron-api-odl + options: + overlay-network-type: 'vxlan' + security-groups: True + openvswitch-odl: + charm: local:{{ ubuntu.release }}/openvswitch-odl diff --git a/ci/bundle_tpl/openstack-dashboard.yaml b/ci/bundle_tpl/openstack-dashboard.yaml new file mode 100644 index 00000000..ee006bb0 --- /dev/null +++ b/ci/bundle_tpl/openstack-dashboard.yaml @@ -0,0 +1,15 @@ + openstack-dashboard: + charm: "local:{{ ubuntu.release }}/openstack-dashboard" + num_units: {{ unit_qty() }} + options: + secret: admin + webroot: / +{% if os.ha.mode == 'ha' %} + vip: {{ opnfv.vip.dashboard }} +{% endif %} +{% if os.beta.public_api %} + endpoint-type: internalURL +{% endif %} +{% for unit_id in to_select() %} + - "lxc:nodes={{ unit_id }}" +{% endfor %} diff --git a/ci/bundle_tpl/opnfv-promise.yaml b/ci/bundle_tpl/opnfv-promise.yaml new file mode 100644 index 00000000..4e96cf73 --- /dev/null +++ b/ci/bundle_tpl/opnfv-promise.yaml @@ -0,0 +1,5 @@ + opnfv-promise: + charm: local:{{ ubuntu.release }}/promise + to: + - "lxc:nodes=0" +{# Empty block to avoid bad block trim #} diff --git a/ci/bundle_tpl/phase2-overrides.yaml b/ci/bundle_tpl/phase2-overrides.yaml new file mode 100644 index 00000000..8ec13f70 --- /dev/null +++ b/ci/bundle_tpl/phase2-overrides.yaml @@ -0,0 +1,23 @@ +{% if opnfv.spaces_dict.data is defined %} + os-data-network: {{ opnfv.spaces_dict.data.cidr }} +{% endif %} +{% if opnfv.spaces_dict.storage is defined %} + ceph-cluster-network: {{ opnfv.spaces_dict.storage.cidr }} +{% endif %} + prefer-ipv6: {{ os.network.ipv6 }} +{% if os.network.dvr %} + enable-dvr: true +{% endif %} +{% if os.network.l2_population %} + l2-population: true +{% endif %} + region: {{ os.region }} + #source: "cloud:{{ ubuntu.release }}-{{ os.release }}" + openstack-origin: "cloud:{{ ubuntu.release }}-{{ os.release }}" + ceph-osd-replication-count: {{ os.storage.ceph_replica }} + admin-role: {{ os.admin_role }} + keystone-admin-role: {{ os.admin_role }} +{% if os.beta.public_api %} + use-internal-endpoints: true + os-public-hostname: api.{{ opnfv.domain }} +{% endif %} diff --git a/ci/bundle_tpl/rabbitmq.yaml b/ci/bundle_tpl/rabbitmq.yaml new file mode 100644 index 00000000..35e07e90 --- /dev/null +++ b/ci/bundle_tpl/rabbitmq.yaml @@ -0,0 +1,7 @@ + rabbitmq-server: + charm: "local:{{ ubuntu.release }}/rabbitmq-server" + num_units: {{ unit_qty() }} + to: +{% for unit_id in to_select() %} + - "lxc:nodes={{ unit_id }}" +{% endfor %} diff --git a/ci/bundle_tpl/relations.yaml b/ci/bundle_tpl/relations.yaml new file mode 100644 index 00000000..ddfa2fe4 --- /dev/null +++ b/ci/bundle_tpl/relations.yaml @@ -0,0 +1,135 @@ +{% if os.ha.mode == 'ha' %} + - - mysql:ha + - hacluster-mysql:ha + - - cinder:ha + - hacluster-cinder:ha + - - heat:ha + - hacluster-heat:ha + - - glance:ha + - hacluster-glance:ha + - - keystone:ha + - hacluster-keystone:ha + - - neutron-api:ha + - hacluster-neutron:ha + - - nova-cloud-controller:ha + - hacluster-nova:ha + - - openstack-dashboard:ha + - hacluster-horizon:ha + - - heat:ha + - hacluster-heat:ha +{% if os.beta.hacluster_ceph_radosgw %} + - - ceph-radosgw:ha + - hacluster-ceph-radosgw:ha +{% endif %} +{% endif %} + - - nova-compute:amqp + - rabbitmq-server:amqp + - - neutron-gateway:amqp + - rabbitmq-server:amqp + - - keystone:shared-db + - mysql:shared-db + - - nova-cloud-controller:identity-service + - keystone:identity-service + - - glance:identity-service + - keystone:identity-service + - - neutron-api:identity-service + - keystone:identity-service + - - neutron-api:shared-db + - mysql:shared-db + - - neutron-api:amqp + - rabbitmq-server:amqp + - - neutron-gateway:neutron-plugin-api + - neutron-api:neutron-plugin-api + - - glance:shared-db + - mysql:shared-db + - - glance:amqp + - rabbitmq-server:amqp + - - nova-cloud-controller:image-service + - glance:image-service + - - nova-compute:image-service + - glance:image-service + - - nova-cloud-controller:cloud-compute + - nova-compute:cloud-compute + - - nova-cloud-controller:amqp + - rabbitmq-server:amqp + - - nova-cloud-controller:quantum-network-service + - neutron-gateway:quantum-network-service + - - openstack-dashboard:identity-service + - keystone:identity-service + - - nova-cloud-controller:shared-db + - mysql:shared-db + - - nova-cloud-controller:neutron-api + - neutron-api:neutron-api + - - cinder:image-service + - glance:image-service + - - cinder:amqp + - rabbitmq-server:amqp + - - cinder:identity-service + - keystone:identity-service + - - cinder:cinder-volume-service + - nova-cloud-controller:cinder-volume-service + - - cinder-ceph:storage-backend + - cinder:storage-backend + - - ceph:client + - nova-compute:ceph + - - cinder:shared-db + - mysql:shared-db + - - ceph:client + - cinder-ceph:ceph + - - ceph:client + - glance:ceph + - - ceph-osd:mon + - ceph:osd + - - ntp:juju-info + - nova-compute:juju-info + - - ntp:juju-info + - neutron-gateway:juju-info + - - ceph-radosgw:mon + - ceph:radosgw + - - ceph-radosgw:identity-service + - keystone:identity-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 + - - congress:shared-db + - mysql:shared-db + - - congress:identity-service + - keystone:identity-service + - - congress:amqp + - rabbitmq-server:amqp +{% if os.lxd %} + - - nova-compute:lxd + - lxd:lxd +{% endif %} +{% if os.network.controller == 'nosdn' %} + - - neutron-openvswitch:amqp + - rabbitmq-server:amqp + - - nova-compute:neutron-plugin + - neutron-openvswitch:neutron-plugin + - - neutron-openvswitch:neutron-plugin-api + - neutron-api:neutron-plugin-api +{% elif os.network.controller == 'odl' %} + - - 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 +{% endif %} -- cgit 1.2.3-korg