Added Config Drive parameter in requested body
* Changed client Create Server * Changed server request domain object * Added comment for already added parameter in the client * Added new config drive paramenter in the response server model * Changed int casting Change-Id: I0c27f367ba6495a883f91c931fa77992d28802c4
This commit is contained in:
@@ -161,7 +161,8 @@ class ServersClient(AutoMarshallingRestClient):
|
|||||||
def create_server(self, name, image_ref, flavor_ref, personality=None,
|
def create_server(self, name, image_ref, flavor_ref, personality=None,
|
||||||
metadata=None, accessIPv4=None, accessIPv6=None,
|
metadata=None, accessIPv4=None, accessIPv6=None,
|
||||||
disk_config=None, networks=None, admin_pass=None,
|
disk_config=None, networks=None, admin_pass=None,
|
||||||
key_name=None, requestslib_kwargs=None):
|
key_name=None, config_drive=None,
|
||||||
|
requestslib_kwargs=None):
|
||||||
"""
|
"""
|
||||||
@summary: Creates an instance of a server given the
|
@summary: Creates an instance of a server given the
|
||||||
provided parameters
|
provided parameters
|
||||||
@@ -182,6 +183,8 @@ class ServersClient(AutoMarshallingRestClient):
|
|||||||
@type accessIPv6: String
|
@type accessIPv6: String
|
||||||
@param disk_config: MANUAL/AUTO/None
|
@param disk_config: MANUAL/AUTO/None
|
||||||
@type disk_config: String
|
@type disk_config: String
|
||||||
|
@param config_drive: false/true
|
||||||
|
@type config_drive: String
|
||||||
@return: Response Object containing response code and
|
@return: Response Object containing response code and
|
||||||
the server domain object
|
the server domain object
|
||||||
@rtype: Requests.response
|
@rtype: Requests.response
|
||||||
@@ -191,7 +194,7 @@ class ServersClient(AutoMarshallingRestClient):
|
|||||||
name=name, flavorRef=flavor_ref, imageRef=image_ref,
|
name=name, flavorRef=flavor_ref, imageRef=image_ref,
|
||||||
personality=personality, metadata=metadata, accessIPv4=accessIPv4,
|
personality=personality, metadata=metadata, accessIPv4=accessIPv4,
|
||||||
accessIPv6=accessIPv6, diskConfig=disk_config, networks=networks,
|
accessIPv6=accessIPv6, diskConfig=disk_config, networks=networks,
|
||||||
adminPass=admin_pass, key_name=key_name)
|
adminPass=admin_pass, key_name=key_name, config_drive=config_drive)
|
||||||
|
|
||||||
url = '{base_url}/servers'.format(base_url=self.url)
|
url = '{base_url}/servers'.format(base_url=self.url)
|
||||||
resp = self.request('POST', url,
|
resp = self.request('POST', url,
|
||||||
|
|||||||
@@ -28,7 +28,7 @@ class CreateServer(AutoMarshallingModel):
|
|||||||
def __init__(self, name, imageRef, flavorRef, adminPass=None,
|
def __init__(self, name, imageRef, flavorRef, adminPass=None,
|
||||||
diskConfig=None, metadata=None, personality=None,
|
diskConfig=None, metadata=None, personality=None,
|
||||||
accessIPv4=None, accessIPv6=None, networks=None,
|
accessIPv4=None, accessIPv6=None, networks=None,
|
||||||
key_name=None):
|
key_name=None, config_drive=None):
|
||||||
|
|
||||||
super(CreateServer, self).__init__()
|
super(CreateServer, self).__init__()
|
||||||
self.name = name
|
self.name = name
|
||||||
@@ -42,6 +42,7 @@ class CreateServer(AutoMarshallingModel):
|
|||||||
self.accessIPv6 = accessIPv6
|
self.accessIPv6 = accessIPv6
|
||||||
self.networks = networks
|
self.networks = networks
|
||||||
self.key_name = key_name
|
self.key_name = key_name
|
||||||
|
self.config_drive = config_drive
|
||||||
|
|
||||||
def _obj_to_json(self):
|
def _obj_to_json(self):
|
||||||
body = {}
|
body = {}
|
||||||
@@ -56,6 +57,7 @@ class CreateServer(AutoMarshallingModel):
|
|||||||
body['personality'] = self.personality
|
body['personality'] = self.personality
|
||||||
body['networks'] = self.networks
|
body['networks'] = self.networks
|
||||||
body['key_name'] = self.key_name
|
body['key_name'] = self.key_name
|
||||||
|
body['config_drive'] = self.config_drive
|
||||||
body = self._remove_empty_values(body)
|
body = self._remove_empty_values(body)
|
||||||
|
|
||||||
return json.dumps({self.ROOT_TAG: body})
|
return json.dumps({self.ROOT_TAG: body})
|
||||||
@@ -95,6 +97,8 @@ class CreateServer(AutoMarshallingModel):
|
|||||||
element.set('accessIPv6', self.accessIPv6)
|
element.set('accessIPv6', self.accessIPv6)
|
||||||
if self.key_name is not None:
|
if self.key_name is not None:
|
||||||
element.set('key_name', self.key_name)
|
element.set('key_name', self.key_name)
|
||||||
|
if self.config_drive is not None:
|
||||||
|
element.set('config_drive', self.config_drive)
|
||||||
xml += ET.tostring(element)
|
xml += ET.tostring(element)
|
||||||
return xml
|
return xml
|
||||||
|
|
||||||
|
|||||||
@@ -31,13 +31,15 @@ from cloudcafe.compute.common.models.metadata import Metadata
|
|||||||
|
|
||||||
class Server(AutoMarshallingModel):
|
class Server(AutoMarshallingModel):
|
||||||
|
|
||||||
def __init__(self, id=None, disk_config=None, power_state=None,
|
def __init__(self, id=None, disk_config=None, config_drive=None,
|
||||||
progress=None, task_state=None, vm_state=None, name=None,
|
power_state=None, progress=None, task_state=None,
|
||||||
tenant_id=None, status=None, updated=None, created=None,
|
vm_state=None, name=None, tenant_id=None, status=None,
|
||||||
host_id=None, user_id=None, accessIPv4=None, accessIPv6=None,
|
updated=None, created=None, host_id=None, user_id=None,
|
||||||
addresses=None, flavor=None, image=None, links=None,
|
accessIPv4=None, accessIPv6=None, addresses=None,
|
||||||
metadata=None, admin_pass=None, key_name=None):
|
flavor=None, image=None, links=None, metadata=None,
|
||||||
|
admin_pass=None, key_name=None):
|
||||||
self.diskConfig = disk_config
|
self.diskConfig = disk_config
|
||||||
|
self.config_drive = config_drive
|
||||||
try:
|
try:
|
||||||
self.power_state = int(power_state)
|
self.power_state = int(power_state)
|
||||||
except TypeError:
|
except TypeError:
|
||||||
@@ -147,6 +149,7 @@ class Server(AutoMarshallingModel):
|
|||||||
updated=server.get('updated'), created=server.get('created'),
|
updated=server.get('updated'), created=server.get('created'),
|
||||||
host_id=server.get('hostId'), user_id=server.get('user_id'),
|
host_id=server.get('hostId'), user_id=server.get('user_id'),
|
||||||
accessIPv4=server.get('accessIPv4'),
|
accessIPv4=server.get('accessIPv4'),
|
||||||
|
config_drive=server.get('config_drive'),
|
||||||
accessIPv6=server.get('accessIPv6'), addresses=addresses,
|
accessIPv6=server.get('accessIPv6'), addresses=addresses,
|
||||||
flavor=flavor, image=image, links=links, metadata=metadata,
|
flavor=flavor, image=image, links=links, metadata=metadata,
|
||||||
admin_pass=server.get('adminPass'),
|
admin_pass=server.get('adminPass'),
|
||||||
@@ -183,6 +186,7 @@ class Server(AutoMarshallingModel):
|
|||||||
task_state=server_dict.get('OS-EXT-STS:task_state'),
|
task_state=server_dict.get('OS-EXT-STS:task_state'),
|
||||||
vm_state=server_dict.get('OS-EXT-STS:vm_state'),
|
vm_state=server_dict.get('OS-EXT-STS:vm_state'),
|
||||||
name=server_dict.get('name'),
|
name=server_dict.get('name'),
|
||||||
|
config_drive=server_dict.get('config_drive'),
|
||||||
tenant_id=server_dict.get('tenant_id'),
|
tenant_id=server_dict.get('tenant_id'),
|
||||||
status=server_dict.get('status'),
|
status=server_dict.get('status'),
|
||||||
updated=server_dict.get('updated'),
|
updated=server_dict.get('updated'),
|
||||||
|
|||||||
Reference in New Issue
Block a user