Merge "Add specific tenant to vnf resources"

This commit is contained in:
Zuul
2022-03-10 01:19:30 +00:00
committed by Gerrit Code Review
11 changed files with 29 additions and 6 deletions

View File

@@ -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):

View File

@@ -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))

View File

@@ -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):

View File

@@ -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
}

View File

@@ -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):

View File

@@ -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]

View File

@@ -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(

View File

@@ -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

View File

@@ -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)

View File

@@ -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,

View File

@@ -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():