860 Commits

Author SHA1 Message Date
Jenkins
15e4454e68 Merge "Use latest CoreOS stable when building" 2015-12-14 08:39:17 +00:00
Jenkins
10cc77f3d7 Merge "Deprecated tox -downloadcache option removed" 2015-12-14 08:39:15 +00:00
Jenkins
66c54d8eda Merge "Updated from global requirements" 2015-12-11 20:39:10 +00:00
Ondřej Nový
6dc7f34e36 Deprecated tox -downloadcache option removed
Caching is enabled by default from pip version 6.0

More info:
https://testrun.org/tox/latest/config.html#confval-downloadcache=path
https://pip.pypa.io/en/stable/reference/pip_install/#caching

Change-Id: I64c83c96db5c00b04acca9a7538ab83b96fb5f9b
2015-12-11 21:18:09 +01:00
Arun S A G
a253e50609 Use latest CoreOS stable when building
This fetches the latest CoreOS stable version and builds the image using
that version.

Co-Authored-By: Arun S A G <sagarun@gmail.com>
Depends-On: Idfdc54210e33c71719c7fd0c905d0b802809e173
Depends-On: I6a572bdd791841add913d33c5b79b59033c3f237
Change-Id: I7201450b21304fa29f22437c05da9e04daa4b9f8
2015-12-11 20:02:33 +00:00
Jenkins
45ec263f3f Merge "Run IPA in chroot instead of container in CoreOS" 2015-12-11 17:37:52 +00:00
OpenStack Proposal Bot
84fc428d6f Updated from global requirements
Change-Id: I9d5383b1f97a95da847a5bf896260919fd9d09c5
2015-12-11 15:19:49 +00:00
Jay Faulkner
b5b0b63e32 Run IPA in chroot instead of container in CoreOS
systemd-nspawn has been adding more and more security features, the
latest being /sys and /proc/sys being completely read only. This breaks
several things IPA needs to do from the container, including the sysrq
triggers used for reboot.

Additionally, any downstream hardware manager that wants to implement
software RAID requires this fix, as mdadm needs to write to /sys to
assemble arrays. Linux-IO has a similar issue with not operating in
a read only /sys environment.

This changes IPA to run in a chroot instead of a container. This should
be the same from the perspective of IPA, but have no security rules
limiting what we can do inside the ramdisk.

Co-Authored-By: Alex Weeks <alex.weeks@gmail.com>
Change-Id: I6a572bdd791841add913d33c5b79b59033c3f237
Closes-bug: 1524033
2015-12-09 09:17:35 -08:00
Dmitry Tantsur
5fa258b708 Fix "logs" inspection collector when logs contain non-ascii symbols
Somehow it didn't pop earlier. Updated tests to contain some creepy
russian letters :)

Closes-Bug: #1517913
Change-Id: I4c6712ea1e813d1f0f0d0aedaccfa1187526e0ec
2015-12-08 14:32:16 +01:00
Jenkins
1720759fa7 Merge "Support Linux-IO in addition to tgtd" 2015-12-08 04:52:42 +00:00
Dmitry Tantsur
2fc6ce22f8 pyudev exception has changed for from_device_file
Now pyudev raises DeviceNotFoundByFileError which does not inherit
from EnvironmentError, so our 'except' block in hardware.py no longer
catch the exception. It broke unit tests, but it can also potentially
break the deploy.

This patch updates hardware.py to catch both old a new exceptions.

Change-Id: Iaefd6089f6f766a241054d8e132b2f3098c8130d
Closes-Bug: #1522756
2015-12-07 16:47:29 +01:00
Dmitry Tantsur
c474a5ac6c Support Linux-IO in addition to tgtd
The iSCSI extension now tries to use Linux-IO first (via rtslib)
and falls back to tgtd if Linux-IO can't be used (e.g. in the CoreOS-based
image which uses containers).

Change-Id: I9cc7a30d9c93c445a66d183146e9260c2b096d33
Closes-Bug: #1504562
2015-11-30 18:38:03 +01:00
OpenStack Proposal Bot
f4ad4d7500 Updated from global requirements
Change-Id: I4be0502eaf94ed3a400180ddd9da45235eabf19a
2015-11-27 22:37:51 +00:00
Jenkins
c55f0a6ad7 Merge "Updated from global requirements" 2015-11-24 02:23:46 +00:00
Jenkins
4ba04475ec Merge "Add support for streaming raw images directly onto the disk" 2015-11-21 19:17:23 +00:00
OpenStack Proposal Bot
863b47bb47 Updated from global requirements
Change-Id: I08e85ba14697ecf4d6a6734642f49cd8b1050b06
2015-11-19 15:56:28 +00:00
Jenkins
a2a71105c4 Merge "Refactor the image download and checksum computation bits" 2015-11-19 11:28:25 +00:00
Jenkins
b53bd28a20 Merge "Create partition at max msdos limit for disks > 2TB" 2015-11-18 20:42:21 +00:00
Lucas Alvares Gomes
e320bb8942 Add support for streaming raw images directly onto the disk
This patch adds support for streaming a raw image directly onto the disk,
that means no more time spent writing the image to a tmpfs partition prior
to copying it to the disk. Checksum computation is also done as the image
is being streamed. Streaming raw images is disabled by default, however
this behavior can be enabled by passing a key called "stream_raw_images"
with the value of True to the prepare_image() command of IPA.

For non-raw images this may not be possible, not sure about all image
file formats, but common types such as qcow2 requires random access to
the image file in order to be converted to raw.

Closes-Bug: #1505685
Change-Id: Iddf67907bc9b54bbd3065a97064cb5a3602cfe18
2015-11-18 11:19:40 +00:00
Lucas Alvares Gomes
65053b7737 Refactor the image download and checksum computation bits
Prior to this patch downloading and computing the checksum of the image
were done in different stages, after the download the file would need
to be re-read and the checksum was computed. This patch is changing it
by creating a ImageDownload class which computes the checksum at the same
time the image is being downloaded, this saves time and also make the
code more portable.

Related-Bug: #1505685
Change-Id: I71f9f2bd9a62a6a6cc474d0ae519591cea6381d6
2015-11-18 11:19:38 +00:00
Lucas Alvares Gomes
c21409e98b Follow up patch for da9c3b0adc67efa916fc534d975823c0a45948a1
This patch is a follow up patch fixing some nits left by the review
da9c3b0adc67efa916fc534d975823c0a45948a1, this patch adds the
wwn_with_extension and wwn_vendor_extension root device hints to the
"serializable_fields" list attribute of the BlockDevice class and fixes
some tests.

Change-Id: I6039be535988319276f9ac355c80997d34328ce8
2015-11-18 09:56:09 +00:00
Yolanda Robla
a01c4c90eb Create partition at max msdos limit for disks > 2TB
Currently there is a problem on partition creation for MBR
case. If disk exceeds 2TB, partition creation fails because
we are hitting max msdos limit. Detect total disk size, and if
it exceeds that limit, create the partition at the end of legal
limits.

Fixes-Bug: #1517077
Change-Id: I11dd3f11eaa6af764151b442768d10289ced6d3f
2015-11-18 10:48:46 +01:00
Jenkins
4bd9fa042e Merge "Updated from global requirements" 2015-11-17 23:42:19 +00:00
Jenkins
39bdbdd357 Merge "determine tgtd ready status through tgtadm" 2015-11-17 23:40:08 +00:00
Jenkins
5dd57838d1 Merge "Support proxies for image download" 2015-11-17 23:01:43 +00:00
Vladyslav Drok
54c901e8d5 Support proxies for image download
This change adds proxies parameter to requests.get method when
downloading images, and also sets no_proxy environment variable,
as requests does not support such parameter directly.

Implements: blueprint agent-image-proxy

Change-Id: I000ff9d0d4f5bde4766d085dc5a1c6cea1949bc5
2015-11-17 11:12:12 -08:00
Jenkins
0ca90d8193 Merge "Extend root device hints for different types of WWN" 2015-11-17 03:55:51 +00:00
OpenStack Proposal Bot
d97dbf20cc Updated from global requirements
Change-Id: I1ad1c600498f4d5934fa77663f19fba766e4331f
2015-11-17 02:26:33 +00:00
Lucas Alvares Gomes
da9c3b0adc Extend root device hints for different types of WWN
This patch is extending the root device hints to also look at
ID_WWN_WITH_EXTENSION and ID_WWN_VENDOR_EXTENSION from udev.

Prior to this patch the IPA ramdisk only cared about ID_WWN but in some
systems in some platforms with a RAID controller, this ID can be same
even if they are different disks (see bug 1516641).

Closes-Bug: #1516641
Change-Id: Ic3e9a1111dfcc99702190c173562a0dccf5f94c4
2015-11-16 14:58:24 +00:00
Naohiro Tamura
505b34575c Fix to preserve double dashes of command line option in HTML.
This patch fixes the ReST doc so that generated HTML file can keep
double dashes of command line option by enclosing the option in double
back quote such as ``--standalone`` and ``--debug``.

Change-Id: Icf25ff8ddfb7c04d82d6e63885cad0ec62e86cba
2015-11-16 09:29:50 +09:00
OpenStack Proposal Bot
59630d4f7b Updated from global requirements
Change-Id: I8a161220b1619fb0fe6b0b4f66e9978f8339bc1f
2015-11-11 17:19:36 +00:00
Jenkins
2bce5f6065 Merge "Use oslo.log instead of original logging" 2015-11-02 17:44:19 +00:00
Jenkins
ec2cd617fb Merge "Updated from global requirements" 2015-11-02 17:44:15 +00:00
Jenkins
96e21042d8 Merge "Replace deprecated LOG.warn with LOG.warning" 2015-11-02 17:23:39 +00:00
ZhiQiang Fan
9e75ba5460 Use oslo.log instead of original logging
We are using oslo.log now, but some of the modules still use logging.
We should use oslo.log to keep consistency, besides, oslo.log can
provide fine wrapper for OpenStack projects.

Change-Id: Ibe57e503b88b39e284a9e4b11a1886cd4e8d4ccf
2015-10-24 03:22:36 -06:00
OpenStack Proposal Bot
037e3916da Updated from global requirements
Change-Id: I161201084a7d72b9a589e39d7255c876c29d24ed
2015-10-24 00:23:33 +00:00
Jenkins
5a962e4ac7 Merge "Use system random where applicable" 2015-10-23 00:07:32 +00:00
Jenkins
64bdf16b68 Merge "Refactor backoff looping call" 2015-10-23 00:07:12 +00:00
Jenkins
5fe02c0609 Merge "avoid duplicate text in ISCSIError message" 2015-10-22 19:36:15 +00:00
Zhenguo Niu
18d5d6aba3 Replace deprecated LOG.warn with LOG.warning
Change-Id: Ib3d566f6e608ee453659e15cabcf8e9332aedc52
Closes-Bug: #1508442
2015-10-22 14:42:57 +08:00
dparalen
e51ccbe7c3 avoid duplicate text in ISCSIError message
The ISCSIError class defines a class-level message attribute with
value: "Error starting iSCSI target". This attribute is further
processed in RESTError.__init__ method, the ISCSIError super-class, to
create an Exception message concatenating self.message with provided
details argument.  However, the ISCISError.__init__ method provides a
details attribute prefixed with the same text to the super(ISCSIError,
self).__init__ method.  As a result, the text appears twice:
"ISCSIError: Error starting iSCSI target: Error starting iSCSI target:
ISCSI daemon didn't initialize. Failed with exit code 107. stdout: .
stderr: tgtadm: failed to send request hdr to tgt daemon, Transport
endpoint is not connected"

The patch purpose is to remove the details prefix to avoid duplicate
text in the exception text while honouring ISCSIError.message.

Change-Id: I9e1434ae17da5112527a841ac069ed2285566cca
2015-10-20 08:10:56 +02:00
dparalen
fb920f41ed determine tgtd ready status through tgtadm
The intention of the iscsi extension _wait_for_iscsi_daemon function
is to wait till the tgtd process boots completely before running any
iscsi commands through the tgtadm command line utility.  The tgtd
process utilises a unix socket for communication with the user and the
_wait_for_iscsi_daemon function asserts the tgtd process status based
on the socket presence.  The socket name/path to use is not specified
by iscsi extension configuration but rather falls-back to a
(system-wide) default value[1].  Since tgtd version 1.0.60, this path
changed from /var/run/tgtd.ipc_abstract_namespace to
/var/run/tgtd/socket[2] and now causes a false-negative while waiting
for the tgtd process to boot[3].

This patch follows implementation suggestion from the bug report[3] to
avoid relying on the socket presence but rather to check the tgtd
status by trying to communicate through the tgtadm tool.

[1] https://github.com/openstack/ironic-python-agent/blob/
5bbb9ded082f2cfde5e8877e9f33294eb93a5fb7/
ironic_python_agent/extensions/iscsi.py#L47 [2]
https://github.com/fujita/tgt/commit/
d1aa4dcfd691c9409dbad5db49ce6754ce9c1b5a
[3] https://bugs.launchpad.net/ironic-python-agent/+bug/1505923

Closes-Bug: #1505923
Change-Id: If3284e0b441fe6c2da507640c08a4bbefd9dad2b
2015-10-20 04:52:59 +02:00
OpenStack Proposal Bot
f042be51f4 Updated from global requirements
Change-Id: Ide13ef25690be8f5e0d340ceed7e3ed51c1edbf3
2015-10-19 23:28:11 +00:00
OpenStack Proposal Bot
1aeef4dc0d Updated from global requirements
Change-Id: If92670ace5174aa65e1d9f8d66adb093715e3aae
2015-10-16 22:21:46 +00:00
Jenkins
90b4d15b41 Merge "Make calling arguments easier to understand" 2015-10-16 15:46:57 +00:00
Naohiro Tamura
f013333949 Add param docstring into the normalize func
This patch adds a missing param docstring into the normalize function
in util.py.

Change-Id: I91ecc0970fc386163657ab521d8cdd898694a426
Partial-bug: 1367915
2015-10-14 11:20:39 +09:00
John L. Villalovos
06d34ae5d7 Make calling arguments easier to understand
Use keyword= when doing the call so easier for reader of code to know
what all the arguments are.

Change-Id: I4d781b533b15c6855a3d8ad95bb17bf9d153f1eb
2015-10-13 13:26:18 -07:00
Jenkins
b6c2eb6ca6 Merge "Ensure all methods in utils.py have docstrings" 2015-10-13 16:13:05 +00:00
Jenkins
ef57379342 Merge "Add LOG.debug() if requested device type not found" 2015-10-12 08:54:00 +00:00
Jenkins
e9ed54681a Merge "Reduce size of CoreOS ramdisk" 2015-10-10 01:20:04 +00:00