def test_prometheus_setup():
    with Given("clickhouse-operator is installed"):
        assert kubectl.get_count("pod", ns=settings.operator_namespace,
                                 label="-l app=clickhouse-operator") > 0, error(
            "please run deploy/operator/clickhouse-operator-install.sh before run test")
        set_operator_version(settings.operator_version)
        set_metrics_exporter_version(settings.operator_version)

    with Given("prometheus-operator is installed"):
        assert kubectl.get_count("pod", ns=settings.prometheus_namespace,
                                 label="-l app.kubernetes.io/component=controller,app.kubernetes.io/name=prometheus-operator") > 0, error(
            "please run deploy/promehteus/create_prometheus.sh before test run")
        assert kubectl.get_count("pod", ns=settings.prometheus_namespace,
                                 label="-l app=prometheus,prometheus=prometheus") > 0, error(
            "please run deploy/promehteus/create_prometheus.sh before test run")
        assert kubectl.get_count("pod", ns=settings.prometheus_namespace,
                                 label="-l app=alertmanager,alertmanager=alertmanager") > 0, error(
            "please run deploy/promehteus/create_prometheus.sh before test run")
        prometheus_operator_exptected_version = f"quay.io/prometheus-operator/prometheus-operator:v{settings.prometheus_operator_version}"
        assert prometheus_operator_exptected_version in prometheus_operator_spec["items"][0]["spec"]["containers"][0]["image"], error(f"require {prometheus_operator_exptected_version} image")
Ejemplo n.º 2
0
            if kubectl.get_count("pod",
                                 ns=settings.operator_namespace,
                                 label="-l app=clickhouse-operator") == 0:
                config = util.get_full_path(
                    '../deploy/operator/clickhouse-operator-install-template.yaml'
                )
                kubectl.apply(
                    ns=settings.operator_namespace,
                    config=f"<(cat {config} | "
                    f"OPERATOR_IMAGE=\"{settings.operator_docker_repo}:{settings.operator_version}\" "
                    f"OPERATOR_NAMESPACE=\"{settings.operator_namespace}\" "
                    f"METRICS_EXPORTER_IMAGE=\"{settings.metrics_exporter_docker_repo}:{settings.operator_version}\" "
                    f"METRICS_EXPORTER_NAMESPACE=\"{settings.operator_namespace}\" "
                    f"envsubst)",
                    validate=False)
            test_operator.set_operator_version(settings.operator_version)

        with Given(
                f"Install ClickHouse template {settings.clickhouse_template}"):
            kubectl.apply(util.get_full_path(settings.clickhouse_template),
                          settings.test_namespace)

        with Given(f"ClickHouse version {settings.clickhouse_version}"):
            pass

        # python3 tests/test.py --only operator*
        xfails = {
            "/main/operator/test_022. Test that chi with broken image can be deleted":
            [(Error, "Not supported yet. Timeout")],
            "/main/operator/test_024. Test annotations for various template types/PV annotations should be populated":
            [(Fail, "Not supported yet")],