Add an environment to use a swap partition
This environment can be used with AllNodesExtraConfig to enable swap on a device with the given label as specified by the swap_partition_label parameter. If Ironic is used to create the swap partition, the partition will have a label of swap1, so that's a reasonable default for the parameter. The partition is also written to /etc/fstab as a swap mount so that it will be enabled on reboot. Change-Id: I5cd68c13dbfe53eecf6c6ad93151eadc980a902d
This commit is contained in:
parent
00e47eaf5b
commit
94f580370d
90
extraconfig/all_nodes/swap-partition.yaml
Normal file
90
extraconfig/all_nodes/swap-partition.yaml
Normal file
@ -0,0 +1,90 @@
|
||||
heat_template_version: 2014-10-16
|
||||
|
||||
description: >
|
||||
Extra config to add swap space to nodes.
|
||||
|
||||
# Parameters passed from the parent template - note if you maintain
|
||||
# out-of-tree templates they may require additional parameters if the
|
||||
# in-tree templates add a new role.
|
||||
parameters:
|
||||
controller_servers:
|
||||
type: json
|
||||
compute_servers:
|
||||
type: json
|
||||
blockstorage_servers:
|
||||
type: json
|
||||
objectstorage_servers:
|
||||
type: json
|
||||
cephstorage_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)
|
||||
swapon $swap_partition
|
||||
echo "$swap_partition swap swap defaults 0 0" >> /etc/fstab
|
||||
inputs:
|
||||
- name: swap_partition_label
|
||||
description: Swap partition label
|
||||
default: 'swap1'
|
||||
|
||||
ControllerSwapDeployment:
|
||||
type: OS::Heat::SoftwareDeploymentGroup
|
||||
properties:
|
||||
config: {get_resource: SwapConfig}
|
||||
servers: {get_param: controller_servers}
|
||||
input_values:
|
||||
swap_partition_label: {get_param: swap_partition_label}
|
||||
actions: ["CREATE"]
|
||||
|
||||
ComputeSwapDeployment:
|
||||
type: OS::Heat::SoftwareDeploymentGroup
|
||||
properties:
|
||||
config: {get_resource: SwapConfig}
|
||||
servers: {get_param: compute_servers}
|
||||
input_values:
|
||||
swap_partition_label: {get_param: swap_partition_label}
|
||||
actions: ["CREATE"]
|
||||
|
||||
BlockStorageSwapDeployment:
|
||||
type: OS::Heat::SoftwareDeploymentGroup
|
||||
properties:
|
||||
config: {get_resource: SwapConfig}
|
||||
servers: {get_param: blockstorage_servers}
|
||||
input_values:
|
||||
swap_partition_label: {get_param: swap_partition_label}
|
||||
actions: ["CREATE"]
|
||||
|
||||
ObjectStorageSwapDeployment:
|
||||
type: OS::Heat::SoftwareDeploymentGroup
|
||||
properties:
|
||||
config: {get_resource: SwapConfig}
|
||||
servers: {get_param: objectstorage_servers}
|
||||
input_values:
|
||||
swap_partition_label: {get_param: swap_partition_label}
|
||||
actions: ["CREATE"]
|
||||
|
||||
CephStorageSwapDeployment:
|
||||
type: OS::Heat::SoftwareDeploymentGroup
|
||||
properties:
|
||||
config: {get_resource: SwapConfig}
|
||||
servers: {get_param: cephstorage_servers}
|
||||
input_values:
|
||||
swap_partition_label: {get_param: swap_partition_label}
|
||||
actions: ["CREATE"]
|
||||
|
||||
outputs:
|
||||
config_identifier:
|
||||
value: none
|
Loading…
Reference in New Issue
Block a user