summaryrefslogtreecommitdiff
path: root/trove/tests/api/mgmt/hosts.py
diff options
context:
space:
mode:
Diffstat (limited to 'trove/tests/api/mgmt/hosts.py')
-rw-r--r--trove/tests/api/mgmt/hosts.py214
1 files changed, 0 insertions, 214 deletions
diff --git a/trove/tests/api/mgmt/hosts.py b/trove/tests/api/mgmt/hosts.py
deleted file mode 100644
index 37754864..00000000
--- a/trove/tests/api/mgmt/hosts.py
+++ /dev/null
@@ -1,214 +0,0 @@
-# Copyright 2013 OpenStack Foundation
-#
-# Licensed under the Apache License, Version 2.0 (the "License"); you may
-# not use this file except in compliance with the License. You may obtain
-# a copy of the License at
-#
-# http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing, software
-# distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
-# WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
-# License for the specific language governing permissions and limitations
-# under the License.
-
-from proboscis.asserts import assert_not_equal
-from proboscis.asserts import assert_raises
-from proboscis.asserts import assert_true
-from proboscis import before_class
-from proboscis.check import Check
-from proboscis import test
-from troveclient.compat import exceptions
-
-from trove.tests.api.instances import create_new_instance
-from trove.tests.api.instances import CreateInstance
-from trove.tests.config import CONFIG
-from trove.tests import DBAAS_API
-from trove.tests import INSTANCES
-from trove.tests import PRE_INSTANCES
-from trove.tests.util import create_dbaas_client
-from trove.tests.util.users import Requirements
-
-GROUP = "dbaas.api.mgmt.hosts"
-
-
-def percent_boundary(used_ram, total_ram):
- """Return a upper and lower bound for percent ram used."""
- calc = int((1.0 * used_ram / total_ram) * 100)
- # return calculated percent +/- 2 to account for rounding errors
- lower_boundary = calc - 2
- upper_boundary = calc + 2
- return lower_boundary, upper_boundary
-
-
-@test(groups=[DBAAS_API, GROUP, PRE_INSTANCES],
- depends_on_groups=["services.initialize"],
- enabled=create_new_instance())
-class HostsBeforeInstanceCreation(object):
-
- @before_class
- def setUp(self):
- self.user = CONFIG.users.find_user(Requirements(is_admin=True))
- self.client = create_dbaas_client(self.user)
- self.host = None
-
- @test
- def test_empty_index_host_list(self):
- host_index_result = self.client.hosts.index()
- assert_not_equal(host_index_result, None,
- "list hosts call should not be empty: %s" %
- str(host_index_result))
- assert_true(len(host_index_result) > 0,
- "list hosts length should be greater than zero: %r" %
- host_index_result)
-
- self.host = host_index_result[0]
- assert_true(self.host is not None, "Expected to find a host.")
-
- @test(depends_on=[test_empty_index_host_list])
- def test_empty_index_host_list_single(self):
- self.host.name = self.host.name.replace(".", r"\.")
- result = self.client.hosts.get(self.host)
- assert_not_equal(result, None,
- "Get host should not be empty for: %s" % self.host)
- with Check() as check:
- used_ram = int(result.usedRAM)
- total_ram = int(result.totalRAM)
- percent_used = int(result.percentUsed)
- lower, upper = percent_boundary(used_ram, total_ram)
- check.true(percent_used > lower,
- "percentUsed %r is below the lower boundary %r"
- % (percent_used, lower))
- check.true(percent_used < upper,
- "percentUsed %r is above the upper boundary %r"
- % (percent_used, upper))
- check.true(used_ram < total_ram,
- "usedRAM %r should be less than totalRAM %r"
- % (used_ram, total_ram))
- check.true(percent_used < 100,
- "percentUsed should be less than 100 but was %r"
- % percent_used)
- check.true(total_ram > 0,
- "totalRAM should be greater than 0 but was %r"
- % total_ram)
- check.true(used_ram < total_ram,
- "usedRAM %r should be less than totalRAM %r"
- % (used_ram, total_ram))
-
-
-@test(groups=[INSTANCES, GROUP],
- depends_on=[CreateInstance],
- enabled=create_new_instance())
-class HostsMgmtCommands(object):
-
- @before_class
- def setUp(self):
- self.user = CONFIG.users.find_user(Requirements(is_admin=True))
- self.client = create_dbaas_client(self.user)
- self.host = None
-
- @test
- def test_index_host_list(self):
- result = self.client.hosts.index()
- assert_not_equal(len(result), 0,
- "list hosts should not be empty: %s" % str(result))
- hosts = []
- # Find a host with an instanceCount > 0
- for host in result:
- msg = 'Host: %s, Count: %s' % (host.name, host.instanceCount)
- hosts.append(msg)
- if int(host.instanceCount) > 0:
- self.host = host
- break
-
- msg = "Unable to find a host with instances: %r" % hosts
- assert_not_equal(self.host, None, msg)
-
- @test(depends_on=[test_index_host_list])
- def test_index_host_list_single(self):
- self.host.name = self.host.name.replace(".", r"\.")
- result = self.client.hosts.get(self.host)
- assert_not_equal(result, None,
- "list hosts should not be empty: %s" % str(result))
- assert_true(len(result.instances) > 0,
- "instance list on the host should not be empty: %r"
- % result.instances)
- with Check() as check:
- used_ram = int(result.usedRAM)
- total_ram = int(result.totalRAM)
- percent_used = int(result.percentUsed)
- lower, upper = percent_boundary(used_ram, total_ram)
- check.true(percent_used > lower,
- "percentUsed %r is below the lower boundary %r"
- % (percent_used, lower))
- check.true(percent_used < upper,
- "percentUsed %r is above the upper boundary %r"
- % (percent_used, upper))
- check.true(used_ram < total_ram,
- "usedRAM %r should be less than totalRAM %r"
- % (used_ram, total_ram))
- check.true(percent_used < 100,
- "percentUsed should be less than 100 but was %r"
- % percent_used)
- check.true(total_ram > 0,
- "totalRAM should be greater than 0 but was %r"
- % total_ram)
- check.true(used_ram < total_ram,
- "usedRAM %r should be less than totalRAM %r"
- % (used_ram, total_ram))
-
- # Check all active instances and validate all the fields exist
- active_instance = None
- for instance in result.instances:
- print("instance: %s" % instance)
- if instance['status'] != 'ACTIVE':
- continue
- active_instance = instance
- check.is_not_none(instance['id'])
- check.is_not_none(instance['name'])
- check.is_not_none(instance['status'])
- check.is_not_none(instance['server_id'])
- check.is_not_none(instance['tenant_id'])
- check.true(active_instance is not None, "No active instances")
-
- def _get_ids(self):
- """Get all the ids of instances that are ACTIVE."""
- ids = []
- results = self.client.hosts.index()
- for host in results:
- result = self.client.hosts.get(host)
- for instance in result.instances:
- if instance['status'] == 'ACTIVE':
- ids.append(instance['id'])
- return ids
-
- @test
- def test_update_hosts(self):
- ids = self._get_ids()
- assert_not_equal(ids, [], "No active instances found")
- before_versions = {}
- for _id in ids:
- diagnostics = self.client.diagnostics.get(_id)
- before_versions[_id] = diagnostics.version
-
- hosts = self.client.hosts.index()
- for host in hosts:
- self.client.hosts.update_all(host.name)
-
- after_versions = {}
- for _id in ids:
- diagnostics = self.client.diagnostics.get(_id)
- after_versions[_id] = diagnostics.version
-
- assert_not_equal(before_versions, {},
- "No versions found before update")
- assert_not_equal(after_versions, {},
- "No versions found after update")
- if CONFIG.fake_mode:
- for _id in after_versions:
- assert_not_equal(before_versions[_id], after_versions[_id])
-
- @test
- def test_host_not_found(self):
- hostname = "host@$%3dne"
- assert_raises(exceptions.NotFound, self.client.hosts.get, hostname)