Public Repository

Last pushed: 2 months ago
Short Description
Exports and imports/applies part or all of a server configuration profile for a Dell server.
Full Description

Purpose

Provides a REST API retrieval and application of configuration data on Dell 11th Generation and newer servers.

http://en.community.dell.com/techcenter/extras/m/white_papers/20439335

How to use

Startup

sudo docker run -p 0.0.0.0:46018:46018 --privileged --name dell-server-configuration-profile -d rackhd/dell-server-configuration-profile:latest

API Definitions

A Swagger UI is provided by the microservice at http://<<ip>>:46018/swagger-ui.html

Definitions

shareType
Type of network share to mount
Possible Values: 0=nfs, 2=cifs

shutdownType
Type of the host shut down before perform the import operation.
Possible Values: Graceful=0, Forced =1, NoReboot=2


Get Components

This operation gives the server system configuration based upon the component names or ALL the configured components if no component names specified in the request.

Example Post
http://<<ip>>:46018/api/1.0/server/configuration/getComponents
{
  "componentNames": ["LifecycleController.Embedded.1", "RAID.Integrated.1-1"],
  "fileName": "FileName.xml",
  "serverIP": "<<Target Server IP Address>>",
  "serverPassword": "<<Target Server Password>>",
  "serverUsername": "<<Target Server Username>>",
  "shareAddress": "<<Network Share IP address>>",
  "shareName": "<<Network Share Name e.g. /nfs>>",
  "shareType": 0
}

Export Configuration From a Dell Server

This operation allow user to export the system configuration from the server to file on a remote share.

Example Post
http://<<service ip>>:46018/api/1.0/server/configuration/export
{
  "componentNames": [ " " ],
  "fileName": "Filename.xml",
  "serverIP": "<<Target Server IP Address>>",
  "serverPassword": "<<Target Server Password>>",
  "serverUsername": "<<Target Server Username>>",
  "shareAddress": "<<Network Share IP address>>",
  "shareName": "<<Network Share Name e.g. /nfs>>",
  "shareType": 0,
  "shutdownType": 0
}

Import Configuration to a Dell Server

Imports the configuration from a json file (same format as the file produced in the export call) on the share specified.

Example Post
http://<<service ip>>:46018/api/1.0/server/configuration/import
{
  "componentNames": [ " "  ],
  "fileName": "Filename.xml",
  "serverIP":  "<<Target Server IP Address>>",
  "serverPassword": "<<Target Server Password>>",
  "serverUsername": "<<Target Server Username>>",
  "shareAddress": "<<Network Share IP address>>",
  "shareName": "<<Network Share Name e.g. /nfs>>",
  "shareType": 0,
  "shutdownType": 0
}

Update a Subset of Components for a Dell Server

This operation allow user to update the server system components. The payload data may need to contain nested components and attributes. To insure the payload is accurate, it is recommended to retrieve the payload from the get components API, modify with your changes, and post the payload into this update components API.

Example Post
http://<<service ip>>:46018/api/1.0/server/configuration/updatecomponents
{
  "componentNames": ["LifecycleController.Embedded.1", "RAID.Integrated.1-1"],
  "fileName": "FileName.xml",
  "serverIP": "<<Target Server IP Address>>",
  "serverPassword": "<<Target Server Password>>",
  "serverUsername": "<<Target Server Username>>",
  "shareAddress": "<<Network Share IP address>>",
  "shareName": "<<Network Share Name e.g. /nfs>>",
  "shareType": 0
}

Licensing

This docker microservice is available under the Apache 2.0 License.

Source code for this microservice is available in repositories at https://github.com/RackHD.

The microservice makes use of dependent Jar libraries that may be covered by other licenses. In order to comply with the requirements of applicable licenses, the source for dependent libraries used by this microservice is available for download at: https://bintray.com/rackhd/binary/download_file?file_path=smi-service-dell-server-configuration-profile-dependency-sources-devel.zip

This product may be distributed with open source code, licensed to you in accordance with the applicable open source license. If you would like a copy of any such source code, Dell EMC will provide a copy of the source code that is required to be made available in accordance with the applicable open source license. Dell EMC may charge reasonable shipping and handling charges for such distribution. Please direct requests in writing to Dell EMC Legal, 176 South St., Hopkinton, MA 01748, ATTN: Open Source Program Office.

Additionally the binary and source jars for all dependent libraries are available for download on Maven Central.

---

Support

Slack Channel: codecommunity.slack.com

Docker Pull Command
Owner
rackhd