tripleo-heat-templates/extraconfig/all_nodes/swap-partition.j2.yaml
Carlos Camacho a8d5ec2629 Fix for AllNodesExtraConfig and fix environment files to create swap files/partitions
This submission:

 - Fix an error in the AllNodesExtraConfig resource.
   (Can't merge servers multiple times).
 - Add environment files to deploy swap file/partition
   without manual edit over the templates.
 - If a swap partition is mounted without having it available
   the deployment will fail, the fix checks that if the
   partition is not created then the deployment continues.
 - Removing empty extra lines in swap templates.
 - Adjust description and remove unnecessary comments in
   swap templates.

Closes-Bug: 1652184

Change-Id: I828bbbbd4c178956aac74af49f80fcd4f62fa16b
(cherry picked from commit 92e203aab6)
2017-01-26 02:35:03 +00:00

44 lines
1.2 KiB
YAML

heat_template_version: 2014-10-16
description: Template file to add a swap partition to a node.
parameters:
servers:
type: json
swap_partition_label:
type: string
description: Swap partition label
default: 'swap1'
resources:
SwapConfig:
type: OS::Heat::SoftwareConfig
properties:
group: script
config: |
#!/bin/bash
set -eux
swap_partition=$(realpath /dev/disk/by-label/$swap_partition_label)
if [ -f "$swap_partition" ]; then
swapon $swap_partition
echo "$swap_partition swap swap defaults 0 0" >> /etc/fstab
else
echo "$swap_partition needs to be a valid path"
echo "Check that $swap_partition_label is a valid partition label"
fi
inputs:
- name: swap_partition_label
description: Swap partition label
default: 'swap1'
{% for role in roles %}
{{role.name}}SwapDeployment:
type: OS::Heat::SoftwareDeploymentGroup
properties:
config: {get_resource: SwapConfig}
servers: {get_param: [servers, {{role.name}}]}
input_values:
swap_partition_label: {get_param: swap_partition_label}
actions: ["CREATE"]
{% endfor %}