Skip to content

Commit

Permalink
Redfish modules: rename _facts -> _info (#60992)
Browse files Browse the repository at this point in the history
* Rename redfish_facts -> redfish_info, idrac_redfish_facts -> idrac_redfish_info

* Update porting guide.

* Add changelog.

* Fix metadata.

* Remove copy artefacts.

* Change from deprecate/new module to rename.
  • Loading branch information
felixfontein committed Aug 26, 2019
1 parent 191aa11 commit 47c2ff4
Show file tree
Hide file tree
Showing 6 changed files with 66 additions and 27 deletions.
5 changes: 5 additions & 0 deletions changelogs/fragments/60992-redfish-info.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
minor_changes:
- The ``idrac_redfish_facts`` module has been renamed to ``idrac_redfish_info``.
When called with the new name, the module no longer returns ``ansible_facts``.
- The ``redfish_facts`` module has been renamed to ``redfish_info``.
When called with the new name, the module no longer returns ``ansible_facts``.
6 changes: 6 additions & 0 deletions docs/docsite/rst/porting_guides/porting_guide_2.9.rst
Original file line number Diff line number Diff line change
Expand Up @@ -332,6 +332,9 @@ be removed in Ansible 2.13. Please update update your playbooks accordingly.
* The ``hpilo_facts`` module was renamed to :ref:`hpilo_info <hpilo_info_module>`.
When called with the new name, the module no longer returns ``ansible_facts``.
To access return values, :ref:`register a variable <registered_variables>`.
* The ``idrac_redfish_facts`` module was renamed to :ref:`idrac_redfish_info <idrac_redfish_info_module>`.
When called with the new name, the module no longer returns ``ansible_facts``.
To access return values, :ref:`register a variable <registered_variables>`.
* The ``iam_mfa_device_facts`` module was renamed to :ref:`iam_mfa_device_info <iam_mfa_device_info_module>`.
* The ``iam_role_facts`` module was renamed to :ref:`iam_role_info <iam_role_info_module>`.
* The ``iam_server_certificate_facts`` module was renamed to :ref:`iam_server_certificate_info <iam_server_certificate_info_module>`.
Expand All @@ -346,6 +349,9 @@ be removed in Ansible 2.13. Please update update your playbooks accordingly.
* The ``python_requirements_facts`` module was renamed to :ref:`python_requirements_info <python_requirements_info_module>`.
* The ``rds_instance_facts`` module was renamed to :ref:`rds_instance_info <rds_instance_info_module>`.
* The ``rds_snapshot_facts`` module was renamed to :ref:`rds_snapshot_info <rds_snapshot_info_module>`.
* The ``redfish_facts`` module was renamed to :ref:`redfish_info <redfish_info_module>`.
When called with the new name, the module no longer returns ``ansible_facts``.
To access return values, :ref:`register a variable <registered_variables>`.
* The ``redshift_facts`` module was renamed to :ref:`redshift_info <redshift_info_module>`.
* The ``route53_facts`` module was renamed to :ref:`route53_info <route53_info_module>`.
* The ``xenserver_guest_facts`` module was renamed to :ref:`xenserver_guest_info <xenserver_guest_info_module>`.
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -13,13 +13,15 @@

DOCUMENTATION = '''
---
module: idrac_redfish_facts
module: idrac_redfish_info
version_added: "2.8"
short_description: Manages servers through iDRAC using Dell Redfish APIs
description:
- Builds Redfish URIs locally and sends them to remote iDRAC controllers to
get information back.
- For use with Dell iDRAC operations that require Redfish OEM extensions
- This module was called C(idrac_redfish_facts) before Ansible 2.9, returning C(ansible_facts).
Note that the M(idrac_redfish_info) module no longer returns C(ansible_facts)!
options:
category:
required: true
Expand Down Expand Up @@ -119,6 +121,10 @@ def main():
),
supports_check_mode=False
)
is_old_facts = module._name == 'idrac_redfish_facts'
if is_old_facts:
module.deprecate("The 'idrac_redfish_facts' module has been renamed to 'idrac_redfish_info', "
"and the renamed one no longer returns ansible_facts", version='2.13')

category = module.params['category']
command_list = module.params['command']
Expand Down Expand Up @@ -159,7 +165,10 @@ def main():
# Return data back or fail with proper message
if result['ret'] is True:
del result['ret']
module.exit_json(ansible_facts=dict(redfish_facts=result))
if is_old_facts:
module.exit_json(ansible_facts=dict(redfish_facts=result))
else:
module.exit_json(redfish_facts=result)
else:
module.fail_json(msg=to_native(result['msg']))

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -13,13 +13,15 @@

DOCUMENTATION = '''
---
module: redfish_facts
module: redfish_info
version_added: "2.7"
short_description: Manages Out-Of-Band controllers using Redfish APIs
description:
- Builds Redfish URIs locally and sends them to remote OOB controllers to
get information back.
- Information retrieved is placed in a location specified by the user.
- This module was called C(redfish_facts) before Ansible 2.9, returning C(ansible_facts).
Note that the M(redfish_info) module no longer returns C(ansible_facts)!
options:
category:
required: false
Expand Down Expand Up @@ -60,144 +62,152 @@

EXAMPLES = '''
- name: Get CPU inventory
redfish_facts:
redfish_info:
category: Systems
command: GetCpuInventory
baseuri: "{{ baseuri }}"
username: "{{ username }}"
password: "{{ password }}"
register: result
- debug:
msg: "{{ redfish_facts.cpu.entries | to_nice_json }}"
msg: "{{ result.redfish_facts.cpu.entries | to_nice_json }}"
- name: Get CPU model
redfish_facts:
redfish_info:
category: Systems
command: GetCpuInventory
baseuri: "{{ baseuri }}"
username: "{{ username }}"
password: "{{ password }}"
register: result
- debug:
msg: "{{ redfish_facts.cpu.entries.0.Model }}"
msg: "{{ result.redfish_facts.cpu.entries.0.Model }}"
- name: Get memory inventory
redfish_facts:
redfish_info:
category: Systems
command: GetMemoryInventory
baseuri: "{{ baseuri }}"
username: "{{ username }}"
password: "{{ password }}"
register: result
- name: Get fan inventory with a timeout of 20 seconds
redfish_facts:
redfish_info:
category: Chassis
command: GetFanInventory
baseuri: "{{ baseuri }}"
username: "{{ username }}"
password: "{{ password }}"
timeout: 20
register: result
- name: Get Virtual Media information
redfish_facts:
redfish_info:
category: Manager
command: GetVirtualMedia
baseuri: "{{ baseuri }}"
username: "{{ username }}"
password: "{{ password }}"
register: result
- debug:
msg: "{{ redfish_facts.virtual_media.entries | to_nice_json }}"
msg: "{{ result.redfish_facts.virtual_media.entries | to_nice_json }}"
- name: Get Volume Inventory
redfish_facts:
redfish_info:
category: Systems
command: GetVolumeInventory
baseuri: "{{ baseuri }}"
username: "{{ username }}"
password: "{{ password }}"
register: result
- debug:
msg: "{{ redfish_facts.volume.entries | to_nice_json }}"
msg: "{{ result.redfish_facts.volume.entries | to_nice_json }}"
- name: Get Session information
redfish_facts:
redfish_info:
category: Sessions
command: GetSessions
baseuri: "{{ baseuri }}"
username: "{{ username }}"
password: "{{ password }}"
register: result
- debug:
msg: "{{ redfish_facts.session.entries | to_nice_json }}"
msg: "{{ result.redfish_facts.session.entries | to_nice_json }}"
- name: Get default inventory information
redfish_facts:
redfish_info:
baseuri: "{{ baseuri }}"
username: "{{ username }}"
password: "{{ password }}"
register: result
- debug:
msg: "{{ redfish_facts | to_nice_json }}"
msg: "{{ result.redfish_facts | to_nice_json }}"
- name: Get several inventories
redfish_facts:
redfish_info:
category: Systems
command: GetNicInventory,GetBiosAttributes
baseuri: "{{ baseuri }}"
username: "{{ username }}"
password: "{{ password }}"
- name: Get default system inventory and user information
redfish_facts:
redfish_info:
category: Systems,Accounts
baseuri: "{{ baseuri }}"
username: "{{ username }}"
password: "{{ password }}"
- name: Get default system, user and firmware information
redfish_facts:
redfish_info:
category: ["Systems", "Accounts", "Update"]
baseuri: "{{ baseuri }}"
username: "{{ username }}"
password: "{{ password }}"
- name: Get Manager NIC inventory information
redfish_facts:
redfish_info:
category: Manager
command: GetManagerNicInventory
baseuri: "{{ baseuri }}"
username: "{{ username }}"
password: "{{ password }}"
- name: Get boot override information
redfish_facts:
redfish_info:
category: Systems
command: GetBootOverride
baseuri: "{{ baseuri }}"
username: "{{ username }}"
password: "{{ password }}"
- name: Get chassis inventory
redfish_facts:
redfish_info:
category: Chassis
command: GetChassisInventory
baseuri: "{{ baseuri }}"
username: "{{ username }}"
password: "{{ password }}"
- name: Get all information available in the Manager category
redfish_facts:
redfish_info:
category: Manager
command: all
baseuri: "{{ baseuri }}"
username: "{{ username }}"
password: "{{ password }}"
- name: Get firmware update capability information
redfish_facts:
redfish_info:
category: Update
command: GetFirmwareUpdateCapabilities
baseuri: "{{ baseuri }}"
username: "{{ username }}"
password: "{{ password }}"
- name: Get all information available in all categories
redfish_facts:
redfish_info:
category: all
command: all
baseuri: "{{ baseuri }}"
Expand Down Expand Up @@ -252,6 +262,10 @@ def main():
),
supports_check_mode=False
)
is_old_facts = module._name == 'redfish_facts'
if is_old_facts:
module.deprecate("The 'redfish_facts' module has been renamed to 'redfish_info', "
"and the renamed one no longer returns ansible_facts", version='2.13')

# admin credentials used for authentication
creds = {'user': module.params['username'],
Expand Down Expand Up @@ -388,7 +402,10 @@ def main():
result["log"] = rf_utils.get_logs()

# Return data back
module.exit_json(ansible_facts=dict(redfish_facts=result))
if is_old_facts:
module.exit_json(ansible_facts=dict(redfish_facts=result))
else:
module.exit_json(redfish_facts=result)


if __name__ == '__main__':
Expand Down

0 comments on commit 47c2ff4

Please sign in to comment.