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
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Analytics
Analytics
CI / CD
Repository
Value Stream
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
Léo-Paul Géneau
slapos
Commits
375ac063
Commit
375ac063
authored
May 06, 2020
by
Thomas Gambier
🚴🏼
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
software/kvm: use real boolean in jinja template
parent
f6a69362
Changes
3
Show whitespace changes
Inline
Side-by-side
Showing
3 changed files
with
31 additions
and
32 deletions
+31
-32
software/kvm/buildout.hash.cfg
software/kvm/buildout.hash.cfg
+2
-2
software/kvm/instance-kvm-cluster.cfg.jinja2.in
software/kvm/instance-kvm-cluster.cfg.jinja2.in
+3
-3
software/kvm/instance-kvm.cfg.jinja2
software/kvm/instance-kvm.cfg.jinja2
+26
-27
No files found.
software/kvm/buildout.hash.cfg
View file @
375ac063
...
@@ -19,11 +19,11 @@ md5sum = 092405e2fba77c22d4dc8cefcab677d8
...
@@ -19,11 +19,11 @@ md5sum = 092405e2fba77c22d4dc8cefcab677d8
[template-kvm]
[template-kvm]
filename = instance-kvm.cfg.jinja2
filename = instance-kvm.cfg.jinja2
md5sum =
ac3c51eb05f56c5bbea8dc7ee5e8bbc9
md5sum =
b5a2428b9e74462cf3d085adbd457b38
[template-kvm-cluster]
[template-kvm-cluster]
filename = instance-kvm-cluster.cfg.jinja2.in
filename = instance-kvm-cluster.cfg.jinja2.in
md5sum =
6f4c60f4366728021a6e438ad3dc6956
md5sum =
38feab9631bb6ff624edd4acc0d7833c
[template-kvm-resilient]
[template-kvm-resilient]
filename = instance-kvm-resilient.cfg.jinja2
filename = instance-kvm-resilient.cfg.jinja2
...
...
software/kvm/instance-kvm-cluster.cfg.jinja2.in
View file @
375ac063
...
@@ -40,7 +40,7 @@ config-use-ipv6 = {{ dumps(slapparameter_dict.get('use-ipv6', False)) }}
...
@@ -40,7 +40,7 @@ config-use-ipv6 = {{ dumps(slapparameter_dict.get('use-ipv6', False)) }}
# Request kvm instances
# Request kvm instances
{% for instance_name, kvm_parameter_dict in slapparameter_dict.get('kvm-partition-dict', {'kvm-default': {}}).items() -%}
{% for instance_name, kvm_parameter_dict in slapparameter_dict.get('kvm-partition-dict', {'kvm-default': {}}).items() -%}
{% set section = 'request-' ~ instance_name -%}
{% set section = 'request-' ~ instance_name -%}
{% set use_nat = kvm_parameter_dict.get('use-nat',
'True'
) -%}
{% set use_nat = kvm_parameter_dict.get('use-nat',
True
) -%}
[{{ section }}]
[{{ section }}]
<= request-common
<= request-common
software-type = kvm
software-type = kvm
...
@@ -97,7 +97,7 @@ config-auto-ballooning = {{ dumps(kvm_parameter_dict.get('auto-ballooning', True
...
@@ -97,7 +97,7 @@ config-auto-ballooning = {{ dumps(kvm_parameter_dict.get('auto-ballooning', True
{% set nat_rules_list = kvm_parameter_dict.get('nat-rules', []) -%}
{% set nat_rules_list = kvm_parameter_dict.get('nat-rules', []) -%}
{{ setconfig('nat-rules', nat_rules_list | join(' ')) }}
{{ setconfig('nat-rules', nat_rules_list | join(' ')) }}
config-publish-nat-url = True
config-publish-nat-url = True
config-use-nat = {{
use_nat
}}
config-use-nat = {{
dumps(use_nat)
}}
config-use-tap = {{ dumps(kvm_parameter_dict.get('use-tap', True)) }}
config-use-tap = {{ dumps(kvm_parameter_dict.get('use-tap', True)) }}
config-nat-restrict-mode = {{ dumps(kvm_parameter_dict.get('nat-restrict-mode', False)) }}
config-nat-restrict-mode = {{ dumps(kvm_parameter_dict.get('nat-restrict-mode', False)) }}
config-enable-vhost = {{ dumps(kvm_parameter_dict.get('enable-vhost', False)) }}
config-enable-vhost = {{ dumps(kvm_parameter_dict.get('enable-vhost', False)) }}
...
@@ -146,7 +146,7 @@ return =
...
@@ -146,7 +146,7 @@ return =
url-additional
url-additional
{% endif %}
{% endif %}
backend-url
backend-url
{% if
str(use_nat).lower() == 'true'
-%}
{% if
use_nat
-%}
{% for port in nat_rules_list -%}
{% for port in nat_rules_list -%}
{% if ':' in port -%}
{% if ':' in port -%}
{% set proto, port = port.split(':') -%}
{% set proto, port = port.split(':') -%}
...
...
software/kvm/instance-kvm.cfg.jinja2
View file @
375ac063
{% set additional_frontend = (slapparameter_dict.get('frontend-additional-instance-guid', '').strip() != '') %}
{% set additional_frontend = (slapparameter_dict.get('frontend-additional-instance-guid', '').strip() != '') %}
{% set enable_http = slapparameter_dict.get('enable-http-server',
'False').lower(
) -%}
{% set enable_http = slapparameter_dict.get('enable-http-server',
False
) -%}
{% set use_tap = slapparameter_dict.get('use-tap',
'True').lower(
) -%}
{% set use_tap = slapparameter_dict.get('use-tap',
True
) -%}
{% set use_nat = slapparameter_dict.get('use-nat',
'True').lower(
) -%}
{% set use_nat = slapparameter_dict.get('use-nat',
True
) -%}
{% set wipe_disk = slapparameter_dict.get('wipe-disk-ondestroy',
'False').lower(
) -%}
{% set wipe_disk = slapparameter_dict.get('wipe-disk-ondestroy',
False
) -%}
{% set nat_restrict = slapparameter_dict.get('nat-restrict-mode',
'False').lower(
) -%}
{% set nat_restrict = slapparameter_dict.get('nat-restrict-mode',
False
) -%}
{% set name = slapparameter_dict.get('name', 'localhost') -%}
{% set name = slapparameter_dict.get('name', 'localhost') -%}
{% set disable_ansible_promise = slapparameter_dict.get('disable-ansible-promise', 'True').lower() -%}
{% set disable_ansible_promise = slapparameter_dict.get('disable-ansible-promise', True) -%}
{% set enable_device_hotplug = slapparameter_dict.get('enable-device-hotplug', 'false').lower() -%}
{% set instance_type = slapparameter_dict.get('type', 'standalone') -%}
{% set instance_type = slapparameter_dict.get('type', 'standalone') -%}
{% set nat_rule_list = slapparameter_dict.get('nat-rules', '22 80 443') -%}
{% set nat_rule_list = slapparameter_dict.get('nat-rules', '22 80 443') -%}
{% set disk_device_path = slapparameter_dict.get('disk-device-path', None) -%}
{% set disk_device_path = slapparameter_dict.get('disk-device-path', None) -%}
...
@@ -116,7 +115,7 @@ tap-mac-address = ${create-tap-mac:mac-address}
...
@@ -116,7 +115,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 = {{ nat_rule_list }}
nat-rules = {{ nat_rule_list }}
nat-restrict= {{
nat_restrict
}}
nat-restrict= {{
dumps(nat_restrict)
}}
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}
...
@@ -137,7 +136,7 @@ external-disk-number = ${slap-parameter:external-disk-number}
...
@@ -137,7 +136,7 @@ external-disk-number = ${slap-parameter:external-disk-number}
external-disk-size = ${slap-parameter:external-disk-size}
external-disk-size = ${slap-parameter:external-disk-size}
external-disk-format = ${slap-parameter:external-disk-format}
external-disk-format = ${slap-parameter:external-disk-format}
{% if enable_http
== 'true'
-%}
{% if enable_http -%}
httpd-port = ${slap-parameter:httpd-port}
httpd-port = ${slap-parameter:httpd-port}
{% else -%}
{% else -%}
httpd-port = 0
httpd-port = 0
...
@@ -187,7 +186,7 @@ wrapper-path = ${directory:services}/6tunnel-${:ipv6-port}
...
@@ -187,7 +186,7 @@ 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}
hash-existing-files = ${buildout:directory}/software_release/buildout.cfg
hash-existing-files = ${buildout:directory}/software_release/buildout.cfg
{% if use_nat
== 'true'
and nat_rule_list -%}
{% if use_nat and nat_rule_list -%}
{% for port in nat_rule_list.split(' ') -%}
{% for port in nat_rule_list.split(' ') -%}
{% if ':' in port -%}
{% if ':' in port -%}
{% set proto, port = port.split(':') -%}
{% set proto, port = port.split(':') -%}
...
@@ -253,7 +252,7 @@ module = check_command_execute
...
@@ -253,7 +252,7 @@ module = check_command_execute
name = kvm-disk-image-corruption.py
name = kvm-disk-image-corruption.py
config-command = ${kvm-disk-image-corruption-bin:output}
config-command = ${kvm-disk-image-corruption-bin:output}
{% if wipe_disk
== 'true'
-%}
{% if wipe_disk -%}
{% do part_list.append('wipe-disk-wrapper') -%}
{% do part_list.append('wipe-disk-wrapper') -%}
{% set wipe_file_list = '${kvm-parameter-dict:disk-path}' -%}
{% set wipe_file_list = '${kvm-parameter-dict:disk-path}' -%}
{% if storage_dict -%}
{% if storage_dict -%}
...
@@ -418,7 +417,7 @@ name = frontend_additional_promise.py
...
@@ -418,7 +417,7 @@ name = frontend_additional_promise.py
config-url = ${publish-connection-information:url-additional}
config-url = ${publish-connection-information:url-additional}
{% endif %}
{% endif %}
{% if enable_http
== 'true'
%}
{% if enable_http %}
[httpd]
[httpd]
recipe = slapos.cookbook:simplehttpserver
recipe = slapos.cookbook:simplehttpserver
host = ${slap-network-information:local-ipv4}
host = ${slap-network-information:local-ipv4}
...
@@ -470,7 +469,7 @@ url-additional = ${request-slave-frontend-additional:connection-secure_access}/v
...
@@ -470,7 +469,7 @@ url-additional = ${request-slave-frontend-additional:connection-secure_access}/v
{% set disk_number = len(storage_dict) -%}
{% set disk_number = len(storage_dict) -%}
maximum-extra-disk-amount = {{ disk_number }}
maximum-extra-disk-amount = {{ disk_number }}
{% set iface = 'ens3' -%}
{% set iface = 'ens3' -%}
{% if use_nat
== 'true'
-%}
{% if use_nat -%}
{% set iface = 'ens4' -%}
{% set iface = 'ens4' -%}
{% if nat_rule_list -%}
{% if nat_rule_list -%}
# Publish NAT port mapping status
# Publish NAT port mapping status
...
@@ -488,14 +487,14 @@ nat-rule-url-{{proto}}-{{port}} = [${slap-network-information:global-ipv6}]:${6t
...
@@ -488,14 +487,14 @@ nat-rule-url-{{proto}}-{{port}} = [${slap-network-information:global-ipv6}]:${6t
{% endfor -%}
{% endfor -%}
{% endif -%}
{% endif -%}
{% endif -%}
{% endif -%}
{% if use_tap
== 'true'
-%}
{% if use_tap -%}
tap-ipv4 = {{ slap_configuration.get('tap-ipv4-addr', '') }}
tap-ipv4 = {{ slap_configuration.get('tap-ipv4-addr', '') }}
tap-ipv6 = {{ slap_configuration.get('tap-ipv6-addr', '') }}
tap-ipv6 = {{ slap_configuration.get('tap-ipv6-addr', '') }}
{% endif -%}
{% endif -%}
{% set kvm_http = 'http://${slap-network-information:local-ipv4}:' ~ slapparameter_dict.get('httpd-port', 8081) -%}
{% set kvm_http = 'http://${slap-network-information:local-ipv4}:' ~ slapparameter_dict.get('httpd-port', 8081) -%}
{% if enable_http
== 'true'
%}
{% if enable_http %}
{% if use_nat
== 'true'
-%}
{% if use_nat -%}
{% set kvm_http = 'http://10.0.2.100' -%}
{% set kvm_http = 'http://10.0.2.100' -%}
{% endif %}
{% endif %}
{% if slapparameter_dict.get('authorized-key', '') and slapparameter_dict.get('type', '') == 'cluster' -%}
{% if slapparameter_dict.get('authorized-key', '') and slapparameter_dict.get('type', '') == 'cluster' -%}
...
@@ -503,7 +502,7 @@ key_info = Get the publick key file in your VM with the command: wget {{ kvm_htt
...
@@ -503,7 +502,7 @@ key_info = Get the publick key file in your VM with the command: wget {{ kvm_htt
{% endif %}
{% endif %}
{% endif %}
{% endif %}
{% if use_tap
== 'true'
and slap_configuration.get('tap-ipv4-addr') -%}
{% if use_tap and slap_configuration.get('tap-ipv4-addr') -%}
ipv4-network-info =
ipv4-network-info =
PERMANENT SOLUTION: in your VM, add the lines below in /etc/network/interfaces and then run: "ifup {{ iface }}"
PERMANENT SOLUTION: in your VM, add the lines below in /etc/network/interfaces and then run: "ifup {{ iface }}"
auto {{ iface }}
auto {{ iface }}
...
@@ -511,7 +510,7 @@ ipv4-network-info =
...
@@ -511,7 +510,7 @@ ipv4-network-info =
address {{ slap_configuration.get('tap-ipv4-addr') }}
address {{ slap_configuration.get('tap-ipv4-addr') }}
netmask {{ slap_configuration.get('tap-ipv4-netmask') }}
netmask {{ slap_configuration.get('tap-ipv4-netmask') }}
gateway {{ slap_configuration.get('tap-ipv4-gateway') }}
gateway {{ slap_configuration.get('tap-ipv4-gateway') }}
{% if enable_http
== 'true'
%}
{% if enable_http %}
${helper:blank-line}
${helper:blank-line}
TEMPORARY SOLUTION: run in your VM the command: "wget -O- {{ kvm_http }}/${network-config-ipv4:filename} | /bin/sh -"
TEMPORARY SOLUTION: run in your VM the command: "wget -O- {{ kvm_http }}/${network-config-ipv4:filename} | /bin/sh -"
(the configuration will be gone after the next reboot)
(the configuration will be gone after the next reboot)
...
@@ -519,14 +518,14 @@ ipv4-network-info =
...
@@ -519,14 +518,14 @@ ipv4-network-info =
{% endif %}
{% endif %}
ipv6-network-info =
ipv6-network-info =
{% if use_tap
== 'true'
and slap_configuration.get('tap-ipv6-addr') %}
{% if use_tap and slap_configuration.get('tap-ipv6-addr') %}
PERMANENT SOLUTION: in your VM, add the lines below in /etc/network/interfaces and then run: "ifup {{ iface }}"
PERMANENT SOLUTION: in your VM, add the lines below in /etc/network/interfaces and then run: "ifup {{ iface }}"
auto {{ iface }}
auto {{ iface }}
iface {{ iface }} inet6 static
iface {{ iface }} inet6 static
address {{ slap_configuration.get('tap-ipv6-gateway') }}
address {{ slap_configuration.get('tap-ipv6-gateway') }}
netmask {{ slap_configuration.get('tap-ipv6-network').split('/')[1] }}
netmask {{ slap_configuration.get('tap-ipv6-network').split('/')[1] }}
gateway {{ slap_configuration.get('tap-ipv6-addr') }}
gateway {{ slap_configuration.get('tap-ipv6-addr') }}
{% if enable_http
== 'true'
%}
{% if enable_http %}
${helper:blank-line}
${helper:blank-line}
TEMPORARY SOLUTION: run in your VM the command: "wget -O- {{ kvm_http }}/${network-config-ipv6:filename} | /bin/sh -"
TEMPORARY SOLUTION: run in your VM the command: "wget -O- {{ kvm_http }}/${network-config-ipv6:filename} | /bin/sh -"
(the configuration will be gone after the next reboot)
(the configuration will be gone after the next reboot)
...
@@ -534,14 +533,14 @@ ipv6-network-info =
...
@@ -534,14 +533,14 @@ ipv6-network-info =
{% endif %}
{% endif %}
{% if use_tap
== 'true'
and slap_configuration.get('tap-ipv4-addr') -%}
{% if use_tap and slap_configuration.get('tap-ipv4-addr') -%}
[network-config-ipv4]
[network-config-ipv4]
recipe = plone.recipe.command
recipe = plone.recipe.command
filename = netconfig.sh
filename = netconfig.sh
path = ${directory:public}/${:filename}
path = ${directory:public}/${:filename}
ipv4-add-address = ip -4 address add {{ slap_configuration.get('tap-ipv4-addr') }}/{{ slap_configuration.get('tap-ipv4-netmask') }} dev \$IFACE noprefixroute
ipv4-add-address = ip -4 address add {{ slap_configuration.get('tap-ipv4-addr') }}/{{ slap_configuration.get('tap-ipv4-netmask') }} dev \$IFACE noprefixroute
ipv4-add-gateway-route = ip -4 address add {{ slap_configuration.get('tap-ipv4-gateway') }} dev \$IFACE
ipv4-add-gateway-route = ip -4 address add {{ slap_configuration.get('tap-ipv4-gateway') }} dev \$IFACE
{% if nat_restrict
== 'true'
-%}
{% if nat_restrict -%}
ipv4-add-default-route = ip route add default via {{ slap_configuration.get('tap-ipv4-gateway') }} dev \$IFACE
ipv4-add-default-route = ip route add default via {{ slap_configuration.get('tap-ipv4-gateway') }} dev \$IFACE
{% elif global_ipv4_prefix -%}
{% elif global_ipv4_prefix -%}
ipv4-add-default-route = ip route add {{ global_ipv4_prefix }} via {{ slap_configuration.get('tap-ipv4-gateway') }} dev \$IFACE src {{ slap_configuration.get('tap-ipv4-addr') }}
ipv4-add-default-route = ip route add {{ global_ipv4_prefix }} via {{ slap_configuration.get('tap-ipv4-gateway') }} dev \$IFACE src {{ slap_configuration.get('tap-ipv4-addr') }}
...
@@ -564,7 +563,7 @@ command =
...
@@ -564,7 +563,7 @@ command =
update-command = ${:command}
update-command = ${:command}
{% endif -%}
{% endif -%}
{% if use_tap
== 'true'
and slap_configuration.get('tap-ipv6-addr') -%}
{% if use_tap and slap_configuration.get('tap-ipv6-addr') -%}
[network-config-ipv6]
[network-config-ipv6]
recipe = plone.recipe.command
recipe = plone.recipe.command
filename = ipv6_config.sh
filename = ipv6_config.sh
...
@@ -602,7 +601,7 @@ mode = {{ mode }}
...
@@ -602,7 +601,7 @@ mode = {{ mode }}
{{ writefile('get-authorized-key', '${directory:public}/authorized_keys', slapparameter_dict.get('authorized-key', ''), '700') }}
{{ writefile('get-authorized-key', '${directory:public}/authorized_keys', slapparameter_dict.get('authorized-key', ''), '700') }}
{% endif -%}
{% endif -%}
{% if use_tap
== 'true' and nat_restrict == 'true'
-%}
{% if use_tap
and nat_restrict
-%}
# Ask to set default to tap interface in the vm
# Ask to set default to tap interface in the vm
{{ writefile('set-default-interface', '${directory:public}/delDefaultIface', iface, '600') }}
{{ writefile('set-default-interface', '${directory:public}/delDefaultIface', iface, '600') }}
{% do part_list.append('set-default-interface') -%}
{% do part_list.append('set-default-interface') -%}
...
@@ -611,7 +610,7 @@ mode = {{ mode }}
...
@@ -611,7 +610,7 @@ mode = {{ mode }}
[publish-host-config]
[publish-host-config]
recipe = plone.recipe.command
recipe = plone.recipe.command
name = {{ slapparameter_dict.get('name', 'localhost') }}
name = {{ slapparameter_dict.get('name', 'localhost') }}
{% if use_tap
== 'true'
and slap_configuration.get('tap-ipv4-addr') -%}
{% if use_tap and slap_configuration.get('tap-ipv4-addr') -%}
local-ipv4 = {{ slap_configuration['tap-ipv4-addr'] }}
local-ipv4 = {{ slap_configuration['tap-ipv4-addr'] }}
gateway = {{ slap_configuration.get('tap-ipv4-gateway') }}
gateway = {{ slap_configuration.get('tap-ipv4-gateway') }}
netmask = {{ slap_configuration.get('tap-ipv4-network') }}
netmask = {{ slap_configuration.get('tap-ipv4-network') }}
...
@@ -775,12 +774,12 @@ keyboard-layout-language = fr
...
@@ -775,12 +774,12 @@ keyboard-layout-language = fr
# Set Additionals parts
# Set Additionals parts
{% do part_list.append('cluster-url-path') -%}
{% do part_list.append('cluster-url-path') -%}
{% endif -%}
{% endif -%}
{% if enable_http
== 'true'
%}
{% if enable_http %}
{% do part_list.extend(['httpd', 'httpd-service', 'httpd-promise', 'publish-host-config']) -%}
{% do part_list.extend(['httpd', 'httpd-service', 'httpd-promise', 'publish-host-config']) -%}
{% if slapparameter_dict.get('data-to-vm', '') %}
{% if slapparameter_dict.get('data-to-vm', '') %}
{% do part_list.append('vm-data-content') -%}
{% do part_list.append('vm-data-content') -%}
{% endif -%}
{% endif -%}
{% if
disable_ansible_promise == 'false'
%}
{% if
not disable_ansible_promise
%}
{% do part_list.extend(['ansible-vm-promise', 'logrotate-vm-bootstrap']) -%}
{% do part_list.extend(['ansible-vm-promise', 'logrotate-vm-bootstrap']) -%}
{% endif -%}
{% endif -%}
{% if slapparameter_dict.get('authorized-key', '') and slapparameter_dict.get('type', '') == 'cluster' %}
{% if slapparameter_dict.get('authorized-key', '') and slapparameter_dict.get('type', '') == 'cluster' %}
...
...
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