Stack name now contains username

Change-Id: I9dfa13f7a00a975eb55c13c922e30834154420db
diff --git a/lab-pipeline.groovy b/lab-pipeline.groovy
index 7c570ef..f4a94c8 100644
--- a/lab-pipeline.groovy
+++ b/lab-pipeline.groovy
@@ -56,8 +56,16 @@
                     def openstackVersion = OPENSTACK_API_CLIENT ? OPENSTACK_API_CLIENT : 'liberty'
                     def openstackEnv = "${env.WORKSPACE}/venv"
 
-                    if (HEAT_STACK_NAME == '') {
-                        HEAT_STACK_NAME = BUILD_TAG
+                    if (HEAT_STACK_REUSE.toBoolean() == true && HEAT_STACK_NAME == '') {
+                        error("If you want to reuse existing stack you need to provide it's name")
+                    }
+
+                    if (HEAT_STACK_REUSE.toBoolean() == false) {
+                        // Don't allow to set custom heat stack name
+                        wrap([$class: 'BuildUser']) {
+                            HEAT_STACK_NAME = "${env.BUILD_USER_ID}-${JOB_NAME}-${BUILD_NUMBER}"
+                            currentBuild.description = HEAT_STACK_NAME
+                        }
                     }
 
                     // set description
@@ -72,7 +80,7 @@
                     openstack.getKeystoneToken(openstackCloud, openstackEnv)
 
                     // launch stack
-                    if (HEAT_STACK_REUSE == 'false') {
+                    if (HEAT_STACK_REUSE.toBoolean() == false) {
                         stage('Launch new Heat stack') {
                             // create stack
                             envParams = [
@@ -406,7 +414,7 @@
             // Clean
             //
 
-            if (HEAT_STACK_DELETE == 'true' && STACK_TYPE == 'heat') {
+            if (HEAT_STACK_DELETE.toBoolean() == true && STACK_TYPE == 'heat') {
                 stage('Trigger cleanup job') {
                     build job: 'deploy-heat-cleanup', parameters: [[$class: 'StringParameterValue', name: 'HEAT_STACK_NAME', value: HEAT_STACK_NAME]]
                 }