mirror of
https://github.com/GNS3/gns3-server.git
synced 2026-08-27 12:30:13 +03:00
Set name of container in Docker
This commit is contained in:
parent
c67ba6da0d
commit
bae6221991
@ -153,6 +153,10 @@ class DockerVM(BaseNode):
|
||||
def ethernet_adapters(self):
|
||||
return self._ethernet_adapters
|
||||
|
||||
@property
|
||||
def docker_name(self):
|
||||
return "GNS3.{}.{}".format(self.name, self._project.id)
|
||||
|
||||
@property
|
||||
def mac_address(self):
|
||||
"""
|
||||
@ -451,7 +455,8 @@ class DockerVM(BaseNode):
|
||||
if extra_hosts:
|
||||
params["Env"].append("GNS3_EXTRA_HOSTS={}".format(extra_hosts))
|
||||
|
||||
result = await self.manager.query("POST", "containers/create", data=params)
|
||||
# Support name in Doker: [a-zA-Z0-9][a-zA-Z0-9_.-]
|
||||
result = await self.manager.query("POST", "containers/create?name=GNS3.{}.{}".format(self._name, self.project.id), data=params)
|
||||
self._cid = result['Id']
|
||||
log.info("Docker container '{name}' [{id}] created".format(name=self._name, id=self._id))
|
||||
return True
|
||||
|
||||
@ -96,7 +96,7 @@ async def test_create(compute_project, manager):
|
||||
with asyncio_patch("gns3server.compute.docker.Docker.query", return_value=response) as mock:
|
||||
vm = DockerVM("test", str(uuid.uuid4()), compute_project, manager, "ubuntu:latest")
|
||||
await vm.create()
|
||||
mock.assert_called_with("POST", "containers/create", data={
|
||||
mock.assert_called_with("POST", "containers/create?name={}".format(vm.docker_name), data={
|
||||
"Tty": True,
|
||||
"OpenStdin": True,
|
||||
"StdinOnce": False,
|
||||
@ -135,7 +135,7 @@ async def test_create_with_tag(compute_project, manager):
|
||||
with asyncio_patch("gns3server.compute.docker.Docker.query", return_value=response) as mock:
|
||||
vm = DockerVM("test", str(uuid.uuid4()), compute_project, manager, "ubuntu:16.04")
|
||||
await vm.create()
|
||||
mock.assert_called_with("POST", "containers/create", data={
|
||||
mock.assert_called_with("POST", "containers/create?name={}".format(vm.docker_name), data={
|
||||
"Tty": True,
|
||||
"OpenStdin": True,
|
||||
"StdinOnce": False,
|
||||
@ -177,7 +177,7 @@ async def test_create_vnc(compute_project, manager):
|
||||
vm._start_vnc = MagicMock()
|
||||
vm._display = 42
|
||||
await vm.create()
|
||||
mock.assert_called_with("POST", "containers/create", data={
|
||||
mock.assert_called_with("POST", "containers/create?name={}".format(vm.docker_name), data={
|
||||
"Tty": True,
|
||||
"OpenStdin": True,
|
||||
"StdinOnce": False,
|
||||
@ -308,7 +308,7 @@ async def test_create_start_cmd(compute_project, manager):
|
||||
vm = DockerVM("test", str(uuid.uuid4()), compute_project, manager, "ubuntu:latest")
|
||||
vm._start_command = "/bin/ls"
|
||||
await vm.create()
|
||||
mock.assert_called_with("POST", "containers/create", data={
|
||||
mock.assert_called_with("POST", "containers/create?name={}".format(vm.docker_name), data={
|
||||
"Tty": True,
|
||||
"OpenStdin": True,
|
||||
"StdinOnce": False,
|
||||
@ -407,7 +407,7 @@ async def test_create_image_not_available(compute_project, manager):
|
||||
with asyncio_patch("gns3server.compute.docker.DockerVM.pull_image", return_value=True) as mock_pull:
|
||||
with asyncio_patch("gns3server.compute.docker.Docker.query", return_value=response) as mock:
|
||||
await vm.create()
|
||||
mock.assert_called_with("POST", "containers/create", data={
|
||||
mock.assert_called_with("POST", "containers/create?name={}".format(vm.docker_name), data={
|
||||
"Tty": True,
|
||||
"OpenStdin": True,
|
||||
"StdinOnce": False,
|
||||
@ -450,7 +450,7 @@ async def test_create_with_user(compute_project, manager):
|
||||
with asyncio_patch("gns3server.compute.docker.Docker.query", return_value=response) as mock:
|
||||
vm = DockerVM("test", str(uuid.uuid4()), compute_project, manager, "ubuntu:latest")
|
||||
await vm.create()
|
||||
mock.assert_called_with("POST", "containers/create", data={
|
||||
mock.assert_called_with("POST", "containers/create?name={}".format(vm.docker_name), data={
|
||||
"Tty": True,
|
||||
"OpenStdin": True,
|
||||
"StdinOnce": False,
|
||||
@ -534,7 +534,7 @@ async def test_create_with_extra_volumes_duplicate_1_image(compute_project, mana
|
||||
with asyncio_patch("gns3server.compute.docker.Docker.query", return_value=response) as mock:
|
||||
vm = DockerVM("test", str(uuid.uuid4()), compute_project, manager, "ubuntu:latest", extra_volumes=["/vol/1"])
|
||||
await vm.create()
|
||||
mock.assert_called_with("POST", "containers/create", data={
|
||||
mock.assert_called_with("POST", "containers/create?name={}".format(vm.docker_name), data={
|
||||
"Tty": True,
|
||||
"OpenStdin": True,
|
||||
"StdinOnce": False,
|
||||
@ -574,7 +574,7 @@ async def test_create_with_extra_volumes_duplicate_2_user(compute_project, manag
|
||||
with asyncio_patch("gns3server.compute.docker.Docker.query", return_value=response) as mock:
|
||||
vm = DockerVM("test", str(uuid.uuid4()), compute_project, manager, "ubuntu:latest", extra_volumes=["/vol/1", "/vol/1"])
|
||||
await vm.create()
|
||||
mock.assert_called_with("POST", "containers/create", data={
|
||||
mock.assert_called_with("POST", "containers/create?name={}".format(vm.docker_name), data={
|
||||
"Tty": True,
|
||||
"OpenStdin": True,
|
||||
"StdinOnce": False,
|
||||
@ -614,7 +614,7 @@ async def test_create_with_extra_volumes_duplicate_3_subdir(compute_project, man
|
||||
with asyncio_patch("gns3server.compute.docker.Docker.query", return_value=response) as mock:
|
||||
vm = DockerVM("test", str(uuid.uuid4()), compute_project, manager, "ubuntu:latest", extra_volumes=["/vol/1/", "/vol"])
|
||||
await vm.create()
|
||||
mock.assert_called_with("POST", "containers/create", data={
|
||||
mock.assert_called_with("POST", "containers/create?name={}".format(vm.docker_name), data={
|
||||
"Tty": True,
|
||||
"OpenStdin": True,
|
||||
"StdinOnce": False,
|
||||
@ -654,7 +654,7 @@ async def test_create_with_extra_volumes_duplicate_4_backslash(compute_project,
|
||||
with asyncio_patch("gns3server.compute.docker.Docker.query", return_value=response) as mock:
|
||||
vm = DockerVM("test", str(uuid.uuid4()), compute_project, manager, "ubuntu:latest", extra_volumes=["/vol//", "/vol"])
|
||||
await vm.create()
|
||||
mock.assert_called_with("POST", "containers/create", data={
|
||||
mock.assert_called_with("POST", "containers/create?name={}".format(vm.docker_name), data={
|
||||
"Tty": True,
|
||||
"OpenStdin": True,
|
||||
"StdinOnce": False,
|
||||
@ -694,7 +694,7 @@ async def test_create_with_extra_volumes_duplicate_5_subdir_issue_1595(compute_p
|
||||
with asyncio_patch("gns3server.compute.docker.Docker.query", return_value=response) as mock:
|
||||
vm = DockerVM("test", str(uuid.uuid4()), compute_project, manager, "ubuntu:latest", extra_volumes=["/etc"])
|
||||
await vm.create()
|
||||
mock.assert_called_with("POST", "containers/create", data={
|
||||
mock.assert_called_with("POST", "containers/create?name={}".format(vm.docker_name), data={
|
||||
"Tty": True,
|
||||
"OpenStdin": True,
|
||||
"StdinOnce": False,
|
||||
@ -733,7 +733,7 @@ async def test_create_with_extra_volumes_duplicate_6_subdir_issue_1595(compute_p
|
||||
with asyncio_patch("gns3server.compute.docker.Docker.query", return_value=response) as mock:
|
||||
vm = DockerVM("test", str(uuid.uuid4()), compute_project, manager, "ubuntu:latest", extra_volumes=["/etc/test", "/etc"])
|
||||
await vm.create()
|
||||
mock.assert_called_with("POST", "containers/create", data={
|
||||
mock.assert_called_with("POST", "containers/create?name={}".format(vm.docker_name), data={
|
||||
"Tty": True,
|
||||
"OpenStdin": True,
|
||||
"StdinOnce": False,
|
||||
@ -778,7 +778,7 @@ async def test_create_with_extra_volumes(compute_project, manager):
|
||||
with asyncio_patch("gns3server.compute.docker.Docker.query", return_value=response) as mock:
|
||||
vm = DockerVM("test", str(uuid.uuid4()), compute_project, manager, "ubuntu:latest", extra_volumes=["/vol/2"])
|
||||
await vm.create()
|
||||
mock.assert_called_with("POST", "containers/create", data={
|
||||
mock.assert_called_with("POST", "containers/create?name={}".format(vm.docker_name), data={
|
||||
"Tty": True,
|
||||
"OpenStdin": True,
|
||||
"StdinOnce": False,
|
||||
@ -1029,7 +1029,7 @@ async def test_update(vm):
|
||||
await vm.update()
|
||||
|
||||
mock_query.assert_any_call("DELETE", "containers/e90e34656842", params={"force": 1, "v": 1})
|
||||
mock_query.assert_any_call("POST", "containers/create", data={
|
||||
mock_query.assert_any_call("POST", "containers/create?name={}".format(vm.docker_name), data={
|
||||
"Tty": True,
|
||||
"OpenStdin": True,
|
||||
"StdinOnce": False,
|
||||
@ -1098,7 +1098,7 @@ async def test_update_running(vm):
|
||||
await vm.update()
|
||||
|
||||
mock_query.assert_any_call("DELETE", "containers/e90e34656842", params={"force": 1, "v": 1})
|
||||
mock_query.assert_any_call("POST", "containers/create", data={
|
||||
mock_query.assert_any_call("POST", "containers/create?name={}".format(vm.docker_name), data={
|
||||
"Tty": True,
|
||||
"OpenStdin": True,
|
||||
"StdinOnce": False,
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user