#
# ============LICENSE_END============================================
#
-# ECOMP is a trademark and service mark of AT&T Intellectual Property.
#
"""heat parameters
self.vm_rids = collections.defaultdict(set)
self.vm_types = collections.defaultdict(set)
va_config, self.va_count = CinderVolumeAttachmentProcessor.get_config(resources)
- if not va_config:
- pytest.skip("No Cinder Volume Attachment configurations found")
+ # if not va_config:
+ # pytest.skip("No Cinder Volume Attachment configurations found")
for rid, resource in resources.items():
vm_class = NovaServerProcessor.get_vm_class(resource)
if vm_class:
for k, v in self.vm_types.items():
if len(v) > 1:
errors.append(
- "vm-type %s has class conflict %s"
+ "OS::Nova::Server resources with the same vm_type must have identical configurations. "
+ "The following OS::Nova::Server resources for vm-type %s do not have identical configurations: %s"
% (k, ", ".join(str(list(self.vm_classes[c])) for c in v))
)
classes = list(v)
errors.append(
- "Differences %s"
- % ", ".join([str(key_diff(classes[0], c)) for c in classes[1:]])
+ "The following attributes are detected differences between "
+ "OS::Nova::Server's with vm_type %s: %s"
+ % (k, ", ".join([str(key_diff(classes[0], c)) for c in classes[1:]]))
)
for k, v in self.vm_counts.items():
if len(v) > 1:
@validates("R-01455")
def test_vm_class_has_unique_type(yaml_files):
"""
- When a VNF’s Heat Orchestration Template creates a Virtual
- Machine (i.e., OS::Nova::Server), each “class” of VMs MUST be
- assigned a VNF unique vm-type; where “class” defines VMs that
+ When a VNF's Heat Orchestration Template creates a Virtual
+ Machine (i.e., OS::Nova::Server), each "class" of VMs MUST be
+ assigned a VNF unique vm-type; where "class" defines VMs that
MUST have the following identical characteristics:
1. OS::Nova::Server resource property flavor value
2. OS::Nova::Server resource property image value
3. Cinder Volume attachments
- Each VM in the “class” MUST have the identical Cinder
+ Each VM in the "class" MUST have the identical Cinder
Volume configuration
4. Network attachments and IP address requirements
- Each VM in the “class” MUST have the the identical number of
+ Each VM in the "class" MUST have the the identical number of
ports connecting to the identical networks and requiring the
identical IP address configuration
"""