diff options
-rw-r--r-- | .mailmap | 3 | ||||
-rw-r--r-- | nova/config.py | 4 | ||||
-rw-r--r-- | nova/tests/test_utils.py | 14 | ||||
-rw-r--r-- | nova/utils.py | 7 |
4 files changed, 21 insertions, 7 deletions
@@ -37,7 +37,8 @@ <jmckenty@gmail.com> <jmckenty@yyj-dhcp171.corp.flock.com> <jmckenty@gmail.com> <joshua.mckenty@nasa.gov> <johannes.erdfelt@rackspace.com> <johannes@compute3.221.st> -<josh@jk0.org> <josh.kearney@rackspace.com> +<josh.kearney@pistoncloud.com> <josh.kearney@rackspace.com> +<josh.kearney@pistoncloud.com> <josh@jk0.org> <justin@fathomdb.com> <justinsb@justinsb-desktop> <kshileev@gmail.com> <kshileev@griddynamics.com> <lorin@nimbisservices.com> <lorin@isi.edu> diff --git a/nova/config.py b/nova/config.py index 5755009e1..d1878365b 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 8bf6df8b5..2ee0bd36f 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 c94cd2c3e..640080a43 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): |