diff options
author | Hirotaka Wakabayashi <hiwkby@yahoo.com> | 2022-03-22 21:53:30 +0900 |
---|---|---|
committer | Hirotaka Wakabayashi <hiwkby@yahoo.com> | 2022-03-23 09:48:25 +0900 |
commit | 92471bd4f39a0805bd1cbd732fa12d530e607c8f (patch) | |
tree | 568250fc7ded0dc1250b29efac84ffa3252fd28c /trove | |
parent | e4bf4222b4e6b29c0a5cfef892f25abf2b523a3c (diff) | |
download | trove-92471bd4f39a0805bd1cbd732fa12d530e607c8f.tar.gz |
Adds docker daemon config to injected files
This PR adds docker daemon config to injected files when
docker_bridge_network_ip option is defined in trove.conf.
Original problem is that Trove developers unable to transfer files
between GuestVMs and Controller host when controller host address
range is same with docker bridge network one.
Task: 44805
Story: 2009928
Change-Id: I6ad7eb7b2a7fb0686604b69d0175ec0d06f60384
Diffstat (limited to 'trove')
-rw-r--r-- | trove/common/cfg.py | 2 | ||||
-rw-r--r-- | trove/instance/models.py | 14 |
2 files changed, 16 insertions, 0 deletions
diff --git a/trove/common/cfg.py b/trove/common/cfg.py index 65c030cf..e7d08073 100644 --- a/trove/common/cfg.py +++ b/trove/common/cfg.py @@ -441,6 +441,8 @@ common_opts = [ help='Extension for default datastore managers. ' 'Allows the use of custom managers for each of ' 'the datastores supported by Trove.'), + cfg.StrOpt('docker_bridge_network_ip', default=None, + help='Docker bridge network IP.'), cfg.StrOpt('template_path', default='/etc/trove/templates/', help='Path which leads to datastore templates.'), cfg.BoolOpt('sql_query_logging', default=False, diff --git a/trove/instance/models.py b/trove/instance/models.py index 4691b6b9..fe424bc8 100644 --- a/trove/instance/models.py +++ b/trove/instance/models.py @@ -1030,6 +1030,20 @@ class BaseInstance(SimpleInstance): f"CONTROLLER={CONF.controller_address}" ) + # Since Victoria, guest agent uses docker. + # Configure docker's daemon.json if the directives exist in trove.conf + docker_daemon_values = {} + + # Configure docker_bridge_network_ip in order to change the docker + # default range(172.17.0.0/16) of bridge network + if CONF.docker_bridge_network_ip: + docker_daemon_values["bip"] = CONF.docker_bridge_network_ip + + if docker_daemon_values: + files['/etc/docker/daemon.json'] = ( + json.dumps(docker_daemon_values) + ) + return files def reset_status(self): |