diff --git a/.mailmap b/.mailmap index ac6f75f88fa6..f97171d8d208 100644 --- a/.mailmap +++ b/.mailmap @@ -37,7 +37,8 @@ - + + diff --git a/nova/config.py b/nova/config.py index 5755009e142f..d1878365ba66 100644 --- a/nova/config.py +++ b/nova/config.py @@ -86,6 +86,10 @@ global_opts = [ cfg.IntOpt('glance_port', default=9292, help='default glance port'), + cfg.StrOpt('glance_protocol', + default='http', + help='Default protocol to use when connecting to glance. ' + 'Set to https for SSL.'), cfg.ListOpt('glance_api_servers', default=['$glance_host:$glance_port'], help='A list of the glance api servers available to nova. ' diff --git a/nova/tests/test_utils.py b/nova/tests/test_utils.py index 8bf6df8b5488..2ee0bd36fcd6 100644 --- a/nova/tests/test_utils.py +++ b/nova/tests/test_utils.py @@ -34,7 +34,9 @@ from nova import test from nova import utils CONF = cfg.CONF +CONF.import_opt('glance_host', 'nova.config') CONF.import_opt('glance_port', 'nova.config') +CONF.import_opt('glance_protocol', 'nova.config') class ByteConversionTest(test.TestCase): @@ -379,10 +381,16 @@ class GenericUtilsTestCase(test.TestCase): self.assertFalse(utils.bool_from_str(None)) self.assertFalse(utils.bool_from_str('junk')) - def test_generate_glance_url(self): + def test_generate_glance_http_url(self): generated_url = utils.generate_glance_url() - actual_url = "http://%s:%d" % (CONF.glance_host, CONF.glance_port) - self.assertEqual(generated_url, actual_url) + http_url = "http://%s:%d" % (CONF.glance_host, CONF.glance_port) + self.assertEqual(generated_url, http_url) + + def test_generate_glance_https_url(self): + self.flags(glance_protocol="https") + generated_url = utils.generate_glance_url() + https_url = "https://%s:%d" % (CONF.glance_host, CONF.glance_port) + self.assertEqual(generated_url, https_url) def test_read_cached_file(self): self.mox.StubOutWithMock(os.path, "getmtime") diff --git a/nova/utils.py b/nova/utils.py index c94cd2c3e2b0..640080a43b38 100644 --- a/nova/utils.py +++ b/nova/utils.py @@ -59,7 +59,9 @@ CONF = cfg.CONF CONF.register_opt( cfg.BoolOpt('disable_process_locking', default=False, help='Whether to disable inter-process locks')) +CONF.import_opt('glance_host', 'nova.config') CONF.import_opt('glance_port', 'nova.config') +CONF.import_opt('glance_protocol', 'nova.config') CONF.import_opt('instance_usage_audit_period', 'nova.config') CONF.import_opt('monkey_patch', 'nova.config') CONF.import_opt('rootwrap_config', 'nova.config') @@ -905,9 +907,8 @@ def timefunc(func): def generate_glance_url(): """Generate the URL to glance.""" - # TODO(jk0): This will eventually need to take SSL into consideration - # when supported in glance. - return "http://%s:%d" % (CONF.glance_host, CONF.glance_port) + return "%s://%s:%d" % (CONF.glance_protocol, CONF.glance_host, + CONF.glance_port) def generate_image_url(image_ref):