Exemplo n.º 1
0
    def fake_standard_linux_agent_output(self, *test_hosts):
        self.set_ruleset(
            "datasource_programs",
            [
                ("cat %s/<HOST>" % cmk.utils.paths.tcp_cache_dir, [], test_hosts, {}),
            ],
        )
        linux_agent_output = get_standard_linux_agent_output()

        for h in test_hosts:
            cache_path = Path(cmk.utils.paths.tcp_cache_dir, h)
            cache_path.parent.mkdir(parents=True, exist_ok=True)
            with cache_path.open("w", encoding="utf-8") as f:
                f.write(linux_agent_output)
Exemplo n.º 2
0
def create_linux_test_host(request, web_fixture, site, hostname):
    def finalizer():
        web_fixture.delete_host(hostname)
        web_fixture.activate_changes()

        for path in [
                "var/check_mk/agent_output/%s" % hostname,
                "etc/check_mk/conf.d/linux_test_host_%s.mk" % hostname,
                "tmp/check_mk/status_data/%s" % hostname,
                "tmp/check_mk/status_data/%s.gz" % hostname,
                "var/check_mk/inventory/%s" % hostname,
                "var/check_mk/inventory/%s.gz" % hostname,
                "var/check_mk/autochecks/%s.mk" % hostname,
                "tmp/check_mk/counters/%s" % hostname,
                "tmp/check_mk/cache/%s" % hostname,
        ] + [
                str(p.relative_to(site.root))
                for p in Path(site.root, "tmp/check_mk/data_source_cache/").
                glob(f"*/{hostname}")
        ]:
            if site.file_exists(path):
                site.delete_file(path)

    request.addfinalizer(finalizer)

    web_fixture.add_host(hostname, attributes={"ipaddress": "127.0.0.1"})

    site.write_file(
        "etc/check_mk/conf.d/linux_test_host_%s.mk" % hostname,
        "datasource_programs.append(('cat ~/var/check_mk/agent_output/<HOST>', [], ['%s']))\n"
        % hostname,
    )

    site.makedirs("var/check_mk/agent_output/")
    site.write_file("var/check_mk/agent_output/%s" % hostname,
                    get_standard_linux_agent_output())
Exemplo n.º 3
0
def test_dump_agent_test(execute):
    for opt in ["--dump-agent", "-d"]:
        p = execute(["cmk", opt, "modes-test-host"])
        assert p.returncode == 0, on_failure(p)
        assert p.stderr == ""
        assert p.stdout == get_standard_linux_agent_output()
Exemplo n.º 4
0
def test_cfg_fixture(site: Site, web):
    print("Applying default config")
    site.openapi.create_host(
        "modes-test-host",
        attributes={
            "ipaddress": "127.0.0.1",
        },
    )
    site.openapi.create_host(
        "modes-test-host2",
        attributes={
            "ipaddress": "127.0.0.1",
            "tag_criticality": "test",
        },
    )
    site.openapi.create_host(
        "modes-test-host3",
        attributes={
            "ipaddress": "127.0.0.1",
            "tag_criticality": "test",
        },
    )
    site.openapi.create_host(
        "modes-test-host4",
        attributes={
            "ipaddress": "127.0.0.1",
            "tag_criticality": "offline",
        },
    )

    site.write_text_file(
        "etc/check_mk/conf.d/modes-test-host.mk",
        "datasource_programs.append(('cat ~/var/check_mk/agent_output/<HOST>', [], ALL_HOSTS))\n",
    )

    site.makedirs("var/check_mk/agent_output/")
    site.write_text_file("var/check_mk/agent_output/modes-test-host",
                         get_standard_linux_agent_output())
    site.write_text_file("var/check_mk/agent_output/modes-test-host2",
                         get_standard_linux_agent_output())
    site.write_text_file("var/check_mk/agent_output/modes-test-host3",
                         get_standard_linux_agent_output())

    web.discover_services(
        "modes-test-host")  # Replace with RestAPI call, see CMK-9249
    web.discover_services(
        "modes-test-host2")  # Replace with RestAPI call, see CMK-9249
    web.discover_services(
        "modes-test-host3")  # Replace with RestAPI call, see CMK-9249

    try:
        site.activate_changes_and_wait_for_core_reload()
        yield None
    finally:
        #
        # Cleanup code
        #
        print("Cleaning up test config")

        site.delete_dir("var/check_mk/agent_output")

        site.delete_file("etc/check_mk/conf.d/modes-test-host.mk")

        site.openapi.delete_host("modes-test-host")
        site.openapi.delete_host("modes-test-host2")
        site.openapi.delete_host("modes-test-host3")
        site.openapi.delete_host("modes-test-host4")

        site.activate_changes_and_wait_for_core_reload()
Exemplo n.º 5
0
def test_cfg_fixture(web, site):  # noqa: F811  # pylint: disable=redefined-outer-name
    site.ensure_running()

    print("Applying default config")
    web.add_host(
        "modes-test-host",
        attributes={
            "ipaddress": "127.0.0.1",
        },
    )
    web.add_host(
        "modes-test-host2",
        attributes={
            "ipaddress": "127.0.0.1",
            "tag_criticality": "test",
        },
    )
    web.add_host(
        "modes-test-host3",
        attributes={
            "ipaddress": "127.0.0.1",
            "tag_criticality": "test",
        },
    )
    web.add_host(
        "modes-test-host4",
        attributes={
            "ipaddress": "127.0.0.1",
            "tag_criticality": "offline",
        },
    )

    site.write_file(
        "etc/check_mk/conf.d/modes-test-host.mk",
        "datasource_programs.append(('cat ~/var/check_mk/agent_output/<HOST>', [], ALL_HOSTS))\n",
    )

    site.makedirs("var/check_mk/agent_output/")
    site.write_file("var/check_mk/agent_output/modes-test-host", get_standard_linux_agent_output())
    site.write_file("var/check_mk/agent_output/modes-test-host2", get_standard_linux_agent_output())
    site.write_file("var/check_mk/agent_output/modes-test-host3", get_standard_linux_agent_output())

    web.discover_services("modes-test-host")
    web.discover_services("modes-test-host2")
    web.discover_services("modes-test-host3")

    try:
        web.activate_changes()
        yield None
    finally:
        #
        # Cleanup code
        #
        print("Cleaning up test config")

        site.delete_dir("var/check_mk/agent_output")

        site.delete_file("etc/check_mk/conf.d/modes-test-host.mk")

        web.delete_host("modes-test-host")
        web.delete_host("modes-test-host2")
        web.delete_host("modes-test-host3")
        web.delete_host("modes-test-host4")
        web.activate_changes()