You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
43 lines
1.2 KiB
43 lines
1.2 KiB
heat_template_version: ocata |
|
|
|
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 %}
|
|
|