Merge "Add specific tenant to vnf resources"
This commit is contained in:
@@ -265,6 +265,7 @@ class VnfResource(model_base.BASE, models.SoftDeleteMixin,
|
||||
resource_type = sa.Column(sa.String(255), nullable=False)
|
||||
resource_identifier = sa.Column(sa.String(255), nullable=False)
|
||||
resource_status = sa.Column(sa.String(255), nullable=False)
|
||||
tenant_id = sa.Column('tenant_id', sa.String(length=64), nullable=False)
|
||||
|
||||
|
||||
class VnfLcmFilters(model_base.BASE):
|
||||
|
||||
@@ -37,3 +37,7 @@ def upgrade(active_plugins=None, options=None):
|
||||
op.add_column('vnf_lcm_op_occs',
|
||||
sa.Column('tenant_id', sa.String(length=64),
|
||||
nullable=False))
|
||||
|
||||
op.add_column('vnf_resources',
|
||||
sa.Column('tenant_id', sa.String(length=64),
|
||||
nullable=False))
|
||||
|
||||
@@ -106,7 +106,8 @@ class VnfResource(base.TackerObject, base.TackerPersistentObject):
|
||||
'resource_name': fields.StringField(nullable=True),
|
||||
'resource_type': fields.StringField(nullable=False),
|
||||
'resource_identifier': fields.StringField(nullable=False),
|
||||
'resource_status': fields.StringField(nullable=True, default='status')
|
||||
'resource_status': fields.StringField(nullable=True, default='status'),
|
||||
'tenant_id': fields.StringField(nullable=False)
|
||||
}
|
||||
|
||||
def __init__(self, context=None, **kwargs):
|
||||
|
||||
@@ -299,7 +299,8 @@ def fake_vnf_resource_data(instance_id):
|
||||
'resource_name': "test",
|
||||
'resource_type': "image",
|
||||
'resource_identifier': uuidsentinel.image_id,
|
||||
'resource_status': "status"
|
||||
'resource_status': "status",
|
||||
'tenant_id': uuidsentinel.tenant_id
|
||||
}
|
||||
|
||||
|
||||
|
||||
@@ -59,6 +59,7 @@ class TestVnfResource(SqlTestCase):
|
||||
**fakes.fake_vnf_resource_data(self.vnf_instance.id))
|
||||
vnf_resource.create()
|
||||
self.assertTrue(vnf_resource.id)
|
||||
self.assertTrue(vnf_resource.tenant_id)
|
||||
|
||||
def test_create_with_id(self):
|
||||
|
||||
|
||||
@@ -1051,6 +1051,7 @@ def get_vnf_resource_list(kind, name='fake_name'):
|
||||
vnf_resource.vnf_instance_id = uuidsentinel.vnf_instance_id
|
||||
vnf_resource.resource_name = name
|
||||
vnf_resource.resource_type = f"v1,{kind}"
|
||||
vnf_resource.tenant_id = uuidsentinel.tenant_id
|
||||
return [vnf_resource]
|
||||
|
||||
|
||||
|
||||
@@ -598,6 +598,7 @@ class TestKubernetes(base.TestCase):
|
||||
vnf_resource.resource_type = "v1,Pod"
|
||||
vnf_resource.resource_identifier = ''
|
||||
vnf_resource.resource_status = ''
|
||||
vnf_resource.tenant_id = vnf_instance.tenant_id
|
||||
|
||||
self.assertRaises(exceptions.VnfArtifactNotFound,
|
||||
self.kubernetes.pre_instantiation_vnf,
|
||||
@@ -702,6 +703,7 @@ class TestKubernetes(base.TestCase):
|
||||
vnf_resource.vnf_instance_id = vnf_instance_id
|
||||
vnf_resource.resource_name = resource_name
|
||||
vnf_resource.resource_type = resource_type
|
||||
vnf_resource.tenant_id = vnf_instance.tenant_id
|
||||
mock_vnf_resource_list.return_value = [vnf_resource]
|
||||
self.kubernetes.delete(plugin=None, context=self.context,
|
||||
vnf_id=vnf_id,
|
||||
@@ -1192,14 +1194,17 @@ class TestKubernetes(base.TestCase):
|
||||
vnf_resource1.vnf_instance_id = vnf_instance_id
|
||||
vnf_resource1.resource_name = "fake_name1"
|
||||
vnf_resource1.resource_type = "storage.k8s.io/v1,StorageClass"
|
||||
vnf_resource1.tenant_id = vnf_instance.tenant_id
|
||||
vnf_resource2 = models.VnfResource()
|
||||
vnf_resource2.vnf_instance_id = vnf_instance_id
|
||||
vnf_resource2.resource_name = "fake_name2"
|
||||
vnf_resource2.resource_type = "v1,PersistentVolume"
|
||||
vnf_resource2.tenant_id = vnf_instance.tenant_id
|
||||
vnf_resource3 = models.VnfResource()
|
||||
vnf_resource3.vnf_instance_id = vnf_instance_id
|
||||
vnf_resource3.resource_name = "fake_name3"
|
||||
vnf_resource3.resource_type = "v1,PersistentVolumeClaim"
|
||||
vnf_resource3.tenant_id = vnf_instance.tenant_id
|
||||
mock_vnf_resource_list.return_value = \
|
||||
[vnf_resource1, vnf_resource2, vnf_resource3]
|
||||
mock_delete_storage_class.return_value = client.V1Status()
|
||||
@@ -1283,6 +1288,7 @@ class TestKubernetes(base.TestCase):
|
||||
vnf_resource.vnf_instance_id = vnf_instance_id
|
||||
vnf_resource.resource_name = resource_name
|
||||
vnf_resource.resource_type = resource_type
|
||||
vnf_resource.tenant_id = vnf_instance.tenant_id
|
||||
mock_vnf_resource_list.return_value = [vnf_resource]
|
||||
self.kubernetes.delete_wait(plugin=None, context=self.context,
|
||||
vnf_id=vnf_id,
|
||||
@@ -2857,6 +2863,7 @@ class TestKubernetes(base.TestCase):
|
||||
vnf_resource.vnf_instance_id = self.vnf_instance.id
|
||||
vnf_resource.resource_name = "vdu1"
|
||||
vnf_resource.resource_type = "apps/v1,Deployment"
|
||||
vnf_resource.tenant_id = self.vnf_instance.tenant_id
|
||||
mock_vnf_resource_list.return_value = [vnf_resource]
|
||||
vnfc_resource_info = []
|
||||
vnfc_resource_info.append(
|
||||
@@ -2911,6 +2918,7 @@ class TestKubernetes(base.TestCase):
|
||||
vnf_resource.vnf_instance_id = self.vnf_instance.id
|
||||
vnf_resource.resource_name = "vdu1"
|
||||
vnf_resource.resource_type = "apps/v1,Deployment"
|
||||
vnf_resource.tenant_id = self.vnf_instance.tenant_id
|
||||
mock_vnf_resource_list.return_value = [vnf_resource]
|
||||
vnfc_resource_info = []
|
||||
vnfc_resource_info.append(
|
||||
|
||||
@@ -91,7 +91,8 @@ def get_vnf_instance_object(instantiated_vnf_info=None,
|
||||
vnf_provider="sample provider", vnf_product_name="vnf product name",
|
||||
vnf_software_version='1.0', vnfd_version="2",
|
||||
instantiated_vnf_info=inst_vnf_info,
|
||||
vnf_metadata={'namespace': 'default'})
|
||||
vnf_metadata={'namespace': 'default'},
|
||||
tenant_id=uuidsentinel.tenant_id)
|
||||
|
||||
return vnf_instance
|
||||
|
||||
|
||||
@@ -113,7 +113,8 @@ class TestEtsiTranslateTemplate(base.TestCase):
|
||||
'VDU1': [objects.VnfResource(id=uuidsentinel.id,
|
||||
vnf_instance_id=uuidsentinel.vnf_instance_id,
|
||||
resource_type='image',
|
||||
resource_identifier='glance-image-uuid_VDU1')]}
|
||||
resource_identifier='glance-image-uuid_VDU1',
|
||||
tenant_id=uuidsentinel.tenant_id)]}
|
||||
|
||||
self.tth._generate_hot_from_tosca(vnfd_dict, dev_attrs,
|
||||
inst_req_info, grant_info)
|
||||
@@ -179,7 +180,8 @@ class TestEtsiTranslateTemplate(base.TestCase):
|
||||
'VDU1': [objects.VnfResource(id=uuidsentinel.id,
|
||||
vnf_instance_id=uuidsentinel.vnf_instance_id,
|
||||
resource_type='image',
|
||||
resource_identifier='glance-image-uuid_VDU1')]}
|
||||
resource_identifier='glance-image-uuid_VDU1',
|
||||
tenant_id=uuidsentinel.tenant_id)]}
|
||||
|
||||
self.tth._generate_hot_from_tosca(vnfd_dict, dev_attrs,
|
||||
inst_req_info, grant_info)
|
||||
|
||||
@@ -1648,6 +1648,7 @@ class Kubernetes(abstract_driver.VnfAbstractDriver,
|
||||
file_content_dict.get('kind', '')])
|
||||
vnf_resource.resource_identifier = ''
|
||||
vnf_resource.resource_status = ''
|
||||
vnf_resource.tenant_id = vnf_instance.tenant_id
|
||||
return vnf_resource
|
||||
|
||||
def pre_instantiation_vnf(self, context, vnf_instance,
|
||||
|
||||
@@ -1038,7 +1038,9 @@ class OpenStack(abstract_driver.VnfAbstractDriver,
|
||||
vnf_resource = objects.VnfResource(context=context,
|
||||
vnf_instance_id=vnf_instance.id,
|
||||
resource_name=name, resource_type="image",
|
||||
resource_status="CREATED", resource_identifier=image.id)
|
||||
resource_status="CREATED",
|
||||
resource_identifier=image.id,
|
||||
tenant_id=vnf_instance.tenant_id)
|
||||
vnf_resources[node_name] = [vnf_resource]
|
||||
except Exception as exp:
|
||||
with excutils.save_and_reraise_exception():
|
||||
|
||||
Reference in New Issue
Block a user