Move shelve server logic in compute utility
shelve server logic has been duplicated many place and also needed by more tests. It better to make that a utils function and used from there. Change-Id: I391f0bb92da1ddc76efcf026e8dea536edfd3706
This commit is contained in:
parent
9aa74e4de9
commit
017b5fe060
|
@ -16,6 +16,7 @@
|
||||||
import testtools
|
import testtools
|
||||||
|
|
||||||
from tempest.api.compute import base
|
from tempest.api.compute import base
|
||||||
|
from tempest.common import compute
|
||||||
from tempest.common import waiters
|
from tempest.common import waiters
|
||||||
from tempest import config
|
from tempest import config
|
||||||
from tempest import test
|
from tempest import test
|
||||||
|
@ -84,16 +85,8 @@ class DeleteServersTestJSON(base.BaseV2ComputeTest):
|
||||||
def test_delete_server_while_in_shelved_state(self):
|
def test_delete_server_while_in_shelved_state(self):
|
||||||
# Delete a server while it's VM state is Shelved
|
# Delete a server while it's VM state is Shelved
|
||||||
server = self.create_test_server(wait_until='ACTIVE')
|
server = self.create_test_server(wait_until='ACTIVE')
|
||||||
self.client.shelve_server(server['id'])
|
compute.shelve_server(self.client, server['id'])
|
||||||
|
|
||||||
offload_time = CONF.compute.shelved_offload_time
|
|
||||||
if offload_time >= 0:
|
|
||||||
waiters.wait_for_server_status(self.client, server['id'],
|
|
||||||
'SHELVED_OFFLOADED',
|
|
||||||
extra_timeout=offload_time)
|
|
||||||
else:
|
|
||||||
waiters.wait_for_server_status(self.client, server['id'],
|
|
||||||
'SHELVED')
|
|
||||||
self.client.delete_server(server['id'])
|
self.client.delete_server(server['id'])
|
||||||
waiters.wait_for_server_termination(self.client, server['id'])
|
waiters.wait_for_server_termination(self.client, server['id'])
|
||||||
|
|
||||||
|
|
|
@ -19,6 +19,7 @@ from six.moves.urllib import parse as urlparse
|
||||||
import testtools
|
import testtools
|
||||||
|
|
||||||
from tempest.api.compute import base
|
from tempest.api.compute import base
|
||||||
|
from tempest.common import compute
|
||||||
from tempest.common.utils import data_utils
|
from tempest.common.utils import data_utils
|
||||||
from tempest.common.utils.linux import remote_client
|
from tempest.common.utils.linux import remote_client
|
||||||
from tempest.common import waiters
|
from tempest.common import waiters
|
||||||
|
@ -440,20 +441,8 @@ class ServerActionsTestJSON(base.BaseV2ComputeTest):
|
||||||
@testtools.skipUnless(CONF.compute_feature_enabled.shelve,
|
@testtools.skipUnless(CONF.compute_feature_enabled.shelve,
|
||||||
'Shelve is not available.')
|
'Shelve is not available.')
|
||||||
def test_shelve_unshelve_server(self):
|
def test_shelve_unshelve_server(self):
|
||||||
self.client.shelve_server(self.server_id)
|
compute.shelve_server(self.client, self.server_id,
|
||||||
|
force_shelve_offload=True)
|
||||||
offload_time = CONF.compute.shelved_offload_time
|
|
||||||
if offload_time >= 0:
|
|
||||||
waiters.wait_for_server_status(self.client, self.server_id,
|
|
||||||
'SHELVED_OFFLOADED',
|
|
||||||
extra_timeout=offload_time)
|
|
||||||
else:
|
|
||||||
waiters.wait_for_server_status(self.client, self.server_id,
|
|
||||||
'SHELVED')
|
|
||||||
|
|
||||||
self.client.shelve_offload_server(self.server_id)
|
|
||||||
waiters.wait_for_server_status(self.client, self.server_id,
|
|
||||||
'SHELVED_OFFLOADED')
|
|
||||||
|
|
||||||
server = self.client.show_server(self.server_id)['server']
|
server = self.client.show_server(self.server_id)['server']
|
||||||
image_name = server['name'] + '-shelved'
|
image_name = server['name'] + '-shelved'
|
||||||
|
|
|
@ -18,6 +18,7 @@ import sys
|
||||||
import testtools
|
import testtools
|
||||||
|
|
||||||
from tempest.api.compute import base
|
from tempest.api.compute import base
|
||||||
|
from tempest.common import compute
|
||||||
from tempest.common.utils import data_utils
|
from tempest.common.utils import data_utils
|
||||||
from tempest.common import waiters
|
from tempest.common import waiters
|
||||||
from tempest import config
|
from tempest import config
|
||||||
|
@ -453,18 +454,7 @@ class ServersNegativeTestJSON(base.BaseV2ComputeTest):
|
||||||
@test.attr(type=['negative'])
|
@test.attr(type=['negative'])
|
||||||
def test_shelve_shelved_server(self):
|
def test_shelve_shelved_server(self):
|
||||||
# shelve a shelved server.
|
# shelve a shelved server.
|
||||||
self.client.shelve_server(self.server_id)
|
compute.shelve_server(self.client, self.server_id)
|
||||||
|
|
||||||
offload_time = CONF.compute.shelved_offload_time
|
|
||||||
if offload_time >= 0:
|
|
||||||
waiters.wait_for_server_status(self.client,
|
|
||||||
self.server_id,
|
|
||||||
'SHELVED_OFFLOADED',
|
|
||||||
extra_timeout=offload_time)
|
|
||||||
else:
|
|
||||||
waiters.wait_for_server_status(self.client,
|
|
||||||
self.server_id,
|
|
||||||
'SHELVED')
|
|
||||||
|
|
||||||
server = self.client.show_server(self.server_id)['server']
|
server = self.client.show_server(self.server_id)['server']
|
||||||
image_name = server['name'] + '-shelved'
|
image_name = server['name'] + '-shelved'
|
||||||
|
|
|
@ -157,3 +157,29 @@ def create_test_server(clients, validatable=False, validation_resources=None,
|
||||||
% server['id'])
|
% server['id'])
|
||||||
|
|
||||||
return body, servers
|
return body, servers
|
||||||
|
|
||||||
|
|
||||||
|
def shelve_server(client, server_id, force_shelve_offload=False):
|
||||||
|
"""Common wrapper utility to shelve server.
|
||||||
|
|
||||||
|
This method is a common wrapper to make server in 'SHELVED'
|
||||||
|
or 'SHELVED_OFFLOADED' state.
|
||||||
|
|
||||||
|
:param server_id: Server to make in shelve state
|
||||||
|
:param force_shelve_offload: Forcefully offload shelve server if it
|
||||||
|
is configured not to offload server
|
||||||
|
automatically after offload time.
|
||||||
|
"""
|
||||||
|
client.shelve_server(server_id)
|
||||||
|
|
||||||
|
offload_time = CONF.compute.shelved_offload_time
|
||||||
|
if offload_time >= 0:
|
||||||
|
waiters.wait_for_server_status(client, server_id,
|
||||||
|
'SHELVED_OFFLOADED',
|
||||||
|
extra_timeout=offload_time)
|
||||||
|
else:
|
||||||
|
waiters.wait_for_server_status(client, server_id, 'SHELVED')
|
||||||
|
if force_shelve_offload:
|
||||||
|
client.shelve_offload_server(server_id)
|
||||||
|
waiters.wait_for_server_status(client, server_id,
|
||||||
|
'SHELVED_OFFLOADED')
|
||||||
|
|
|
@ -15,6 +15,7 @@
|
||||||
|
|
||||||
import testtools
|
import testtools
|
||||||
|
|
||||||
|
from tempest.common import compute
|
||||||
from tempest.common import waiters
|
from tempest.common import waiters
|
||||||
from tempest import config
|
from tempest import config
|
||||||
from tempest.scenario import manager
|
from tempest.scenario import manager
|
||||||
|
@ -35,18 +36,9 @@ class TestShelveInstance(manager.ScenarioTest):
|
||||||
"""
|
"""
|
||||||
|
|
||||||
def _shelve_then_unshelve_server(self, server):
|
def _shelve_then_unshelve_server(self, server):
|
||||||
self.servers_client.shelve_server(server['id'])
|
compute.shelve_server(self.servers_client, server['id'],
|
||||||
offload_time = CONF.compute.shelved_offload_time
|
force_shelve_offload=True)
|
||||||
if offload_time >= 0:
|
|
||||||
waiters.wait_for_server_status(self.servers_client, server['id'],
|
|
||||||
'SHELVED_OFFLOADED',
|
|
||||||
extra_timeout=offload_time)
|
|
||||||
else:
|
|
||||||
waiters.wait_for_server_status(self.servers_client,
|
|
||||||
server['id'], 'SHELVED')
|
|
||||||
self.servers_client.shelve_offload_server(server['id'])
|
|
||||||
waiters.wait_for_server_status(self.servers_client, server['id'],
|
|
||||||
'SHELVED_OFFLOADED')
|
|
||||||
self.servers_client.unshelve_server(server['id'])
|
self.servers_client.unshelve_server(server['id'])
|
||||||
waiters.wait_for_server_status(self.servers_client, server['id'],
|
waiters.wait_for_server_status(self.servers_client, server['id'],
|
||||||
'ACTIVE')
|
'ACTIVE')
|
||||||
|
|
Loading…
Reference in New Issue