The current pip install script only checked for centos/fedora
This causes setuptools errrors like (with pbr install):
"SyntaxError: '<' operator not allowed in environment markers"
Explictly list distro names in that situation
Change-Id: I5c894ab6152acf5441231acc1215fe00967f4f31
this is basically the deprecated version of --non-interactive, which is
already being used, so this is duplicate and only causes warnings but
doesn't help with anything
Change-Id: Ic98790461636c4136b7005bdc31ce08f8ca81e0f
disk-image-create already does that globally after the guest is
finalized, see lib/img-functions:finalise_base. Thus, there is no need
to remove part of /tmp manually, and no other distro element does that.
Change-Id: Id3b72d41fce258af98b31976ef726d57a0a9fae4
It seems that pbr's "warnerrors" isn't actually doing anything at the
moment (I680b448471e687919d202e8f2abe57f8ba3b22ee) meaning we're able
to commit docs with RST parser errors. Fix all these up in some
minimal way (I have not audited content, just made it pass build).
Link the specs in so they're referenced from the top level.
Change-Id: Id67b9ea7ba8f49b43969c58ca3fb7fa1243538a4
Following a similar fix to pip-and-virtualenv element in
Ia730850a48e2478fd5461710a9d2619408725cd8, python-brickclient is also
required to be fixed to handle python3 only systems.
Change-Id: I442469beb5a20074425e7059eec7f78604d6cc5a
By default (during boot) the use_tempaddr is set to <=0 for all
up-to date kernels. Only Ubuntu installes a sysctl setting which
sets the use_tempaddr to 2 (/etc/sysctl.d/10-ipv6-privacy.conf) [1].
The 80-disable-rfc3041 overwrites this setting and sets
use_tempaddr back to 0.
Because this only affects Ubuntu it makes sense to move the script
to the ubuntu-common element. The other motivation for the move is,
to clear the base element that it can be removed.
[1] https://bugs.launchpad.net/ubuntu/+source/procps/+bug/1068756
Change-Id: Ibf261818ca8243874fde9eb3650bb65188fa228d
Signed-off-by: Andreas Florath <andreas@florath.net>
Rather than echo the package list separately, turn on tracing around
the yum/dnf call so that we get more complete output. No loss of
info, as this effecitvely shows the packgae list; plus it has the
bonus that it makes more sense in the logs, because otherwise you get
all the yum/dnf output without knowing what the call was.
Change-Id: I44df6e944af602e6b03f669c15a521056de1ad79
With the warnings added in Ibfe69dc84246662ed8caa0d4c3e2edf68314c87e
we can see that this element is relying on map-packages to translate
the debian package name python-pyopenssl -> pyOpenSSL.
This makes no sense because this is not a generic element; it should
just use the fedora/redhat names directly.
Change-Id: Id6ecb6f978b60d6a527692692a408d1d35828de2
Currently every run of install-packages puts out a warning that
map-packages is obsolete. This happens even if map-package does no
mapping. The caller can't prevent the call (it's part of
install-packages) and it gives no actionable help if there is
something wrong.
Keep track of any mappings we are doing in the obsolete map-packages
run and only output a warning if we actually translate anything. If
we do output, tell the caller what packages were translated so they
can make appropriate pkg-map entries.
Change-Id: Ibfe69dc84246662ed8caa0d4c3e2edf68314c87e
There are a couple of loops identified here that output a lot of
tracing each iteration for little value. Make them only trace at
higher levels (-x -x and above).
Points of actual interest within the loops are replaced with an
explicit "echo" statement.
Additionally, export DIB_DEBUG_TRACE explicitly and in all cases, not
just when tracing is turned on.
Change-Id: Id710c0b111fc1f5e1ae87fc35f6db28b24867bad
dib_[environment|args] manifest files are currently generated by the
base element and then moved by the manifest element.
This creates too many corner cases -- if you don't include the base
element (we are trying to empty it ATM) you don't get the env/args
saved at all; if you include base but don't include the manifest
element they're saved to /etc, but if you do have the manifest element
they're moved to the manifest dir.
Move generation of these into the manifest element directly and update
the documentation to reflect this. In practice this doesn't change
things, because the "manifests" element gets pulled in via deps for
most builds.
Change-Id: I3f23037058137d166b29f0b70fd1a02c22c07fc8
Signed-off-by: Andreas Florath <andreas@florath.net>
This option allows to specifiy command for compress built initramfs image
for ironic-agent element. This command can be specified with arguments and
should read raw data from stdin and write compressed data to stdout.
Default if "gzip".
Change-Id: I0fdd2ab91d7bf7aaaa6cdd5278e3902d44c5b883
On redhat/fedora /sbin is a symlink to /usr/sbin, but not on all
platforms. This was put in with
Ibf74dd1b2678ea76e0676711a7aa5ba6b88d5421
Change-Id: I7847b29503c3c07503430a7d85a5364911894c6c
Closes-bug: #1658297
It looks like I installed the cleanup file in the wrong location. Moving it
to the correct location and cleaning some more stuff up should allow for a
much smaller image, currently tested at 300M vs 490M.
Change-Id: I9d0a24b0fe59d4f2d38aa88ba47e4400e0476b46
Now that fedora-25 is released, bump fedora-minimal / fedora elements
to use it.
Change-Id: Ifdb05255e7a138b99099252fe17041fe4621b6f4
Depends-On: I3cc467a2d08486458b3f625f94ba969532f6cd04
Signed-off-by: Paul Belanger <pabelanger@redhat.com>
The start script of dhcp-all-interfaces currently requires ifup command.
ifup command provided by package ifupdown, which is not installed in
ubuntu-minimal Xenial.
This change adds ifupdown package for debian family, as it required for
dhcp-all-interfaces.
Closes-bug: #1647853
Change-Id: I6dfc0108ec067f350b22e9fb933b9e8d47b09fde
I noticed in debugging that with python3 all the pkg-installs output
is preceeded by a b'foo', which suggests coding issues lurking.
The universal_newlines argument makes subprocess readline() returns a
decoded str (via locale) instead of a byte-string. This clears up a
couple of points where we explicitly decode and cleans up the print
output.
Minor formatting cleanup of command and exit display. Don't strip the
leading spaces so indents retain in the output
Change-Id: I2894f10a0c2fc618563641b9d106b716f4a544aa
Per the bug report, %I results in -'s in the interface name being
replaced with /'s, which means when we try to look up the interface
by path in dhcp-all-interfaces.sh we end up at an invalid path.
Using %i instead should fix the problem.
See https://www.freedesktop.org/software/systemd/man/systemd.unit.html
Essentially what is happening is that we start with a name like
br-ex that wasn't escaped in the first place. However, because of
the - it looks like it could have been escaped to systemd. When
we use %I, which tries to unescape escaped values, it unescapes a
value that was already not escaped.
Change-Id: I434ed2e084d4477dc7a2b7827164586f8ea0c1e3
Closes-Bug: 1649409
We can use ${DIB_DEBIAN_COMPONENTS} to get this information. We also
already set the mirror.
Change-Id: Idd11c2b7df1d247c6d32a5f936b8601b4741b519
Signed-off-by: Paul Belanger <pabelanger@redhat.com>
Currently we run grub-mkconfig then go and edit the generated output
in /boot/grub/grub.cfg to override the "root=" arguments to our label.
If another element like project-config's
finalise.d/99-fix-grub-timeout then goes and re-runs grub2-install, it
overwrites these changes.
Grub has GRUB_DEVICE which should override the root device. Let's try
using this. Maybe it wasn't around at the time, this code is
more-or-less unchanged from I7d83bb2b359e7a8c3858eca04c96e35cf4e1fe9e
Change-Id: Ibaaa81124098f3c6febe48e455d3e1cd0a5f1761
Avoid dangerous file parsing and object serialization libraries.
yaml.load is the obvious function to use but it is dangerous[1]
Because yaml.load return Python object may be dangerous if you
receive a YAML document from an untrusted source such as the
Internet. The function yaml.safe_load limits this ability to
simple Python objects like integers or lists.
In addition, Bandit flags yaml.load() as security risk so replace
all occurrences with yaml.safe_load(). Thus I replace yaml.load()
with yaml.safe_load()
[1]https://security.openstack.org/guidelines/dg_avoid-dangerous-input-parsing-libraries.html
Change-Id: I84640973fd9f45a69d2b21f6d594cd5bf10660a6
Closes-Bug: #1634265
Cleaning logs was split, some was done in the
img-functions.finalise_base, some was done in the base element.
The version unifies tidy up logs in the lib/img-functions.
Especially when building docker container images the base element
cannot be used. This patch removes about some hundreds KB of
useless logs in cases when the base element is not used.
Change-Id: I165bafb73daf9144c2f3a83930e85e8d8cf5fae3
Signed-off-by: Andreas Florath <andreas@florath.net>