HPE's Smart Update Manager helps you deploy firmware and software updates to your HPE servers. This Docker container allows you to run it on your local machine the Docker way.
This container has been tested on macOS. In Linux, it should work ootb.
The container can be run in 2 ways.
Using docker-compose
. This is the preferred method. Replace the volumes in docker-compose.yml
with the appropriate paths.
docker-compose up
Using docker run
. Replace the volumes (-v
) with the appropriate paths.
docker run -p 63002:63002 \
-v $(pwd)/conf:/var/tmp/sum \
-v $(pwd)/baselines:/opt/sum-baselines
Set the root password.
docker exec -it <container_name> bash -c "chpasswd <<< 'root:p@ssw0rd'"
Login to the SUM interface at `https://localhost:63002` using the `root` credentials configured in the previous step.
Debug the container
---
Get a bash shell on the container to debug it.
```bash
docker run -it --entrypoint=bash -p 63002:63002 -v $(pwd)/conf:/var/tmp/sum -v $(pwd)/baselines/baseline-2018.09.0:/opt/sum-baseline-2018.09.0 hpe-sum
Follow these steps to create new baseline:
- Select
Smart Update Manager > Baseline Library
. - Click
+ Add Baseline
.Select the location type
: Download from http share.Location Details
:/opt/sum-baseline-2018.09.0
.Enter HTTP URL
: http://downloads.linux.hpe.com/SDR/repo/spp-gen9/2018.09.0/packages/bp003318.xml- Change the baseline according to the server generation and date of SPP release
OS Filter Options
: Linux- At the time of writing, it's not possible to filter the packages down to the server model. This can be done only by downloading the humongous SPP (>6GB), adding it to the baseline and filtering from there.
- Wait for the download of components to complete.
Create a subset baseline from the downloaded baseline:
- Select
Smart Update Manager > Baseline Library
. - Click
Actions > Create Custom
.- Filters > Advanced Filters
- Operating System: RHEL 7
- Server Model > HPE ProLiant DL Series: DL360, DL380
- Filters > Advanced Filters
Follow these steps to create new baseline:
- Run
download-fw.sh
to download only the firmware (about 1.5GB) for the servers. Mount this folder in the Docker container. - Select
Smart Update Manager > Baseline Library
. - Click
+ Add Baseline
.Select the location type
: Browse SUM server pathEnter directory path
: Point to the download path
Create a node group to group servers:
- Select
Smart Update Manager > Node Groups
. - Click
+ Create Node Group
.Node Group Name
: ArbitraryNode Group Description
: ArbitraryBaseline
: If you went with Option 1, assign the baseline hereAdditional Package
: If you went with Option 2, assign the baseline here
Config credentials to login to the nodes:
- Select
Smart Update Manager > Node Groups
. - Click on the node group you just created.
- Select
Actions > Edit
. - Enter the iLO
Username
andPassword
that has the permission to deploy firmware updates.
- Select
Smart Update Manager > Node Nodes
. - Click
+ Add Node
.- Nodes
Select operation
: Add a single node or known range of nodesIPV4 / IPV6 / DNS
: IPs_of_nodesNodes type
: iLO
- Node Group
Assign to
: The Node Group(s) you created above
- Nodes
- Credentials: Enter iLO username/password
The server pulls packages from SUM via its HTTPS service on port 63002
. This means that wherever SUM is deployed, the server must be able to contact it on this port. This can pose a problem if the client sits behind NAT.
Some ways to get around this:
- Use SSH to tunnel traffic back to the client
- Use VPN to put SUM and the servers in the same network
- Deploy SUM in the same environment as the servers
The SUM cache/config that's created by a container cannot be used by a brand new container. This following error will appear:
Error: Cannot launch sum_service_x64 locally. Reason: General failure. (Error: Failed to get key, run cleancache and relaunch SUM.)
To resolve this, the sqlite3 cache at conf/8_3_1_7
has to be deleted. This pretty much resets SUM so it's not a viable solution.
- SUM User Guide and other documentation
- HPE's Software Delivery Repository.
- SUM data resides in
/var/tmp/sum
and it's sqlite3 database is found in/var/tmp/sum/<sum_version>
.