Add runtest tests for nova formula

Add module and state tests for neutron salt formula

Change-Id: I737a7c93afb30442f0e08da0a4225acea72404ab
Related-Prod: PROD-21650
diff --git a/runtest/salttest/modules/openstack/init.sls b/runtest/salttest/modules/openstack/init.sls
index a9d6334..ab16a8d 100644
--- a/runtest/salttest/modules/openstack/init.sls
+++ b/runtest/salttest/modules/openstack/init.sls
@@ -3,6 +3,7 @@
 - runtest.salttest.modules.openstack.glancev2
 - runtest.salttest.modules.openstack.keystone
 - runtest.salttest.modules.openstack.nova
+- runtest.salttest.modules.openstack.novav21
 - runtest.salttest.modules.openstack.neutron
 - runtest.salttest.modules.openstack.neutronv2
 - runtest.salttest.modules.openstack.cinderv3
diff --git a/runtest/salttest/modules/openstack/novav21.sls b/runtest/salttest/modules/openstack/novav21.sls
new file mode 100644
index 0000000..ba6b1bc
--- /dev/null
+++ b/runtest/salttest/modules/openstack/novav21.sls
@@ -0,0 +1,166 @@
+{%- set Nova_Aggregate_Test_Name = 'NovaAggregateTestName' %}
+{%- set Nova_Test_Zone = 'NovaTestZone' %}
+{%- set Nova_Test_Flavor = 'NovaTestFlavor' %}
+{%- if salt['grains.get']('saltversion') < '2017.7.0' %}
+{%- set Nova_Test_Flavor_ID = salt['cmd.run']('cat /proc/sys/kernel/random/uuid') %}
+{%- else %}
+{#NOTE random uuid function added in 2017.7.0 salt#}
+{%- set Nova_Test_Flavor_ID = 'random'| uuid %}
+{%- endif %}
+{%- set Nova_Test_Keypair_Name = 'NovaTestKeypairName' %}
+{%- set Nova_Test_Keypair_Pub_Key = 'ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAAAgQDx8nkQv/zgGgB4rMYmIf+6A4l6Rr+o/6lHBQdW5aYd44bd8JttDCE/F/pNRr0lRE+PiqSPO8nDPHw0010JeMH9gYgnnFlyY3/OcJ02RhIPyyxYpv9FhY+2YiUkpwFOcLImyrxEsYXpD/0d3ac30bNH6Sw9JD9UZHYcpSxsIbECHw== Generated-by-Nova' %}
+
+novav21_aggregate_create:
+  module.run:
+    - name: novav21.aggregate_create
+    - kwargs:
+        cloud_name: admin_identity
+        name: {{ Nova_Aggregate_Test_Name }}
+        availability_zone: {{ Nova_Test_Zone }}
+
+novav21_aggregate_list:
+  module.run:
+    - name: novav21.aggregate_list
+    - kwargs:
+        cloud_name: admin_identity
+
+novav21_aggregate_set_metadata:
+  module.run:
+    - name: novav21.aggregate_set_metadata
+    - args:
+      - {{ Nova_Aggregate_Test_Name }}
+    - kwargs:
+        cloud_name: admin_identity
+    - require:
+      - novav21_aggregate_create
+
+novav21_aggregate_get:
+  module.run:
+    - name: novav21.aggregate_get
+    - args:
+      - {{ Nova_Aggregate_Test_Name }}
+    - kwargs:
+        cloud_name: admin_identity
+    - require:
+      - novav21_aggregate_create
+
+novav21_flavor_create:
+  module.run:
+    - name: novav21.flavor_create
+    - kwargs:
+        cloud_name: admin_identity
+        id: {{ Nova_Test_Flavor_ID }}
+        name: {{ Nova_Test_Flavor }}
+        vcpus: 2
+        ram: 1
+        disk: 2
+
+novav21_flavor_list:
+  module.run:
+    - name: novav21.flavor_list
+    - kwargs:
+        cloud_name: admin_identity
+
+novav21_flavor_get:
+  module.run:
+    - name: novav21.flavor_get
+    - kwargs:
+        cloud_name: admin_identity
+        flavor_id: {{ Nova_Test_Flavor_ID }}
+    - require:
+      - novav21_flavor_create
+
+novav21_flavor_add_extra_specs:
+  module.run:
+    - name: novav21.flavor_add_extra_specs
+    - kwargs:
+        cloud_name: admin_identity
+        flavor_id: {{ Nova_Test_Flavor_ID }}
+        read_bytes_sec: 10240000
+        write_bytes_sec: 10240000
+    - require:
+      - novav21_flavor_create
+
+novav21_flavor_get_extra_specs:
+  module.run:
+    - name: novav21.flavor_get_extra_specs
+    - kwargs:
+        cloud_name: admin_identity
+        flavor_id: {{ Nova_Test_Flavor_ID }}
+    - require:
+      - novav21_flavor_create
+
+novav21_flavor_delete_extra_spec:
+  module.run:
+    - name: novav21.flavor_delete_extra_spec
+    - kwargs:
+        cloud_name: admin_identity
+        flavor_id: {{ Nova_Test_Flavor_ID }}
+        key_name: read_bytes_sec
+    - require:
+      - novav21_flavor_create
+
+novav21_quota_list:
+  module.run:
+    - name: novav21.quota_list
+    - kwargs:
+        cloud_name: admin_identity
+        project_id: default
+
+novav21_keypair_create:
+  module.run:
+    - name: novav21.keypair_create
+    - kwargs:
+        cloud_name: admin_identity
+        name: {{ Nova_Test_Keypair_Name }}
+        public_key: {{ Nova_Test_Keypair_Pub_Key }}
+
+novav21_keypair_list:
+  module.run:
+    - name: novav21.keypair_list
+    - kwargs:
+        cloud_name: admin_identity
+
+novav21_keypair_get:
+  module.run:
+    - name: novav21.keypair_get
+    - kwargs:
+        cloud_name: admin_identity
+        name: {{ Nova_Test_Keypair_Name }}
+    - require:
+      - novav21_keypair_create
+
+novav21_server_list:
+  module.run:
+    - name: novav21.server_list
+    - kwargs:
+        cloud_name: admin_identity
+
+novav21_flavor_delete:
+  module.run:
+    - name: novav21.flavor_delete
+    - kwargs:
+        cloud_name: admin_identity
+        flavor_id: {{ Nova_Test_Flavor_ID }}
+    - require:
+      - novav21_flavor_create
+
+novav21_aggregate_delete:
+  module.run:
+    - name: novav21.aggregate_delete
+    - args:
+      - {{ Nova_Aggregate_Test_Name }}
+    - kwargs:
+        cloud_name: admin_identity
+    - require:
+      - novav21_aggregate_create
+
+novav21_keypair_delete:
+  module.run:
+    - name: novav21.keypair_delete
+    - args:
+      - {{ Nova_Test_Keypair_Name }}
+    - kwargs:
+        cloud_name: admin_identity
+    - require:
+      - novav21_keypair_create
diff --git a/runtest/salttest/states/openstack/init.sls b/runtest/salttest/states/openstack/init.sls
index bb70bb0..23e4247 100644
--- a/runtest/salttest/states/openstack/init.sls
+++ b/runtest/salttest/states/openstack/init.sls
@@ -2,6 +2,7 @@
 - runtest.salttest.states.openstack.neutron
 - runtest.salttest.states.openstack.neutronv2
 - runtest.salttest.states.openstack.nova
+- runtest.salttest.states.openstack.novav21
 - runtest.salttest.states.openstack.glancev2
 - runtest.salttest.states.openstack.cinderv3
 - runtest.salttest.states.openstack.heatv1
diff --git a/runtest/salttest/states/openstack/novav21.sls b/runtest/salttest/states/openstack/novav21.sls
new file mode 100644
index 0000000..b4d81af
--- /dev/null
+++ b/runtest/salttest/states/openstack/novav21.sls
@@ -0,0 +1,51 @@
+{%- set Nova_Test_Flavor = 'NovaTestFlavor' %}
+{%- if salt['grains.get']('saltversion') < '2017.7.0' %}
+{%- set Nova_Test_Flavor_ID = salt['cmd.run']('cat /proc/sys/kernel/random/uuid') %}
+{%- else %}
+{#NOTE random uuid function added in 2017.7.0 salt#}
+{%- set Nova_Test_Flavor_ID = 'random'| uuid %}
+{%- endif %}
+{%- set Nova_Aggregate_Test_Name = 'NovaAggregateTestName '%}
+{%- set Nova_Test_Keypair_Name = 'NovaTestKeypairName' %}
+{%- set Nova_Test_Keypair_Pub_Key = 'ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAAAgQDx8nkQv/zgGgB4rMYmIf+6A4l6Rr+o/6lHBQdW5aYd44bd8JttDCE/F/pNRr0lRE+PiqSPO8nDPHw0010JeMH9gYgnnFlyY3/OcJ02RhIPyyxYpv9FhY+2YiUkpwFOcLImyrxEsYXpD/0d3ac30bNH6Sw9JD9UZHYcpSxsIbECHw== Generated-by-Nova' %}
+
+novav21_flavor_present:
+  novav21.flavor_present:
+  - cloud_name: admin_identity
+  - flavor_id: {{ Nova_Test_Flavor_ID }}
+  - name: {{ Nova_Test_Flavor }}
+  - vcpus: 2
+  - ram: 1
+  - disk: 2
+
+novav21_flavor_absent:
+  novav21.flavor_absent:
+  - cloud_name: admin_identity
+  - name: {{ Nova_Test_Flavor }}
+  - require:
+    - novav21_flavor_present
+
+novav21_aggregate_present:
+  novav21.aggregate_present:
+  - cloud_name: admin_identity
+  - name: {{ Nova_Aggregate_Test_Name }}
+
+novav21_aggregate_absent:
+  novav21.aggregate_absent:
+  - cloud_name: admin_identity
+  - name: {{ Nova_Aggregate_Test_Name }}
+  - require:
+    - novav21_aggregate_present
+
+novav21_keypair_present:
+  novav21.keypair_present:
+  - cloud_name: admin_identity
+  - name: {{ Nova_Test_Keypair_Name }}
+  - public_key: {{ Nova_Test_Keypair_Pub_Key }}
+
+novav21_keypair_absent:
+  novav21.keypair_absent:
+  - cloud_name: admin_identity
+  - name: {{ Nova_Test_Keypair_Name }}
+  - require:
+    - novav21_keypair_present