Python App for Dell Hardware Management

Job ID: 37688547

Budget: $750 – $1,500 USD

I am in need of a sophisticated Python application, preferably built using the Django framework, that can interact with, manage, and upgrade Dell hardware specifically servers and network switches.

The application must be capable of performing the following tasks:
- Sending commands to the hardware
- Receiving data from the hardware
- Upgrading software on Dell devices

The perfect candidate for this project should have strong experience in Python, Django framework and hardware-software interface. An understanding of Dell hardware would be an invaluable asset. Excited to see your proposals and to start work soon.


Here are the requirements:

Runtime Management
- Deploy GitLab monolithic docker container for configuration, control, CI automation (scripts), and report capture.
- Build standalone scripts to launch based on the CI scripting process (bash scripts, and command line level tasks like ansible executions, and/or python script runs)
- Integrate scripts into GitLab platform for repeat efforts and to manage runtime state of tests, re-run individual tests, etc.
- Build Ansible or Python scripts to launch tests and deliver target test system names list for cluster-level testing
> CPU/Memory Test
> GPUMPI (GCGPU Pallas)
> CUDA HPL (NVIDIA HPC-Benchmark)
- Build Ansible or Python pass/fail report output and break-fix punch list

OS Install and configuration
- Leverage pre-installed OS (from Dell) with hostnames correctly mapped (for break-fix efforts) if available
–OR–
- Implement a simple image-on-disk-based deployment tool (Tinkerbell or possibly Ubuntu MaaS), leveraging network MAC address host mapping to deliver runtime consistency in host naming and support initial discovery OS mapping to ensure proper device naming and host port-switch port validation (to support proper failure discovery and remediation)
- Use, or if necessary, extend, pre-built Ubuntu net-boot and/or install-to-disk images to support validation (deploy plus update/install tools is problematic for 10s/100s of machines booting at the same time)
- Build Ansible or Python scripts to ensure OS is up to date and required packages are installed to support test and validation efforts (GCC, Intel BLAS, LLDP, etc.)
- Build Ansible or Python scripts to validate/update/replace firmware and to update/replace loaded device drivers (to ensure consistent results)
- Build Ansible or Python scripts to support LLDP device discovery map to ensure proper device under test hostnames (supports proper reporting of failed nodes by name/location)
Related categories: JavaScript Python Linux Django Software Architecture