add countHashMapEquals to common

This function will be used for checking aws instances states.

Change-Id: I7f573ac3e46c49a77747d381659969c63ff7c7b0
diff --git a/src/com/mirantis/mk/Aws.groovy b/src/com/mirantis/mk/Aws.groovy
index 669305d..2c9405a 100644
--- a/src/com/mirantis/mk/Aws.groovy
+++ b/src/com/mirantis/mk/Aws.groovy
@@ -135,7 +135,6 @@
  *
  */
 
-@NonCPS
 def describeAutoscalingGroup(venv_path, env_vars, group_name) {
     def python = new com.mirantis.mk.Python()
     def common = new com.mirantis.mk.Common()
@@ -168,7 +167,6 @@
     }
 }
 
-@NonCPS
 def waitForAutoscalingInstances(venv_path, env_vars, group_name, max_timeout = 600, loop_sleep = 20) {
     def aws = new com.mirantis.mk.Aws()
     def common = new com.mirantis.mk.Common()
@@ -182,7 +180,7 @@
                 def instances = out['AutoScalingGroups'][0]['Instances']
 
                 // check all instances are InService
-                if (instances.stream().filter{i -> !i['LifecycleState'].equals("InService")}.collect(java.util.stream.Collectors.counting()) == 0) {
+                if (common.countHashMapEquals(instances, 'LifecycleState', 'InService') == 0) {
                     break
                 }
 
@@ -199,7 +197,6 @@
  *
  */
 
-
 def registerIntanceWithLb(venv_path, env_vars, lb, instances = []) {
     def python = new com.mirantis.mk.Python()
 
@@ -221,7 +218,3 @@
         return out
     }
 }
-
-
-
-
diff --git a/src/com/mirantis/mk/Common.groovy b/src/com/mirantis/mk/Common.groovy
index a348e75..0597cfa 100644
--- a/src/com/mirantis/mk/Common.groovy
+++ b/src/com/mirantis/mk/Common.groovy
@@ -437,4 +437,17 @@
  */
 def validInputParam(paramName){
     return env.getEnvironment().containsKey(paramName) && env[paramName] != null && env[paramName] != ""
-}
\ No newline at end of file
+}
+
+/**
+ * Take list of hashmaps and count number of hashmaps with parameter equals eq
+ * @param lm list of hashmaps
+ * @param param define parameter of hashmap to read and compare
+ * @param eq desired value of hashmap parameter
+ * @return count of hashmaps meeting defined condition
+ */
+
+@NonCPS
+def countHashMapEquals(lm, param, eq) {
+    return lm.stream().filter{i -> !i[param].equals(eq)}.collect(java.util.stream.Collectors.counting())
+}