Modifies servers clients to allow keypairs to be passed in
Change-Id: I714ef261850b744c4c15877b1d9d6841c6dfc9b5
This commit is contained in:
@@ -57,7 +57,7 @@ class KeypairsClient(AutoMarshallingRestClient):
|
|||||||
|
|
||||||
def get_keypair(self, keypair_name, requestslib_kwargs=None):
|
def get_keypair(self, keypair_name, requestslib_kwargs=None):
|
||||||
|
|
||||||
url = '{base_url}/os-keypairs/{name}'.format(basee_url=self.url,
|
url = '{base_url}/os-keypairs/{name}'.format(base_url=self.url,
|
||||||
name=keypair_name)
|
name=keypair_name)
|
||||||
resp = self.request('GET', url,
|
resp = self.request('GET', url,
|
||||||
response_entity_type=Keypair,
|
response_entity_type=Keypair,
|
||||||
|
|||||||
@@ -38,7 +38,8 @@ class ServerBehaviors(BaseBehavior):
|
|||||||
|
|
||||||
def create_active_server(self, name=None, image_ref=None, flavor_ref=None,
|
def create_active_server(self, name=None, image_ref=None, flavor_ref=None,
|
||||||
personality=None, metadata=None, accessIPv4=None,
|
personality=None, metadata=None, accessIPv4=None,
|
||||||
accessIPv6=None, disk_config=None, networks=None):
|
accessIPv6=None, disk_config=None, networks=None,
|
||||||
|
key_name=None):
|
||||||
"""
|
"""
|
||||||
@summary:Creates a server and waits for server to reach active status
|
@summary:Creates a server and waits for server to reach active status
|
||||||
@param name: The name of the server.
|
@param name: The name of the server.
|
||||||
@@ -77,7 +78,8 @@ class ServerBehaviors(BaseBehavior):
|
|||||||
accessIPv4=accessIPv4,
|
accessIPv4=accessIPv4,
|
||||||
accessIPv6=accessIPv6,
|
accessIPv6=accessIPv6,
|
||||||
disk_config=disk_config,
|
disk_config=disk_config,
|
||||||
networks=networks)
|
networks=networks,
|
||||||
|
key_name=key_name)
|
||||||
server_obj = resp.entity
|
server_obj = resp.entity
|
||||||
resp = self.wait_for_server_status(server_obj.id,
|
resp = self.wait_for_server_status(server_obj.id,
|
||||||
ServerStates.ACTIVE)
|
ServerStates.ACTIVE)
|
||||||
|
|||||||
@@ -156,7 +156,7 @@ 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,
|
||||||
requestslib_kwargs=None):
|
key_name=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,15 +182,11 @@ class ServersClient(AutoMarshallingRestClient):
|
|||||||
@rtype: Requests.response
|
@rtype: Requests.response
|
||||||
"""
|
"""
|
||||||
|
|
||||||
server_request_object = CreateServer(name=name, flavorRef=flavor_ref,
|
server_request_object = CreateServer(
|
||||||
imageRef=image_ref,
|
name=name, flavorRef=flavor_ref, imageRef=image_ref,
|
||||||
personality=personality,
|
personality=personality, metadata=metadata, accessIPv4=accessIPv4,
|
||||||
metadata=metadata,
|
accessIPv6=accessIPv6, diskConfig=disk_config, networks=networks,
|
||||||
accessIPv4=accessIPv4,
|
adminPass=admin_pass, key_name=key_name)
|
||||||
accessIPv6=accessIPv6,
|
|
||||||
diskConfig=disk_config,
|
|
||||||
networks=networks,
|
|
||||||
adminPass=admin_pass)
|
|
||||||
|
|
||||||
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,
|
||||||
|
|||||||
@@ -27,7 +27,8 @@ 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):
|
||||||
|
|
||||||
super(CreateServer, self).__init__()
|
super(CreateServer, self).__init__()
|
||||||
self.name = name
|
self.name = name
|
||||||
@@ -40,6 +41,7 @@ class CreateServer(AutoMarshallingModel):
|
|||||||
self.accessIPv4 = accessIPv4
|
self.accessIPv4 = accessIPv4
|
||||||
self.accessIPv6 = accessIPv6
|
self.accessIPv6 = accessIPv6
|
||||||
self.networks = networks
|
self.networks = networks
|
||||||
|
self.key_name = key_name
|
||||||
|
|
||||||
def _obj_to_json(self):
|
def _obj_to_json(self):
|
||||||
body = {}
|
body = {}
|
||||||
@@ -61,6 +63,8 @@ class CreateServer(AutoMarshallingModel):
|
|||||||
body['personality'] = self.personality
|
body['personality'] = self.personality
|
||||||
if self.networks is not None:
|
if self.networks is not None:
|
||||||
body['networks'] = self.networks
|
body['networks'] = self.networks
|
||||||
|
if self.key_name is not None:
|
||||||
|
body['key_name'] = self.key_name
|
||||||
|
|
||||||
return json.dumps({self.ROOT_TAG: body})
|
return json.dumps({self.ROOT_TAG: body})
|
||||||
|
|
||||||
@@ -97,6 +101,8 @@ class CreateServer(AutoMarshallingModel):
|
|||||||
element.set('accessIPv4', self.accessIPv4)
|
element.set('accessIPv4', self.accessIPv4)
|
||||||
if self.accessIPv6 is not None:
|
if self.accessIPv6 is not None:
|
||||||
element.set('accessIPv6', self.accessIPv6)
|
element.set('accessIPv6', self.accessIPv6)
|
||||||
|
if self.key_name is not None:
|
||||||
|
element.set('key_name', self.key_name)
|
||||||
xml += ET.tostring(element)
|
xml += ET.tostring(element)
|
||||||
return xml
|
return xml
|
||||||
|
|
||||||
|
|||||||
@@ -36,7 +36,7 @@ class Server(AutoMarshallingModel):
|
|||||||
tenant_id=None, status=None, updated=None, created=None,
|
tenant_id=None, status=None, updated=None, created=None,
|
||||||
host_id=None, user_id=None, accessIPv4=None, accessIPv6=None,
|
host_id=None, user_id=None, accessIPv4=None, accessIPv6=None,
|
||||||
addresses=None, flavor=None, image=None, links=None,
|
addresses=None, flavor=None, image=None, links=None,
|
||||||
metadata=None, admin_pass=None):
|
metadata=None, admin_pass=None, key_name=None):
|
||||||
self.diskConfig = disk_config
|
self.diskConfig = disk_config
|
||||||
try:
|
try:
|
||||||
self.power_state = int(power_state)
|
self.power_state = int(power_state)
|
||||||
@@ -69,6 +69,7 @@ class Server(AutoMarshallingModel):
|
|||||||
self.links = links
|
self.links = links
|
||||||
self.metadata = metadata
|
self.metadata = metadata
|
||||||
self.admin_pass = admin_pass
|
self.admin_pass = admin_pass
|
||||||
|
self.key_name = key_name
|
||||||
|
|
||||||
@classmethod
|
@classmethod
|
||||||
def _json_to_obj(cls, serialized_str):
|
def _json_to_obj(cls, serialized_str):
|
||||||
@@ -148,7 +149,8 @@ class Server(AutoMarshallingModel):
|
|||||||
accessIPv4=server.get('accessIPv4'),
|
accessIPv4=server.get('accessIPv4'),
|
||||||
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'),
|
||||||
|
key_name=server.get('key_name'))
|
||||||
|
|
||||||
return server
|
return server
|
||||||
|
|
||||||
@@ -190,7 +192,8 @@ class Server(AutoMarshallingModel):
|
|||||||
accessIPv4=server_dict.get('accessIPv4'),
|
accessIPv4=server_dict.get('accessIPv4'),
|
||||||
accessIPv6=server_dict.get('accessIPv6'), addresses=addresses,
|
accessIPv6=server_dict.get('accessIPv6'), addresses=addresses,
|
||||||
flavor=flavor, image=image, links=links, metadata=metadata,
|
flavor=flavor, image=image, links=links, metadata=metadata,
|
||||||
admin_pass=server_dict.get('adminPass'))
|
admin_pass=server_dict.get('adminPass'),
|
||||||
|
key_name=server_dict.get('key_name'))
|
||||||
|
|
||||||
return server
|
return server
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user