[release] [ironic] [inspector] ironic-inspector release 2.2.0 (liberty)
We are content to announce the release of: ironic-inspector 2.2.0: Hardware introspection for OpenStack Bare Metal With source available at: http://git.openstack.org/cgit/openstack/ironic-inspector This release introduced database migrations, be sure to initialize the database schema version: https://github.com/openstack/ironic-inspector#managing-the-ironic-inspector-... Highlights of the release: * Hook interface changed to move away from returning patches to just calling ironic to apply changes * API to expose introspection data * User-settable introspection rules * Root device hints * Support for ironic-python-agent * Support for Alembic and rootwrap For more details, please see the git log history below and: http://launchpad.net/ironic-inspector/+milestone/2.2.0 Please report issues through launchpad: http://bugs.launchpad.net/ironic-inspector Changes in ironic-inspector 2.1.0..2.2.0 ---------------------------------------- b57cf89 Add troubleshooting section for Ubuntu DNS issues 7b7130a Add a warning about sudoers file 92a8550 Add explicit dependencies on Alembic and SA 5552d0d Update README with extra_hardware plugin changes bef7617 Don't rely on dict ordering in test_plugins_standard 8d0a04d Fix rootwrap configuration documentation 6a2bd8e devstack: allow nodes to be already MANAGEABLE in exercise db7865a Updated from global requirements aa3b8ba Add alembic migrations for the inspector database 52ef561 Use rootwrap to execute iptables instead of requiring root dc8d2fa Support IPA in raid_device plugin 973dd16 Convert eDeploy data so that rules can process it ad788cf Stop recommending using DIB from source 8f7f889 Allow empty lookup attributes if node_not_found_hook is provided de2108d Switch to using CLI for introspection rules 6c686e8 Add missing plugins for introspection rules 6d06f09 Ignore IPMI Address for IPMI Bridged nodes 0defa89 Updated from global requirements 8fc9f7a Replace glance and keystone commands with OSC equivalents 13b11c8 Smart root disk selection including support for root device hints d5f0817 Add API Discovery to Ironic Inspector 9d95e05 Add mock for check_call to all firewall tests b338739 Updated from global requirements 105aa64 Deprecate returning patches from plugins eb9b3da Add introspection rules support 1bdf87c Add instructions how to try IPA as a ramdisk f21eb0a Stop using configuration options in top level code 7b3ed65 Split standard plugin tests from other processing tests 5b02639 Move update functions to NodeInfo object 4aedc45 Enable colorized logging in devstack plugin 676a581 Revisit required provision states 22c670a Updated from global requirements d7447b3 Add logging to introspection data storage 5831723 Make list of ipmi_address-alike driver fields configurable f02540a Fix logic for internal server error 3f7054e Pass -w flag to iptables to make it wait for xtables lock 6eb9f58 Store and expose introspection data c0ffce0 Updated from global requirements 7343cad Rename plugin root_device_hint -> raid_device 2ab0770 Clean up README 0d11309 Fail introspection early if no lookup attributes can be detected d456bbb Updated from global requirements 535d1d1 Mock socket in test_bad_hostname_errors 61b78a8 Copy gitignore from ironic 661e818 Updated from global requirements 38ee234 Add func3 tox environment for functional testing with Python 3. Diffstat (except docs and test files) ------------------------------------- .gitignore | 40 +- CONTRIBUTING.rst | 92 ++++- HTTP-API.rst | 120 ++++++ README.rst | 331 ++++++++++++---- devstack/exercise.sh | 78 +++- devstack/plugin.sh | 39 +- example.conf | 32 +- ironic_inspector/alembic.ini | 38 ++ ironic_inspector/common/swift.py | 54 +++ ironic_inspector/conf.py | 29 +- ironic_inspector/db.py | 55 ++- ironic_inspector/dbsync.py | 90 +++++ ironic_inspector/firewall.py | 23 +- ironic_inspector/introspect.py | 24 +- ironic_inspector/main.py | 132 ++++++- ironic_inspector/migrations/env.py | 82 ++++ ironic_inspector/migrations/script.py.mako | 36 ++ .../versions/578f84f38d_inital_db_schema.py | 63 ++++ .../migrations/versions/d588418040d_add_rules.py | 64 ++++ ironic_inspector/node_cache.py | 154 +++++++- ironic_inspector/plugins/base.py | 137 +++++-- ironic_inspector/plugins/example.py | 11 +- ironic_inspector/plugins/extra_hardware.py | 52 ++- ironic_inspector/plugins/raid_device.py | 100 +++++ ironic_inspector/plugins/root_device_hint.py | 94 ----- ironic_inspector/plugins/rules.py | 140 +++++++ ironic_inspector/plugins/standard.py | 89 ++++- ironic_inspector/process.py | 63 ++-- ironic_inspector/rules.py | 381 +++++++++++++++++++ ironic_inspector/test/base.py | 15 + ironic_inspector/test/functional.py | 212 ++++++++++- ironic_inspector/test/test_firewall.py | 47 ++- ironic_inspector/test/test_introspect.py | 115 +++++- ironic_inspector/test/test_main.py | 196 +++++++++- ironic_inspector/test/test_node_cache.py | 158 +++++++- ironic_inspector/test/test_plugins_base.py | 44 +++ .../test/test_plugins_extra_hardware.py | 79 ++-- ironic_inspector/test/test_plugins_raid_device.py | 132 +++++++ .../test/test_plugins_root_device_hint.py | 103 ----- ironic_inspector/test/test_plugins_rules.py | 216 +++++++++++ ironic_inspector/test/test_plugins_standard.py | 284 ++++++++++++++ ironic_inspector/test/test_process.py | 244 +++--------- ironic_inspector/test/test_rules.py | 420 +++++++++++++++++++++ ironic_inspector/test/test_swift.py | 78 +++- ironic_inspector/test/test_utils.py | 37 +- ironic_inspector/utils.py | 41 +- plugin-requirements.txt | 2 - requirements.txt | 17 +- rootwrap.conf | 27 ++ rootwrap.d/ironic-inspector-firewall.filters | 6 + setup.cfg | 23 +- setup.py | 2 +- tox.ini | 5 + 53 files changed, 4408 insertions(+), 738 deletions(-) Requirements updates -------------------- diff --git a/plugin-requirements.txt b/plugin-requirements.txt index 9dc610c..e69de29 100644 --- a/plugin-requirements.txt +++ b/plugin-requirements.txt @@ -1,2 +0,0 @@ -# required for extra_hardware plugin -python-swiftclient>=2.2.0 diff --git a/requirements.txt b/requirements.txt index eac89f8..18d7b2a 100644 --- a/requirements.txt +++ b/requirements.txt @@ -3,0 +4 @@ +alembic>=0.8.0 @@ -6,0 +8,2 @@ Flask<1.0,>=0.10 +jsonpath-rw<2.0,>=1.2.0 +jsonschema!=2.5.0,<3.0.0,>=2.0.0 @@ -8,2 +11,3 @@ keystonemiddleware>=2.0.0 -pbr<2.0,>=1.4 -python-ironicclient>=0.6.0 +netaddr!=0.7.16,>=0.7.12 +pbr>=1.6 +python-ironicclient>=0.8.0 @@ -11,2 +15,3 @@ python-keystoneclient>=1.6.0 -oslo.config>=1.11.0 # Apache-2.0 -oslo.db>=2.0 # Apache-2.0 +python-swiftclient>=2.2.0 +oslo.config>=2.3.0 # Apache-2.0 +oslo.db>=2.4.1 # Apache-2.0 @@ -15 +20,2 @@ oslo.log>=1.8.0 # Apache-2.0 -oslo.utils>=1.9.0 # Apache-2.0 +oslo.rootwrap>=2.0.0 # Apache-2.0 +oslo.utils>=2.0.0 # Apache-2.0 @@ -17,0 +24 @@ stevedore>=1.5.0 # Apache-2.0 +SQLAlchemy>=0.9.9,<1.1.0
participants (1)
-
Dmitry Tantsur