Adding an ability to ensure keypairs and aggregates using novav21
Prod-Related: PROD-34111
Change-Id: I71432dc36796af53c4106da066699fb93b933708
diff --git a/README.rst b/README.rst
index 793f8cd..2075df7 100644
--- a/README.rst
+++ b/README.rst
@@ -593,22 +593,21 @@
nova:
client:
enabled: true
- server:
- identity:
- flavor:
- flavor1:
- flavor_id: 10
- ram: 4096
- disk: 10
- vcpus: 1
- flavor2:
- flavor_id: auto
- ram: 4096
- disk: 20
- vcpus: 2
- identity1:
- flavor:
- ...
+ resources:
+ v21:
+ admin_identity:
+ endpoint_type: internalURL
+ flavor:
+ flavor1:
+ flavor_id: 10
+ ram: 4096
+ disk: 10
+ vcpus: 1
+ flavor2:
+ flavor_id: auto
+ ram: 4096
+ disk: 20
+ vcpus: 2
Availability zones:
@@ -630,11 +629,13 @@
nova:
client:
enabled: true
- server:
- identity:
- aggregates:
- - aggregate1
- - aggregate2
+ resources:
+ v21:
+ admin_identity:
+ aggregates:
+ aggregate1: {}
+ aggregate2:
+ metadata: "..."
Upgrade levels:
diff --git a/nova/client/resources/v21.sls b/nova/client/resources/v21.sls
index 448a94c..256c8f4 100644
--- a/nova/client/resources/v21.sls
+++ b/nova/client/resources/v21.sls
@@ -29,5 +29,39 @@
{%- endfor %}
{%- endif %}
+ {%- if identity.keypair is defined %}
+ {%- for keypair_name, keypair in identity.keypair.iteritems() %}
+nova_keypair_{{ keypair_name }}:
+ novav21.keypair_present:
+ - name: {{ keypair_name }}
+ {%- if keypair.pub_file is defined %}
+ - public_key_file: {{ keypair.pub_file }}
+ {%- endif %}
+ {%- if keypair.pub_key is defined %}
+ - public_key: {{ keypair.pub_key }}
+ {%- endif %}
+ - cloud_name: {{ identity_name }}
+
+ {%- endfor %}
+ {%- endif %}
+
+ {%- if identity.aggregates is defined %}
+ {%- for aggregate_name, aggregate in identity.aggregates.iteritems() %}
+nova_aggregate_{{ aggregate_name }}:
+ novav21.aggregate_present:
+ - name: {{ aggregate_name }}
+ {%- if aggregate.availability_zone is defined %}
+ - availability_zone_name: {{ aggregate.availability_zone }}
+ {%- endif %}
+ {%- if aggregate.hosts is defined %}
+ - hosts: {{ aggregate.hosts }}
+ {%- endif %}
+ {%- if aggregate.metadata is defined %}
+ - metadata: {{ aggregate.metadata }}
+ {%- endif %}
+ - cloud_name: {{ identity_name }}
+ {%- endfor %}
+ {%- endif %}
+
{%- endfor %}
{%- endif %}