Commit Graph

1767 Commits

Author SHA1 Message Date
Ian Wienand
e531980a14 Remove RedHat grub workaround install
AFAICT this is no longer necessary.  I've tested minimal and image
builds and they seem to work.

The original problem seems to be with installing the package in the
chroot, although it was never quite clear it ever affected the Red Hat
path.

This code is currently broken (see
I884cb1e78ad8c31d985f3fc94a58091b993edd7d).  This is proposed as an
alternative to I74eed074494134334d5e49042bb5214bd0dd7339.

Related-Bug: #1627000

Change-Id: Iafe3611f4eec3c6357587a6cae6a30a261686ead
2016-10-25 15:52:27 +11:00
Jenkins
85354e5cd8 Merge "Add opensuse-minimal element" 2016-10-18 16:27:03 +00:00
Jenkins
e0f7b6c6d6 Merge "Add zypper-minimal element" 2016-10-18 16:24:07 +00:00
Jenkins
96ce53fa16 Merge "Fix grub installation for RHEL" 2016-10-12 14:22:49 +00:00
Jenkins
066b448d7c Merge "start cloud-init-local in the boot runlevel" 2016-10-12 02:37:04 +00:00
Jenkins
22bdaad684 Merge "Move the opensuse mkinitrd script to the zypper element" 2016-10-10 14:36:12 +00:00
Jenkins
a56daaeaf2 Merge "Add pkg-map for gentoo to runtime-ssh-host-keys" 2016-10-07 17:28:35 +00:00
Matthew Thode
82b299bbdf
start cloud-init-local in the boot runlevel
cloud-init-local needs to be run in the boot runlevel because it
modifies services in the default runlevel. When a runlevel is started
it is cached, so modifications that happen to the current runlevel while
you are in it are not acted upon.

Change-Id: Ifeae0071fc9e738ec223ec0df271559ad6e0196b
2016-10-07 11:16:28 -05:00
Jenkins
5897e4975d Merge "Disabling all previous repos registered in the system" 2016-10-07 11:05:46 +00:00
Matthew Thode
3571647692
Add pkg-map for gentoo to runtime-ssh-host-keys
Openssh is provided by default so it is not needed to be installed here.

Change-Id: Id86f9a1d214c775570f0c9e2df4ea81367bb5b7e
2016-10-06 11:57:34 -05:00
Jenkins
12a73cf204 Merge "Default to http://ftp.us.debian.org/debian for debian-minimal" 2016-10-05 12:56:07 +00:00
Markos Chandras
90536dbab3 Add opensuse-minimal element
Add a new opensuse-minimal element to build small and highly
configurable openSUSE based images using the zypper-minimal element
as the main building mechanism

Change-Id: Iebfc4ad4aff763e511b093f1607b55851ccbddcb
2016-10-05 09:39:29 +01:00
Markos Chandras
c69c6c5a84 Add zypper-minimal element
Add a new zypper-minimal element to bootstrap SUSE-based distributions

Change-Id: Id63397e412a929d61247cfd3d9f8d4e758c1248a
2016-10-05 09:27:17 +01:00
Markos Chandras
8dde310cf3 Move the opensuse mkinitrd script to the zypper element
All SUSE-based elements can benefit from the mkinitrd phase to move it
to a more generic location.

Change-Id: Ife171d462a393b6ac0bf2c5eaa48ea25eaf4d1cc
2016-10-05 09:11:00 +01:00
Jenkins
80153520ac Merge "Move opensuse utils to zypper so they can be shared by SUSE-based distros" 2016-10-05 05:10:15 +00:00
Jenkins
04b05f261e Merge "Fix typo in extracting root partition" 2016-10-05 04:00:39 +00:00
Paul Belanger
7dc9465ed1
Default to http://ftp.us.debian.org/debian for debian-minimal
Since http://httpredir.debian.org is unreliable is selecting a mirror
to use, we'll now default to http://ftp.us.debian.org/debian.  In
fact, in openstack-infra we have been overriding httpredir.debian.org
for a while, now make this default in diskimage-builder.

Change-Id: I48658bc076e13a0913821197e4120c73618fef8f
Signed-off-by: Paul Belanger <pabelanger@redhat.com>
2016-10-01 21:10:08 -04:00
Markos Chandras
b9e9e2091e Move opensuse utils to zypper so they can be shared by SUSE-based distros
Move the opensuse utilities to the zypper element so they can be used by
SUSE or zypper based elements. This brings the zypper element somewhat
in line with the rest of the package manager elements.

Change-Id: I8aa2849231454216cdd47629a5e2d6e45769dbbe
2016-09-29 22:56:17 +01:00
Jenkins
b0d72a3161 Merge "Create runtime-ssh-host-keys element" 2016-09-27 23:10:05 +00:00
Yolanda Robla Mota
c6b4e639b0 Disabling all previous repos registered in the system
Depending on the pool id used, so many repos are brought,
including not valid ones that cause image to crash, or repos
that include conflicting packages.
Before enabling repos, disable all previous ones, so we
can be sure that we only bring the repos specified in the
parameters.

Change-Id: Ifd4d8d1d4fa954cd2593669e516e3201f2d6f6c1
2016-09-27 11:47:05 +02:00
Yolanda Robla Mota
f6e11c91c3 Fix typo in extracting root partition
Change-Id: Ie8dfd958d57ef92988647166f2031adb8406b0d7
2016-09-27 09:41:32 +02:00
Paul Belanger
45467e4229
Create runtime-ssh-host-keys element
Move managing of SSH host keys into a dedicated element.

Because glean doesn't generate SSH host keys anymore, we need to do it
with a systemd script. This is already handled by CentOS / Fedora so
we don't want to add it there.

This was done to address the upstream bug in debian:

  https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=500192

Change-Id: I31ad667672e08350872db21a83445fe0aa7a4a39
Signed-off-by: Paul Belanger <pabelanger@redhat.com>
2016-09-26 12:32:38 -04:00
Jenkins
d6794ba673 Merge "Shorten DHCP timeout in dhcp-all-interfaces" 2016-09-23 14:20:09 +00:00
Jiri Stransky
93425d14ce Fix grub installation for RHEL
Grub is first removed and then installed during RHEL image building. The
grub2 package typically requires the same version of grub2-tools, so if
we just remove and install the grub2 package, the installation can
potentially fail on being out of sync with grub2-tools version. Removing
and reinstalling both packages fixes this issue. Those packages are
already in package map for RHEL as "grub-pc", so we can use this alias.

Change-Id: Iefd9c17fffd43de3fea260510ad218b1322eecb3
Closes-Bug: #1627000
2016-09-23 14:14:49 +02:00
Jenkins
3a0f46282f Merge "elements: opensuse: Add support for openSUSE Leap" 2016-09-23 08:48:46 +00:00
Jenkins
e84488cad1 Merge "Allow ramdisk-create to run without $USER set" 2016-09-23 06:46:31 +00:00
Ben Nemec
2747613ca2 Shorten DHCP timeout in dhcp-all-interfaces
We are currently wasting about 10 minutes per deploy waiting for
DHCP on interfaces that will never get it.  By default, the timeout
seems to be 5 minutes (the 10 minutes is because we boot both the
IPA ramdisk and the deployed image, and each waits for 5 minutes),
which is excessively long to get a DHCP response.  This change
shortens the time to 30 seconds.  If an interface hasn't gotten a
response in 30 seconds, chances are it's not going to.  A 30
second wait should reduce our wasted time to 1 minute, which is
more reasonable.

This is being done in the systemd unit file because the -timeout
option to dhclient doesn't seem to override what is configured in
dhclient.conf, and doing it in the systemd file means that this
change will be limited to only the interfaces configured by
dhcp-all-interfaces.

Change-Id: Ia8610e3def39c937eb0c861fdc9bc571ec39f9f4
Closes-Bug: 1626673
2016-09-22 17:01:06 -05:00
Jenkins
0559818e04 Merge "don't configure 'lo' for dhcp" 2016-09-20 23:37:42 +00:00
Jenkins
4d79e5f519 Merge "Document source glean installs in simple-init" 2016-09-20 23:05:53 +00:00
Jenkins
d8a800c638 Merge "Add libselinux-python to yum-minimal" 2016-09-20 06:23:34 +00:00
Ian Wienand
ce410de834 yum-minimal: Disable excludes when installing pkg manager
Because we are using the building platform's "yum" to do the initial
install into the chroot, it is affected by the base-system's
/etc/yum.conf.

pip-and-virtaulenv in I82acb865378a0fa5903a6267bfcee0e2962eced0 added
"exclude=python-pip..." in /etc/yum.conf to stop the package manager
overwriting the installed pip.  Now our CI images have built with
this, we are now picking up this exclude on centos.  Since on F24
dnf->python->python-pip we end up failing to build the the chroot
because python-pip can not be satisifed.  In a general sense, however,
this could be caused by any configuration put into /etc/yum.conf that
is incompatible with installing into the chroot.

yum has the option to disable all excludes which is used here.  This
seems to be the best way to isolate the chroot install from any
excludes that may have been done on the base system for various
reasons.  I did consider using a completely separate yum.conf we ship
with dib ... but let's start simple.

This should fix the current gate failures on centos

Change-Id: I4e4cc8ed09a29c4057ade34ea93025139e191bf5
2016-09-20 09:31:44 +10:00
Monty Taylor
fd18cb74b2
Add libselinux-python to yum-minimal
yum-minimal installs selinux but not libselinux-python, which makes
interacting with the node from ansible hard fail. Add it.

Change-Id: I403e7806ae10d5dd96d0727832f4da20e34b94c7
2016-09-17 01:25:31 +02:00
Markos Chandras
0ddea940ad elements: opensuse: Add support for openSUSE Leap
Add support for new openSUSE Leap releases. Moreover, document
common environment variables and remove old note.

Change-Id: I8cf0b215cb4d9231e5658d49e3fd598dfbb5fd37
2016-09-16 16:13:19 +01:00
Jenkins
63a27bd0c4 Merge "Fix mellanox element required kernel modules and user space packages" 2016-09-13 06:07:27 +00:00
John Trowbridge
49baaa4114 Remove EPEL as hardcoded dependency of centos elements
The previous commit removes dkms from the base element, which
means the centos elements should no longer have a dependency on
EPEL.  Therefore, we should not hardcode the epel dependency.  It
can still be included in image builds as desired by using the epel
element explicitly.

Co-Authored-By: Ben Nemec <bnemec@redhat.com>
Change-Id: Iceff0d5bedd9816adfd2990970e7c216b67b6bd0
2016-09-12 11:42:55 -05:00
Ben Nemec
01a0dbf7c0 Remove unnecessary dkms install from base
The use of dkms in base was actually removed long ago in
Ic2c345bf9f0738dadae611194e263d3a5d424a3e and it is creating an
unnecessary dependency on EPEL for the centos elements.

Change-Id: Iae3100471e50a9c39f40b450f087192918ae54b3
2016-09-12 11:42:51 -05:00
Noam Angel
07e34f90e7 Fix mellanox element required kernel modules and user space packages
This fix add need kernel module for Infiniband and ConnectX-4+ network
cards.
Also install by default required user space packages.
Change-Id: Ia2e7b1820f197778138a23fafaccb5a4fb44369a
2016-09-11 11:40:20 +00:00
Waldemar Znoinski
bc80572061 don't configure 'lo' for dhcp
On systemd-based operating systems that don't
use /etc/sysconfig/network-scripts
dhcp-all-interfaces configures 'lo' for dhcp.
This causes errors and fails networking.target
causing system-wide issues. This change excludes
'lo' at dhcp-all-interfaces udev rules level.

Closes-bug: #1621501
Change-Id: I7563b766827bedbea7ae1de35e5bdfcbf1fc0d1e
Co-Authored-By: Jeremy Stanley <fungi@yuggoth.org>
2016-09-09 09:01:59 +00:00
Jenkins
ca53af1184 Merge "fix systemd resource deadlock" 2016-09-06 23:33:03 +00:00
Jenkins
1041b5c9d5 Merge "Revert "Revert "Pre-install pip/virtualenv packages""" 2016-09-06 21:21:11 +00:00
Waldemar Znoinski
4b222b8263 fix systemd resource deadlock
Dependency to start network-pre (which
depends on network.target) before
dhcp-interface@.service collides with
Ubuntu's own network.target that suupose
to start after network-pre.

Change-Id: I9e59c970bfb1ebdaa15b4ec6b545761ede3ca056
Closes-bug: #1619816
2016-09-06 04:47:29 +00:00
Clark Boylan
07f22a3388 Document source glean installs in simple-init
It is possible and often desired to install glean from a source
repository when using the simple-init element. Document the process for
doing this.

Change-Id: Ie7c690406b14aae07d73261879b7ce8a2ed9dd8d
2016-09-01 15:03:38 -07:00
Jenkins
a2d3d340d3 Merge "Update portage only if needed" 2016-09-01 06:29:16 +00:00
Jenkins
c526220c6f Merge "Generate and use upper-constraints for ironic-agent" 2016-09-01 06:29:09 +00:00
Jenkins
02e3b4d5c0 Merge "Disabled IPv6 privacy extensions" 2016-09-01 06:11:08 +00:00
Jenkins
41c7dd2e56 Merge "Add tests for building *-minimal images" 2016-09-01 05:44:03 +00:00
Jenkins
b10752ca71 Merge "Update GRUB_MKCONFIG for detecting what's installed" 2016-09-01 05:14:53 +00:00
Jenkins
36c3d1ff50 Merge "add no_proxy when debootstrap trying to use proxy" 2016-09-01 05:14:47 +00:00
Kevin Carter
4b1a875e56 Disabled IPv6 privacy extensions
IPv6 privacy extensions can cause issues by preferring a temporary
network over a public one. This preference may limit connectivity
in certain situations. An example of a connectivity issue can be
seen where the command ``traceroute6`` fails or misses all hops
while other traffic to a given domain with a "AAAA" record may
succeed. To resolve this issue the IPv6 privacy extensions have
been disabled.

Change-Id: I62b9d6301b9e8b8e93b49cecbc96334ceea92fa5
Related-Bug: #1068756
Signed-off-by: Kevin Carter <kevin.carter@rackspace.com>
2016-09-01 14:41:26 +10:00
Jenkins
7e0e13106d Merge "Explain difference between two envvars" 2016-09-01 04:38:38 +00:00