diff options
| author | LV-426 <lv-426@taproot.org.il> | 2015-04-29 17:59:03 +0300 |
|---|---|---|
| committer | LV-426 <lv-426@taproot.org.il> | 2015-04-29 17:59:03 +0300 |
| commit | 04967948b5151f45f445f960ac52cfe605391661 (patch) | |
| tree | 516265e2b7bb73d1637b7fe515ab255590b6e5c4 | |
| parent | 51f525e8424f445a4daeb5cdeba7ceb89cd9ad02 (diff) | |
rz-mux-tool: use cfg_port_map
| -rw-r--r-- | src/local/rz-mux/rz-mux-tool.py | 37 |
1 files changed, 24 insertions, 13 deletions
diff --git a/src/local/rz-mux/rz-mux-tool.py b/src/local/rz-mux/rz-mux-tool.py index 9c5ad9c0..696952fe 100644 --- a/src/local/rz-mux/rz-mux-tool.py +++ b/src/local/rz-mux/rz-mux-tool.py @@ -29,22 +29,21 @@ class Template_Task(): print('rz-mux-tool: generated: %s' % (f_out.name)) -def gen_dom_config__neo4j(domain_name): +def gen_dom_config__neo4j(domain_name, port_map): """ Generate domain-specific neo4j configuration file set """ neo4j_template_path_prefix = 'neo4j-conf-template.d' - target_dir = os.path.join('etc/neo4j/instance-conf.d', args.domain) - port_seed = 10000 + random.randint(1000, 9990) + target_dir = os.path.join('etc/neo4j/mux-conf.d', args.domain) conf_task_set = [Template_Task(os.path.join(neo4j_template_path_prefix, 'neo4j-server.properties.jinja'), os.path.join(install_prefix, target_dir, 'neo4j-server.properties'), - {'org_neo4j_server_webserver_https_port': port_seed, - 'org_neo4j_server_webserver_port': port_seed + 1}), + {'org_neo4j_server_webserver_https_port': port_map.neo4j_port__https, + 'org_neo4j_server_webserver_port': port_map.neo4j_port__http}), Template_Task(os.path.join(neo4j_template_path_prefix, 'neo4j.properties.jinja'), os.path.join(install_prefix, target_dir, 'neo4j.properties'), - {'remote_shell_port': port_seed + 2}), + {'remote_shell_port': port_map.neo4j_port__shell}), Template_Task(os.path.join(neo4j_template_path_prefix, 'neo4j-service_deomain-init-script.jinja'), os.path.join(install_prefix, 'etc/init.d/', 'neo4j-service__%s' % (domain_name)), {'domain_name': domain_name}), @@ -53,7 +52,7 @@ def gen_dom_config__neo4j(domain_name): for conf_task_obj in conf_task_set: conf_task_obj.do_exec() -def gen_dom_config__apache(domain_name): +def gen_dom_config__apache(domain_name, port_map): """ Generate domain-specific neo4j configuration file set """ @@ -62,8 +61,9 @@ def gen_dom_config__apache(domain_name): domain_fqdn = '%s.%s' % (domain_name, rhizi_top_domain_name) conf_task_set = [Template_Task(os.path.join(apache_template_path_prefix, 'x.%s.conf' % (rhizi_top_domain_name)), - os.path.join(install_prefix, 'etc/apache/sites-available', domain_fqdn), - {'domain_name': domain_name}), + os.path.join(install_prefix, 'etc/apache2/sites-available', domain_fqdn + '.conf'), + {'domain_name': domain_name, + 'rz_port__http': port_map.rz_port__http}), ] for conf_task_obj in conf_task_set: @@ -79,11 +79,22 @@ if __name__ == '__main__': p = argparse.ArgumentParser(description='rz-cli tool') p.add_argument('-d', '--domain', required=True, help='target domain name') p.add_argument('--install-prefix', default='/', help='install dir path prefix, default=\'/\'') - p.add_argument('--template-dir', default='conf-template.d', help='path to template dir') # default devied from installed pkg layout + p.add_argument('--template-dir', default='.', help='path to template dir') # default devied from installed pkg layout args = p.parse_args() + env = Environment(loader=FileSystemLoader(args.template_dir)) install_prefix = args.install_prefix + domain_name = args.domain - env = Environment(loader=FileSystemLoader(args.template_dir)) - gen_dom_config__neo4j(domain_name=args.domain) - gen_dom_config__apache(domain_name=args.domain) + # + # generate optimistic-collision-avoiding instance port map + # + port_seed = 40000 + random.randint(1000, 9990) + cfg_port_map = Config__port_map() + setattr(cfg_port_map, 'neo4j_port__https', port_seed) # REST API port + setattr(cfg_port_map, 'neo4j_port__http', port_seed + 1) + setattr(cfg_port_map, 'neo4j_port__shell', port_seed + 2) + setattr(cfg_port_map, 'rz_port__http', 48000 + port_seed % 1000) + + gen_dom_config__neo4j(domain_name, cfg_port_map) + gen_dom_config__rhizi(domain_name, cfg_port_map) |
