summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorZuul <zuul@review.opendev.org>2022-08-13 09:47:08 +0000
committerGerrit Code Review <review@openstack.org>2022-08-13 09:47:08 +0000
commit06773322c5590c286c9afc251d34bfcb5c8a2005 (patch)
tree3fa7161ceff62a19068b67a8cdc3b22d8d926542
parent8ea76a145a2c39920088fa463c9c9e80d00e8338 (diff)
parent54c2579a35bec50540a728d07723cef3c0fa4665 (diff)
downloadtrove-06773322c5590c286c9afc251d34bfcb5c8a2005.tar.gz
Merge "Fix docker start failed in guest-agent"
-rw-r--r--releasenotes/notes/fix-docker-start-failed-160e79b6e5494edd.yaml5
-rw-r--r--trove/common/cfg.py4
-rw-r--r--trove/instance/models.py2
-rw-r--r--trove/tests/unittests/taskmanager/test_models.py7
4 files changed, 15 insertions, 3 deletions
diff --git a/releasenotes/notes/fix-docker-start-failed-160e79b6e5494edd.yaml b/releasenotes/notes/fix-docker-start-failed-160e79b6e5494edd.yaml
new file mode 100644
index 00000000..57de117c
--- /dev/null
+++ b/releasenotes/notes/fix-docker-start-failed-160e79b6e5494edd.yaml
@@ -0,0 +1,5 @@
+---
+fixes:
+ - |
+ Fix docker start failed in trove guest-agent when
+ docker_insecure_registries is not set.
diff --git a/trove/common/cfg.py b/trove/common/cfg.py
index 58dd3af6..60692ac9 100644
--- a/trove/common/cfg.py
+++ b/trove/common/cfg.py
@@ -449,8 +449,8 @@ common_opts = [
'the datastores supported by Trove.'),
cfg.StrOpt('docker_bridge_network_ip', default=None,
help='Docker bridge network IP.'),
- cfg.StrOpt('docker_insecure_registries', default=[],
- help='Docker insecure registries for image development.'),
+ cfg.ListOpt('docker_insecure_registries', default=[],
+ help='Docker insecure registries for image development.'),
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 8469f174..1b6e3078 100644
--- a/trove/instance/models.py
+++ b/trove/instance/models.py
@@ -1046,7 +1046,7 @@ class BaseInstance(SimpleInstance):
docker_daemon_values["bip"] = CONF.docker_bridge_network_ip
if CONF.docker_insecure_registries:
docker_daemon_values["insecure-registries"] = \
- CONF.docker_insecure_registries.split(',')
+ CONF.docker_insecure_registries
if docker_daemon_values:
files['/etc/docker/daemon.json'] = (
diff --git a/trove/tests/unittests/taskmanager/test_models.py b/trove/tests/unittests/taskmanager/test_models.py
index 0af1aa16..7497e1dd 100644
--- a/trove/tests/unittests/taskmanager/test_models.py
+++ b/trove/tests/unittests/taskmanager/test_models.py
@@ -11,6 +11,7 @@
# WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
# License for the specific language governing permissions and limitations
# under the License.
+import json
import os
from tempfile import NamedTemporaryFile
@@ -257,6 +258,8 @@ class FreshInstanceTasksTest(BaseFreshInstanceTasksTest):
cfg.CONF.set_override('guest_config', self.guestconfig)
cfg.CONF.set_override('guest_info', 'guest_info.conf')
cfg.CONF.set_override('injected_config_location', '/etc/trove/conf.d')
+ cfg.CONF.set_override('docker_insecure_registries',
+ '127.0.0.1:4000,127.0.0.1:5000')
# execute
files = self.freshinstancetasks.get_injected_files("test", 'test')
@@ -268,6 +271,9 @@ class FreshInstanceTasksTest(BaseFreshInstanceTasksTest):
self.assertEqual(
self.guestconfig_content,
files['/etc/trove/conf.d/trove-guestagent.conf'])
+ deamon_json = json.loads(files.get('/etc/docker/daemon.json'))
+ self.assertIn('127.0.0.1:4000', deamon_json.get('insecure-registries'))
+ self.assertIn('127.0.0.1:5000', deamon_json.get('insecure-registries'))
@patch.object(DBInstance, 'get_by')
def test_create_instance_guestconfig_compat(self, patch_get_by):
@@ -285,6 +291,7 @@ class FreshInstanceTasksTest(BaseFreshInstanceTasksTest):
self.assertEqual(
self.guestconfig_content,
files['/etc/trove-guestagent.conf'])
+ self.assertFalse(files.get('/etc/docker/daemon.json'))
def test_create_instance_with_az_kwarg(self):
# execute