Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Support
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in / Register
Toggle navigation
slapos-caddy
Project overview
Project overview
Details
Activity
Releases
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Issues
0
Issues
0
List
Boards
Labels
Milestones
Merge Requests
0
Merge Requests
0
Analytics
Analytics
Repository
Value Stream
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Create a new issue
Commits
Issue Boards
Open sidebar
Guillaume Hervier
slapos-caddy
Commits
c1f24e68
Commit
c1f24e68
authored
Dec 02, 2015
by
Alain Takoudjou
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
kvm: fix bug when nat-rules parameter is empty, set nat-rules empty by default for kvm-cluster
parent
58a4f0db
Changes
4
Hide whitespace changes
Inline
Side-by-side
Showing
4 changed files
with
21 additions
and
10 deletions
+21
-10
software/kvm/common.cfg
software/kvm/common.cfg
+3
-3
software/kvm/instance-kvm-cluster.cfg.jinja2.in
software/kvm/instance-kvm-cluster.cfg.jinja2.in
+2
-1
software/kvm/instance-kvm.cfg.jinja2
software/kvm/instance-kvm.cfg.jinja2
+12
-5
software/kvm/template/template-kvm-run.in
software/kvm/template/template-kvm-run.in
+4
-1
No files found.
software/kvm/common.cfg
View file @
c1f24e68
...
@@ -98,7 +98,7 @@ mode = 0644
...
@@ -98,7 +98,7 @@ mode = 0644
recipe = hexagonit.recipe.download
recipe = hexagonit.recipe.download
url = ${:_profile_base_location_}/instance-kvm.cfg.jinja2
url = ${:_profile_base_location_}/instance-kvm.cfg.jinja2
mode = 644
mode = 644
md5sum =
4056df213786fd87b60efd3d6f1f2bec
md5sum =
0df2380dc0151a0669804891fdfe07d1
download-only = true
download-only = true
on-update = true
on-update = true
...
@@ -106,7 +106,7 @@ on-update = true
...
@@ -106,7 +106,7 @@ on-update = true
recipe = hexagonit.recipe.download
recipe = hexagonit.recipe.download
url = ${:_profile_base_location_}/instance-kvm-cluster.cfg.jinja2.in
url = ${:_profile_base_location_}/instance-kvm-cluster.cfg.jinja2.in
mode = 644
mode = 644
md5sum =
8e84c7a4e7be009021243c14707e0a1e
md5sum =
23235b16e2f4deb00a1bd5bf0846daaf
download-only = true
download-only = true
on-update = true
on-update = true
...
@@ -184,7 +184,7 @@ recipe = hexagonit.recipe.download
...
@@ -184,7 +184,7 @@ recipe = hexagonit.recipe.download
url = ${:_profile_base_location_}/template/template-kvm-run.in
url = ${:_profile_base_location_}/template/template-kvm-run.in
mode = 644
mode = 644
filename = template-kvm-run.in
filename = template-kvm-run.in
md5sum =
38265d52fdc03589081cc7dd13999020
md5sum =
42e5c653780fdb86b50aa89d73814934
download-only = true
download-only = true
on-update = true
on-update = true
...
...
software/kvm/instance-kvm-cluster.cfg.jinja2.in
View file @
c1f24e68
...
@@ -51,7 +51,7 @@ config-cpu-count = {{ dumps(kvm_parameter_dict.get('cpu-count', 1)) }}
...
@@ -51,7 +51,7 @@ config-cpu-count = {{ dumps(kvm_parameter_dict.get('cpu-count', 1)) }}
config-cpu-options = {{ dumps(kvm_parameter_dict.get('cpu-options', '')) }}
config-cpu-options = {{ dumps(kvm_parameter_dict.get('cpu-options', '')) }}
config-numa = {{ dumps(kvm_parameter_dict.get('numa', '')) }}
config-numa = {{ dumps(kvm_parameter_dict.get('numa', '')) }}
{% set nat_rules_list = kvm_parameter_dict.get('nat-rules', [
22, 80, 443
]) -%}
{% set nat_rules_list = kvm_parameter_dict.get('nat-rules', []) -%}
config-nat-rules = {{ nat_rules_list | join(' ') }}
config-nat-rules = {{ nat_rules_list | join(' ') }}
config-publish-nat-url = True
config-publish-nat-url = True
config-use-nat = {{ use_nat }}
config-use-nat = {{ use_nat }}
...
@@ -76,6 +76,7 @@ config-document-host = ${apache-conf:ip}
...
@@ -76,6 +76,7 @@ config-document-host = ${apache-conf:ip}
config-document-port = ${apache-conf:port}
config-document-port = ${apache-conf:port}
config-document-path = ${hash-code:passwd}
config-document-path = ${hash-code:passwd}
config-keyboard-layout-language = {{ dumps(kvm_parameter_dict.get('keyboard-layout-language', '')) }}
config-keyboard-layout-language = {{ dumps(kvm_parameter_dict.get('keyboard-layout-language', '')) }}
config-type = cluster
{% set authorized_source_list = slapparameter_dict.get('fw-authorized-sources', []) -%}
{% set authorized_source_list = slapparameter_dict.get('fw-authorized-sources', []) -%}
{% set rejected_source_list = slapparameter_dict.get('fw-reject-sources', []) -%}
{% set rejected_source_list = slapparameter_dict.get('fw-reject-sources', []) -%}
...
...
software/kvm/instance-kvm.cfg.jinja2
View file @
c1f24e68
...
@@ -4,10 +4,19 @@
...
@@ -4,10 +4,19 @@
{% set name = slapparameter_dict.get('name', 'localhost') -%}
{% set name = slapparameter_dict.get('name', 'localhost') -%}
{% set monitor = slapparameter_dict.get('enable-monitor', 'True').lower() -%}
{% set monitor = slapparameter_dict.get('enable-monitor', 'True').lower() -%}
{% set disable_ansible_promise = slapparameter_dict.get('disable-ansible-promise', 'False').lower() -%}
{% set disable_ansible_promise = slapparameter_dict.get('disable-ansible-promise', 'False').lower() -%}
{% set instance_type = slapparameter_dict.get('type', 'standalone') -%}
{% set nat_rule_list = slapparameter_dict.get('nat-rules', '22 80 443') -%}
{% set frontend_software_type = 'default' -%}
{% set frontend_software_type = 'default' -%}
{% set extends_list = [] -%}
{% set extends_list = [] -%}
{% set part_list = [] -%}
{% set part_list = [] -%}
{% if instance_type == 'cluster' -%}
{% set nat_rule_list = slapparameter_dict.get('nat-rules', '') %}
{% endif -%}
{% if not nat_rule_list or not nat_rule_list.strip() -%}
{% set nat_rule_list = '' %}
{% endif -%}
{% if monitor -%}
{% if monitor -%}
{% do extends_list.append(template_monitor) -%}
{% do extends_list.append(template_monitor) -%}
{% endif -%}
{% endif -%}
...
@@ -81,7 +90,7 @@ tap-mac-address = ${create-tap-mac:mac-address}
...
@@ -81,7 +90,7 @@ tap-mac-address = ${create-tap-mac:mac-address}
use-tap = ${slap-parameter:use-tap}
use-tap = ${slap-parameter:use-tap}
use-nat = ${slap-parameter:use-nat}
use-nat = ${slap-parameter:use-nat}
nat-rules =
${slap-parameter:nat-rules
}
nat-rules =
{{ nat_rule_list }
}
enable-vhost = ${slap-parameter:enable-vhost}
enable-vhost = ${slap-parameter:enable-vhost}
virtual-hard-drive-url = ${slap-parameter:virtual-hard-drive-url}
virtual-hard-drive-url = ${slap-parameter:virtual-hard-drive-url}
...
@@ -142,8 +151,7 @@ ipv6 = ${slap-network-information:global-ipv6}
...
@@ -142,8 +151,7 @@ ipv6 = ${slap-network-information:global-ipv6}
wrapper-path = ${directory:services}/6tunnel-${:ipv6-port}
wrapper-path = ${directory:services}/6tunnel-${:ipv6-port}
command-line = {{ sixtunnel_executable_location }} -6 -4 -d -l ${:ipv6} ${:ipv6-port} ${:ipv4} ${:ipv4-port}
command-line = {{ sixtunnel_executable_location }} -6 -4 -d -l ${:ipv6} ${:ipv6-port} ${:ipv4} ${:ipv4-port}
{% if use_nat == 'true' -%}
{% if use_nat == 'true' and nat_rule_list -%}
{% set nat_rule_list = slapparameter_dict.get('nat-rules', '22 80 443') %}
{% for port in nat_rule_list.split(' ') -%}
{% for port in nat_rule_list.split(' ') -%}
{% set external_port = 10000 + port|int() -%}
{% set external_port = 10000 + port|int() -%}
{% set section_name = '6tunnel-' ~ external_port -%}
{% set section_name = '6tunnel-' ~ external_port -%}
...
@@ -313,7 +321,7 @@ source = ${directory:public}
...
@@ -313,7 +321,7 @@ source = ${directory:public}
[monitor-parameters]
[monitor-parameters]
port = 8026
port = 8026
{% if
slapparameter_dict.get('document-host', '') and slapparameter_dict.get('document-port', '')
-%}
{% if
instance_type == 'cluster'
-%}
# XXX - Set frontend software type to 'custom-personal' by default for cluster instance
# XXX - Set frontend software type to 'custom-personal' by default for cluster instance
{% set frontend_software_type = 'custom-personal' -%}
{% set frontend_software_type = 'custom-personal' -%}
{% endif -%}
{% endif -%}
...
@@ -350,7 +358,6 @@ maximum-extra-disk-amount = {{ disk_number }}
...
@@ -350,7 +358,6 @@ maximum-extra-disk-amount = {{ disk_number }}
{% set iface = 'eth1' -%}
{% set iface = 'eth1' -%}
# Publish NAT port mapping status
# Publish NAT port mapping status
# XXX: hardcoded value from [slap-parameter]
# XXX: hardcoded value from [slap-parameter]
{% set nat_rule_list = slapparameter_dict.get('nat-rules', '22 80 443') %}
{% for port in nat_rule_list.split(' ') -%}
{% for port in nat_rule_list.split(' ') -%}
{% set external_port = 10000 + port|int() -%}
{% set external_port = 10000 + port|int() -%}
nat-rule-port-{{port}} = ${slap-network-information:global-ipv6} : ${6tunnel-{{external_port}}:ipv6-port}
nat-rule-port-{{port}} = ${slap-network-information:global-ipv6} : ${6tunnel-{{external_port}}:ipv6-port}
...
...
software/kvm/template/template-kvm-run.in
View file @
c1f24e68
...
@@ -217,8 +217,11 @@ numa_parameter = []
...
@@ -217,8 +217,11 @@ numa_parameter = []
number = -1
number = -1
if use_nat == 'true':
if use_nat == 'true':
number += 1
number += 1
rules = 'user,id=lan%s,' % number + ','.join('hostfwd=tcp:%s:%s-:%s' % (listen_ip,
rules = 'user,id=lan%s' % number
if nat_rules:
rules += ',' + ','.join('hostfwd=tcp:%s:%s-:%s' % (listen_ip,
int(port) + 10000, port) for port in nat_rules.split())
int(port) + 10000, port) for port in nat_rules.split())
if httpd_port > 0:
if httpd_port > 0:
rules += ',guestfwd=tcp:10.0.2.100:80-cmd:%s %s %s' % (netcat_bin,
rules += ',guestfwd=tcp:10.0.2.100:80-cmd:%s %s %s' % (netcat_bin,
listen_ip, httpd_port)
listen_ip, httpd_port)
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment