Shorten VDU names
Change-Id: Ibad9e8abcb1deaf149f4990525518ae5df598ac8
Signed-off-by: chamarty <ravi.chamarty@riftio.com>
diff --git a/rwcal/plugins/vala/rwcal_openstack/rift/rwcal/openstack/utils/compute.py b/rwcal/plugins/vala/rwcal_openstack/rift/rwcal/openstack/utils/compute.py
index fc053c2..5538201 100644
--- a/rwcal/plugins/vala/rwcal_openstack/rift/rwcal/openstack/utils/compute.py
+++ b/rwcal/plugins/vala/rwcal_openstack/rift/rwcal/openstack/utils/compute.py
@@ -283,6 +283,12 @@
}
"""
kwargs = dict()
+ metadata = dict()
+
+ if vdu_params.has_field('node_id'):
+ metadata['rift_node_id'] = vdu_params.node_id
+ kwargs['metadata'] = metadata
+
if vdu_params.has_field('vdu_init') and vdu_params.vdu_init.has_field('userdata'):
kwargs['userdata'] = vdu_params.vdu_init.userdata
else:
@@ -302,11 +308,15 @@
else:
kwargs['config_drive'] = False
- if vdu_params.supplemental_boot_data.has_field('custom_meta_data'):
- metadata = dict()
- for cm in vdu_params.supplemental_boot_data.custom_meta_data:
- metadata[cm] = cm.value
- kwargs['metadata'] = metadata
+ try:
+ # Rift model only
+ if vdu_params.supplemental_boot_data.has_field('custom_meta_data'):
+ metadata = dict()
+ for cm in vdu_params.supplemental_boot_data.custom_meta_data:
+ metadata[cm.name] = cm.value
+ kwargs['metadata'] = metadata
+ except Exception as e:
+ pass
return kwargs
@@ -490,6 +500,38 @@
else:
return str()
+ def _parse_vdu_boot_config_data(self, vm_info):
+ """
+ Parses VDU supplemental boot data
+ Arguments:
+ vm_info : A dictionary returned by novaclient library listing VM attributes
+
+ Returns:
+ List of RwcalYang.VDUInfoParams_SupplementalBootData()
+ """
+ supplemental_boot_data = None
+ node_id = None
+ if 'config_drive' in vm_info:
+ supplemental_boot_data = RwcalYang.VDUInfoParams_SupplementalBootData()
+ supplemental_boot_data.boot_data_drive = vm_info['config_drive']
+ # Look for any metadata
+ if 'metadata' not in vm_info:
+ return node_id, supplemental_boot_data
+ if supplemental_boot_data is None:
+ supplemental_boot_data = RwcalYang.VDUInfoParams_SupplementalBootData()
+ for key, value in vm_info['metadata'].items():
+ if key == 'rift_node_id':
+ node_id = value
+ else:
+ try:
+ # rift only
+ cm = supplemental_boot_data.custom_meta_data.add()
+ cm.name = key
+ cm.value = str(value)
+ except Exception as e:
+ pass
+ return node_id, supplemental_boot_data
+
def _parse_vdu_volume_info(self, vm_info):
"""
Get VDU server group information
@@ -595,6 +637,8 @@
ha = vdu.host_aggregate.add()
ha.from_dict(aggr.as_dict())
+ vdu.node_id, vdu.supplemental_boot_data = self._parse_vdu_boot_config_data(vm_info)
+
cp_list = self._parse_vdu_cp_info(vdu.vdu_id)
for cp in cp_list:
vdu.connection_points.append(cp)
diff --git a/rwcal/test/test_rwcal_openstack.py b/rwcal/test/test_rwcal_openstack.py
index 6b0a247..654e1a3 100644
--- a/rwcal/test/test_rwcal_openstack.py
+++ b/rwcal/test/test_rwcal_openstack.py
@@ -28,7 +28,7 @@
from gi.repository import RwcalYang
from gi.repository.RwTypes import RwStatus
-from rift.rwcal.openstack.openstack_drv import KeystoneDriver, NovaDriver, KeystoneDriverV3, KeystoneDriverV2
+#from rift.rwcal.openstack.openstack_drv import KeystoneDriver, NovaDriver, KeystoneDriverV3, KeystoneDriverV2
logger = logging.getLogger('rwcal-openstack')
@@ -43,10 +43,10 @@
# Important information about openstack installation. This needs to be manually verified
#
openstack_info = {
- 'username' : 'pluto',
- 'password' : 'mypasswd',
- 'auth_url' : 'http://10.66.4.17:5000/v3/',
- 'project_name' : 'demo',
+ 'username' : 'xxxxxx',
+ 'password' : 'xxxxxx',
+ 'auth_url' : 'http://10.66.4.102:5000/v2.0/',
+ 'project_name' : 'xxxxxx',
'mgmt_network' : 'private',
'reserved_flavor' : 'm1.medium',
'reserved_image' : 'Fedora-x86_64-20-20131211.1-sda-ping.qcow2',
@@ -544,6 +544,7 @@
rc = self.cal.do_delete_flavor(self._acct, flavor_id)
self.assertEqual(rc, RwStatus.SUCCESS)
+ '''
@unittest.skip("Skipping test_expiry_token")
def test_expiry_token(self):
"""
@@ -664,6 +665,7 @@
except Exception:
auth_exp = True
self.assertFalse(auth_exp)
+ '''
@unittest.skip("Skipping test_vm_operations")
def test_vm_operations(self):
@@ -929,17 +931,23 @@
vdu.name = "cal.vdu"
vdu.node_id = OpenStackTest.NodeID
vdu.image_id = self._image.id
+ vdu.vm_flavor.memory_mb = 512
+ vdu.vm_flavor.vcpu_count = 1
+ vdu.vm_flavor.storage_gb = 4
vdu.flavor_id = self._flavor.id
vdu.vdu_init.userdata = PING_USERDATA
vdu.allocate_public_address = True
- meta1 = vdu.supplemental_boot_data.custom_meta_data.add()
- meta1.name = "EMS_IP"
- meta1.data_type = "STRING"
- meta1.value = "10.5.6.6"
- #meta2 = vdu.supplemental_boot_data.custom_meta_data.add()
- #meta2.name = "Cluster_data"
- #meta2.data_type = "JSON"
- #meta2.value = '''{ "cluster_id": "12" , "vnfc_id": "112" }'''
+ try:
+ meta1 = vdu.supplemental_boot_data.custom_meta_data.add()
+ meta1.name = "EMS_IP"
+ meta1.data_type = "STRING"
+ meta1.value = "10.5.6.6"
+ #meta2 = vdu.supplemental_boot_data.custom_meta_data.add()
+ #meta2.name = "Cluster_data"
+ #meta2.data_type = "JSON"
+ #meta2.value = '''{ "cluster_id": "12" , "vnfc_id": "112" }'''
+ except Exception as e:
+ pass
#vdu.supplemental_boot_data.boot_data_drive = True
customfile1 = vdu.supplemental_boot_data.config_file.add()
customfile1.source = "abcdef124"
@@ -965,7 +973,7 @@
return vdu
- @unittest.skip("Skipping test_create_delete_virtual_link_and_vdu")
+ #@unittest.skip("Skipping test_create_delete_virtual_link_and_vdu")
def test_create_delete_virtual_link_and_vdu(self):
"""
Test to create VDU
@@ -1054,7 +1062,9 @@
"""
vdu = RwcalYang.VDUInitParams()
vdu.name = "cal_vdu"
- vdu.flavor_id = self._flavor.id
+ vdu.vm_flavor.memory_mb = 512
+ vdu.vm_flavor.vcpu_count = 1
+ vdu.vm_flavor.storage_gb = 4
vdu.allocate_public_address = True
ctr = 0
for vl in vlink_list:
@@ -1068,16 +1078,22 @@
vol0.name = "vda"
vol0.image = openstack_info['reserved_image']
vol0.size = 10
- vol0.boot_priority = 0
+ try:
+ vol0.boot_priority = 0
+ except Exception as e:
+ pass
vol0.device_type = "disk"
- meta1 = vol0.custom_meta_data.add()
- meta1.name = "fs_type"
- meta1.data_type = "STRING"
- meta1.value = "ext4"
+ try:
+ meta1 = vol0.custom_meta_data.add()
+ meta1.name = "fs_type"
+ meta1.data_type = "STRING"
+ meta1.value = "ext4"
+ except Exception as e:
+ pass
return vdu
- #@unittest.skip("Skipping test_create_vol_vdu")
+ @unittest.skip("Skipping test_create_vol_vdu")
def test_create_vol_vdu(self):
"""
Test to create VDU with mgmt port using Volumes