예제 #1
0
def test_get_host_labels_entry_of_host(discovered_host_labels_dir):
    save_updated_host_label_files([
        ('host1.mk', 123,
         "{'äbc': {'value': '123', 'plugin_name': 'plugin_1'}}\n"),
    ])

    assert get_host_labels_entry_of_host("host1") == (
        'host1.mk', 123,
        "{'äbc': {'value': '123', 'plugin_name': 'plugin_1'}}\n")
예제 #2
0
def execute_host_label_sync(host_name: HostName, site_id: SiteId) -> None:
    """Contacts the given remote site to synchronize the labels of the given host"""
    site_spec = get_site_config(site_id)
    result = _execute_site_sync(
        site_id, site_spec,
        SiteRequest(
            newest_host_labels=0.0,
            enforce_host=EnforcedHostRequest(site_id, host_name),
        ))
    save_updated_host_label_files(result.updated_host_labels)
예제 #3
0
def test_get_host_labels_entry_of_host(discovered_host_labels_dir: Path) -> None:
    save_updated_host_label_files(
        [
            ("host1.mk", 123, "{'äbc': {'value': '123', 'plugin_name': 'plugin_1'}}\n"),
        ]
    )

    assert get_host_labels_entry_of_host(HostName("host1")) == (
        "host1.mk",
        123,
        "{'äbc': {'value': '123', 'plugin_name': 'plugin_1'}}\n",
    )
예제 #4
0
    def _process_site_sync_results(self, newest_host_labels: Dict[SiteId, float],
                                   results: List[SiteResult]) -> None:
        """Persist the sync results received from the remote site on the central site"""
        for site_result in results:
            if not site_result.updated_host_labels:
                continue

            newest_host_labels[
                site_result.site_id] = max([newest_host_labels.get(site_result.site_id, 0.0)] +
                                           [e[1] for e in site_result.updated_host_labels])
            save_updated_host_label_files(site_result.updated_host_labels)

        self._save_newest_host_labels_per_site(newest_host_labels)
예제 #5
0
def test_get_updated_host_label_files(discovered_host_labels_dir: Path) -> None:
    time_1 = 1616655912.123
    time_2 = 1616655912.234

    save_updated_host_label_files(
        [
            ("host1.mk", time_1, "{'äbc': {'value': '123', 'plugin_name': 'plugin_1'}}\n"),
            ("host2.mk", time_2, "{'äbc': {'value': 'xyz', 'plugin_name': 'plugin_1'}}\n"),
        ]
    )

    assert get_updated_host_label_files(newer_than=time_1 - 1) == [
        ("host1.mk", time_1, "{'äbc': {'value': '123', 'plugin_name': 'plugin_1'}}\n"),
        ("host2.mk", time_2, "{'äbc': {'value': 'xyz', 'plugin_name': 'plugin_1'}}\n"),
    ]
    assert get_updated_host_label_files(newer_than=time_1) == [
        ("host2.mk", time_2, "{'äbc': {'value': 'xyz', 'plugin_name': 'plugin_1'}}\n"),
    ]
    assert get_updated_host_label_files(newer_than=time_2) == []