teach service type to vnfd and vnf

Change-Id: I53df914d93c071fa4584f34f6f0b2c807b0136b9
This commit is contained in:
Isaku Yamahata 2015-05-13 02:07:32 -07:00
parent 64a2ae44e5
commit 87b8d0fb4a
2 changed files with 10 additions and 1 deletions

View File

@ -305,6 +305,8 @@ class ServiceResourcePluginDb(servicevm.ServiceVMPluginBase,
def _make_template_dict(self, template, fields=None):
res = {
'attributes': self._make_attributes_dict(template['attributes']),
'service_types': self._make_service_types_list(
template.service_types)
}
key_list = ('id', 'tenant_id', 'name', 'description',
'infra_driver', 'mgmt_driver')

View File

@ -88,6 +88,12 @@ class DeviceHeat(abstract_driver.DeviceAbstractDriver):
dict((key, vnfd_dict[vnfd_key]) for (key, vnfd_key) in KEY_LIST
if (not key in device_template_dict.get(key) and
vnfd_key in vnfd_dict)))
service_types = vnfd_dict.get('service_properties', {}).get('type', [])
if service_types:
device_template_dict.setdefault('service_types', []).extend(
[{'service_type': service_type}
for service_type in service_types])
LOG.debug(_('device_template %s'), device_template)
@log.log
def create(self, plugin, context, device):
@ -183,7 +189,8 @@ class DeviceHeat(abstract_driver.DeviceAbstractDriver):
# failure_policy = vdu_dict.get('failure_policy', None)
# to pass necessary parameters to plugin upwards.
for key in ('monitoring_policy', 'failure_policy'):
for key in ('monitoring_policy', 'failure_policy',
'service_type'):
if key in vdu_dict:
device.setdefault(
'attributes', {})[key] = vdu_dict[key]