From 14fbcd9231a89f5157135c962ee9b9e1a868b374 Mon Sep 17 00:00:00 2001 From: Nicolas Wavrant <nicolas.wavrant@tiolive.com> Date: Wed, 11 Sep 2013 15:45:30 +0200 Subject: [PATCH] slaprunner: slapos.cfg is now deployed by a buildout section (in order to kick the recipe) --- slapos/recipe/slaprunner/__init__.py | 8 ++-- software/slaprunner/common.cfg | 18 ++++++++- software/slaprunner/instance-runner.cfg | 32 +++++++++++++++ software/slaprunner/instance.cfg | 2 +- software/slaprunner/software.cfg | 2 +- software/slaprunner/template/slapos.cfg.in.j2 | 40 +++++++++++++++++++ 6 files changed, 94 insertions(+), 8 deletions(-) create mode 100644 software/slaprunner/template/slapos.cfg.in.j2 diff --git a/slapos/recipe/slaprunner/__init__.py b/slapos/recipe/slaprunner/__init__.py index f49f1a99f..235f5813c 100644 --- a/slapos/recipe/slaprunner/__init__.py +++ b/slapos/recipe/slaprunner/__init__.py @@ -76,10 +76,10 @@ class Recipe(GenericBaseRecipe): cloud9_url=self.cloud9_url ) - config_file = self.createFile(self.options['slapos.cfg'], - self.substituteTemplate(self.getTemplateFilename('slapos.cfg.in'), - configuration)) - path_list.append(config_file) + #config_file = self.createFile(self.options['slapos.cfg'], + # self.substituteTemplate(self.getTemplateFilename('slapos.cfg.in'), + # configuration)) + config_file = configuration['etc_dir'] + 'slapos.cfg' environment = dict( PATH=os.path.dirname( diff --git a/software/slaprunner/common.cfg b/software/slaprunner/common.cfg index 30b7ffb04..e5a14be87 100644 --- a/software/slaprunner/common.cfg +++ b/software/slaprunner/common.cfg @@ -25,6 +25,11 @@ parts = instance-runner-import instance-runner-export slapos-cookbook + slapos-cfg-template + +develop = + /opt/slapos.toolbox/ + /opt/slaprunner/ # XXX: we have to manually add this for resilience rdiff-backup @@ -76,14 +81,14 @@ command = recipe = slapos.recipe.template url = ${:_profile_base_location_}/instance.cfg output = ${buildout:directory}/template.cfg -md5sum = 92a2f3bcd5ff79e3b61ca4a8bacb73ec +#md5sum = 92a2f3bcd5ff79e3b61ca4a8bacb73ec mode = 0644 [template-runner] recipe = slapos.recipe.template url = ${:_profile_base_location_}/instance-runner.cfg output = ${buildout:directory}/template-runner.cfg -md5sum = bcd1ee4dd126d2c6e9461f7753fc83b7 +#md5sum = bcd1ee4dd126d2c6e9461f7753fc83b7 mode = 0644 [instance-runner-import] @@ -129,6 +134,15 @@ filename = launcher.in mode = 0644 location = ${buildout:parts-directory}/${:_buildout_section_name_} +[slapos-cfg-template] +recipe = hexagonit.recipe.download +url = ${:_profile_base_location_}/template/${:filename} +#md5sum = +location = ${buildout:parts-directory}/${:_buildout_section_name_} +filename = slapos.cfg.in.j2 +download-only = true +mode = 0644 + [eggs] recipe = z3c.recipe.scripts eggs = diff --git a/software/slaprunner/instance-runner.cfg b/software/slaprunner/instance-runner.cfg index a6d5d4cdf..031742cad 100644 --- a/software/slaprunner/instance-runner.cfg +++ b/software/slaprunner/instance-runner.cfg @@ -21,6 +21,7 @@ parts = request-cloud9-frontend node-frontend-promise nginx-promise + slapos-cfg eggs-directory = ${buildout:eggs-directory} develop-eggs-directory = ${buildout:develop-eggs-directory} @@ -394,3 +395,34 @@ debug = false cloud9-frontend-domain = frontend-domain = +[slapos-cfg] +recipe = slapos.recipe.template:jinja2 +template = ${slapos-cfg-template:location}/${slapos-cfg-template:filename} +rendered = $${slaprunner:slapos.cfg} +mode = 700 +supd-temp-var = $${slaprunner:instance-directory}/$${directory:etc}/supervisord.conf +prox-db-var = $${slaprunner:working-directory}/proxy.db +context = + key software_root runnerdirectory:software-root + key instance_root runnerdirectory:instance-root + key ipv4 slaprunner:ipv4 + key proxy_port slaprunner:proxy_port + key partition_amount slaprunner:partition-amount + key slapgrid_sr slaprunner:slapgrid_sr + key slapgrid_cp slaprunner:slapgrid_cp + key slapproxy slaprunner:slapproxy + key supervisor slaprunner:supervisor + key supervisord_config slapos-cfg:supd-temp-var + key runner_workdir slaprunner:working-directory + key runner_port slaprunner:runner_port + key ipv6 slaprunner:ipv6 + key etc_dir slaprunner:etc_dir + key proxy_host slaprunner:ipv4 + key proxy_database slapos-cfg:prox-db-var + key ssh_client slaprunner:ssh_client + key public_key slaprunner:public_key + key private_key slaprunner:private_key + key git slaprunner:git-binary + key cloud9_url slaprunner:cloud9-url + key run_dir slaprunner:run_dir + key log_dir slaprunner:log_dir diff --git a/software/slaprunner/instance.cfg b/software/slaprunner/instance.cfg index deb88f91c..4ef71ccee 100644 --- a/software/slaprunner/instance.cfg +++ b/software/slaprunner/instance.cfg @@ -50,4 +50,4 @@ computer = $${slap-connection:computer-id} partition = $${slap-connection:partition-id} url = $${slap-connection:server-url} key = $${slap-connection:key-file} -cert = $${slap-connection:cert-file} \ No newline at end of file +cert = $${slap-connection:cert-file} diff --git a/software/slaprunner/software.cfg b/software/slaprunner/software.cfg index 3b453c0d5..901c317dd 100644 --- a/software/slaprunner/software.cfg +++ b/software/slaprunner/software.cfg @@ -69,7 +69,7 @@ lock-file = 2.0 rdiff-backup = 1.0.5 slapos.recipe.cmmi = 0.2 slapos.recipe.download = 1.0.dev-r4053 -slapos.toolbox = 0.35.1 +#slapos.toolbox = 0.35.1 slapos.cookbook = 0.78.5 cliff = 1.4 cmd2 = 0.6.6 diff --git a/software/slaprunner/template/slapos.cfg.in.j2 b/software/slaprunner/template/slapos.cfg.in.j2 new file mode 100644 index 000000000..9b5ee5541 --- /dev/null +++ b/software/slaprunner/template/slapos.cfg.in.j2 @@ -0,0 +1,40 @@ +[slapos] +software_root = {{software_root}} +instance_root = {{instance_root}} +master_url = http://{{ipv4}}:{{proxy_port}} +computer_id = slaprunner +maximal_delay = 0 + +[slapformat] +partition_amount = {{partition_amount}} + +[slaprunner] +slapgrid_sr = {{slapgrid_sr}} +slapgrid_cp = {{slapgrid_cp}} +slapproxy = {{slapproxy}} +supervisor = {{supervisor}} +supervisord_config = {{supervisord_config}} +runner_workdir = {{runner_workdir}} +runner_host = {{ipv4}} +runner_port = {{runner_port}} +ipv4_address = {{ipv4}} +ipv6_address = {{ipv6}} +etc_dir = {{etc_dir}} +run_dir = {{run_dir}} +log_dir = {{log_dir}} + +[slapproxy] +host = {{proxy_host}} +port = {{proxy_port}} +database_uri = {{proxy_database}} + +[sshkeys_authority] +ssh_client = {{ssh_client}} +public_key = {{public_key}} +private_key = {{private_key}} + +[gitclient] +git = {{git}} + +[cloud9_IDE] +cloud9 = {{cloud9_url}} -- 2.30.9