Merge "Initial support to collect node facts like UUID"
This commit is contained in:
commit
aeefdc9f74
@ -82,6 +82,7 @@ def main():
|
|||||||
name=dict(required=False),
|
name=dict(required=False),
|
||||||
mac=dict(required=False),
|
mac=dict(required=False),
|
||||||
ironic_url=dict(required=False),
|
ironic_url=dict(required=False),
|
||||||
|
skip_items=dict(required=False, type='list'),
|
||||||
)
|
)
|
||||||
module_kwargs = openstack_module_kwargs()
|
module_kwargs = openstack_module_kwargs()
|
||||||
module = AnsibleModule(argument_spec, **module_kwargs)
|
module = AnsibleModule(argument_spec, **module_kwargs)
|
||||||
@ -114,13 +115,18 @@ def main():
|
|||||||
if server:
|
if server:
|
||||||
facts = dict(server)
|
facts = dict(server)
|
||||||
new_driver_info = dict()
|
new_driver_info = dict()
|
||||||
# Rebuild driver_info to remove any password
|
# Rebuild driver_info to remove any password values
|
||||||
# fields as they can be masked.
|
# as they will be masked.
|
||||||
for key, value in six.iteritems(facts['driver_info']):
|
for key, value in six.iteritems(facts['driver_info']):
|
||||||
if 'password' not in key:
|
if 'password' not in key:
|
||||||
new_driver_info[key] = value
|
new_driver_info[key] = value
|
||||||
if new_driver_info:
|
if new_driver_info:
|
||||||
facts['driver_info'] = new_driver_info
|
facts['driver_info'] = new_driver_info
|
||||||
|
|
||||||
|
for item in module.params['skip_items']:
|
||||||
|
if item in facts:
|
||||||
|
del facts[item]
|
||||||
|
|
||||||
module.exit_json(changed=False, ansible_facts=facts)
|
module.exit_json(changed=False, ansible_facts=facts)
|
||||||
|
|
||||||
else:
|
else:
|
||||||
|
@ -0,0 +1,26 @@
|
|||||||
|
# Copyright (c) 2015 Hewlett-Packard Development Company, L.P.
|
||||||
|
#
|
||||||
|
# Licensed under the Apache License, Version 2.0 (the "License");
|
||||||
|
# you may not use this file except in compliance with the License.
|
||||||
|
# You may obtain a copy of the License at
|
||||||
|
#
|
||||||
|
# http://www.apache.org/licenses/LICENSE-2.0
|
||||||
|
#
|
||||||
|
# Unless required by applicable law or agreed to in writing, software
|
||||||
|
# distributed under the License is distributed on an "AS IS" BASIS,
|
||||||
|
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||||
|
# See the License for the specific language governing permissions and
|
||||||
|
# limitations under the License.
|
||||||
|
---
|
||||||
|
# Note(TheJulia): This step allows us to collect things that
|
||||||
|
# ironic knows, that we do not know potentially, such as an UUID
|
||||||
|
# should a node have been created without one.
|
||||||
|
- name: "Collecting node facts"
|
||||||
|
os_ironic_facts:
|
||||||
|
auth_type: None
|
||||||
|
auth: None
|
||||||
|
ironic_url: "{{ ironic_url }}"
|
||||||
|
uuid: "{{ uuid | default() }}"
|
||||||
|
name: "{{ name | default() }}"
|
||||||
|
skip_items:
|
||||||
|
- instance_info
|
Loading…
Reference in New Issue
Block a user