def _test_move(self, cluster, origin_node, destination_node):
        origin_client = get_docker_client(cluster, origin_node.public_address)
        data = "hello world"
        http_port = 8080
        volume_name = random_name(self)
        container_args = {
            "host_config": origin_client.create_host_config(
                binds=["{}:/data".format(volume_name)],
                port_bindings={http_port: 0}),
            "ports": [http_port]}

        cid = self.run_python_container(
            cluster, origin_node.public_address, container_args,
            SCRIPTS.child(b"datahttp.py"),
            # This tells the script where it should store its data,
            # and we want it to specifically use the volume:
            [u"/data"], cleanup=False, client=origin_client)
        host_port = extract_external_port(origin_client, cid, http_port)

        # Post to container on origin node:
        d = post_http_server(self, origin_node.public_address, host_port,
                             {"data": data})

        def posted(_):
            # Shutdown original container:
            origin_client.remove_container(cid, force=True)
            # Start container on destination node with same volume:
            new_cid = self.run_python_container(
                cluster, destination_node.public_address, container_args,
                SCRIPTS.child(b"datahttp.py"), [u"/data"],
            )
            destination_client = get_docker_client(
                cluster, destination_node.public_address,
            )
            host_port = extract_external_port(
                destination_client, new_cid, http_port,
            )
            return host_port

        d.addCallback(posted)
        d.addCallback(
            lambda host_port: assert_http_server(
                self, destination_node.public_address, host_port,
                expected_response=data,
            )
        )
        return d
Creates an instance of this exception that indicates which resource is insufficient for current
dataset/ETHPy150Open ClusterHQ/flocker/flocker/acceptance/endtoend/test_dockerplugin.py/DockerPluginTests._test_move--crossover with--dataset/ETHPy150Open BD2KGenomics/toil/src/toil/batchSystems/abstractBatchSystem.py/InsufficientSystemResources.__init__