Exemplo n.º 1
0
    def test_basic(self):
        """
        Sets up and tests dashboard, dns, storage, registry, ingress.

        """
        print("Enabling DNS")
        microk8s_enable("dns")
        wait_for_pod_state("", "kube-system", "running", label="k8s-app=kube-dns")
        print("Enabling ingress")
        microk8s_enable("ingress")
        print("Validating ingress")
        validate_ingress()
        print("Disabling ingress")
        microk8s_disable("ingress")
        print("Enabling dashboard")
        microk8s_enable("dashboard")
        print("Validating dashboard")
        validate_dns_dashboard()
        print("Enabling storage")
        microk8s_enable("storage")
        print("Validating storage")
        validate_storage()
        microk8s_enable("registry")
        print("Validating registry")
        validate_registry()
        print("Validating Port Forward")
        validate_forward()
        print("Disabling registry")
        microk8s_disable("registry")
        print("Disabling dashboard")
        microk8s_disable("dashboard")
        print("Disabling storage")
        microk8s_disable("storage:destroy-storage")
        '''
Exemplo n.º 2
0
    def test_monitoring_addons(self):
        """
        Test jaeger, prometheus and fluentd.

        """

        # Prometheus operator on our lxc is chashlooping disabling the test for now.
        # print("Enabling prometheus")
        # microk8s_enable("prometheus")
        # print("Validating Prometheus")
        # validate_prometheus()
        # print("Disabling prometheus")
        # microk8s_disable("prometheus")
        print("Enabling fluentd")
        microk8s_enable("fluentd")
        print("Enabling jaeger")
        microk8s_enable("jaeger")
        print("Validating the Jaeger operator")
        validate_jaeger()
        print("Validating the Fluentd")
        validate_fluentd()
        print("Disabling jaeger")
        microk8s_disable("jaeger")
        print("Disabling fluentd")
        microk8s_disable("fluentd")
Exemplo n.º 3
0
    def test_monitoring_addons(self):
        """
        Test jaeger, prometheus and fluentd.

        """
        if platform.machine() != 'x86_64':
            print(
                "Fluentd, prometheus, jaeger tests are only relevant in x86 architectures"
            )
            return

        if under_time_pressure == 'False':
            # Prometheus operator on our lxc is chashlooping disabling the test for now.
            #print("Enabling prometheus")
            #microk8s_enable("prometheus")
            #print("Validating Prometheus")
            #validate_prometheus()
            #print("Disabling prometheus")
            #microk8s_disable("prometheus")
            print("Enabling fluentd")
            microk8s_enable("fluentd")
            print("Enabling jaeger")
            microk8s_enable("jaeger")
            print("Validating the Jaeger operator")
            validate_jaeger()
            print("Validating the Fluentd")
            validate_fluentd()
            print("Disabling jaeger")
            microk8s_disable("jaeger")
            print("Disabling fluentd")
            microk8s_disable("fluentd")
        else:
            print('Skipping jaeger, prometheus and fluentd tests')
Exemplo n.º 4
0
    def test_basic(self):
        """
        Sets up and tests dashboard, dns, storage, registry, ingress.

        """
        print("Enabling DNS")
        microk8s_enable("dns")
        wait_for_pod_state("", "kube-system", "running", label="k8s-app=kube-dns")
        print("Enabling ingress")
        microk8s_enable("ingress")
        print("Validating ingress")
        validate_ingress()
        print("Disabling ingress")
        microk8s_disable("ingress")
        print("Enabling dashboard")
        microk8s_enable("dashboard")
        print("Validating dashboard")
        validate_dns_dashboard()
        print("Enabling storage")
        microk8s_enable("storage")
        print("Validating storage")
        validate_storage()
        microk8s_enable("registry")
        print("Validating registry")
        validate_registry()
        print("Validating Port Forward")
        validate_forward()
        print("Disabling registry")
        microk8s_disable("registry")
        print("Disabling dashboard")
        microk8s_disable("dashboard")
        print("Disabling storage")
        p = Popen("/snap/bin/microk8s.disable storage".split(), stdout=PIPE, stdin=PIPE, stderr=STDOUT)
        p.communicate(input=b'Y\n')[0]
        '''
Exemplo n.º 5
0
 def test_metallb_addon(self):
     addon = "metallb"
     ip_ranges = "192.168.0.105-192.168.0.105,192.168.0.110-192.168.0.111,192.168.1.240/28"
     print("Enabling metallb")
     microk8s_enable("{}:{}".format(addon, ip_ranges), timeout_insec=500)
     validate_metallb_config(ip_ranges)
     print("Disabling metallb")
     microk8s_disable("metallb")
Exemplo n.º 6
0
 def test_multus(self):
     """
     Sets up and validates Multus.
     """
     print("Enabling Multus")
     microk8s_enable("multus")
     print("Validating Multus")
     validate_multus()
     print("Disabling Multus")
     microk8s_disable("multus")
Exemplo n.º 7
0
 def test_portainer(self):
     """
     Sets up and validates Portainer.
     """
     print("Enabling Portainer")
     microk8s_enable("portainer")
     print("Validating Portainer")
     validate_portainer()
     print("Disabling Portainer")
     microk8s_disable("portainer")
Exemplo n.º 8
0
 def test_openfaas(self):
     """
     Sets up and validates OpenFaaS.
     """
     print("Enabling openfaas")
     microk8s_enable("openfaas")
     print("Validating openfaas")
     validate_openfaas()
     print("Disabling openfaas")
     microk8s_disable("openfaas")
Exemplo n.º 9
0
 def test_traefik(self):
     """
     Sets up and validates traefik.
     """
     print("Enabling traefik")
     microk8s_enable("traefik")
     print("Validating traefik")
     validate_traefik()
     print("Disabling traefik")
     microk8s_disable("traefik")
Exemplo n.º 10
0
 def test_keda(self):
     """
     Sets up and validates keda.
     """
     print("Enabling keda")
     microk8s_enable("keda")
     print("Validating keda")
     validate_keda()
     print("Disabling keda")
     microk8s_disable("keda")
Exemplo n.º 11
0
 def test_falco(self):
     """
     Sets up and validates falco.
     """
     print("Enabling falco")
     microk8s_enable("falc")
     print("Validating falco")
     validate_keda()
     print("Disabling falco")
     microk8s_disable("falco")
Exemplo n.º 12
0
    def test_metrics_server(self):
        """
        Test the metrics server.

        """
        print("Enabling metrics-server")
        microk8s_enable("metrics-server")
        print("Validating the Metrics Server")
        validate_metrics_server()
        print("Disabling metrics-server")
        microk8s_disable("metrics-server")
Exemplo n.º 13
0
    def test_prometheus(self):
        """
        Test prometheus.
        """

        print("Enabling prometheus")
        microk8s_enable("prometheus")
        print("Validating Prometheus")
        validate_prometheus()
        print("Disabling prometheus")
        microk8s_disable("prometheus")
Exemplo n.º 14
0
    def test_ingress(self):
        """
        Sets up ingress addon and validates it works.

        """
        print("Enabling ingress")
        microk8s_enable("ingress")
        print("Validating ingress")
        validate_ingress()
        print("Disabling ingress")
        microk8s_disable("ingress")
Exemplo n.º 15
0
    def test_ambassador(self):
        """
        Test Ambassador.

        """
        print("Enabling Ambassador")
        microk8s_enable("ambassador")
        print("Validating ambassador")
        validate_ambassador()
        print("Disabling Ambassador")
        microk8s_disable("ambassador")
Exemplo n.º 16
0
    def test_linkerd(self):
        """
        Sets up and validate linkerd

        """
        print("Enabling Linkerd")
        microk8s_enable("linkerd")
        print("Validating Linkerd")
        validate_linkerd()
        print("Disabling Linkerd")
        microk8s_disable("linkerd")
Exemplo n.º 17
0
    def test_rbac_addon(self):
        """
        Test RBAC.

        """
        print("Enabling RBAC")
        microk8s_enable("rbac")
        print("Validating RBAC")
        validate_rbac()
        print("Disabling RBAC")
        microk8s_disable("rbac")
Exemplo n.º 18
0
    def test_kubeflow_addon(self):
        """
        Test kubeflow.

        """

        print("Enabling Kubeflow")
        microk8s_enable("kubeflow")
        print("Validating Kubeflow")
        validate_kubeflow()
        print("Disabling kubeflow")
        microk8s_disable("kubeflow")
Exemplo n.º 19
0
 def test_dns_addon(self):
     ip_ranges = "8.8.8.8,1.1.1.1"
     print("Enabling DNS")
     microk8s_enable("{}:{}".format("dns", ip_ranges), timeout_insec=500)
     wait_for_pod_state("",
                        "kube-system",
                        "running",
                        label="k8s-app=kube-dns")
     print("Validating DNS config")
     validate_coredns_config(ip_ranges)
     print("Disabling DNS")
     microk8s_disable("dns")
Exemplo n.º 20
0
    def test_dns(self):
        """
        Sets up DNS addon and validates it works.

        """
        print("Enabling DNS")
        microk8s_enable("dns")
        wait_for_pod_state("", "kube-system", "running", label="k8s-app=kube-dns")
        # Create a bbox
        print("Validating dns")
        validate_dns()
        print("Disabling DNS")
        microk8s_disable("dns")
Exemplo n.º 21
0
    def test_storage(self):
        """
        Sets up storage addon and validates it works.

        """
        print("Enabling storage")
        microk8s_enable("storage")
        print("Validating storage")
        validate_storage()
        print("Disabling storage")
        p = Popen("/snap/bin/microk8s.disable storage".split(),
                  stdout=PIPE,
                  stdin=PIPE,
                  stderr=STDOUT)
        disable = p.communicate(input=b'Y')[0]
Exemplo n.º 22
0
    def test_inaccel(self):
        """
        Sets up inaccel.

        """
        try:
            print("Enabling inaccel")
            microk8s_enable("inaccel")
        except CalledProcessError:
            # Failed to enable addon. Skip the test.
            print("Could not enable inaccel support")
            return
        validate_inaccel()
        print("Disable inaccel")
        microk8s_disable("inaccel")
Exemplo n.º 23
0
    def test_linkerd(self):
        """
        Sets up and validate linkerd

        """
        if platform.machine() != 'x86_64':
            print("Linkerd tests are only relevant in x86 architectures")
            return

        print("Enabling Linkerd")
        microk8s_enable("linkerd")
        print("Validating Linkerd")
        validate_linkerd()
        print("Disabling Linkerd")
        microk8s_disable("linkerd")
Exemplo n.º 24
0
    def test_gpu(self):
        """
        Sets up nvidia gpu in a gpu capable system. Skip otherwise.

        """
        try:
            print("Enabling gpu")
            microk8s_enable("gpu")
        except CalledProcessError:
            # Failed to enable gpu. Skip the test.
            print("Could not enable GPU support")
            return
        validate_gpu()
        print("Disable gpu")
        microk8s_disable("gpu")
Exemplo n.º 25
0
 def test_openebs(self):
     """
     Sets up and validates openebs.
     """
     print("Enabling OpenEBS")
     try:
         check_output(
             "systemctl is-enabled iscsid".split()).strip().decode("utf8")
         microk8s_enable("openebs")
         print("Validating OpenEBS")
         validate_openebs()
         print("Disabling OpenEBS")
         microk8s_disable("openebs:force")
     except CalledProcessError as err:
         print("Nothing to do, since iscsid is not available")
         return
Exemplo n.º 26
0
    def test_dashboard(self):
        """
        Sets up dashboard and validates it works.

        """
        print("Enabling DNS")
        microk8s_enable("dns")
        wait_for_pod_state("", "kube-system", "running", label="k8s-app=kube-dns")
        print("Enabling dashboard")
        microk8s_enable("dashboard")
        print("Validating dashboard")
        validate_dashboard()
        print("Disabling DNS")
        microk8s_disable("dns")
        print("Disabling dashboard")
        microk8s_disable("dashboard")
Exemplo n.º 27
0
    def test_knative_istio(self):
        """
        Sets up and validate istio.

        """

        print("Enabling Knative and Istio")
        microk8s_enable("knative")
        print("Validating Istio")
        validate_istio()
        print("Validating Knative")
        validate_knative()
        print("Disabling Knative")
        microk8s_disable("knative")
        wait_for_namespace_termination("knative-serving", timeout_insec=600)
        print("Disabling Istio")
        microk8s_disable("istio")
Exemplo n.º 28
0
    def test_storage_registry(self):
        """
        Sets up and tests the storage addon and the private registry.

        """
        print("Enabling storage")
        microk8s_enable("storage")
        print("Validating storage")
        validate_storage()
        microk8s_enable("registry")
        print("Validating registry")
        validate_registry()
        print("Disabling registry")
        microk8s_disable("registry")
        print("Disabling storage")
        p = Popen("/snap/bin/microk8s.disable storage".split(), stdout=PIPE, stdin=PIPE, stderr=STDOUT)
        p.communicate(input=b'Y\n')[0]
Exemplo n.º 29
0
    def test_monitoring_addons(self):
        """
        Test jaeger, prometheus and fluentd.

        """

        print("Enabling fluentd")
        microk8s_enable("fluentd")
        print("Enabling jaeger")
        microk8s_enable("jaeger")
        print("Validating the Jaeger operator")
        validate_jaeger()
        print("Validating the Fluentd")
        validate_fluentd()
        print("Disabling jaeger")
        microk8s_disable("jaeger")
        print("Disabling fluentd")
        microk8s_disable("fluentd")
Exemplo n.º 30
0
    def test_linkerd(self):
        """
        Sets up and validate linkerd

        """
        if platform.machine() != 'x86_64':
            print("Linkerd tests are only relevant in x86 architectures")
            return

        if under_time_pressure != 'False':
            print("Skipping Linkerd tests as we are under time pressure")
            return

        print("Enabling Linkerd")
        microk8s_enable("linkerd")
        print("Validating Linkerd")
        validate_linkerd()
        print("Disabling Linkerd")
        microk8s_disable("linkerd")