Commit Graph

1299 Commits

Author SHA1 Message Date
Om Kumar
9f46c3ba0c Adds Ubuntu and Debian to ironic-python-agent Support-list
Adds support for Ubuntu and Debian to ironic-python-agent. This will
enable building ramdisk with Ubuntu and Debian as base OS.

Updated README to further clarify what the element does.

Change-Id: I194f85b051974d8ccb197a0993a67761046cfe98
2015-07-30 12:51:24 +00:00
Jenkins
9ac258f028 Merge "Add init-scripts directory support" 2015-07-28 18:43:46 +00:00
Jenkins
d4c27b603a Merge "Update default Fedora to 22" 2015-07-24 15:44:44 +00:00
Jenkins
4b0c1876a1 Merge "opensuse: Update README" 2015-07-24 12:57:08 +00:00
Jenkins
c79d21ff1f Merge "openSUSE: Fix link to the images download folder" 2015-07-24 12:56:32 +00:00
Jenkins
dc197197a2 Merge "Use official mirror name for debian-minimal" 2015-07-22 19:12:31 +00:00
Jenkins
4c0482e91c Merge "debian: install DHCP client and ifconfig packages" 2015-07-22 04:45:44 +00:00
Jenkins
6971116959 Merge "Add base element for using docker as image base" 2015-07-20 09:59:19 +00:00
Ian Wienand
e37f0e5894 Update default Fedora to 22
Update the default Fedora build to 22.  Testing with prior changes
produces a bootable .qcow2.

Change-Id: Icbd08fb5aa69446ad65ff72af631902c4e1fa12b
2015-07-20 09:08:06 +10:00
Ian Wienand
e42066d685 Cleanup yum downloading
Using "yum --downloadonly" breaks the abstraction of
"install-packages" because it downloads to the yum cache.  It also
acts funny if the package is already there.

Add an argument to "-d" which is the directory to download to.  dnf
has "download" built in, and for the old case use yumdownloader which
acts about the same.  Ensure it is installed, since it comes in
yum-utils.

Also a slight cleanup of the getopt parsing so it's easier to have the
required argument for -d

Thus we can remove most of the stuff in 15-remove-grub.  The check for
centos6 and it's lack of grub2 is clarified.  All the stuff about
having to remove the package, purging the cache etc so yum gets the
right thing is no longer relevant.  The long section of commented out
code at the end is also removed for clarity.

I tested this with an F21, F22 & centos (6) build

Change-Id: Id1e430e7d050a0b99ac449e2ea435e06cda1c4e6
2015-07-20 09:08:06 +10:00
Jenkins
1654a2002e Merge "Use the init scripts from the glean package" 2015-07-19 11:08:39 +00:00
Monty Taylor
4bddca2573 Add base element for using docker as image base
Docker can export root filesystems, which is what we want out of root
elements. Make a very simple passthrough element that will grab a docker
image and export it into a root filesystem.

Change-Id: Ie1e2d5dd5a61558f100e02c953b18d697a8fe8a2
2015-07-19 10:23:34 +00:00
Jenkins
61914629f1 Merge "Work around yum/dnf differences" 2015-07-17 23:44:43 +00:00
Jenkins
148a5fc40a Merge "Add YUM variable to for Fedora >= 22" 2015-07-17 23:44:14 +00:00
Gregory Haynes
3a186698a6 Add init-scripts directory support
There is a common pattern of if init_system == foo then install init
script foo-service-init into /etc/init... Lets encode this pattern by
allowing elements to put files into init-scripts/init-system directories
and then copying the appropriate files for them.

Change-Id: I541db18a0a8c5e0755a0af5732f4e15a5e5cf984
2015-07-16 17:59:05 +01:00
Clint Adams
b0ee421a2a Use official mirror name for debian-minimal
The canonical name of the official Debian mirror redirector is
httpredir.debian.org.

Change-Id: I61455919d84d414d5da7df699a5b14439f07ff3d
2015-07-09 23:41:49 -04:00
Antoine Musso
ec2be8a75e debian: install DHCP client and ifconfig packages
When building an image having the elements debian and vm, cloud-init
fails with:

    ci-info: !!!!!!!!Net device info failed!!!!!!!!

Looking at the source code, it executes ifconfig to gather informations
but the `debian` elements does not provide it.  There is also no DHCP
client available which is rather painful.

Install isc-dhcp-client to provide a DHCP client.
Install net-tools to provide ifconfig, required by cloud-init.

Ref: https://phabricator.wikimedia.org/T105152
Change-Id: I76dfd4f87a5c9f08e7c572fb4f5ebeeb34f5f66a
2015-07-09 14:01:13 +02:00
Om Kumar
870ea5bb5e Removes hardcoded refrences for ethernet interface
Remove hardcoded refrences for ethernet interfaces from ironic-agent
and sets a dependency on dhcp-all-interfaces to ensure it works for
all interfaces for all other operating systems.

Change-Id: I7ae6d1c5bd9911ef3db45187c0010cf0973badf1
Closes-Bug: #1471802
2015-07-08 07:14:06 +05:30
Dirk Mueller
5f5d9e3548 opensuse: Update README
The fix for static links to the latest image has been rolled out.
Update documentation accordingly.

Change-Id: Ic92d0e1d584ca2bf1d82f411102079cb4455bddb
2015-07-01 22:03:50 +02:00
Dirk Mueller
b422d3af16 openSUSE: Fix link to the images download folder
Change-Id: Idc1c3c354bb77871b40e8c0f3144ee38d016c3d5
2015-07-01 22:03:45 +02:00
Jenkins
c08d1cbaec Merge "Optimize Python install in deploy-targetcli" 2015-06-29 20:21:46 +00:00
Monty Taylor
1603aa2457 Use the init scripts from the glean package
The init scripts have now been moved in to glean itself, so just consume
them directly.

Change-Id: Ib85128579c62020df23d73404c0563894038d2dd
Depends-On: I2ed25ce434023bfc8b6a88a08c0c06c1cef63982
2015-06-27 12:51:25 -04:00
Jenkins
96c134b429 Merge "Have glean set hostname if a config drive exists" 2015-06-26 20:44:37 +00:00
Jenkins
070c8d34c8 Merge "Add oat-client element" 2015-06-26 19:49:29 +00:00
Gregory Haynes
243d28ba72 Have glean set hostname if a config drive exists
Glean now supports setting a hostname, lets ask it to do this.

Change-Id: Iea8d210b4b5add8fed4038cf81ce28d1d7c7c1c4
Depends-on: Ia9155bc565ad79af44d88acc06759be2bf4e5f20
2015-06-26 14:40:34 +00:00
Jenkins
8fe0009534 Merge "Change simple-init to use a PATH variable" 2015-06-26 02:32:56 +00:00
Lin Tan
59f83ef37b Add oat-client element
This element installs oat-client on the image, that's necessary for
trusted boot feature in Ironic to work. This element only works on Fedora.

Intel TXT will measure BIOS, Option Rom and Kernel/Ramdisk during trusted
boot, the oat-client will securely fetch the hash values from TPM.

Change-Id: I0f1221b5708e9a5792df62ee6e73034f8bf1577c
2015-06-26 09:57:12 +08:00
Jenkins
ba6959bb92 Merge "Allow source-repositories ref to be "*"" 2015-06-26 01:40:54 +00:00
Jenkins
c742daaa95 Merge "Wait longer for root device to become available" 2015-06-25 20:43:00 +00:00
Jeremy Stanley
f82400b432 Allow source-repositories ref to be "*"
Passing a source-repositories ref of "*" should signal fetching all
heads similar to when a non-cached ref is requested. Reuse the same
fallback logic, but skip unnecessary checks since "*" is not a real
refname. Also expand the fallback to update tags, and to --purge
local refs that no longer exist on the remote for additional safety.

Change-Id: I4562c9689a8d235ebe09b2f7178aa5890dbc85f1
2015-06-24 20:50:06 +00:00
Ian Wienand
b183e024ba Work around yum/dnf differences
Some minor workarounds for Fedora >= 22 where dnf is the default
package manager. The changes are documented on the Fedora release
notes https://fedoraproject.org/wiki/Changes/ReplaceYumWithDNF

Change-Id: I7d7d6f5d294980dcb217d6190a1efd9e0bbea9a6
2015-06-24 09:20:45 +10:00
Ian Wienand
f112b6f690 Add YUM variable to for Fedora >= 22
Add a YUM variable that defaults to dnf for Fedora 22 and greater.  At
this stage the yum element can do double-duty with dnf -- it's mostly
the same.  If we find it starts getting too unwieldy we can separate
this later.

Modify the install-packages for yum to use this variable when set, but
default back to "yum" to retain the status-quo.

Change-Id: Ibff71465b392d9f66b6f93955ff9223575d6165c
2015-06-24 09:20:45 +10:00
Ben Nemec
3f3cded06b Optimize Python install in deploy-targetcli
Installing Python to a ramdisk takes quite a long time because of
the way dracut checks for dependencies of every single file
installed.  We could avoid that, but then we might miss a required
library file.

This change alters the installation method to speed up
the process.  First, it creates a list of files that are needed and
then installs them all at once using inst_multiple instead of calling
inst on each file separately.  This doesn't make a huge difference,
but in my testing it is marginally faster.

Second, and more significantly, we don't need the *.pyo and *.pyc
files as those are simply an optimization to speed up module
loading.  Because the deploy ramdisk is a short-lived operation,
we probably lose more time transferring those extra files to the
target system than we save in improved load times.

In my testing, these two changes netted about a 20% improvement
in build times, and about 13% decrease in image size.

Change-Id: Ibc2b778c28fc9fb7177380dffe8dbce5722d0733
2015-06-22 13:19:14 -05:00
Jenkins
6bf4631cfa Merge "Add debian build test case" 2015-06-17 21:10:23 +00:00
Ben Nemec
05764de6e7 Wait longer for root device to become available
On some systems, it can take longer than 10 seconds for the root
disk to be detected.  Because enterprise hardware.  Increase the
wait time to 60 seconds so we don't incorrectly fail due to a
missing root device.

Change-Id: I4f67ef0295af8f2ae783fe3aea347b41987c6a66
2015-06-17 11:53:57 -05:00
Ian Wienand
19f769f049 Revert "Revert "Ensure DIB_RELEASE is exported for fedora""
This reverts commit 7a4c396948.

Note this time it sets it to F21, not F22, and gets rid of the
duplicate definition that doesn't get exported.

Change-Id: I240ad25d7a73c379559517a2a8399ae8c098314b
2015-06-17 11:24:35 +10:00
Julia Kreger
5487af6b2a Change simple-init to use a PATH variable
Changed simple-init to utilize a PATH variable in order to allow
for glean to be executed in the event the operating system places
glean in /usr/bin, such as what occurs on CentOS 7.

Change-Id: Ibf95fcd7ca368595e8fb3473f25eb0a919726e39
2015-06-16 10:24:28 -04:00
Jenkins
de90ad1cbe Merge "Dont fail if were missing setfiles" 2015-06-12 04:53:37 +00:00
Jenkins
1f9a113926 Merge "CentOS-6 resize support" 2015-06-12 04:05:32 +00:00
Gregory Haynes
fe559242cb Dont fail if were missing setfiles
We are using which to find the location of setfiles. Our script is set
-e though, and we need to also be able to handle the case where setfiles
does not exist (like on centos-minimal).

Change-Id: If53c7a80efc081b95b143c28be64d39b12bfb469
2015-06-11 01:47:07 +00:00
Jenkins
6b1d482423 Merge "Add Ironic API version to passthru URL for deploy-ironic" 2015-06-04 22:13:43 +00:00
Jenkins
8fd7fd9e0a Merge "Add smoketest for fedora" 2015-06-04 03:34:17 +00:00
Jenkins
b35c6f27c8 Merge "Revert "Ensure DIB_RELEASE is exported for fedora"" 2015-06-04 01:24:25 +00:00
Jenkins
250cdbc9f1 Merge "Address follow-up comments" 2015-06-03 19:21:42 +00:00
Gregory Haynes
7a4c396948 Revert "Ensure DIB_RELEASE is exported for fedora"
The default release for fedora is actually 21 for us, and we are unable
to build 22 right now.

This reverts commit 379d6a2650.

Change-Id: Iffcc505f1e115cb6bc662b57a78878e498ce338e
2015-06-03 19:13:35 +00:00
Abel Lopez
184311b7f8 CentOS-6 resize support
Wrong package in the list, dracut-modules-growpart is wrong,
needed dracut-modules-growroot for proper resize to work

Change-Id: Iea8789ea3d44d182197a4713244b551f2cd4dd55
Closes-Bug: 1461601
2015-06-03 09:13:00 -07:00
Jenkins
348c15fdc3 Merge "Add grub2 element" 2015-06-03 10:48:18 +00:00
Jenkins
ee5893d859 Merge "Ensure DIB_RELEASE is exported for fedora" 2015-06-02 09:50:46 +00:00
Lucas Alvares Gomes
1b9520e955 Add grub2 element
This patch is adds a new grub2 element that installs the
grub2 bootloader on the image so it can work with Ironic's
local boot support.

This patch also modifies the iso element which was installing
same grub2. It removes the grub2 installation from iso element
and makes it dependent on grub2 element.

Co-Authored-By: Ramakrishnan G <rameshg87@gmail.com>
Change-Id: I37bcf2c525708d1e2e0f95cf5874a279f76861f7
2015-06-02 05:35:03 +00:00
Jenkins
f0dc50e83b Merge "Support custom kernel cmdline args for deploy iso" 2015-06-01 21:05:13 +00:00