From dfc43c69179c1305be42e524c2bfc357aaf87dfd Mon Sep 17 00:00:00 2001 From: Narinder Gupta Date: Thu, 15 Sep 2016 23:57:41 -0500 Subject: modified to accomodate the scaleio bundles and charms. Change-Id: I1ec22684a67d02c8727cf620cc673aa70cfb0073 Signed-off-by: Narinder Gupta --- ci/common/scaleio.tar | Bin 0 -> 1822720 bytes ci/config_tpl/bundle_tpl/bundle.yaml | 4 ++ ci/config_tpl/bundle_tpl/cinder.yaml | 8 ++++ ci/config_tpl/bundle_tpl/phase2-overrides.yaml | 2 + ci/config_tpl/bundle_tpl/relations.yaml | 12 +++++- ci/config_tpl/bundle_tpl/scaleio.yaml | 54 +++++++++++++++++++++++++ ci/config_tpl/bundle_tpl/subordinate.yaml | 6 +++ ci/config_tpl/deployconfig.yaml | 4 +- ci/genBundle.py | 4 ++ 9 files changed, 92 insertions(+), 2 deletions(-) create mode 100644 ci/common/scaleio.tar create mode 100644 ci/config_tpl/bundle_tpl/scaleio.yaml (limited to 'ci') diff --git a/ci/common/scaleio.tar b/ci/common/scaleio.tar new file mode 100644 index 00000000..8cb8d46d Binary files /dev/null and b/ci/common/scaleio.tar differ diff --git a/ci/config_tpl/bundle_tpl/bundle.yaml b/ci/config_tpl/bundle_tpl/bundle.yaml index a5aa5578..507241af 100644 --- a/ci/config_tpl/bundle_tpl/bundle.yaml +++ b/ci/config_tpl/bundle_tpl/bundle.yaml @@ -39,7 +39,11 @@ openstack-phase1: {% 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' %} {% include 'opnfv-promise.yaml' %} diff --git a/ci/config_tpl/bundle_tpl/cinder.yaml b/ci/config_tpl/bundle_tpl/cinder.yaml index 4c417472..1d703721 100644 --- a/ci/config_tpl/bundle_tpl/cinder.yaml +++ b/ci/config_tpl/bundle_tpl/cinder.yaml @@ -1,6 +1,10 @@ cinder: charm: "local:{{ ubuntu.release }}/cinder" +{% if opnfv.storage_dict.scaleio is defined %} + num_units: 1 +{% else %} num_units: {{ unit_qty() }} +{% endif %} options: {% if os.ha.mode == 'ha' %} vip: {{ opnfv.vip.cinder }} @@ -11,6 +15,10 @@ block-device: None glance-api-version: 2 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/phase2-overrides.yaml b/ci/config_tpl/bundle_tpl/phase2-overrides.yaml index ebefeab7..d8235286 100644 --- a/ci/config_tpl/bundle_tpl/phase2-overrides.yaml +++ b/ci/config_tpl/bundle_tpl/phase2-overrides.yaml @@ -27,7 +27,9 @@ {% endif %} openstack-origin: "cloud:{{ ubuntu.release }}-{{ os.release }}" {% 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 }} diff --git a/ci/config_tpl/bundle_tpl/relations.yaml b/ci/config_tpl/bundle_tpl/relations.yaml index 4cf24385..7b925f6d 100644 --- a/ci/config_tpl/bundle_tpl/relations.yaml +++ b/ci/config_tpl/bundle_tpl/relations.yaml @@ -21,14 +21,24 @@ - [ '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' ] - - [ 'cinder:shared-db', 'mysql:shared-db' ] - [ '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' ] +{% endif %} - [ 'ceilometer:amqp', 'rabbitmq-server:amqp' ] - [ 'ceilometer-agent:ceilometer-service', 'ceilometer:ceilometer-service' ] - [ 'ceilometer:identity-service', 'keystone:identity-service' ] diff --git a/ci/config_tpl/bundle_tpl/scaleio.yaml b/ci/config_tpl/bundle_tpl/scaleio.yaml new file mode 100644 index 00000000..a970dd0d --- /dev/null +++ b/ci/config_tpl/bundle_tpl/scaleio.yaml @@ -0,0 +1,54 @@ +{% 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 index fa3d3743..48ad33bb 100644 --- a/ci/config_tpl/bundle_tpl/subordinate.yaml +++ b/ci/config_tpl/bundle_tpl/subordinate.yaml @@ -49,3 +49,9 @@ lxd: charm: local:{{ ubuntu.release }}/lxd {% 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/deployconfig.yaml b/ci/config_tpl/deployconfig.yaml index c190d1dd..5b880926 100644 --- a/ci/config_tpl/deployconfig.yaml +++ b/ci/config_tpl/deployconfig.yaml @@ -3,7 +3,9 @@ opnfv: admNetgway: {{ opnfv.spaces_dict.admin.gateway }} admNetwork: {{ net_prefix }}2 admin_password: openstack - ceph-disk: {{ opnfv.storage_dict.ceph.disk }} +{% if opnfv.storage_dict.ceph is defined %} + ceph-disk: {{ opnfv.storage_dict.ceph.disk }} +{% endif %} {% if opnfv.spaces_dict.data is defined %} dataNetwork: {{ opnfv.spaces_dict.data.cidr }} {% endif %} diff --git a/ci/genBundle.py b/ci/genBundle.py index 499cd63a..55f3f6eb 100644 --- a/ci/genBundle.py +++ b/ci/genBundle.py @@ -81,6 +81,9 @@ def unit_ceph_qty(): else: return 2 +def unit_scaleio_qty(): + """Return size of the scaleio cluster""" + return 3 def to_select(qty=False): """Return a random list of machines numbers to deploy""" @@ -206,6 +209,7 @@ template = env.get_template('bundle.yaml') env.globals.update(get_password=get_password) env.globals.update(unit_qty=unit_qty) env.globals.update(unit_ceph_qty=unit_ceph_qty) +env.globals.update(unit_scaleio_qty=unit_scaleio_qty) env.globals.update(to_select=to_select) # Render the template -- cgit 1.2.3-korg