Code Review
/
snaps.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
review
|
tree
raw
|
inline
| side by side
Merge "Added the ability to give the tests the ability to add in flavor metadata."
[snaps.git]
/
snaps
/
openstack
/
create_flavor.py
diff --git
a/snaps/openstack/create_flavor.py
b/snaps/openstack/create_flavor.py
index
60a87cd
..
30271c1
100644
(file)
--- a/
snaps/openstack/create_flavor.py
+++ b/
snaps/openstack/create_flavor.py
@@
-22,6
+22,9
@@
__author__ = 'spisarski'
logger = logging.getLogger('create_image')
logger = logging.getLogger('create_image')
+MEM_PAGE_SIZE_ANY = {'hw:mem_page_size': 'any'}
+MEM_PAGE_SIZE_LARGE = {'hw:mem_page_size': 'large'}
+
class OpenStackFlavor:
"""
class OpenStackFlavor:
"""
@@
-51,6
+54,9
@@
class OpenStackFlavor:
logger.info('Found flavor with name - ' + self.flavor_settings.name)
elif not cleanup:
self.__flavor = nova_utils.create_flavor(self.__nova, self.flavor_settings)
logger.info('Found flavor with name - ' + self.flavor_settings.name)
elif not cleanup:
self.__flavor = nova_utils.create_flavor(self.__nova, self.flavor_settings)
+ if self.flavor_settings.metadata:
+ self.__flavor.set_keys(self.flavor_settings.metadata)
+ self.__flavor = nova_utils.get_flavor_by_name(self.__nova, self.flavor_settings.name)
else:
logger.info('Did not create flavor due to cleanup mode')
else:
logger.info('Did not create flavor due to cleanup mode')
@@
-83,7
+89,7
@@
class FlavorSettings:
"""
def __init__(self, config=None, name=None, flavor_id='auto', ram=None, disk=None, vcpus=None, ephemeral=0, swap=0,
"""
def __init__(self, config=None, name=None, flavor_id='auto', ram=None, disk=None, vcpus=None, ephemeral=0, swap=0,
- rxtx_factor=1.0, is_public=True):
+ rxtx_factor=1.0, is_public=True
, metadata=None
):
"""
Constructor
:param config: dict() object containing the configuration settings using the attribute names below as each
"""
Constructor
:param config: dict() object containing the configuration settings using the attribute names below as each
@@
-98,6
+104,7
@@
class FlavorSettings:
:param rxtx_factor: the receive/transmit factor to be set on ports if backend supports
QoS extension (default 1.0)
:param is_public: denotes whether or not the flavor is public (default True)
:param rxtx_factor: the receive/transmit factor to be set on ports if backend supports
QoS extension (default 1.0)
:param is_public: denotes whether or not the flavor is public (default True)
+ :param metadata: freeform dict() for special metadata (default hw:mem_page_size=any)
"""
if config:
"""
if config:
@@
-131,6
+138,11
@@
class FlavorSettings:
self.is_public = config['is_public']
else:
self.is_public = is_public
self.is_public = config['is_public']
else:
self.is_public = is_public
+
+ if config.get('metadata'):
+ self.metadata = config['metadata']
+ else:
+ self.metadata = metadata
else:
self.name = name
self.flavor_id = flavor_id
else:
self.name = name
self.flavor_id = flavor_id
@@
-141,6
+153,7
@@
class FlavorSettings:
self.swap = swap
self.rxtx_factor = rxtx_factor
self.is_public = is_public
self.swap = swap
self.rxtx_factor = rxtx_factor
self.is_public = is_public
+ self.metadata = metadata
if not self.name or not self.ram or not self.disk or not self.vcpus:
raise Exception('The attributes name, ram, disk, and vcpus are required for FlavorSettings')
if not self.name or not self.ram or not self.disk or not self.vcpus:
raise Exception('The attributes name, ram, disk, and vcpus are required for FlavorSettings')