Example #1
0
 def test_create(self):
     name = "yosecret-{0}".format(str(uuid.uuid4()))
     secret = utils.create_secret(name=name)
     if utils.is_reachable(secret.config.api_host):
         secret.create()
         _list = secret.list()
         self.assertEqual(2, len(_list))  # service-account-token + 1
 def test_api_create(self):
     ds = DaemonSet(utils.fluentd_daemonset())
     k8s_ds = utils.create_daemonset(name=ds.name)
     k8s_ds.model = ds
     if utils.is_reachable(k8s_ds.config.api_host):
         k8s_ds.create()
         self.assertIsInstance(k8s_ds, K8sDaemonSet)
Example #3
0
 def test_get_by_labels_nonexistent(self):
     name = "yopod-{0}".format(str(uuid.uuid4()))
     config = K8sConfig(kubeconfig=utils.kubeconfig_fallback)
     if utils.is_reachable(config.api_host):
         pods = K8sPod.get_by_labels(config=config, labels={'name': name})
         self.assertIsInstance(pods, list)
         self.assertEqual(0, len(pods))
Example #4
0
 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.api_host):
         acct.create()
         from_get = acct.get()
         self.assertEqual(acct, from_get)
Example #5
0
 def test_create(self):
     name = "yosecret-{0}".format(str(uuid.uuid4()))
     secret = utils.create_secret(name=name)
     if utils.is_reachable(secret.config.api_host):
         secret.create()
         _list = secret.list()
         self.assertEqual(2, len(_list))  # service-account-token + 1
Example #6
0
 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.api_host):
         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)
Example #7
0
 def test_create(self):
     name = "yo-{0}".format(str(uuid.uuid4().hex[:16]))
     ns = utils.create_namespace(name=name)
     if utils.is_reachable(ns.config.api_host):
         ns.create()
         from_get = ns.get()
         self.assertEqual(ns, from_get)
Example #8
0
 def test_list_nonexistent(self):
     name = "yopod-{0}".format(str(uuid.uuid4()))
     pod = utils.create_pod(name=name)
     if utils.is_reachable(pod.config.api_host):
         p = pod.list()
         self.assertIsInstance(p, list)
         self.assertEqual(0, len(p))
Example #9
0
 def test_get_nonexistent(self):
     name = "yoservice"
     svc = utils.create_service(name=name)
     if utils.is_reachable(svc.config.api_host):
         try:
             svc.get()
         except Exception as err:
             self.assertIsInstance(err, NotFoundException)
Example #10
0
 def test_update_nothing_changed(self):
     name = "yo-{0}".format(unicode(uuid.uuid4().get_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.api_host):
         from_create = svc.create()
         from_update = svc.update()
         self.assertEqual(from_create, from_update)
Example #11
0
 def test_get_by_name_nonexistent(self):
     name = "yo-{0}".format(unicode(uuid.uuid4().get_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.api_host):
         _list = K8sService.get_by_name(config=svc.config, name=name)
         self.assertIsInstance(_list, list)
         self.assertEqual(0, len(_list))
Example #12
0
 def test_get(self):
     name = "yo-{0}".format(unicode(uuid.uuid4().get_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.api_host):
         svc.create()
         from_get = svc.get()
         self.assertIsInstance(from_get, K8sService)
         self.assertEqual(svc, from_get)
Example #13
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.api_host):
         try:
             pod.create()
             self.fail("Should not fail.")
         except Exception as err:
             self.assertIsInstance(err, UnprocessableEntityException)
Example #14
0
 def test_delete_nonexistent(self):
     name = "yo-{0}".format(unicode(uuid.uuid4().get_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.api_host):
         try:
             svc.delete()
         except Exception as err:
             self.assertIsInstance(err, NotFoundException)
Example #15
0
 def test_list_without_create(self):
     name = "yo-{0}".format(unicode(uuid.uuid4().get_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.api_host):
         _list = svc.list()
         self.assertIsInstance(_list, list)
         self.assertEqual(1, len(_list))  # api server exists already
         self.assertIsInstance(_list[0], dict)
Example #16
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.api_host):
         p = pod.create()
         self.assertTrue(p.is_ready())
Example #17
0
 def test_get_pod_status_nonexistent(self):
     name = "yopod-{0}".format(str(uuid.uuid4()))
     config = K8sConfig(kubeconfig=utils.kubeconfig_fallback)
     pod = utils.create_pod(name=name)
     if utils.is_reachable(pod.config.api_host):
         try:
             pod.get_status()
         except Exception as err:
             self.assertIsInstance(err, NotFoundException)
 def test_pod_add_volume_hostpath_no_path_specified(self):
     name = "yoname"
     obj = utils.create_pod(name=name)
     config = utils.create_config()
     vol = K8sVolume(config=config, name=name, mount_path="/var/test", type="hostPath")
     if utils.is_reachable(config.api_host):
         with self.assertRaises(UnprocessableEntityException):
             obj.add_volume(vol)
             obj.create()
Example #19
0
 def test_get_doesnt_exist(self):
     name = "yosecret"
     secret = utils.create_secret(name=name)
     if utils.is_reachable(secret.config.api_host):
         try:
             secret.get()
             self.fail("Should not fail.")
         except Exception as err:
             self.assertIsInstance(err, NotFoundException)
Example #20
0
 def test_delete_nonexistent(self):
     name = "yosecret-{0}".format(str(uuid.uuid4()))
     secret = utils.create_secret(name=name)
     if utils.is_reachable(secret.config.api_host):
         try:
             secret.delete()
             self.fail("Should not fail.")
         except Exception as err:
             self.assertIsInstance(err, NotFoundException)
Example #21
0
 def test_update_nonexistent(self):
     name = "yopod-{0}".format(str(uuid.uuid4()))
     pod = utils.create_pod(name=name)
     if utils.is_reachable(pod.config.api_host):
         try:
             pod.update()
             self.fail("Should not fail.")
         except Exception as err:
             self.assertIsInstance(err, NotFoundException)
Example #22
0
 def test_object_rc_list_from_scratch(self):
     config = K8sConfig(kubeconfig=utils.kubeconfig_fallback)
     if config.api_host is not None and utils.is_reachable(config.api_host):
         ot = "ReplicationController"
         name = "yomama"
         obj = utils.create_object(config=config, name=name, obj_type=ot)
         r = obj.list()
         self.assertIsNotNone(r)
         self.assertEqual(0, len(r))
Example #23
0
 def test_object_service_delete_not_found(self):
     config = K8sConfig(kubeconfig=utils.kubeconfig_fallback)
     if config.api_host is not None and utils.is_reachable(config.api_host):
         ot = "Service"
         name = "yomama"
         obj = utils.create_object(config=config, name=name, obj_type=ot)
         try:
             obj.delete()
         except Exception as err:
             self.assertIsInstance(err, NotFoundException)
Example #24
0
 def test_object_secret_update_bad_request(self):
     config = K8sConfig(kubeconfig=utils.kubeconfig_fallback)
     if config.api_host is not None and utils.is_reachable(config.api_host):
         ot = "Secret"
         name = "yomama"
         obj = utils.create_object(config=config, name=name, obj_type=ot)
         try:
             obj.update()
         except Exception as err:
             self.assertIsInstance(err, BadRequestException)
Example #25
0
 def test_object_rc_create_unprocessable(self):
     config = K8sConfig(kubeconfig=utils.kubeconfig_fallback)
     if config.api_host is not None and utils.is_reachable(config.api_host):
         ot = "ReplicationController"
         name = "yomama"
         obj = utils.create_object(config=config, name=name, obj_type=ot)
         try:
             obj.create()
         except Exception as err:
             self.assertIsInstance(err, UnprocessableEntityException)
Example #26
0
 def test_object_get_with_params_nonexistent(self):
     config = K8sConfig(kubeconfig=utils.kubeconfig_fallback)
     if config.api_host is not None and utils.is_reachable(config.api_host):
         ot = "Pod"
         name = "yomama"
         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))
Example #27
0
 def test_object_secret_get_model_doesnt_exist(self):
     config = K8sConfig(kubeconfig=utils.kubeconfig_fallback)
     if config.api_host is not None and utils.is_reachable(config.api_host):
         ot = "Secret"
         name = "yomama"
         obj = utils.create_object(config=config, name=name, obj_type=ot)
         try:
             obj.get_model()
         except Exception as err:
             self.assertIsInstance(err, NotFoundException)
Example #28
0
 def test_update_set_external_ips(self):
     name = "yo-{0}".format(unicode(uuid.uuid4().get_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.api_host):
         svc.create()
         svc.set_external_ips([ip])
         svc.update()
         self.assertIn(ip, svc.model.model['spec']['externalIPs'])
Example #29
0
 def test_create_name_too_long(self):
     name = "yo-{0}".format(str(uuid.uuid4()))
     svc = utils.create_service(name=name)
     svc.add_port(name="redis", port=5432, target_port=5432, protocol="tcp")
     if utils.is_reachable(svc.config.api_host):
         try:
             svc.create()
             self.fail("Should not fail.")
         except Exception as err:
             self.assertIsInstance(err, UnprocessableEntityException)
Example #30
0
 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.api_host):
         secret.create()
         try:
             secret.create()
             self.fail("Should not fail.")
         except Exception as err:
             self.assertIsInstance(err, AlreadyExistsException)
Example #31
0
 def test_get_by_labels(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.api_host):
         pod.create()
         pods = K8sPod.get_by_labels(config=pod.config, labels={'name': name})
         self.assertIsInstance(pods, list)
         self.assertEqual(1, len(pods))
Example #32
0
 def test_list(self):
     count = 10
     config = utils.create_config()
     if utils.is_reachable(config.api_host):
         for i in range(0, count):
             name = "yosecret-{0}".format(str(uuid.uuid4()))
             secret = utils.create_secret(name=name)
             secret.create()
         secret = utils.create_secret(name="yosecret")
         _list = secret.list()
         self.assertEqual(count + 1, len(_list))  # including service-account-token
Example #33
0
 def test_create_already_exists(self):
     name = "yo-{0}".format(unicode(uuid.uuid4().get_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.api_host):
         svc.create()
         try:
             svc.create()
             self.fail("Should not fail.")
         except Exception as err:
             self.assertIsInstance(err, UnprocessableEntityException)
Example #34
0
 def test_get(self):
     name = "yosecret-{0}".format(str(uuid.uuid4()))
     secret = utils.create_secret(name=name)
     if utils.is_reachable(secret.config.api_host):
         from_create = secret.create()
         self.assertIsInstance(from_create, K8sSecret)
         self.assertEqual(from_create.name, name)
         from_get = secret.get()
         self.assertIsInstance(from_get, K8sSecret)
         self.assertEqual(from_get.name, name)
         self.assertEqual(from_create, from_get)
Example #35
0
 def test_update_dockercfg_json_secret_fails(self):
     name = "yosecret-{0}".format(str(uuid.uuid4()))
     secret = utils.create_secret(name=name)
     v = "yovalue"
     if utils.is_reachable(secret.config.api_host):
         secret.create()
         secret.set_dockercfg_json_secret(data=v)
         try:
             secret.update()
             self.fail("Should not fail.")
         except Exception as err:
             self.assertIsInstance(err, UnprocessableEntityException)