Generate random keystone users

Depends-On: https://gerrit.mcp.mirantis.com/#/c/44319/
Depends-On: https://gerrit.mcp.mirantis.com/#/c/45118/
Depends-On: https://gerrit.mcp.mirantis.com/#/c/45119/

Related-Prod: PROD-29868
Related-Prod: PROD-31315
(cherry picked from commit f5956c2f6151cc5d99659103f90641ea66eac44a)
(cherry picked from commit 70dd0f0587eb297fbefdea43837839c4983b8378)

Change-Id: I402be73437d5397224184a4fd71e2f6abae24db2
diff --git a/nova/compute/cluster.yml b/nova/compute/cluster.yml
index 4cc9ccf..1fdb3bd 100644
--- a/nova/compute/cluster.yml
+++ b/nova/compute/cluster.yml
@@ -31,14 +31,14 @@
         host: ${_param:openstack_database_address}
         port: 3306
         name: nova
-        user: nova
+        user: ${_param:mysql_nova_username}
         password: ${_param:mysql_nova_password}
       identity:
         engine: keystone
         region: ${_param:openstack_region}
         host: ${_param:cluster_vip_address}
         port: 35357
-        user: nova
+        user: ${_param:keystone_nova_username}
         password: ${_param:keystone_nova_password}
         tenant: service
         protocol: ${_param:cluster_internal_protocol}
@@ -73,7 +73,7 @@
         region: ${_param:openstack_region}
         host: ${_param:neutron_service_host}
         port: 9696
-        user: neutron
+        user: ${_param:keystone_neutron_username}
         tenant: service
         password: ${_param:keystone_neutron_password}
         protocol: ${_param:cluster_internal_protocol}
diff --git a/nova/compute/single.yml b/nova/compute/single.yml
index e6b1a5b..2c47148 100644
--- a/nova/compute/single.yml
+++ b/nova/compute/single.yml
@@ -30,13 +30,13 @@
         host: ${_param:control_address}
         port: 3306
         name: nova
-        user: nova
+        user: ${_param:mysql_nova_username}
         password: ${_param:mysql_nova_password}
       identity:
         engine: keystone
         host: ${_param:control_address}
         port: 35357
-        user: nova
+        user: ${_param:keystone_nova_username}
         password: ${_param:keystone_nova_password}
         tenant: service
         protocol: ${_param:cluster_internal_protocol}
diff --git a/nova/compute_ironic/cluster.yml b/nova/compute_ironic/cluster.yml
index 7796fa1..8b57948 100644
--- a/nova/compute_ironic/cluster.yml
+++ b/nova/compute_ironic/cluster.yml
@@ -14,14 +14,14 @@
         host: ${_param:openstack_database_address}
         port: 3306
         name: nova
-        user: nova
+        user: ${_param:mysql_nova_username}
         password: ${_param:mysql_nova_password}
       identity:
         engine: keystone
         region: ${_param:openstack_region}
         host: ${_param:cluster_vip_address}
         port: 35357
-        user: nova
+        user: ${_param:keystone_nova_username}
         password: ${_param:keystone_nova_password}
         tenant: service
         protocol: ${_param:cluster_internal_protocol}
@@ -42,7 +42,7 @@
         region: ${_param:openstack_region}
         host: ${_param:neutron_service_host}
         port: 9696
-        user: neutron
+        user: ${_param:keystone_neutron_username}
         tenant: service
         password: ${_param:keystone_neutron_password}
         protocol: ${_param:cluster_internal_protocol}
@@ -52,7 +52,7 @@
         region: ${_param:openstack_region}
         host: ${_param:ironic_service_host}
         port: 6385
-        user: ironic
+        user: ${_param:keystone_ironic_username}
         tenant: service
         password: ${_param:keystone_ironic_password}
         auth_type: password
diff --git a/nova/compute_ironic/single.yml b/nova/compute_ironic/single.yml
index 718ec59..bc3ee7c 100644
--- a/nova/compute_ironic/single.yml
+++ b/nova/compute_ironic/single.yml
@@ -14,14 +14,14 @@
         host: ${_param:control_address}
         port: 3306
         name: nova
-        user: nova
+        user: ${_param:mysql_nova_username}
         password: ${_param:mysql_nova_password}
       identity:
         engine: keystone
         region: ${_param:openstack_region}
         host: ${_param:control_address}
         port: 35357
-        user: nova
+        user: ${_param:keystone_nova_username}
         password: ${_param:keystone_nova_password}
         tenant: service
         protocol: ${_param:cluster_internal_protocol}
@@ -39,7 +39,7 @@
         region: ${_param:openstack_region}
         host: ${_param:control_address}
         port: 9696
-        user: neutron
+        user: ${_param:keystone_neutron_username}
         tenant: service
         password: ${_param:keystone_neutron_password}
         protocol: ${_param:cluster_internal_protocol}
@@ -49,7 +49,7 @@
         region: ${_param:openstack_region}
         host: ${_param:control_address}
         port: 6385
-        user: ironic
+        user: ${_param:keystone_ironic_username}
         tenant: service
         password: ${_param:keystone_ironic_password}
         protocol: ${_param:cluster_internal_protocol}
diff --git a/nova/control/cluster.yml b/nova/control/cluster.yml
index 437f3c1..325c6a5 100644
--- a/nova/control/cluster.yml
+++ b/nova/control/cluster.yml
@@ -43,7 +43,7 @@
         host: ${_param:openstack_database_address}
         port: 3306
         name: nova
-        user: nova
+        user: ${_param:mysql_nova_username}
         password: ${_param:mysql_nova_password}
         x509:
           enabled: ${_param:openstack_mysql_x509_enabled}
@@ -57,7 +57,7 @@
         region: ${_param:openstack_region}
         host: ${_param:cluster_vip_address}
         port: 35357
-        user: nova
+        user: ${_param:keystone_nova_username}
         password: ${_param:keystone_nova_password}
         tenant: service
         protocol: ${_param:cluster_internal_protocol}
@@ -95,7 +95,7 @@
         engine: neutron
         region: ${_param:openstack_region}
         host: ${_param:neutron_service_host}
-        user: neutron
+        user: ${_param:keystone_neutron_username}
         password: ${_param:keystone_neutron_password}
         port: 9696
         mtu: 1500