Beispiel #1
0
    def test_get_host_docker_status_with_server_outage(self, _subprocess):
        _subprocess.Popen.return_value.stdout.read.return_value = ""

        result = get_host_docker_status("123.123.123.123")

        _subprocess.Popen.assert_called_once_with(
            "ansible 123.123.123.123 -a \"docker ps -a\"",
            shell=True,
            stdout=_subprocess.PIPE
        )
        self.assertListEqual(result, [])
Beispiel #2
0
def cron_get_host_docker_status():
    hosts_status = HostMeta.get_all_hosts_status()
    for host_id in hosts_status:
        host_ip = hosts_status[host_id]["IP"]
        dockers_status = get_host_docker_status(host_ip)
        for docker_status in dockers_status:
            docker_status.update({
                "IP": hosts_status[host_id]["IP"],
                "Hostname": hosts_status[host_id]["Hostname"],
            })
        HostMeta.update_host_dockers_status(ip=host_ip,
                                            dockers_status=dockers_status)
Beispiel #3
0
    def test_get_docker_process_status_with_server_available(self, _subprocess):
        # pylint: disable=line-too-long
        _subprocess.Popen.return_value.stdout.read.return_value = (
            """182.254.223.239 | SUCCESS | rc=0 >>
CONTAINER ID        IMAGE               COMMAND                  CREATED             STATUS                      PORTS               NAMES
7f8edf3ddc84        busybox             "sh"                     53 minutes ago      Exited (0) 53 minutes ago                       test-busybox
29b3c00ee9ee        redis               "/entrypoint.sh redis"   59 minutes ago      Up 59 minutes               6379/tcp            test-redis
            """
        )

        result = get_host_docker_status("123.123.123.123")

        _subprocess.Popen.assert_called_once_with(
            "ansible 123.123.123.123 -a \"docker ps -a\"",
            shell=True,
            stdout=_subprocess.PIPE
        )
        self.assertListEqual(
            result,
            [
                {
                    "Command": "\"sh\"",
                    "Container ID": "7f8edf3ddc84",
                    "Created": "53 minutes ago",
                    "Image": "busybox",
                    "Names": "test-busybox",
                    "Ports": "",
                    "Status": "Exited (0) 53 minutes ago"
                },
                {
                    "Command": "\"/entrypoint.sh redis\"",
                    "Container ID": "29b3c00ee9ee",
                    "Created": "59 minutes ago",
                    "Image": "redis",
                    "Names": "test-redis",
                    "Ports": "6379/tcp",
                    "Status": "Up 59 minutes"
                }
            ]
        )