diff options
-rw-r--r-- | tools/cicdansible/group_vars/all.yml | 3 | ||||
-rw-r--r-- | tools/cicdansible/heat/installer.yaml | 15 | ||||
-rw-r--r-- | tools/cicdansible/roles/setup_openstack_infrastructure/tasks/deploy/heat.yml | 1 |
3 files changed, 18 insertions, 1 deletions
diff --git a/tools/cicdansible/group_vars/all.yml b/tools/cicdansible/group_vars/all.yml index 581e7c4a..f886b628 100644 --- a/tools/cicdansible/group_vars/all.yml +++ b/tools/cicdansible/group_vars/all.yml @@ -26,6 +26,9 @@ infra_flavor_name: "" installer_flavor_name: "" #Name of the image for instances. image_name: "" +#Whether to use a volume for /dockerdata-nfs or to use ephemeral disk. +#True by default, most openstack providers offer ssd volumes probably. +use_volume_for_nfs: true #Cidr of private subnet where instances are connected. subnet_cidr: "10.1.0.0/24" #Start of dhcp allocation range for subnet. diff --git a/tools/cicdansible/heat/installer.yaml b/tools/cicdansible/heat/installer.yaml index 793386c6..7b3f10c0 100644 --- a/tools/cicdansible/heat/installer.yaml +++ b/tools/cicdansible/heat/installer.yaml @@ -90,6 +90,13 @@ parameters: constraints: - range: { min: 1 } description: "must be a positive number" + use_volume_for_nfs: + type: boolean + label: "use volume for nfs storage" + description: "Indicates whether a cinder volume should be used for nfs storage or not. If not checked, the nfs would be stored in the root disk" +conditions: + #Condition for nfs volume usage. + use_volume_for_nfs: { get_param: use_volume_for_nfs } resources: # Security group used to secure access to instances. secgroup: @@ -200,12 +207,14 @@ resources: #Nfs storage volume for first node. nfs_storage: type: OS::Cinder::Volume + condition: use_volume_for_nfs properties: name: nfs_storage size: 50 #Attachment of volume to first node. nfs_storage_attachment: type: OS::Cinder::VolumeAttachment + condition: use_volume_for_nfs properties: instance_uuid: { get_attr: [nodes, "resource.0"] } volume_id: { get_resource: nfs_storage } @@ -292,8 +301,12 @@ resources: node0_volumes: type: OS::Heat::Value properties: + #Note that it returns an empty list if nfs volume is disabled. value: - - [{ get_resource: nfs_storage }, "/dockerdata-nfs"] + if: + - use_volume_for_nfs + - - [{ get_resource: nfs_storage }, "/dockerdata-nfs"] + - [] #Output values outputs: installer_ip: diff --git a/tools/cicdansible/roles/setup_openstack_infrastructure/tasks/deploy/heat.yml b/tools/cicdansible/roles/setup_openstack_infrastructure/tasks/deploy/heat.yml index 2bfeda77..5f9bc4f6 100644 --- a/tools/cicdansible/roles/setup_openstack_infrastructure/tasks/deploy/heat.yml +++ b/tools/cicdansible/roles/setup_openstack_infrastructure/tasks/deploy/heat.yml @@ -32,5 +32,6 @@ node_ip: "{{ floating_ips_by_address[first_node_ip].id }}" infra_ip: "{{ floating_ips_by_address[infra_ip].id }}" installer_ip: "{{ floating_ips_by_address[installer_ip].id }}" + use_volume_for_nfs: "{{ use_volume_for_nfs }}" wait: true register: heat_stack |