Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Support
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in / Register
Toggle navigation
slapos
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
Sebastian
slapos
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
Show 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