diff --git a/CHANGELOG.rst b/CHANGELOG.rst
new file mode 100644
index 0000000..c69502c
--- /dev/null
+++ b/CHANGELOG.rst
@@ -0,0 +1,13 @@
+=====================================
+OPI DPU Ansible Modules Release Notes
+=====================================
+
+.. contents:: Topics
+
+v1.0.0
+======
+
+New Roles
+---------
+
+- opi.dpu.bmc_fw_update - Firmware update of DPU BMC
diff --git a/changelogs/.plugin-cache.yaml b/changelogs/.plugin-cache.yaml
new file mode 100644
index 0000000..7ca73d7
--- /dev/null
+++ b/changelogs/.plugin-cache.yaml
@@ -0,0 +1,23 @@
+objects:
+ role:
+ bmc_fw_update:
+ description: Firmware update of DPU BMC
+ name: bmc_fw_update
+ version_added: 1.0.0
+plugins:
+ become: {}
+ cache: {}
+ callback: {}
+ cliconf: {}
+ connection: {}
+ filter: {}
+ httpapi: {}
+ inventory: {}
+ lookup: {}
+ module: {}
+ netconf: {}
+ shell: {}
+ strategy: {}
+ test: {}
+ vars: {}
+version: 1.0.0
diff --git a/changelogs/changelog.yaml b/changelogs/changelog.yaml
new file mode 100644
index 0000000..fddb3ef
--- /dev/null
+++ b/changelogs/changelog.yaml
@@ -0,0 +1,9 @@
+ancestor: null
+releases:
+ 1.0.0:
+ objects:
+ role:
+ - description: Firmware update of DPU BMC
+ name: bmc_fw_update
+ namespace: null
+ release_date: '2024-02-20'
diff --git a/changelogs/config.yaml b/changelogs/config.yaml
new file mode 100644
index 0000000..25ad47d
--- /dev/null
+++ b/changelogs/config.yaml
@@ -0,0 +1,31 @@
+changelog_filename_template: ../CHANGELOG.rst
+changelog_filename_version_depth: 0
+changes_file: changelog.yaml
+changes_format: combined
+ignore_other_fragment_extensions: true
+keep_fragments: false
+mention_ancestor: true
+new_plugins_after_name: removed_features
+notesdir: fragments
+prelude_section_name: release_summary
+prelude_section_title: Release Summary
+sections:
+ - - major_changes
+ - Major Changes
+ - - minor_changes
+ - Minor Changes
+ - - breaking_changes
+ - Breaking Changes / Porting Guide
+ - - deprecated_features
+ - Deprecated Features
+ - - removed_features
+ - Removed Features (previously deprecated)
+ - - security_fixes
+ - Security Fixes
+ - - bugfixes
+ - Bugfixes
+ - - known_issues
+ - Known Issues
+title: OPI DPU Ansible Modules
+trivial_section_name: trivial
+use_fqcn: true
diff --git a/docs/.gitignore b/docs/.gitignore
new file mode 100644
index 0000000..f0649db
--- /dev/null
+++ b/docs/.gitignore
@@ -0,0 +1,8 @@
+# Copyright (c) Ansible Project
+# GNU General Public License v3.0+ (see LICENSES/GPL-3.0-or-later.txt or https://www.gnu.org/licenses/gpl-3.0.txt)
+# SPDX-License-Identifier: GPL-3.0-or-later
+
+# Created with antsibull-docs 2.7.0
+
+/temp-rst
+/build
diff --git a/docs/README.md b/docs/README.md
deleted file mode 100644
index e69de29..0000000
diff --git a/docs/bmc_fw_update_role.rst b/docs/bmc_fw_update_role.rst
new file mode 100644
index 0000000..8d6a54c
--- /dev/null
+++ b/docs/bmc_fw_update_role.rst
@@ -0,0 +1,202 @@
+
+.. Document meta
+
+:orphan:
+
+.. |antsibull-internal-nbsp| unicode:: 0xA0
+ :trim:
+
+.. meta::
+ :antsibull-docs: 2.7.0
+
+.. Anchors
+
+.. _ansible_collections.opi.dpu.bmc_fw_update_role:
+
+.. Title
+
+opi.dpu.bmc_fw_update role -- Firmware update of DPU BMC
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++
+
+.. Collection note
+
+.. note::
+ This role is part of the `opi.dpu collection `_ (version 1.0.0).
+
+ It is not included in ``ansible-core``.
+ To check whether it is installed, run :code:`ansible-galaxy collection list`.
+
+ To install it use: :code:`ansible-galaxy collection install opi.dpu`.
+
+ To use it in a playbook, specify: :code:`opi.dpu.bmc_fw_update`.
+
+.. contents::
+ :local:
+ :depth: 2
+
+
+.. Entry point title
+
+Entry point ``main`` -- Firmware update of DPU BMC
+--------------------------------------------------
+
+.. version_added
+
+.. rst-class:: ansible-version-added
+
+New in opi.dpu 1.0.0
+
+.. Deprecated
+
+
+Synopsis
+^^^^^^^^
+
+.. Description
+
+- Update the Firmware of the DPU BMC from URL or local file.
+
+.. Requirements
+
+
+.. Options
+
+Parameters
+^^^^^^^^^^
+
+.. tabularcolumns:: \X{1}{3}\X{2}{3}
+
+.. list-table::
+ :width: 100%
+ :widths: auto
+ :header-rows: 1
+ :class: longtable ansible-option-table
+
+ * - Parameter
+ - Comments
+
+ * - .. raw:: html
+
+
+
+
+ .. _ansible_collections.opi.dpu.bmc_fw_update_role__parameter-main__bmc_fw_update_job_wait:
+
+ .. rst-class:: ansible-option-title
+
+ **bmc_fw_update_job_wait**
+
+ .. raw:: html
+
+
+
+ .. ansible-option-type-line::
+
+ :ansible-option-type:`boolean`
+
+
+
+
+ .. raw:: html
+
+
+
+ - .. raw:: html
+
+
+
+ Whether to wait for job completion or not.
+
+
+ .. rst-class:: ansible-option-line
+
+ :ansible-option-choices:`Choices:`
+
+ - :ansible-option-choices-entry:`false`
+ - :ansible-option-choices-entry-default:`true` :ansible-option-choices-default-mark:`← (default)`
+
+
+ .. raw:: html
+
+
+
+ * - .. raw:: html
+
+
+
+
+ .. _ansible_collections.opi.dpu.bmc_fw_update_role__parameter-main__bmc_fw_update_reboot:
+
+ .. rst-class:: ansible-option-title
+
+ **bmc_fw_update_reboot**
+
+ .. raw:: html
+
+
+
+ .. ansible-option-type-line::
+
+ :ansible-option-type:`boolean`
+
+
+
+
+ .. raw:: html
+
+
+
+ - .. raw:: html
+
+
+
+ Provides the option to apply the update packages immediately or in the next reboot.
+
+ If \ :emphasis:`reboot`\ is set to \ :literal:`true`\ , then the packages are applied immediately.
+
+ If \ :emphasis:`reboot`\ is set to \ :literal:`false`\ , then the packages are staged and applied in the next reboot.
+
+ Packages that do not require a reboot are applied immediately irrespective of I (reboot).
+
+
+ .. rst-class:: ansible-option-line
+
+ :ansible-option-choices:`Choices:`
+
+ - :ansible-option-choices-entry:`false`
+ - :ansible-option-choices-entry-default:`true` :ansible-option-choices-default-mark:`← (default)`
+
+
+ .. raw:: html
+
+
+
+
+.. Attributes
+
+
+.. Notes
+
+
+.. Seealso
+
+
+
+
+.. Extra links
+
+Collection links
+~~~~~~~~~~~~~~~~
+
+.. ansible-links::
+
+ - title: "Issue Tracker"
+ url: "https://github.com/opiproject/ansible-opi-dpu/issues"
+ external: true
+ - title: "Repository (Sources)"
+ url: "https://github.com/opiproject/ansible-opi-dpu"
+ external: true
+
+
+.. Parsing errors
+
diff --git a/docs/index.rst b/docs/index.rst
index 7c271d5..0aecbf3 100644
--- a/docs/index.rst
+++ b/docs/index.rst
@@ -26,7 +26,7 @@ Ansible modules for DPUs
**Supported ansible-core versions:**
-* 2.9.10 or newer
+* 2.14.0 or newer
.. ansible-links::
@@ -50,3 +50,18 @@ Plugin Index
There are no plugins in the opi.dpu collection with automatically generated documentation.
+Role Index
+----------
+
+These are the roles in the opi.dpu collection:
+
+* :ansplugin:`bmc_fw_update role ` -- Firmware update of DPU BMC
+* :ansplugin:`update_bmc_password role ` -- Update Password of DPU BMC for a given user.
+
+.. toctree::
+ :maxdepth: 1
+ :hidden:
+
+ bmc_fw_update_role
+ update_bmc_password_role
+
diff --git a/docs/update_bmc_password_role.rst b/docs/update_bmc_password_role.rst
new file mode 100644
index 0000000..9142482
--- /dev/null
+++ b/docs/update_bmc_password_role.rst
@@ -0,0 +1,180 @@
+
+.. Document meta
+
+:orphan:
+
+.. |antsibull-internal-nbsp| unicode:: 0xA0
+ :trim:
+
+.. meta::
+ :antsibull-docs: 2.7.0
+
+.. Anchors
+
+.. _ansible_collections.opi.dpu.update_bmc_password_role:
+
+.. Title
+
+opi.dpu.update_bmc_password role -- Update Password of DPU BMC for a given user.
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
+
+.. Collection note
+
+.. note::
+ This role is part of the `opi.dpu collection `_ (version 1.0.0).
+
+ It is not included in ``ansible-core``.
+ To check whether it is installed, run :code:`ansible-galaxy collection list`.
+
+ To install it use: :code:`ansible-galaxy collection install opi.dpu`.
+
+ To use it in a playbook, specify: :code:`opi.dpu.update_bmc_password`.
+
+.. contents::
+ :local:
+ :depth: 2
+
+
+.. Entry point title
+
+Entry point ``main`` -- Update Password of DPU BMC for a given user.
+--------------------------------------------------------------------
+
+.. version_added
+
+.. rst-class:: ansible-version-added
+
+New in opi.dpu 1.0.0
+
+.. Deprecated
+
+
+Synopsis
+^^^^^^^^
+
+.. Description
+
+- Update Password of DPU BMC for a given user.
+
+.. Requirements
+
+
+.. Options
+
+Parameters
+^^^^^^^^^^
+
+.. tabularcolumns:: \X{1}{3}\X{2}{3}
+
+.. list-table::
+ :width: 100%
+ :widths: auto
+ :header-rows: 1
+ :class: longtable ansible-option-table
+
+ * - Parameter
+ - Comments
+
+ * - .. raw:: html
+
+
+
+
+ .. _ansible_collections.opi.dpu.update_bmc_password_role__parameter-main__update_bmc_password_login_name:
+
+ .. rst-class:: ansible-option-title
+
+ **update_bmc_password_login_name**
+
+ .. raw:: html
+
+
+
+ .. ansible-option-type-line::
+
+ :ansible-option-type:`string`
+
+
+
+
+ .. raw:: html
+
+
+
+ - .. raw:: html
+
+
+
+ DPU BMC username to change.
+
+
+ .. raw:: html
+
+
+
+ * - .. raw:: html
+
+
+
+
+ .. _ansible_collections.opi.dpu.update_bmc_password_role__parameter-main__update_bmc_password_new_pass:
+
+ .. rst-class:: ansible-option-title
+
+ **update_bmc_password_new_pass**
+
+ .. raw:: html
+
+
+
+ .. ansible-option-type-line::
+
+ :ansible-option-type:`string`
+
+
+
+
+ .. raw:: html
+
+
+
+ - .. raw:: html
+
+
+
+ DPU BMC new password to apply for the given user.
+
+
+ .. raw:: html
+
+
+
+
+.. Attributes
+
+
+.. Notes
+
+
+.. Seealso
+
+
+
+
+.. Extra links
+
+Collection links
+~~~~~~~~~~~~~~~~
+
+.. ansible-links::
+
+ - title: "Issue Tracker"
+ url: "https://github.com/opiproject/ansible-opi-dpu/issues"
+ external: true
+ - title: "Repository (Sources)"
+ url: "https://github.com/opiproject/ansible-opi-dpu"
+ external: true
+
+
+.. Parsing errors
+
diff --git a/playbooks/firmware.yml b/playbooks/firmware.yml
new file mode 100644
index 0000000..bce9507
--- /dev/null
+++ b/playbooks/firmware.yml
@@ -0,0 +1,8 @@
+# SPDX-License-Identifier: Apache-2.0
+# Copyright (c) 2022-2024 Dell Inc, or its subsidiaries.
+
+- name: Update DPU Firmware
+ hosts: all
+ gather_facts: false
+ roles:
+ - bmc_fw_update
diff --git a/roles/bmc_factory_reset/tests/test.yml b/roles/bmc_factory_reset/tests/test.yml
index e7d1237..4b64417 100644
--- a/roles/bmc_factory_reset/tests/test.yml
+++ b/roles/bmc_factory_reset/tests/test.yml
@@ -1,5 +1,6 @@
---
-- hosts: localhost
+- name: Factory resetd DPU to defaults
+ hosts: localhost
remote_user: root
roles:
- bmc_factory_reset
diff --git a/roles/bmc_fw_update/defaults/main.yml b/roles/bmc_fw_update/defaults/main.yml
index 6c5dea3..41d1957 100644
--- a/roles/bmc_fw_update/defaults/main.yml
+++ b/roles/bmc_fw_update/defaults/main.yml
@@ -1,2 +1,8 @@
+# SPDX-License-Identifier: Apache-2.0
+# Copyright (c) 2022-2024 Dell Inc, or its subsidiaries.
+
---
# defaults file for bmc_fw_update
+
+bmc_fw_update_reboot: true
+bmc_fw_update_job_wait: true
diff --git a/roles/bmc_fw_update/meta/argument_specs.yml b/roles/bmc_fw_update/meta/argument_specs.yml
new file mode 100644
index 0000000..7f5a336
--- /dev/null
+++ b/roles/bmc_fw_update/meta/argument_specs.yml
@@ -0,0 +1,22 @@
+# SPDX-License-Identifier: Apache-2.0
+# Copyright (c) 2022-2024 Dell Inc, or its subsidiaries.
+---
+argument_specs:
+ main:
+ version_added: "1.0.0"
+ short_description: Firmware update of DPU BMC
+ description:
+ - Update the Firmware of the DPU BMC from URL or local file.
+ options:
+ bmc_fw_update_reboot:
+ description:
+ - Provides the option to apply the update packages immediately or in the next reboot.
+ - If I(reboot) is set to C(true), then the packages are applied immediately.
+ - If I(reboot) is set to C(false), then the packages are staged and applied in the next reboot.
+ - Packages that do not require a reboot are applied immediately irrespective of I (reboot).
+ type: bool
+ default: true
+ bmc_fw_update_job_wait:
+ description: Whether to wait for job completion or not.
+ type: bool
+ default: true
diff --git a/roles/bmc_fw_update/tasks/main.yml b/roles/bmc_fw_update/tasks/main.yml
index 2be7d44..f7aba8e 100644
--- a/roles/bmc_fw_update/tasks/main.yml
+++ b/roles/bmc_fw_update/tasks/main.yml
@@ -1,2 +1,86 @@
+# SPDX-License-Identifier: Apache-2.0
+# Copyright (c) 2022-2024 Dell Inc, or its subsidiaries.
+
---
# tasks file for bmc_fw_update
+
+- name: Get Firmware Inventory
+ ansible.builtin.include_role:
+ name: get_bmc_facts
+ register: get_bmc_facts_before
+
+- name: Print BMC Version
+ ansible.builtin.debug:
+ msg: "{{ bmc_firmware_version }}"
+
+- name: Download firmware image {{ bmc_fw_update_image.bmc }}
+ ansible.builtin.get_url:
+ url: "{{ bmc_fw_update_image.url }}/{{ bmc_fw_update_image.bmc }}"
+ dest: /tmp/{{ bmc_fw_update_image.bmc }}
+ mode: '0440'
+ delegate_to: localhost
+
+- name: Update BMC firmware of DPU
+ community.general.redfish_command:
+ category: Update
+ command: MultipartHTTPPushUpdate
+ baseuri: "{{ inventory_hostname }}"
+ username: "{{ dpu_bmc_username }}"
+ password: "{{ dpu_bmc_password }}"
+ timeout: 600
+ update_image_file: "/tmp/{{ bmc_fw_update_image.bmc }}"
+ register: result_update_task
+ delegate_to: localhost
+
+- name: Extract task id from update task
+ ansible.builtin.set_fact:
+ bmc_firmware_update_taskid: "{{ result_update_task.return_values.update_status.handle }}"
+
+- name: Print TASK id for tracking
+ ansible.builtin.debug:
+ msg: "{{ result_update_task.return_values.update_status.handle }}"
+
+- name: Pause for 10 seconds for BMC to start task
+ ansible.builtin.pause:
+ seconds: 10
+
+- name: Get the status of an update operation in a loop
+ community.general.redfish_info:
+ category: Update
+ command: GetUpdateStatus
+ baseuri: "{{ inventory_hostname }}"
+ username: "{{ dpu_bmc_username }}"
+ password: "{{ dpu_bmc_password }}"
+ update_handle: "{{ result_update_task.return_values.update_status.handle }}"
+ register: update_progress
+ until: update_progress.redfish_facts.update_status.status != 'Running'
+ retries: 60
+ delay: 30
+ delegate_to: localhost
+
+- name: Validate task was completed
+ ansible.builtin.assert: { that: "update_progress.redfish_facts.update_status.status == 'Completed'" }
+
+- name: Reboot BMC to apply new firmware of DPU
+ ansible.builtin.include_role:
+ name: bmc_reboot
+ when:
+ - bmc_fw_update_reboot is true
+
+- name: Pause for 60 seconds for BMC to Reboot
+ ansible.builtin.pause:
+ seconds: 60
+
+- name: Get Firmware Inventory
+ ansible.builtin.include_role:
+ name: get_bmc_facts
+ register: get_bmc_facts_after
+
+- name: Print BMC Version
+ ansible.builtin.debug:
+ msg: "{{ get_bmc_facts_after.redfish_facts.firmware.entries[0].Version }}"
+
+- name: Validate fw image changed from before
+ ansible.builtin.assert:
+ that:
+ - get_bmc_facts_before.redfish_facts.firmware.entries[0].Version != get_bmc_facts_after.redfish_facts.firmware.entries[0].Version
diff --git a/roles/bmc_fw_update/tests/test.yml b/roles/bmc_fw_update/tests/test.yml
index cc9d540..692fd1a 100644
--- a/roles/bmc_fw_update/tests/test.yml
+++ b/roles/bmc_fw_update/tests/test.yml
@@ -1,5 +1,6 @@
---
-- hosts: localhost
+- name: Firmware update of the DPU BMC
+ hosts: localhost
remote_user: root
roles:
- bmc_fw_update
diff --git a/roles/bmc_fw_update/vars/main.yml b/roles/bmc_fw_update/vars/main.yml
index 4abc8d8..a316007 100644
--- a/roles/bmc_fw_update/vars/main.yml
+++ b/roles/bmc_fw_update/vars/main.yml
@@ -1,2 +1,10 @@
+# SPDX-License-Identifier: Apache-2.0
+# Copyright (c) 2022-2024 Dell Inc, or its subsidiaries.
+
---
# vars file for bmc_fw_update
+
+bmc_fw_update_image:
+ url: https://content.mellanox.com/BlueField/BMC/23.10-1-oct-2023
+ bmc: bf3-bmc-23.10-5_opn.fwpkg
+ cec: cec1736-ecfw-00.02.0152.0000-n02-rel-prod.fwpkg
diff --git a/roles/bmc_reboot/tasks/main.yml b/roles/bmc_reboot/tasks/main.yml
index 812eb30..ec312c1 100644
--- a/roles/bmc_reboot/tasks/main.yml
+++ b/roles/bmc_reboot/tasks/main.yml
@@ -1,2 +1,14 @@
+# SPDX-License-Identifier: Apache-2.0
+# Copyright (c) 2022-2024 Dell Inc, or its subsidiaries.
+
---
# tasks file for bmc_reboot
+
+- name: Reboot BMC to apply new firmware of DPU
+ community.general.redfish_command:
+ category: Manager
+ command: GracefulRestart
+ baseuri: "{{ inventory_hostname }}"
+ username: "{{ dpu_bmc_username }}"
+ password: "{{ dpu_bmc_password }}"
+ delegate_to: localhost
diff --git a/roles/bmc_reboot/tests/test.yml b/roles/bmc_reboot/tests/test.yml
index c3bad8d..8b58446 100644
--- a/roles/bmc_reboot/tests/test.yml
+++ b/roles/bmc_reboot/tests/test.yml
@@ -1,5 +1,6 @@
---
-- hosts: localhost
+- name: Reset DPU BMC
+ hosts: localhost
remote_user: root
roles:
- bmc_reboot
diff --git a/roles/enable_secure_boot/tests/test.yml b/roles/enable_secure_boot/tests/test.yml
index 2114c99..2c99e96 100644
--- a/roles/enable_secure_boot/tests/test.yml
+++ b/roles/enable_secure_boot/tests/test.yml
@@ -1,5 +1,6 @@
---
-- hosts: localhost
+- name: Enable DPU Secure boot
+ hosts: localhost
remote_user: root
roles:
- enable_secure_boot
diff --git a/roles/get_bmc_facts/tasks/main.yml b/roles/get_bmc_facts/tasks/main.yml
index e77ab00..c861ee6 100644
--- a/roles/get_bmc_facts/tasks/main.yml
+++ b/roles/get_bmc_facts/tasks/main.yml
@@ -1,2 +1,19 @@
+# SPDX-License-Identifier: Apache-2.0
+# Copyright (c) 2022-2024 Dell Inc, or its subsidiaries.
+
---
# tasks file for get_bmc_facts
+
+- name: Get Firmware Inventory
+ community.general.redfish_info:
+ category: Update
+ command: GetFirmwareInventory
+ baseuri: "{{ inventory_hostname }}"
+ username: "{{ dpu_bmc_username }}"
+ password: "{{ dpu_bmc_password }}"
+ register: result
+ delegate_to: localhost
+
+- name: Extract BMC firmware version from inventory
+ ansible.builtin.set_fact:
+ bmc_firmware_version: "{{ result.redfish_facts.firmware.entries[0].Version }}"
diff --git a/roles/get_bmc_facts/tests/test.yml b/roles/get_bmc_facts/tests/test.yml
index aa4ead0..aac3a6c 100644
--- a/roles/get_bmc_facts/tests/test.yml
+++ b/roles/get_bmc_facts/tests/test.yml
@@ -1,5 +1,6 @@
---
-- hosts: localhost
+- name: Gather DPU BMC facts
+ hosts: localhost
remote_user: root
roles:
- get_bmc_facts
diff --git a/roles/update_bmc_password/meta/argument_specs.yml b/roles/update_bmc_password/meta/argument_specs.yml
new file mode 100644
index 0000000..a63b1d0
--- /dev/null
+++ b/roles/update_bmc_password/meta/argument_specs.yml
@@ -0,0 +1,16 @@
+# SPDX-License-Identifier: Apache-2.0
+# Copyright (c) 2022-2024 Dell Inc, or its subsidiaries.
+---
+argument_specs:
+ main:
+ version_added: "1.0.0"
+ short_description: Update Password of DPU BMC for a given user.
+ description:
+ - Update Password of DPU BMC for a given user.
+ options:
+ update_bmc_password_login_name:
+ type: str
+ description: DPU BMC username to change.
+ update_bmc_password_new_pass:
+ type: str
+ description: DPU BMC new password to apply for the given user.
diff --git a/roles/update_bmc_password/tasks/main.yml b/roles/update_bmc_password/tasks/main.yml
index 2c7f454..7551c9c 100644
--- a/roles/update_bmc_password/tasks/main.yml
+++ b/roles/update_bmc_password/tasks/main.yml
@@ -1,2 +1,16 @@
+# SPDX-License-Identifier: Apache-2.0
+# Copyright (c) 2022-2024 Dell Inc, or its subsidiaries.
+
---
# tasks file for update_bmc_password
+
+- name: Update user password
+ community.general.redfish_command:
+ category: Accounts
+ command: UpdateUserPassword
+ baseuri: "{{ inventory_hostname }}"
+ username: "{{ dpu_bmc_username }}"
+ password: "{{ dpu_bmc_password }}"
+ account_username: "{{ update_bmc_password_login_name }}"
+ account_password: "{{ update_bmc_password_new_pass }}"
+ delegate_to: localhost
diff --git a/roles/update_bmc_password/tests/test.yml b/roles/update_bmc_password/tests/test.yml
index 74492d5..b8e6c21 100644
--- a/roles/update_bmc_password/tests/test.yml
+++ b/roles/update_bmc_password/tests/test.yml
@@ -1,5 +1,6 @@
---
-- hosts: localhost
+- name: Update DPU BMC password
+ hosts: localhost
remote_user: root
roles:
- update_bmc_password