Commit 04266d3c authored by Jérome Perrin's avatar Jérome Perrin

Merge remote-tracking branch 'upstream/master' into zope4py2

parents 180864ae 65426514
[buildout]
extends =
../autoconf/buildout.cfg
../automake/buildout.cfg
../pkgconfig/buildout.cfg
parts =
iperf3
[iperf3]
recipe = slapos.recipe.cmmi
shared = true
url = https://github.com/esnet/iperf/archive/3.11.tar.gz
md5sum = 28ecd352b3433e5d46b669c4289ad544
environment =
PATH=${pkgconfig:location}/bin:${autoconf:location}/bin:${automake:location}/bin:%(PATH)s
...@@ -30,7 +30,7 @@ md5sum = e7209d9c66fd30e1fa950d2d07957b95 ...@@ -30,7 +30,7 @@ md5sum = e7209d9c66fd30e1fa950d2d07957b95
[profile-slave-list] [profile-slave-list]
_update_hash_filename_ = templates/apache-custom-slave-list.cfg.in _update_hash_filename_ = templates/apache-custom-slave-list.cfg.in
md5sum = 8028eff10acbc6e3415a50ffe534d424 md5sum = 421e2de58c0d5c41a00cd5d32355fc70
[profile-replicate-publish-slave-information] [profile-replicate-publish-slave-information]
_update_hash_filename_ = templates/replicate-publish-slave-information.cfg.in _update_hash_filename_ = templates/replicate-publish-slave-information.cfg.in
......
...@@ -223,7 +223,6 @@ context = ...@@ -223,7 +223,6 @@ context =
{# websocket style needs http 1.1 max #} {# websocket style needs http 1.1 max #}
{%- do slave_instance.__setitem__('enable_h2', False) %} {%- do slave_instance.__setitem__('enable_h2', False) %}
{%- endif %} {%- endif %}
{%- do slave_instance.__setitem__('default-path', slave_instance.get('default-path', '').strip('/') | urlencode) %}
[slave-log-directory-dict] [slave-log-directory-dict]
{{slave_reference}} = {{ slave_log_folder }} {{slave_reference}} = {{ slave_log_folder }}
......
...@@ -16,7 +16,7 @@ ...@@ -16,7 +16,7 @@
[template] [template]
filename = instance.cfg filename = instance.cfg
md5sum = fc7bccab64e6794b33766ca9925231c8 md5sum = f0a12f3abc25713f5c79c9bf13290340
[template-lte-enb-epc] [template-lte-enb-epc]
_update_hash_filename_ = instance-enb-epc.jinja2.cfg _update_hash_filename_ = instance-enb-epc.jinja2.cfg
...@@ -40,7 +40,7 @@ md5sum = 9732653a0e2c7fe91d80da80762430d2 ...@@ -40,7 +40,7 @@ md5sum = 9732653a0e2c7fe91d80da80762430d2
[template-lte-mme] [template-lte-mme]
_update_hash_filename_ = instance-mme.jinja2.cfg _update_hash_filename_ = instance-mme.jinja2.cfg
md5sum = 51b8762d4691f525d0228fa1f286e772 md5sum = 728f4d3ae248710c23e4b73eea4d628e
[ue_db.jinja2.cfg] [ue_db.jinja2.cfg]
filename = config/ue_db.jinja2.cfg filename = config/ue_db.jinja2.cfg
...@@ -75,5 +75,5 @@ _update_hash_filename_ = promise/check_sdr_busy.jinja2.py ...@@ -75,5 +75,5 @@ _update_hash_filename_ = promise/check_sdr_busy.jinja2.py
md5sum = 93dacb1da15310eb70d0815711a06cdf md5sum = 93dacb1da15310eb70d0815711a06cdf
[interface-up-promise] [interface-up-promise]
_update_hash_filename_ = promise/check_interface_up.jinja2.py _update_hash_filename_ = promise/check_interface_up.py
md5sum = 63d3bbac7b6f480ee0c510e80aa1ccf7 md5sum = cbe3ac5d123e38cc6adf168f39cc8189
...@@ -16,6 +16,12 @@ ...@@ -16,6 +16,12 @@
"description": "Set to true if external eNB / gNB will need to connect to this core network.", "description": "Set to true if external eNB / gNB will need to connect to this core network.",
"type": "boolean" "type": "boolean"
}, },
"iperf3": {
"default": false,
"title": "iperf3 UDP server",
"description": "Activate iperf3 UDP server",
"type": "boolean"
},
{%- endif %} {%- endif %}
"tx_gain": { "tx_gain": {
"title": "Tx gain", "title": "Tx gain",
......
...@@ -15,6 +15,12 @@ ...@@ -15,6 +15,12 @@
"description": "Set to true if external eNB / gNB will need to connect to this core network.", "description": "Set to true if external eNB / gNB will need to connect to this core network.",
"type": "boolean" "type": "boolean"
}, },
"iperf3": {
"default": false,
"title": "iperf3 UDP server",
"description": "Activate iperf3 UDP server",
"type": "boolean"
},
"use_ipv4": { "use_ipv4": {
"default": false, "default": false,
"title": "Use IPv4", "title": "Use IPv4",
......
...@@ -16,6 +16,12 @@ ...@@ -16,6 +16,12 @@
"description": "Set to true if external eNB / gNB will need to connect to this core network.", "description": "Set to true if external eNB / gNB will need to connect to this core network.",
"type": "boolean" "type": "boolean"
}, },
"iperf3": {
"default": false,
"title": "iperf3 UDP server",
"description": "Activate iperf3 UDP server",
"type": "boolean"
},
{%- endif %} {%- endif %}
"tx_gain": { "tx_gain": {
"title": "Tx gain", "title": "Tx gain",
......
...@@ -7,6 +7,10 @@ parts = ...@@ -7,6 +7,10 @@ parts =
tun-up-promise tun-up-promise
monitor-base monitor-base
publish-connection-information publish-connection-information
{% if slapparameter_dict.get("iperf3", None) %}
iperf-service
port-listening-promise
{% endif %}
extends = {{ monitor_template }} extends = {{ monitor_template }}
...@@ -114,6 +118,25 @@ wrapper-path = ${directory:bin}/mme-ifup-empty ...@@ -114,6 +118,25 @@ wrapper-path = ${directory:bin}/mme-ifup-empty
command-line = echo Using interface command-line = echo Using interface
mode = 775 mode = 775
{% if slapparameter_dict.get("iperf3", None) %}
### iperf3
[iperf-service]
recipe = slapos.cookbook:wrapper
port = 5001
ip = ${slap-configuration:tun-ipv4-addr}
command-line = {{ iperf3_location }}/bin/iperf3 --server --interval 1 --port ${:port} --bind ${:ip}
wrapper-path = ${directory:service}/iperf3
mode = 0775
pidfile = ${directory:run}/iperf3.pid
[port-listening-promise]
<= monitor-promise-base
promise = check_socket_listening
name = iperf3-port-listening.py
config-host = ${iperf-service:ip}
config-port = ${iperf-service:port}
{% endif %}
[config-base] [config-base]
recipe = slapos.recipe.template:jinja2 recipe = slapos.recipe.template:jinja2
extensions = jinja2.ext.do extensions = jinja2.ext.do
...@@ -154,17 +177,15 @@ recipe = slapos.cookbook:publish.serialised ...@@ -154,17 +177,15 @@ recipe = slapos.cookbook:publish.serialised
epc-ipv6 = ${slap-configuration:ipv6-random} epc-ipv6 = ${slap-configuration:ipv6-random}
epc-ipv4 = {{ epc_ipv4 }} epc-ipv4 = {{ epc_ipv4 }}
[tun-up-promise-template] # Add custom promise to check if /dev/sdr0 is busy
recipe = slapos.recipe.template:jinja2
url = {{ interface_up_promise }}
output = ${directory:etc}/check-tun-up.py
extensions = jinja2.ext.do
context =
key slapparameter_dict slap-configuration:configuration
# Add custom promise to check if tun is up
[tun-up-promise] [tun-up-promise]
recipe = slapos.cookbook:promise.plugin recipe = slapos.cookbook:promise.plugin
eggs = slapos.core eggs = slapos.core
file = ${tun-up-promise-template:output} file = {{ interface_up_promise }}
output = ${directory:plugins}/check-tun-up.py output = ${directory:plugins}/check-tun-up.py
{% if not slapparameter_dict.get("testing", False) %}
config-ifname = ${slap-configuration:tun-name}
{% else %}
config-ifname =
{% endif %}
config-testing = {{ slapparameter_dict.get("testing", False) }}
...@@ -15,6 +15,12 @@ ...@@ -15,6 +15,12 @@
"description": "Set to true if external eNB / gNB will need to connect to this core network.", "description": "Set to true if external eNB / gNB will need to connect to this core network.",
"type": "boolean" "type": "boolean"
}, },
"iperf3": {
"default": false,
"title": "iperf3 UDP server",
"description": "Activate iperf3 UDP server",
"type": "boolean"
},
"tx_gain": { "tx_gain": {
"title": "Tx gain", "title": "Tx gain",
"description": "Tx gain (in dB)", "description": "Tx gain (in dB)",
......
...@@ -15,6 +15,12 @@ ...@@ -15,6 +15,12 @@
"description": "Set to true if external eNB / gNB will need to connect to this core network.", "description": "Set to true if external eNB / gNB will need to connect to this core network.",
"type": "boolean" "type": "boolean"
}, },
"iperf3": {
"default": false,
"title": "iperf3 UDP server",
"description": "Activate iperf3 UDP server",
"type": "boolean"
},
"tx_gain": { "tx_gain": {
"title": "Tx gain", "title": "Tx gain",
"description": "Tx gain (in dB)", "description": "Tx gain (in dB)",
......
...@@ -15,6 +15,12 @@ ...@@ -15,6 +15,12 @@
"description": "Set to true if external eNB / gNB will need to connect to this core network.", "description": "Set to true if external eNB / gNB will need to connect to this core network.",
"type": "boolean" "type": "boolean"
}, },
"iperf3": {
"default": false,
"title": "iperf3 UDP server",
"description": "Activate iperf3 UDP server",
"type": "boolean"
},
"tx_gain": { "tx_gain": {
"title": "Tx gain", "title": "Tx gain",
"description": "Tx gain (in dB)", "description": "Tx gain (in dB)",
......
...@@ -15,6 +15,12 @@ ...@@ -15,6 +15,12 @@
"description": "Set to true if external eNB / gNB will need to connect to this core network.", "description": "Set to true if external eNB / gNB will need to connect to this core network.",
"type": "boolean" "type": "boolean"
}, },
"iperf3": {
"default": false,
"title": "iperf3 UDP server",
"description": "Activate iperf3 UDP server",
"type": "boolean"
},
"tx_gain": { "tx_gain": {
"title": "Tx gain", "title": "Tx gain",
"description": "Tx gain (in dB)", "description": "Tx gain (in dB)",
......
...@@ -15,6 +15,12 @@ ...@@ -15,6 +15,12 @@
"description": "Set to true if external eNB / gNB will need to connect to this core network.", "description": "Set to true if external eNB / gNB will need to connect to this core network.",
"type": "boolean" "type": "boolean"
}, },
"iperf3": {
"default": false,
"title": "iperf3 UDP server",
"description": "Activate iperf3 UDP server",
"type": "boolean"
},
"tx_gain": { "tx_gain": {
"title": "Tx gain", "title": "Tx gain",
"description": "Tx gain (in dB)", "description": "Tx gain (in dB)",
......
...@@ -15,6 +15,12 @@ ...@@ -15,6 +15,12 @@
"description": "Set to true if external eNB / gNB will need to connect to this core network.", "description": "Set to true if external eNB / gNB will need to connect to this core network.",
"type": "boolean" "type": "boolean"
}, },
"iperf3": {
"default": false,
"title": "iperf3 UDP server",
"description": "Activate iperf3 UDP server",
"type": "boolean"
},
"tx_gain": { "tx_gain": {
"title": "Tx gain", "title": "Tx gain",
"description": "Tx gain (in dB)", "description": "Tx gain (in dB)",
......
...@@ -15,6 +15,12 @@ ...@@ -15,6 +15,12 @@
"description": "Set to true if external eNB / gNB will need to connect to this core network.", "description": "Set to true if external eNB / gNB will need to connect to this core network.",
"type": "boolean" "type": "boolean"
}, },
"iperf3": {
"default": false,
"title": "iperf3 UDP server",
"description": "Activate iperf3 UDP server",
"type": "boolean"
},
"tx_gain": { "tx_gain": {
"title": "Tx gain", "title": "Tx gain",
"description": "Tx gain (in dB)", "description": "Tx gain (in dB)",
......
...@@ -15,6 +15,12 @@ ...@@ -15,6 +15,12 @@
"description": "Set to true if external eNB / gNB will need to connect to this core network.", "description": "Set to true if external eNB / gNB will need to connect to this core network.",
"type": "boolean" "type": "boolean"
}, },
"iperf3": {
"default": false,
"title": "iperf3 UDP server",
"description": "Activate iperf3 UDP server",
"type": "boolean"
},
"tx_gain": { "tx_gain": {
"title": "Tx gain", "title": "Tx gain",
"description": "Tx gain (in dB)", "description": "Tx gain (in dB)",
......
...@@ -148,6 +148,7 @@ extra-context = ...@@ -148,6 +148,7 @@ extra-context =
raw ltelogs_template ${ltelogs.jinja2.sh:target} raw ltelogs_template ${ltelogs.jinja2.sh:target}
raw openssl_location ${openssl:location} raw openssl_location ${openssl:location}
raw nghttp2_location ${nghttp2:location} raw nghttp2_location ${nghttp2:location}
raw iperf3_location ${iperf3:location}
key ue_db_path ue-db-config:output key ue_db_path ue-db-config:output
[ue-db-config] [ue-db-config]
......
...@@ -27,8 +27,8 @@ class RunPromise(GenericPromise): ...@@ -27,8 +27,8 @@ class RunPromise(GenericPromise):
In this case, check whether the file exists. In this case, check whether the file exists.
""" """
ifname = "{{ slapparameter_dict.get('tun-name', '') }}" ifname = self.getConfig('ifname')
testing = {{ slapparameter_dict.get('testing', False) }} testing = self.getConfig('testing')
if testing: if testing:
self.logger.info("skipping promise") self.logger.info("skipping promise")
......
...@@ -5,6 +5,7 @@ extends = ...@@ -5,6 +5,7 @@ extends =
../../stack/monitor/buildout.cfg ../../stack/monitor/buildout.cfg
../../component/logrotate/buildout.cfg ../../component/logrotate/buildout.cfg
../../component/nghttp2/buildout.cfg ../../component/nghttp2/buildout.cfg
../../component/iperf3/buildout.cfg
parts += parts +=
template template
...@@ -17,6 +18,7 @@ parts += ...@@ -17,6 +18,7 @@ parts +=
gnb.jinja2.cfg gnb.jinja2.cfg
ue_db.jinja2.cfg ue_db.jinja2.cfg
sib23.asn sib23.asn
iperf3
# unimplemented parts - the http monitor and better log handling using logrotate # unimplemented parts - the http monitor and better log handling using logrotate
# apache-php # apache-php
# logrotate # logrotate
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment