Ejemplo n.º 1
0
    def test_object_has_stack_invalid_status(self, mock_oscs,
                                             mock_retrieve_bay):

        mock_osc = self._get_heat_stacks_get_mock_obj("INVALID_STATUS")
        mock_oscs.return_value = mock_osc
        self.assertTrue(utils.object_has_stack('context', self.get_fake_id()))
        mock_retrieve_bay.assert_called_with('context', self.get_fake_id())
Ejemplo n.º 2
0
 def rc_delete(self, context, rc_ident, bay_ident):
     LOG.debug("rc_delete %s", rc_ident)
     # Since bay identifier is specified verify whether its a UUID
     # or Name. If name is specified as bay identifier need to extract
     # the bay uuid since its needed to get the k8s_api object.
     bay_uuid = conductor_utils.retrieve_bay_uuid(context, bay_ident)
     self.k8s_api = k8s.create_k8s_api(context, bay_uuid)
     if utils.is_uuid_like(rc_ident):
         rc = objects.ReplicationController.get_by_uuid(context, rc_ident,
                                                        bay_uuid,
                                                        self.k8s_api)
         rc_name = rc.name
     else:
         rc_name = rc_ident
     if conductor_utils.object_has_stack(context, bay_uuid):
         try:
             self.k8s_api.delete_namespaced_replication_controller(
                 name=str(rc_name),
                 body={},
                 namespace='default')
         except rest.ApiException as err:
             if err.status == 404:
                 pass
             else:
                 raise exception.KubernetesAPIFailed(err=err)
Ejemplo n.º 3
0
    def pod_delete(self, context, pod_ident, bay_ident):
        LOG.debug("pod_delete %s", pod_ident)
        # Since bay identifier is specified verify whether its a UUID
        # or Name. If name is specified as bay identifier need to extract
        # the bay uuid since its needed to get the k8s_api object.
        if not utils.is_uuid_like(bay_ident):
            bay = objects.Bay.get_by_name(context, bay_ident)
            bay_ident = bay.uuid

        bay_uuid = bay_ident
        self.k8s_api = k8s.create_k8s_api_pod(context, bay_uuid)
        if utils.is_uuid_like(pod_ident):
            pod = objects.Pod.get_by_uuid(context, pod_ident,
                                          bay_uuid, self.k8s_api)
            pod_name = pod.name
        else:
            pod_name = pod_ident
        if conductor_utils.object_has_stack(context, bay_uuid):
            try:
                self.k8s_api.delete_namespaced_pod(name=str(pod_name), body={},
                                                   namespace='default')
            except rest.ApiException as err:
                if err.status == 404:
                    pass
                else:
                    raise exception.KubernetesAPIFailed(err=err)
Ejemplo n.º 4
0
    def test_object_has_stack_invalid_status(self, mock_oscs,
                                             mock_retrieve_bay):

        mock_osc = self._get_heat_stacks_get_mock_obj("INVALID_STATUS")
        mock_oscs.return_value = mock_osc
        self.assertTrue(utils.object_has_stack('context', self.get_fake_id()))
        mock_retrieve_bay.assert_called_with('context', self.get_fake_id())
Ejemplo n.º 5
0
    def rc_delete(self, context, rc_ident, bay_ident):
        LOG.debug("rc_delete %s", rc_ident)
        # Since bay identifier is specified verify whether its a UUID
        # or Name. If name is specified as bay identifier need to extract
        # the bay uuid since its needed to get the k8s_api object.
        if not utils.is_uuid_like(bay_ident):
            bay = objects.Bay.get_by_name(context, bay_ident)
            bay_ident = bay.uuid

        bay_uuid = bay_ident
        self.k8s_api = k8s.create_k8s_api_rc(context, bay_uuid)
        if utils.is_uuid_like(rc_ident):
            rc = objects.ReplicationController.get_by_uuid(context, rc_ident,
                                                           bay_uuid,
                                                           self.k8s_api)
            rc_name = rc.name
        else:
            rc_name = rc_ident
        if conductor_utils.object_has_stack(context, bay_uuid):
            try:
                self.k8s_api.delete_namespaced_replication_controller(
                    name=str(rc_name),
                    body={},
                    namespace='default')
            except rest.ApiException as err:
                if err.status == 404:
                    pass
                else:
                    raise exception.KubernetesAPIFailed(err=err)
Ejemplo n.º 6
0
    def test_object_has_stack_delete_in_progress(self, mock_oscs,
                                                 mock_retrieve_bay):

        mock_osc = self._get_heat_stacks_get_mock_obj("DELETE_IN_PROGRESS")
        mock_oscs.return_value = mock_osc
        self.assertFalse(utils.object_has_stack('context', self.get_fake_id()))
        mock_retrieve_bay.assert_called_with('context', self.get_fake_id())
Ejemplo n.º 7
0
    def test_object_has_stack_delete_in_progress(self, mock_oscs,
                                                 mock_retrieve_bay):

        mock_osc = self._get_heat_stacks_get_mock_obj("DELETE_IN_PROGRESS")
        mock_oscs.return_value = mock_osc
        self.assertFalse(utils.object_has_stack('context', self.get_fake_id()))
        mock_retrieve_bay.assert_called_with('context', self.get_fake_id())
Ejemplo n.º 8
0
 def rc_delete(self, context, uuid):
     LOG.debug("rc_delete %s", uuid)
     rc = objects.ReplicationController.get_by_uuid(context, uuid)
     self.k8s_api = k8s.create_k8s_api(context, rc)
     if conductor_utils.object_has_stack(context, rc):
         try:
             self.k8s_api.delete_namespaced_replication_controller(
                 name=str(rc.name), body={}, namespace='default')
         except rest.ApiException as err:
             if err.status == 404:
                 pass
             else:
                 raise exception.KubernetesAPIFailed(err=err)
     # call the rc object to persist in db
     rc.destroy(context)
Ejemplo n.º 9
0
 def service_delete(self, context, uuid):
     LOG.debug("service_delete %s", uuid)
     service = objects.Service.get_by_uuid(context, uuid)
     self.k8s_api = k8s.create_k8s_api(context, service)
     if conductor_utils.object_has_stack(context, service):
         try:
             self.k8s_api.delete_namespaced_service(name=str(service.name),
                                                    namespace='default')
         except rest.ApiException as err:
             if err.status == 404:
                 pass
             else:
                 raise exception.KubernetesAPIFailed(err=err)
     # call the service object to persist in db
     service.destroy(context)
Ejemplo n.º 10
0
 def pod_delete(self, context, uuid):
     LOG.debug("pod_delete %s", uuid)
     pod = objects.Pod.get_by_uuid(context, uuid)
     self.k8s_api = k8s.create_k8s_api(context, pod)
     if conductor_utils.object_has_stack(context, pod):
         try:
             self.k8s_api.delete_namespaced_pod(name=str(pod.name), body={},
                                                namespace='default')
         except rest.ApiException as err:
             if err.status == 404:
                 pass
             else:
                 raise exception.KubernetesAPIFailed(err=err)
     # call the pod object to persist in db
     pod.destroy(context)
Ejemplo n.º 11
0
 def rc_delete(self, context, uuid):
     LOG.debug("rc_delete %s", uuid)
     rc = objects.ReplicationController.get_by_uuid(context, uuid)
     self.k8s_api = k8s.create_k8s_api(context, rc)
     if conductor_utils.object_has_stack(context, rc):
         try:
             self.k8s_api.delete_namespaced_replication_controller(
                 name=str(rc.name), body={}, namespace='default')
         except rest.ApiException as err:
             if err.status == 404:
                 pass
             else:
                 raise exception.KubernetesAPIFailed(err=err)
     # call the rc object to persist in db
     rc.destroy(context)
Ejemplo n.º 12
0
 def service_delete(self, context, uuid):
     LOG.debug("service_delete %s", uuid)
     service = objects.Service.get_by_uuid(context, uuid)
     self.k8s_api = k8s.create_k8s_api(context, service)
     if conductor_utils.object_has_stack(context, service):
         try:
             self.k8s_api.delete_namespaced_service(name=str(service.name),
                                                    namespace='default')
         except rest.ApiException as err:
             if err.status == 404:
                 pass
             else:
                 raise exception.KubernetesAPIFailed(err=err)
     # call the service object to persist in db
     service.destroy(context)
Ejemplo n.º 13
0
 def pod_delete(self, context, uuid):
     LOG.debug("pod_delete %s", uuid)
     pod = objects.Pod.get_by_uuid(context, uuid)
     self.k8s_api = k8s.create_k8s_api(context, pod)
     if conductor_utils.object_has_stack(context, pod):
         try:
             self.k8s_api.delete_namespaced_pod(name=str(pod.name), body={},
                                                namespace='default')
         except rest.ApiException as err:
             if err.status == 404:
                 pass
             else:
                 raise exception.KubernetesAPIFailed(err=err)
     # call the pod object to persist in db
     pod.destroy(context)
Ejemplo n.º 14
0
 def pod_delete(self, context, uuid):
     LOG.debug("pod_delete %s", uuid)
     pod = objects.Pod.get_by_uuid(context, uuid)
     self.k8s_api = k8s.create_k8s_api(context, pod)
     if conductor_utils.object_has_stack(context, pod):
         try:
             self.k8s_api.deletePod(name=pod.name, namespaces='default')
         except error.HTTPError as err:
             if err.code == 404:
                 pass
             else:
                 message = ast.literal_eval(err.read())['message']
                 raise exception.KubernetesAPIFailed(code=err.code,
                                                     message=message)
     # call the pod object to persist in db
     pod.destroy(context)
Ejemplo n.º 15
0
 def service_delete(self, context, uuid):
     LOG.debug("service_delete %s", uuid)
     service = objects.Service.get_by_uuid(context, uuid)
     self.k8s_api = k8s.create_k8s_api(context, service)
     if conductor_utils.object_has_stack(context, service):
         try:
             self.k8s_api.deleteService(name=service.name,
                                        namespaces='default')
         except error.HTTPError as err:
             if err.code == 404:
                 pass
             else:
                 message = ast.literal_eval(err.read())['message']
                 raise exception.KubernetesAPIFailed(code=err.code,
                                                     message=message)
     # call the service object to persist in db
     service.destroy(context)
Ejemplo n.º 16
0
 def rc_delete(self, context, uuid):
     LOG.debug("rc_delete %s", uuid)
     rc = objects.ReplicationController.get_by_uuid(context, uuid)
     self.k8s_api = k8s.create_k8s_api(context, rc)
     if conductor_utils.object_has_stack(context, rc):
         try:
             self.k8s_api.deleteReplicationController(name=rc.name,
                                                      namespaces='default')
         except error.HTTPError as err:
             if err.code == 404:
                 pass
             else:
                 message = ast.literal_eval(err.read())['message']
                 raise exception.KubernetesAPIFailed(code=err.code,
                                                     message=message)
     # call the rc object to persist in db
     rc.destroy(context)
Ejemplo n.º 17
0
 def rc_delete(self, context, uuid):
     LOG.debug("rc_delete %s", uuid)
     rc = objects.ReplicationController.get_by_uuid(context, uuid)
     self.k8s_api = k8s.create_k8s_api(context, rc)
     if conductor_utils.object_has_stack(context, rc):
         try:
             self.k8s_api.deleteReplicationController(name=rc.name,
                                                      namespaces='default')
         except error.HTTPError as err:
             if err.code == 404:
                 pass
             else:
                 message = ast.literal_eval(err.read())['message']
                 raise exception.KubernetesAPIFailed(code=err.code,
                                                     message=message)
     # call the rc object to persist in db
     rc.destroy(context)
Ejemplo n.º 18
0
 def rc_delete(self, context, rc_ident, bay_ident):
     LOG.debug("rc_delete %s", rc_ident)
     bay = conductor_utils.retrieve_bay(context, bay_ident)
     self.k8s_api = k8s.create_k8s_api(context, bay)
     if utils.is_uuid_like(rc_ident):
         rc = objects.ReplicationController.get_by_uuid(
             context, rc_ident, bay.uuid, self.k8s_api)
         rc_name = rc.name
     else:
         rc_name = rc_ident
     if conductor_utils.object_has_stack(context, bay.uuid):
         try:
             self.k8s_api.delete_namespaced_replication_controller(
                 name=str(rc_name), body={}, namespace='default')
         except rest.ApiException as err:
             if err.status == 404:
                 pass
             else:
                 raise exception.KubernetesAPIFailed(err=err)
Ejemplo n.º 19
0
 def pod_delete(self, context, pod_ident, bay_ident):
     LOG.debug("pod_delete %s", pod_ident)
     bay = conductor_utils.retrieve_bay(context, bay_ident)
     self.k8s_api = k8s.create_k8s_api(context, bay)
     if utils.is_uuid_like(pod_ident):
         pod = objects.Pod.get_by_uuid(context, pod_ident,
                                       bay.uuid, self.k8s_api)
         pod_name = pod.name
     else:
         pod_name = pod_ident
     if conductor_utils.object_has_stack(context, bay.uuid):
         try:
             self.k8s_api.delete_namespaced_pod(name=str(pod_name), body={},
                                                namespace='default')
         except rest.ApiException as err:
             if err.status == 404:
                 pass
             else:
                 raise exception.KubernetesAPIFailed(err=err)
Ejemplo n.º 20
0
    def service_delete(self, context, service_ident, bay_ident):
        LOG.debug("service_delete %s", service_ident)
        bay = conductor_utils.retrieve_bay(context, bay_ident)
        self.k8s_api = k8s.create_k8s_api(context, bay)
        if utils.is_uuid_like(service_ident):
            service = objects.Service.get_by_uuid(context, service_ident,
                                                  bay.uuid, self.k8s_api)
            service_name = service.name
        else:
            service_name = service_ident
        if conductor_utils.object_has_stack(context, bay.uuid):
            try:

                self.k8s_api.delete_namespaced_service(name=str(service_name),
                                                       namespace='default')
            except rest.ApiException as err:
                if err.status == 404:
                    pass
                else:
                    raise exception.KubernetesAPIFailed(err=err)
Ejemplo n.º 21
0
 def pod_delete(self, context, pod_ident, bay_ident):
     LOG.debug("pod_delete %s", pod_ident)
     bay = conductor_utils.retrieve_bay(context, bay_ident)
     self.k8s_api = k8s.create_k8s_api(context, bay)
     if utils.is_uuid_like(pod_ident):
         pod = objects.Pod.get_by_uuid(context, pod_ident, bay.uuid,
                                       self.k8s_api)
         pod_name = pod.name
     else:
         pod_name = pod_ident
     if conductor_utils.object_has_stack(context, bay.uuid):
         try:
             self.k8s_api.delete_namespaced_pod(name=str(pod_name),
                                                body={},
                                                namespace='default')
         except rest.ApiException as err:
             if err.status == 404:
                 pass
             else:
                 raise exception.KubernetesAPIFailed(err=err)
Ejemplo n.º 22
0
    def service_delete(self, context, service_ident, bay_ident):
        LOG.debug("service_delete %s", service_ident)
        bay = conductor_utils.retrieve_bay(context, bay_ident)
        self.k8s_api = k8s.create_k8s_api(context, bay)
        if utils.is_uuid_like(service_ident):
            service = objects.Service.get_by_uuid(context, service_ident,
                                                  bay.uuid, self.k8s_api)
            service_name = service.name
        else:
            service_name = service_ident
        if conductor_utils.object_has_stack(context, bay.uuid):
            try:

                self.k8s_api.delete_namespaced_service(name=str(service_name),
                                                       namespace='default')
            except rest.ApiException as err:
                if err.status == 404:
                    pass
                else:
                    raise exception.KubernetesAPIFailed(err=err)
Ejemplo n.º 23
0
 def rc_delete(self, context, rc_ident, bay_ident):
     LOG.debug("rc_delete %s", rc_ident)
     bay = conductor_utils.retrieve_bay(context, bay_ident)
     self.k8s_api = k8s.create_k8s_api(context, bay)
     if utils.is_uuid_like(rc_ident):
         rc = objects.ReplicationController.get_by_uuid(context, rc_ident,
                                                        bay.uuid,
                                                        self.k8s_api)
         rc_name = rc.name
     else:
         rc_name = rc_ident
     if conductor_utils.object_has_stack(context, bay.uuid):
         try:
             self.k8s_api.delete_namespaced_replication_controller(
                 name=str(rc_name),
                 body={},
                 namespace='default')
         except rest.ApiException as err:
             if err.status == 404:
                 pass
             else:
                 raise exception.KubernetesAPIFailed(err=err)
Ejemplo n.º 24
0
 def pod_delete(self, context, pod_ident, bay_ident):
     LOG.debug("pod_delete %s", pod_ident)
     # Since bay identifier is specified verify whether its a UUID
     # or Name. If name is specified as bay identifier need to extract
     # the bay uuid since its needed to get the k8s_api object.
     bay_uuid = conductor_utils.retrieve_bay_uuid(context, bay_ident)
     self.k8s_api = k8s.create_k8s_api(context, bay_uuid)
     if utils.is_uuid_like(pod_ident):
         pod = objects.Pod.get_by_uuid(context, pod_ident, bay_uuid,
                                       self.k8s_api)
         pod_name = pod.name
     else:
         pod_name = pod_ident
     if conductor_utils.object_has_stack(context, bay_uuid):
         try:
             self.k8s_api.delete_namespaced_pod(name=str(pod_name),
                                                body={},
                                                namespace='default')
         except rest.ApiException as err:
             if err.status == 404:
                 pass
             else:
                 raise exception.KubernetesAPIFailed(err=err)
Ejemplo n.º 25
0
 def test_object_has_stack_delete_complete_status(self, mock_oscs,
                                                  mock_retrieve_bay):
     mock_osc = self._get_heat_stacks_get_mock_obj("DELETE_COMPLETE")
     mock_oscs.return_value = mock_osc
     self.assertFalse(utils.object_has_stack('context', self.get_fake_id()))
     mock_retrieve_bay.assert_called_with('context', self.get_fake_id())
Ejemplo n.º 26
0
 def test_object_has_stack_delete_complete_status(self, mock_oscs,
                                                  mock_retrieve_bay):
     mock_osc = self._get_heat_stacks_get_mock_obj("DELETE_COMPLETE")
     mock_oscs.return_value = mock_osc
     self.assertFalse(utils.object_has_stack('context', self.get_fake_id()))
     mock_retrieve_bay.assert_called_with('context', self.get_fake_id())