Commit Graph

523 Commits

Author SHA1 Message Date
Robert Collins
cbfd5a9a62 Document some dependencies.
Change-Id: Ibe925bd48cf8dd1a5318361ab972c5734aeee3c1
2013-06-07 15:20:21 +12:00
Lucas Alvares Gomes
c28cb1b5d8 Add RedHat support for disk-image-get-kernel.
RedHat and Debian based systems have different binary names.

Change-Id: I5162204759fbc4ff167d1584294c9936ab7df4c8
2013-06-05 17:12:09 +01:00
Lucas Alvares Gomes
4e4a88a387 Add dracut-network element.
This element will install the network modules for dracut and regenerate
the initramfs. The network support would allow us to configure the network
of the image via kernel cmdline instead of injecting files into the image.

Change-Id: I829405127e77aec80b99ac8dd2032cb0c6d81063
2013-06-05 14:18:57 +01:00
Jenkins
8532b3d7ad Merge "Add fedora support for ramdisk-image-create." 2013-06-05 10:00:11 +00:00
Lucas Alvares Gomes
cd27dff29a Add fedora support for ramdisk-image-create.
This patch allows the creation of ramdisks from a fedora system.

Change-Id: Ic3b393af45ae1b85d015d2ceb5601ea723457da6
2013-05-31 15:37:31 +01:00
Jenkins
e34a211d21 Merge "Remove obsolete Fedora rc-local install.d hook." 2013-05-31 10:33:42 +00:00
Lucas Alvares Gomes
58538cea51 Remove obsolete Fedora rc-local install.d hook.
After the refactor of the first-boot routine there's no use for this
script anymore, in fact all it's doing is to create a broken link.

Change-Id: Ic09e7208bc950380341e8a073647950ac99a05fd
2013-05-31 11:29:23 +01:00
Matthew Farrellee
e6608d42da Switch from losetup+partprobe to kpartx for Fedora image creation.
Fedora's partprobe does not create devices the same way it does on
Ubuntu. Instead of using partprobe, this patch uses kpartx, which
works on both Fedora and Ubuntu.

Change-Id: Iac5cbac083e423425693c8210cd5d058ce4bce72
2013-05-30 17:32:13 -04:00
Jenkins
6fe4502058 Merge "Fix fedora element to work with qcow2 images." 2013-05-28 23:40:05 +00:00
Robert Collins
c713e44ad8 Move package install of dkms to install.d.
Change-Id: I04bebdc9162915e0789fc374c172adc73079a227
2013-05-27 12:12:47 +12:00
Clint Byrum
da02e05ff4 Fix fedora element to work with qcow2 images.
The images from mattdm were updated and also changed to qcow2 format.

Change-Id: I6560f177baa9a0e2d303364a3ad4eb216f1f2136
2013-05-25 06:24:08 -07:00
Dan Prince
a4c42954d3 Install dkms before using it.
Updates the new 99-dkms element so that it installs the package
before using it.

Fixes LP Bug #1183785.

Change-Id: Ia191ed3cae707a8c8591f849dc0c6293e849d64a
2013-05-24 07:56:11 -04:00
Chris Jones
be99db321b Build all dkms modules near the end of the image build.
Work around ordering issues that cause dkms modules to not always
be built for all installed kernels, add a post-install.d script to
the base element that will force the issue.
(Note that any module/kernel pairs with a pre-existing valid
module will not be rebuilt, so this should not impact performance
unnecessarily)

Change-Id: Iccea14c6318014cc7e1fec77e71c14a224f7b76e
2013-05-24 11:57:04 +01:00
Robert Collins
5695fbd39e Set correct mode for .ssh/authorized_keys files.
Per bug 1182648 we were not setting the mode and as a result couldn't
log in, defeating the purpose of having a local-config element :).

Change-Id: I4114b9536392f1517eac8f4bbe6f4b60ce1186a1
2013-05-24 12:01:57 +12:00
Robert Collins
45a730b3b5 Update sudoers rules for 1PB resizing.
Change-Id: Ib3c346a2ecf5fc2a2198dc01cb8572806c8b635e
2013-05-24 11:01:50 +12:00
Robert Collins
1f0bc8f19b Increase the size heuristic for images.
Bug 1183597 reported that we create them too narrowly today.

Change-Id: Ia863cf2fb19c813c51f94dd0b8e210a75dccd945
2013-05-24 10:32:10 +12:00
Robert Collins
c139b0cb46 The ext4 resize fix was faulty - fix it.
Fix bug 1183251 by replacing an erroneous reference to OPTS with
MKFS_OPTS.

Change-Id: I741005d574715b8b237d9789398dbaba29df60e3
2013-05-24 10:06:33 +12:00
Jenkins
1e28c18c50 Merge "Move the ensure_nbd function call." 2013-05-20 18:43:22 +00:00
Jenkins
495381c2f5 Merge "Refactor the first boot routine." 2013-05-20 18:38:45 +00:00
Clint Byrum
92e420aaf0 Basic wall clock profiling per element script.
Change-Id: I43f90574ac716f2ef22949c0fe4fa2e7fc84348e
2013-05-20 11:14:52 -07:00
Lucas Alvares Gomes
85b5ef0c8d Move the ensure_nbd function call.
Move the ensure_nbd function call from the disk-image-create to the
disk-image-get-kernel. The image creation process does not use qemu-nbd
anymore.

Change-Id: I8ff2ad54f322a9e33d52408fa4e253a7b45900c7
2013-05-20 11:59:21 +01:00
Robert Collins
fb246a02eb Ensure that the ext4 fs can be rebuilt up to 1PB in size.
Change-Id: I16c5fe4eb0a9951d44745d6a46450f70d33b3481
2013-05-18 13:08:06 +12:00
Jenkins
103bedacc7 Merge "Run fixfiles restore in chroot instead of firstboot." 2013-05-17 22:39:06 +00:00
Chris Jones
7abd158346 Force text mode console in base element.
Apply kernel command line parameters to force Linux to remain in text
mode. Typical distro kernels quickly switch into a graphical screenmode
and this is incompatible with common Lights Out Management hardware
which is able to intercept text mode consoles to display them remotely.

Change-Id: Id553972c4fd87e78c9e6fe344331a399913d965e
2013-05-16 20:04:12 +01:00
Lucas Alvares Gomes
02ee161e81 Refactor the first boot routine.
Setting up a routine to run at first time the system boot may vary from
distribution to distribution. This patch will remove the logic from the
diskimage-builder code and put it into the elements.

The base element will now deploy a dib-first-boot script and each OS
element will ensure that this script runs at rc.local time. By doing
that we will put the OS specific stuff in the OS elements and remove
the embedded code out of the img-function file.

Change-Id: I24c5d1b1185de5693f145347fe912245f1ba7dfe
2013-05-16 15:50:10 +01:00
Steve Baker
6561ed2ce8 Run fixfiles restore in chroot instead of firstboot.
Boot time was 30 seconds shorter in an all-in-one devstack
environment.

Thanks to Ghe Rivero for a pointer to the solution
https://bugzilla.redhat.com/show_bug.cgi?id=208275

Change-Id: I90d0c96d5659326ba67d6119b96d9a4113adf7fe
2013-05-16 15:23:58 +12:00
Jenkins
7e0fe78cf2 Merge "Fix for running /etc/rc.local on Fedora" 2013-05-15 22:35:19 +00:00
Jenkins
010fef9843 Merge "Trigger SELinux autorelabel on first boot." 2013-05-15 22:32:42 +00:00
Jenkins
958badb36f Merge "An element for putting SELinux in permissive mode" 2013-05-15 22:19:04 +00:00
Jenkins
2e244fb720 Merge "install redhat-lsb before pre-install.d baseline-tools" 2013-05-15 22:13:17 +00:00
Jenkins
606f67643b Merge "install redhat-lsb-core instead of redhat-lsb" 2013-05-15 22:13:08 +00:00
Jenkins
2e3dbac7c1 Merge "Enable serial console for fedora" 2013-05-15 22:12:38 +00:00
Steve Baker
d36ecfb75c Trigger SELinux autorelabel on first boot.
This adds about 30 seconds to my local boot time.

Fixes bug #1179730

Change-Id: I519bb9289236abd43f8eb784768dcab10e2e5754
2013-05-14 12:03:24 +12:00
Steve Baker
3bf171b2b5 An element for putting SELinux in permissive mode
This is useful for selinux debugging, so is most useful in its own
optional element.

Change-Id: I83532242eacbe211d3bb13e00436f682ca6d7e76
2013-05-14 11:56:28 +12:00
Steve Baker
c6da246b73 Fix for running /etc/rc.local on Fedora
With systemd rc.local lives in /etc/rc.d and is only run
if the rc-local service is enabled.

This change creates a /etc/rc.d/rc.local symlink, and modifies img-functions
prepare_first_boot to tolerate an initially missing /etc/rc.local.

Fixes bug #1179674

Change-Id: I7e6102b62224950c1de5d48205dc4feff60f9389
2013-05-14 11:48:58 +12:00
Jenkins
ffdf0ba7ff Merge "Honor $DIB_IMAGE_SIZE." 2013-05-13 17:56:17 +00:00
Tim Miller
9983245249 Honor $DIB_IMAGE_SIZE.
The recent change to use loopdev instead of nbd stopped
honoring the DIB_IMAGE_SIZE setting.

This change adds it back, by resizing the image to
DIB_IMAGE_SIZE GB, if specified. If unspecified, it resizes
the image to (actual usage + 20%), as it did before this change.

Change-Id: I69afd9584e644ddacc948619100f153d3d8713a4
2013-05-13 10:20:53 -07:00
Steve Baker
04e8d1cc00 install redhat-lsb before pre-install.d baseline-tools
baseline-tools expects lsb_release (although tolerates it not being there)

Order needs to be 01-override-yum-arch, 02-lsb, 03-baseline-tools
hence the renames.

Possibly lsb_release isn't cared enough about to do this.

Change-Id: I03abffb1ab2f560e746ba4ffd407605de31f4930
2013-05-13 15:58:31 +12:00
Steve Baker
aea625d64d install redhat-lsb-core instead of redhat-lsb
The later pulls in most of a desktop. The former still pulls in a lot
but significantly less, and still provides lsb_release.

Change-Id: Ie27310f01c037b4a10feb5e380e6f5c4ecf21364
2013-05-13 15:55:51 +12:00
Steve Baker
3c3ee47e82 Enable serial console for fedora
Change-Id: Ic3695f643f3d00457fd97d18863793d60d3f211d
2013-05-13 11:15:59 +12:00
Clint Byrum
6b44b6d274 Fix fedora fstab so / is mounted rw properly.
Change-Id: I8001b3fdb3fecb70cda388450222c60a2bd0a58b
2013-05-10 00:05:56 -07:00
Jenkins
2536d3f28d Merge "Retry losetup -d for up to 10 seconds." 2013-05-09 23:08:29 +00:00
Robert Collins
a8707cc152 Add an element to configure a serial console.
With ILO and other remote machine management cards, a serial console is
actually useful.

Change-Id: I86f74d9dae3821b4682df813c5b52a83a29a138a
2013-05-10 07:38:31 +12:00
Clint Byrum
20661e8d80 Retry losetup -d for up to 10 seconds.
When partition tables are added to loopback devices, this can set off a
chain of udev hooks that may still be holding the loopback open. Failing
to detach loopback devices was the reason we were seeing leaked tmpfs
volumes.

Fixes bug #1178091

Change-Id: I836d6e2bbce824951dd4786e3ef28273ea18ee73
2013-05-09 09:34:53 -07:00
Jenkins
bd0f73f4cc Merge "Use conditional GET to fetch latest ubuntu image." 2013-05-09 05:13:06 +00:00
Jenkins
4506d948ea Merge "Reinstate support for real hardware with Ubuntu." 2013-05-09 01:20:23 +00:00
Lucas Alvares Gomes
e537e046d1 Force the inclusion of /usr/local/bin in PATH.
Sudo compiled with the --with-secure-path option enabled (default on
Ubuntu, Fedora and potentially other distros) will cause sudo to ignore
any changes made to the PATH variable in the user's environment (even when
the -E option is used). Also, some distros might not have /usr/local/bin
set in their sudoers secure_path causing the diskimage-builder to fail
when building an image using such distros as host. This patch will force
the inclusion of the /usr/local/bin in the PATH enviroment variable
inside the chroot.

Change-Id: Idb7156d8ff124bfe685cc721337d9bb21f49dc9e
Fixes: bug #1175980
2013-05-08 23:32:47 +01:00
Robert Collins
d5d775e9b4 Tweak the moved cleanup_dirs to match the original.
Change-Id: I5cb240aa82a5d9ccea539927d355a1f07e728381
2013-05-09 08:32:36 +12:00
Jenkins
fe36ab5554 Merge "Extend mellanox support to disk images." 2013-05-08 19:54:15 +00:00
Jenkins
c26bd8d655 Merge "Remove img-functions from ramdisk-image-create." 2013-05-08 19:51:32 +00:00