[openstack-announce] [new][ironic] ironic 6.2.0 release (newton)

no-reply at openstack.org no-reply at openstack.org
Thu Sep 22 12:13:48 UTC 2016


We are pumped to announce the release of:

ironic 6.2.0: OpenStack Bare Metal Provisioning

This release is part of the newton release series.

With source available at:

    http://git.openstack.org/cgit/openstack/ironic

Please report issues through launchpad:

    http://bugs.launchpad.net/ironic

For more details, please see below.

6.2.0
^^^^^


New Features
************

* Adds support for inter-service notifications (disabled by default
  until the "notification_level" configuration option is set). For
  more information, see the notifications documentation in the
  developer's guide
  (http://docs.openstack.org/developer/ironic/dev/notifications.html).
  Notifications are not actually emitted yet, but will be added in a
  future release.

* Adds support for InfiniBand networking to allow hardware
  inspection and PXE boot over InfiniBand.

* Add the field *standalone_ports_supported* to the portgroup
  object. This field indicates whether ports that are members of this
  portgroup can be used as stand-alone ports. The default is True.

* Added configdrive support for whole disk images for iSCSI based
  deploy. This will work for UEFI only or BIOS only images. It will
  not work for hybrid images which are capable of booting from BIOS
  and UEFI boot mode.

* Adds out-of-band inspection interface usable by DRAC drivers.

* Adds "list_unfinished_jobs" method to the vendor-passthru
  interface of the DRAC driver. It provides a way to check the status
  of the remote config job after a BIOS configuration change was
  submitted using the "set_bios_config" method.

* Adds out-of-band RAID management to DRAC driver using the generic
  RAID interface which makes the functionality available via manual
  cleaning steps.

* New configuration option,
  "[drac]/query_raid_config_job_status_interval" was added. After
  Ironic has created the RAID config job on the DRAC card, it
  continues to check for status update on the config job to determine
  whether the RAID configuration was successfully finished within this
  interval. Default is 120 seconds.

* Adds a new "[deploy]/erase_devices_metadata_priority"
  configuration option to allow operators to configure the priority of
  (or disable) the "erase_devices_metadata" cleaning step.

* By default, the ironic-conductor service caches the node's deploy
  ramdisk and kernel images locally and serves them via a separate
  HTTP server. A new "[pxe]/ipxe_use_swift" configuration option
  (disabled by default) allows images to be accessed directly from
  object store via Swift temporary URLs. This is only applicable if
  iPXE is enabled (via "[pxe]/ipxe_enabled" configuration option) and
  image store is in Glance/Swift. For user images that are partition
  images requiring non-local boot, the default behavior with local
  caching and an HTTP server will still apply for user image kernel
  and ramdisk.

* Adds a new policy rule that may be used to mask instance-specific
  secrets, such as configdrive contents or the temp URL used to store
  a configdrive or instance image.  This is similar to how passwords
  are already masked.


Upgrade Notes
*************

* The "inspect" interface of the "pxe_drac" driver has switched to
  use out-of-band inspection. For inband inspection, the node should
  be updated to use the "pxe_drac_inspector" driver instead.

* The new "erase_devices_metadata" cleaning step is enabled by
  default (if available) in the ironic-python-agent project (priority
  99). Wiping the devices metadata is usually very fast and shouldn't
  add much time (if any) to the overall cleaning process. Operators
  wanting to disable this cleaning step can do it by setting the
  "[deploy]/erase_devices_metadata_priority" configuration option to
  0.

* Minimum required version of python-ironic-inspector-client was
  bumped to 1.5.0 (released as part of the Mitaka cycle).

* Instance secrets will now, by default, be masked in API responses.
  Operators wishing to expose the configdrive or instance image to
  specific users will need to update their policy.json file and grant
  the relevant keystone roles.

* The minimum required version of proliantutils (needed for iLO
  drivers) was bumped to 2.1.11. This version includes fixes for the
  bugs caused by python request library version 2.11.0, Proliant Gen7
  support and iLO based RAID configuration.

* The minimum required version of python-scciclient (needed for the
  iRMC driver) was bumped to 0.4.0.

* When registering a OneView node in ironic, operator should make
  sure field "server_profile_template_uri" is set in
  properties/capabilities and not in driver_info anymore. Otherwise
  the node will fail on validation.

* The default bootloader for PXE + UEFI has changed from ELILO to
  Grub2 because ELILO is not being actively developed anymore.
  Operators relying on ELILO should explicitly set the
  "[pxe]/uefi_pxe_bootfile_name" and "[pxe]/uefi_pxe_config_template"
  configuration options to the ELILO ROM and configuration template.


Deprecation Notes
*****************

* The ClusteredComputeManager is now deprecated.

  The Newton version of Nova adds functionality to the ironic virt
  driver to support multiple compute hosts without using the hack we
  call ClusteredComputeManager. As such, we are marking this
  unsupported component as deprecated, and plan to remove it before
  the end of the Ocata development cycle.

* The following drivers are marked as unsupported and therefore
  deprecated. Some or all of these drivers may be removed in the Ocata
  cycle or later.

  * "agent_amt"

  * "agent_iboot"

  * "agent_pyghmi"

  * "agent_ssh"

  * "agent_vbox"

  * "agent_wol"

  * "fake_ipminative"

  * "fake_ssh"

  * "fake_seamicro"

  * "fake_iboot"

  * "fake_snmp"

  * "fake_vbox"

  * "fake_amt"

  * "fake_msftocs"

  * "fake_wol"

  * "pxe_ipminative"

  * "pxe_ssh"

  * "pxe_vbox"

  * "pxe_seamicro"

  * "pxe_iboot"

  * "pxe_snmp"

  * "pxe_amt"

  * "pxe_msftocs"

  * "pxe_wol"


Security Issues
***************

* Configdrives often contain sensitive information. Users may upload
  their own images, which could also contain sensitive information.
  The Agent drivers may store this information in a Swift temp URL to
  allow access from the Agent ramdisk. These URLs are considered
  sensitive information because they grant unauthenticated access to
  sensitive information.  Now, we only selectively expose this
  information to privileged users, whereas previously it was exposed
  to all authenticated users.


Bug Fixes
*********

* The "dynamic_allocation" flag in a node's driver_info previously
  only accepted a Boolean. It now also accepts the strings 't',
  'true', 'on', 'y', 'yes', or '1' as True, and the strings 'f',
  'false', 'off', 'n', 'no', or '0' as False. These are matched case-
  insensitively.

* Fixes a bug which prevented the ironic-conductor service from
  using the interval values from the configuration options, for the
  periodic tasks. Instead, the default values had been used.

* The API now returns an appropriate error message when a chassis
  description over 255 characters is specified.

* Fixes DRAC deploy interface failure when automated cleaning is
  called without any clean step.

* Removed invalid API URL "/v1/nodes/ports". For more information,
  see https://bugs.launchpad.net/ironic/+bug/1580997.

* When no boot mode is explicitly set on a node using an iLO driver,
  ironic automatically picks a boot mode based on hardware
  capabilities. This confuses deployers, as these factors are system
  specific and not configurable. In order to ensure predictable
  behavior, a new configuration parameter, "[ilo]/default_boot_mode",
  was added to allow deployers to explicitly set a default. The
  default value of this option keeps behavior consistent for existing
  deployments.

* Ironic Inspector inspection interface will now fetch the service
  endpoint for the service catalog, if "service_url" is not provided
  and keystone support is enabled.

* Fixes a problem where the boot mode (UEFI or BIOS) wasn't being
  considered when setting the boot device of a node using the
  "ipminative" management interface. It would incorrectly switch UEFI
  to legacy BIOS mode as part of the request to change the boot
  device.

* Fixes a problem where the boot mode (UEFI or BIOS) wasn't being
  considered when setting the boot device of a node using the
  "ipmitool" management interface. It would incorrectly switch from
  UEFI to Legacy BIOS mode on some hardware models.

* Update create provisioning ports logic to fail only when no
  neutron ports were created. If we created at least one neutron port,
  proceed with the deployment. It was the default behaviour for flat
  scenario.

* Fixed updating a MAC on a port for active instances in maintenance
  mode (previously returned HTTP 500).

* Return HTTP 400 for requests to update a MAC on a port for an
  active instance without maintenance mode set (previously returned
  HTTP 500).

Changes in ironic 6.1.0..6.2.0
------------------------------

82c2a06 Clean up release notes for 6.2.0
714a7cf DRAC: list unfinished jobs
8732780 Fix broken unit tests for get_ilo_object
9805d94 Sync ironic-lib.filters from ironic-lib
2351d62 Remove websockify from requirements
e606256 Add a note about security groups in install guide
db38519 Remove unnecessary setUp
230b330 Adds a missing space in a help string
66fc750 Remove duplicated line wrt configdrive
996fffb Notification event types have status 'error'
79cee4f Refactor common checks when instantiating the ipmitool classes
5110a65 Grub2 by default for PXE + UEFI
1027c1b Support configdrive in iscsi deploy for whole disk images
11fcf6b Remove NotificationEventTypeError as not needed
8758116 Mark untested drivers as unsupported
1f21e5c [trivial] Fix typo in docstring
77c7a71 Replace "phase" with "status" in notification base
123174a Updated from global requirements
f6771bd Fix test syntax error in devstack/lib/ironic
ec202c4 Separate WSGIService from RPCService
5603a21 Fix link from doc index to user guide
8a03cfc Update proliantutils version required for Newton release
1a4eb86 Fix docstrings in Tempest Plugin REST client for Ironic API
57d4e0c Remove cyclic import between rpcapi and objects.base
30f3013 Fix nits on DRAC OOB inspection patch
8ffd5a9 Fix DRAC failure during automated cleaning
57f28e4 Replace six iteration methods with standard ones
bced195 Timing metrics: iLO drivers
c5d34b4 Use assertEqual() instead of assertDictEqual()
15de01a Configure clean network to provision network
ec05b30 Updated from global requirements
aeaf273 __ne__() unit tests & have special methods use (self, other)
72a212e Add metrics to administrator guide
41c0413 Add __ne__() function for API Version object
f68ffba Update unit tests for neutron interface
f1b58b7 Update ironic/ironic.conf.sample
497be96 Allow using TempURLs for deploy images
0f07436 Log a warning for unsupported drivers and interfaces
4da03e0 Add a basic install guide
d5503f9 [api-ref] Remove temporary block in conf.py
33ee729 Deny chassis with too long description
c5aa732 Update the string format
047fc52 Remove unused file: safe_utils.py
da93b01 DRAC OOB inspection
bfddae6 Remove neutron client workarounds
bffd5a8 Update driver requirement for iRMC
88fc516 Refresh fsm in task when a shared lock is upgraded
739355c Updated from global requirements
d043c97 Fix exception handling in NodesController._lookup
a0ec13f Remove unused LOG and CONF
9b64932 Fix updating port.portgroup_uuid for node
505b9ce Add a newline at the end of release note files
1bc922f Replace DOS line endings with Unix
a53dae6 Fix ironic-multitenant-network job
2df9a0f Update test_update_portgroup_address_no_vif_id test
a786c02 Use assertIsInstance/assertNotIsInstance in tests
541947f Add standalone_ports_supported to portgroup - DB
d3be671 Config logABug feature for Ironic api-ref
8b1b946 DevStack: Configure retrieving logs from the deploy ramdisk
f358c7d DRAC RAID configuration
c23cce3 Metrics for ConductorManager
4f1416a Option to enroll nodes with drac driver
bb62f25 Allow suppressing ramdisk logs collection
5541088 Fix pep8 on Python3.5
bda4f51 Fix incorrect order of params of assertEqual()
a5cec64 Updated from global requirements
2688d63 Fix for check if dynamic allocation model is enabled
91a9627 Add multi-tenancy section to security doc
03ed31f Fix formatting strings in LOG.error
dc0dad9 Mask instance secrets in API responses
a5c2697 Update documentation for keystone policy support
9570a49 Fix typo in policy.json.sample
bdb488e Add node serial console documentation
39e5815 Prevent URL collisions with sub-controllers: nodes/ports
0791fa7 Centralize Config Options - patch merge, cleanup
5ebf3c0 Update the webapi version history reference
0d62aec Fix fall back to newer keystonemiddleware options
8d2a008 OneView test nodes to use dynamic allocation
0ae5669 Updated from global requirements
459dfa2 Fix issues in dev-quickstart and index
5736dd7 Updated from global requirements
7022b5f Merge imports in code
2cc70ea Add notification base classes and docs
b3be30b Update hacking test-requirement
d0e49e1 Documentation update
321a7f5 Removed unneeded vlan settings from neutron config
6c79941 Move console documentation to separate file
08e66ef Switch Inspector interface to pass keystoneauth sessions
6cc47df Adds instructions to perform nodes migration
e497a32 Replace DB API call to object's method in iLO drivers
134ac32 Move "server_profile_template_uri" to REQUIRED_ON_PROPERTIES
ca6ef56 Using assertIsNone() is preferred over assertEqual()
df7ee07 Updated from global requirements
28a399a Update api-ref for v1.22
048b7a1 Updated from global requirements
4a1d1b0 Pass swiftclient header values as strings
c6441ae Get ready for os-api-ref sphinx theme change
48790b6 Log node uuid rather than id when acquiring node lock
2a73b50 Allow changing lock purpose on lock upgrade
ae05492 Fix typo: interations -> iterations.
b6c0341 Update code to use Pike as the code name
6d323b6 Operator documentation for multitenancy
bbfd59a Always set DEFAULT/host in devstack.
3ae6c62 Fix AgentDeploy take_over() docstring
d4e461e Clean imports in code
4a0767a Copy iPXE script over only when needed
fb3f7e3 Fix incorrect order of params of assertEqual()
8b2ec52 Fix iLO drivers inconsistent boot mode default value
4e573f9 Update readme file
c7d9560 Bring upgrade documentation up to date
7798c4c Fix test_find_node_by_macs test
d5a96e5 Use memory mode for sqlite in db test
96bca2d Fix key word argument interface_type -> interface
6e775b8 Use upper-constraints for all tox targets
f413277 Add nova scheduler_host_subset_size option to docs
2b75314 Fix the description of inspection time fields
935a44f DevStack: No need to change the ramdisk filesystem type
059d972 Fix incorrect order of params of assertEqual() in test_objects.py
1eb32e3 Fix assertEqual(10, 10) in unit/api/v1/test_utils.py
8f25113 Adding InfiniBand Support
f6a8046 Doc: Recommend users to update their systems
f609e3a Centralize config options - [iscsi]
91af253 Centralize config options - [pxe]
79c2d13 Add "erase_devices_metadata_priority" config option
d41941c Updated from global requirements
d1d6c7d Update renos for fix to ipmi's set-boot-device
d23b9c0 Remove unused [pxe]disk_devices option
bcfab9f IPMINative: Check the boot mode when setting the boot device
6419cc2 IPMITool: Check the boot mode when setting the boot device
d73b08d Fix ssh credential validation message
58fea0a Remove CONF.import_opt() from api/controllers/v1/node.py
00df089 Document retrieving logs from the deploy ramdisk
f4ff926 Fix updating port MAC address for active nodes
531bca4 Remove incorrect CONF.import_opt() from test_ipmitool.py
053c67e Rename some variables in test_ipminative.py
d04caea Update proliantutils version required for Newton release
8edbc91 DevStack guide: Bump IRONIC_VM_SPECS_RAM to 1280
d1c47cb Deprecate ClusteredComputeManager
22a6569 'As of' in documentation is incorrect
fc08c9a Add metrics for the ipminative driver
23f091c test_console_utils: using mock_open for builtin open()


Diffstat (except docs and test files)
-------------------------------------

README.rst                                         |   37 +-
api-ref/regenerate-samples.sh                      |  171 +++
api-ref/source/baremetal-api-v1-chassis.inc        |   26 +-
api-ref/source/baremetal-api-v1-misc.inc           |  108 ++
.../source/baremetal-api-v1-node-management.inc    |    4 +-
api-ref/source/baremetal-api-v1-nodes.inc          |   28 +-
api-ref/source/baremetal-api-versions.inc          |    4 +-
api-ref/source/conf.py                             |   25 +-
api-ref/source/index.rst                           |    9 +-
api-ref/source/parameters.yaml                     |   71 +-
api-ref/source/samples/api-root-response.json      |   52 +-
api-ref/source/samples/api-v1-root-response.json   |  138 +-
api-ref/source/samples/chassis-create-request.json |    6 +-
.../samples/chassis-list-details-response.json     |   41 +-
api-ref/source/samples/chassis-list-response.json  |   28 +-
api-ref/source/samples/chassis-show-response.json  |   50 +-
api-ref/source/samples/chassis-update-request.json |   14 +-
.../source/samples/chassis-update-response.json    |   27 +
api-ref/source/samples/driver-get-response.json    |   48 +-
.../driver-logical-disk-properties-response.json   |   20 +-
.../samples/driver-passthru-methods-response.json  |   16 +-
.../source/samples/driver-property-response.json   |   40 +-
api-ref/source/samples/drivers-list-response.json  |  134 +-
api-ref/source/samples/lookup-node-response.json   |   34 +
api-ref/source/samples/node-create-request.json    |    6 +-
api-ref/source/samples/node-create-response.json   |  117 +-
.../samples/node-get-boot-device-response.json     |    4 +
.../samples/node-get-or-set-boot-device.json       |    4 -
.../source/samples/node-get-state-response.json    |   18 +-
.../node-get-supported-boot-devices-response.json  |   10 +-
.../source/samples/node-port-detail-response.json  |   54 +-
.../source/samples/node-port-list-response.json    |   32 +-
.../source/samples/node-set-available-state.json   |    3 +
api-ref/source/samples/node-set-boot-device.json   |    4 +
api-ref/source/samples/node-set-clean-state.json   |   10 +-
api-ref/source/samples/node-set-manage-state.json  |    3 +
api-ref/source/samples/node-show-response.json     |  132 +-
.../samples/node-update-driver-info-request.json   |   17 +-
.../samples/node-update-driver-info-response.json  |  134 +-
api-ref/source/samples/node-update-driver.json     |    7 +
api-ref/source/samples/node-validate-response.json |   49 +-
.../samples/node-vendor-passthru-response.json     |   51 +-
.../samples/nodes-list-details-response.json       |  140 +-
api-ref/source/samples/nodes-list-response.json    |   40 +-
api-ref/source/samples/port-create-request.json    |    2 +-
api-ref/source/samples/port-create-response.json   |   46 +-
.../source/samples/port-list-detail-response.json  |   54 +-
api-ref/source/samples/port-list-respone.json      |   18 +
api-ref/source/samples/port-update-response.json   |   46 +-
devstack/lib/ironic                                |  100 +-
devstack/plugin.sh                                 |    7 +-
devstack/settings                                  |    5 +
devstack/tools/ironic/scripts/configure-vm.py      |    2 +-
driver-requirements.txt                            |    8 +-
etc/ironic/ironic.conf.sample                      |  355 +++++-
etc/ironic/policy.json.sample                      |    6 +-
etc/ironic/rootwrap.d/ironic-lib.filters           |    2 +
install-guide/source/common_prerequisites.rst      |    6 +
install-guide/source/conf.py                       |  301 +++++
install-guide/source/get_started.rst               |    9 +
install-guide/source/index.rst                     |   20 +
install-guide/source/install-obs.rst               |   15 +
install-guide/source/install-rdo.rst               |   15 +
install-guide/source/install-ubuntu.rst            |   14 +
install-guide/source/install.rst                   |   16 +
install-guide/source/next-steps.rst                |    6 +
install-guide/source/verify.rst                    |    9 +
ironic/api/app.py                                  |   12 +-
ironic/api/controllers/base.py                     |   11 +-
ironic/api/controllers/v1/chassis.py               |    2 +-
ironic/api/controllers/v1/node.py                  |   60 +-
ironic/api/controllers/v1/port.py                  |   20 +-
ironic/api/controllers/v1/utils.py                 |    4 +-
ironic/api/controllers/v1/versions.py              |    8 +-
ironic/api/hooks.py                                |    4 -
ironic/api/middleware/parsable_error.py            |    3 +-
ironic/cmd/api.py                                  |    7 +-
ironic/cmd/conductor.py                            |   15 +-
ironic/common/context.py                           |    6 +-
ironic/common/driver_factory.py                    |   16 +-
ironic/common/exception.py                         |   30 +-
ironic/common/glance_service/v2/image_service.py   |    3 +-
ironic/common/images.py                            |    3 +-
ironic/common/keystone.py                          |   12 +-
ironic/common/neutron.py                           |   41 +-
ironic/common/policy.py                            |   15 +-
ironic/common/pxe_utils.py                         |   21 +-
ironic/common/rpc.py                               |   42 +-
ironic/common/rpc_service.py                       |   91 ++
ironic/common/safe_utils.py                        |   53 -
ironic/common/service.py                           |  129 --
ironic/common/states.py                            |    3 +-
ironic/common/utils.py                             |   16 +-
ironic/common/wsgi_service.py                      |   76 ++
ironic/conductor/base_manager.py                   |    8 +-
ironic/conductor/manager.py                        |   97 +-
ironic/conductor/task_manager.py                   |   39 +-
ironic/conductor/utils.py                          |    5 +-
ironic/conf/__init__.py                            |   14 +-
ironic/conf/amt.py                                 |   48 +
ironic/conf/cimc.py                                |   33 -
ironic/conf/cisco.py                               |   49 +
ironic/conf/cisco_ucs.py                           |   33 -
ironic/conf/default.py                             |   12 +
ironic/conf/deploy.py                              |    9 +-
ironic/conf/drac.py                                |   28 +
ironic/conf/ilo.py                                 |    9 +
ironic/conf/inspector.py                           |    3 +-
ironic/conf/iscsi.py                               |   30 +
ironic/conf/opts.py                                |   21 +-
ironic/conf/pxe.py                                 |  113 ++
ironic/conf/snmp.py                                |    4 -
.../60cf717201bc_add_standalone_ports_supported.py |   31 +
ironic/db/sqlalchemy/api.py                        |    9 +-
ironic/db/sqlalchemy/models.py                     |    1 +
ironic/dhcp/neutron.py                             |   28 +-
ironic/drivers/agent.py                            |   15 +
ironic/drivers/base.py                             |   19 +-
ironic/drivers/drac.py                             |   19 +-
ironic/drivers/fake.py                             |   25 +-
ironic/drivers/modules/agent.py                    |   13 +-
ironic/drivers/modules/agent_base_vendor.py        |   10 +-
ironic/drivers/modules/agent_client.py             |    4 +-
ironic/drivers/modules/amt/common.py               |   31 +-
ironic/drivers/modules/amt/management.py           |    4 +-
ironic/drivers/modules/amt/power.py                |   21 +-
ironic/drivers/modules/console_utils.py            |    4 +-
ironic/drivers/modules/deploy_utils.py             |   21 +-
ironic/drivers/modules/drac/deploy.py              |   49 +
ironic/drivers/modules/drac/inspect.py             |  148 +++
ironic/drivers/modules/drac/job.py                 |   45 +-
ironic/drivers/modules/drac/management.py          |    3 +-
ironic/drivers/modules/drac/raid.py                |  882 +++++++++++++
ironic/drivers/modules/drac/vendor_passthru.py     |   43 +-
ironic/drivers/modules/iboot.py                    |    3 +-
ironic/drivers/modules/ilo/boot.py                 |   12 +-
ironic/drivers/modules/ilo/common.py               |   19 +-
ironic/drivers/modules/ilo/console.py              |    5 +
ironic/drivers/modules/ilo/deploy.py               |   22 +-
ironic/drivers/modules/ilo/inspect.py              |   25 +-
ironic/drivers/modules/ilo/management.py           |   15 +
ironic/drivers/modules/ilo/power.py                |   10 +-
ironic/drivers/modules/ilo/vendor.py               |    7 +
ironic/drivers/modules/image_cache.py              |    3 +-
ironic/drivers/modules/inspector.py                |   35 +-
ironic/drivers/modules/ipminative.py               |   27 +-
ironic/drivers/modules/ipmitool.py                 |  106 +-
ironic/drivers/modules/irmc/boot.py                |    4 +-
ironic/drivers/modules/irmc/inspect.py             |    4 +-
ironic/drivers/modules/irmc/management.py          |    3 +-
ironic/drivers/modules/irmc/power.py               |    3 +-
ironic/drivers/modules/iscsi_deploy.py             |   59 +-
ironic/drivers/modules/msftocs/msftocsclient.py    |    9 +-
ironic/drivers/modules/msftocs/power.py            |    3 +-
ironic/drivers/modules/network/flat.py             |    4 +-
ironic/drivers/modules/network/neutron.py          |   11 +-
ironic/drivers/modules/oneview/common.py           |   60 +-
ironic/drivers/modules/oneview/deploy.py           |    3 +-
ironic/drivers/modules/oneview/deploy_utils.py     |    5 +-
ironic/drivers/modules/oneview/power.py            |    3 +-
ironic/drivers/modules/oneview/vendor.py           |    4 +-
ironic/drivers/modules/pxe.py                      |  176 ++-
ironic/drivers/modules/seamicro.py                 |    4 +-
ironic/drivers/modules/snmp.py                     |    7 +-
ironic/drivers/modules/ssh.py                      |    8 +-
ironic/drivers/modules/ucs/helper.py               |    3 +-
ironic/drivers/modules/ucs/management.py           |    3 +-
ironic/drivers/modules/ucs/power.py                |    3 +-
ironic/drivers/modules/virtualbox.py               |    4 +-
ironic/drivers/modules/wol.py                      |    3 +-
ironic/drivers/pxe.py                              |   27 +
ironic/drivers/utils.py                            |    6 +-
ironic/netconf.py                                  |    0
ironic/nova/compute/manager.py                     |   19 +-
ironic/objects/base.py                             |   30 -
ironic/objects/fields.py                           |   26 +
ironic/objects/indirection.py                      |   43 +
ironic/objects/notification.py                     |  159 +++
ironic/objects/portgroup.py                        |    4 +-
.../unit/drivers/modules/drac/test_inspect.py      |  261 ++++
.../unit/drivers/modules/drac/test_management.py   |   37 +-
.../drivers/modules/drac/test_periodic_task.py     |  335 +++++
.../unit/drivers/modules/network/test_neutron.py   |   23 +-
.../unit/drivers/modules/oneview/test_common.py    |  122 +-
.../unit/drivers/modules/oneview/test_deploy.py    |    2 +-
.../unit/drivers/modules/test_agent_base_vendor.py |   17 +-
.../unit/drivers/modules/test_console_utils.py     |   73 +-
.../unit/drivers/modules/test_deploy_utils.py      |   66 +-
.../unit/drivers/modules/test_iscsi_deploy.py      |   15 +-
.../unit/drivers/third_party_driver_mock_specs.py  |   15 +-
ironic_tempest_plugin/services/baremetal/base.py   |    5 +-
.../services/baremetal/v1/json/baremetal_client.py |    9 +-
.../add-agent-proxy-support-790e629634ca2eb7.yaml  |    2 +-
...ynamic-allocation-feature-2fd6b4df7943f178.yaml |    2 +-
.../notes/add-notifications-97b6c79c18b48073.yaml  |    8 +
.../add_infiniband_support-f497767f77277a1a.yaml   |    4 +
...one_ports_supported_field-4c59702a052acf38.yaml |    6 +
...ynamic-allocation-enabled-e94f3b8963b114d0.yaml |    6 +
.../conductor_early_import-fd29fa8b89089977.yaml   |    5 +
...sk-images-in-iscsi-deploy-0193c5222a7cd129.yaml |    7 +
...-long-chassis-description-0690d6f67ed002d5.yaml |    3 +
...clustered-compute-manager-3dd68557446bcc5c.yaml |   10 +
...drac-fix-prepare-cleaning-d74ba45135d84531.yaml |    4 +
...drac-inspection-interface-b0abbad98fec1c2e.yaml |    7 +
...drac-list-unfinished-jobs-10400419b6bc3c6e.yaml |    6 +
.../drac-raid-interface-f4c02b1c4fb37e2d.yaml      |   10 +
...e-devices-metadata-config-f39b6ca415a87757.yaml |   12 +
...fix-api-node-name-updates-f3813295472795be.yaml |    2 +-
.../notes/fix-url-collisions-43abfc8364ca34e7.yaml |    4 +
...-update-manual-clean-step-e6763dc6dc0d441b.yaml |    8 +-
...sistent-default-boot-mode-ef5a7c56372f89f1.yaml |   12 +
.../notes/inspector-session-179f83cbb0dc169b.yaml  |    8 +
.../ipminative-bootdev-uefi-954a0dd825bcef97.yaml  |    7 +
...l-bootdev-persistent-uefi-b1181a3c82343c8f.yaml |    7 +
.../notes/ipxe-use-swift-5ccf490daab809cc.yaml     |   12 +
...mask-configdrive-contents-77fc557d6bc63b2b.yaml |   19 +
...ewton-driver-deprecations-e40369be37203057.yaml |   30 +
...liantutils_version_update-b6e5ff0e496215a5.yaml |    6 +
...eutron-client-workarounds-996c59623684929b.yaml |    6 +
.../notes/scciclient-0.4.0-6f01c0f0a5c39062.yaml   |    4 +
...rver_profile_template_uri-c79e4f15cc20a1cf.yaml |    5 +
.../uefi-grub2-by-default-6b797a9e690d2dd5.yaml    |    7 +
.../notes/update-live-port-ee3fa9b77f5d0cf7.yaml   |    6 +
requirements.txt                                   |   13 +-
setup.cfg                                          |    1 +
test-requirements.txt                              |    7 +-
tox.ini                                            |   27 +-
305 files changed, 10920 insertions(+), 3396 deletions(-)


Requirements updates
--------------------

diff --git a/driver-requirements.txt b/driver-requirements.txt
index 595e830..711c337 100644
--- a/driver-requirements.txt
+++ b/driver-requirements.txt
@@ -7 +7 @@
-proliantutils>=2.1.7
+proliantutils>=2.1.11
@@ -10 +10 @@ pysnmp
-python-ironic-inspector-client
+python-ironic-inspector-client>=1.5.0
@@ -12 +12 @@ python-oneviewclient<3.0.0,>=2.0.2
-python-scciclient>=0.3.0
+python-scciclient>=0.4.0
@@ -15 +15 @@ UcsSdk==0.8.2.2
-python-dracclient>=0.0.5
+python-dracclient>=0.1.0
diff --git a/requirements.txt b/requirements.txt
index fc37041..c898e82 100644
--- a/requirements.txt
+++ b/requirements.txt
@@ -11 +11 @@ greenlet>=0.3.2 # MIT
-netaddr!=0.7.16,>=0.7.12 # BSD
+netaddr!=0.7.16,>=0.7.13 # BSD
@@ -13,2 +13,2 @@ paramiko>=2.0 # LGPLv2.1+
-python-neutronclient>=4.2.0 # Apache-2.0
-python-glanceclient>=2.0.0 # Apache-2.0
+python-neutronclient>=5.1.0 # Apache-2.0
+python-glanceclient!=2.4.0,>=2.3.0 # Apache-2.0
@@ -21 +20,0 @@ pysendfile>=2.0.0 # MIT
-websockify>=0.8.0 # LGPLv3
@@ -24,2 +23,2 @@ oslo.config>=3.14.0 # Apache-2.0
-oslo.context>=2.4.0 # Apache-2.0
-oslo.db>=4.1.0 # Apache-2.0
+oslo.context>=2.9.0 # Apache-2.0
+oslo.db!=4.13.1,!=4.13.2,>=4.10.0 # Apache-2.0
@@ -34 +33 @@ oslo.utils>=3.16.0 # Apache-2.0
-pecan>=1.0.0 # BSD
+pecan!=1.0.2,!=1.0.3,!=1.0.4,>=1.0.0 # BSD
diff --git a/test-requirements.txt b/test-requirements.txt
index 86db171..359d6ed 100644
--- a/test-requirements.txt
+++ b/test-requirements.txt
@@ -4 +4 @@
-hacking<0.11,>=0.10.0
+hacking<0.12,>=0.11.0 # Apache-2.0
@@ -10 +10 @@ Babel>=2.3.4 # BSD
-PyMySQL>=0.6.2 # MIT License
+PyMySQL!=0.7.7,>=0.6.2 # MIT License
@@ -26,0 +27 @@ sphinxcontrib-seqdiag # BSD
+openstackdocstheme>=1.5.0 # Apache-2.0
@@ -29 +30 @@ reno>=1.8.0 # Apache2
-os-api-ref>=0.4.0 # Apache-2.0
+os-api-ref>=1.0.0 # Apache-2.0





More information about the OpenStack-announce mailing list