Commit graph

2670 commits

Author SHA1 Message Date
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
Antoine Musso
9bd84d4044 Only chown tmp dirs when they are a tmpfs mount
Temp dirs are created with mktemp and thus belong to the user. There
is no need to chown them unless we used `mount -t tmpfs`.

Move chown under the tmpfs_check conditional.

Change-Id: I37efe18ced3a06d461364dc5cb20600f1527e995
2015-06-24 13:58:31 +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
OpenStack Proposal Bot
c4ab253653 Updated from global requirements
Change-Id: Iff075e25eeb091650ac85ca1e1af7a1fd3394d3e
2015-06-22 08:20:17 +00:00
Antoine Musso
35584efa90 dib-lint: make it work on Mac OS X
Pass an explicit template to mktemp since that is required on Mac OS X.
Hardcoded to /tmp since I did not want to bother validating TMPDIR which
is user supplied.

Explicit define a repeating group which causes a grep error:
    repetition-operator operand invalid

Change-Id: Ib23cc15db7f7dfdd611280884e46342562d545df
2015-06-18 11:12:01 +02: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
Gregory Haynes
1fe62a5211 Add test for centos 6
Lets have a test that we can build centos 6 images using the centos
element.

Change-Id: I9c818b9404db2e337fbdb5837d883b2fe103a8db
2015-06-16 21:23:12 +00:00
Gregory Haynes
9a166b9df6 Document only exectuables in phase dirs policy
Having data files in the phase subdirs is an easy source of confusion
in reviews (especially when the data file is a script) and theres really
no reason to be putting data files there at this point. Lets make a
convention out of not doing this.

Change-Id: I99571a2a49e14e8c709af20f6d13d662ac745eb4
2015-06-16 17:03:17 +00: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
d711b5fefb Merge "Revert "Remove unused map_nbd function"" 2015-06-12 20:47:43 +00: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
037e71c023 Add explicit f21 test
Now that we are changing fedora to default to f22, lets gate on f21
still working.

Depends-On: Icbd08fb5aa69446ad65ff72af631902c4e1fa12b

Change-Id: I8b7b957fafc028aa2970803bd23ea644114f9b7f
2015-06-11 16:39:50 +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
Dan Prince
96b01a7d2a Revert "Remove unused map_nbd function"
This reverts commit ea4a823810.

This function was actually still in use in lib/common-functions
and removing it causes the disk-image-get-kernel /bin
to fail entirely.

Change-Id: Icddb3ca369922a6ea915af8b1b62c434cb1bdf28
Closes-bug: 1464031
2015-06-10 18:37:08 -04:00
yogananth subramanian
f0f945d136 ramdisk: enable ppc64 support for symlink
Patch enables symlink /usr/lib -> ../lib  support for ppc64 Fedora deployment ramdisk.

Change-Id: I01994685292d7c1cae0f9ec1a1052d68420b4b82
Closes-Bug: #1463357
2015-06-09 16:10:13 +05:30
Jenkins
c9f44b29bb Merge "Follow symlink for elements" 2015-06-04 23:01:58 +00:00
Jenkins
6b1d482423 Merge "Add Ironic API version to passthru URL for deploy-ironic" 2015-06-04 22:13:43 +00:00
Jenkins
b163db3196 Merge "Skip backups and other non-relevant files for dib-lint" 2015-06-04 22:13:24 +00:00
Pino Toscano
987a832351 Cleanup the build directories earlier
Split the cleanup_dirs function in two, i.e. cleanup of the build dir
and the image dir, and use the former to cleanup the temporary build
subdirs after their unmount, before the conversion to other disk
formats; they are not needed anyway at that point, and allows to save
disk space during the conversion phase.

Change-Id: Ie30d7e6033613d6979148423326ae7e17a7342e7
2015-06-04 10:46:18 +02: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
Tristan Cacqueray
356404f229 Follow symlink for elements
This allow custom elements to be added with symlink. Without -follow
a symlinked element is valid but scripts in *.d directory aren't used.

Change-Id: If50b7d9c3b1f6fe278c28488146709efe5cf065f
Closes-Bug: 1461124
2015-06-02 15:10:32 +00:00
Jenkins
7c47679cf5 Merge "Use tar -t instead of -l because centos 6" 2015-06-02 09:53:18 +00:00
Jenkins
ee5893d859 Merge "Ensure DIB_RELEASE is exported for fedora" 2015-06-02 09:50:46 +00:00
Jenkins
7e04c4cc84 Merge "Don't log tmpfs message during cleanup" 2015-06-02 09:50:27 +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
Ben Nemec
1b92a11268 Don't log tmpfs message during cleanup
By that point in the build it isn't generally useful, and it causes
confusion when builds fail because people think that's the error.

Change-Id: I26dee4ac0947b71a4a065ef6c5a18103e7df6667
2015-06-01 10:48:48 -05:00
Ramakrishnan G
af629c914c Support custom kernel cmdline args for deploy iso
This commit adds support for providing custom kernel
cmdline args while building deploy ISO.  This is useful
for adding kernel cmdline like 'console=ttyS1' in
environment (assuming all bare metals have been configured
to output to COM2 in BIOS).

Closes-Bug: 1451634
Change-Id: I20b04d9d104cfe46df0439c3f567a721a27e186a
2015-06-01 15:40:01 +00:00
Ramakrishnan G
eeb979fa13 Address follow-up comments
This commit addresses follow-up comments on
I1ffb832ebab009b2d77a46e6c8fc758dd9632359. The change
is to delete get-pip.py immediately after installing pip.

Change-Id: I2768da2365b08304b8e7fcf55c91101b05ec33ea
2015-06-01 02:14:41 +00:00
Jenkins
80057470a6 Merge "Fix disk image create errors behind proxy" 2015-05-29 16:53:46 +00:00
Jenkins
8efa1fe154 Merge "rhel-common element should not use attach with activation key" 2015-05-29 10:13:23 +00:00
Yuriy Zveryanskyy
5de277fb54 Add Ironic API version to passthru URL for deploy-ironic
Add current version of Ironic API for consistensy with IPA and Ironic
API settings, and for compatibility in the future.

Change-Id: I13c7a26b6cfb47a14aa49ee78441a1d97d7b42d0
2015-05-29 09:12:21 +03:00
Ian Wienand
ab05a8b7e2 Skip backups and other non-relevant files for dib-lint
I noticed dib-lint was running on my editor backup files and checking
python files (covered by flake8) and RST files

Change-Id: Ide2e8a4c1aa8d619bc4b0326a2cfc5e63c74475f
2015-05-29 15:39:46 +10:00
Jenkins
8d5923be11 Merge "Make it clear that tmpfs is optional" 2015-05-28 23:53:32 +00:00
Jenkins
934608cad6 Merge "Make $DIB_YUM_REPO_CONF accept a list of repo files" 2015-05-28 23:53:18 +00:00
Jenkins
38a3d98099 Merge "Cleanup /tmp in the guest" 2015-05-28 23:38:04 +00:00
Gregory Haynes
2d6e977b2e Use tar -t instead of -l because centos 6
Centos 6 tar appears to only support unix style tar args. Use tar -t
when we inspect test builds.

Change-Id: I91bf321cf6700d59956779a60f613eddd2856024
2015-05-27 17:58:24 +00:00
Dougal Matthews
a6751c53a0 Make it clear that tmpfs is optional
Given this is often the final output, it can look like an error occured.
Changing the wording makes this clearer.

Change-Id: I70f157054e3120cffee6fa5241b1ffe0b7bfa650
2015-05-27 12:49:38 +01:00
Ian Wienand
379d6a2650 Ensure DIB_RELEASE is exported for fedora
This variable is useful for scripts to know what release they are
building.

Change-Id: Ib5f5d13a8f25f00fda07dad19aa1d603c1616a2e
2015-05-27 12:46:13 +10:00