summaryrefslogtreecommitdiff
path: root/src/local
diff options
context:
space:
mode:
Diffstat (limited to 'src/local')
-rw-r--r--src/local/rz-mux/rz-mux-tool.py37
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)