def pre_restore_check(self): names = docker.get_docker_container_names(status="running") containers = set(magic_consts.RUNNING_REQUIRED_CONTAINERS) - set(names) if containers: raise Exception( "Required running containers: {0}".format( ", ".join(containers)))
def test_get_container_names_with_format(mocker): sub_mock = mocker.patch( "octane.util.subprocess.call", return_value=("fuel-core-container_1\nfuel-core-container_2\n\n", None)) assert not docker.get_docker_container_names.use_without assert ["container_1", "container_2"] == \ docker.get_docker_container_names() assert not docker.get_docker_container_names.use_without sub_mock.assert_called_once_with( ["docker", "ps", '--all', '--format="{{.Names}}"'], stdout=subprocess.PIPE)
def pre_restore_check(self): names = docker.get_docker_container_names(status="running") containers = set(magic_consts.RUNNING_REQUIRED_CONTAINERS) - set(names) if containers: raise Exception("Required running containers: {0}".format( ", ".join(containers))) backup_ip = self.get_backup_dict()["ADMIN_NETWORK"]["ipaddress"] current_ip = self.get_current_dict()["ADMIN_NETWORK"]["ipaddress"] if backup_ip != current_ip: raise Exception( "Restore allowed on machine with same ipaddress. " "Use fuel-menu to set up ipaddress to {0}".format(backup_ip))
def test_get_container_names(mocker): def foo(call_args, *args, **kwargs): if '--format="{{.Names}}"' in call_args: raise subprocess.CalledProcessError(2, call_args) return ("NAMES\nfuel-core-container_1\nfuel-core-container_2", None) sub_mock = mocker.patch("octane.util.subprocess.call", side_effect=foo) assert not docker.get_docker_container_names.use_without assert ["container_1", "container_2"] == \ docker.get_docker_container_names() sub_mock.assert_has_calls([ mock.call( ["docker", "ps", '--all', '--format="{{.Names}}"'], stdout=subprocess.PIPE ), mock.call( ["docker", "ps", '--all'], stdout=subprocess.PIPE )]) assert 2 == sub_mock.call_count assert docker.get_docker_container_names.use_without