add Keystone region configuration

Change-Id: I2a0e74a0641a01bcb5e96ada0c013664e773b482
diff --git a/metadata/service/compute/kvm.yml b/metadata/service/compute/kvm.yml
index 5b3c064..7fa0036 100644
--- a/metadata/service/compute/kvm.yml
+++ b/metadata/service/compute/kvm.yml
@@ -23,6 +23,7 @@
         password: ${_param:mysql_nova_password}
       identity:
         engine: keystone
+        region: RegionOne
         host: ${_param:cluster_vip_address}
         port: 35357
         user: nova
@@ -41,6 +42,7 @@
         port: 9292
       network:
         engine: neutron
+        region: RegionOne
         host: ${_param:cluster_vip_address}
         port: 9696
       cache:
diff --git a/metadata/service/control/cluster.yml b/metadata/service/control/cluster.yml
index 03e1900..7bb8d31 100644
--- a/metadata/service/control/cluster.yml
+++ b/metadata/service/control/cluster.yml
@@ -36,6 +36,7 @@
         password: ${_param:mysql_nova_password}
       identity:
         engine: keystone
+        region: RegionOne
         host: ${_param:cluster_vip_address}
         port: 35357
         user: nova
@@ -54,6 +55,7 @@
         port: 9292
       network:
         engine: neutron
+        region: RegionOne
         host: ${_param:cluster_vip_address}
         port: 9696
         mtu: 1500
diff --git a/metadata/service/control/single.yml b/metadata/service/control/single.yml
index f2ec608..a153e31 100644
--- a/metadata/service/control/single.yml
+++ b/metadata/service/control/single.yml
@@ -36,6 +36,7 @@
         password: ${_param:mysql_nova_password}
       identity:
         engine: keystone
+        region: RegionOne
         host: ${_param:single_address}
         port: 35357
         user: nova
@@ -53,6 +54,7 @@
         port: 9292
       network:
         engine: neutron
+        region: RegionOne
         host: ${_param:single_address}
         port: 9696
         mtu: 1500
diff --git a/nova/files/kilo/nova-compute.conf.Debian b/nova/files/kilo/nova-compute.conf.Debian
index f5e0a2d..a17f282 100644
--- a/nova/files/kilo/nova-compute.conf.Debian
+++ b/nova/files/kilo/nova-compute.conf.Debian
@@ -36,6 +36,7 @@
 neutron_admin_tenant_name={{ compute.identity.tenant }}
 neutron_admin_auth_url = http://{{ compute.identity.host }}:35357/v{% if compute.identity.get('version', 2) == 2 %}2.0{% else %}3{% endif %}
 neutron_url=http://{{ compute.network.host }}:{{ compute.network.port }}
+neutron_region_name= {{ compute.network.region }}
 #neutron_url = http://10.0.102.35:9696/
 
 
@@ -159,6 +160,7 @@
 admin_tenant_name={{ compute.identity.tenant }}
 admin_auth_url=http://{{ compute.identity.host }}:{{ compute.identity.port }}/v{% if compute.identity.get('version', 2) == 2 %}2.0{% else %}3{% endif %}
 url=http://{{ compute.network.host }}:{{ compute.network.port }}
+region_name= {{ compute.network.region }}
 
 [cinder]
-os_region_name = RegionOne
+os_region_name = {{ compute.identity.region }}
diff --git a/nova/files/kilo/nova-controller.conf.Debian b/nova/files/kilo/nova-controller.conf.Debian
index 86dc405..2e5d154 100644
--- a/nova/files/kilo/nova-controller.conf.Debian
+++ b/nova/files/kilo/nova-controller.conf.Debian
@@ -55,10 +55,12 @@
 neutron_admin_password={{ pillar.neutron.server.identity.password }}
 neutron_admin_tenant_name={{ pillar.neutron.server.identity.tenant }}
 neutron_admin_username={{ pillar.neutron.server.identity.user }}
+neutron_region_name={{ pillar.neutron.server.identity.region }}
 {%- else %}
 neutron_admin_password={{ controller.network.password }}
 neutron_admin_tenant_name={{ controller.network.tenant }}
 neutron_admin_username={{ controller.network.user }}
+neutron_region_name={{ controller.network.region }}
 {%- endif %}
 neutron_url=http://{{ controller.network.host }}:{{ controller.network.port }}
 
@@ -185,14 +187,16 @@
 admin_password={{ pillar.neutron.server.identity.password }}
 admin_tenant_name={{ pillar.neutron.server.identity.tenant }}
 admin_username={{ pillar.neutron.server.identity.user }}
+region_name= {{ pillar.neutron.server.identity.region }}
 {%- else %}
 admin_password={{ controller.network.password }}
 admin_tenant_name={{ controller.network.tenant }}
 admin_username={{ controller.network.user }}
+region_name= {{ controller.network.region }}
 {%- endif %}
 url=http://{{ controller.network.host }}:{{ controller.network.port }}
 
 service_metadata_proxy=True
 
 [cinder]
-os_region_name = RegionOne
+os_region_name = {{ controller.identity.region }}
diff --git a/nova/files/liberty/nova-compute.conf.Debian b/nova/files/liberty/nova-compute.conf.Debian
index bcd3251..0da4ace 100644
--- a/nova/files/liberty/nova-compute.conf.Debian
+++ b/nova/files/liberty/nova-compute.conf.Debian
@@ -36,6 +36,7 @@
 neutron_admin_tenant_name={{ compute.identity.tenant }}
 neutron_admin_auth_url=http://{{ compute.identity.host }}:{{ compute.identity.port }}/v{% if compute.identity.get('version', 2) == 2 %}2.0{% else %}3{% endif %}
 neutron_url=http://{{ compute.network.host }}:{{ compute.network.port }}
+neutron_region_name= {{ compute.network.region }}
 #neutron_url = http://10.0.102.35:9696/
 
 
@@ -159,6 +160,7 @@
 admin_tenant_name={{ compute.identity.tenant }}
 admin_auth_url=http://{{ compute.identity.host }}:{{ compute.identity.port }}/v{% if compute.identity.get('version', 2) == 2 %}2.0{% else %}3{% endif %}
 url=http://{{ compute.network.host }}:{{ compute.network.port }}
+region_name= {{ compute.network.region }}
 
 [cinder]
-os_region_name = RegionOne
+os_region_name = {{ compute.identity.region }}
diff --git a/nova/files/liberty/nova-controller.conf.Debian b/nova/files/liberty/nova-controller.conf.Debian
index 98c8c7a..1781cf1 100644
--- a/nova/files/liberty/nova-controller.conf.Debian
+++ b/nova/files/liberty/nova-controller.conf.Debian
@@ -54,10 +54,12 @@
 neutron_admin_password={{ pillar.neutron.server.identity.password }}
 neutron_admin_tenant_name={{ pillar.neutron.server.identity.tenant }}
 neutron_admin_username={{ pillar.neutron.server.identity.user }}
+neutron_region_name={{ pillar.neutron.server.identity.region }}
 {%- else %}
 neutron_admin_password={{ controller.network.password }}
 neutron_admin_tenant_name={{ controller.network.tenant }}
 neutron_admin_username={{ controller.network.user }}
+neutron_region_name={{ controller.network.region }}
 {%- endif %}
 neutron_url=http://{{ controller.network.host }}:{{ controller.network.port }}
 
@@ -184,14 +186,16 @@
 admin_password={{ pillar.neutron.server.identity.password }}
 admin_tenant_name={{ pillar.neutron.server.identity.tenant }}
 admin_username={{ pillar.neutron.server.identity.user }}
+region_name= {{ pillar.neutron.server.identity.region }}
 {%- else %}
 admin_password={{ controller.network.password }}
 admin_tenant_name={{ controller.network.tenant }}
 admin_username={{ controller.network.user }}
+region_name= {{ controller.network.region }}
 {%- endif %}
 url=http://{{ controller.network.host }}:{{ controller.network.port }}
 
 service_metadata_proxy=True
 
 [cinder]
-os_region_name = RegionOne
+os_region_name = {{ controller.identity.region }}
diff --git a/nova/map.jinja b/nova/map.jinja
index 3d786a1..3c1aa98 100644
--- a/nova/map.jinja
+++ b/nova/map.jinja
@@ -27,6 +27,12 @@
         'libvirt_service': 'libvirt-bin',
         'bind': compute_bind_defaults,
         'debug': false,
+        'identity': {
+            'region': 'RegionOne'
+        },
+        'network': {
+            'region': 'RegionOne'
+        },
         'heal_instance_info_cache_interval': '60',
     },
     'RedHat': {
@@ -37,6 +43,12 @@
         'libvirt_service': 'libvirtd',
         'bind': compute_bind_defaults,
         'debug': false,
+        'identity': {
+            'region': 'RegionOne'
+        },
+        'network': {
+            'region': 'RegionOne'
+        },
         'heal_instance_info_cache_interval': '60',
     },
 }, merge=salt['pillar.get']('nova:compute')) %}
diff --git a/tests/pillar/compute_cluster.sls b/tests/pillar/compute_cluster.sls
index 6f03b6e..ea8289e 100644
--- a/tests/pillar/compute_cluster.sls
+++ b/tests/pillar/compute_cluster.sls
@@ -18,6 +18,7 @@
       password: password
     identity:
       engine: keystone
+      region: RegionOne
       host: 127.0.0.1
       port: 35357
       user: nova
@@ -36,6 +37,7 @@
       port: 9292
     network:
       engine: neutron
+      region: RegionOne
       host: 127.0.0.1
       port: 9696
     cache:
diff --git a/tests/pillar/compute_single.sls b/tests/pillar/compute_single.sls
index 036a140..fa22905 100644
--- a/tests/pillar/compute_single.sls
+++ b/tests/pillar/compute_single.sls
@@ -18,6 +18,7 @@
       password: password
     identity:
       engine: keystone
+      region: RegionOne
       host: 127.0.0.1
       port: 35357
       user: nova
@@ -36,6 +37,7 @@
       port: 9292
     network:
       engine: neutron
+      region: RegionOne
       host: 127.0.0.1
       port: 9696
     cache:
diff --git a/tests/pillar/control_cluster.sls b/tests/pillar/control_cluster.sls
index 158f565..26a8af0 100644
--- a/tests/pillar/control_cluster.sls
+++ b/tests/pillar/control_cluster.sls
@@ -23,6 +23,7 @@
       password: password
     identity:
       engine: keystone
+      region: RegionOne
       host: 127.0.0.1
       port: 35357
       user: nova
@@ -41,6 +42,7 @@
       port: 9292
     network:
       engine: neutron
+      region: RegionOne
       host: 127.0.0.1
       port: 9696
       mtu: 1500
diff --git a/tests/pillar/control_single.sls b/tests/pillar/control_single.sls
index 68c77b2..929dc28 100644
--- a/tests/pillar/control_single.sls
+++ b/tests/pillar/control_single.sls
@@ -23,6 +23,7 @@
       password: password
     identity:
       engine: keystone
+      region: RegionOne
       host: 127.0.0.1
       port: 35357
       user: nova
@@ -40,6 +41,7 @@
       port: 9292
     network:
       engine: neutron
+      region: RegionOne
       host: 127.0.0.1
       port: 9696
       mtu: 1500