Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Redfish modules: rename _facts -> _info #60992

Merged
merged 6 commits into from
Aug 26, 2019
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Jump to
Jump to file
Failed to load files.
Diff view
Diff view
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 @@ -292,6 +292,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 @@ -306,6 +309,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