Exemple #1
0
 def test_executer_execute_verbose(self, mock_execute):
     mock_execute.side_effect = [("result", None)]
     executer = Executer("a_pod", "a-namespace", verbose=True)
     executer.execute("a_command")
     mock_execute.assert_called_once_with(
         "kubectl exec a_pod -n a-namespace -- a_command", verbose=True
     )
Exemple #2
0
 def test_executer_logs(self, mock_execute):
     mock_execute.side_effect = [("result", None)]
     executer = Executer("a_pod", "a-namespace")
     executer.logs()
     mock_execute.assert_called_once_with(
         "kubectl logs a_pod -n a-namespace --tail=-1", verbose=False
     )
Exemple #3
0
 def test_executer_logs_tail(self, mock_execute):
     mock_execute.side_effect = [("result", None)]
     executer = Executer("a_pod", "a-namespace", container="a_container")
     executer.logs(tail=10)
     mock_execute.assert_called_once_with(
         "kubectl logs a_pod -n a-namespace --container a_container --tail=10",
     )
Exemple #4
0
 def test_executer_logs_sincetime(self, mock_execute):
     mock_execute.side_effect = [("result", None)]
     executer = Executer("a_pod", "a-namespace")
     executer.logs(since_time="1970-01-01T00:00:00Z")
     mock_execute.assert_called_once_with(
         "kubectl logs a_pod -n a-namespace --tail=-1 --since-time='1970-01-01T00:00:00Z'",
     )
Exemple #5
0
 def test_executer_logs_tail(self, mock_execute):
     executer = Executer('a_pod',
                         'a-namespace',
                         container='a_container',
                         verbose=True)
     executer.logs(10)
     mock_execute.assert_called_once_with(
         'kubectl logs a_pod -n a-namespace --container a_container --tail=10',
         verbose=True)
Exemple #6
0
 def test_executer_init_container(self):
     executer = Executer("a-pod", "a-namespace", container="a_container")
     assert executer.pod == "a-pod"
     assert (
         executer.prefix_exec ==
         "kubectl exec a-pod -n a-namespace --container a_container -- ")
     assert executer.verbose is False
Exemple #7
0
def get_pod(namespace, release, app, verbose=False):
    node_pod = execute(
        ('kubectl get pods -n {ns} -l "app={app},release={release}" ' +
         '-o jsonpath="{{.items[0].metadata.name}}"').format(ns=namespace,
                                                             app=app,
                                                             release=release),
        verbose=verbose)
    if not node_pod:
        raise ValueError('"node_pod" should contain a value')
    pod_ex = Executer(node_pod, namespace=namespace, verbose=verbose)
    return pod_ex
Exemple #8
0
def get_pod(namespace, identifier, item=0):
    """Get a pod object from K8S.

    Args:
        namespace (str): Namespace where pod is located.
        identifier (str): Name of pod, or a label descriptor.

    Returns:
        Executer: A pod object able to execute commands and return logs.
    """
    node_pod, _ = execute((f"kubectl get pods -n {namespace} {identifier} " +
                           f'-o jsonpath="{{.items[{item}].metadata.name}}"'))
    if not node_pod:
        raise ValueError('"node_pod" should contain a value')
    pod_ex = Executer(node_pod, namespace=namespace)
    return pod_ex
Exemple #9
0
def get_pod(namespace, identifier, item=0, verbose=False):
    """Get a pod object from K8S.

    Args:
        namespace (str): Namespace where pod is located.
        identifier (str): Name of pod, or a label descriptor.
        verbose (bool): Verbosity. False by default.

    Returns:
        Executer: A pod object able to execute commands and return logs.
    """
    node_pod, _ = execute(
        ("kubectl get pods -n {ns} {identifier} " +
         '-o jsonpath="{{.items[{item}].metadata.name}}"').format(
             ns=namespace, identifier=identifier, item=item),
        verbose=verbose,
    )
    if not node_pod:
        raise ValueError('"node_pod" should contain a value')
    pod_ex = Executer(node_pod, namespace=namespace, verbose=verbose)
    return pod_ex
Exemple #10
0
def get_pod(namespace, release, app, verbose=False):
    """Get a pod object from K8S.

    Args:
        namespace (str): Namespace where pod is located.
        release (str): Release name of pod.
        app (str): App type of pod.
        verbose (bool): Verbosity. False by default.

    Returns:
        Executer: A pod object able to execute commands and return logs.
    """
    node_pod, _ = execute(
        ('kubectl get pods -n {ns} -l "app={app},release={release}" ' +
         '-o jsonpath="{{.items[0].metadata.name}}"').format(ns=namespace,
                                                             app=app,
                                                             release=release),
        verbose=verbose,
    )
    if not node_pod:
        raise ValueError('"node_pod" should contain a value')
    pod_ex = Executer(node_pod, namespace=namespace, verbose=verbose)
    return pod_ex
Exemple #11
0
 def test_executer_init_verbose(self):
     executer = Executer("a-pod", "a-namespace", verbose=True)
     assert executer.pod == "a-pod"
     assert executer.prefix_exec == "kubectl exec a-pod -n a-namespace -- "
     assert executer.verbose is True
Exemple #12
0
 def test_executer_init(self):
     executer = Executer("a-pod", "a-namespace")
     assert executer.pod == "a-pod"
     assert executer.prefix_exec == "kubectl exec a-pod -n a-namespace -- "
     assert executer.verbose is False
Exemple #13
0
 def test_executer_logs(self, mock_execute):
     executer = Executer('a_pod', 'a-namespace')
     executer.logs()
     mock_execute.assert_called_once_with(
         'kubectl logs a_pod -n a-namespace --tail=-1', verbose=False)
Exemple #14
0
 def test_executer_execute_verbose(self, mock_execute):
     executer = Executer('a_pod', 'a-namespace', verbose=True)
     executer.execute('a_command')
     mock_execute.assert_called_once_with(
         'kubectl exec a_pod -n a-namespace -- a_command', verbose=True)
Exemple #15
0
 def test_executer_init_container(self):
     executer = Executer('a-pod', 'a-namespace', container='a_container')
     assert executer.pod == 'a-pod'
     assert executer.prefix_exec == "kubectl exec a-pod -n a-namespace --container a_container -- "
     assert executer.verbose is False
Exemple #16
0
 def test_executer_init(self):
     executer = Executer('a-pod', 'a-namespace')
     assert executer.pod == 'a-pod'
     assert executer.prefix_exec == "kubectl exec a-pod -n a-namespace -- "
     assert executer.verbose is False