Commit graph

1155 commits

Author SHA1 Message Date
Robert Collins
027dcc2dbe Add support for flashing ILO BMC's from ramdisks
This is more than a bit hard to test, requiring as it does an actual
iLO BMC, so sadly I have no tests :(.

HP Hardware really wants to be running latest firmware, and its
commonly agreed that one place where it can be sanely applied is in
the deploy environment, so this is my long threatened implementation
of that.

Change-Id: I3117a250d0d0eb8ee33eb4b15c837485a5cbf476
2014-08-28 17:07:03 +01:00
Robert Collins
4319730357 Add a ramdisk-install.d hook path.
We need to be able to do install.d like things for ramdisks
themselves, but install.d runs outside the ramdisk context - and its
likely to break peoples brains if we mangle the two together - so this
adds a new hook point, ramdisk-install, specifically for installing
things into the ramdisk.

Change-Id: I37d1660309cda6e28bd0b316b08f61db4e080613
2014-07-16 19:23:50 +12:00
Jenkins
6f7af6f5a2 Merge "Detail 'other' directories in the README" 2014-07-15 14:52:12 +00:00
Jenkins
348a281795 Merge "Allow overwriting old images" 2014-07-15 14:52:06 +00:00
Jenkins
c9bcce2030 Merge "Optimizing directory creation." 2014-07-11 16:36:38 +00:00
Jenkins
a595c7c4c7 Merge "Avoid to install a blank list of packages" 2014-07-11 15:28:49 +00:00
Jon-Paul Sullivan
9be9ca8df8 Detail 'other' directories in the README
Elements can use arbitrary directories in diskimage-builder, so
ensure we make mention of that, and give an example of such a use.

Change-Id: I0e57ece82629c1be4e0f9612c2a565802b222687
2014-07-10 14:06:20 +01:00
Jenkins
4e97def3d5 Merge "Correction: if then statement code style." 2014-07-10 07:38:49 +00:00
Jenkins
e93d365114 Merge "Add global exclusions to dib-lint" 2014-07-09 15:51:04 +00:00
Jenkins
f58e50ee64 Merge "Remove fixfiles from rpm-distro finalize" 2014-07-09 08:51:27 +00:00
Jenkins
15b25423cd Merge "Really handle Ubuntu mirror cache skew," 2014-07-09 04:00:22 +00:00
Robert Collins
eca284cab7 Really handle Ubuntu mirror cache skew,
The last patch to do this only handled the case of SHA256SUM being
stale, but the image is more likely to be stale in the default
configuration as the hash file is downloaded over HTTPS.

Change-Id: I6531fa684e560cad48c3696394d48a600680c875
Closes-Bug: #1336067
2014-07-09 08:07:58 +12:00
AzherKhan
a22305de05 Optimizing directory creation.
Optimized the creation of directories by using the Brace expansion mechanism.

And corrected the dirname resolution to follow correct convention.

Change-Id: I048c04385d2706c4e38f8548555a59b0437e1fcd
2014-07-08 09:39:58 -07:00
Dan Prince
bbf62fc5b9 Revert "Don't match editor backup files in env...
This reverts commit 32eda4b92f.

I noticed today that environment.d files no longer seem to get sourced
by DIB. Reverting this commit fixes it.

Change-Id: I08a8feab541901c8fd0a803628f5aeb6c0eec598
Closes-bug: #1339116
2014-07-08 11:13:11 -04:00
Steve Kowalik
84b2ac45de Allow overwriting old images
The two duplicated functions, save_image and finish_image will move
an existing image out of the way if it exists, but it isn't
configurable. Check an environment variable is 0 before doing so.

Switch save_image to just calling finish_image, rather than
duplicating its code exactly.

Change-Id: I26a5a8fa4b6e853c9440bffab195b0bc3728be40
2014-07-08 14:08:10 +10:00
Jenkins
3cdfd9565e Merge "Rename rhel element yum blacklist" 2014-07-08 01:38:05 +00:00
Jenkins
8a077a0b13 Merge "Last ditch effort to correct a wrong shasum." 2014-07-07 23:49:21 +00:00
Jenkins
92d4ed73db Merge "Don't match editor backup files in environment" 2014-07-07 11:51:08 +00:00
AzherKhan
d06a1caafb Correction: if then statement code style.
Corrected the if; then statement to follow bash convention.

Change-Id: Ia3f80520bb9446c4feb5ce36dccffa2b1c1d72c4
2014-07-07 03:43:15 -07:00
Chris Jones
a65d74f171 Last ditch effort to correct a wrong shasum.
Some users on corp networks are finding that cloud images appear in
their proxies before SHA256SUMS files.
We now try to force any to upstream proxies to update their copy and
retry the checksum, rather than immediately failing.
We also now add proper argument parsing to cache-url, and associated
help functionality, since we have now grown our first argument.

Change-Id: I44d44b62db8d1df990606fdf087ec1b837f491f6
Closes-Bug: #1336067
2014-07-05 12:06:28 -07:00
Ghe Rivero
24e33592c2 Avoid to install a blank list of packages
There are some situations where the list of packages to install
in a image is blank (packages blacklisted) on opensuse based
distributions.

Change-Id: Ib720473fa63671ed974d41a86fe10a9b10720f5d
2014-07-04 07:39:08 +00:00
Ben Nemec
541a4b2270 Add global exclusions to dib-lint
This will be useful for adopting dib-lint in other projects, in
particular tripleo-image-elements.  It allows some dib-lint rules
to be used even if the project can't pass all of the checks.  The
failing checks can then be fixed one at a time and removed from the
exclusions list.

For consistency, this change reads the new exclusions from tox.ini
in the same way as flake8.  To use the exclusion mechanism, the
the following section can be added to tox.ini:

  [dib-lint]
  ignore = sete setu setpipefail

Change-Id: I6d8024e7613890e935ceb5e50d0d507bd554d8dd
2014-07-03 11:50:04 -05:00
Ian Wienand
32eda4b92f Don't match editor backup files in environment
The current glob match for environment files can source editor backup
files (foo.bash~) which will override the real changes you have made.

Other parts matche use the regex to avoid matching such files, so do
the same for environment file matching.  Note this has to match "."
unlike the other regex, as most env files are "foo.bash"

Change-Id: I934486b3ff5884063d29c6d9b66fd9b11140464c
2014-07-03 13:54:18 +10:00
Richard Su
4e68a7965b Remove fixfiles from rpm-distro finalize
Running fixfiles after setfiles is redundant. setfiles
already corrected the SELinux file security contexts.

Change-Id: I48067f06968c5add48fa91a1496b9bf36944546c
Closes-Bug: #1316241
2014-07-03 11:47:10 +10:00
Jenkins
61c192ea3c Merge "Set LC_ALL=C into dib-run-parts env" 2014-07-03 01:22:34 +00:00
Jenkins
012c974430 Merge "Add RHEL7 to Red Hat family in pkg-map" 2014-07-03 00:50:35 +00:00
Ghe Rivero
4fd84db547 Rename rhel element yum blacklist
Rename rhel 10-yum-blacklist to 10-rhel-blacklist to
avoid future name conflict with a yum element blacklist.

Change-Id: Ic2136a06e1ec8f19908ada978782733d5fa7cacc
2014-07-02 10:53:35 +00:00
Jenkins
451e571753 Merge "Create an element to allow using a dpkg manifest" 2014-07-01 20:39:16 +00:00
Jenkins
bd3b025e97 Merge "VM element: Enable serial console on Debian" 2014-07-01 20:24:37 +00:00
Jenkins
b967b72006 Merge "Update README regarding Debian and OpenSUSE support" 2014-07-01 19:59:39 +00:00
Jenkins
f7625ca6f6 Merge "update opensuse element" 2014-07-01 16:57:05 +00:00
Jenkins
57293fac89 Merge "Element to remove unwanted kernel/initrd." 2014-07-01 10:40:36 +00:00
Yolanda Robla
8ed645f046 Set LC_ALL=C into dib-run-parts env
Force LC_ALL to C to allow printf to work independently
from the locale. Gives invalid number error if run in non-english
locale.

Change-Id: Ia68853505485fefbf0890313456e7edb6097666b
Closes-Bug: #1335932
2014-07-01 11:49:48 +02:00
Jenkins
5ee5aa5c89 Merge "Remove uneeded code from pkg-map" 2014-06-29 13:08:32 +00:00
Jenkins
5151dc0a33 Merge "Always bind-mount pypi mirror if dir exists" 2014-06-28 00:14:13 +00:00
Jenkins
d92cbb7b1e Merge "Disk-image-create should allow sending compat flags to qemu-img" 2014-06-28 00:14:07 +00:00
Jenkins
c307db119e Merge "Use $DISTRO_NAME instead of local lsb_release" 2014-06-27 23:45:42 +00:00
Chris Krelle
eed131c373 update opensuse element
This patch updates the openSuse element to work with the new
base image file format. It should be noted that the base image
file name has changed several times while updating this element,
and and may need to be set manually via the "BASE_IMAGE_NAME"
env var.

Change-Id: I4dac8bf9a4bf76a00d4a04cbf063fd245b11f3d6
2014-06-27 15:03:06 -07:00
Jenkins
a1aa1e92dc Merge "Update base element to make use of pkg-map" 2014-06-27 21:29:43 +00:00
Jenkins
75f6fd605f Merge "opensuse: support pkg-map in bin/install-packages" 2014-06-27 21:28:48 +00:00
Jenkins
850b7f16a9 Merge "dpkg: support pkg-map in bin/install-packages" 2014-06-27 21:25:59 +00:00
Jenkins
f866a6f240 Merge "introduce $SYSTEMD_SYSTEM_UNIT_DIR" 2014-06-27 08:38:37 +00:00
Jenkins
ec200af0f8 Merge "Use common element select-boot-kernel-initrd" 2014-06-27 07:00:14 +00:00
Jenkins
14741f3efc Merge "Add select-boot-kernel-initrd element" 2014-06-26 23:27:45 +00:00
Ryan Brady
4ca059f9d9 Use $DISTRO_NAME instead of local lsb_release
The $DISTRO_NAME var is now set in all of the OS elements
in environment.d.  This patch removes the call to
lsb_release and instead uses the $DISTRO_NAME variable.

Change-Id: I7088eb88b6a3611fef5a21a6b62975876549465f
2014-06-26 16:47:21 -04:00
Ryan Brady
4226bd66ba Add RHEL7 to Red Hat family in pkg-map
The current "redhat" os family omits RHEL7. The rhel7 element has the
corresponding $DISTRO_NAME set in environment.d.  This patch adds rhel7
so a pkg-map json file using "redhat" for the os family will work the
same as rhel, centos and fedora.

Change-Id: If6b4cbba618167669a499e6121f234942ca9367a
2014-06-26 16:29:59 -04:00
Jenkins
fb1adbbfee Merge "Ensure cache directory exists before use" 2014-06-26 20:15:15 +00:00
Jenkins
549f06bb53 Merge "update zypper element" 2014-06-26 20:15:09 +00:00
Ghe Rivero
156d3495e0 Use common element select-boot-kernel-initrd
Several elements were using almost similar code to
get the current kernel and initrd inside an image.
After factoring out this code into a common element,
modify the elements to make use of it.

Change-Id: Ib547cd96b2b354b1c97342cacf5f0d0a3f70a3da
2014-06-26 10:19:09 +00:00
Steve Baker
e822a0ff5a Always bind-mount pypi mirror if dir exists
It may be desirable to specify file://tmp/pypi as one of the list
of mirrors specified by PYPI_MIRROR_URL, so the local pypi mirror
should be mounted as long as the directory exists.

Even though the path is mounted, it is only used by pip if there is
no specified PYPI_MIRROR_URL, or if one PYPI_MIRROR_URL entry
specifies file://tmp/pypi.

The pypi element previously assumed that a local mirror would be
a complete offline mirror. This change allows for a mixture of
local mirror plus remote mirrors. This means that the local
mirror could (for example) contain a few locally built pip packages
from arbitrary git checkouts for gate testing of those projects.
In this scenario, most packages would be downloaded from the
configured remote mirrors.

This change is required for synchronous gating on the os-*-config
tools.

Change-Id: I0f6d153c06993ffd0d90bd8ca1717462e8b6b541
2014-06-26 14:49:06 +12:00