Intel® Manager for Lustre* software is delivered as a single unified installer file, including both the central management component and the packages deployed to storage servers. Because storage servers sometimes requires additional packages (such as drivers) or customized packages (such as custom Lustre builds), a mechanism is included whereby these packages can be included in an Intel® Manager for Lustre software installation.
A bundle is comprised of a collection of RPM packages and metadata files. The metadata in a bundle is comprised of a standard yum repodata directory containing information about all the included packages, plus an additional JSON file named meta containing information about the bundle as a whole.
meta
packageA-1.0.rpm
packageB-1.0.rpm
repodata/
The format of the meta file is as follows:
{
"name": "acme_drivers",
"version": "x.y.z",
"description": "Acme Corporation networking drivers"
}
The name attribute serves as a unique identifier for a bundle within an Intel® Manager for Lustre installation. It is wise to include the name of your organization in this string to reduce the likelihood of name collisions.
The version attribute is provided to allow identification of a bundle by version.
The ‘description’ attribute is a human-readable description of the bundle. This may be visible to system administrators of the Intel® Manager for Lustre installation, so it should be something meaningful to that audience.
Warning
Do not create bundles with the same name as the built-in bundles, as these will be overwritten by updates to Intel® Manager for Lustre* software
To install a bundle, it must first be unpacked on the Intel Manager for Lustre management server, and then registered.
Unpack a bundle like this:
Register a bundle like this:
A server profile is metadata describing the packaging and deployment options for a class of storage servers. Where bundles contain collections of packages, server profiles contain the instruction for the packages to be deployed to a particular class of servers.
A server profile is simply a JSON file defining various options. For example, the JSON below is the default profile for a managed storage server:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 | {
"ui_name": "Managed Storage Server",
"managed": true,
"worker": false,
"name": "base_managed",
"bundles": [
"iml-agent",
"lustre",
"e2fsprogs"
],
"ui_description": "A storage server suitable for creating new HA-enabled filesystem targets",
"packages": {
"lustre": [
"lustre-modules",
"lustre-osd-ldiskfs",
"lustre"
]
},
"validation": [
{"test": "zfs_installed == False", "description": "ZFS is installed but is unsupported by the Managed Storage Server profile"}
]
}
|
You may wish to make a custom server profile the default, if all storage servers managed by the installation should be of that type.
To make a named storage profile the default, enter this command on the Intel Manager for Lustre management server:
chroma-config profile default <profile name>
For this example, we will create:
- A bundle containing the custom Lustre packages
- A bundle containing the additional driver packages
- A server profile referencing packages in the custom bundles
Assuming that this profile is for use with Acme storage servers, our custom bundles might be called acme_lustre and acme_drivers. The acme_lustre bundle would contain packages with the usual Lustre package names, while the acme_drivers bundle would contain some new packages, which might be called acme-core and acme-scsi.
{
"name": "acme_storage",
"bundles": ["acme_lustre", "acme_drivers", "chroma-agent", "e2fsprogs"],
"packages": {"acme_lustre": ["lustre-modules", "lustre"],
"acme_drivers": ["acme-core", "acme-scsi"]},
"ui_name": "Acme storage server",
"ui_description": "A storage server using Acme SCSI drivers, using Acme Lustre extensions",
"managed": true
}