From f6cba2aaa666376e0cbc0f4a3794d18fe65a0486 Mon Sep 17 00:00:00 2001 From: Marco Mariani <marco.mariani@nexedi.com> Date: Thu, 12 Jun 2014 15:47:47 +0200 Subject: [PATCH] abilian: moved redis to ipv4 --- slapos/recipe/redis/__init__.py | 42 ++++++++++++++----- slapos/recipe/redis/template/redis.conf.in | 7 ++-- .../extranet_spr/instance-redis.cfg.in | 2 + software/abilian/extranet_spr/instance.cfg.in | 4 +- software/abilian/extranet_spr/software.cfg | 4 +- 5 files changed, 42 insertions(+), 17 deletions(-) diff --git a/slapos/recipe/redis/__init__.py b/slapos/recipe/redis/__init__.py index 1cd2265d6..9fd3f4a78 100644 --- a/slapos/recipe/redis/__init__.py +++ b/slapos/recipe/redis/__init__.py @@ -24,7 +24,6 @@ # Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. # ############################################################################## -import os from slapos.recipe.librecipe import GenericBaseRecipe @@ -49,15 +48,38 @@ class Recipe(GenericBaseRecipe): else: requirepass = "# requirepass foobared" + if self.options.get('ipv6'): + bind6 = "bind6 %s" % self.options['ipv6'] + else: + bind6 = "# bind6 <address>" + + if self.options.get('ipv4'): + bind = "bind %s" % self.options['ipv4'] + else: + bind = "# bind <address>" + + if self.options.get('port6'): + port6 = "port6 %s" % self.options['port6'] + else: + port6 = "# port6 6379" + + if self.options.get('port'): + port = "port %s" % self.options['port'] + else: + port = "# port 6379" + config_file = self.options['config_file'].strip() - configuration = dict(pid_file=self.options['pid_file'], - port=self.options['port'], - ipv6=self.options['ipv6'], - server_dir=self.options['server_dir'], - log_file=self.options['log_file'], - masterauth=masterauth, - requirepass=requirepass - ) + configuration = { + 'pid_file': self.options['pid_file'], + 'bind6': bind6, + 'bind': bind, + 'port6': port6, + 'port': port, + 'server_dir': self.options['server_dir'], + 'log_file': self.options['log_file'], + 'masterauth': masterauth, + 'requirepass': requirepass + } config = self.createFile(config_file, self.substituteTemplate(self.getTemplateFilename('redis.conf.in'), @@ -78,7 +100,7 @@ class Recipe(GenericBaseRecipe): '%s.promise.main' % __name__, { 'host': self.options['ipv6'], - 'port': self.options['port'], + 'port': self.options['port6'], 'requirepass_file': self.options.get('promise_requirepass_file') } ) diff --git a/slapos/recipe/redis/template/redis.conf.in b/slapos/recipe/redis/template/redis.conf.in index 569a5e0c2..338b03cf6 100644 --- a/slapos/recipe/redis/template/redis.conf.in +++ b/slapos/recipe/redis/template/redis.conf.in @@ -22,15 +22,16 @@ pidfile %(pid_file)s # Accept connections on the specified port, default is 6379. # If port 0 is specified Redis will not listen on a TCP socket. -port6 %(port)s -port 0 +%(port6)s +%(port)s # If you want you can bind a single interface, if the bind option is not # specified all the interfaces will listen for incoming connections. # Bind can also be an IPv6 address # bind 127.0.0.1 # bind ::1 -bind6 %(ipv6)s +%(bind6)s +%(bind)s # Specify the path for the unix socket that will be used to listen for # incoming connections. There is no default, so Redis will not listen diff --git a/software/abilian/extranet_spr/instance-redis.cfg.in b/software/abilian/extranet_spr/instance-redis.cfg.in index e1d2bd41c..3180dc26a 100644 --- a/software/abilian/extranet_spr/instance-redis.cfg.in +++ b/software/abilian/extranet_spr/instance-redis.cfg.in @@ -15,6 +15,8 @@ bytes = 16 recipe = slapos.cookbook:redis.server server_bin = ${redis:location}/bin/redis-server ipv6 = $${instance-parameters:ipv6-random} +port6 = 6379 +ipv4 = $${instance-parameters:ipv4-random} port = 6379 pid_file = $${directories:run}/redis.pid server_dir = $${directories:srv} diff --git a/software/abilian/extranet_spr/instance.cfg.in b/software/abilian/extranet_spr/instance.cfg.in index 66a34eca2..66542ee28 100644 --- a/software/abilian/extranet_spr/instance.cfg.in +++ b/software/abilian/extranet_spr/instance.cfg.in @@ -45,8 +45,8 @@ cert = $${slap-connection:cert-file} recipe = slapos.cookbook:jsondump json-output = $${buildout:directory}/abilian-config-extra.json UNOCONV_LOCATION = ${unoconv-repository:location}/unoconv -BROKER_URL = redis://:$${redis-requirepass:passwd}@[$${redis:ipv6}]:$${redis:port}/2 -CELERY_RESULT_BACKEND = redis://:$${redis-requirepass:passwd}@[$${redis:ipv6}]:$${redis:port}/2 +BROKER_URL = redis://:$${redis-requirepass:passwd}@[$${redis:ipv4}]:$${redis:port}/2 +CELERY_RESULT_BACKEND = redis://:$${redis-requirepass:passwd}@[$${redis:ipv4}]:$${redis:port}/2 SECRET_KEY = $${csrf-secret-key:passwd} INSTANCE_HOST = $${instance-parameters:ipv6-random} diff --git a/software/abilian/extranet_spr/software.cfg b/software/abilian/extranet_spr/software.cfg index 26c69806d..f6d06d4ec 100644 --- a/software/abilian/extranet_spr/software.cfg +++ b/software/abilian/extranet_spr/software.cfg @@ -229,7 +229,7 @@ configure-command = recipe = slapos.recipe.template url = ${:_profile_base_location_}/instance.cfg.in output = ${buildout:directory}/instance.cfg -md5sum = 23167d761e13d9eb41e381beecfc7664 +md5sum = 3b6105aa9335141c2d73871bdde80e9d mode = 0644 [instance-postgres] @@ -243,7 +243,7 @@ mode = 0644 recipe = slapos.recipe.template url = ${:_profile_base_location_}/instance-redis.cfg.in output = ${buildout:directory}/instance-redis.cfg -md5sum = e0f32e25d059ec67dfccd132cbb6095e +md5sum = a322af67bcfd73f1782494c147499071 mode = 0644 [instance-extranet] -- 2.30.9