Add delete and get server name
This commit is contained in:
parent
a046b708d1
commit
ddb1118af2
@ -13,6 +13,7 @@
|
|||||||
# limitations under the License.
|
# limitations under the License.
|
||||||
|
|
||||||
import logging
|
import logging
|
||||||
|
import time
|
||||||
|
|
||||||
from cinderclient import exceptions as cinder_exceptions
|
from cinderclient import exceptions as cinder_exceptions
|
||||||
from cinderclient.v1 import client as cinder_client
|
from cinderclient.v1 import client as cinder_client
|
||||||
@ -398,10 +399,16 @@ class OpenStackCloud(object):
|
|||||||
return v.id
|
return v.id
|
||||||
return None
|
return None
|
||||||
|
|
||||||
def get_server_id(self, server_name):
|
def get_server_by_name(self, server_name):
|
||||||
for server in self.nova_client.servers.list():
|
for server in self.nova_client.servers.list():
|
||||||
if server.name == server_name:
|
if server.name == server_name:
|
||||||
return server.id
|
return server
|
||||||
|
return None
|
||||||
|
|
||||||
|
def get_server_id(self, server_name):
|
||||||
|
server = get_server_by_name(server_name)
|
||||||
|
if server:
|
||||||
|
return server.id
|
||||||
return None
|
return None
|
||||||
|
|
||||||
def get_server_meta(self, server):
|
def get_server_meta(self, server):
|
||||||
@ -409,6 +416,22 @@ class OpenStackCloud(object):
|
|||||||
groups = meta.get_groups_from_server(self, server, server_vars)
|
groups = meta.get_groups_from_server(self, server, server_vars)
|
||||||
return dict(server_vars=server_vars, groups=groups)
|
return dict(server_vars=server_vars, groups=groups)
|
||||||
|
|
||||||
|
def delete_server(self, name, wait=False, timeout=180):
|
||||||
|
server_list = self.nova_client.servers.list(True, {'name': name})
|
||||||
|
if server_list:
|
||||||
|
server = [x for x in server_list if x.name == module.params['name']]
|
||||||
|
self.nova_client.servers.delete(server.pop())
|
||||||
|
if not wait:
|
||||||
|
return
|
||||||
|
expire = time.time() + timeout
|
||||||
|
while time.time() < expire:
|
||||||
|
server = nova.servers.list(True, {'name': name})
|
||||||
|
if not server:
|
||||||
|
return
|
||||||
|
time.sleep(5)
|
||||||
|
raise OpenStackCloudException(
|
||||||
|
"Timed out waiting for server to get deleted.")
|
||||||
|
|
||||||
def list_ironic_nodes(self):
|
def list_ironic_nodes(self):
|
||||||
return self.ironic_client.node.list()
|
return self.ironic_client.node.list()
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user