Commit Graph

1523 Commits

Author SHA1 Message Date
Pino Toscano
6c1d8d28a3 Convert leftover unconditional set -x to DIB_DEBUG_TRACE
Commit 36b59c001c introduces
DIB_DEBUG_TRACE, to be checked in element scripts for enabling tracing.

In the aforementioned conversion, few scripts were left with
unconditional "set -x" calls: remove them, changing the default value
for unset DIB_DEBUG_TRACE from 0 to 1, to retain their older behaviour
(as it was done in 36b59c001c too).

Change-Id: I3d1a9290021bf63de7d4e7752e809852e784ac8b
2015-03-11 14:58:14 +01:00
Jenkins
f53bf5e77e Merge "UEFI secure boot support for iso element." 2015-03-11 06:34:57 +00:00
Jenkins
5617264aab Merge "Set DIB_RELEASE in ubuntu element" 2015-03-10 09:25:30 +00:00
Shivanand Tendulker
0bbe91af82 UEFI secure boot support for iso element.
This adds support to UEFI secure boot by copying signed shim and
grub bootloaders into ramdisk image.

Closes-Bug: 1419707
Change-Id: I1193cd3a9011855a6804966a31c7c0e28da90ada
2015-03-10 00:39:14 -07:00
Jenkins
c5cbc93693 Merge "Use package-installs on dpkg-based elements" 2015-03-05 01:14:07 +00:00
Jenkins
4074851682 Merge "Fix race in svc-map" 2015-03-05 00:11:19 +00:00
Gregory Haynes
8434e5afbf Set DIB_RELEASE in ubuntu element
The other distro elements set DIB_RELEASE which allows the other
elements to know what distro release is being built during the
extra-data or environment.d phases.

Change-Id: I00bf13410ded5b678ebc66ff191891ed3cc80f4f
2015-03-04 23:11:27 +00:00
Jenkins
d3324cbb69 Merge "Fix unbound variables in apt-{preferences,sources}" 2015-03-04 02:49:34 +00:00
Jenkins
cec46c56a4 Merge "Standarise tracing for scripts" 2015-03-04 00:38:44 +00:00
Jan Grant
e88be20f1d Fix race in svc-map
The construction of the combined svc-map-services file uses the host's
/tmp directory to store a work-in-progress file. That file's left behind
after it's done with.

There's a potential race here; together with problems that may arise
if two users attempt to run devtest on the same system.

This patch fixes this by creating the temporary file specifically under
$TMP_MOUNT_PATH.

Change-Id: Iecbdc583e37bed542249c316919c3712c28c7440
2015-03-03 15:29:52 -08:00
Pino Toscano
4d716bcbc4 Use package-installs on dpkg-based elements
This allows them to install packages already specified in .yaml files
for them, which are not installed otherwise since the migration to .yaml
files.

Change-Id: Iac8c7eb55116938616e5299b84487cd52e0cbf6f
2015-03-03 09:24:14 +01:00
Jenkins
226eaa3e3f Merge "Dont fail if we have no old-style package-installs" 2015-02-28 18:05:27 +00:00
Jenkins
4037200552 Merge "Add wget to package-installs.yaml for epel" 2015-02-26 20:15:40 +00:00
Jenkins
7b702acd9c Merge "package-installs: work with Python < 2.7" 2015-02-26 00:40:19 +00:00
Jenkins
d18184c836 Merge "Updated readme" 2015-02-25 23:08:43 +00:00
Pino Toscano
7f410aaff2 package-installs: work with Python < 2.7
subprocess.check_output() has been introduced in Python 2.7, so the
script will fail when trying to install stuff in guests with Python 2.6
and older (like RHEL 6 / CentOS 6, for example).

Thus gracefully fallback to subprocess.Popen() when
subprocess.check_output() is not available.

Change-Id: I335148397932177810f095a942b993b249991107
Closes-Bug: #1415240
2015-02-25 17:46:08 +01:00
James Slagle
7550b6e5d3 Add wget to package-installs.yaml for epel
A recent commit (I29c73355a85112840b57f93b39a9eeda421875e6) updated the
epel element to rely on wget, but wget is not always installed. Since
wget is used in pre-install.d, we must install it in that phase.

Change-Id: Iad2a9c4f0081835a1aa78e6fd2f721f6afd44dc2
2015-02-24 16:54:47 -05:00
Abel Lopez
f1e7bf3ab4 Updated readme
The section on third party elements was old and wrong.

Change-Id: If401f294bf15364cadff7c02cb3b81e9ac6224b3
2015-02-24 11:07:00 -08:00
Martin André
2cd6f3fc3b Fix unbound variables in apt-{preferences,sources}
Also make the apt-sources element exit with a non-error status code
when the DIB_APT_SOURCES is not set.

This allows including the apt-preferences and apt-sources elements
even if DIB_DPKG_MANIFEST and DIB_APT_SOURCES are not exported.

Change-Id: I8507dd9c69d1371eab38f720dcfdd89aa5345e8b
2015-02-24 12:27:50 +00:00
Pino Toscano
6d5447afe8 pkg-map: respect --missing-ok also on missing pkg-map file
When there is no pkg-map file for the specified element, list the passed
packages if --missing-ok is specified.

This mirrors what is being done already later, when a pkg-map file
exists but it does not have the mapping for the requested package.

Change-Id: I50287f8e6a5e4335deb3de2252075b8bfdd53ce5
2015-02-23 19:08:09 +01:00
Jenkins
0c7006de2f Merge "Bump to hacking 0.10" 2015-02-23 17:12:09 +00:00
Jenkins
409f8ff131 Merge "Fix memory detection in ironic-discoverd-ramdisk" 2015-02-23 12:27:09 +00:00
Jerry Zhao
4e9525ddaa update epel version number in epel element
epel-release 7.2 has been superseded by 7.5, so update accordingly.
this time, detect the available epel-release package from the repo
instead of hardcoding version number which will break build each
time the version number gets bumped up.

Change-Id: I29c73355a85112840b57f93b39a9eeda421875e6
2015-02-20 18:26:22 -08:00
Jenkins
6056eec1dd Merge "Add documentation of DIB_IMAGE_CACHE variable" 2015-02-20 00:33:54 +00:00
Jenkins
2f4d5be6f3 Merge "Namespace PYPI_MIRROR_URL vars with DIB" 2015-02-19 18:39:14 +00:00
Ben Nemec
16f1de6115 Quote to handle empty DIB_RELEASE
We don't export DIB_RELEASE in the base distro scripts, so many
times it will be an unset variable in 51-bootloader from the vm
element.  Currently that script doesn't handle the situation
properly and we get errors like:

line 160: [: =: unary operator expected

This change quotes the references to DIB_RELEASE so that won't
happen anymore.

Change-Id: Ic8f91804334f8862c217f465be80e96d3116f5c8
2015-02-18 20:16:50 +00:00
Gregory Haynes
76ddfc439f Namespace PYPI_MIRROR_URL vars with DIB
We have a good pattern of namespacing env vars with DIB_. Add support
for DIB_PYPI_MIRROR_URL* and maintain backwards compat support.

Change-Id: I434c9d1b14cd571b20754c9ad7cd64c936f8399a
2015-02-18 19:12:26 +00:00
Jenkins
ed0ac6d617 Merge "Use oslosphinx for docs site" 2015-02-16 22:05:41 +00:00
Dmitry Tantsur
2c15fd83ca Fix memory detection in ironic-discoverd-ramdisk
It was actually detecting total _possible_ size, not real one.

Change-Id: I9e96e0058d91734aa960d1b2f9663f8a9207f5d8
2015-02-16 11:41:30 +01:00
stephane
fe7823a249 Add documentation of DIB_IMAGE_CACHE variable
It is an established convention to use DIB_IMAGE_CACHE in elements to
refer to the cache location. This convention has not been documented
in the README, unlike other element development practices. This change
adds documentation for DIB_IMAGE_CACHE both from an element user and
developer perspective.

This change was prompted by I76030654e7dfc7b7d4dfa87e082c14e7cee479b9

Change-Id: I6fcc2409450cdb45e5afcb292908fbaee1af258a
2015-02-15 19:13:53 +00:00
Jenkins
bbeafa80bf Merge "Fix type in DIB_DISTRIBUTION_MIRROR use" 2015-02-14 00:51:01 +00:00
Dmitry Tantsur
dca44b77a2 Simplify ironic-discoverd-ramdisk
As we started using jq it makes sento to use it everywhere when
building a resulting JSON.
Also removes some unneeded code.

Change-Id: Ib1391dc9f4e1463a9a3d0c13909ff60e3c993e82
2015-02-13 10:48:38 +01:00
Dmitry Tantsur
3a0cdeb310 Support assigning IPMI credentials in ironic-discoverd-ramdisk
When setting IPMI credentials is requested, ironic-discoverd
will return ipmi_setup_credentials=true, ipmi_username and ipmi_password
in response. Use ipmitool to set credentials in this case.

Change-Id: I8ace9e817e5ce9dbfb8564feec4a3ce6c0e1b233
2015-02-13 10:41:34 +01:00
Gregory Haynes
a35d7f88cf Use oslosphinx for docs site
This gets us the openstack theme

Change-Id: I679bbc36d58294ef14852a7938435eacf71321ed
2015-02-11 23:29:21 -08:00
Ian Wienand
36b59c001c Standarise tracing for scripts
There is a wide variety of tracing options through the various shell
scripts.  Some use "set -eux", others explicity set xtrace and others
do nothing.  There is a "-x" option to bin/disk-image-create but it
doesn't flow down to the many scripts it calls.

This adds a global integer variable set by disk-image-create
DIB_DEBUG_TRACE.  All scripts have a stanza added to detect this and
turn on tracing.  Any other tracing methods are rolled into this.  So
the standard header is

---
if [ "${DIB_DEBUG_TRACE:-0}" -gt 0 ]; then
    set -x
fi
set -eu
set -o pipefail
---

Multiple -x options can be specified to dib-create-image, which
increases the value of DIB_DEBUG_TRACE.  If script authors feel their
script should only trace at higher levels, they should modify the
"-gt" value.  If they feel it should trace by default, they can modify
the default value also.

Changes to pachset 16 : scripts which currently trace themselves by
default have retained this behaviour with DIB_DEBUG_TRACE defaulting
to "1".  This was done by running [1] on patch set 15.  See the thread
beginning at [2]

dib-lint is also updated to look for the variable being matched.

[1] https://gist.github.com/ianw/71bbda9e6acc74ccd0fd
[2] http://lists.openstack.org/pipermail/openstack-dev/2014-November/051575.html

Change-Id: I6c5a962260741dcf6f89da9a33b96372a719b7b0
2015-02-12 10:41:32 +11:00
Ben Nemec
5ca944f7a0 Bump to hacking 0.10
Change-Id: Ib4f4e5d2e48717a514636cde906dc4f977021cc6
2015-02-11 15:28:28 -06:00
Lennart Regebro
a9b07487ef Fix the bootloader on UEFI machines
The fix for UEFI machines was only applied on Fedora, not RHEL or other distros.

Change-Id: I43b7a826b7049703b0ffd84ad44b93c912dc6b53
2015-02-11 15:38:53 +01:00
Jenkins
084d1dfc50 Merge "Use package-installs for ubuntu and base elements" 2015-02-11 11:12:35 +00:00
James Polley
20b7c0b7b3 Add tox -edocs capability
This is much easier to remember than the full commandline - and keeps
this project in line with others

Change-Id: I2f631c25d8839272941b7c8d4bb571a853422083
2015-02-10 14:34:46 -08:00
Gregory Haynes
c4bbb6f3bc Create docs site containing element READMEs
We currently do not have the ability to create a docs site which
outlines all the elements.

Change-Id: I77ccf61e0c4b1509b3e7ce9b8f15ea5ccfd50d9b
2015-02-10 11:45:35 -08:00
Monty Taylor
abcec5d024 Fix type in DIB_DISTRIBUTION_MIRROR use
It turns out, there is a 4th I in that varaible name.

Change-Id: I6a0aa011604fb5b46cf5352e6c69461a2494d5fd
2015-02-09 13:34:25 -05:00
Jenkins
1d33465e28 Merge "Enable vm element to create PowerPC image" 2015-02-09 18:27:54 +00:00
Dmitry Tantsur
4abf701484 Pass BOOTIF to ironic-discoverd from the ramdisk
Required for smarter decision on which ports to create in Ironic.

Change-Id: Ib9f3b49ffdf19f1199a34351037fe65415fed816
2015-02-09 14:51:11 +01:00
Jenkins
16b9bc7699 Merge "Ironic: Local boot" 2015-02-07 00:09:12 +00:00
Jenkins
5e0edc6ae3 Merge "Set http_proxy to retrieve the signed Release file" 2015-02-06 20:31:19 +00:00
Jenkins
41c0884967 Merge "Use sudo -E when squashing package installs files" 2015-02-06 20:30:59 +00:00
Jenkins
1a932b8ff9 Merge "Add minimal ubuntu and centos base elements" 2015-02-06 18:18:10 +00:00
Gregory Haynes
21799254a7 Use package-installs for ubuntu and base elements
Both ccache and linux-image-generic were being installed by
install-packages rather than using a package-installs.yaml.

Change-Id: Ib54c5b51d605278bb9d046a897be989c17c6fb0f
2015-02-06 10:13:08 -08:00
Jenkins
f5b2f6941a Merge "Add apt-get autoremove" 2015-02-06 16:24:14 +00:00
Gregory Haynes
74dca3734c Add apt-get autoremove
We end up with some unneeded packages by default, we should autoremove
them before were done.

Change-Id: Ib9e08e623d952ea3c04c764511dc860915d0abb2
2015-02-05 20:42:02 -08:00