def test_api_create_nfs(self):
        pvname = "yopv"
        pvcname = "yopvc"
        volname = "yovolume"
        podname = "yopod"
        contname = "yocontainer"

        pvtype = "nfs"
        pv = _utils.create_pv(name=pvname, type=pvtype)
        pv.nfs_server = "nfs.company.com"
        pv.nfs_path = "/fs1/test-nfs"

        pvc = _utils.create_pvc(name=pvcname)

        vol = _utils.create_volume(name=volname, type='persistentVolumeClaim')
        vol.claim_name = pvcname

        container = _utils.create_container(name=contname, image="nginx:latest")
        volmount = _utils.create_volume_mount(name=volname, mount_path='/test-persistent')
        container.add_volume_mount(volmount)

        pod = _utils.create_pod(name=podname)
        pod.add_volume(vol)
        pod.add_container(container)

        if _utils.is_reachable(pvc.config):
            try:
                pv.create()
                pvc.create()
                pod.create()
                self.assertIsInstance(pv, K8sPersistentVolume)
                self.assertIsInstance(pvc, K8sPersistentVolumeClaim)
            except Exception as err:
                self.assertIsInstance(err, TimedOutException)
    def test_api_create_hostpath_minikube(self):
        cfg = _utils.create_config()

        if _utils.is_reachable(cfg):
            pv = K8sPersistentVolume(
                name="pv-mysql",
                type="hostPath")
            try:
                pv.get()
            except NotFoundException:
                pv.capacity = {"storage": "512Mi"}
                pv.access_modes = ["ReadWriteOnce"]
                pv.reclaim_policy = "Delete"
                pv.path = "/tmp/mysql/data"
                pv.storage_class_name = "manual"
                pv.add_label('type', 'local')
                print("** creating mysql persistent volume...")
                pv.create()

            pvc = K8sPersistentVolumeClaim(
                config=cfg,
                name="pvc-mysql")
            try:
                pvc.get()
            except NotFoundException:
                pvc.storage_class_name = "manual"
                pvc.access_modes = ['ReadWriteOnce']
                pvc.resources = {'requests': {'storage': '512Mi'}}
                print("** creating mysql persistent volume claim...")
                pvc.create()

            self.assertIsInstance(pv, K8sPersistentVolume)
            self.assertIsInstance(pvc, K8sPersistentVolumeClaim)
    def test_warnings(self):
        cfg = _utils.create_config()

        if _utils.is_reachable(cfg):
            objs = K8sEvent(config=cfg, name="yo").warnings()
            for x in objs:
                self.assertIsInstance(x, K8sEvent)
 def test_get(self):
     name = "scheduler"
     c = _utils.create_component_status(name=name)
     if _utils.is_reachable(c.config):
         from_get = c.get()
         self.assertIsInstance(from_get, K8sComponentStatus)
         self.assertEqual(c, from_get)
 def test_delete_nonexistent(self):
     name = "yo-{0}".format(str(uuid.uuid4().hex[:16]))
     svc = _utils.create_service(name=name)
     svc.add_port(name="redis", port=5432, target_port=5432, protocol="tcp")
     if _utils.is_reachable(svc.config):
         with self.assertRaises(NotFoundException):
             svc.delete()
Exemple #6
0
    def test_create_without_containers(self):
        name = "yopod-{0}".format(str(uuid.uuid4()))
        pod = _utils.create_pod(name=name)

        if _utils.is_reachable(pod.config):
            with self.assertRaises(UnprocessableEntityException):
                pod.create()
    def test_api_create_aws_ebs(self):
        pvname = "yopv"
        pvcname = "yopvc"
        volname = "yovolume"
        podname = "yopod"
        contname = "yocontainer"

        pvtype = "awsElasticBlockStore"
        pv = _utils.create_pv(name=pvname, type=pvtype)
        pv.volume_id = "vol-0e3056a2"
        pv.fs_type = "xfs"

        pvc = _utils.create_pvc(name=pvcname)

        vol = _utils.create_volume(name=volname, type='persistentVolumeClaim')
        vol.claim_name = pvcname

        container = _utils.create_container(name=contname, image="nginx:latest")
        volmount = _utils.create_volume_mount(name=volname, mount_path='/test-persistent')
        container.add_volume_mount(volmount)

        pod = _utils.create_pod(name=podname)
        pod.add_volume(vol)
        pod.add_container(container)

        if _utils.is_reachable(pvc.config):
            try:
                pv.create()
                pvc.create()
                pod.create()
                self.assertIsInstance(pv, K8sPersistentVolume)
                self.assertIsInstance(pvc, K8sPersistentVolumeClaim)
            except Exception as err:
                self.assertIsInstance(err, TimedOutException)
Exemple #8
0
 def test_create_already_exists(self):
     name = "yo-{0}".format(str(uuid.uuid4().hex[:16]))
     node = _utils.create_node(name=name)
     if _utils.is_reachable(node.config):
         node.create()
         with self.assertRaises(AlreadyExistsException):
             node.create()
Exemple #9
0
    def test_node_affinity_with_required_and_preferred(self):
        model = _constants.pod_with_node_affinity()
        pod = Pod(model)
        config = _utils.create_config()
        k8s = K8sPod(config=config, name="yo")
        k8s.model = pod

        if _utils.is_reachable(config):
            # ensure we have enough nodes
            nodes = K8sNode(config=config, name="yo").list()
            self.assertGreaterEqual(len(nodes), 3)
            # tag the nodes
            for i in range(len(nodes)):
                node = nodes[i]
                if i == 0:
                    node.labels.update({'kubernetes.io/e2e-az-name': 'e2e-az1'})
                    node.labels.update({'another-node-label-key': 'another-node-label-value'})
                if i == 1:
                    node.labels.update({'kubernetes.io/e2e-az-name': 'e2e-az2'})
                if i == 2:
                    node.labels.update({'kubernetes.io/e2e-az-name': 'e2e-az3'})
                node.update()
            nodes = K8sNode(config=config, name="yo").list()
            for node in nodes:
                self.assertIn('kubernetes.io/e2e-az-name', node.labels)
            # create the pod
            k8s.create()
            # untag the nodes
            for node in nodes:
                node.labels.pop('kubernetes.io/e2e-az-name', None)
                node.labels.pop('another-node-label-key', None)
                node.update()
        pass
Exemple #10
0
    def test_get_pod_status_nonexistent(self):
        name = "yopod-{0}".format(str(uuid.uuid4()))
        pod = _utils.create_pod(name=name)

        if _utils.is_reachable(pod.config):
            with self.assertRaises(NotFoundException):
                s = pod.status
 def test_create(self):
     name = "yosecret-{0}".format(str(uuid.uuid4()))
     secret = _utils.create_secret(name=name)
     if _utils.is_reachable(secret.config):
         secret.create()
         _list = secret.list()
         self.assertEqual(2, len(_list))  # service-account-token + 1
 def test_create(self):
     name = "mnubo.com-sa-{0}".format(str(uuid.uuid4().hex[:5]))
     acct = _utils.create_service_account(name=name)
     if _utils.is_reachable(acct.config):
         acct.create()
         from_get = acct.get()
         self.assertEqual(acct, from_get)
 def test_update_container_image_keep_env_vars(self):
     name = "yodep-{0}".format(str(uuid.uuid4()))
     dep = _utils.create_deployment(name=name)
     cont_name = "nginx"
     cont_image = "nginx:1.7.9"
     new_image = "nginx:1.10.3"
     env_var_name = "YoVariable"
     cont = _utils.create_container(name=cont_name, image=cont_image)
     cont.add_env(name=env_var_name, value=name)
     dep.add_container(container=cont)
     dep.desired_replicas = 1
     
     if _utils.is_reachable(dep.config):
         dep.create()
         with self.assertRaises(AlreadyExistsException):
             dep.create()
         # Change the container image
         dep.container_image = (cont_name, new_image)
         # Update the deployment
         dep.update()
         # Refresh
         dep.get()
         for c in dep.containers:
             self.assertIsInstance(c, K8sContainer)
             if c.name == cont_name:
                 self.assertEqual(c.image, new_image)
                 self.assertEqual(c.env[0].name, env_var_name)
                 self.assertEqual(c.env[0].value, name)
    def test_create_no_args(self):
        name = "yodep-{0}".format(str(uuid.uuid4()))
        dep = _utils.create_deployment(name=name)

        if _utils.is_reachable(dep.config):
            with self.assertRaises(UnprocessableEntityException):
                dep.create()
    def test_delete_nonexistent(self):
        name = "yorc-{0}".format(str(uuid.uuid4()))
        dep = _utils.create_deployment(name=name)

        if _utils.is_reachable(dep.config):
            with self.assertRaises(NotFoundException):
                dep.delete()
 def test_object_delete_not_found(self):
     ot = "Pod"
     name = "yomama-{}".format(str(uuid.uuid4()))
     obj = _utils.create_object(name=name, obj_type=ot)
     if _utils.is_reachable(obj.config):
         with self.assertRaises(NotFoundException):
             obj.delete()
    def test_rollback_no_args(self):
        name = "nginx"
        image1 = "nginx:1.7.9"
        image2 = "nginx:1.9.1"
        container = _utils.create_container(name=name, image=image1)
        dep_name = "yodep-{0}".format(str(uuid.uuid4()))
        dep = _utils.create_deployment(name=dep_name)
        dep.add_container(container)
        dep.desired_replicas = 3

        if _utils.is_reachable(dep.config):
            dep.create()
            self.assertEqual(image1, dep.containers[0].image)
            dep.container_image = (name, image2)
            dep.update()
            self.assertIn('deployment.kubernetes.io/revision', dep.annotations)
            rev_before = dep.get_annotation('deployment.kubernetes.io/revision')
            self.assertNotEqual(image1, dep.containers[0].image)
            self.assertEqual(image2, dep.containers[0].image)
            dep.rollback()
            self.assertIn('deployment.kubernetes.io/revision', dep.annotations)
            rev_after = dep.get_annotation('deployment.kubernetes.io/revision')
            self.assertNotEqual(rev_before, rev_after)
            self.assertGreater(rev_after, rev_before)
            self.assertEqual(image1, dep.containers[0].image)
            self.assertNotEqual(image2, dep.containers[0].image)
Exemple #18
0
 def test_create(self):
     name = "yo-{0}".format(str(uuid.uuid4().hex[:16]))
     node = _utils.create_node(name=name)
     if _utils.is_reachable(node.config):
         node.create()
         from_get = node.get()
         self.assertEqual(node, from_get)
 def test_object_secret_update(self):
     config = K8sConfig(kubeconfig=_utils.kubeconfig_fallback)
     ot = "Secret"
     name = "yomama-{}".format(str(uuid.uuid4()))
     obj = _utils.create_object(config=config, name=name, obj_type=ot)
     if config is not None and _utils.is_reachable(config):
         obj.create()
         obj.update()
    def test_get_by_name_nonexistent(self):
        name = "yodep-{0}".format(str(uuid.uuid4()))
        dep = _utils.create_deployment(name=name)

        if _utils.is_reachable(dep.config):
            result = K8sDeployment.get_by_name(config=dep.config, name=name)
            self.assertIsInstance(result, list)
            self.assertEqual(0, len(result))
 def test_object_service_delete_not_found(self):
     config = K8sConfig(kubeconfig=_utils.kubeconfig_fallback)
     ot = "Service"
     name = "yomama-{}".format(str(uuid.uuid4()))
     if config is not None and _utils.is_reachable(config):
         obj = _utils.create_object(config=config, name=name, obj_type=ot)
         with self.assertRaises(NotFoundException):
             obj.delete()
 def test_object_service_create_unprocessable(self):
     config = K8sConfig(kubeconfig=_utils.kubeconfig_fallback)
     if config is not None and _utils.is_reachable(config):
         ot = "Service"
         name = "yomama-{}".format(str(uuid.uuid4()))
         obj = _utils.create_object(config=config, name=name, obj_type=ot)
         with self.assertRaises(UnprocessableEntityException):
             obj.create()
 def test_object_secret_create(self):
     config = K8sConfig(kubeconfig=_utils.kubeconfig_fallback)
     if config is not None and _utils.is_reachable(config):
         ot = "Secret"
         name = "yomama-{}".format(str(uuid.uuid4()))
         obj = _utils.create_object(config=config, name=name, obj_type=ot)
         obj.create()
         self.assertIsInstance(obj, K8sObject)
 def test_object_secret_get_model_doesnt_exist(self):
     config = K8sConfig(kubeconfig=_utils.kubeconfig_fallback)
     if config is not None and _utils.is_reachable(config):
         ot = "Secret"
         name = "yomama-{}".format(str(uuid.uuid4()))
         obj = _utils.create_object(config=config, name=name, obj_type=ot)
         with self.assertRaises(NotFoundException):
             obj.get_model()
Exemple #25
0
    def test_taint_no_args(self):
        config = _utils.create_config()

        if _utils.is_reachable(config):
            nodes = K8sNode(config=config, name="yo").list()
            for node in nodes:
                with self.assertRaises(SyntaxError):
                    node.taint()
 def test_list(self):
     name = "mnubo.com-sa-{0}".format(str(uuid.uuid4().hex[:5]))
     acct = _utils.create_service_account(name=name)
     if _utils.is_reachable(acct.config):
         acct.create()
         _list = acct.list()
         for x in _list:
             self.assertIsInstance(x, K8sServiceAccount)
 def test_list_without_create(self):
     name = "yosecret-{0}".format(str(uuid.uuid4()))
     secret = _utils.create_secret(name=name)
     if _utils.is_reachable(secret.config):
         _list = secret.list()
         self.assertGreaterEqual(1, len(_list))  # service-account-token on GCE
         for x in _list:
             self.assertIsInstance(x, K8sSecret)
 def test_add_api_token(self):
     name = "mnubo.com-sa-{0}".format(str(uuid.uuid4().hex[:5]))
     acct = _utils.create_service_account(name=name)
     if _utils.is_reachable(acct.config):
         acct.create()
         acct.add_api_token()
         secrets = K8sSecret.api_tokens_for_service_account(config=acct.config, name=acct.name)
         self.assertEqual(2, len(secrets))
Exemple #29
0
 def test_get(self):
     name = "yo-{0}".format(str(uuid.uuid4().hex[:16]))
     n = _utils.create_node(name=name)
     if _utils.is_reachable(n.config):
         n.create()
         from_get = n.get()
         self.assertIsInstance(from_get, K8sNode)
         self.assertEqual(n, from_get)
 def test_api_create(self):
     name = "testcfgmap-{}".format(uuid.uuid4())
     config_map = ConfigMap(_constants.configmap())
     k8s_configmap = _utils.create_configmap(name=name)
     k8s_configmap.model = config_map
     if _utils.is_reachable(k8s_configmap.config):
         k8s_configmap.create()
         self.assertIsInstance(k8s_configmap, K8sConfigMap)
 def test_list_without_create(self):
     name = "yosecret-{0}".format(str(uuid.uuid4()))
     secret = _utils.create_secret(name=name)
     if _utils.is_reachable(secret.config):
         _list = secret.list()
         self.assertGreaterEqual(1,
                                 len(_list))  # service-account-token on GCE
         for x in _list:
             self.assertIsInstance(x, K8sSecret)
 def test_delete_nonexistent(self):
     name = "yosecret-{0}".format(str(uuid.uuid4()))
     secret = _utils.create_secret(name=name)
     if _utils.is_reachable(secret.config):
         try:
             secret.delete()
             self.fail("Should not fail.")
         except Exception as err:
             self.assertIsInstance(err, NotFoundException)
Exemple #33
0
 def test_get(self):
     name = "yo-{0}".format(str(uuid.uuid4().hex[:16]))
     svc = _utils.create_service(name=name)
     svc.add_port(name="redis", port=5432, target_port=5432, protocol="tcp")
     if _utils.is_reachable(svc.config):
         svc.create()
         from_get = svc.get()
         self.assertIsInstance(from_get, K8sService)
         self.assertEqual(svc, from_get)
Exemple #34
0
 def test_list(self):
     name = "yo-{0}".format(str(uuid.uuid4().hex[:16]))
     ns = _utils.create_namespace(name=name)
     if _utils.is_reachable(ns.config):
         ns.create()
         _list = ns.list()
         for x in _list:
             self.assertIsInstance(x, K8sNamespace)
         self.assertIsInstance(_list, list)
 def test_add_api_token(self):
     name = "mnubo.com-sa-{0}".format(str(uuid.uuid4().hex[:5]))
     acct = _utils.create_service_account(name=name)
     if _utils.is_reachable(acct.config):
         acct.create()
         acct.add_api_token()
         secrets = K8sSecret.api_tokens_for_service_account(
             config=acct.config, name=acct.name)
         self.assertEqual(2, len(secrets))
 def test_create_without_selector(self):
     k8s_container = _utils.create_container(name="nginx",
                                             image="nginx:latest")
     k8s_ds = _utils.create_daemonset(name="yo")
     k8s_ds.add_container(k8s_container)
     if _utils.is_reachable(k8s_ds.config):
         k8s_ds.create()
         self.assertIsInstance(k8s_ds, K8sDaemonSet)
         self.assertEqual(k8s_ds.name, "yo")
Exemple #37
0
 def test_server_version_no_kubeconfig(self):
     api_host = "127.0.0.1:8001"
     cfg = K8sConfig(kubeconfig=None, api_host=api_host)
     if _utils.is_reachable(cfg.api_host):
         container = _utils.create_container(name="nginx", image="nginx:latest")
         cj = _utils.create_cronjob(config=cfg, name="test")
         cj.add_container(container)
         cj.create()
         self.assertIsInstance(cj, K8sCronJob)
 def test_get_doesnt_exist(self):
     name = "yosecret"
     secret = _utils.create_secret(name=name)
     if _utils.is_reachable(secret.config):
         try:
             secret.get()
             self.fail("Should not fail.")
         except Exception as err:
             self.assertIsInstance(err, NotFoundException)
 def test_delete(self):
     name = "yoname"
     rs = _utils.create_rs(name=name)
     config = _utils.create_config()
     if _utils.is_reachable(config):
         _utils.cleanup_rs()
         result = rs.list()
         self.assertIsInstance(result, list)
         self.assertEqual(0, len(result))
 def test_object_rc_list_from_scratch(self):
     config = K8sConfig(kubeconfig=_utils.kubeconfig_fallback)
     if config is not None and _utils.is_reachable(config):
         ot = "ReplicationController"
         name = "yomama-{}".format(str(uuid.uuid4()))
         obj = _utils.create_object(config=config, name=name, obj_type=ot)
         r = obj.list()
         self.assertIsNotNone(r)
         self.assertEqual(0, len(r))
Exemple #41
0
 def test_update_set_cluster_ip_fails(self):
     name = "yo-{0}".format(str(uuid.uuid4().hex[:16]))
     svc = _utils.create_service(name=name)
     svc.add_port(name="redis", port=5432, target_port=5432, protocol="tcp")
     if _utils.is_reachable(svc.config):
         svc.create()
         svc.cluster_ip = "192.168.123.123"
         with self.assertRaises(UnprocessableEntityException):
             svc.update()
 def test_create_service_account_api_token(self):
     sa = _utils.create_service_account(name='build-robot')
     if _utils.is_reachable(sa.config):
         sa.create()
         secret = K8sSecret.create_service_account_api_token(
             config=sa.config, name=sa.name)
         self.assertIsInstance(secret, K8sSecret)
         secrets = K8sSecret.api_tokens_for_service_account(
             config=sa.config, name=sa.name)
         self.assertEqual(2, len(secrets))
Exemple #43
0
 def test_api_list(self):
     name = "job-{}".format(uuid.uuid4())
     job = Job(_constants.job())
     k8s_job = _utils.create_job(name=name)
     k8s_job.model = job
     if _utils.is_reachable(k8s_job.config):
         k8s_job.create()
         _list = k8s_job.list()
         for x in _list:
             self.assertIsInstance(x, K8sJob)
Exemple #44
0
 def test_api_scale(self):
     name = "job-{}".format(uuid.uuid4())
     job = Job(_constants.job())
     k8s_job = _utils.create_job(name=name)
     k8s_job.model = job
     k8s_job.completions = 30
     if _utils.is_reachable(k8s_job.config.api_host):
         k8s_job.create()
         k8s_job.scale(10)
         self.assertEqual(k8s_job.parallelism, 10)
 def test_create_already_exists(self):
     name = "yosecret-{0}".format(str(uuid.uuid4()))
     secret = _utils.create_secret(name=name)
     if _utils.is_reachable(secret.config):
         secret.create()
         try:
             secret.create()
             self.fail("Should not fail.")
         except Exception as err:
             self.assertIsInstance(err, AlreadyExistsException)
 def test_add_image_pull_secret(self):
     name = "mnubo.com-sa-{0}".format(str(uuid.uuid4().hex[:5]))
     acct = _utils.create_service_account(name=name)
     data = {"auths": {"repo:port": {"auth": "authstring", "email": "*****@*****.**"}}}
     if _utils.is_reachable(acct.config):
         acct.create()
         secret = K8sSecret.create_image_pull_secret(config=acct.config, name=acct.name, data=data)
         acct.add_image_pull_secret(secret)
         secrets = K8sSecret.list_image_pull_secrets()
         self.assertEqual(1, len(secrets))
Exemple #47
0
    def test_untaint(self):
        config = _utils.create_config()
        key = "key"
        value = "value"

        if _utils.is_reachable(config):
            nodes = K8sNode(config=config, name="yo").list()
            for node in nodes:
                node.untaint(key=key, value=value)
                self.assertEqual(0, len(node.taints))
Exemple #48
0
 def test_stateful_nginx(self):
     svc = Service(headless_service())
     sset = StatefulSet(stateful_set())
     k8s_svc = K8sService(name='headless')
     k8s_sset = K8sStatefulSet(name='sset')
     k8s_svc.model = svc
     k8s_sset.model = sset
     if _utils.is_reachable(k8s_svc.config):
         k8s_svc.create()
         k8s_sset.create()
Exemple #49
0
 def test_update_set_external_ips(self):
     name = "yo-{0}".format(str(uuid.uuid4().hex[:16]))
     svc = _utils.create_service(name=name)
     svc.add_port(name="redis", port=5432, target_port=5432, protocol="tcp")
     ip = "192.168.123.123"
     if _utils.is_reachable(svc.config):
         svc.create()
         svc.external_ips = [ip]
         svc.update()
         self.assertIn(ip, svc.external_ips)
Exemple #50
0
 def test_set_cluster_ip_invalid_ip_address(self):
     name = "yoservice"
     svc = _utils.create_service(name=name)
     svc.add_port("http", 80, 80, "TCP")
     if _utils.is_reachable(svc.config):
         svc.create()
         ip = "192.168.00000.1234345"
         svc.cluster_ip = ip
         with self.assertRaises(UnprocessableEntityException):
             svc.update()
    def test_list(self):
        ds = DaemonSet(_constants.fluentd_daemonset())
        k8s_ds = _utils.create_daemonset(name=ds.name)
        k8s_ds.model = ds

        if _utils.is_reachable(k8s_ds.config):
            k8s_ds.create()
            _list = k8s_ds.list()
            for x in _list:
                self.assertIsInstance(x, K8sDaemonSet)
Exemple #52
0
    def test_is_ready(self):
        name = "yocontainer"
        container = _utils.create_container(name=name)
        name = "yopod-{0}".format(str(uuid.uuid4()))
        pod = _utils.create_pod(name=name)
        pod.add_container(container)

        if _utils.is_reachable(pod.config):
            p = pod.create()
            self.assertTrue(p.is_ready())
 def test_issue_64(self):
     name = "yosecret-{0}".format(str(uuid.uuid4()))
     secret_data = {"test": "test"}
     secret = _utils.create_secret(name=name)
     secret.data = secret_data
     if _utils.is_reachable(secret.config):
         secret.create()
         secret.get()
         self.assertIsInstance(secret, K8sSecret)
         self.assertEqual(secret.data, secret_data)
 def test_object_get_with_params_nonexistent(self):
     config = K8sConfig(kubeconfig=_utils.kubeconfig_fallback)
     if config is not None and _utils.is_reachable(config):
         ot = "Pod"
         name = "yomama-{}".format(str(uuid.uuid4()))
         obj = _utils.create_object(config=config, name=name, obj_type=ot)
         data = {"yokey": "yovalue"}
         r = obj.get_with_params(data)
         self.assertIsNotNone(r)
         self.assertEqual(0, len(r))
Exemple #55
0
 def test_list(self):
     name = "yopod-{0}".format(str(uuid.uuid4()))
     pod = _utils.create_pod(name=name)
     container = _utils.create_container(name=name)
     pod.add_container(container)
     if _utils.is_reachable(pod.config):
         pod.create()
         _list = pod.list()
         for x in _list:
             self.assertIsInstance(x, K8sPod)
Exemple #56
0
    def test_taint_invalid_effect(self):
        config = _utils.create_config()
        key = "key"
        value = "value"
        effect = "AvadaKedavra"

        if _utils.is_reachable(config):
            nodes = K8sNode(config=config, name="yo").list()
            for node in nodes:
                with self.assertRaises(SyntaxError):
                    node.taint(key=key, value=value, effect=effect)
Exemple #57
0
    def test_get_pod_logs(self):
        cname = "yocontainer"
        container = _utils.create_container(name=cname)
        name = "yopod-{0}".format(str(uuid.uuid4()))
        pod = _utils.create_pod(name=name)
        pod.add_container(container)

        if _utils.is_reachable(pod.config):
            with self.assertRaises(NotFoundException):
                pod.get_log()
                pod.get_log(container=cname)
Exemple #58
0
    def test_pods(self):
        cfg = _utils.create_config()

        if _utils.is_reachable(cfg):
            nodes = K8sNode(config=cfg, name="yo").list()

            for node in nodes:
                pods = node.pods
                self.assertIsInstance(pods, list)
                for pod in pods:
                    self.assertIsInstance(pod, K8sPod)
Exemple #59
0
 def test_delete(self):
     name = "yo-{0}".format(str(uuid.uuid4().hex[:16]))
     ns = _utils.create_namespace(name=name)
     if _utils.is_reachable(ns.config):
         ns.create()
         from_get = K8sNamespace.get_by_name(ns.config, ns.name)
         self.assertIsInstance(from_get, K8sNamespace)
         self.assertEqual(name, from_get.name)
         ns.delete()
         from_get = K8sNamespace.get_by_name(ns.config, ns.name)
         self.assertIsNone(from_get)
Exemple #60
0
 def test_get_by_name(self):
     name = "yocontainer"
     container = _utils.create_container(name=name)
     name = "yopod-{0}".format(str(uuid.uuid4()))
     pod = _utils.create_pod(name=name)
     pod.add_container(container)
     if _utils.is_reachable(pod.config):
         pod.create()
         pods = K8sPod.get_by_name(config=pod.config, name=name)
         self.assertIsInstance(pods, list)
         self.assertEqual(1, len(pods))