This patch uses ``USE_PYTHON3`` variable to build
Ironic Python Agent with python 3 inside a tinycore
image.
It modifies the content of ``buildreqs.lst`` and
``finalreqs.lst``, adding specific package files
based on the python version used to build IPA.
Since we're using python 3.6, bytecode optimized
files have .pyc extension and are located under a
__pycache__ dir [1]; as an optimization option,to
reduce the size of the final image, all bytecode
generated files will be moved to the original
source location and the source code will be
removed.
[1] https://www.python.org/dev/peps/pep-0488/
Change-Id: I3448a5f41eff6736274308f924d9ad8f059e6c44
Story: #2002598
Task: #22210
Depends-On: https://review.openstack.org/634646
Upgrading to a more recent tinycore distribution to prepare
support to deliver a tinyipa image with ironic-python-agent
built with python 3
Most important changes in Tinycore 8.x include:
* kernel updated to 4.8.17
* glibc updated to 2.24
* support for Python 3.6
This patch also removes the need of get-pip.py script in
favor of native pip installation
Change-Id: I9f2f5d9faca7cbf736547b0d0ec39c5c2bb554bc
Story: #2002598
Task: #29131
Currently CI fails on build ipa image on xenial, because downloading
with wget from sourceforce is giving SSL error. Start using the
github mirror, that is not having this problem.
Additionally added autoconf, autogen, automake, and libtool
to the build requirements as the new ipmitool package is based
off of repository commit history tags and did not contain
a pregenerated configure file.
Change-Id: I139679db835b7a87c55f69a4d807ff8ec9099e3a
Now that ironic-lib builds IPA from source, the IPA building procedure
needs to support requirements referring to /opt/stack/new.
As upper-constraints are not actually needed in the finalise step, they're
no longer used there to avoid dealing with file:/// references. We also
allow pre-release packages to be installed by pip.
Also install git as it's a build requirement for PBR.
Only tinyipa is updated, as it's used in the ironic-lib gate.
Change-Id: Ia942cb710eb3fe1ba56c68f91fa893795c9cb651
Closes-Bug: #1695877
Adds an extra field ``biosdevname`` to network interface inventory
collected by ``default`` inspection collector (which collects the whole
inventory returned by hardware manager) of ironic-python-agent.
This feature requires biosdevname utility to collect the bios given NIC
names. The tooling module for tinyIPA is created for the same purpose.
For CoreOS IPA pxe images, biosdevname tooling module is limited,
because Docker repository is created and embedded into CoreOS pxe
images. The Docker repository uses debian to download the packages.
Debian does not have biosdevname package.
Adds an export variable TINYIPA_REQUIRE_BIOSDEVNAME. Set this
variable to ``true`` in your shell before building tinyIPA.
Closes-Bug: #1635351
Change-Id: Ia96af59e2a74868cac59e5a88cfbb3be60d85687
TinyCoreLinux is a small 10mb base linux distribution which can easily
be built into a ramdisk for PXE and ISO booting. This patch adds scripts
and other required files to build a TinyCore based ramdisk which runs
the Ironic Python Agent.
Change-Id: I79fbec75de19b3d6feb19f87a3a0f662eae42bf3