Commit Graph

1149 Commits

Author SHA1 Message Date
Pino Toscano
92dab2c82a ironic-agent: exclude content of /tmp from initramfs
/tmp does not contain anything useful anyway, and excluding its content
makes the initramfs smaller too.

Change-Id: Ia72867e0cdebacf668ac1a1f551a965da0d69694
2015-03-10 19:03:04 +01: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
Dan Prince
ea4b08cda0 Install Fedora kernel-modules pkg for iscsi_tcp
The newest stable Fedora splits out kernel modules into
a separate package. By default this is not installed in
the Fedora cloud image... and it contains some things we
need for Ironic (iscsi_tcp module) among other things that
might be very useful.

Change-Id: I3374ea278fecfeb6552e4664717ef3646d382c17
Closes-bug: #1429504
2015-03-07 21:45:33 -05:00
Gregory Haynes
d2f4c3b843 Allow disabling apt-get clean
Sometimes users want to maintain the apt cache in their images.

Change-Id: Id49a04896cf3eeaf1557f1d644e4d8ba64716392
2015-03-06 17:07:29 +00: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
Abel Lopez
8026dda8a0 CentOS 6 Element
This is the centos element, which builds CentOS 6.

There are a couple of modifications to redhat-common because
the version of tar in el6 doesn't support --xattrs-include.

There is a change to both pkg-map and svc-map to add 'centos'
to the 'redhat' family.

Also explicitly have to install cloud-utils growroot and
dracut growpart for proper fsresize at instance launch.

Also sets the DIB_EXTLINUX variable because there is no grub2
for this distro.

Change-Id: Iffd57bce1484c43c2cffcbdb37b602185216e63a
2015-03-03 23:09:45 -08: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
Abel Lopez
b4a1f1c190 openSUSE update
openSUSE appears to have redone their fs layout on the repo site
and also changed the naming scheme of their image file.

Change-Id: I75afe54b88ea531d3c1f3b7d85e5435cdacabed2
2015-02-26 15:19:25 -08:00
Jenkins
4037200552 Merge "Add wget to package-installs.yaml for epel" 2015-02-26 20:15:40 +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
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
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
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
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
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
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
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
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
Gregory Haynes
162f60edf0 Add install-static element
This element currently exists in tripleo-image-elements but it is plenty
useful without tripleo.

Change-Id: I2415f53191773fafece485bdd3c706a2625a0a47
2015-02-05 15:47:05 -08:00
yogananth subramanian
631cae1fee Enable vm element to create PowerPC image
Patch adds support to create PowerPC image with vm element.
It creates 2 partitions, one for PReP boot and other for root and
installs grub-ieee1275.

Change-Id: I4675ef2b82aa69b63e63a1cc7db01b0c0e6f9fff
Closes-Bug: 1418739
2015-02-06 03:39:36 +05:30
Ben Nemec
1ec93f43a8 Add no_timer_check to vm grub cmdline
no_timer_check prevents the kernel from probing for hardware timers,
which doesn't make sense in a virtual environment and can cause
hangs at boot [1] [2].

[1]: https://bugzilla.redhat.com/show_bug.cgi?id=1082030
[2]: https://bugzilla.redhat.com/show_bug.cgi?id=1102592

Change-Id: I1c42cc7fae7bba1dc6f4feb69f13760f4312e4d1
2015-02-05 11:53:48 -06:00
Gregory Haynes
fc1b5d8b6d Dont fail if we have no old-style package-installs
If there are no old-style package-installs and the package-installs
element is included we fail because we call install-packages with no
arguments.

Change-Id: I3c78b51d0a2673ecc581f9faded078974dbc27b7
2015-02-04 18:23:36 -08:00
Jenkins
807e89f063 Merge "setfiles consistently" 2015-02-04 22:56:15 +00:00
James Slagle
92b0125da1 Use sudo -E when squashing package installs files
Since the package-installs-squash script  relies on the defined
environment variables for figuring out what the values are for an
element's install type and the default install types, sudo -E must be
used to preserve the environment.

Change-Id: Ice5cf0bca65d8078f84daedbef123fc73d5a7b63
2015-02-04 13:25:48 -05:00
Jenkins
8e313b112f Merge "ramdisk-image-create: add support for vmlinux file" 2015-02-04 06:51:51 +00:00
Jenkins
d67e2de859 Merge "Add support for using local PowerPC VM image" 2015-02-04 06:40:06 +00:00
Jenkins
1b2017914c Merge "Use DIB_IMAGE_CACHE in dpkg element" 2015-02-03 20:56:27 +00:00
Abel Lopez
9009b18869 setfiles consistently
Working on host systems without selinux, where the guest image
does have selinux, creates a situation where the instance will
have about a 1 minute delay on first boot because it must relabel.
The previous check for sysfs assumes that the host system has
selinux, which is not needed for the guest setfiles to work.

Change-Id: Ic186a45991b6d80880ad635e9c80985612f53a05
Closes-bug: 1414200
2015-02-03 09:00:07 -08:00
Lucas Alvares Gomes
9880d16d47 Ironic: Local boot
This patch extends the deploy-ironic element to make it install a
bootloader on the disk in case the boot_option parameter passed in the
kernel command line is set to "local".

This parameter is set by Ironic as part of the
blueprint local-boot-support-with-partition-images

Change-Id: I5ebe6f364ae0ac408939399e5f28728b41c4766e
2015-02-03 14:36:25 +00:00
Jenkins
6665274553 Merge "Add installtype support to package-installs" 2015-02-03 03:45:44 +00:00
Gregory Haynes
3ff92589e1 Add installtype support to package-installs
Some packages should only be installed if a certain installtype is
specified.

Change-Id: Ia1a5af9ab4653e2646870ebd2d2db7e00a59305b
2015-01-28 20:11:51 -08:00
Dmitry Tantsur
04a542134f ironic-discoverd-ramdisk element cleanup
- Properly rename files
- Use new package-installs
- Properly check for discoverd_callback_url option
  (and return backward compatibility)

Change-Id: I2247047b9360945408e720329d5b134cfa384ae5
2015-01-27 10:59:37 +01:00
Jenkins
87b4bc7d51 Merge "Run Registration Once" 2015-01-24 19:02:13 +00:00
yogananth subramanian
15ccf776be Add support for using local PowerPC VM image
Patch adds support for PowerPC Big-endian and Little-endian local
fedora VM images and using VM images with two partitions,  PReP
boot and root partition. Since PowerPC requires PReP boot
partition to be present.

Change-Id: Iba03226e187609df898732c13b1aa5f895b156e3
Closes-Bug: 1413487
2015-01-23 05:11:08 +05:30
yogananth subramanian
57705694e7 ramdisk-image-create: add support for vmlinux file
ramdisk-image-create assumes the presence of vmlinuz file in OS image.
But ubuntu PPC LE images have only vmlinux file. This patch adds
support for using vmlinux file.

Change-Id: I5dd0b8ceb46b73be57d4c15b39b96f99b524fa3f
Closes-Bug: 1413362
2015-01-22 02:10:39 +05:30
Giulio Fidente
cde4cef215 Switch manage_etc_hosts from True to localhost
When set to true this cloud-init setting overwrites the /etc/hosts
file at reboot, breaking stuff in TripleO where controllers rely
on resolving each other by name. We still want cloud-init to add in
there a mapping for the local fqdn, so we switched to 'localhost' [1]

1. http://bazaar.launchpad.net/~cloud-init-dev/cloud-init/trunk/view/head:/doc/examples/cloud-config.txt#L470

Change-Id: I85468dece3b67f39841aa826f9b7ca4bf113027a
Closes-Bug: 1411594
2015-01-21 13:21:53 +01:00
Jenkins
302fdd57bb Merge "Add install section to Ironic agent systemd service file" 2015-01-21 08:58:23 +00:00
Jenkins
241b3155c0 Merge "Fallback to a boot_server kernel param if ip= not passed" 2015-01-21 08:56:55 +00:00
Jenkins
1162a3abe1 Merge "Fix Satellite Repo" 2015-01-20 17:55:59 +00:00
Jenkins
85c7a91666 Merge "Disable all interfaces on eni systems" 2015-01-20 00:40:22 +00:00
Cédric Ollivier
be95738739 Set http_proxy to retrieve the signed Release file
This commit adds http_proxy=$http_proxy to use apt-get update through a
http-proxy.

Change-Id: Iee589f6d11b84991512493d22f0e3dbfe60736ec
Closes-Bug: #1412314
2015-01-19 07:16:43 +01:00
Ryan Brady
c9af576e79 Run Registration Once
The rhel-common element has a script that uses subscription-manager
to register an instance of RHEL with the customer portal or Satellite.
If os-refresh-config runs this script more than once,
subscription-manager returns a non-zero value causing os-refresh-config
to fail.  Adding --force to the subscription-manager calls doesn't
properly unregister the image from Satellite and the result is multiple
content host registrations. This patch changes the registration to only
run once.

Change-Id: If372e7f59bbdc77e2b233024c1342f005004f2e5
2015-01-16 21:55:59 +00:00
Ryan Brady
297c734424 Fix Satellite Repo
Previous to the Sattelite 6 release, the katello-agent and it's
dependencies needed the rhel-7-server-rh-common-beta-rpms repo
enabled.  Since the the release of Satellite 6, the "beta" can
be safely dropped.  This fixes an error where registration to a
satellite instance fails due to a 404 for the beta repo.

Change-Id: Ia9879498c7db0c912bb58ea084d448b8b3915569
2015-01-16 16:52:11 -05:00
Clark Boylan
bab9595524 Use DIB_IMAGE_CACHE in dpkg element
The dpkg element was hardcoding ~/.cache/image-create as the cache path,
but elements should use DIB_IMAGE_CACHE as the root for the cache to
allow users to override the path. Replace the hardcoded path with one
that is rooted at $DIB_IMAGE_CACHE.

Change-Id: I76030654e7dfc7b7d4dfa87e082c14e7cee479b9
2015-01-13 14:22:10 -08:00
Jenkins
af4b290328 Merge "Fix for RHEL6" 2015-01-12 16:22:18 +00:00
Jenkins
bc4880fb91 Merge "Allow for disabling rhel registration" 2015-01-09 18:31:30 +00:00
Jenkins
2951b04cf7 Merge "Add rax-nova-agent element" 2015-01-09 18:28:07 +00:00
Jenkins
84463cf8da Merge "Add element for ubuntu-core" 2015-01-09 18:27:52 +00:00
Jenkins
89e9c01cd4 Merge "Deprecates username and password from boot time registration" 2015-01-09 15:17:57 +00:00
Jenkins
e304882e9d Merge "Fix repo enablement for RHEL during registration" 2015-01-09 15:17:43 +00:00
Jenkins
86edbd86fa Merge "dracut-ramdisk: fix support for elements with ramdisk-install.d" 2015-01-08 04:22:34 +00:00
Ryan Brady
d669d78528 Fix for RHEL6
The correct workflow for building RHEL6 images includes not using
the rhel-registration scripts in this element, but rather the 00-rhsm
script.  This patch updates the return value from 1 to 0 for the case
when the REG_METHOD is left unset.  This will allow the RHEL6 images
to build without needing to set REG_METHOD. This patch also improves
the note about RHEL6 image building.

This patch is the result of the discussion in the comments of [1].

[1] Iff7b9fc30d5a36231598a977a9edcd55229766c5

Change-Id: I2f35b8d7d8749d44d88f06e9e2c3116ff93b88fe
Closes-Bug: 1404364
2015-01-07 10:27:55 -05:00
James Slagle
697800987f Allow for disabling rhel registration
When using the rhel element, it can be uesful to disable registration.
For instance, if using an internal mirror repository that does not
require registration/authentication.

Change-Id: I42fa34e7f146137e5b1b9c5d7785702311e1dca1
2015-01-07 10:27:48 -05:00
Jenkins
c597e99f4e Merge "Ignore stderr from pkg-map" 2015-01-06 21:20:18 +00:00
Jenkins
ef0c043c85 Merge "Add Activation Key Support For Customer Portal" 2015-01-06 18:04:12 +00:00
Jenkins
76f5f199cb Merge "Don't trace RHEL registration scripts" 2015-01-02 18:37:22 +00:00
Jenkins
ebe166448f Merge "Allow absolute path to image with ironic-agent" 2014-12-23 23:08:50 +00:00
Erwan Velu
75b34baa98 dracut-ramdisk: fix support for elements with ramdisk-install.d
Copy all of TMP_MOUNT_PATH into the ramdisk so that
ramdisk-install.d actions are respected.

Includes a workaround for a bug in Dracut that caused the copy
to fail.

Also moves init instead of copying it so we don't conflict with
the Dracut init.

Change-Id: Ia8d7b210369fe7eb7ab239cbdb7f96841104a35d
Closes-Bug: 1403121
2014-12-18 11:46:49 +01:00
Ben Nemec
68394e134e Don't trace RHEL registration scripts
These scripts are littered with references to passwords and keys,
so rather than try to disable tracing in every one of those places
I propose we simply turn it off for the scripts.  This will likely
need to be revisited after the global tracing discussion is
resolved anyway.

Change-Id: I805015300bf01b2f8eec9f70ccfdf533dd9386b3
Related-Bug: 1298205
2014-12-17 16:39:27 -06:00
Abel Lopez
da7787069d Ignore stderr from pkg-map
The latest update to package-install captures both stderr and stdout
from pkg-map, unfortunately, pkg-map has a 'missing-ok' option
which causes it to print an error message on stderr.
The result is that package-install tries to look for packages named
"Missing", "package", "name", etc.

Change-Id: I86b3b71a64b29d533b42fd0cae020e8ecf22cac2
Closes-bug: 1402085
2014-12-17 10:08:08 -08:00
Clint Byrum
4dceacd5ed Allow absolute path to image with ironic-agent
The element was prepending the work directory forcibly, which will have
problems when the image name has an absolute path, which is allowed.

Change-Id: I0cb7b96e24daab8ee73611936af72074c70ac1aa
Closes-Bug: #1400405
2014-12-16 10:40:55 -08:00
Yuriy Zveryanskyy
26e2ec6faa Add install section to Ironic agent systemd service file
"Install" section is necessary for for "systemctl enable" command.

Change-Id: I590ac3a1b58a80e156967dd2787a1ba88e8a6fd5
2014-12-16 18:53:45 +02:00
Jenkins
9a53631e1c Merge "Fix rst rendering" 2014-12-16 13:51:59 +00:00
Monty Taylor
a281cca038 Add element for ubuntu-core
Ubuntu has recently release their "Snappy Ubuntu Core" which is a
minimal base-layer for running docker applications. Seems like the sort
of thing someone might want to use for tasks.

Change-Id: I6cb724451d1862121dee4ccf1f599ab8938f0b7f
2014-12-11 18:04:58 -08:00
Monty Taylor
cd3dfe7395 Add rax-nova-agent element
VMs on Rackspace Cloud need nova-agent installed to get networking
information set up properly. Add a nova-agent element so that dib can
be used to create images to use on Rackspace cloud.

Change-Id: I075a50e9a2d7ae7641905b66bbbc627ad708b5ea
2014-12-11 18:04:26 -08:00
Monty Taylor
af2862a2be Add minimal ubuntu and centos base elements
There are times when a much more stripped down base image is desired
over the distro cloud images. For instance, Infra would like some base
images that do not have cloud-init or really much of anything else. This
is easy to accomplish with debootstrap and rinse.

Change-Id: I44ff22457165afb048fdaea469210ae47d83dd3f
2014-12-11 13:27:36 -08:00
Monty Taylor
98d008c6af Rework package-installs to collapse on build host
Instead of doing the work in the image of parsing through the element's
package-install declarations, we can squash it on hostside, where we
have both YAML and JSON available to us, and then emit a single
pre-processed file into the target to be used later.

Change-Id: I3f182aa3aae0a79b2f3ea4e66c1878ad12878b0a
2014-12-11 00:05:32 -08:00
Adam Gandelman
441b30f89f Fallback to a boot_server kernel param if ip= not passed
Depending on bootloader and configuration, ramdisks may receive
a ip= kernel parameter that is used for manual network bring up
in the ramdisk.  This parameter contains the address of the boot
server.  In the absence of ip=, we want the ramdisk to DHCP and
proceed as normal.  However, in this case need to know the address
of the boot server.  This falls back to a 'boot_server' parameter
for this address if it is not provided via kernel cmdline.

Change-Id: Id1ed15ba125d91fa0a13d8e19d1385082ee5d9e9
Closes-bug: #1401289
Related-bug: #1401298
2014-12-10 15:36:15 -08:00
Jenkins
1273cd5532 Merge "Add some speedups to dpkg" 2014-12-10 19:45:34 +00:00
Monty Taylor
6be5c396d1 Add some speedups to dpkg
The docker build folks obsess about image size and speed a bit. Grab a
few of their optimizations from their debootstrap build process and
apply them to ours.

Change-Id: Ic3d3565423b0ae090896d99fd3bf1145eca6303d
2014-12-10 06:53:17 -08:00
Jenkins
5de977e575 Merge "Migrate to new package-installs" 2014-12-10 05:44:45 +00:00
Jenkins
b74bb649e2 Merge "Allow injecting arbitrary yum repo configuration" 2014-12-09 18:56:08 +00:00
Ryan Brady
2fb72d6ed9 Deprecates username and password from boot time registration
The username and password combination is considered insecure to store in
the metadata passed to the stack as they can easily be obtained and
possibly used in an unathorized manner by logging into one of the
registration systems. The use of an activation key is more desirable
as it can only be used in conjunction with subscription-manager to
register a RHEL system.

This patch deprecates the username and password support from the script
that registers RHEL with either Satellite or RH Customer Portal during
boot-time.  This patch also adds a warning if the username and password
combination is used in the stack metadata. The documentation and examples
have also been updated to warn operators of the deprecation of username
and password.

This patch does not affect the username and password support for
registration activities while building images with diskimage-builder.

Change-Id: I05b7a18e910d31ad2273042409f8657ad9dee36a
2014-12-09 10:56:55 -05:00
Ryan Brady
386a7a01d3 Fix repo enablement for RHEL during registration
Previously the REG_REPOS value was a space delimited list of repo
names, but the spaces were incompatible with passing through json.
If you pass a list in json through the heat parameter, the output
is the string representation of a python list of unicode vaules.
This patch changes the rhel-registration scripts to process the
REG_REPOS value as a comma delimited list which is more easily
passed through json.  Both scripts have been updated to remain
consistent.

Change-Id: I21b3fd115e53aa3b0fa4af9bbfb1f08b6fe163ab
2014-12-04 21:52:16 -05:00
James Slagle
70880780f0 Allow injecting arbitrary yum repo configuration
Allows specifying the path to a yum repo configuration file to be used
during the image build process. The repo configuration file is removed
at the end of the build. This is useful in that it allows using any
arbitrary repo configuration during an image build.

Change-Id: I7d5c67d74a0bb4722ffc60aacfd9fa7e80fb59d5
2014-12-04 15:08:57 -05:00