Exemple #1
0
 def test_do_resource_status_check_replica_set(self):
     self._prepare_master_node()
     tasks._do_resource_status_check(
         "ReplicaSet", {'status': {
             'ready_replicas': 2,
             'replicas': 2
         }})
Exemple #2
0
 def test_do_resource_status_check_deployment(self):
     self._prepare_master_node()
     tasks._do_resource_status_check(
         "Deployment", {'status': {
             'conditions': [{
                 'type': 'Available'
             }]
         }})
Exemple #3
0
 def test_do_resource_status_check_replication_controller(self):
     self._prepare_master_node()
     tasks._do_resource_status_check(
         "ReplicationController",
         {'status': {
             'ready_replicas': 2,
             'replicas': 2
         }})
Exemple #4
0
    def test_do_resource_status_check_persistent_volume_retry(self):
        self._prepare_master_node()

        with self.assertRaises(OperationRetry) as error:
            tasks._do_resource_status_check("PersistentVolume",
                                            {'status': {
                                                'phase': 'Unknown'
                                            }})
        self.assertEqual(str(error.exception),
                         "Unknown PersistentVolume status Unknown")
 def test_do_resource_status_check_persistent_volume(self):
     self._prepare_master_node()
     tasks._do_resource_status_check("PersistentVolume",
                                     {'status': {
                                         'phase': 'Bound'
                                     }})
     tasks._do_resource_status_check("PersistentVolume",
                                     {'status': {
                                         'phase': 'Available'
                                     }})
    def test_do_resource_status_check_pod_failed(self):
        # raise exception on 'Failed'
        self._prepare_master_node()

        with self.assertRaises(NonRecoverableError) as error:
            tasks._do_resource_status_check("Pod",
                                            {'status': {
                                                'phase': 'Failed'
                                            }})
        self.assertEqual(str(error.exception), "Status is {'phase': 'Failed'}")
    def test_do_resource_status_check_replication_controller_retry(self):
        self._prepare_master_node()

        with self.assertRaises(OperationRetry) as error:
            tasks._do_resource_status_check(
                "ReplicationController",
                {'status': {
                    'ready_replicas': None,
                    'replicas': 0
                }})
        self.assertEqual(str(error.exception),
                         "ReplicationController status not ready yet")
Exemple #8
0
    def test_do_resource_status_check_deployment_failed(self):
        self._prepare_master_node()
        with self.assertRaises(NonRecoverableError) as error:
            tasks._do_resource_status_check(
                "Deployment", {
                    'status': {
                        'conditions': [{
                            'type': 'ReplicaFailure',
                            'reason': 'ReplicaFailure',
                            'message': 'ReplicaFailure'
                        }]
                    }
                })

        self.assertEqual(
            str(error.exception), 'Deployment condition is ReplicaFailure ,'
            'reason:ReplicaFailure, message: ReplicaFailure')
 def test_do_resource_status_check_service_fail(self):
     # raise exception on empty balancer
     _, _ctx = self._prepare_master_node()
     current_ctx.set(_ctx)
     with self.assertRaises(OperationRetry) as error:
         tasks._do_resource_status_check(
             "Service", {
                 'spec': {
                     'type': 'Ingress'
                 },
                 'status': {
                     'load_balancer': {
                         'ingress': None
                     }
                 }
             })
     self.assertEqual(str(error.exception),
                      "Status is {'load_balancer': {'ingress': None}}")
    def test_do_resource_status_check_replica_set_retry(self):
        self._prepare_master_node()

        with self.assertRaises(OperationRetry) as error:
            tasks._do_resource_status_check(
                "ReplicaSet",
                {'status': {
                    'ready_replicas': None,
                    'replicas': 0
                }})
        try:
            self.assertEqual(
                str(error.exception),
                "Status is {'ready_replicas': None, 'replicas': 0}")
        except AssertionError:
            self.assertEqual(
                str(error.exception),
                "Status is {'replicas': 0, 'ready_replicas': None}")
Exemple #11
0
    def test_do_resource_status_check_pod_retry(self):
        # raise exception on 'Pending', 'Unknown'
        self._prepare_master_node()

        with self.assertRaises(OperationRetry) as error:
            tasks._do_resource_status_check("Pod",
                                            {'status': {
                                                'phase': 'Pending'
                                            }})
        self.assertEqual(str(error.exception),
                         "status Pending in phase ['Pending', 'Unknown']")

        with self.assertRaises(OperationRetry) as error:
            tasks._do_resource_status_check("Pod",
                                            {'status': {
                                                'phase': 'Unknown'
                                            }})
        self.assertEqual(str(error.exception),
                         "status Unknown in phase ['Pending', 'Unknown']")
Exemple #12
0
    def test_do_resource_status_check_deployment_retry(self):
        self._prepare_master_node()
        with self.assertRaises(OperationRetry) as error:
            tasks._do_resource_status_check(
                "Deployment",
                {'status': {
                    'conditions': [{
                        'type': 'Progressing'
                    }]
                }})
        self.assertEqual(str(error.exception),
                         "Deployment condition is Progressing")

        with self.assertRaises(OperationRetry) as error:
            tasks._do_resource_status_check("Deployment",
                                            {'status': {
                                                'conditions': None
                                            }})
        self.assertEqual(str(error.exception),
                         "Deployment condition is not ready yet")
Exemple #13
0
    def test_do_resource_status_check_replica_set_retry(self):
        self._prepare_master_node()

        with self.assertRaises(OperationRetry) as error:
            tasks._do_resource_status_check(
                "ReplicaSet",
                {'status': {
                    'ready_replicas': None,
                    'replicas': 2
                }})
        self.assertEqual(str(error.exception),
                         "ReplicaSet status not ready yet")

        with self.assertRaises(OperationRetry) as error:
            tasks._do_resource_status_check(
                "ReplicaSet", {'status': {
                    'ready_replicas': 1,
                    'replicas': 2
                }})
        self.assertEqual(str(error.exception),
                         "Only 1 of 2 replicas are ready")
Exemple #14
0
 def test_do_resource_status_check_pod(self):
     # never raise exception on 'Running', 'Succeeded'
     self._prepare_master_node()
     tasks._do_resource_status_check("Pod",
                                     {'status': {
                                         'phase': 'Running'
                                     }})
     tasks._do_resource_status_check("Pod",
                                     {'status': {
                                         'phase': 'Succeeded'
                                     }})
     tasks._do_resource_status_check("Pod", {'status': {'phase': 'Other'}})
Exemple #15
0
 def test_do_resource_status_check_unknow(self):
     # never raise exception on unknown types
     tasks._do_resource_status_check("unknow", {})
Exemple #16
0
 def test_do_resource_status_check_service(self):
     # never raise exception on empty status
     self._prepare_master_node()
     tasks._do_resource_status_check("Service", {'status': {}})
 def test_do_resource_status_check_unknown(self):
     # never raise exception on unknown types
     _, __ = self._prepare_master_node()
     tasks._do_resource_status_check("unknown", {})