[openstack-dev] [release][ironic] ironic-python-agent release 1.1.0 (mitaka)

doug at doughellmann.com doug at doughellmann.com
Mon Jan 11 21:01:23 UTC 2016

We are glad to announce the release of:

ironic-python-agent 1.1.0: Ironic Python Agent Ramdisk

This release is part of the mitaka release series.

With package available at:


For more details, please see below.


New Features

* The CoreOS image builder now uses the latest CoreOS stable version
  when building images.

* IPA now supports Linux-IO as an alternative to tgtd. The iSCSI
  extension will try to use Linux-IO first, and fall back to tgtd if
  Linux-IO is not found or cannot be used.

* Adds support for setting proxy info for downloading images. This
  is controlled by the *proxies* and *no_proxy* keys in the
  *image_info* dict of the *prepare_image* command.

* Adds support for streaming raw images directly onto the disk. This
  avoids writing the image to a tmpfs partition before writing it to
  disk, which also enables using images larger than the usable amount
  of RAM on the machine IPA runs on. Pass *stream_raw_images=True* to
  the *prepare_image* command to enable this; it is disabled by

* CoreOS image builder now runs IPA in a chroot, instead of a
  container. systemd-nspawn has been adding more security features
  that break several things IPA needs to do (after all, IPA
  manipulates hardware), such as using sysrq triggers or writing to

* Root device hints now also inspect ID_WWN_WITH_EXTENSION and

Upgrade Notes

* Now that IPA runs in a chroot, any operator tooling built around
  the container may need to change (for example, methods of getting a
  shell inside the container).

Bug Fixes

* Raw images larger than available of RAM may now be used by passing
  *stream_raw_images=True* to the *prepare_image* command; these will
  be streamed directly to disk.

* Fixes an issue using the "logs" inspection collector when logs
  contain non-ascii characters.

* Makes tgtd ready status detection more robust.

* Fixes configdrive creation for MBR disks greater than 2TB.

Other Notes

* System random is now used where applicable, rather than the
  default python random library.

Changes in ironic-python-agent 1.0.0..1.1.0

43a149d Updated from global requirements
dcdb06d Replace deprecated LOG.warn with LOG.warning
4b561f1 Updated from global requirements
943d2c0 Revert "Use latest CoreOS stable when building"
a39dfbd Updated from global requirements
ffcdcd4 Add mitaka reno page
cfcef97 Replace assertEqual(None, *) with assertIsNone in tests
b9df861 Catch up release notes for Mitaka
e8488c2 Add reno for release notes management
d185927 Fix trivial typo in docs
5bac998 Updated from global requirements
4cd64e2 Delete the Linux-IO target before setting up local boot
056bb42 CoreOS: Ensure /run is mounted before starting
6dc7f34 Deprecated tox -downloadcache option removed
a253e50 Use latest CoreOS stable when building
84fc428 Updated from global requirements
b5b0b63 Run IPA in chroot instead of container in CoreOS
5fa258b Fix "logs" inspection collector when logs contain non-ascii symbols
2fc6ce2 pyudev exception has changed for from_device_file
c474a5a Support Linux-IO in addition to tgtd
f4ad4d7 Updated from global requirements
863b47b Updated from global requirements
e320bb8 Add support for streaming raw images directly onto the disk
65053b7 Refactor the image download and checksum computation bits
c21409e Follow up patch for da9c3b0adc67efa916fc534d975823c0a45948a1
a01c4c9 Create partition at max msdos limit for disks > 2TB
54c901e Support proxies for image download
d97dbf2 Updated from global requirements
da9c3b0 Extend root device hints for different types of WWN
505b345 Fix to preserve double dashes of command line option in HTML.
59630d4 Updated from global requirements
9e75ba5 Use oslo.log instead of original logging
037e391 Updated from global requirements
18d5d6a Replace deprecated LOG.warn with LOG.warning
e51ccbe avoid duplicate text in ISCSIError message
fb920f4 determine tgtd ready status through tgtadm
f042be5 Updated from global requirements
1aeef4d Updated from global requirements
f013333 Add param docstring into the normalize func
06d34ae Make calling arguments easier to understand
6131b2e Ensure all methods in utils.py have docstrings
7823240 Updated from global requirements
af20875 Update gitignore
5f7bc48 Reduce size of CoreOS ramdisk
deb50ac Add LOG.debug() if requested device type not found
d538f5e Babel is not a direct dependency
27048ef Move oslotest to test-requirements
ebd7b07 Use mount -t sysfs to avoid host /sys dependencies
9eb329c Update the launchpad link for IPA
9efc1c1 Updated from global requirements
5bbb9de Fix log formatting error in iscsi.py
e7de4bb Open mitaka development
4a7b954 Adds more functional tests for commands
dcbba2b Enforce all flake8 rules except E129
3af9ab3 Refactor list_all_block_devices & add block_type param
6e2b0f7 Use system random where applicable
04582bc Refactor backoff looping call

Diffstat (except docs and test files)

.gitignore                                         |   5 +
Dockerfile                                         |   4 +-
README.rst                                         |   2 +-
imagebuild/coreos/coreos-oem-inject.py             |   3 +-
imagebuild/coreos/oem/cloud-config.yml             | 123 ++++++++-
ironic_python_agent/agent.py                       |   4 +-
ironic_python_agent/backoff.py                     |  90 +++----
ironic_python_agent/cmd/agent.py                   |  26 +-
ironic_python_agent/errors.py                      |  13 +-
ironic_python_agent/extensions/image.py            |  13 +-
ironic_python_agent/extensions/iscsi.py            | 125 ++++++++--
ironic_python_agent/extensions/standby.py          | 158 +++++++-----
ironic_python_agent/hardware.py                    |  87 ++++---
ironic_python_agent/inspector.py                   |  14 +-
ironic_python_agent/netutils.py                    |   2 +-
.../shell/copy_configdrive_to_disk.sh              |  16 +-
ironic_python_agent/utils.py                       |  41 ++-
releasenotes/notes/.placeholder                    |   0
.../additional-wwn-hints-ffd02ceafcb3dc70.yaml     |   4 +
.../notes/coreos-uses-chroot-8a01ba0b38a4a4f4.yaml |  11 +
...e-configdrive-large-disks-3517e9fcf16c7f39.yaml |   4 +
.../improve-tgtd-status-d17173dc8f67959f.yaml      |   3 +
.../logs-collector-non-ascii-010339bf256443c8.yaml |   4 +
.../notes/stream-raw-images-d2e245aaed991d86.yaml  |  13 +
.../support-image-proxy-e2987a6589375451.yaml      |   6 +
.../notes/support-linux-io-6bbd7ff1f0d70a0e.yaml   |   6 +
.../notes/use-latest-coreos-87f826d26b46548d.yaml  |   4 +
.../notes/use-system-random-00b0721c8ebd0c5a.yaml  |   4 +
releasenotes/source/_static/.placeholder           |   0
releasenotes/source/_templates/.placeholder        |   0
releasenotes/source/conf.py                        | 276 +++++++++++++++++++++
releasenotes/source/current-series.rst             |   5 +
releasenotes/source/index.rst                      |  10 +
releasenotes/source/liberty.rst                    |   6 +
releasenotes/source/mitaka.rst                     |   6 +
requirements.txt                                   |  17 +-
setup.cfg                                          |   2 +-
test-requirements.txt                              |   4 +-
tox.ini                                            |  13 +-
55 files changed, 1522 insertions(+), 424 deletions(-)

Requirements updates

diff --git a/requirements.txt b/requirements.txt
index 3d41b4a..dfd9da6 100644
--- a/requirements.txt
+++ b/requirements.txt
@@ -5 +4,0 @@ pbr>=1.6
@@ -10 +9 @@ netifaces>=0.10.4
-oslo.config>=2.3.0 # Apache-2.0
+oslo.config>=3.2.0 # Apache-2.0
@@ -13,4 +12,4 @@ oslo.i18n>=1.5.0 # Apache-2.0
-oslo.log>=1.8.0 # Apache-2.0
-oslo.serialization>=1.4.0 # Apache-2.0
-oslo.service>=0.7.0 # Apache-2.0
-oslo.utils>=2.0.0 # Apache-2.0
+oslo.log>=1.14.0 # Apache-2.0
+oslo.serialization>=1.10.0 # Apache-2.0
+oslo.service>=1.0.0 # Apache-2.0
+oslo.utils>=3.2.0 # Apache-2.0
@@ -21 +20,2 @@ pyudev
@@ -24,2 +24 @@ stevedore>=1.5.0 # Apache-2.0
-oslotest>=1.10.0 # Apache-2.0
diff --git a/test-requirements.txt b/test-requirements.txt
index 2296e51..fb36bf4 100644
--- a/test-requirements.txt
+++ b/test-requirements.txt
@@ -10,0 +11 @@ python-subunit>=0.0.18
+oslotest>=1.10.0 # Apache-2.0
@@ -16 +17,2 @@ sphinxcontrib-pecanwsme>=0.8
-oslosphinx>=2.5.0 # Apache-2.0
+oslosphinx!=3.4.0,>=2.5.0 # Apache-2.0
+reno>=0.1.1 # Apache2

More information about the OpenStack-dev mailing list