Refactor the way memcached_servers config is put in the templates

Instead of formatting the string with Jinja2, it's formatted with python
and passed to the template as a string.
This commit is contained in:
Felipe Reyes 2014-12-16 11:08:58 -03:00
parent fd40c349b2
commit ec00658edf
5 changed files with 7 additions and 6 deletions

View File

@ -321,5 +321,6 @@ class InstanceConsoleContext(context.OSContextGenerator):
level='WARNING')
servers = []
ctxt['memcached_servers'] = servers
ctxt['memcached_servers'] = ','.join(
["%s:%s" % (s['private-address'], s['port']) for s in servers])
return ctxt

View File

@ -22,7 +22,7 @@ auth_strategy=keystone
compute_driver=libvirt.LibvirtDriver
{% if memcached_servers %}
memcached_servers = {%for s in memcached_servers %}{% if loop.index0 != 0 %},{% endif %}{{s['private-address']}}:{{s['port']}}{% endfor %}
memcached_servers = {{ memcached_servers }}
{% endif %}
{% if keystone_ec2_url -%}

View File

@ -28,7 +28,7 @@ use_syslog={{ use_syslog }}
my_ip = {{ host_ip }}
{% if memcached_servers %}
memcached_servers = {%for s in memcached_servers %}{% if loop.index0 != 0 %},{% endif %}{{s['private-address']}}:{{s['port']}}{% endfor %}
memcached_servers = {{ memcached_servers }}
{% endif %}
{% if keystone_ec2_url -%}

View File

@ -39,7 +39,7 @@ use_syslog={{ use_syslog }}
my_ip = {{ host_ip }}
{% if memcached_servers %}
memcached_servers = {%for s in memcached_servers %}{% if loop.index0 != 0 %},{% endif %}{{s['private-address']}}:{{s['port']}}{% endfor %}
memcached_servers = {{ memcached_servers }}
{% endif %}
{% if keystone_ec2_url -%}

View File

@ -55,7 +55,7 @@ class NovaComputeContextTests(CharmTestCase):
self.related_units.return_value = 'memcached/0'
instance_console = context.InstanceConsoleContext()
os_release.return_value = 'icehouse'
self.assertEqual({'memcached_servers': []},
self.assertEqual({'memcached_servers': ''},
instance_console())
@mock.patch.object(utils, 'os_release')
@ -83,5 +83,5 @@ class NovaComputeContextTests(CharmTestCase):
instance_console = context.InstanceConsoleContext()
os_release.return_value = 'icehouse'
self.maxDiff = None
self.assertEqual({'memcached_servers': memcached_servers},
self.assertEqual({'memcached_servers': "%s:11211" % (formated_ip, )},
instance_console())