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…
Reference in New Issue
Block a user