예제 #1
0
 def test_update_status_provisioned_to_rebooting(self):
     """
     Update status when the server is rebooted, after being provisioned
     """
     server = StartedOpenStackServerFactory(
         os_server_fixture='openstack/api_server_2_active.json',
         status=OpenStackServer.PROVISIONED)
     self.assertEqual(server.update_status(), server.PROVISIONED)
     self.assertEqual(server.update_status(rebooting=True), server.REBOOTING)
     self.assertEqual(server.status, server.REBOOTING)
예제 #2
0
 def test_update_status_booted_to_provisioned(self):
     """
     Update status while the server is booted, when the VM is provisioned
     """
     server = StartedOpenStackServerFactory(
         os_server_fixture='openstack/api_server_2_active.json',
         status=OpenStackServer.BOOTED)
     self.assertEqual(server.update_status(), server.BOOTED)
     self.assertEqual(server.update_status(provisioned=True), server.PROVISIONED)
     self.assertEqual(server.status, server.PROVISIONED)
예제 #3
0
 def test_update_status_booted_to_error(self):
     """
     Update status while the server is booted, when the VM failed to be provisioned
     """
     server = StartedOpenStackServerFactory(
         os_server_fixture='openstack/api_server_2_active.json',
         status=OpenStackServer.BOOTED)
     self.assertEqual(server.update_status(), server.BOOTED)
     self.assertEqual(server.update_status(provisioning=True), server.PROVISIONING)
     self.assertEqual(server.update_status(provisioning=True, failed=True), server.PROVISIONING)
     self.assertEqual(server.progress, server.PROGRESS_FAILED)
예제 #4
0
 def test_update_status_rebooting_to_ready(self, mock_is_port_open):
     """
     Update status while the server is rebooting, when the server becomes ready (ssh accessible again)
     """
     server = StartedOpenStackServerFactory(
         os_server_fixture='openstack/api_server_2_active.json',
         status=OpenStackServer.REBOOTING)
     mock_is_port_open.return_value = False
     self.assertEqual(server.update_status(), server.REBOOTING)
     mock_is_port_open.return_value = True
     self.assertEqual(server.update_status(), server.READY)
     self.assertEqual(server.status, server.READY)
예제 #5
0
 def test_update_status_active_to_booted(self, mock_is_port_open):
     """
     Update status while the server is active, when the VM becomes booted
     """
     server = StartedOpenStackServerFactory(
         os_server_fixture='openstack/api_server_2_active.json',
         status=OpenStackServer.ACTIVE)
     mock_is_port_open.return_value = False
     self.assertEqual(server.update_status(), server.ACTIVE)
     mock_is_port_open.return_value = True
     self.assertEqual(server.update_status(), server.BOOTED)
     self.assertEqual(server.status, server.BOOTED)
예제 #6
0
 def test_update_status_rebooting_to_ready(self, mock_is_port_open):
     """
     Update status while the server is rebooting, when the server becomes ready (ssh accessible again)
     """
     server = StartedOpenStackServerFactory(
         os_server_fixture='openstack/api_server_2_active.json',
         _status=ServerStatus.Rebooting.state_id)
     mock_is_port_open.return_value = False
     self.assertIsInstance(server.update_status(), ServerStatus.Rebooting)
     mock_is_port_open.return_value = True
     self.assertIsInstance(server.update_status(), ServerStatus.Ready)
     self.assertEqual(server.status, ServerStatus.Ready)
     self.assertEqual(server.progress, ServerProgress.Success)
예제 #7
0
 def test_update_status_active_to_booted(self, mock_is_port_open):
     """
     Update status while the server is active, when the VM becomes booted
     """
     server = StartedOpenStackServerFactory(
         os_server_fixture='openstack/api_server_2_active.json',
         _status=ServerStatus.Active.state_id)
     mock_is_port_open.return_value = False
     self.assertIsInstance(server.update_status(), ServerStatus.Active)
     mock_is_port_open.return_value = True
     self.assertIsInstance(server.update_status(), ServerStatus.Booted)
     self.assertEqual(server.status, ServerStatus.Booted)
     self.assertEqual(server.progress, ServerProgress.Success)
예제 #8
0
 def test_update_status_started(self):
     """
     Update status while the server is started, without change on the OpenStack VM
     """
     server = StartedOpenStackServerFactory(os_server_fixture='openstack/api_server_1_building.json')
     self.assertEqual(server.update_status(), server.ACTIVE)
     self.assertEqual(server.progress, server.PROGRESS_RUNNING)
예제 #9
0
 def test_update_status_started(self):
     """
     Update status while the server is started, without change on the OpenStack VM
     """
     server = StartedOpenStackServerFactory(os_server_fixture='openstack/api_server_1_building.json')
     self.assertEqual(server.update_status(), server.STARTED)
     self.assertEqual(server.status, server.STARTED)
예제 #10
0
 def test_update_status_started(self):
     """
     Update status while the server is started, without change on the OpenStack VM
     """
     server = StartedOpenStackServerFactory(os_server_fixture='openstack/api_server_1_building.json')
     self.assertIsInstance(server.update_status(), ServerStatus.Active)
     self.assertEqual(server.progress, ServerProgress.Running)
예제 #11
0
 def test_update_status_started_to_active(self, mock_is_port_open):
     """
     Update status while the server is started, when the VM becomes active
     """
     mock_is_port_open.return_value = False
     server = StartedOpenStackServerFactory(os_server_fixture='openstack/api_server_2_active.json')
     self.assertEqual(server.update_status(), server.ACTIVE)
     self.assertEqual(server.status, server.ACTIVE)
예제 #12
0
 def test_update_status_started_to_active(self, mock_is_port_open):
     """
     Update status while the server is started, when the VM becomes active
     """
     mock_is_port_open.return_value = False
     server = StartedOpenStackServerFactory(os_server_fixture='openstack/api_server_2_active.json')
     self.assertIsInstance(server.update_status(), ServerStatus.Active)
     self.assertEqual(server.status, ServerStatus.Active)
     self.assertEqual(server.progress, ServerProgress.Success)
예제 #13
0
 def test_update_status_provisioned_to_rebooting(self, _mock_sleep, mock_is_port_open):
     """
     Update status when the server is rebooted, after being provisioned
     """
     server = StartedOpenStackServerFactory(
         os_server_fixture='openstack/api_server_2_active.json',
         _status=ServerStatus.Provisioning.state_id,
         _progress=ServerProgress.Success.state_id)
     # If server is in Status.Rebooting, update_status calls is_port_open
     # to determine if server should transition to Status.Ready.
     # When using a fixture for server.os_server, is_port_open will eventually return False,
     # but only after a delay of about two minutes.
     # So we mock out is_port_open here to speed up testing:
     mock_is_port_open.return_value = False
     self.assertIsInstance(server.update_status(), ServerStatus.Provisioning)
     self.assertEqual(server.progress, ServerProgress.Success)
     server.reboot()
     self.assertEqual(server.status, ServerStatus.Rebooting)
     self.assertIsInstance(server.update_status(), ServerStatus.Rebooting)
     self.assertEqual(server.status, ServerStatus.Rebooting)
     self.assertEqual(server.progress, ServerProgress.Running)
예제 #14
0
 def test_update_status_booted_to_error(self):
     """
     Update status while the server is booted, when the VM failed to be provisioned
     """
     server = StartedOpenStackServerFactory(
         os_server_fixture='openstack/api_server_2_active.json',
         _status=ServerStatus.Booted.state_id)
     self.assertIsInstance(server.update_status(), ServerStatus.Booted)
     server.mark_as_provisioning()
     self.assertEqual(server.status, ServerStatus.Provisioning)
     self.assertEqual(server.progress, ServerProgress.Running)
     server.mark_provisioning_finished(success=False)
     self.assertEqual(server.status, ServerStatus.Provisioning)
     self.assertEqual(server.progress, ServerProgress.Failed)