Пример #1
0
class TestComputeCluster(TestCase):

    def setUp(self):
        MockNodeDriver.install(self)
        self.driver = MockNodeDriver("", "")

    def test_compute_nodes(self):
        self.assertEqual(len(self.driver.list_nodes()), 0)
        self.up("""
            container1:
                new Compute as server:
                    name: hello1
                    driver:
                        id: DUMMY
                        api_key: dummykey
                        secret: dummysecret
                    image: 1
                    size: 2
                    key: foo

                resources:
                   - File:
                       name: /etc/hearbeat.conf
                       args:
                           ip: {{ container2.server.public_ip }}

            container2:
                new Compute as server:
                    name: hello2
                    driver:
                        id: DUMMY
                        api_key: dummykey
                        secret: dummysecret
                    image: 1
                    size: 2
                    key: foo

                resources:
                   - File:
                       name: /etc/hearbeat.conf
                       args:
                           ip: {{ container1.server.public_ip }}
            """)
        nodes = self.driver.list_nodes()
        self.assertEqual(len(nodes), 2)
        self.assertEqual(set(n.name for n in nodes), set(("hello1", "hello2")))
Пример #2
0
class TestComputeCluster(TestCase):
    def setUp(self):
        MockNodeDriver.install(self)
        self.driver = MockNodeDriver("", "")

    def test_compute_nodes(self):
        self.assertEqual(len(self.driver.list_nodes()), 0)
        self.up("""
            container1:
                new Compute as server:
                    name: hello1
                    driver:
                        id: DUMMY
                        api_key: dummykey
                        secret: dummysecret
                    image: 1
                    size: 2
                    key: foo

                resources:
                   - File:
                       name: /etc/hearbeat.conf
                       args:
                           ip: {{ container2.server.public_ip }}

            container2:
                new Compute as server:
                    name: hello2
                    driver:
                        id: DUMMY
                        api_key: dummykey
                        secret: dummysecret
                    image: 1
                    size: 2
                    key: foo

                resources:
                   - File:
                       name: /etc/hearbeat.conf
                       args:
                           ip: {{ container1.server.public_ip }}
            """)
        nodes = self.driver.list_nodes()
        self.assertEqual(len(nodes), 2)
        self.assertEqual(set(n.name for n in nodes), set(("hello1", "hello2")))
Пример #3
0
 def setUp(self):
     MockNodeDriver.install(self)
     self.driver = MockNodeDriver("", "")
Пример #4
0
class TestCompute(TestCase):
    def setUp(self):
        MockNodeDriver.install(self)
        self.driver = MockNodeDriver("", "")

    def test_validate_driver_id(self):
        self.assertRaises(
            error.ValueError, self.up, """
            new Compute as myserver:
                name: hello
                driver:
                    id: DUMMYY
                    api_key: dummykey
                    secret: dummysecret
                image: 1
                size: 2
                key: foo
            """)

    def test_passing_int_to_driver(self):
        self.up("""
            new Compute as myserver:
                name: hello
                driver:
                    id: DUMMY
                    api_key: dummykey
                    secret: dummysecret
                    a: 55
                image: 1
                size: 2
                key: foo
            """)

    def test_passing_int_to_driver_exception(self):
        self.assertRaises(
            errors.TypeError, self.up, """
            new Compute as myserver:
                name: hello
                driver:
                    id: DUMMY
                    api_key: dummykey
                    secret: dummysecret
                    a: penguin
                image: 1
                size: 2
                key: foo
            """)

    def test_passing_str_to_driver(self):
        self.up("""
            new Compute as myserver:
                name: hello
                driver:
                    id: DUMMY
                    api_key: dummykey
                    secret: dummysecret
                    b: penguin
                image: 1
                size: 2
                key: foo
            """)

    def test_passing_str_to_driver_exception(self):
        self.assertRaises(
            errors.TypeError, self.up, """
            new Compute as myserver:
                name: hello
                driver:
                    id: DUMMY
                    api_key: dummykey
                    secret: dummysecret
                    b: []
                image: 1
                size: 2
                key: foo
            """)

    def test_empty_compute_node(self):
        self.assertEqual(len(self.driver.list_nodes()), 0)
        self.up("""
            new Compute as myserver:
                name: hello
                driver:
                    id: DUMMY
                    api_key: dummykey
                    secret: dummysecret
                image: 1
                size: 2
                key: foo
            """)
        nodes = self.driver.list_nodes()
        self.assertEqual(len(nodes), 1)
        self.assertEqual(nodes[0].name, "hello")

    def test_no_image(self):
        self.assertRaises(
            error.NoMatching, self.up, """
            new Compute as myserver:
                name: hello
                driver:
                    id: DUMMY
                    api_key: dummykey
                    secret: dummysecret
                size: 2
                key: foo
            """)

    def test_invalid_image(self):
        self.assertRaises(
            error.ValueError, self.up, """
            new Compute as myserver:
                name: hello
                driver:
                    id: DUMMY
                    api_key: dummykey
                    secret: dummysecret
                image: 58
                size: 2
                key: foo
            """)

    def test_no_size(self):
        self.assertRaises(
            error.NoMatching, self.up, """
            new Compute as myserver:
                name: hello
                driver:
                    id: DUMMY
                    api_key: dummykey
                    secret: dummysecret
                image: 1
                key: foo
            """)

    def test_invalid_size(self):
        self.assertRaises(
            error.ValueError, self.up, """
            new Compute as myserver:
                name: hello
                driver:
                    id: DUMMY
                    api_key: dummykey
                    secret: dummysecret
                image: 1
                size: 85
                key: foo
            """)

    def test_node_already_exists(self):
        self.assertEqual(len(self.driver.list_nodes()), 0)
        self.driver.create_node(name="dummy-1")
        self.assertRaises(
            error.NothingChanged, self.up, """
            new Compute as myserver:
                name: dummy-1
                driver:
                    id: DUMMY
                    api_key: dummykey
                    secret: dummysecret
                image: ubuntu
                size: 1
                key: 2
            """)

    def test_another_compute_node(self):
        self.assertEqual(len(self.driver.list_nodes()), 0)
        self.driver.create_node()
        self.driver.create_node()
        self.up("""
            new Compute as myserver:
                name: hello-im-another-node
                driver:
                    id: DUMMY
                    api_key: dummykey
                    secret: dummysecret
                image: 1
                size: 2
                key: foo
            """)
        nodes = self.driver.list_nodes()
        self.assertEqual(len(nodes), 3)
        nodes = filter(lambda n: n.name == "hello-im-another-node",
                       self.driver.list_nodes())
        self.assertEqual(len(nodes), 1)
        self.assertEqual(nodes[0].name, "hello-im-another-node")

    def test_destroy(self):
        self.test_empty_compute_node()
        self.destroy("""
            new Compute as myserver:
                name: hello
                driver:
                    id: DUMMY
                    api_key: dummykey
                    secret: dummysecret
                image: 1
                size: 2
                key: foo
            """)
        self.assertEqual(len(self.driver.list_nodes()), 0)
Пример #5
0
 def setUp(self):
     MockDNSDriver.install(self)
     MockNodeDriver.install(self)
     self.driver = MockDNSDriver("", "")
Пример #6
0
class TestCloudComputeLayer(TestCase):

    def setUp(self):
        MockNodeDriver.install(self)
        self.driver = MockNodeDriver("", "")

    def test_validate_driver_id(self):
        self.assertRaises(error.ValueError, self.up, """
            new Compute as myserver:
                name: hello
                driver:
                    id: DUMMYY
                    api_key: dummykey
                    secret: dummysecret
                image: 1
                size: 2
                key: foo
            """)

    def test_passing_int_to_driver(self):
        self.up("""
            new Compute as myserver:
                name: hello
                driver:
                    id: DUMMY
                    api_key: dummykey
                    secret: dummysecret
                    a: 55
                image: 1
                size: 2
                key: foo
            """)

    def test_passing_int_to_driver_exception(self):
        self.assertRaises(errors.TypeError, self.up, """
            new Compute as myserver:
                name: hello
                driver:
                    id: DUMMY
                    api_key: dummykey
                    secret: dummysecret
                    a: penguin
                image: 1
                size: 2
                key: foo
            """)

    def test_passing_str_to_driver(self):
        self.up("""
            new Compute as myserver:
                name: hello
                driver:
                    id: DUMMY
                    api_key: dummykey
                    secret: dummysecret
                    b: penguin
                image: 1
                size: 2
                key: foo
            """)

    def test_passing_str_to_driver_exception(self):
        self.assertRaises(errors.TypeError, self.up, """
            new Compute as myserver:
                name: hello
                driver:
                    id: DUMMY
                    api_key: dummykey
                    secret: dummysecret
                    b: []
                image: 1
                size: 2
                key: foo
            """)

    def test_empty_compute_node(self):
        self.assertEqual(len(self.driver.list_nodes()), 0)
        self.up("""
            new Compute as myserver:
                name: hello
                driver:
                    id: DUMMY
                    api_key: dummykey
                    secret: dummysecret
                image: 1
                size: 2
                key: foo
            """)
        nodes = self.driver.list_nodes()
        self.assertEqual(len(nodes), 1)
        self.assertEqual(nodes[0].name, "hello")

    def test_no_image(self):
        self.assertRaises(error.NoMatching, self.up, """
            new Compute as myserver:
                name: hello
                driver:
                    id: DUMMY
                    api_key: dummykey
                    secret: dummysecret
                size: 2
                key: foo
            """)

    def test_invalid_image(self):
        self.assertRaises(error.ValueError, self.up, """
            new Compute as myserver:
                name: hello
                driver:
                    id: DUMMY
                    api_key: dummykey
                    secret: dummysecret
                image: 58
                size: 2
                key: foo
            """)

    def test_no_size(self):
        self.assertRaises(error.NoMatching, self.up, """
            new Compute as myserver:
                name: hello
                driver:
                    id: DUMMY
                    api_key: dummykey
                    secret: dummysecret
                image: 1
                key: foo
            """)

    def test_invalid_size(self):
        self.assertRaises(error.ValueError, self.up, """
            new Compute as myserver:
                name: hello
                driver:
                    id: DUMMY
                    api_key: dummykey
                    secret: dummysecret
                image: 1
                size: 85
                key: foo
            """)

    def test_node_already_exists(self):
        self.assertEqual(len(self.driver.list_nodes()), 0)
        self.driver.create_node(name="dummy-1")
        self.assertRaises(error.NothingChanged, self.up, """
            new Compute as myserver:
                name: dummy-1
                driver:
                    id: DUMMY
                    api_key: dummykey
                    secret: dummysecret
                image: ubuntu
                size: 1
                key: 2
            """)

    def test_another_compute_node(self):
        self.assertEqual(len(self.driver.list_nodes()), 0)
        self.driver.create_node()
        self.driver.create_node()
        self.up("""
            new Compute as myserver:
                name: hello-im-another-node
                driver:
                    id: DUMMY
                    api_key: dummykey
                    secret: dummysecret
                image: 1
                size: 2
                key: foo
            """)
        nodes = self.driver.list_nodes()
        self.assertEqual(len(nodes), 3)
        nodes = filter(
            lambda n: n.name == "hello-im-another-node", self.driver.list_nodes())
        self.assertEqual(len(nodes), 1)
        self.assertEqual(nodes[0].name, "hello-im-another-node")

    def test_destroy(self):
        self.test_empty_compute_node()
        self.destroy("""
            new Compute as myserver:
                name: hello
                driver:
                    id: DUMMY
                    api_key: dummykey
                    secret: dummysecret
                image: 1
                size: 2
                key: foo
            """)
        self.assertEqual(len(self.driver.list_nodes()), 0)