From 13cdd6cea47d3d7b3b8b8600cd1b4bd47c3196e1 Mon Sep 17 00:00:00 2001
From: Akashdeep Dhar <akashdeep.dhar@gmail.com>
Date: Sep 30 2024 11:16:55 +0000
Subject: Add SOP for iDRAC firmware upgrades


Signed-off-by: Akashdeep Dhar <akashdeep.dhar@gmail.com>

---

diff --git a/modules/howtos/assets/images/drac-01.png b/modules/howtos/assets/images/drac-01.png
new file mode 100644
index 0000000..13dcd7e
Binary files /dev/null and b/modules/howtos/assets/images/drac-01.png differ
diff --git a/modules/howtos/assets/images/drac-02.png b/modules/howtos/assets/images/drac-02.png
new file mode 100644
index 0000000..a525be3
Binary files /dev/null and b/modules/howtos/assets/images/drac-02.png differ
diff --git a/modules/howtos/assets/images/drac-03.png b/modules/howtos/assets/images/drac-03.png
new file mode 100644
index 0000000..d9be234
Binary files /dev/null and b/modules/howtos/assets/images/drac-03.png differ
diff --git a/modules/howtos/assets/images/drac-04.png b/modules/howtos/assets/images/drac-04.png
new file mode 100644
index 0000000..4290317
Binary files /dev/null and b/modules/howtos/assets/images/drac-04.png differ
diff --git a/modules/howtos/assets/images/drac-05.png b/modules/howtos/assets/images/drac-05.png
new file mode 100644
index 0000000..36a84e6
Binary files /dev/null and b/modules/howtos/assets/images/drac-05.png differ
diff --git a/modules/howtos/assets/images/drac-06.png b/modules/howtos/assets/images/drac-06.png
new file mode 100644
index 0000000..b2cf995
Binary files /dev/null and b/modules/howtos/assets/images/drac-06.png differ
diff --git a/modules/howtos/assets/images/drac-07.png b/modules/howtos/assets/images/drac-07.png
new file mode 100644
index 0000000..2b64976
Binary files /dev/null and b/modules/howtos/assets/images/drac-07.png differ
diff --git a/modules/howtos/assets/images/drac-08.png b/modules/howtos/assets/images/drac-08.png
new file mode 100644
index 0000000..cde2a6d
Binary files /dev/null and b/modules/howtos/assets/images/drac-08.png differ
diff --git a/modules/howtos/assets/images/drac-09.png b/modules/howtos/assets/images/drac-09.png
new file mode 100644
index 0000000..c277b0e
Binary files /dev/null and b/modules/howtos/assets/images/drac-09.png differ
diff --git a/modules/howtos/assets/images/drac-10.png b/modules/howtos/assets/images/drac-10.png
new file mode 100644
index 0000000..0218e8a
Binary files /dev/null and b/modules/howtos/assets/images/drac-10.png differ
diff --git a/modules/howtos/assets/images/drac-11.png b/modules/howtos/assets/images/drac-11.png
new file mode 100644
index 0000000..e8392b3
Binary files /dev/null and b/modules/howtos/assets/images/drac-11.png differ
diff --git a/modules/howtos/assets/images/drac-12.png b/modules/howtos/assets/images/drac-12.png
new file mode 100644
index 0000000..9c57912
Binary files /dev/null and b/modules/howtos/assets/images/drac-12.png differ
diff --git a/modules/howtos/assets/images/drac-13.png b/modules/howtos/assets/images/drac-13.png
new file mode 100644
index 0000000..7861e8c
Binary files /dev/null and b/modules/howtos/assets/images/drac-13.png differ
diff --git a/modules/howtos/pages/idrac-firmware-update.adoc b/modules/howtos/pages/idrac-firmware-update.adoc
new file mode 100644
index 0000000..e1b193f
--- /dev/null
+++ b/modules/howtos/pages/idrac-firmware-update.adoc
@@ -0,0 +1,168 @@
+= How to perform firmware upgrades on iDRAC management controllers?
+
+In order to perform firmware upgrades on iDRAC management controllers, one
+needs to have access to the web interface of the nodes, present within the Red
+Hat virtual private network.
+
+[NOTE]
+====
+You need to have the following information handy to follow the process.
+
+1. Credentials for the web interfaces of the iDRAC management controllers
+2. Access to the `batcave01` node via SSH
+3. Access to the Red Hat intranet via Red Hat VPN
+====
+
+== Steps
+
+1.  Connect with the
+    https://pagure.io/fedora-infrastructure/[*Fedora Infrastructure*] team to
+    request the credentials for the web interface of the iDRAC management
+    controllers.
+
+2.  Ensure that the device is connected to the Red Hat virtual private network
+    before proceeding with the discovering their IP addresses.
+
+3.  Connect to the `batcave01` node using SSH and ping the management FQDNs to
+    discover the IP address of the web interface.
+
+    [cols="3*", options="header"]
+    .IDRAC Management Controllers FQDN/IP Mapping (Recorded at 30 Sep 2024)
+    |==================================================================================================
+    |    | FQDN                                       | MGMT FQDN
+    | 1  | autosign02.iad2.fedoraproject.org          | autosign02.mgmt.iad2.fedoraproject.org
+    | 2  | backup01.iad2.fedoraproject.org            | backup01.mgmt.iad2.fedoraproject.org
+    | 3  | bkernel01.iad2.fedoraproject.org           | bkernel01.mgmt.iad2.fedoraproject.org
+    | 4  | bkernel02.iad2.fedoraproject.org           | bkernel02.mgmt.iad2.fedoraproject.org
+    | 5  | buildhw-x86-01.iad2.fedoraproject.org      | buildhw-x86-01.mgmt.iad2.fedoraproject.org
+    | 6  | buildhw-x86-02.iad2.fedoraproject.org      | buildhw-x86-02.mgmt.iad2.fedoraproject.org
+    | 7  | buildhw-x86-03.iad2.fedoraproject.org      | buildhw-x86-03.mgmt.iad2.fedoraproject.org
+    | 8  | buildhw-x86-04.iad2.fedoraproject.org      | buildhw-x86-04.mgmt.iad2.fedoraproject.org
+    | 9  | buildhw-x86-05.iad2.fedoraproject.org      | buildhw-x86-05.mgmt.iad2.fedoraproject.org
+    | 10 | buildhw-x86-06.iad2.fedoraproject.org      | buildhw-x86-06.mgmt.iad2.fedoraproject.org
+    | 11 | buildhw-x86-07.iad2.fedoraproject.org      | buildhw-x86-07.mgmt.iad2.fedoraproject.org
+    | 12 | buildhw-x86-08.iad2.fedoraproject.org      | buildhw-x86-08.mgmt.iad2.fedoraproject.org
+    | 13 | buildhw-x86-09.iad2.fedoraproject.org      | buildhw-x86-09.mgmt.iad2.fedoraproject.org
+    | 14 | buildhw-x86-10.iad2.fedoraproject.org      | buildhw-x86-10.mgmt.iad2.fedoraproject.org
+    | 15 | buildhw-x86-11.iad2.fedoraproject.org      | buildhw-x86-11.mgmt.iad2.fedoraproject.org
+    | 16 | buildhw-x86-12.iad2.fedoraproject.org      | buildhw-x86-12.mgmt.iad2.fedoraproject.org
+    | 17 | buildhw-x86-13.iad2.fedoraproject.org      | buildhw-x86-13.mgmt.iad2.fedoraproject.org
+    | 18 | buildhw-x86-14.iad2.fedoraproject.org      | buildhw-x86-14.mgmt.iad2.fedoraproject.org
+    | 19 | buildhw-x86-15.iad2.fedoraproject.org      | buildhw-x86-15.mgmt.iad2.fedoraproject.org
+    | 20 | buildhw-x86-16.iad2.fedoraproject.org      | buildhw-x86-16.mgmt.iad2.fedoraproject.org
+    | 21 | bvmhost-x86-01.iad2.fedoraproject.org      | bvmhost-x86-01.mgmt.iad2.fedoraproject.org
+    | 22 | bvmhost-x86-01.stg.iad2.fedoraproject.org  | bvmhost-x86-01.stg.mgmt.iad2.fedoraproject.org
+    | 23 | bvmhost-x86-02.iad2.fedoraproject.org      | bvmhost-x86-02.mgmt.iad2.fedoraproject.org
+    | 24 | bvmhost-x86-02.stg.iad2.fedoraproject.org  | bvmhost-x86-02.stg.mgmt.iad2.fedoraproject.org
+    | 25 | bvmhost-x86-03.iad2.fedoraproject.org      | bvmhost-x86-03.mgmt.iad2.fedoraproject.org
+    | 26 | bvmhost-x86-03.stg.iad2.fedoraproject.org  | bvmhost-x86-03.stg.mgmt.iad2.fedoraproject.org
+    | 27 | bvmhost-x86-04.iad2.fedoraproject.org      | bvmhost-x86-04.mgmt.iad2.fedoraproject.org
+    | 28 | bvmhost-x86-05.iad2.fedoraproject.org      | bvmhost-x86-05.mgmt.iad2.fedoraproject.org
+    | 29 | bvmhost-x86-05.stg.iad2.fedoraproject.org  | bvmhost-x86-05.stg.mgmt.iad2.fedoraproject.org
+    | 30 | bvmhost-x86-06.iad2.fedoraproject.org      | bvmhost-x86-06.mgmt.iad2.fedoraproject.org
+    | 31 | bvmhost-x86-07.iad2.fedoraproject.org      | bvmhost-x86-07.mgmt.iad2.fedoraproject.org
+    | 32 | bvmhost-x86-08.iad2.fedoraproject.org      | bvmhost-x86-08.mgmt.iad2.fedoraproject.org
+    | 33 | ibiblio02.fedoraproject.org                | ibiblio02.fedoraproject.org
+    | 34 | ibiblio05.fedoraproject.org                | ibiblio05.fedoraproject.org
+    | 35 | kernel01.iad2.fedoraproject.org            | kernel01.mgmt.iad2.fedoraproject.org
+    | 36 | kernel02.iad2.fedoraproject.org            | kernel02.mgmt.iad2.fedoraproject.org
+    | 37 | openqa-x86-worker01.iad2.fedoraproject.org | openqa-x86-worker01.mgmt.iad2.fedoraproject.org
+    | 38 | openqa-x86-worker02.iad2.fedoraproject.org | openqa-x86-worker02.mgmt.iad2.fedoraproject.org
+    | 39 | openqa-x86-worker03.iad2.fedoraproject.org | openqa-x86-worker03.mgmt.iad2.fedoraproject.org
+    | 40 | openqa-x86-worker04.iad2.fedoraproject.org | openqa-x86-worker04.mgmt.iad2.fedoraproject.org
+    | 41 | openqa-x86-worker05.iad2.fedoraproject.org | openqa-x86-worker05.mgmt.iad2.fedoraproject.org
+    | 42 | openqa-x86-worker06.iad2.fedoraproject.org | openqa-x86-worker06.mgmt.iad2.fedoraproject.org
+    | 43 | osuosl02.fedoraproject.org                 | osuosl02.fedoraproject.org
+    | 44 | qvmhost-x86-01.iad2.fedoraproject.org      | qvmhost-x86-01.mgmt.iad2.fedoraproject.org
+    | 45 | qvmhost-x86-02.iad2.fedoraproject.org      | qvmhost-x86-02.mgmt.iad2.fedoraproject.org
+    | 46 | sign-vault01.iad2.fedoraproject.org        | sign-vault01.mgmt.iad2.fedoraproject.org
+    | 47 | sign-vault02.iad2.fedoraproject.org        | sign-vault02.mgmt.iad2.fedoraproject.org
+    | 48 | virthost-cc-rdu02.fedoraproject.org        | virthost-cc-rdu02.fedoraproject.org
+    | 49 | vmhost-x86-01.iad2.fedoraproject.org       | vmhost-x86-01.mgmt.iad2.fedoraproject.org
+    | 50 | vmhost-x86-01.stg.iad2.fedoraproject.org   | vmhost-x86-01.stg.mgmt.iad2.fedoraproject.org
+    | 51 | vmhost-x86-02.iad2.fedoraproject.org       | vmhost-x86-02.mgmt.iad2.fedoraproject.org
+    | 52 | vmhost-x86-02.stg.iad2.fedoraproject.org   | vmhost-x86-02.stg.mgmt.iad2.fedoraproject.org
+    | 53 | vmhost-x86-03.iad2.fedoraproject.org       | vmhost-x86-03.mgmt.iad2.fedoraproject.org
+    | 54 | vmhost-x86-04.iad2.fedoraproject.org       | vmhost-x86-04.mgmt.iad2.fedoraproject.org
+    | 55 | vmhost-x86-05.iad2.fedoraproject.org       | vmhost-x86-05.mgmt.iad2.fedoraproject.org
+    | 56 | vmhost-x86-05.stg.iad2.fedoraproject.org   | vmhost-x86-05.stg.mgmt.iad2.fedoraproject.org
+    | 57 | vmhost-x86-06.iad2.fedoraproject.org       | vmhost-x86-06.mgmt.iad2.fedoraproject.org
+    | 58 | vmhost-x86-06.stg.iad2.fedoraproject.org   | vmhost-x86-06.stg.mgmt.iad2.fedoraproject.org
+    | 59 | vmhost-x86-07.iad2.fedoraproject.org       | vmhost-x86-07.mgmt.iad2.fedoraproject.org
+    | 60 | vmhost-x86-07.stg.iad2.fedoraproject.org   | vmhost-x86-07.stg.mgmt.iad2.fedoraproject.org
+    | 61 | vmhost-x86-08.iad2.fedoraproject.org       | vmhost-x86-08.mgmt.iad2.fedoraproject.org
+    | 62 | vmhost-x86-08.stg.iad2.fedoraproject.org   | vmhost-x86-08.stg.mgmt.iad2.fedoraproject.org
+    | 63 | vmhost-x86-09.stg.iad2.fedoraproject.org   | vmhost-x86-09.stg.mgmt.iad2.fedoraproject.org
+    | 64 | vmhost-x86-11.stg.iad2.fedoraproject.org   | vmhost-x86-11.stg.mgmt.iad2.fedoraproject.org
+    | 65 | vmhost-x86-12.stg.iad2.fedoraproject.org   | vmhost-x86-12.stg.mgmt.iad2.fedoraproject.org
+    | 66 | vmhost-x86-cc01.rdu-cc.fedoraproject.org   | vmhost-x86-cc01.rdu-cc.fedoraproject.org
+    | 67 | vmhost-x86-cc02.rdu-cc.fedoraproject.org   | vmhost-x86-cc02.rdu-cc.fedoraproject.org
+    | 68 | vmhost-x86-cc03.rdu-cc.fedoraproject.org   | vmhost-x86-cc03.rdu-cc.fedoraproject.org
+    | 69 | vmhost-x86-cc05.rdu-cc.fedoraproject.org   | vmhost-x86-cc05.rdu-cc.fedoraproject.org
+    | 70 | vmhost-x86-cc06.rdu-cc.fedoraproject.org   | vmhost-x86-cc06.rdu-cc.fedoraproject.org
+    | 71 | worker02.ocp.iad2.fedoraproject.org        | worker02.ocp.mgmt.iad2.fedoraproject.org
+    | 72 | worker04.iad2.fedoraproject.org            | worker04.mgmt.iad2.fedoraproject.org
+    | 73 | worker04-stg.ocp.iad2.fedoraproject.org    | worker04-stg.ocp.mgmt.iad2.fedoraproject.org
+    | 74 | worker04.ocp.iad2.fedoraproject.org        | worker04.ocp.mgmt.iad2.fedoraproject.org
+    | 75 | worker05.iad2.fedoraproject.org            | worker05.mgmt.iad2.fedoraproject.org
+    | 76 | worker05.ocp.iad2.fedoraproject.org        | worker05.ocp.mgmt.iad2.fedoraproject.org
+    | 77 | worker06.ocp.iad2.fedoraproject.org        | worker06.ocp.mgmt.iad2.fedoraproject.org
+    |==================================================================================================
+
+4.  For this instance, we would be performing firmware upgrade on the iDRAC
+    management controller of the FQDN `autosign02.iad2.fedoraproject.org`.
+
+5.  Ping the management FQDN from the `batcave01` session to obtain the internal
+    IP address of the same `a.b.c.d` and open it up in web browser.
+
+6.  Log into the web interface of the management controller using the provided
+    credentials after skipping the HTTPS warning message.
+    image:drac-01.png[image]
+
+7.  Make a note of the *Service Tag* from the dashboard of the web interface
+    (which, in this case, is `DEADCAFE`).
+    image:drac-02.png[image]
+
+8.  Head over to the *Dell Support* website on a separate browser session or tab
+    and enter the Service Tag in the identifier field.
+    image:drac-03.png[image]
+
+9.  When the *Product Support* page finishes loading for the associated product
+    switch over to the *Drivers & Downloads* tab.
+    image:drac-04.png[image]
+
+10. Search for keywords like `Firmware` and `iDRAC` in the search bar to find
+    the *iDRAC Firmware* update package file.
+    image:drac-05.png[image]
+
+11. Scroll down to the entry of the *iDRAC Firmware* update package file and
+    confirm the update package file extension to be *EXE*.
+    image:drac-06.png[image]
+
+12. Confirm the presence of the *current version* of the *iDRAC Firmware* in
+    the *Older Versions* list to ensure correct selection.
+    image:drac-07.png[image]
+
+13. Navigate to the *Maintenance* > *System Update* > *Manual Update* section
+    of the web interface of the management controller.
+    image:drac-08.png[image]
+
+14. Upload the *iDRAC Firmware* update package file to the web interface and
+    wait for it to finish uploading before continuing.
+    image:drac-09.png[image]
+
+15. After uploading has finished, click on the *Install* button to begin with
+    installing the uploaded *iDRAC Firmware* package file.
+    image:drac-10.png[image]
+
+16. Navigate to the *Job Queue* section of the web interface after clicking on
+    the *Job Queue* button from the modal window.
+    image:drac-11.png[image]
+
+17. Observe the running processes in the *Job Queue* section from the
+    *Maintenance* section and wait for the installation to complete.
+    image:drac-12.png[image]
+
+18. After the installation completes and the management controller is finished
+    rebooting, confirm the *current version* from the dashboard.
+    image:drac-13.png[image]
diff --git a/modules/sysadmin_guide/pages/index.adoc b/modules/sysadmin_guide/pages/index.adoc
index 95da5d5..033681a 100644
--- a/modules/sysadmin_guide/pages/index.adoc
+++ b/modules/sysadmin_guide/pages/index.adoc
@@ -226,4 +226,5 @@ In this section is list of guides for common tasks that are done in Fedora Infra
 * xref:howtos:scale_up_or_down_deployment.adoc[How to scale up/down a deployment in OpenShift]
 * xref:howtos:share_tmux_session.adoc[How to share a tmux session accross users]
 * xref:howtos:unblock_bodhi_rawhide_updates.adoc[How to unblock Bodhi rawhide updates]
-* xref:howtos:update_watch_dist_git.adoc[How to udpate the watch status of someone in dist-git]
+* xref:howtos:update_watch_dist_git.adoc[How to update the watch status of someone in dist-git]
+* xref:howtos:idrac-firmware-update.adoc[How to perform firmware upgrades on iDRAC management controllers?]

