Exemplo n.º 1
0
    def test_status_transitions(self):
        """
        Test that status transitions work as expected for different server workflows
        """
        # Normal workflow
        server = OpenStackServerFactory()
        self.assertEqual(server.status, ServerStatus.Pending)
        self._assert_status_conditions(server)

        server._status_to_building()
        self.assertEqual(server.status, ServerStatus.Building)
        self._assert_status_conditions(server)

        server._status_to_unknown()
        self.assertEqual(server.status, ServerStatus.Unknown)
        self._assert_status_conditions(server)

        server._status_to_building()
        self.assertEqual(server.status, ServerStatus.Building)
        self._assert_status_conditions(server)

        server._status_to_booting()
        self.assertEqual(server.status, ServerStatus.Booting)
        self._assert_status_conditions(server, vm_available=True)

        server._status_to_unknown()
        self.assertEqual(server.status, ServerStatus.Unknown)
        self._assert_status_conditions(server)

        server._status_to_booting()
        self.assertEqual(server.status, ServerStatus.Booting)
        self._assert_status_conditions(server, vm_available=True)

        server._status_to_ready()
        self.assertEqual(server.status, ServerStatus.Ready)
        self._assert_status_conditions(server,
                                       is_steady_state=True,
                                       accepts_ssh_commands=True,
                                       vm_available=True)

        server._status_to_unknown()
        self.assertEqual(server.status, ServerStatus.Unknown)
        self._assert_status_conditions(server)

        server._status_to_ready()
        self.assertEqual(server.status, ServerStatus.Ready)
        self._assert_status_conditions(server,
                                       is_steady_state=True,
                                       accepts_ssh_commands=True,
                                       vm_available=True)

        server._status_to_terminated()
        self.assertEqual(server.status, ServerStatus.Terminated)
        self._assert_status_conditions(server, is_steady_state=True)

        # Server creation fails
        instance_bad_server = BuildingOpenStackServerFactory()
        instance_bad_server._status_to_build_failed()
        self.assertEqual(instance_bad_server.status, ServerStatus.BuildFailed)
        self._assert_status_conditions(server, is_steady_state=True)
Exemplo n.º 2
0
    def test_status_transitions(self):
        """
        Test that status transitions work as expected for different server workflows
        """
        # Normal workflow
        server = OpenStackServerFactory()
        self.assertEqual(server.status, ServerStatus.Pending)
        self._assert_status_conditions(server)

        server._status_to_building()
        self.assertEqual(server.status, ServerStatus.Building)
        self._assert_status_conditions(server)

        server._status_to_booting()
        self.assertEqual(server.status, ServerStatus.Booting)
        self._assert_status_conditions(server, vm_available=True)

        server._status_to_ready()
        self.assertEqual(server.status, ServerStatus.Ready)
        self._assert_status_conditions(server, is_steady_state=True, accepts_ssh_commands=True, vm_available=True)

        server._status_to_terminated()
        self.assertEqual(server.status, ServerStatus.Terminated)
        self._assert_status_conditions(server, is_steady_state=True)

        # Server creation fails
        instance_bad_server = BuildingOpenStackServerFactory()
        instance_bad_server._status_to_build_failed()
        self.assertEqual(instance_bad_server.status, ServerStatus.BuildFailed)
        self._assert_status_conditions(server, is_steady_state=True)
Exemplo n.º 3
0
 def test_server_status(self):
     """
     Server status of an instance with one active server
     """
     instance = SingleVMOpenEdXInstanceFactory()
     self.assertIsNone(instance.server_status)
     server = OpenStackServerFactory(instance=instance)
     self.assertEqual(instance.server_status, Server.Status.Pending)
     server._status_to_building()
     self.assertEqual(instance.server_status, Server.Status.Building)
     server._status_to_booting()
     self.assertEqual(instance.server_status, Server.Status.Booting)
     server._status_to_ready()
     self.assertEqual(instance.server_status, Server.Status.Ready)
     server._status_to_terminated()
     self.assertIsNone(instance.server_status)
     bad_instance = SingleVMOpenEdXInstanceFactory()
     bad_server = BuildingOpenStackServerFactory(instance=bad_instance)
     bad_server._status_to_build_failed()
     self.assertEqual(bad_instance.server_status, Server.Status.BuildFailed)