diskimage-builder/diskimage_builder/elements/proliant-tools
Ian Wienand 97c01e48ed Move elements & lib relative to diskimage_builder package
Currently we have all our elements and library files in a top-level
directory and install them into
<root>/share/diskimage-builder/[elements|lib] (where root is either /
or the root of a virtualenv).

The problem with this is that editable/development installs (pip -e)
do *not* install data_files.  Thus we have no canonical location to
look for elements -- leading to the various odd things we do such as a
whole bunch of guessing at the top of disk-image-create and having a
special test-loader in tests/test_elements.py so we can run python
unit tests on those elements that have it.

data_files is really the wrong thing to use for what are essentially
assets of the program.  data_files install works well for things like
config-files, init.d files or dropping documentation files.

By moving the elements under the diskimage_builder package, we always
know where they are relative to where we import from.  In fact,
pkg_resources has an api for this which we wrap in the new
diskimage_builder/paths.py helper [1].

We use this helper to find the correct path in the couple of places we
need to find the base-elements dir, and for the paths to import the
library shell functions.

Elements such as svc-map and pkg-map include python unit-tests, which
we do not need tests/test_elements.py to special-case load any more.
They just get found automatically by the normal subunit loader.

I have a follow-on change (I69ca3d26fede0506a6353c077c69f735c8d84d28)
to move disk-image-create to a regular python entry-point.

Unfortunately, this has to move to work with setuptools.  You'd think
a symlink under diskimage_builder/[elements|lib] would work, but it
doesn't.

[1] this API handles stuff like getting files out of .zip archive
modules, which we don't do.  Essentially for us it's returning
__file__.

Change-Id: I5e3e3c97f385b1a4ff2031a161a55b231895df5b
2016-11-01 17:27:41 -07:00
..
install.d Move elements & lib relative to diskimage_builder package 2016-11-01 17:27:41 -07:00
element-deps Move elements & lib relative to diskimage_builder package 2016-11-01 17:27:41 -07:00
package-installs.yaml Move elements & lib relative to diskimage_builder package 2016-11-01 17:27:41 -07:00
pkg-map Move elements & lib relative to diskimage_builder package 2016-11-01 17:27:41 -07:00
README.rst Move elements & lib relative to diskimage_builder package 2016-11-01 17:27:41 -07:00

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

proliant-tools
==============

* This element can be used when building ironic-agent ramdisk.  It
  enables ironic-agent ramdisk to do in-band cleaning operations specific
  to HP ProLiant hardware.

* Works with ubuntu and fedora distributions (on which ironic-agent
  element is supported).

* Currently the following utilities are installed:

  + `proliantutils`_ - This module registers an ironic-python-agent hardware
    manager for HP ProLiant hardware, which implements in-band cleaning
    steps.  The latest version of ``proliantutils`` available is
    installed.  This python module is released with Apache license.

  + `HP Smart Storage Administrator (HP SSA) CLI for Linux 64-bit`_ - This
    utility is used by ``proliantutils`` library above for doing in-band RAID
    configuration on HP ProLiant hardware.  Currently installed version is
    2.30.  Newer version of ``hpssacli`` when available, may be installed to
    the ramdisk by using the environment variable ``DIB_HPSSACLI_URL``.
    ``DIB_HPSSACLI_URL`` should contain the HTTP(S) URL for downloading the
    RPM package for ``hpssacli`` utility.  Availability of newer versions can
    be in the Revision History in the above link.  This utility is closed source
    and is released with `HP End User License Agreement  Enterprise Version`_.

.. _`proliantutils`: https://pypi.python.org/pypi/proliantutils
.. _`HP Smart Storage Administrator (HP SSA) CLI for Linux 64-bit`: http://h20564.www2.hpe.com/hpsc/swd/public/detail?swItemId=MTX_b6a6acb9762443b182280db805
.. _`HP End User License Agreement  Enterprise Version`: ftp://ftp.hp.com/pub/softlib2/software1/doc/p2057331991/v33194/hpeula-en.html