Skip to content

Commit

Permalink
Merge branch 'main' of https://github.com/cgoveas/omnia
Browse files Browse the repository at this point in the history
  • Loading branch information
cgoveas committed Feb 1, 2024
2 parents fa88c92 + 7720b80 commit f3771f0
Show file tree
Hide file tree
Showing 11 changed files with 224 additions and 3 deletions.
21 changes: 21 additions & 0 deletions .all-contributorsrc
Original file line number Diff line number Diff line change
Expand Up @@ -622,6 +622,27 @@
"contributions": [
"test"
]
},
{
"login": "glimchb",
"name": "Boris Glimcher",
"avatar_url": "https://avatars.githubusercontent.com/u/36732377?v=4",
"profile": "https://github.com/glimchb",
"contributions": [
"code",
"maintenance",
"doc"
]
},
{
"login": "MoshiBin",
"name": "Moshi Binyamini",
"avatar_url": "https://avatars.githubusercontent.com/u/1297388?v=4",
"profile": "https://github.com/MoshiBin",
"contributions": [
"code",
"maintenance"
]
}
],
"contributorsPerLine": 7,
Expand Down
11 changes: 10 additions & 1 deletion README.md
Original file line number Diff line number Diff line change
Expand Up @@ -25,6 +25,12 @@ Current Status: ![GitHub](https://readthedocs.org/projects/omnia-doc/badge/?vers

Omnia is made available under the [Apache 2.0 license](https://opensource.org/licenses/Apache-2.0)

## Contributing To Omnia

We encourage everyone to help us improve Omnia by contributing to the project. Contributions can be as small as documentation updates or adding example use cases, to adding commenting and properly styling code segments all the way up to full feature contributions. We ask that contributors follow our established [guidelines](https://omnia-doc.readthedocs.io/en/latest/Contributing/index.html) for contributing to the project.

Contributions to Omnia are made through Pull Requests (PRs) to "[devel](https://github.com/dell/omnia/tree/devel)" branch. "[devel](https://github.com/dell/omnia/tree/devel)" is the bleeding edge branch of Omnia packed with experimental and untested features".

## Omnia Community Members:
<img src="docs/source/images/logos/delltech.jpg" height="50px" alt="Dell Technologies">
<img src="https://upload.wikimedia.org/wikipedia/commons/0/0e/Intel_logo_%282020%2C_light_blue%29.svg" height="50px" alt="Intel Corporation">
Expand Down Expand Up @@ -116,7 +122,10 @@ Our thanks go to everyone who makes Omnia possible ([emoji key](https://allcontr
<td align="center" valign="top" width="14.28%"><a href="https://github.com/Subhankar-Adak"><img src="https://avatars.githubusercontent.com/u/140381176?v=4?s=100" width="100px;" alt="Subhankar-Adak"/><br /><sub><b>Subhankar-Adak</b></sub></a><br /><a href="https://github.com/dell/omnia/commits?author=Subhankar-Adak" title="Code">💻</a></td>
<td align="center" valign="top" width="14.28%"><a href="https://github.com/priti-parate"><img src="https://avatars.githubusercontent.com/u/140157516?v=4?s=100" width="100px;" alt="priti-parate"/><br /><sub><b>priti-parate</b></sub></a><br /><a href="https://github.com/dell/omnia/commits?author=priti-parate" title="Code">💻</a></td>
<td align="center" valign="top" width="14.28%"><a href="https://github.com/lavanya5899"><img src="https://avatars.githubusercontent.com/u/140372459?v=4?s=100" width="100px;" alt="Lavanya Adhikari"/><br /><sub><b>Lavanya Adhikari</b></sub></a><br /><a href="https://github.com/dell/omnia/commits?author=lavanya5899" title="Code">💻</a></td>
<td align="center" valign="top" width="14.28%"><a href="https://github.com/preeti-thankachan"><img src="https://avatars.githubusercontent.com/u/141405483?v=4?s=100" width="100px;" alt="preeti-thankachan"/><br /><sub><b>preeti-thankachan</b></sub></a><br /><a href="https://github.com/dell/omnia/commits?author=preeti-thankachan" title="Tests">⚠️</a></td>
<td align="center" valign="top" width="14.28%"><a href="https://github.com/preeti-thankachan"><img src="https://avatars.githubusercontent.com/u/141405483?v=4?s=100" width="100px;" alt="Preeti Thankachan"/><br /><sub><b>preeti-thankachan</b></sub></a><br /><a href="https://github.com/dell/omnia/commits?author=preeti-thankachan" title="Tests">⚠️</a></td>
<td align="center" valign="top" width="14.28%"><a href="https://github.com/glimchb"><img src="https://avatars.githubusercontent.com/u/36732377?v=4?s=100" width="100px;" alt="Boris Glimcher"/><br /><sub><b>Boris Glimcher</b></sub></a><br /><a href="https://github.com/dell/omnia/commits?author=glimchb" title="Code">💻</a> <a href="#maintenance-glimchb" title="Maintenance">🚧</a><a href="https://github.com/dell/omnia/commits?author=glimchb" title="Documentation">📖</a></td>
<td align="center" valign="top" width="14.28%"><a href="https://github.com/MoshiBin"><img src="https://avatars.githubusercontent.com/u/1297388?v=4?s=100" width="100px;" alt="Moshi Binyamini"/><br /><sub>
<b>Moshi Binyamini</b></sub></a><br /><a href="https://github.com/dell/omnia/commits?author=MoshiBin" title="Code">💻</a><a href="#maintenance-MoshiBin" title="Maintenance">🚧</a></td>
</tr>
</tbody>
</table>
Expand Down
2 changes: 2 additions & 0 deletions docs/source/Overview/SupportMatrix/omniainstalledsoftware.rst
Original file line number Diff line number Diff line change
Expand Up @@ -140,4 +140,6 @@ Software Installed by Omnia
+------------------------------------+------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| python.requests | Apache-2.0 | Makes HTTP requests simpler and more human-friendly. |
+------------------------------------+------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| nvidia.dpu_ops | MIT License | NVIDIA DPU OPs collection. |
+------------------------------------+------------------------------------------+------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------+

21 changes: 21 additions & 0 deletions provision/bluefield.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,21 @@
# Copyright 2022 Dell Inc. or its subsidiaries. All Rights Reserved.
#
# 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.
---

- name: Deploy BlueField DPU
hosts: all
connection: local
gather_facts: false
roles:
- bluefield
21 changes: 21 additions & 0 deletions provision/roles/bluefield/tasks/check_prerequisites.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,21 @@
# Copyright 2023 Dell Inc. or its subsidiaries. All Rights Reserved.
#
# 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.
---

- name: Install ansible-galaxy modules
ansible.builtin.command: ansible-galaxy collection install {{ item }}
changed_when: true
with_items: "{{ bluefield_collections }}"
run_once: true

38 changes: 38 additions & 0 deletions provision/roles/bluefield/tasks/configure_pxe_boot.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,38 @@
# Copyright 2023 Dell Inc. or its subsidiaries. All Rights Reserved.
#
# 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.
---

- name: Get power status
ansible.builtin.include_role:
name: nvidia.dpu_ops.bf_bmc
vars:
- bmc_action: "-C 17 chassis power status"
bmc_host: "tbd"
bmc_user: "root"
bmc_password: "tbd"

- name: Force PXE boot
ansible.builtin.include_role:
name: nvidia.dpu_ops.bf_bmc
vars:
- bmc_action: "-C 17 chassis bootdev pxe options=efiboot"
bmc_host: "tbd"
bmc_user: "root"
bmc_password: "tbd"

- name: Configure boot order for PXE booting
ansible.builtin.include_role:
name: nvidia.dpu_ops.bf2_boot
vars:
- pxe_boot_dev: "{{ bluefield_pxe_boot_dev }}"
21 changes: 21 additions & 0 deletions provision/roles/bluefield/tasks/deploy_os.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,21 @@
# Copyright 2022 Dell Inc. or its subsidiaries. All Rights Reserved.
#
# 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.
---

- name: Configure PXE booting
ansible.builtin.include_tasks: configure_pxe_boot.yml

- name: Provision OS
ansible.builtin.debug:
msg: "tbd"
22 changes: 22 additions & 0 deletions provision/roles/bluefield/tasks/main.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,22 @@
# Copyright 2023 Dell Inc. or its subsidiaries. All Rights Reserved.
#
# 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.
---

# tasks file for bluefield

- name: Check prerequisites
ansible.builtin.include_tasks: check_prerequisites.yml

- name: Deploy OS
ansible.builtin.include_tasks: deploy_os.yml
38 changes: 38 additions & 0 deletions provision/roles/bluefield/tasks/update_firmware.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,38 @@
# Copyright 2022 Dell Inc. or its subsidiaries. All Rights Reserved.
#
# 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.
---

- name: Update BMC firmware of DPU
ansible.builtin.include_role:
name: nvidia.dpu_ops.manage_bf_bmc_fw
vars:
- bmc_url: "{{ bmc.url }}/{{ bmc.file }}"

- name: Update CEC firmware of DPU
community.general.redfish_command:
category: Update
command: SimpleUpdate
baseuri: "tbd"
username: "root"
password: "tbd"
update_image_uri: "{{ bmc.url }}/{{ bmc.cec }}"

- name: Update DPU NIC firmware
ansible.builtin.include_role:
name: nvidia.dpu_ops.manage_bf2_fw
vars:
- bmc_host: "tbd"
bmc_user: "root"
bmc_password: "tbd"

28 changes: 28 additions & 0 deletions provision/roles/bluefield/vars/main.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,28 @@
# Copyright 2023 Dell Inc. or its subsidiaries. All Rights Reserved.
#
# 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.
---

# vars file for bluefield

# Usage: check_prerequisites.yml
bluefield_collections: nvidia.dpu_ops:1.0.1

# Usage: configure_pxe_boot.yml
bluefield_pxe_boot_dev: NET-OOB-IPV4

# Usage: update_firmware.yml
bmc:
url: https://content.mellanox.com/BlueField/BMC/23.10-1-oct-2023
file: bf3-bmc-23.10-5_opn.fwpkg
cec: cec1736-ecfw-00.02.0152.0000-n02-rel-prod.fwpkg
Original file line number Diff line number Diff line change
Expand Up @@ -39,13 +39,13 @@
- name: Fetch BMC IP
ansible.builtin.shell: >
set -o pipefail && \
racadm get iDRAC.IPv4.Address | grep Address
ipmitool lan print 1 | grep -E "IP Address\s+:"
register: fetch_bmc_ip
changed_when: false

- name: Set BMC IP
ansible.builtin.set_fact:
bmc_ip: "{{ fetch_bmc_ip.stdout.split('=')[1] }}"
bmc_ip: "{{ fetch_bmc_ip.stdout.split(':')[1] }}"
when: fetch_bmc_ip.stdout is defined

- name: Check IP and service tag already present in node_inventory
Expand Down

0 comments on commit f3771f0

Please sign in to comment.