Skip to content

Commit 1984906

Browse files
authored
Merge pull request #1360 from rackerlabs/ipa_proliant-tools
feat: added proliant-tools element to Ironic IPA
2 parents c93d546 + 79ff4dc commit 1984906

File tree

6 files changed

+115
-0
lines changed

6 files changed

+115
-0
lines changed
Lines changed: 34 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,34 @@
1+
undercloud-proliant-tools
2+
==============
3+
4+
* This element can be used when building ironic-python-agent ramdisk. It
5+
enables ironic-python-agent ramdisk to do in-band cleaning operations
6+
specific to HPE ProLiant hardware.
7+
8+
* Works with ubuntu and fedora distributions (on which the
9+
ironic-python-agent-ramdisk element is supported).
10+
11+
* Currently the following utilities are installed:
12+
13+
+ `proliantutils`_ - This module registers an ironic-python-agent hardware
14+
manager for HPE ProLiant hardware, which implements in-band cleaning
15+
steps. The latest version of ``proliantutils`` available is
16+
installed. This python module is released with Apache license.
17+
18+
+ `HPE Smart Storage Administrator (HPE SSA) CLI for Linux 64-bit`_ - This
19+
utility is used by ``proliantutils`` library above for doing in-band RAID
20+
configuration on HPE ProLiant hardware. Currently installed version is
21+
2.60. Newer version of ``ssacli`` when available, may be installed to
22+
the ramdisk by using the environment variable ``DIB_SSACLI_URL``.
23+
``DIB_SSACLI_URL`` should contain the HTTP(S) URL for downloading the
24+
RPM package for ``ssacli`` utility. The old environmental variable
25+
``DIB_HPSSACLI_URL``,a HTTP(S) URL for downloading the RPM package for
26+
``hpssacli`` utility, is deprecated. The ``hpssacli`` utility is not
27+
supported anymore, use ``ssacli`` instead for the same functionality.
28+
Availability of newer versions can be in the Revision History
29+
in the above link. This utility is closed source and is released with
30+
`HPE End User License Agreement – Enterprise Version`_.
31+
32+
.. _`proliantutils`: https://pypi.org/project/proliantutils
33+
.. _`HPE Smart Storage Administrator (HPE SSA) CLI for Linux 64-bit`: http://h20564.www2.hpe.com/hpsc/swd/public/detail?swItemId=MTX_5530b3f5b38b4e0781e6bf9c74
34+
.. _`HPE End User License Agreement – Enterprise Version`: https://downloads.hpe.com/pub/softlib2/software1/doc/p1796552785/v113125/eula-en.html
Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
package-installs
Lines changed: 51 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,51 @@
1+
#!/bin/bash
2+
#
3+
# Copyright 2015 Hewlett-Packard Development Company, L.P.
4+
#
5+
# Licensed under the Apache License, Version 2.0 (the "License"); you may
6+
# not use this file except in compliance with the License. You may obtain
7+
# a copy of the License at
8+
#
9+
# http://www.apache.org/licenses/LICENSE-2.0
10+
#
11+
# Unless required by applicable law or agreed to in writing, software
12+
# distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
13+
# WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
14+
# License for the specific language governing permissions and limitations
15+
# under the License.
16+
17+
if [ ${DIB_DEBUG_TRACE:-1} -gt 0 ]; then
18+
set -x
19+
fi
20+
21+
set -eu
22+
set -o pipefail
23+
24+
# Set the below variable to allow ssacli to be installed from custom URLs.
25+
if [[ -n "${DIB_HPSSACLI_URL:=}" ]]; then
26+
echo "The environment variable DIB_HPSSACLI_URL is deprecated; use DIB_SSACLI_URL instead."
27+
fi
28+
29+
DIB_SSACLI_URL=${DIB_SSACLI_URL:-${DIB_HPSSACLI_URL:-https://downloads.hpe.com/pub/softlib2/software1/pubsw-linux/p1857046646/v122802/ssacli-3.10-3.0.x86_64.rpm}}
30+
curl -k -o /tmp/ssacli.rpm $DIB_SSACLI_URL
31+
32+
if [[ $DISTRO_NAME = "ubuntu" || $DISTRO_NAME = "debian" ]]; then
33+
# There is no deb package for ssacli. Install with alien.
34+
alien -i /tmp/ssacli.rpm
35+
else
36+
rpm -iv /tmp/ssacli.rpm
37+
rpm --import https://downloads.linux.hpe.com/SDR/hpePublicKey2048_key1.pub
38+
fi
39+
40+
rm -f /tmp/ssacli.rpm
41+
42+
# Install proliantutils python module in the
43+
# virtual environment of ironic-python-agent.
44+
# This is pre-installed by
45+
# ironic-python-agent-ramdisk/install.d/ironic-python-agent-ramdisk-source-install/60-ironic-python-agent-ramdisk-install.
46+
IPA_VENV=/opt/ironic-python-agent
47+
if [[ -d "$IPA_VENV" ]]; then
48+
$IPA_VENV/bin/pip install proliantutils
49+
else
50+
pip install proliantutils
51+
fi
Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,8 @@
1+
alien:
2+
gcc:
3+
python-dev:
4+
unzip:
5+
net-tools:
6+
binutils:
7+
pciutils:
8+
tar:
Lines changed: 20 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,20 @@
1+
{
2+
"family": {
3+
"debian": {
4+
"alien": "alien",
5+
"python-dev": "python3-dev"
6+
},
7+
"redhat": {
8+
"python-dev": "python2-devel"
9+
},
10+
"suse": {
11+
"python-dev": "python-devel"
12+
}
13+
},
14+
"default": {
15+
"alien": "",
16+
"gcc": "gcc",
17+
"python-dev": "python-dev",
18+
"unzip": "unzip"
19+
}
20+
}

ironic-images/ipa-debian-bookworm.yaml

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -7,3 +7,4 @@
77
- package-installs
88
- undercloud-ipa
99
- install-static
10+
- undercloud-proliant-tools

0 commit comments

Comments
 (0)