promenade/HostSystem/v1 schema cleanup
When the genesis and join package source definitions were split, the .common, .genesis, and .join subkeys were inserted directly under .properties.packages instead of .properties.packages.properties), causing anything under packages to erroneously pass. This change implements the intended validation, allowing packages to be defined under either under .packages.common, or .packages.genesis and .packages.join. The expectation is that the genesis node will end up with the union of what is defined under genesis and common. Required packages (a runtime and socat) need to be defined in at least one of those locations. Similarly, join nodes will have the union of join packages and common packages. Change-Id: I4a658eef6efbba53ba04b2d8b4ea4711ca0b1ab0
This commit is contained in:
@@ -94,32 +94,27 @@ while true; do
|
||||
fi
|
||||
done
|
||||
|
||||
{% for role in roles %}
|
||||
while true; do
|
||||
if ! DEBIAN_FRONTEND=noninteractive apt-get install -o Dpkg::Options::="--force-confold" -y --no-install-recommends \
|
||||
{%- for package in config['HostSystem:packages.' + role + '.additional'] | default([]) %}
|
||||
{{ package }} \
|
||||
{%- endfor %}
|
||||
{%- if config['HostSystem:packages.' + role + '.required.docker'] is defined %}
|
||||
{{ config['HostSystem:packages.' + role + '.required.docker'] }} \
|
||||
{%- elif config['HostSystem:packages.' + role + '.required.runtime'] is defined %}
|
||||
{{ config['HostSystem:packages.' + role + '.required.runtime'] }} \
|
||||
{%- endif %}
|
||||
{%- if config['HostSystem:packages.' + role + '.required.socat'] is defined %}
|
||||
{{ config['HostSystem:packages.' + role + '.required.socat'] }} \
|
||||
{%- endif %}
|
||||
;then
|
||||
now=$(date +%s)
|
||||
if [[ ${now} -gt ${end} ]]; then
|
||||
log Failed to install apt packages.
|
||||
exit 1
|
||||
fi
|
||||
sleep 10
|
||||
else
|
||||
break
|
||||
while true; do
|
||||
if ! DEBIAN_FRONTEND=noninteractive apt-get install -o Dpkg::Options::="--force-confold" -y --no-install-recommends \
|
||||
{%- for role in roles %}
|
||||
{%- for package in config['HostSystem:packages.' + role + '.required'].values() | default([]) %}
|
||||
{{ package }} \
|
||||
{%- endfor %}
|
||||
{%- for package in config['HostSystem:packages.' + role + '.additional'] | default([]) %}
|
||||
{{ package }} \
|
||||
{%- endfor %}
|
||||
{%- endfor %}
|
||||
;then
|
||||
now=$(date +%s)
|
||||
if [[ ${now} -gt ${end} ]]; then
|
||||
log Failed to install apt packages.
|
||||
exit 1
|
||||
fi
|
||||
done
|
||||
{% endfor %}
|
||||
sleep 10
|
||||
else
|
||||
break
|
||||
fi
|
||||
done
|
||||
|
||||
# Start core processes
|
||||
#
|
||||
|
||||
Reference in New Issue
Block a user