diff options
Diffstat (limited to 'ci/config_tpl')
35 files changed, 99 insertions, 1345 deletions
diff --git a/ci/config_tpl/bundle_tpl/aodh.yaml b/ci/config_tpl/bundle_tpl/aodh.yaml deleted file mode 100644 index b2671e69..00000000 --- a/ci/config_tpl/bundle_tpl/aodh.yaml +++ /dev/null @@ -1,7 +0,0 @@ - aodh: - charm: "local:{{ ubuntu.release }}/aodh" - options: - openstack-origin: "cloud:{{ ubuntu.release }}-{{ os.release }}" - to: - - "lxc:nodes=0" -{# Empty block to avoid bad block trim #} diff --git a/ci/config_tpl/bundle_tpl/bundle.yaml b/ci/config_tpl/bundle_tpl/bundle.yaml deleted file mode 100644 index 8aab10f8..00000000 --- a/ci/config_tpl/bundle_tpl/bundle.yaml +++ /dev/null @@ -1,96 +0,0 @@ -# vim: set ts=2 et: -{{ ubuntu.release }}-{{ os.release }}-nodes: - inherits: openstack-phase1 - overrides: -{% include 'phase2-overrides.yaml' %} - -{{ ubuntu.release }}-{{ os.release }}: - inherits: openstack-phase2 - -openstack-phase1: - services: -{% if os.hyperconverged %} - nodes: - charm: "cs:{{ ubuntu.release }}/ubuntu" - num_units: {{ opnfv.units }} -{% else %} - nodes: - charm: "cs:{{ ubuntu.release }}/ubuntu" -{% if os.ha.mode == 'ha' %} - num_units: 3 -{% else %} - num_units: 1 -{% endif %} - constraints: tags=control - nodes-compute: - charm: "cs:{{ ubuntu.release }}/ubuntu" -{% if os.ha.mode == 'ha' %} - num_units: {{ opnfv.units - 3 }} -{% else %} - num_units: {{ opnfv.units - 1 }} -{% endif %} -{% endif %} - ntp: - charm: "local:{{ ubuntu.release }}/ntp" -{% if os.network.controller == 'ocl' %} - options: - source: "0.ubuntu.pool.ntp.org 1.ubuntu.pool.ntp.org 2.ubuntu.pool.ntp.org 3.ubuntu.pool.ntp.org" - auto_peers: false -{% endif %} -{% include 'mysql.yaml' %} -{% include 'ceilometer.yaml' %} -{% if opnfv.storage_dict.scaleio is defined %} -{% include 'scaleio.yaml' %} -{% else %} -{% include 'ceph.yaml' %} -{% endif %} -{% include 'cinder.yaml' %} -{% include 'glance.yaml' %} -{% if opnfv.storage_dict.ceph is defined %} -{% if os.service.promise %} -{% include 'opnfv-promise.yaml' %} -{% endif %} -{% if os.service.congress %} -{% include 'congress.yaml' %} -{% endif %} -{% endif %} -{% 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' %} -{% include 'aodh.yaml' %} -{% if os.network.controller == 'odl' %} -{% include 'odl.yaml' %} -{% elif os.network.controller == 'onos' %} -{% include 'onos.yaml' %} -{% elif os.network.controller == 'ocl' %} -{% include 'oclphase1.yaml' %} -{% endif %} -{% if os.ha.mode == 'ha' %} -{% include 'haclusters.yaml' %} -{% endif %} - - -{% if os.hyperconverged %} - relations: - - [ 'ntp:juju-info', 'nodes:juju-info' ] -{% else %} - relations: - - [ 'ntp:juju-info', 'nodes:juju-info' ] - - [ 'ntp:juju-info', 'nodes-compute:juju-info' ] -{% endif %} - -{% if os.ha.mode == 'ha' %} -{% include 'harelations.yaml' %} -{% endif %} - -openstack-phase2: - inherits: openstack-phase1 - relations: -{% include 'relations.yaml' %} - services: -{% include 'subordinate.yaml' %} diff --git a/ci/config_tpl/bundle_tpl/ceilometer.yaml b/ci/config_tpl/bundle_tpl/ceilometer.yaml deleted file mode 100644 index e7b0d924..00000000 --- a/ci/config_tpl/bundle_tpl/ceilometer.yaml +++ /dev/null @@ -1,20 +0,0 @@ - mongodb: - charm: local:{{ ubuntu.release }}/mongodb - to: - - "lxc:nodes=0" - ceilometer: - charm: "local:{{ ubuntu.release }}/ceilometer" - num_units: {{ unit_qty() }} - options: - openstack-origin: "cloud:{{ ubuntu.release }}-{{ os.release }}" - region: {{ os.region }} -{% if os.ha.mode == 'ha' %} - vip: {{ opnfv.vip.ceilometer }} -{% endif %} -{% if os.beta.public_api %} - os-public-hostname: api.{{ opnfv.domain }} -{% endif %} - to: -{% for unit_id in to_select() %} - - "lxc:nodes={{ unit_id }}" -{% endfor %} diff --git a/ci/config_tpl/bundle_tpl/ceph.yaml b/ci/config_tpl/bundle_tpl/ceph.yaml deleted file mode 100644 index 1ed43d4e..00000000 --- a/ci/config_tpl/bundle_tpl/ceph.yaml +++ /dev/null @@ -1,92 +0,0 @@ -{% if opnfv.storage_dict.ceph is defined %} - ceph: - charm: "local:{{ ubuntu.release }}/ceph" - num_units: {{ unit_ceph_qty() }} - options: - monitor-count: {{ unit_ceph_qty() }} - fsid: 5a791d94-980b-11e4-b6f6-3c970e8b1cf7 - monitor-secret: AQAi5a9UeJXUExAA+By9u+GPhl8/XiUQ4nwI3A== -{% if ubuntu.release == 'trusty' and os.release < 'newton' %} - source: "cloud:{{ ubuntu.release }}-updates/{{ os.release }}" -{% elif ubuntu.release == 'xenial' and os.release >= 'newton' %} - source: "cloud:{{ ubuntu.release }}-updates/{{ os.release }}" -{% endif %} -{% if os.network.ipv6 %} - prefer-ipv6: {{ os.network.ipv6 }} -{% endif %} -{% if opnfv.spaces_dict.storage is defined %} - #ceph-cluster-network: {{ opnfv.spaces_dict.storage.cidr }} -{% endif %} - to: -{% if os.hyperconverged %} -{% for unit_id in to_select(unit_ceph_qty()) %} - - "lxc:nodes={{ unit_id }}" -{% endfor %} -{% else %} -{% if os.ha.mode == 'ha' %} -{% for unit_id in range(0, 3) %} - - "lxc:nodes={{ unit_id }}" -{% endfor %} -{% else %} - - "lxc:nodes=0" - - "lxc:nodes=0" - - "lxc:nodes=0" -{% endif %} -{% endif %} - ceph-osd: - charm: "local:{{ ubuntu.release }}/ceph-osd" -{% if os.hyperconverged %} - num_units: {{ opnfv.units }} -{% else %} - num_units: 3 -{% endif %} - options: - osd-devices: {{ opnfv.storage_dict.ceph.disk }} - osd-reformat: 'yes' -{% if ubuntu.release == 'trusty' and os.release < 'newton' %} - source: "cloud:{{ ubuntu.release }}-updates/{{ os.release }}" -{% elif ubuntu.release == 'xenial' and os.release >= 'newton' %} - source: "cloud:{{ ubuntu.release }}-updates/{{ os.release }}" -{% endif %} -{% if os.network.ipv6 %} - prefer-ipv6: {{ os.network.ipv6 }} -{% endif %} - to: -{% if os.hyperconverged %} -{% for unit_id in range(0, opnfv.units) %} - - "nodes={{ unit_id }}" -{% endfor %} -{% else %} -{% if os.ha.mode == 'ha' %} -{% for unit_id in range(0, 3) %} - - "nodes={{ unit_id }}" -{% endfor %} -{% else %} - - "nodes=0" - - "nodes-compute=0" - - "nodes-compute=1" -{% endif %} -{% endif %} - ceph-radosgw: - charm: "local:{{ ubuntu.release }}/ceph-radosgw" - num_units: {{ unit_qty() if os.beta.hacluster_ceph_radosgw else 1 }} - options: - region: {{ os.region }} - use-embedded-webserver: true - operator-roles: "Member,admin" -{% if ubuntu.release == 'trusty' and os.release < 'newton' %} - source: "cloud:{{ ubuntu.release }}-updates/{{ os.release }}" -{% elif ubuntu.release == 'xenial' and os.release >= 'newton' %} - source: "cloud:{{ ubuntu.release }}-updates/{{ os.release }}" -{% endif %} -{% if os.network.ipv6 %} - prefer-ipv6: {{ os.network.ipv6 }} -{% endif %} -{% if opnfv.storage_dict.ceph is defined %} - ceph-osd-replication-count: {{ unit_ceph_qty() }} -{% endif %} - to: -{% for unit_id in to_select(unit_qty() if os.beta.hacluster_ceph_radosgw else 1) %} - - "lxc:nodes={{ unit_id }}" -{% endfor %} -{% endif %} diff --git a/ci/config_tpl/bundle_tpl/cinder.yaml b/ci/config_tpl/bundle_tpl/cinder.yaml deleted file mode 100644 index dee6be08..00000000 --- a/ci/config_tpl/bundle_tpl/cinder.yaml +++ /dev/null @@ -1,38 +0,0 @@ - cinder: - charm: "local:{{ ubuntu.release }}/cinder" -{% if opnfv.storage_dict.scaleio is defined %} - num_units: 1 -{% else %} - num_units: {{ unit_qty() }} -{% endif %} - options: - openstack-origin: "cloud:{{ ubuntu.release }}-{{ os.release }}" - region: {{ os.region }} - block-device: None - glance-api-version: 2 -{% if os.beta.public_api %} - use-internal-endpoints: true -{% endif %} -{% if os.network.ipv6 %} - prefer-ipv6: {{ os.network.ipv6 }} -{% endif %} -{% if os.api.worker_multiplier %} - worker-multiplier: {{ os.api.worker_multiplier }} -{% endif %} -{% if opnfv.storage_dict.ceph is defined %} - ceph-osd-replication-count: {{ unit_ceph_qty() }} -{% endif %} -{% if os.ha.mode == 'ha' %} - vip: {{ opnfv.vip.cinder }} -{% endif %} -{% if os.beta.public_api %} - os-public-hostname: api.{{ opnfv.domain }} -{% endif %} - to: -{% if opnfv.storage_dict.scaleio is defined %} - - "nodes=0" -{% else %} -{% for unit_id in to_select() %} - - "lxc:nodes={{ unit_id }}" -{% endfor %} -{% endif %} diff --git a/ci/config_tpl/bundle_tpl/congress.yaml b/ci/config_tpl/bundle_tpl/congress.yaml deleted file mode 100644 index 7d68f1d6..00000000 --- a/ci/config_tpl/bundle_tpl/congress.yaml +++ /dev/null @@ -1,10 +0,0 @@ - congress: - charm: "local:{{ ubuntu.release }}/congress" - options: - region: {{ os.region }} -{% if ubuntu.release == 'trusty' %} - source-branch: "stable/{{ os.release }}" -{% endif %} - to: - - "lxc:nodes=0" -{# Empty block to avoid bad block trim #} diff --git a/ci/config_tpl/bundle_tpl/glance.yaml b/ci/config_tpl/bundle_tpl/glance.yaml deleted file mode 100644 index 7ae7fcc7..00000000 --- a/ci/config_tpl/bundle_tpl/glance.yaml +++ /dev/null @@ -1,28 +0,0 @@ - glance: - charm: "local:{{ ubuntu.release }}/glance" - num_units: {{ unit_qty() }} - options: - openstack-origin: "cloud:{{ ubuntu.release }}-{{ os.release }}" - region: {{ os.region }} -{% if os.beta.public_api %} - use-internal-endpoints: true -{% endif %} -{% if os.network.ipv6 %} - prefer-ipv6: {{ os.network.ipv6 }} -{% endif %} -{% if opnfv.storage_dict.ceph is defined %} - ceph-osd-replication-count: {{ unit_ceph_qty() }} -{% endif %} -{% if os.api.worker_multiplier %} - worker-multiplier: {{ os.api.worker_multiplier }} -{% endif %} -{% if os.ha.mode == 'ha' %} - vip: {{ opnfv.vip.glance }} -{% endif %} -{% if os.beta.public_api %} - os-public-hostname: api.{{ opnfv.domain }} -{% endif %} - to: -{% for unit_id in to_select() %} - - "lxc:nodes={{ unit_id }}" -{% endfor %} diff --git a/ci/config_tpl/bundle_tpl/haclusters.yaml b/ci/config_tpl/bundle_tpl/haclusters.yaml deleted file mode 100644 index 7edc7b28..00000000 --- a/ci/config_tpl/bundle_tpl/haclusters.yaml +++ /dev/null @@ -1,83 +0,0 @@ - - hacluster-keystone: - charm: "local:{{ ubuntu.release }}/hacluster" - options: - corosync_transport: unicast - cluster_count: 3 -{% if os.network.ipv6 %} - prefer-ipv6: {{ os.network.ipv6 }} -{% endif %} - hacluster-cinder: - charm: "local:{{ ubuntu.release }}/hacluster" - options: - corosync_transport: unicast - cluster_count: 3 -{% if os.network.ipv6 %} - prefer-ipv6: {{ os.network.ipv6 }} -{% endif %} -# hacluster-heat: -# charm: "local:{{ ubuntu.release }}/hacluster" -# options: -# corosync_transport: unicast -# cluster_count: 3 -{% if os.network.ipv6 %} -# prefer-ipv6: {{ os.network.ipv6 }} -{% endif %} - hacluster-horizon: - charm: "local:{{ ubuntu.release }}/hacluster" - options: - corosync_transport: unicast - cluster_count: 3 -{% if os.network.ipv6 %} - prefer-ipv6: {{ os.network.ipv6 }} -{% endif %} - hacluster-nova: - charm: "local:{{ ubuntu.release }}/hacluster" - options: - corosync_transport: unicast - cluster_count: 3 -{% if os.network.ipv6 %} - prefer-ipv6: {{ os.network.ipv6 }} -{% endif %} - hacluster-neutron: - charm: "local:{{ ubuntu.release }}/hacluster" - options: - corosync_transport: unicast - cluster_count: 3 -{% if os.network.ipv6 %} - prefer-ipv6: {{ os.network.ipv6 }} -{% endif %} - hacluster-glance: - charm: "local:{{ ubuntu.release }}/hacluster" - options: - corosync_transport: unicast - cluster_count: 3 -{% if os.network.ipv6 %} - prefer-ipv6: {{ os.network.ipv6 }} -{% endif %} - hacluster-ceilometer: - charm: "local:{{ ubuntu.release }}/hacluster" - options: - corosync_transport: unicast - cluster_count: 3 -{% if os.network.ipv6 %} - prefer-ipv6: {{ os.network.ipv6 }} -{% endif %} - hacluster-mysql: - charm: "local:{{ ubuntu.release }}/hacluster" - options: - corosync_transport: unicast - cluster_count: 3 -{% if os.network.ipv6 %} - prefer-ipv6: {{ os.network.ipv6 }} -{% endif %} -{% if os.beta.hacluster_ceph_radosgw %} - hacluster-ceph-radosgw: - charm: "local:{{ ubuntu.release }}/hacluster" - options: - corosync_transport: unicast - cluster_count: 3 -{% if os.network.ipv6 %} - prefer-ipv6: {{ os.network.ipv6 }} -{% endif %} -{% endif %} diff --git a/ci/config_tpl/bundle_tpl/harelations.yaml b/ci/config_tpl/bundle_tpl/harelations.yaml deleted file mode 100644 index d4c4c064..00000000 --- a/ci/config_tpl/bundle_tpl/harelations.yaml +++ /dev/null @@ -1,14 +0,0 @@ -{% 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' ] - - [ 'ceilometer:ha', 'hacluster-ceilometer:ha' ] -{% if os.beta.hacluster_ceph_radosgw %} - - [ 'ceph-radosgw:ha', 'hacluster-ceph-radosgw:ha' ] -{% endif %} -{% endif %} diff --git a/ci/config_tpl/bundle_tpl/heat.yaml b/ci/config_tpl/bundle_tpl/heat.yaml deleted file mode 100644 index 3c9bf4e8..00000000 --- a/ci/config_tpl/bundle_tpl/heat.yaml +++ /dev/null @@ -1,21 +0,0 @@ - heat: - charm: "local:{{ ubuntu.release }}/heat" - num_units: 1 - options: - openstack-origin: "cloud:{{ ubuntu.release }}-{{ os.release }}" - region: {{ os.region }} -{% if os.network.ipv6 %} - prefer-ipv6: {{ os.network.ipv6 }} -{% endif %} -{% if os.api.worker_multiplier %} - worker-multiplier: {{ os.api.worker_multiplier }} -{% endif %} -{% if os.ha.mode == 'ha' %} -# vip: {{ opnfv.vip.heat }} -{% endif %} -{% if os.beta.public_api %} -# os-public-hostname: api.{{ opnfv.domain }} -{% endif %} - to: - - "lxc:nodes=0" -{# Empty block to avoid bad block trim #} diff --git a/ci/config_tpl/bundle_tpl/keystone.yaml b/ci/config_tpl/bundle_tpl/keystone.yaml deleted file mode 100644 index 22d422cf..00000000 --- a/ci/config_tpl/bundle_tpl/keystone.yaml +++ /dev/null @@ -1,26 +0,0 @@ - keystone: - charm: "local:{{ ubuntu.release }}/keystone" - num_units: {{ unit_qty() }} - options: - openstack-origin: "cloud:{{ ubuntu.release }}-{{ os.release }}" - region: {{ os.region }} - admin-role: {{ os.admin.role }} - keystone-admin-role: {{ os.admin.role }} -{% if os.network.ipv6 %} - prefer-ipv6: {{ os.network.ipv6 }} -{% endif %} -{% if os.api.worker_multiplier %} - worker-multiplier: {{ os.api.worker_multiplier }} -{% endif %} - admin-password: {{ opnfv.admin_password | default(os.admin.password) }} - admin-token: {{ os.admin.name }} -{% if os.ha.mode == 'ha' %} - vip: {{ opnfv.vip.keystone }} -{% endif %} -{% if os.beta.public_api %} - os-public-hostname: api.{{ opnfv.domain }} -{% endif %} - to: -{% for unit_id in to_select() %} - - "lxc:nodes={{ unit_id }}" -{% endfor %} diff --git a/ci/config_tpl/bundle_tpl/mysql.yaml b/ci/config_tpl/bundle_tpl/mysql.yaml deleted file mode 100644 index ab2c4934..00000000 --- a/ci/config_tpl/bundle_tpl/mysql.yaml +++ /dev/null @@ -1,23 +0,0 @@ - mysql: - charm: "local:{{ ubuntu.release }}/percona-cluster" - num_units: {{ unit_qty() }} - options: -{% if os.ha.mode == 'ha' %} - innodb-buffer-pool-size: 10G -{% else %} - innodb-buffer-pool-size: 1G -{% endif %} - max-connections: 20000 - root-password: {{ get_password('mysql_root') }} - sst-password: {{ get_password('mysql_sst') }} -{% if os.network.ipv6 %} - prefer-ipv6: {{ os.network.ipv6 }} -{% endif %} -{% if os.ha.mode == 'ha' %} - vip: {{ opnfv.vip.mysql }} -{% endif %} - min-cluster-size: {{ unit_qty() }} - to: -{% for unit_id in to_select() %} - - "lxc:nodes={{ unit_id }}" -{% endfor %} diff --git a/ci/config_tpl/bundle_tpl/neutron-api.yaml b/ci/config_tpl/bundle_tpl/neutron-api.yaml deleted file mode 100644 index dd477bd2..00000000 --- a/ci/config_tpl/bundle_tpl/neutron-api.yaml +++ /dev/null @@ -1,44 +0,0 @@ - neutron-api: - charm: "local:{{ ubuntu.release }}/neutron-api" - num_units: {{ unit_qty() }} - options: - openstack-origin: "cloud:{{ ubuntu.release }}-{{ os.release }}" - region: {{ os.region }} - neutron-security-groups: true -{% if os.beta.public_api %} - use-internal-endpoints: true -{% endif %} -{% if os.network.ipv6 %} - prefer-ipv6: {{ os.network.ipv6 }} -{% endif %} -{% if os.api.worker_multiplier %} - worker-multiplier: {{ os.api.worker_multiplier }} -{% endif %} -{% if os.ha.mode == 'ha' %} - vip: {{ opnfv.vip.neutron }} -{% endif %} -{% if os.network.controller == 'nosdn' %} - flat-network-providers: physnet1 -{% if os.network.dvr %} - overlay-network-type: vxlan -{% endif %} -{% elif os.network.controller == 'odl' %} - manage-neutron-plugin-legacy-mode: False - flat-network-providers: physnet1 -{% elif os.network.controller == 'onos' %} - flat-network-providers: physnet1 - manage-neutron-plugin-legacy-mode: False -{% endif %} -{% if os.beta.public_api %} - os-public-hostname: api.{{ opnfv.domain }} -{% endif %} -{% if os.network.dvr %} - enable-dvr: true -{% endif %} -{% if os.network.l2_population %} - l2-population: true -{% endif %} - to: -{% for unit_id in to_select() %} - - "lxc:nodes={{ unit_id }}" -{% endfor %} diff --git a/ci/config_tpl/bundle_tpl/neutron-gateway.yaml b/ci/config_tpl/bundle_tpl/neutron-gateway.yaml deleted file mode 100644 index dcd67346..00000000 --- a/ci/config_tpl/bundle_tpl/neutron-gateway.yaml +++ /dev/null @@ -1,54 +0,0 @@ - neutron-gateway: - charm: "local:{{ ubuntu.release }}/neutron-gateway" - options: - openstack-origin: "cloud:{{ ubuntu.release }}-{{ os.release }}" -{% if os.api.worker_multiplier %} - worker-multiplier: {{ os.api.worker_multiplier }} -{% endif %} -{% if opnfv.spaces_dict.data is defined %} - os-data-network: {{ opnfv.spaces_dict.data.cidr }} -{% endif %} -{% if os.network.controller == 'nosdn' %} -{% if opnfv.ext_port is defined %} -{% if opnfv.data_port is defined %} - bridge-mappings: physnet1:br-ex physnet2:br-data - data-port: br-ex:{{ opnfv.ext_port }} br-data:{{ opnfv.data_port }} -{% else %} - bridge-mappings: physnet1:br-ex - data-port: br-ex:{{ opnfv.ext_port }} -{% endif %} -{% endif %} -{% elif os.network.controller == 'onos' %} - plugin: onos -{% if opnfv.ext_port is defined %} -{% if opnfv.data_port is defined %} - bridge-mappings: physnet1:br-data external:br-ex - data-port: br-data:{{ opnfv.data_port }} br-ex:{{ opnfv.ext_port }} -{% else %} - bridge-mappings: external:br-ex - data-port: br-ex:{{ opnfv.ext_port }} -{% endif %} -{% endif %} -{% if os.network.sfc %} - profile: onos-sfc -{% endif %} -{% elif os.network.controller == 'odl' %} - plugin: ovs-odl -{% if opnfv.ext_port is defined %} -{% if opnfv.data_port is defined %} - bridge-mappings: physnet1:br-ex physnet2:br-data - data-port: br-ex:{{ opnfv.ext_port }} br-data:{{ opnfv.data_port }} -{% else %} - bridge-mappings: physnet1:br-ex - data-port: br-ex:{{ opnfv.ext_port }} -{% endif %} -{% endif %} -{% else %} -{% if opnfv.ext_port is defined %} - ext-port: {{ opnfv.ext_port }} -{% endif %} -{% endif %} - instance-mtu: 1400 - to: - - "nodes=0" -{# Empty block to avoid bad block trim #} diff --git a/ci/config_tpl/bundle_tpl/neutron-ovs.yaml b/ci/config_tpl/bundle_tpl/neutron-ovs.yaml deleted file mode 100644 index 6c612819..00000000 --- a/ci/config_tpl/bundle_tpl/neutron-ovs.yaml +++ /dev/null @@ -1,29 +0,0 @@ - neutron-openvswitch: - charm: local:{{ ubuntu.release }}/neutron-openvswitch - options: -{% if opnfv.spaces_dict.data is defined %} - os-data-network: {{ opnfv.spaces_dict.data.cidr }} -{% endif %} -{% if os.network.dpdk %} - enable-dpdk: true - #dpdk-driver: uio_pci_generic - #data-port: "" - #default-socket-memory: 1024 - #default-socket-cores: 1 -{% endif %} -{% if opnfv.ext_port is defined %} -{% if os.network.dvr %} -{% if os.network.controller == 'nosdn' %} -{% if opnfv.data_port is defined %} - bridge-mappings: physnet1:br-ex physnet2:br-data - data-port: br-ex:{{ opnfv.ext_port }} br-data:{{ opnfv.data_port }} -{% else %} - bridge-mappings: physnet1:br-ex - data-port: br-ex:{{ opnfv.ext_port }} -{% endif %} -{% else %} - ext-port: {{ opnfv.ext_port }} -{% endif %} -{% endif %} -{% endif %} -{# Empty block to avoid bad block trim #} diff --git a/ci/config_tpl/bundle_tpl/nova-cloud-controller.yaml b/ci/config_tpl/bundle_tpl/nova-cloud-controller.yaml deleted file mode 100644 index c3f809bb..00000000 --- a/ci/config_tpl/bundle_tpl/nova-cloud-controller.yaml +++ /dev/null @@ -1,32 +0,0 @@ - nova-cloud-controller: - charm: "local:{{ ubuntu.release }}/nova-cloud-controller" - num_units: {{ unit_qty() }} - options: - openstack-origin: "cloud:{{ ubuntu.release }}-{{ os.release }}" - region: {{ os.region }} - #console-access-protocol: novnc - neutron-external-network: ext-net - service-guard: true -{% if os.beta.public_api %} - use-internal-endpoints: true -{% endif %} -{% if os.network.ipv6 %} - prefer-ipv6: {{ os.network.ipv6 }} -{% endif %} -{% if os.api.worker_multiplier %} - worker-multiplier: {{ os.api.worker_multiplier }} -{% endif %} -{% if os.ha.mode == 'ha' %} - vip: {{ opnfv.vip.nova }} -{% endif %} -{% if opnfv.domain is defined %} - console-proxy-ip: {{ opnfv.domain }} -{% endif %} - network-manager: Neutron -{% if os.beta.public_api %} - os-public-hostname: api.{{ opnfv.domain }} -{% endif %} - to: -{% for unit_id in to_select() %} - - "lxc:nodes={{ unit_id }}" -{% endfor %} diff --git a/ci/config_tpl/bundle_tpl/nova-compute.yaml b/ci/config_tpl/bundle_tpl/nova-compute.yaml deleted file mode 100644 index d331332d..00000000 --- a/ci/config_tpl/bundle_tpl/nova-compute.yaml +++ /dev/null @@ -1,47 +0,0 @@ - nova-compute: - charm: "local:{{ ubuntu.release }}/nova-compute" -{% if os.hyperconverged %} - num_units: {{ opnfv.units - 1 }} -{% else %} -{% if os.ha.mode == 'ha' %} - num_units: {{ opnfv.units - 3 }} -{% else %} - num_units: {{ opnfv.units - 1 }} -{% endif %} -{% endif %} - options: - openstack-origin: "cloud:{{ ubuntu.release }}-{{ os.release }}" - enable-live-migration: true - enable-resize: true - migration-auth-type: ssh -{% if os.beta.public_api %} - use-internal-endpoints: true -{% endif %} -{% if os.network.ipv6 %} - prefer-ipv6: {{ os.network.ipv6 }} -{% endif %} -{% if opnfv.storage_dict.ceph is defined %} - ceph-osd-replication-count: {{ unit_ceph_qty() }} -{% endif %} -{% if os.beta.huge_pages %} - hugepages: "50%" -{% endif %} -{% if os.lxd %} - virt-type: lxd -{% endif %} - to: -{% if os.hyperconverged %} -{% for unit_id in range(1, opnfv.units) %} - - "nodes={{ unit_id }}" -{% endfor %} -{% else %} -{% if os.ha.mode == 'ha' %} -{% for unit_id in range(0, opnfv.units - 3) %} - - "nodes-compute={{ unit_id }}" -{% endfor %} -{% else %} -{% for unit_id in range(0, opnfv.units - 1) %} - - "nodes-compute={{ unit_id }}" -{% endfor %} -{% endif %} -{% endif %} diff --git a/ci/config_tpl/bundle_tpl/oclphase1.yaml b/ci/config_tpl/bundle_tpl/oclphase1.yaml deleted file mode 100644 index 84d52bc7..00000000 --- a/ci/config_tpl/bundle_tpl/oclphase1.yaml +++ /dev/null @@ -1,84 +0,0 @@ - zookeeper: - charm: local:{{ ubuntu.release }}/zookeeper - num_units: {{ unit_qty() }} - series: {{ ubuntu.release }} - to: -{% for unit_id in to_select() %} - - "lxc:nodes={{ unit_id }}" -{% endfor %} - cassandra: - charm: local:{{ ubuntu.release }}/cassandra - num_units: {{ unit_qty() }} - to: -{% for unit_id in to_select() %} - - "lxc:nodes={{ unit_id }}" -{% endfor %} - options: - authenticator: AllowAllAuthenticator - contrail-configuration: - charm: local:{{ ubuntu.release }}/contrail-configuration - num_units: {{ unit_qty() }} - options: - openstack-origin: "cloud:{{ ubuntu.release }}-{{ os.release }}" - install-sources: | - - ppa:opencontrail/ppa - - ppa:opencontrail/trunk-20160812 -{% if os.ha.mode == 'ha' %} - vip: {{ opnfv.vip.contrailconfig }} -{% endif %} - to: -{% for unit_id in to_select() %} - - "lxc:nodes={{ unit_id }}" -{% endfor %} - contrail-control: - charm: local:{{ ubuntu.release }}/contrail-control - num_units: {{ unit_qty() }} - options: - openstack-origin: "cloud:{{ ubuntu.release }}-{{ os.release }}" - install-sources: | - - ppa:opencontrail/ppa - - ppa:opencontrail/trunk-20160812 - to: -{% for unit_id in to_select() %} - - "lxc:nodes={{ unit_id }}" -{% endfor %} - contrail-analytics: - charm: local:{{ ubuntu.release }}/contrail-analytics - num_units: {{ unit_qty() }} - options: - openstack-origin: "cloud:{{ ubuntu.release }}-{{ os.release }}" - install-sources: | - - ppa:opencontrail/ppa - - ppa:opencontrail/trunk-20160812 - to: -{% for unit_id in to_select() %} - - "lxc:nodes={{ unit_id }}" -{% endfor %} - contrail-webui: - charm: local:{{ ubuntu.release }}/contrail-webui - num_units: {{ unit_qty() }} - options: - install-sources: | - - ppa:opencontrail/ppa - - ppa:opencontrail/trunk-20160812 - to: -{% for unit_id in to_select() %} - - "lxc:nodes={{ unit_id }}" -{% endfor %} - haproxy: - charm: local:{{ ubuntu.release }}/haproxy - num_units: {{ unit_qty() }} - options: - peering_mode: active-active - to: -{% for unit_id in to_select() %} - - "lxc:nodes={{ unit_id }}" -{% endfor %} - kafka: - charm: local:{{ ubuntu.release }}/kafka - num_units: {{ unit_qty() }} - to: -{% for unit_id in to_select() %} - - "lxc:nodes={{ unit_id }}" -{% endfor %} - diff --git a/ci/config_tpl/bundle_tpl/odl.yaml b/ci/config_tpl/bundle_tpl/odl.yaml deleted file mode 100644 index 257f3b67..00000000 --- a/ci/config_tpl/bundle_tpl/odl.yaml +++ /dev/null @@ -1,17 +0,0 @@ - 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.5.0-Boron/distribution-karaf-0.5.0-Boron.tar.gz" -{% if os.network.sfc %} - profile: "openvswitch-odl-beryllium-sfc" -{% elif os.network.bgpvpn %} - profile: "openvswitch-odl-beryllium-vpn" -{% elif os.network.odll3 %} - profile: "openvswitch-odl-beryllium-l3" -{% else %} - profile: "openvswitch-odl-boron" -{% endif %} - http-proxy: "http://squid.internal:3128" - https-proxy: "http://squid.internal:3128" - to: - - "lxc:nodes=0" diff --git a/ci/config_tpl/bundle_tpl/onos.yaml b/ci/config_tpl/bundle_tpl/onos.yaml deleted file mode 100644 index fd08c717..00000000 --- a/ci/config_tpl/bundle_tpl/onos.yaml +++ /dev/null @@ -1,9 +0,0 @@ - onos-controller: - charm: local:{{ ubuntu.release }}/onos-controller - options: -{% if opnfv.ext_port is defined %} - ext-port: {{ opnfv.ext_port }} -{% endif %} - #gateway-mac: "default" - to: - - "lxc:nodes=0" diff --git a/ci/config_tpl/bundle_tpl/openstack-dashboard.yaml b/ci/config_tpl/bundle_tpl/openstack-dashboard.yaml deleted file mode 100644 index 43d8ef26..00000000 --- a/ci/config_tpl/bundle_tpl/openstack-dashboard.yaml +++ /dev/null @@ -1,20 +0,0 @@ - openstack-dashboard: - charm: "local:{{ ubuntu.release }}/openstack-dashboard" - num_units: {{ unit_qty() }} - options: - openstack-origin: "cloud:{{ ubuntu.release }}-{{ os.release }}" - secret: admin - webroot: / -{% if os.network.ipv6 %} - prefer-ipv6: {{ os.network.ipv6 }} -{% endif %} -{% if os.ha.mode == 'ha' %} - vip: {{ opnfv.vip.dashboard }} -{% endif %} -{% if os.beta.public_api %} - endpoint-type: internalURL -{% endif %} - to: -{% for unit_id in to_select() %} - - "lxc:nodes={{ unit_id }}" -{% endfor %} diff --git a/ci/config_tpl/bundle_tpl/opnfv-promise.yaml b/ci/config_tpl/bundle_tpl/opnfv-promise.yaml deleted file mode 100644 index 4e96cf73..00000000 --- a/ci/config_tpl/bundle_tpl/opnfv-promise.yaml +++ /dev/null @@ -1,5 +0,0 @@ - opnfv-promise: - charm: local:{{ ubuntu.release }}/promise - to: - - "lxc:nodes=0" -{# Empty block to avoid bad block trim #} diff --git a/ci/config_tpl/bundle_tpl/phase2-overrides.yaml b/ci/config_tpl/bundle_tpl/phase2-overrides.yaml deleted file mode 100644 index 72de7790..00000000 --- a/ci/config_tpl/bundle_tpl/phase2-overrides.yaml +++ /dev/null @@ -1,43 +0,0 @@ -{% if opnfv.spaces_dict.storage is defined %} - #ceph-cluster-network: {{ opnfv.spaces_dict.storage.cidr }} -{% endif %} -{% if os.network.ipv6 %} - #prefer-ipv6: {{ os.network.ipv6 }} -{% endif %} -{% if os.ha.mode == 'ha' %} -{% if os.api.haproxy_timeout %} - #haproxy-server-timeout: {{ os.api.haproxy_timeout }} - #haproxy-client-timeout: {{ os.api.haproxy_timeout }} - #haproxy-queue-timeout: {{ os.api.haproxy_timeout }} - #haproxy-connect-timeout: {{ os.api.haproxy_timeout }} -{% endif %} -{% endif %} -{% if os.api.worker_multiplier %} - #worker-multiplier: {{ os.api.worker_multiplier }} -{% endif %} -{% if os.network.dvr %} - #enable-dvr: true -{% endif %} -{% if os.network.l2_population %} - #l2-population: true -{% endif %} - region: {{ os.region }} -{% if ubuntu.release == 'trusty' %} - #source: "cloud:{{ ubuntu.release }}-{{ os.release }}" -{% endif %} - #openstack-origin: "cloud:{{ ubuntu.release }}-{{ os.release }}" -{% if ubuntu.release == 'xenial' %} -{% if os.release == 'newton' %} - #source: "cloud:{{ ubuntu.release }}-{{ os.release }}" -{% endif %} -{% endif %} -{% if os.ha.mode == 'nonha' %} -{% if opnfv.storage_dict.ceph is defined %} - #ceph-osd-replication-count: {{ unit_ceph_qty() }} -{% endif %} -{% endif %} - #admin-role: {{ os.admin.role }} - #keystone-admin-role: {{ os.admin.role }} -{% if os.beta.public_api %} - #use-internal-endpoints: true -{% endif %} diff --git a/ci/config_tpl/bundle_tpl/rabbitmq.yaml b/ci/config_tpl/bundle_tpl/rabbitmq.yaml deleted file mode 100644 index f7c27c1d..00000000 --- a/ci/config_tpl/bundle_tpl/rabbitmq.yaml +++ /dev/null @@ -1,18 +0,0 @@ - rabbitmq-server: - charm: "local:{{ ubuntu.release }}/rabbitmq-server" - num_units: {{ unit_qty() }} - options: -{% if opnfv.storage_dict.ceph is defined %} - ceph-osd-replication-count: {{ unit_ceph_qty() }} -{% endif %} -{% if os.network.ipv6 %} - prefer-ipv6: {{ os.network.ipv6 }} -{% endif %} -{% if os.ha.mode == 'ha' %} - vip: {{ opnfv.vip.rabbitmq }} - min-cluster-size: {{ unit_qty() }} -{% endif %} - to: -{% for unit_id in to_select() %} - - "lxc:nodes={{ unit_id }}" -{% endfor %} diff --git a/ci/config_tpl/bundle_tpl/relations.yaml b/ci/config_tpl/bundle_tpl/relations.yaml deleted file mode 100644 index 9eb860b9..00000000 --- a/ci/config_tpl/bundle_tpl/relations.yaml +++ /dev/null @@ -1,110 +0,0 @@ - - [ '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:shared-db', 'mysql:shared-db' ] -{% if opnfv.storage_dict.scaleio is defined %} - - [ 'cinder:storage-backend', 'scaleio-openstack:storage-backend' ] - - [ 'scaleio-mdm:scaleio-sds', 'scaleio-sds:scaleio-sds' ] -# - [ 'scaleio-mdm:scaleio-sds', 'scaleio-sds-pd2:scaleio-sds' ] - - [ 'scaleio-mdm:scaleio-mdm', 'scaleio-sdc:scaleio-mdm' ] - - [ 'scaleio-mdm:scaleio-mdm', 'scaleio-gw:scaleio-mdm' ] - - [ 'scaleio-openstack:scaleio-gw', 'scaleio-gw:scaleio-gw' ] - - [ 'nova-compute:ephemeral-backend', 'scaleio-openstack:ephemeral-backend' ] -{% else %} - - [ 'cinder-ceph:storage-backend', 'cinder:storage-backend' ] - - [ 'ceph:client', 'nova-compute:ceph' ] - - [ 'ceph:client', 'cinder-ceph:ceph' ] - - [ 'ceph:client', 'glance:ceph' ] - - [ 'ceph-osd:mon', 'ceph:osd' ] - - [ 'ceph-radosgw:mon', 'ceph:radosgw' ] - - [ 'ceph-radosgw:identity-service', 'keystone:identity-service' ] -{% if os.service.congress %} - - [ 'congress:shared-db', 'mysql:shared-db' ] - - [ 'congress:identity-service', 'keystone:identity-service' ] - - [ 'congress:amqp', 'rabbitmq-server:amqp' ] -{% endif %} -{% endif %} - - [ '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' ] - - [ 'aodh:amqp', 'rabbitmq-server:amqp' ] - - [ 'aodh:shared-db', 'mysql:shared-db' ] - - [ 'aodh:identity-service', 'keystone:identity-service' ] -{% 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' %} - - [ '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' ] -{% elif os.network.controller == 'onos' %} - - [ 'neutron-api:neutron-plugin-api-subordinate', 'neutron-api-onos:neutron-plugin-api-subordinate' ] - - [ 'nova-compute:neutron-plugin', 'openvswitch-onos:neutron-plugin' ] - - [ 'neutron-gateway', 'openvswitch-onos' ] - - [ 'openvswitch-onos:ovsdb-manager', 'onos-controller:ovsdb-manager' ] - - [ 'neutron-api-onos:onos-controller', 'onos-controller:controller-api' ] -{% elif os.network.controller == 'ocl' %} - - [ 'kafka', 'zookeeper' ] - - [ 'contrail-configuration:cassandra', 'cassandra:database' ] - - [ 'contrail-configuration:contrail-analytics-api', 'contrail-analytics:contrail-analytics-api' ] - - [ 'contrail-configuration', 'zookeeper' ] - - [ 'contrail-configuration', 'rabbitmq-server' ] - - [ 'contrail-configuration', 'keystone' ] - - [ 'contrail-configuration', 'haproxy' ] - - [ 'contrail-analytics:cassandra', 'cassandra:database' ] - - [ 'contrail-analytics:contrail-api', 'contrail-configuration:contrail-api' ] - - [ 'contrail-analytics:contrail-discovery', 'contrail-configuration:contrail-discovery' ] - - [ 'contrail-analytics', 'kafka' ] - - [ 'contrail-analytics', 'zookeeper' ] - - [ 'contrail-analytics', 'keystone' ] - - [ 'contrail-analytics', 'haproxy' ] - - [ 'contrail-control:contrail-discovery', 'contrail-configuration:contrail-discovery' ] - - [ 'contrail-control:contrail-ifmap', 'contrail-configuration:contrail-ifmap' ] - - [ 'contrail-control:contrail-api', 'contrail-configuration:contrail-api' ] - - [ 'contrail-control', 'keystone' ] - - [ 'neutron-api-contrail', 'contrail-configuration' ] - - [ 'neutron-api-contrail', 'keystone' ] - - [ 'contrail-webui', 'keystone' ] - - [ 'contrail-webui:contrail_api', 'contrail-configuration:contrail-api' ] - - [ 'contrail-webui:contrail_discovery', 'contrail-configuration:contrail-discovery' ] - - [ 'contrail-webui:cassandra', 'cassandra:database' ] - - [ 'contrail-webui', 'haproxy' ] - - [ 'neutron-contrail', 'keystone' ] - - [ 'neutron-contrail:contrail-discovery', 'contrail-configuration:contrail-discovery' ] - - [ 'neutron-contrail:contrail-api', 'contrail-configuration:contrail-api' ] - - [ 'haproxy', 'keepalived' ] - - [ 'ceilometer', 'ceilometer-contrail' ] - - [ 'ceilometer-contrail', 'contrail-analytics' ] -{% endif %} diff --git a/ci/config_tpl/bundle_tpl/scaleio.yaml b/ci/config_tpl/bundle_tpl/scaleio.yaml deleted file mode 100644 index a970dd0d..00000000 --- a/ci/config_tpl/bundle_tpl/scaleio.yaml +++ /dev/null @@ -1,54 +0,0 @@ -{% if opnfv.storage_dict.scaleio is defined %} - scaleio-mdm: - charm: "local:{{ ubuntu.release }}/scaleio-mdm" - num_units: {{ unit_scaleio_qty() }} - options: - cluster-mode: 3 - to: -{% if os.hyperconverged %} -{% for unit_id in range(0, 3) %} - - "nodes={{ unit_id }}" -{% endfor %} -{% else %} - - "nodes=0" - - "nodes-compute=0" - - "nodes-compute=1" -{% endif %} - scaleio-sds: - charm: "local:{{ ubuntu.release }}/scaleio-sds" - num_units: {{ opnfv.units }} - options: - protection-domain: 'pd1' - device-paths: {{ opnfv.storage_dict.scaleio.disk }} - to: -{% if os.hyperconverged %} -{% for unit_id in range(0, opnfv.units) %} - - "nodes={{ unit_id }}" -{% endfor %} -{% else %} -{% for unit_id in range(0, opnfv.units) %} - - "{{ unit_id }}" -{% endfor %} -{% endif %} - scaleio-sdc: - charm: "local:{{ ubuntu.release }}/scaleio-sdc" - num_units: {{ opnfv.units }} - to: -{% if os.hyperconverged %} -{% for unit_id in range(0, opnfv.units) %} - - "nodes={{ unit_id }}" -{% endfor %} -{% else %} -{% for unit_id in range(0, opnfv.units) %} - - "{{ unit_id }}" -{% endfor %} -{% endif %} - scaleio-gw: - charm: "local:{{ ubuntu.release }}/scaleio-gw" - to: - - "nodes=0" - scaleio-gui: - charm: "local:{{ ubuntu.release }}/scaleio-gui" - to: - - "nodes=0" -{% endif %} diff --git a/ci/config_tpl/bundle_tpl/subordinate.yaml b/ci/config_tpl/bundle_tpl/subordinate.yaml deleted file mode 100644 index b9233cef..00000000 --- a/ci/config_tpl/bundle_tpl/subordinate.yaml +++ /dev/null @@ -1,83 +0,0 @@ - - ceilometer-agent: - charm: local:{{ ubuntu.release }}/ceilometer-agent - options: - openstack-origin: "cloud:{{ ubuntu.release }}-{{ os.release }}" -{% if os.beta.public_api %} - use-internal-endpoints: true -{% endif %} -{% if opnfv.storage_dict.ceph is defined %} - cinder-ceph: - charm: local:{{ ubuntu.release }}/cinder-ceph - options: -{% if opnfv.storage_dict.ceph is defined %} - ceph-osd-replication-count: {{ unit_ceph_qty() }} -{% endif %} -{% endif %} -{% if os.network.controller == 'nosdn' %} -{% include 'neutron-ovs.yaml' %} -{% elif os.network.controller == 'odl' %} - 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 - options: -{% if opnfv.spaces_dict.data is defined %} - os-data-network: {{ opnfv.spaces_dict.data.cidr }} -{% endif %} -{% elif os.network.controller == 'onos' %} - neutron-api-onos: - charm: local:{{ ubuntu.release }}/neutron-api-onos - options: - overlay-network-type: 'vxlan' - security-groups: True - openvswitch-onos: - charm: local:{{ ubuntu.release }}/openvswitch-onos - options: -{% if opnfv.spaces_dict.data is defined %} - os-data-network: {{ opnfv.spaces_dict.data.cidr }} -{% endif %} -{% if os.network.sfc %} - profile: onos-sfc -{% endif %} -{% elif os.network.controller == 'ocl' %} - ceilometer-contrail: - charm: local:{{ ubuntu.release }}/ceilometer-contrail - options: - install-sources: | - - ppa:opencontrail/ppa - - ppa:opencontrail/trunk-20160812 - neutron-api-contrail: - charm: local:{{ ubuntu.release }}/neutron-api-contrail - options: - install-sources: | - - ppa:opencontrail/ppa - - ppa:opencontrail/trunk-20160812 - neutron-contrail: - charm: local:{{ ubuntu.release }}/neutron-contrail - options: - install-sources: | - - ppa:opencontrail/ppa - - ppa:opencontrail/trunk-20160812 - keepalived: - charm: local:{{ ubuntu.release }}/keepalived - options: - router-id: 1 -{% if os.ha.mode == 'ha' %} - virtual-ip: {{ opnfv.vip.keepalived }} -{% endif %} -{% endif %} -{% if os.lxd %} - lxd: - charm: local:{{ ubuntu.release }}/lxd - options: -{% endif %} -{% if opnfv.storage_dict.scaleio is defined %} - scaleio-openstack: - charm: local:{{ ubuntu.release }}/scaleio-openstack - options: - protection-domains: 'pd1' -{% endif %} diff --git a/ci/config_tpl/juju2/bundle_tpl/oclphase1.yaml b/ci/config_tpl/juju2/bundle_tpl/oclphase1.yaml index 28866fbe..ee743e93 100644 --- a/ci/config_tpl/juju2/bundle_tpl/oclphase1.yaml +++ b/ci/config_tpl/juju2/bundle_tpl/oclphase1.yaml @@ -1,76 +1,107 @@ - zookeeper: - charm: ./{{ ubuntu.release }}/zookeeper - num_units: {{ unit_qty() }} - series: {{ ubuntu.release }} - to: -{% for unit_id in to_select() %} - - "lxd:nodes/{{ unit_id }}" -{% endfor %} - cassandra: - charm: ./{{ ubuntu.release }}/cassandra - num_units: {{ unit_qty() }} - to: -{% for unit_id in to_select() %} - - "lxd:nodes/{{ unit_id }}" -{% endfor %} - options: - authenticator: AllowAllAuthenticator - contrail-configuration: - charm: ./{{ ubuntu.release }}/contrail-configuration - num_units: {{ unit_qty() }} + + contrail-openstack: + charm: ./{{ ubuntu.release }}/contrail-openstack options: - openstack-origin: "cloud:{{ ubuntu.release }}-{{ os.release }}" - install-sources: ppa:opencontrail/trunk-20160812 -{% if os.ha.mode == 'ha' %} - vip: {{ opnfv.vip.contrailconfig }} -{% endif %} - to: -{% for unit_id in to_select() %} - - "lxd:nodes/{{ unit_id }}" -{% endfor %} - contrail-control: - charm: ./{{ ubuntu.release }}/contrail-control - num_units: {{ unit_qty() }} + install-keys: | + - | + -----BEGIN PGP PUBLIC KEY BLOCK----- + Version: GnuPG v1 + + mQENBFkff8kBCADm+xSDvRjblHEZ5aISb/j6pdvgLL5Ht1SgJ6a8EJdRBJGIt3lP + 6Eurvmn4gxm7McelpFMWsDKy+Rr0GJ6Wjq6CwFzDi2Vvl2IQpafYuYLGaFYG1/73 + 0+O0LclwPnVezQ9wu/AWkD/y6YJFhxDCCeBplNf/pdRzZg2c6BBugMBN2s0nsqHN + xKqRDItR8OxeVdF70bmdSecemHmB7ccoCMD5F81E2IdUN8ATpRqJOVXOMt2BWrj+ + dhQK2Amzv/qzYdYOvqYqvFqTl6RNy4YkOJIVc45hBoYxlRpd18/fT3ejWM25WZ2b + d+c5MNGRV2+2lgqqzRgUehBo2f4RDT+p4fAxABEBAAG0CWNvbnRyYWlsNIkBOAQT + AQIAIgUCWR9/yQIbAwYLCQgHAwIGFQgCCQoLBBYCAwECHgECF4AACgkQcsuWr0gx + U0w58wgAg+nmWRSDYNU99MU5tEMMurWMkwpC1V0uB20cr5z7gREyAUN+HAWV8Ngz + R+DMaDQK6JHPkNu8xNgyfAB7sO795DKF2aSP3RhephXsDJdyb55zEsjzmsJiZ9JI + sdkSg/6zRKkkK9S0VqY5C9jhj6TCUOVuJjk56ynbS/0klwUjpf6qqutJg0LyIWn0 + o3vdpVr/PVJUTK9uOriNXtQPkvai+7jBEJ28zaDCilLhdX0Kg4gmpgpm8IlscDGK + dqxQiraGvK3fGmmQ1mk5jEk5ydQOGvVIJO5N/H6AgBJ+xIUSU3yzNVJlfBUnBrSO + OHdFNOPnSrwZuepQfht8vWgwTArczrkBDQRZH3/JAQgAzZMwPBVjpstYnThsgWO5 + HQ9kbsviVWK/4ZHceYujfJ/ovZn/b9TGsvmL9U1dMJbBbBO6cFh7GvKFoIoR8c7g + QPHbh+MwH7EyBizpJPE+Fg+YP4hlaLvKf3bzVor9nFP4FUF671gXCFwvSbTMh/pm + EnOM6p6E/dWD2Ag1rcEX2lXn1sKvO+0nEdmHra8c6EeGhwt/sJ8MMVx61ZgKi0/Z + UGmfwBR004Tb4XBbUPOYzIZqtsK9lBUeFs6v3mNaZCBxzTb3fIXnqX5o9d7F/8ya + a+S+sLqYzheCiJz5JpYxh2GovoeDkPczd8HeAK9REedEs12grZj3cxnVyZApbeX5 + yQARAQABiQEfBBgBAgAJBQJZH3/JAhsMAAoJEHLLlq9IMVNMRFAIAJzEv6Y0ngqU + jgcE+kd+nLGtSgQ4MRWD5y0s8cLP/M5WNtJNWy70038fG3/ilh8Y4HsfTDu4ZMHQ + mVM1lpJg/U08fUIiU+iQfVnckB+Oj/irc2FgUF2YJSJwZkwFaIv0u1NKkvKr8Qmt + jJuAuNv97uHLF9fkAJGUrLGZDk5MmCNdnQDkPEn7NaRMxf+1SvbGvPS3jGzGbR0p + Umtdm5/zs4kre7xS71d4F5De4d1bhTNT8weC9KDJdXXf8xsuF1NPlxU/Cv6XB78Y + W2I4/FMkyQOkVZyNz20SbupiZt0L0ldlnk1brf2hoKagmBLNU8bXKrQAkqQTxJcT + d+E671t4w94= + =Fbaq + -----END PGP PUBLIC KEY BLOCK----- + install-sources: | + - "deb http://10.102.44.96/contrail4 /" + + contrail-agent: + charm: ./{{ ubuntu.release }}/contrail-agent options: - openstack-origin: "cloud:{{ ubuntu.release }}-{{ os.release }}" - install-sources: ppa:opencontrail/trunk-20160812 - to: -{% for unit_id in to_select() %} - - "lxd:nodes/{{ unit_id }}" -{% endfor %} + install-keys: | + - | + -----BEGIN PGP PUBLIC KEY BLOCK----- + Version: GnuPG v1 + + mQENBFkff8kBCADm+xSDvRjblHEZ5aISb/j6pdvgLL5Ht1SgJ6a8EJdRBJGIt3lP + 6Eurvmn4gxm7McelpFMWsDKy+Rr0GJ6Wjq6CwFzDi2Vvl2IQpafYuYLGaFYG1/73 + 0+O0LclwPnVezQ9wu/AWkD/y6YJFhxDCCeBplNf/pdRzZg2c6BBugMBN2s0nsqHN + xKqRDItR8OxeVdF70bmdSecemHmB7ccoCMD5F81E2IdUN8ATpRqJOVXOMt2BWrj+ + dhQK2Amzv/qzYdYOvqYqvFqTl6RNy4YkOJIVc45hBoYxlRpd18/fT3ejWM25WZ2b + d+c5MNGRV2+2lgqqzRgUehBo2f4RDT+p4fAxABEBAAG0CWNvbnRyYWlsNIkBOAQT + AQIAIgUCWR9/yQIbAwYLCQgHAwIGFQgCCQoLBBYCAwECHgECF4AACgkQcsuWr0gx + U0w58wgAg+nmWRSDYNU99MU5tEMMurWMkwpC1V0uB20cr5z7gREyAUN+HAWV8Ngz + R+DMaDQK6JHPkNu8xNgyfAB7sO795DKF2aSP3RhephXsDJdyb55zEsjzmsJiZ9JI + sdkSg/6zRKkkK9S0VqY5C9jhj6TCUOVuJjk56ynbS/0klwUjpf6qqutJg0LyIWn0 + o3vdpVr/PVJUTK9uOriNXtQPkvai+7jBEJ28zaDCilLhdX0Kg4gmpgpm8IlscDGK + dqxQiraGvK3fGmmQ1mk5jEk5ydQOGvVIJO5N/H6AgBJ+xIUSU3yzNVJlfBUnBrSO + OHdFNOPnSrwZuepQfht8vWgwTArczrkBDQRZH3/JAQgAzZMwPBVjpstYnThsgWO5 + HQ9kbsviVWK/4ZHceYujfJ/ovZn/b9TGsvmL9U1dMJbBbBO6cFh7GvKFoIoR8c7g + QPHbh+MwH7EyBizpJPE+Fg+YP4hlaLvKf3bzVor9nFP4FUF671gXCFwvSbTMh/pm + EnOM6p6E/dWD2Ag1rcEX2lXn1sKvO+0nEdmHra8c6EeGhwt/sJ8MMVx61ZgKi0/Z + UGmfwBR004Tb4XBbUPOYzIZqtsK9lBUeFs6v3mNaZCBxzTb3fIXnqX5o9d7F/8ya + a+S+sLqYzheCiJz5JpYxh2GovoeDkPczd8HeAK9REedEs12grZj3cxnVyZApbeX5 + yQARAQABiQEfBBgBAgAJBQJZH3/JAhsMAAoJEHLLlq9IMVNMRFAIAJzEv6Y0ngqU + jgcE+kd+nLGtSgQ4MRWD5y0s8cLP/M5WNtJNWy70038fG3/ilh8Y4HsfTDu4ZMHQ + mVM1lpJg/U08fUIiU+iQfVnckB+Oj/irc2FgUF2YJSJwZkwFaIv0u1NKkvKr8Qmt + jJuAuNv97uHLF9fkAJGUrLGZDk5MmCNdnQDkPEn7NaRMxf+1SvbGvPS3jGzGbR0p + Umtdm5/zs4kre7xS71d4F5De4d1bhTNT8weC9KDJdXXf8xsuF1NPlxU/Cv6XB78Y + W2I4/FMkyQOkVZyNz20SbupiZt0L0ldlnk1brf2hoKagmBLNU8bXKrQAkqQTxJcT + d+E671t4w94= + =Fbaq + -----END PGP PUBLIC KEY BLOCK----- + install-sources: | + - "deb http://10.102.44.96/contrail4 /" + contrail-analytics: charm: ./{{ ubuntu.release }}/contrail-analytics num_units: {{ unit_qty() }} - options: - openstack-origin: "cloud:{{ ubuntu.release }}-{{ os.release }}" - install-sources: ppa:opencontrail/trunk-20160812 to: {% for unit_id in to_select() %} - - "lxd:nodes/{{ unit_id }}" + - "nodes/{{ unit_id }}" {% endfor %} - contrail-webui: - charm: ./{{ ubuntu.release }}/contrail-webui + + contrail-analyticsdb: + charm: ./{{ ubuntu.release }}/contrail-analyticsdb num_units: {{ unit_qty() }} - options: - install-sources: ppa:opencontrail/trunk-20160812 to: {% for unit_id in to_select() %} - - "lxd:nodes/{{ unit_id }}" + - "nodes/{{ unit_id }}" {% endfor %} - haproxy: - charm: ./{{ ubuntu.release }}/haproxy + + contrail-controller: + charm: ./{{ ubuntu.release }}/contrail-controller num_units: {{ unit_qty() }} - options: - peering_mode: active-active to: {% for unit_id in to_select() %} - - "lxd:nodes/{{ unit_id }}" + - "nodes/{{ unit_id }}" {% endfor %} - kafka: - charm: ./{{ ubuntu.release }}/kafka - num_units: {{ unit_qty() }} + + contrail-keystone-auth: + charm: ./{{ ubuntu.release }}/contrail-keystone-auth + num_units: 1 to: -{% for unit_id in to_select() %} - - "lxd:nodes/{{ unit_id }}" -{% endfor %} + - "lxd:nodes/0" diff --git a/ci/config_tpl/juju2/bundle_tpl/relations.yaml b/ci/config_tpl/juju2/bundle_tpl/relations.yaml index 012d696d..7d7f41b3 100644 --- a/ci/config_tpl/juju2/bundle_tpl/relations.yaml +++ b/ci/config_tpl/juju2/bundle_tpl/relations.yaml @@ -76,35 +76,14 @@ - [ 'openvswitch-onos:ovsdb-manager', 'onos-controller:ovsdb-manager' ] - [ 'neutron-api-onos:onos-controller', 'onos-controller:controller-api' ] {% elif os.network.controller == 'ocl' %} - - [ 'kafka', 'zookeeper' ] - - [ 'contrail-configuration:cassandra', 'cassandra:database' ] - - [ 'contrail-configuration:contrail-analytics-api', 'contrail-analytics:contrail-analytics-api' ] - - [ 'contrail-configuration', 'zookeeper' ] - - [ 'contrail-configuration', 'rabbitmq-server' ] - - [ 'contrail-configuration', 'keystone' ] - - [ 'contrail-configuration', 'haproxy' ] - - [ 'contrail-analytics:cassandra', 'cassandra:database' ] - - [ 'contrail-analytics:contrail-api', 'contrail-configuration:contrail-api' ] - - [ 'contrail-analytics:contrail-discovery', 'contrail-configuration:contrail-discovery' ] - - [ 'contrail-analytics', 'kafka' ] - - [ 'contrail-analytics', 'zookeeper' ] - - [ 'contrail-analytics', 'keystone' ] - - [ 'contrail-analytics', 'haproxy' ] - - [ 'contrail-control:contrail-discovery', 'contrail-configuration:contrail-discovery' ] - - [ 'contrail-control:contrail-ifmap', 'contrail-configuration:contrail-ifmap' ] - - [ 'contrail-control:contrail-api', 'contrail-configuration:contrail-api' ] - - [ 'contrail-control', 'keystone' ] - - [ 'neutron-api-contrail', 'contrail-configuration' ] - - [ 'neutron-api-contrail', 'keystone' ] - - [ 'contrail-webui', 'keystone' ] - - [ 'contrail-webui:contrail_api', 'contrail-configuration:contrail-api' ] - - [ 'contrail-webui:contrail_discovery', 'contrail-configuration:contrail-discovery' ] - - [ 'contrail-webui:cassandra', 'cassandra:database' ] - - [ 'contrail-webui', 'haproxy' ] - - [ 'neutron-contrail', 'keystone' ] - - [ 'neutron-contrail:contrail-discovery', 'contrail-configuration:contrail-discovery' ] - - [ 'neutron-contrail:contrail-api', 'contrail-configuration:contrail-api' ] - - [ 'haproxy', 'keepalived' ] - - [ 'ceilometer', 'ceilometer-contrail' ] - - [ 'ceilometer-contrail', 'contrail-analytics' ] + - [ 'contrail-keystone-auth', 'keystone' ] + - [ 'contrail-controller', 'contrail-keystone-auth' ] + - [ 'contrail-analytics', 'contrail-analyticsdb' ] + - [ 'contrail-controller', 'contrail-analytics' ] + - [ 'contrail-controller', 'contrail-analyticsdb' ] + - [ 'contrail-openstack', 'nova-compute' ] + - [ 'contrail-openstack', 'neutron-api' ] + - [ 'contrail-openstack', 'contrail-controller' ] + - [ 'contrail-agent:juju-info', 'nova-compute:juju-info' ] + - [ 'contrail-agent', 'contrail-controller'] {% endif %} diff --git a/ci/config_tpl/juju2/bundle_tpl/subordinate.yaml b/ci/config_tpl/juju2/bundle_tpl/subordinate.yaml index c9378d91..07b0cc7a 100644 --- a/ci/config_tpl/juju2/bundle_tpl/subordinate.yaml +++ b/ci/config_tpl/juju2/bundle_tpl/subordinate.yaml @@ -48,26 +48,6 @@ {% if os.network.sfc %} profile: onos-sfc {% endif %} -{% elif os.network.controller == 'ocl' %} - ceilometer-contrail: - charm: ./{{ ubuntu.release }}/ceilometer-contrail - options: - install-sources: ppa:opencontrail/trunk-20160812 - neutron-api-contrail: - charm: ./{{ ubuntu.release }}/neutron-api-contrail - options: - install-sources: ppa:opencontrail/trunk-20160812 - neutron-contrail: - charm: ./{{ ubuntu.release }}/neutron-contrail - options: - install-sources: ppa:opencontrail/trunk-20160812 - keepalived: - charm: ./{{ ubuntu.release }}/keepalived - options: - router-id: 1 -{% if os.ha.mode == 'ha' %} - virtual-ip: {{ opnfv.vip.keepalived }} -{% endif %} {% endif %} {% if os.lxd %} lxd: diff --git a/ci/config_tpl/maas_tpl/deployment.yaml b/ci/config_tpl/maas_tpl/deployment.yaml deleted file mode 100644 index b57ec01c..00000000 --- a/ci/config_tpl/maas_tpl/deployment.yaml +++ /dev/null @@ -1,45 +0,0 @@ -opnfv-{{ lab.location }}{{ lab.racks[0].rack }}-maas: - juju-bootstrap: -{% include 'juju-bootstrap.yaml' %} - maas: - apt_sources: - - ppa:maas/stable - - ppa:juju/stable - arch: amd64 - boot_source: - keyring_filename: /usr/share/keyrings/ubuntu-cloudimage-keyring.gpg - selections: - '1': - arches: amd64 - labels: release - os: ubuntu - release: xenial - subarches: '*' - url: http://maas.ubuntu.com/images/ephemeral-v2/releases/ - disk_size: 160G - interfaces: -{% for net in opnfv.spaces %} - - bridge={{ net.bridge }},model=virtio -{% endfor %} - ip_address: {{ opnfv.spaces_dict.admin.cidr[:-4] }}5 - memory: 4096 - name: opnfv-{{ lab.location }}{{ lab.racks[0].rack }} - network_config: | -{% include 'maas-network_config.yaml' %} - node_group_ifaces: -{% include 'maas-node_group_ifaces.yaml' %} - nodes: -{% include 'maas-nodes.yaml' %} - password: ubuntu - pool: default - release: trusty - settings: - maas_name: {{ lab.location }}{{ lab.racks[0].rack }} - main_archive: http://archive.ubuntu.com/ubuntu - upstream_dns: {{ lab.racks[0].dns }} - user: ubuntu - vcpus: 4 - virsh: - rsa_priv_key: {{ os.home }}/.ssh/id_rsa - rsa_pub_key: {{ os.home }}/.ssh/id_rsa.pub - uri: qemu+ssh://{{ os.user }}@{{ os.brAdmIP }}/system diff --git a/ci/config_tpl/maas_tpl/juju-bootstrap.yaml b/ci/config_tpl/maas_tpl/juju-bootstrap.yaml deleted file mode 100644 index 533c62cc..00000000 --- a/ci/config_tpl/maas_tpl/juju-bootstrap.yaml +++ /dev/null @@ -1,13 +0,0 @@ - arch: amd64 - disk_size: 60G - interfaces: -{% for net in ['admin','public','external'] %} -{% if net in opnfv.spaces_dict %} - - bridge={{ opnfv.spaces_dict[net].bridge }},model=virtio -{% endif %} -{% endfor %} - memory: 4096 - name: bootstrap - pool: default - vcpus: 4 -{# Empty block to avoid bad block trim #} diff --git a/ci/config_tpl/maas_tpl/maas-network_config.yaml b/ci/config_tpl/maas_tpl/maas-network_config.yaml deleted file mode 100644 index 6188a515..00000000 --- a/ci/config_tpl/maas_tpl/maas-network_config.yaml +++ /dev/null @@ -1,20 +0,0 @@ - auto lo - iface lo inet loopback -{% set ethid = 0 %} -{% for net in opnfv.spaces %} - - auto eth{{ ethid }} - iface eth{{ ethid }} inet static - netmask 255.255.255.0 -{% if net.type!='external' %} -{% set net_prefix = net.cidr[:-4] %} - address {{ net_prefix }}5 -{% else %} - address {{ net.ipaddress }} -{% endif %} -{% if net.type=='admin' %} - gateway {{ net.gateway }} - dns-nameservers {{ lab.racks[0].dns }} {{ net_prefix }}5 127.0.0.1 -{% endif %} -{% set ethid = ethid+1 %} -{% endfor %} diff --git a/ci/config_tpl/maas_tpl/maas-node_group_ifaces.yaml b/ci/config_tpl/maas_tpl/maas-node_group_ifaces.yaml deleted file mode 100644 index 578c89fb..00000000 --- a/ci/config_tpl/maas_tpl/maas-node_group_ifaces.yaml +++ /dev/null @@ -1,23 +0,0 @@ -{% set ethid = 0 %} -{% for net in opnfv.spaces %} -{% if net.type!='external' %} -{% set net_prefix = net.cidr[:-4] %} - - broadcast_ip: {{ net_prefix }}255 - device: eth{{ ethid }} - dynamic_range: - high: {{ net_prefix }}250 - low: {{ net_prefix }}81 - ip: {{ net_prefix }}5 -{% if net.gateway!= None %} - router_ip: {{ net.gateway }} -{% endif %} -{% if net.type!='admin' %} - management: 1 -{% endif %} - static_range: - high: {{ net_prefix }}80 - low: {{ net_prefix }}50 - subnet_mask: 255.255.255.0 -{% set ethid = ethid+1 %} -{% endif %} -{% endfor %} diff --git a/ci/config_tpl/maas_tpl/maas-nodes.yaml b/ci/config_tpl/maas_tpl/maas-nodes.yaml deleted file mode 100644 index e32dd7ca..00000000 --- a/ci/config_tpl/maas_tpl/maas-nodes.yaml +++ /dev/null @@ -1,28 +0,0 @@ -{% for node in lab.racks[0].nodes %} - - interfaces: -{% for nic in node.nics %} - - mac_address: {{ nic.mac[0] }} - mode: auto - name: {{ nic.ifname }} -{% endfor %} -{% if node.architecture=='x86_64' %} - architecture: amd64/generic -{% endif %} - mac_addresses: -{% for nic in node.nics %} - - {{ nic.mac[0] }} -{% endfor %} - name: {{ node.name }} - power: -{% if node.power.type=='ipmi' %} - address: {{ node.power.address }} - driver: LAN_2_0 - pass: {{ node.power.pass }} - type: ipmi - user: {{ node.power.user }} -{% elif node.power.type=='wakeonlan' %} - type: ether_wake - mac_address: {{ node.power.mac_address }} -{% endif %} - tags: {{ ' '.join(node.roles) }} -{% endfor %} |