blob: 43a5143a1f18b965ef1bf4e9195a4aa947f0f888 [file] [log] [blame]
from basetest import BaseToscaTest
from core.models import Sliver, Slice
class ComputeTest(BaseToscaTest):
tests = [ # "create_compute_m1_tiny", XXX m1.tiny does not exist on cloudlab
"create_compute_m1_small",
"create_compute_m1_large_8192MB",
"create_compute_m1_large_8GB",
"destroy_compute",
"create_compute_scalable",
"destroy_compute_scalable",
]
def cleanup(self):
self.try_to_delete(Sliver, name="test_compute1")
self.try_to_delete(Sliver, name="test_compute1-0")
self.try_to_delete(Sliver, name="test_compute1-1")
self.try_to_delete(Sliver, name="test_compute1-2")
self.try_to_delete(Sliver, name="test_compute1-3")
self.try_to_delete(Slice, name="testsite_slice1")
def get_base_templates(self):
return self.make_nodetemplate("testsite", "tosca.nodes.Site") + \
self.make_nodetemplate("testsite_slice1", "tosca.nodes.Slice", reqs=[("testsite", "tosca.relationships.MemberOfSite")])
def create_compute_m1_tiny(self):
self.assert_noobj(Sliver, "test_compute1")
self.execute(self.get_base_templates() +
self.make_compute("testsite_slice1", "test_compute1", disk_size="1 GB", mem_size="500 MB"))
sliver = self.assert_obj(Sliver, "test_compute1")
assert(sliver.flavor.name == "m1.tiny")
def create_compute_m1_small(self):
self.assert_noobj(Sliver, "test_compute1")
self.execute(self.get_base_templates() +
self.make_compute("testsite_slice1", "test_compute1", disk_size="1 GB", mem_size="513 MB"))
sliver = self.assert_obj(Sliver, "test_compute1")
assert(sliver.flavor.name == "m1.small")
def create_compute_m1_large_8192MB(self):
self.assert_noobj(Sliver, "test_compute1")
self.execute(self.get_base_templates() +
self.make_compute("testsite_slice1", "test_compute1", mem_size="8192 MB"))
sliver = self.assert_obj(Sliver, "test_compute1")
assert(sliver.flavor.name == "m1.large")
def create_compute_m1_large_8GB(self):
self.assert_noobj(Sliver, "test_compute1")
self.execute(self.get_base_templates() +
self.make_compute("testsite_slice1", "test_compute1", mem_size="8 GB"))
sliver = self.assert_obj(Sliver, "test_compute1")
assert(sliver.flavor.name == "m1.large")
def destroy_compute(self):
self.execute(self.get_base_templates() +
self.make_compute("testsite_slice1", "test_compute1"))
self.assert_obj(Sliver, "test_compute1")
self.destroy(self.get_base_templates() +
self.make_compute("testsite_slice1", "test_compute1"))
self.assert_noobj(Sliver, "test_compute1")
def create_compute_scalable(self):
self.assert_noobj(Sliver, "test_compute1-1")
self.assert_noobj(Sliver, "test_compute1-2")
self.assert_noobj(Sliver, "test_compute1-3")
self.execute(self.get_base_templates() +
self.make_compute("testsite_slice1", "test_compute1", mem_size="8 GB",
caps={"scalable": {"min_instances": 2, "max_instances": 3, "default_instances": 2}}))
# there should be two instances
sliver0 = self.assert_obj(Sliver, "test_compute1-0")
sliver1 = self.assert_obj(Sliver, "test_compute1-1")
self.assert_noobj(Sliver, "test_compute1-2")
def destroy_compute_scalable(self):
self.assert_noobj(Sliver, "test_compute1-1")
self.assert_noobj(Sliver, "test_compute1-2")
self.assert_noobj(Sliver, "test_compute1-3")
self.execute(self.get_base_templates() +
self.make_compute("testsite_slice1", "test_compute1", mem_size="8 GB",
caps={"scalable": {"min_instances": 2, "max_instances": 3, "default_instances": 2}}))
# there should be two instances
sliver0 = self.assert_obj(Sliver, "test_compute1-0")
sliver1 = self.assert_obj(Sliver, "test_compute1-1")
self.destroy(self.get_base_templates() +
self.make_compute("testsite_slice1", "test_compute1", mem_size="8 GB",
caps={"scalable": {"min_instances": 2, "max_instances": 3, "default_instances": 2}}))
self.assert_noobj(Sliver, "test_compute1-0")
self.assert_noobj(Sliver, "test_compute1-1")
if __name__ == "__main__":
ComputeTest()