Example #1
0
 def set_pv_reclaim_policy(self, name, policy, **kwargs):
     options_string = convert_kwargs_to_options_string(kwargs)
     logging.debug(
         f'sudo gravity exec kubectl patch pv {name} -p \'{{"spec":{{"persistentVolumeReclaimPolicy":"{policy}"}}}}\' {options_string}'
     )
     return self._host.SshDirect.execute(
         f'sudo gravity exec kubectl patch pv {name} -p \'{{"spec":{{"persistentVolumeReclaimPolicy":"{policy}"}}}}\' {options_string}'
     )
Example #2
0
 def delete_pod_by_label(self,
                         label_value,
                         label_name="app",
                         force="false",
                         grace_period=60,
                         **kwargs):
     options_string = convert_kwargs_to_options_string(kwargs)
     self._host.SshDirect.execute(
         f"sudo gravity exec kubectl delete pod --force={force} --grace-period={grace_period} --selector={label_name}={label_value} {options_string}"
     )
Example #3
0
 def re_run_job(self, name, **kwargs):
     options_string = convert_kwargs_to_options_string(kwargs)
     job_dict = self.get_job(name, **kwargs)
     del job_dict['spec']['selector']
     del job_dict['spec']['template']['metadata']['labels']
     del job_dict['status']
     tmp_file = tempfile.NamedTemporaryFile(dir='/tmp', delete=True)
     with open(tmp_file.name, 'w') as f:
         json.dump(job_dict, f)
         f.flush()
         self._host.SshDirect.put(tmp_file.name, remotedir='/tmp')
         self._host.SshDirect.execute(
             f"sudo gravity exec kubectl replace --force -f /host/{tmp_file.name} {options_string}"
         )
     wait_for_predicate_nothrow(
         lambda: self.get_job(name)['status']['succeeded'] == 1, 180)
Example #4
0
 def get_deployment(self, name, **kwargs):
     options_string = convert_kwargs_to_options_string(kwargs)
     return self.get(f"deployment {name}", options_string)
Example #5
0
 def expose_deployment(self, name, port=30015, **kwargs):
     options_string = convert_kwargs_to_options_string(kwargs)
     return self.expose(
         f"deployment {name}",
         f"--type=LoadBalancer --port={port} {options_string}")
Example #6
0
 def scale_statefulset(self, name, replicas=1, **kwargs):
     options_string = convert_kwargs_to_options_string(kwargs)
     return self.scale(name, "statefulset", replicas, options_string)
Example #7
0
 def scale_deployment(self, name, replicas=100, **kwargs):
     options_string = convert_kwargs_to_options_string(kwargs)
     return self.scale(name, "deployment", replicas, options_string)
Example #8
0
 def create_deployment(self, name, image, **kwargs):
     options_string = convert_kwargs_to_options_string(kwargs)
     return self.create(f"deployment {name}",
                        f"--image={image} {options_string}")
Example #9
0
 def get_job(self, name, **kwargs):
     options_string = convert_kwargs_to_options_string(kwargs)
     res = self._host.SshDirect.execute(
         f"sudo gravity exec kubectl get job {name} --output json {options_string}"
     )
     return json.loads(res)
Example #10
0
 def get_pv_by_pvc_name(self, name, **kwargs):
     options_string = convert_kwargs_to_options_string(kwargs)
     return self._host.SshDirect.execute(
         f"sudo gravity exec kubectl get pvc {name} -o jsonpath='{{.spec.volumeName}}' {options_string}"
     )
Example #11
0
 def delete_pvc(self, name, **kwargs):
     options_string = convert_kwargs_to_options_string(kwargs)
     return self._host.SshDirect.execute(
         f"sudo gravity exec kubectl delete pvc {name} {options_string}")
Example #12
0
 def delete_pod_by_service_name(self, service_name, **kwargs):
     service_name_selector_query = f"--selector=app=={service_name}"
     options_string = convert_kwargs_to_options_string(kwargs)
     self.delete(resource=f"pod {service_name_selector_query}",
                 options=options_string)
Example #13
0
 def configmap_json(self, name, **kwargs):
     options_string = convert_kwargs_to_options_string(kwargs)
     return self.get(resource=f"configmaps {name}", options=options_string)
Example #14
0
 def delete_deployment(self, name="", **kwargs):
     options_string = convert_kwargs_to_options_string(
         kwargs, format_with_equals_sign=True)
     self.delete(f"deployment {name}", options_string)
Example #15
0
 def delete_svc(self, svc_name, **kwargs):
     options_string = convert_kwargs_to_options_string(
         kwargs, format_with_equals_sign=True)
     self.delete(f"svc {svc_name}", options_string)