We use the url from tox.ini to download the upper constraints and
recently that has changed to a redirect and curl doesn't
correctly follows redirects by default but stops at the first
Adding -L option to curl command makes curl follows the redirect
until the final location is found and should allow the correct
file to be downloaded.
Tinycore is the base image for testing Ironic Python Agent.
In the effort of moving toward a full python3 friendly
environment, with this patch we start building the tinyipa
image with python3 by default.
This patch is a Follow-up to
This patch uses ``USE_PYTHON3`` variable to build
Ironic Python Agent with python 3 inside a tinycore
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 ; 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
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
The new zuul jobs use just /opt/stack instead of /opt/stack/new,
breaking the constraints handling and using dependencies from source.
This changes corrects it by accepting both directories.
To fix for grenade slow discovery of e1000 network devices.
Ironic Inspector grenade job is using e1000 driver since
In some cases the e1000 devices has not registered yet,
and thus the dhcp init script does not find any interfaces
to bring up. This causes the grenade job to continue with
no networking, and the job finally fail.
Make the udev settle timout configurable (default 20 sec)
Let's hope 20 seconds is enough. If not we now have more
logs to identify the issue.
Adds dependency upon smartmontools's binary smartctl to
query the block devices via ATA mode which fails on pass-thru
buses such as ATA over SCSI and ATA over USB, in an effort
to prevent the initiation of ATA secure erase with one
of these interfaces in place which may render the disk
unreachable after security options are enabled for
ATA Secure Erase or upon the Secure Erase command being
sent to the Hard Disk.
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.
Increases the amount of ram for CoreOS IPA to 2GB
as the base CoreOS image is now 310MB.
Bumped CPU count for CoreOS runs to 2 CPUs as the
concurrency helps boot times for the CoreOS ramdisk.
Adds netbase, udev, and open-iscsi to debian jessie container
as they are no longer present in the default container.
Explicitly set path variable for execution in the debian
container as udevadm is in /sbin, and we may not have
/sbin on the path that is passed through to the
Also fixed new pep8 test failures.
Currently the generic hardware manager uses dmidecode to get the
total physical memory and system details. This patch switches the
generic hardware manager to use lshw, as it is capable of reading
more than DMI . This enables systems that do not support DMI
to use the generic hardware manager, such as IBM Power systems.
The patch adds the support for rescue mode with DHCP network in
This is a followup to Ib6fcd5bbd7e79b9df83b660441dd685b1b17be62
It reuses more common code when adding authorized SSH keys to the
tinyipa image during rebuild and adds its directory to the list
to be cleaned.
This is needed to produce a more unified ramdisk that can be
used for ansible-deploy with minimal rebuild
- deprecate ENABLE_SSH var, split it to INSTALL_SSH and AUTHORIZE_SSH
- INSTALL_SSH (defaults to true) installs and configures OpenSSH
- AUTHORIZE_SSH (defaults to false) adds SSH_PUBLIC_KEY as authorized
for 'tc' user and makes some other changes
- symlink all from '/usr/local/(s)bin' to '/usr/(s)bin'
- adds a new script 'add-ssh-tinyipa' and 'addssh' make target
- this effectively does those parts that finalise-tinyipa.sh script
would do when AUTHORIZE_SSH is enabled
- this make target will be used in gate jobs for ansible deploy
This patch adds support for rescue mode with DHCP tenant networks in
CoreOS. Applying network config from a configdrive is not yet supported
but will be in a future patch.
Co-Authored-By: Jay Faulkner <email@example.com>
Co-Authored-By: Taku Izumi <firstname.lastname@example.org>
Co-Authored-By: Annie Lezil <email@example.com>
Co-Authored-By: Aparna <firstname.lastname@example.org>
Co-Authored-By: Shivanand Tendulker <email@example.com>
With this patch branch is added to tiny-instance image name.
Also fixed a problem with BRANCH_PATH was set to refs/heads/master
after migration to zuulv3
To be able to test partitioned images with local boot on CI we need to
have grub installed inside user image. Unfortunately cirros doesn't
include grub-install binaries.
This patch adds ability to build partitioned image based on tinycore linux.
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.
This fixes the path for ldlinux.c32. It should be in the absolute
path /usr/..., not the relative path usr/...
This is a followup to ead3b90655
This patch adds a new location of isolinux.bin for creating iso. This
file is installed to /usr/lib/ISOLINUX/ in Ubuntu 16.04 or later.
IPMItool is required for discovering the IPMI/BMC address during
inspection, currently its not built into TinyIPA so this patch adds the
tool to make that feature work.
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.
Commit 3c2772650e ("imagebuild: tinyipa: Build sha256 checksum files")
extended the build process to generate sha256 checksum files for all
the tinyIPA files that are uploaded to mirrors. CoreOS builds are also
uploaded to mirrors so we need to build similar sha256 checksum files
Currently, during ramdisk optimization steps, the find tool is used to
look for files to remove. We pipe all files found by find to the rm
command running as sudo. This is necessary because of the ownership of
the files to be removed.
This commit uses the "--no-run-if-empty" GNU extension to xargs. This
extension should be present on all machines running the TinyIPA build,
because non-GNU systems simply cannot build TinyIPA.
An alternative would have been to use the -delete flag to find, and to
run find as root.