Prepare for LVM based VCP
This patch adds metadata needed to setup partitions on
VCP with LVM.
The new param 'image_layout' is added to salt:control:size:<size_name>
This is metadata that describes partition layout of VCP.
For now VCP has predefined list of partitions see
https://gerrit.mcp.mirantis.com/#/c/30862/
image_layout defines sizes for each of partitions that should be
applied after VCP is provisioned. The resizing will be done by
growlvmp.py script placed on VCP
https://gerrit.mcp.mirantis.com/#/c/31052/
The default layout:
image_layout:
root:
size: '30%VG' # 30% of VG total size
home:
size: '1G' # fixed size 1G
var_log:
size: '11%VG' # 11% of VG total size
var_log_audit:
size: '5G' # fixed size 5G
var_tmp:
size: '11%VG' # 11% of VG total size
tmp:
size: '5G' # fixed size 5G
Related-Prod: PROD-24537
Change-Id: I18205dfa8478be2ae092a87ced833c8ab0cc01ea
diff --git a/salt/control/placement/opencontrail/small.yml b/salt/control/placement/opencontrail/small.yml
index 684ffa6..ad73241 100644
--- a/salt/control/placement/opencontrail/small.yml
+++ b/salt/control/placement/opencontrail/small.yml
@@ -11,6 +11,20 @@
opencontrail_analytics_node03_hostname: nal03
opencontrail_control_backend_image: ${_param:salt_control_xenial_image_backend}
opencontrail_analytics_backend_image: ${_param:salt_control_xenial_image_backend}
+ salt_control_cluster_node_cloud_init_opencontrail_analytics:
+ user_data:
+ write_files:
+ - content: |
+ ${salt:control:size:opencontrail.analytics:image_layout}
+ owner: root:root
+ path: /usr/share/growlvm/image-layout.yml
+ salt_control_cluster_node_cloud_init_opencontrail_control:
+ user_data:
+ write_files:
+ - content: |
+ ${salt:control:size:opencontrail.control:image_layout}
+ owner: root:root
+ path: /usr/share/growlvm/image-layout.yml
salt:
control:
cluster:
@@ -22,33 +36,39 @@
backend: ${_param:opencontrail_control_backend_image}
provider: ${_param:infra_kvm_node01_hostname}.${_param:cluster_domain}
size: opencontrail.control
+ cloud_init: ${_param:salt_control_cluster_node_cloud_init_opencontrail_control}
ntw02:
name: ${_param:opencontrail_control_node02_hostname}
image: ${_param:salt_control_xenial_image}
backend: ${_param:opencontrail_control_backend_image}
provider: ${_param:infra_kvm_node02_hostname}.${_param:cluster_domain}
size: opencontrail.control
+ cloud_init: ${_param:salt_control_cluster_node_cloud_init_opencontrail_control}
ntw03:
name: ${_param:opencontrail_control_node03_hostname}
image: ${_param:salt_control_xenial_image}
backend: ${_param:opencontrail_control_backend_image}
provider: ${_param:infra_kvm_node03_hostname}.${_param:cluster_domain}
size: opencontrail.control
+ cloud_init: ${_param:salt_control_cluster_node_cloud_init_opencontrail_control}
nal01:
name: ${_param:opencontrail_analytics_node01_hostname}
image: ${_param:salt_control_xenial_image}
backend: ${_param:opencontrail_analytics_backend_image}
provider: ${_param:infra_kvm_node01_hostname}.${_param:cluster_domain}
size: opencontrail.analytics
+ cloud_init: ${_param:salt_control_cluster_node_cloud_init_opencontrail_analytics}
nal02:
name: ${_param:opencontrail_analytics_node02_hostname}
image: ${_param:salt_control_xenial_image}
backend: ${_param:opencontrail_analytics_backend_image}
provider: ${_param:infra_kvm_node02_hostname}.${_param:cluster_domain}
size: opencontrail.analytics
+ cloud_init: ${_param:salt_control_cluster_node_cloud_init_opencontrail_analytics}
nal03:
name: ${_param:opencontrail_analytics_node03_hostname}
image: ${_param:salt_control_xenial_image}
backend: ${_param:opencontrail_analytics_backend_image}
provider: ${_param:infra_kvm_node03_hostname}.${_param:cluster_domain}
size: opencontrail.analytics
+ cloud_init: ${_param:salt_control_cluster_node_cloud_init_opencontrail_analytics}