Support adding a swap file to overcloud nodes
Create a new SoftwareDeployment that can be used to add a swap file to all nodes The amount of swap and the location of the swap file can be customized via parameter_defaults and the swap_size_megabytes/swap_path parameters. Change-Id: I1fb14c0fab2255410fceb26c3a7d5cfe0ba57b3b
This commit is contained in:
parent
fef01919e6
commit
570bf54311
108
extraconfig/all_nodes/swap.yaml
Normal file
108
extraconfig/all_nodes/swap.yaml
Normal file
@ -0,0 +1,108 @@
|
|||||||
|
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_size_megabytes:
|
||||||
|
type: string
|
||||||
|
description: Amount of swap space to allocate in megabytes
|
||||||
|
default: '4096'
|
||||||
|
swap_path:
|
||||||
|
type: string
|
||||||
|
description: Full path to location of swap file
|
||||||
|
default: '/swap'
|
||||||
|
|
||||||
|
|
||||||
|
resources:
|
||||||
|
|
||||||
|
SwapConfig:
|
||||||
|
type: OS::Heat::SoftwareConfig
|
||||||
|
properties:
|
||||||
|
group: script
|
||||||
|
config: |
|
||||||
|
#!/bin/bash
|
||||||
|
set -eux
|
||||||
|
if [ ! -f $swap_path ]; then
|
||||||
|
dd if=/dev/zero of=$swap_path count=$swap_size_megabytes bs=1M
|
||||||
|
chmod 0600 $swap_path
|
||||||
|
mkswap $swap_path
|
||||||
|
swapon $swap_path
|
||||||
|
else
|
||||||
|
echo "$swap_path already exists"
|
||||||
|
fi
|
||||||
|
echo "$swap_path swap swap defaults 0 0" >> /etc/fstab
|
||||||
|
inputs:
|
||||||
|
- name: swap_size_megabytes
|
||||||
|
description: Amount of swap space to allocate in megabytes
|
||||||
|
default: '4096'
|
||||||
|
- name: swap_path
|
||||||
|
description: Full path to location of swap file
|
||||||
|
default: '/swap'
|
||||||
|
|
||||||
|
ControllerSwapDeployment:
|
||||||
|
type: OS::Heat::SoftwareDeploymentGroup
|
||||||
|
properties:
|
||||||
|
config: {get_resource: SwapConfig}
|
||||||
|
servers: {get_param: controller_servers}
|
||||||
|
input_values:
|
||||||
|
swap_size_megabytes: {get_param: swap_size_megabytes}
|
||||||
|
swap_path: {get_param: swap_path}
|
||||||
|
actions: ["CREATE"]
|
||||||
|
|
||||||
|
ComputeSwapDeployment:
|
||||||
|
type: OS::Heat::SoftwareDeploymentGroup
|
||||||
|
properties:
|
||||||
|
config: {get_resource: SwapConfig}
|
||||||
|
servers: {get_param: compute_servers}
|
||||||
|
input_values:
|
||||||
|
swap_size_megabytes: {get_param: swap_size_megabytes}
|
||||||
|
swap_path: {get_param: swap_path}
|
||||||
|
actions: ["CREATE"]
|
||||||
|
|
||||||
|
BlockStorageSwapDeployment:
|
||||||
|
type: OS::Heat::SoftwareDeploymentGroup
|
||||||
|
properties:
|
||||||
|
config: {get_resource: SwapConfig}
|
||||||
|
servers: {get_param: blockstorage_servers}
|
||||||
|
input_values:
|
||||||
|
swap_size_megabytes: {get_param: swap_size_megabytes}
|
||||||
|
swap_path: {get_param: swap_path}
|
||||||
|
actions: ["CREATE"]
|
||||||
|
|
||||||
|
ObjectStorageSwapDeployment:
|
||||||
|
type: OS::Heat::SoftwareDeploymentGroup
|
||||||
|
properties:
|
||||||
|
config: {get_resource: SwapConfig}
|
||||||
|
servers: {get_param: objectstorage_servers}
|
||||||
|
input_values:
|
||||||
|
swap_size_megabytes: {get_param: swap_size_megabytes}
|
||||||
|
swap_path: {get_param: swap_path}
|
||||||
|
actions: ["CREATE"]
|
||||||
|
|
||||||
|
CephStorageSwapDeployment:
|
||||||
|
type: OS::Heat::SoftwareDeploymentGroup
|
||||||
|
properties:
|
||||||
|
config: {get_resource: SwapConfig}
|
||||||
|
servers: {get_param: cephstorage_servers}
|
||||||
|
input_values:
|
||||||
|
swap_size_megabytes: {get_param: swap_size_megabytes}
|
||||||
|
swap_path: {get_param: swap_path}
|
||||||
|
actions: ["CREATE"]
|
||||||
|
|
||||||
|
outputs:
|
||||||
|
config_identifier:
|
||||||
|
value: none
|
Loading…
x
Reference in New Issue
Block a user