Create nodepool.cloud inventory variable

It is possible we want to know the name of the cloud, which could be
different from nodepool.provider. In the case of openstack-infra, this
is to fix a DNS issue by when creating the mirror name of our regional
mirrors.

Change-Id: I3ac65744356e3fa25d10208d11be95dc16b1e2e7
Depends-On: Idc7686167d131d8e74d55b8f7f50224a1b782091
Signed-off-by: Paul Belanger <pabelanger@redhat.com>
diff --git a/tests/base.py b/tests/base.py
index 480db83..028a8b1 100755
--- a/tests/base.py
+++ b/tests/base.py
@@ -1659,6 +1659,7 @@
         now = time.time()
         path = '/nodepool/nodes/'
         data = dict(type=node_type,
+                    cloud='test-cloud',
                     provider='test-provider',
                     region='test-region',
                     az='test-az',
diff --git a/tests/fixtures/config/ansible/git/common-config/playbooks/check-vars.yaml b/tests/fixtures/config/ansible/git/common-config/playbooks/check-vars.yaml
index cd343d0..a63ecbf 100644
--- a/tests/fixtures/config/ansible/git/common-config/playbooks/check-vars.yaml
+++ b/tests/fixtures/config/ansible/git/common-config/playbooks/check-vars.yaml
@@ -4,6 +4,7 @@
       assert:
         that:
           - nodepool.az == 'test-az'
+          - nodepool.cloud == 'test-cloud'
           - nodepool.region == 'test-region'
           - nodepool.provider == 'test-provider'
 
diff --git a/zuul/executor/client.py b/zuul/executor/client.py
index 6d1a54f..1c3693d 100644
--- a/zuul/executor/client.py
+++ b/zuul/executor/client.py
@@ -218,6 +218,7 @@
         for node in nodeset.getNodes():
             nodes.append(dict(name=node.name, label=node.label,
                               az=node.az,
+                              cloud=node.cloud,
                               host_keys=node.host_keys,
                               provider=node.provider,
                               region=node.region,
diff --git a/zuul/executor/server.py b/zuul/executor/server.py
index 95e8e0b..be12812 100644
--- a/zuul/executor/server.py
+++ b/zuul/executor/server.py
@@ -1152,6 +1152,7 @@
                 ansible_port=port,
                 nodepool=dict(
                     az=node.get('az'),
+                    cloud=node.get('cloud'),
                     provider=node.get('provider'),
                     region=node.get('region')))