summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--ci/common/scaleio.tarbin0 -> 1822720 bytes
-rw-r--r--ci/config_tpl/bundle_tpl/bundle.yaml4
-rw-r--r--ci/config_tpl/bundle_tpl/cinder.yaml8
-rw-r--r--ci/config_tpl/bundle_tpl/phase2-overrides.yaml2
-rw-r--r--ci/config_tpl/bundle_tpl/relations.yaml12
-rw-r--r--ci/config_tpl/bundle_tpl/scaleio.yaml54
-rw-r--r--ci/config_tpl/bundle_tpl/subordinate.yaml6
-rw-r--r--ci/config_tpl/deployconfig.yaml4
-rw-r--r--ci/genBundle.py4
-rw-r--r--labconfig/intel/pod9/labconfig.yaml2
10 files changed, 93 insertions, 3 deletions
diff --git a/ci/common/scaleio.tar b/ci/common/scaleio.tar
new file mode 100644
index 00000000..8cb8d46d
--- /dev/null
+++ b/ci/common/scaleio.tar
Binary files 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,8 +27,10 @@
{% 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 }}
{% if os.beta.public_api %}
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
diff --git a/labconfig/intel/pod9/labconfig.yaml b/labconfig/intel/pod9/labconfig.yaml
index 62175432..8f4afb15 100644
--- a/labconfig/intel/pod9/labconfig.yaml
+++ b/labconfig/intel/pod9/labconfig.yaml
@@ -123,7 +123,7 @@ opnfv:
sdncontroller:
- type: nosdn
storage:
- - type: ceph
+ - type: scaleio
disk: /dev/sdb
feature: odl_l2
spaces: