| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
|
|
|
|
|
| |
This patch is limiting the memory address space to 1 GiB when invoking
qemu-img convert. The qemu-img command can be exploited so we better
play on the safe side (See: bug #1449062).
Change-Id: I2088f74b32d1392310c569cfaa7fd368cb737421
Closes-Bug: #1657808
(cherry picked from commit 449cda4fed51250992446c83a4b50bc45fd10c6d)
|
|
|
|
|
|
|
|
|
|
|
| |
Fixes two root device hints, 'wwn_with_extension' and 'wwn_vendor_extension',
that were implemented and documented, but were not added to the list of
supported root device hints, and thus fail validation.
This code was completely rewritten on master, so this change is not a backport.
Change-Id: I7bcc8c10d461b388f306c467e42d1e72f4e8a0f7
Closes-Bug: #1620563
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Currently, building ramdisks installs ironic-python-agent without any
upper-constraints. This causes the package to be installed with newer,
untested dependencies.
This commits introduces a tool to generate a local upper-constraints
file based on predefined strategies (below). Additionally, the fallback
to the openstack/requirements uses the URL defined in tox.ini instead of
redefining it. This prevents having to keep track of two separate
variables when releasing.
upper-constraints lookup strategies (in order):
* UPPER_CONSTRAINTS_FILE points to a local file
* UPPER_CONSTRAINTS_FILE points to a URL
* /opt/stack/new/requirements/upper-constraints.txt
* upper-constraints.txt from openstack/requirements git repository
Partial-bug: #1616554
Change-Id: Ib5c0c57cafdb6ffd7456e61f3b1bb5fa57520e5a
(cherry picked from commit a0ca6ce157b8a84f282d8abbdd27c75f48d991ff)
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
This configures tox to use upper-constraints for everything, except
environments used for post jobs (as constraints aren't supported there
yet).
This also doesn't enable constraints for our image builds, as it isn't
possible to pass an environment variable into the Dockerfile to allow
folks to choose their own constraints file (and we don't want to force
people to rely on git.o.o for building images).
Closes-Bug: #1617087
Change-Id: I285855c6386f59e9dd352473aa28463109818c90
(cherry picked from commit 4e35b0ee64a249c8461efc1c4374dd6cd9253220)
|
|
|
|
| |
Change-Id: I5f139376be9f216fcbc1a43f8e4698bf498a6649
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Creating specific partitions will cause a udev event to trigger,
causing systemd to attempt to mount the new partition at /usr/share/oem.
This mount will not succeed, but will unmount /usr/share/oem,
causing ironic-python-agent to die.
Masking this unit disables this behavior.
Change-Id: Ifea3482f36a354cbf988e6f6003f4284c5c2a21d
Closes-bug: #1592163
(cherry picked from commit da0a8aff88e67fce7603b03a220b77b451349e7d)
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Presently should the ATA erasure operation fails, IPA halts the
cleaning process and the node goes to CLEANFAIL state as a result.
This failure could be the result of a previous cleaning failure
that left drive security enabled, for which code has been added
in an attempt to address this case by attempting to unlock the
the drive.
In the event that an operator wishes to automatically fallback to
disk scrubbing operations, the capability has been added through
a driver_internal_info field "agent_continue_if_ata_erase_failed"
that can be set to True, however defaults to False keeping the
same behavior that IPA presently exhibits in the event of ATA
erase operations failing.
Partial-Bug: #1536695
Change-Id: I88edd9477f4f05aa55b2fe8efa4bbff1c5573bb1
(cherry picked from commit ed74a062c19a63a2c05a506c4ed8d3aa4ecfa09e)
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Some kernel modules take substantial time to initialize. For example,
with mpt2sas RAID driver inspection and deployment randomly fail
due to IPA starting before the driver finishes initialization.
This problem is probably impossible to solve in a generic case, as
modern Linux environment do not have a notion of "hardware is fully
initialized" moment. All hardware is essentially hotplug.
To solve it at least for the simplest case, this patch adds a wait loop
on start up waiting for at least one suitable disk to appear in inventory.
Note that root device hints are not considered, as the node might not
be known at that moment yet.
Change-Id: Id163ca28f7c140c302ea04947ded3f3c58b284de
Partial-Bug: #1582797
(cherry picked from commit c15ed6a48e36da26576242277aa531720fd15d2d)
|
|\
| |
| |
| | |
stable/mitaka
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
This patch aims to reduce the TinyIPA ramdisk file size by removing
some files that aren't required to run IPA once built and also striping
the binaries we build for qemu-utils and tgt to make them as small as
possible.
This patch also cherrypicks a fix to the orignal patch which if missing
will cause the the post job to fail when it trys to upload tinyipa.
Change-Id: I6b8d648800284444d67a6988511707e57de1e6c9
(cherry picked from commit 6633cbb7d680d1df8a5bf2ec6bc1553458dee9a8)
(cherry picked from commit 83ab1bc7dd475d72cc9a98c92257f6f4398bee29)
|
|\ \
| |/ |
|
| |
| |
| |
| |
| |
| |
| |
| |
| | |
This patch adds code into the tinyipa build process and IPA itself to
allow the required python code to be PYTHONOPTIMIZE precompiled into
pyo files, this speeds up IPA startup time in a nested virt by 50%.
Change-Id: Ib60c420719ea52a602c1752b572d3b217c2cefc7
(cherry picked from commit f58f7b9a076444e05088186dde7b8703c4476761)
|
|\ \
| |/ |
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Bump to the latest version mainly to get the slimmed down gdisk [1].
Additionally, ensure /dev/pts is mounted in the chroot to avoid make
from segfaulting when ttyname fails [2]. This only affects interactive
mode.
This patch also cherrypicks the commit which adds the popts dependency
which was a follow up fix which if missing makes the upgraded TinyIPA
fail.
[1]: http://forum.tinycorelinux.net/index.php/topic,19951.0.html
[2]: http://patches.openembedded.org/patch/117921/
Change-Id: If752cd9ed561a571c9690eb7390c3ee3910b09e0
(cherry picked from commit 7274e2ee81e28c36988873f77f0da30b06e072e1)
(cherry picked from commit 085e622945e273cc759ff4bff7c08d15fc1e15c6)
|
|\ \
| |/
|/| |
|
| |
| |
| |
| |
| | |
Change-Id: I81d2b52f7a5733a833fec9fcce0667f9f4bf5620
(cherry picked from commit bfe334a3dbed6f471c65ed489394c169b02ff5be)
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
This patch reduces tinyipa boot time significantly by preinstalling all
required system packages at build time instead of the traditional
tinycorelinux method of loading them at runtime, cutting many seconds
of unpacking squashfs files out of the boot procedure.
Change-Id: If10cb64ea6b64972df0cdbd1056d84f136fec94a
(cherry picked from commit 046994a04f5f2804091fbdf2d425019bb7b64952)
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
For publishing tinyipa from stable/branches we need to be able to place
branch references into the files created so that when they are uploaded
versions from different branches do not conflict. This change also adds
building a tar for publishing too.
Change-Id: I9d879689c8e88768aaa96d0033b62d062f9cdc27
(cherry picked from commit 90156c006db181634114e3acdf90885062a0aba5)
|
|\ \
| | |
| | |
| | | |
stable/mitaka
|
| |/
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
The build of tinyipa is doing a: git clone git://...
Doing a git clone git://... behind a proxy server is painful. Use the
'official' QEMU github mirror and clone with https.
Change-Id: Ia14835e6867b945cccb8b1987aa4881d8524561c
Closes-Bug: #1578778
(cherry picked from commit 4be5e084080cde8e53dd83e21a4ac9da3a12b6b2)
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
Squashfs-tools is missing when building the tinyipa image during the
post job, this patch adds a new script to the tinyipa build process that
ensures that missing dependencies get installed as part of the build
process. It also replaces a use of realpath it build-iso.sh where it
should be readlink to ensure that we don't need that dependency.
Change-Id: I9a60dcf42f6a9ba624aa347f0f375bb40432ef77
Closes-Bug: #1567981
(cherry picked from commit 4230a3ba6e4360371e259f2b102bf4518134344e)
|
|/
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
We hoped that checking /sys/class/net/XXX/carrier will allow us
to not wait for interfaces that are not connected at all.
In reality this field turned out to be unreliable. For example, it is
also set to 0 when interface is down or is being configured.
The bug https://bugzilla.redhat.com/show_bug.cgi?id=1327255 shows
the case when carrier is 0 for all interfaces, including one that is
used to post back data, which is obvious non-sense.
This change removes check on carrier for the loop. To avoid 60 seconds
wait for people with several NIC's, it's changed to only wait for the
PXE booting NIC, which obviously must get an IP address.
This makes IP addresses in the inspection data for other NIC's somewhat
unreliable. A new option inspection_dhcp_all_interfaces is introduced
to allow waiting for all NIC's to get IP addresses.
This change should finally fix bug 1564954.
Change-Id: I8b04bf726980fdcf6bd536c6bb28e30ac50658fb
Related-Bug: #1564954
(cherry picked from commit 6da6ace3840d56c7145ddf528bbdcbb813fc6ce2)
|
|\
| |
| |
| | |
stable/mitaka
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
In the DIB build the DHCP code (provided by the dhcp-all-interfaces element)
races with the service starting IPA. It does not matter for deployment itself,
as we're waiting for the route to the Ironic API to appear. However, for
inspection it may result in reporting back all NIC's without IP addresses.
Inspection fails in this case.
This change makes inspection wait for *all* NIC's to get their IP addresses up
to a small timeout. The timeout is 60 seconds by default and can be changed
via the new ipa-inspection-dhcp-wait-timeout kernel option (0 to not wait).
After the wait inspection proceedes in any case, so the worst downside
is making inspection 60 seconds longer.
To avoid waiting for NIC's that are not even connected, this change extends the
NetworkInterface class with 'has_carrier' field.
Closes-Bug: #1564954
Change-Id: I5bf14de4c1c622f4bf6e3eadbe20c44759da5d66
(cherry picked from commit 3deb25a3cec7955c5e38d83af74add58478f884c)
|
|/
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
qemu-image has been installed from testing to fix issues when
qemu-img can't convert image:
qemu-img: error writing zeroes at sector 0: Invalid argument
The issue has been fixed in qemu 2.2.0-rc2, reference [0].
Which has been added to debian backports.
This patch fixes issue with building coreos image, when qemu-utils
can't be installed from testing due to dependency problems.
Reference:
[0] http://git.qemu-project.org/?p=qemu.git;a=commitdiff;h=f3a9cfddae
[1] https://bugs.launchpad.net/cinder/+bug/1389728
Change-Id: Ie62a88e1d012aba1392b19c18137529c4c3ebf31
Related-Bug: #1490086
Closes-bug: #1570090
Closes-Bug: #1569835
(cherry picked from commit 52066d0a4920d2ccb3c6aef165e4a843ede4a809)
|
|\ |
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
This commit adds the disk_label support for partition
images. It also fixes the node_uuid info passed to the
ironic_lib.
Partial-Bug: 1560560
Change-Id: I8b8ef20787468c1b8dc6fbc0b8905abd285325e1
(cherry picked from commit 4ec49be8e219581159a57bd41566d23ce806e5dc)
|
| |
| |
| |
| |
| |
| |
| |
| |
| | |
The current link points to a section of the docs that is just a pointer
to another section of our docs. Change this to point directly to the
correct docs, saving users an extra click.
Change-Id: I6814fda9292921aeedb90041563b3dbb997de9c6
(cherry picked from commit 99f70370b7cbe7a89a2d23ec32d872bac36745ae)
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
After finally being able to test this locally, I've found that the
'cgroup-lite' package is what we were missing, not lxc.
Additionally, the output is written by root, not the current user, so
use sudo when modifying/writing files in imagebuild/coreos/UPLOAD.
Change-Id: I8cf5ce5bd5345ccea5e8869f2628f8616d0fe758
Closes-Bug: #1559383
(cherry picked from commit 473b6b4661480e0a2e2c363553e48d62c7145272)
|
|/
|
|
|
|
|
|
|
|
| |
This adds $BRANCH_PATH (from the dependent patch) to the file names of
the build output, so that we can upload images for each branch we
maintain.
Change-Id: I8c767fa1b56a566c1acabab8552a51ffeb4e1d7d
Depends-On: I540d2f139c80bb7f382315258dbe3a7a14be74c8
Partial-Bug: #1561756
(cherry picked from commit 7862d1458097e26148f11210d0458ec4968ce7f5)
|
|
|
|
| |
Change-Id: Ibbfe089cefb96589ebba3964a7545f287b3217ca
|
|\ |
|
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| |
| | |
The agent returns "efi_system_partition_uuid=None" in the
status message for uefi netboot for partition images.
This commit fixes to remove this unwanted message
from the status message as efi partition is created only
for localboot.
Closes-bug: 1526289
Change-Id: I6376406cdde29493619f50b0a6cd8b6ce3784d6e
|
|\ \ |
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
Binding to the first interface that has an IP address is error-prone: there is
no guarantee that ironic can reach us via this inteface. It is much safer to
detect the interface facing ironic and bind to it.
Unused LookupAgentInterfaceError exception is deleted.
The TinyIPA build also requires iptables dependency at build time to insert the
required kernel modules.
Closes-Bug: #1558956
Change-Id: I9586805e6c7f52a50834bc03efeb72d1faa6cb65
|
|\ \ \
| |/ / |
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
During the tinyipa build process we use the tinyipa package manager,
tce-load. When tce-load trys to look for packages that are kernel specfic
it uses uname to calculate the kernel version, and because we're
building in a chroot it detects the hosts kernel version instead of the
kernel version we are actually going to be using for the final tinyipa
image, this causes it to fail to find certain packages. This patch
injects a fake uname script into the tinyipa build and finalise
environments to simulate running under the correct kernel version.
Change-Id: I2b483806cbb1786763e32f3ccb7f88a6deeee3d1
|
|\ \ \
| |_|/
|/| | |
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
This patch is modifying the shutdown.sh script to not use SYSRQ when
performing power actions. SYSRQ has a similar effect to a hardware reset
button/power switch, which can be problematic after copying an image to
the disk (data loss) therefore, this patch is changing the script to use
soft power action via the poweroff and reboot commands.
SYSRQ was required before because the ironic-python-agent service was
running inside a docker container, but since we've moved it to run into
a chroot (when built with coreos) or on the ramdisk's OS (when built
with DIB) the SYSRQ actions are not needed anymore.
In many parts of Ironic we were considering the standby.{power_off,
reboot} methods of IPA to be soft actions, which they are not at
present. This patch is also fixing that assumption.
Change-Id: Ibe3a3f61a4a0e98b2c2501ad95154839933b4d7a
Closes-Bug: #1557450
|
|\ \ \ |
|
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
Method CONF.set_override to change config option's
value with designated value in unit test, but never check if the
designated vaule is valid. Each config option has a type like strOpt,
BoolOpt, etc. StrOpt with parameter choices only allows values in set
of choices. In short word, each config option has limitation for type
and value. In production code, oslo.conf can ensure user's input is
valid, but in unit test, test methods can pass if we use method
CONF.set_override without parameter enforce_type=True even we pass wrong
type or wrong value to config option. This commit makes sure calling
method CONF.set_override with enforce_type=True.
This commit also fixes violations.
Note: We can't set enforce_type=True by default in oslo.config now, it
may break all project's unit test. We can switch enforce_type=True by
default when all project fix violations like this commit.
Change-Id: Iba3e7fca01fc91e4396e698fc00cad35ba8f3543
Related-Bug: #1517839
|
|\ \ \ \
| |_|_|/
|/| | | |
|
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
This commit adds the 'psmisc' and 'dosfstools'
packages for python-ironic-agent. 'psmisc' is required
by fuser command and dosfstools is required by
mkfs for vfat creation.
Partial-Bug: 1526289
Change-Id: I30bda5cd50c66d3a22ea611ad3ae7f43533d5770
|
|/ / /
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
This patch update the tinyipa script to work
on Fedora. First issue I add was that chroot --userspec=
didn't accepted the ts:staff, but work with uid and guid.
Also I added env -i to start empty environment var
for some reason my environment var mess up the build
Change-Id: I5ed1995ba8a6d30af8e3a3fb51286e689cc15df9
|
|\ \ \ |
|
| | |/
| |/|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
This patch is adding a new command called sync to the standby module of
IPA. The new command runs synchronously and it's responsible for
flushing file system buffers to the disks.
The initial intention for this command is to use it as part of the fix
for the bug #1512492 where some hardware/firmwares do have problems to
come back online after a soft ACPI power off, therefore we need to call
sync() to make sure all file system buffers have been synced and then
issue a hard power off (e.g via the BMC).
Partial-Bug: #1512492
Change-Id: I5cd1d1b821426e995dc584452494b93ab23917e0
|
|\ \ \
| |/ /
|/| | |
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | | |
It also adds the ironic-lib in the requirements
list of the IPA package.
Partial-bug: 1526289
Depends-On: I22bc29a39bf5c35f3eecb6d4e51cebd6aee0ce19
Change-Id: I37908470484744bb720f741d378106d1cb1227a3
|
|\ \ \ |
|
| | | |
| | | |
| | | |
| | | |
| | | |
| | | | |
Also add a missing docstring to HardwareManager.list_hardware_info.
Change-Id: Iee3584320f0591398e7761513ff588efeb62886d
|