[release-announce] ironic 15.1.0 (victoria)

no-reply at openstack.org no-reply at openstack.org
Wed Jul 8 19:30:40 UTC 2020


We enthusiastically announce the release of:

ironic 15.1.0: OpenStack Bare Metal Provisioning

This release is part of the victoria release series.

The source is available from:

    https://opendev.org/openstack/ironic

Download the package from:

    https://tarballs.openstack.org/ironic/

Please report issues through:

    https://storyboard.openstack.org/#!/project/943

For more details, please see below.

15.1.0
^^^^^^


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

* Adds raid interface for ibmc driver which includes
  "delete_configuration" and "create_configuration" steps.

* Enable Basic HTTP authentication middleware.

  Having noauth as the only option for standalone ironic causes
  constraints on how the API is exposed on the network. Having some
  kind of authentication layer behind a TLS deployment eases these
  constraints.

  When the config option "auth_strategy" is set to "http_basic" then
  non-public API calls require a valid HTTP Basic authentication
  header to be set. The config option "http_basic_auth_user_file"
  defaults to "/etc/ironic/htpasswd" and points to a file which
  supports the Apache htpasswd syntax[1]. This file is read for every
  request, so no service restart is required when changes are made.

  Like the "noauth" auth strategy, the "http_basic" auth strategy is
  intended for standalone deployments of ironic, and integration with
  other OpenStack services cannot depend on a service catalog.

  The only password digest supported is bcrypt, and the "bcrypt"
  python library is used for password checks since it supports "$2y$"
  prefixed bcrypt passwords as generated by the Apache htpasswd
  utility.

  To try HTTP basic authentication, the following can be done:

  * Set "/etc/ironic/ironic.conf" "DEFAULT" "auth_strategy" to
    "http_basic"

  * Populate the htpasswd file with entries, for example: "htpasswd
    -nbB myName myPassword >> /etc/ironic/htpassw"

  * Make basic authenticated HTTP requests, for example: "curl
    --user myName:myPassword http://localhost:6385/v1/drivers"

  [1]
  https://httpd.apache.org/docs/current/misc/password_encryptions.html

* Adds a new "[ipmi]use_ipmitool_retries" option. When set to "True"
  and timing is supported by ipmitool, the number of retries and
  command interval will be passed to ipmitool so that ipmitool will do
  the retries.  When set to "False", ironic will do the retries.
  Default is "True".

* Adds an ability to generate network boot templates even for nodes
  that use local boot via the new "[pxe]enable_netboot_fallback"
  option. This is required to work around the situation where
  switching boot devices does not work reliably.

* Adds the ability for Ironic to attach a node to a specific port or
  portgroup. This is accomplished by having the node vif_attach API
  accept a port_uuid or portgroup_uuid key within vif_info. If one is
  specified, then Ironic will attempt to attach to the specified
  port/portgroup. Specifying both returns an error.


Known Issues
************

* Some BMCs do not support the "Channel Cipher Suites" command that
  newer versions of ipmitool use.  These versions of ipmitool will
  resend this command for each ipmitool retry, resulting in long
  response times.  Setting "[ipmi]use_ipmitool_retries" to "false"
  will avoid this situation by implementing retries on the ironic
  level.

* The SNMP hardware type cannot change boot devices and thus may
  fail to deploy nodes with local boot. To work around this problem,
  set "[pxe]enable_netboot_fallback" to "True".

* Some redfish-enabled hardware is known not to support persistent
  boot device setting that is used by the Bare Metal service for
  deployed instances. The "redfish" hardware type tries to work around
  this problem, but rebooting such an instance in-band may cause it to
  boot incorrectly. A predictable boot order should be configured in
  the node's boot firmware to avoid issues and at least metadata
  cleaning must be enabled. See this mailing list thread
  (http://lists.openstack.org/pipermail/openstack-
  discuss/2020-April/014543.html) for technical details.


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

* The "[conductor]api_url" was deprecated and removed, use
  "[service_catalog]endpoint_override" instead if required to use a
  specific ironic api url.

* The "[cinder]url" was removed, use "[cinder]endpoint_override"
  instead.

* The "[DEFAULT]fatal_exception_format_errors" was removed, use
  "[ironic_lib]fatal_exception_format_errors" instead.

* Operators upgrading from earlier versions using PXE should
  explicitly set "[pxe]ipxe_bootfile_name",
  "[pxe]uefi_ipxe_bootfile_name", and possibly
  "[pxe]ipxe_bootfile_name_by_arch" settings, as well as a iPXE
  specific "[pxe]ipxe_config_template" override, if required.

  Setting the "[pxe]ipxe_config_template" to no value will result in
  the "[pxe]pxe_config_template" being used. The default value points
  to the supplied standard iPXE template, so only highly customized
  operators may have to tune this setting.

* Updates required ibmcclient version for ibmc drivers to 0.2.2.

* A permission setting has been added for "redfish-virtual-media"
  boot interface, which allows for explicit file permission setting
  when the driver is used. The default for the new
  "[redfish]file_permission setting is ``0u644", or 644 if manually
  changed using "chmod" on the command line. Operators may need to
  check "/httpboot/redfish" folder permissions if using "redfish-
  virtual-media" if they were running the conductor with a specific
  "umask" to work around the permission setting defect.


Bug Fixes
*********

* Instead of increasing timeout when running long synchronous tasks
  on ironic-python-agent, ironic now runs them asynchronously and
  polls the agent until completion. It is no longer necessary to
  account for long-running tasks when setting
  "[agent]command_timeout".

* Fixes a rare issue where agent successfully powers off a node
  after deployment, but ironic never learns about it and does another
  reboot.

* Fixes deployment in fast-track mode by keeping the required
  internal fields ("agent_url" and "agent_secret_token") intact when
  starting and finishing deployment and cleaning.

* Fixes deleting nodes with maintenance mode on and an allocation
  present. Previously it caused an internal server error. See story
  2007823 (https://storyboard.openstack.org/#!/story/2007823) for
  details.

* Change the default for "use_ipmitool_retries" to "False" so that
  Ironic will do the retries by default.  This is needed for certain
  BMCs that don't support the Cipher Suites command and ipmitool
  retries take an excessively long time.  See story 2007632
  (https://storyboard.openstack.org/#!/story/2007632) for additional
  information.

* Cleans up nodes stuck in the "deleting" state on conductor
  restart.

* Fixes fast-track deployments with the "direct" deploy interface
  that used to hang previously.

* Fixes periodic task initialization options to prevent a negative
  number. If "[conductor]clean_callback_timeout",
  "[conductor]inspect_wait_timeout" or
  "[conductor]inspect_wait_timeout" have a negative value an error
  will be triggered.

* Ironic now does not try to allocate the space needed for instance
  image conversion to raw format if it is already raw.

* Addresses the lack of an ability to explicitly set different
  bootloaders for "iPXE" and "PXE" based boot operations via their
  respective "ipxe" and "pxe" boot interfaces.

* Fixes a bug in "fast track" where Ironic would delete the "agent
  token" upon exiting cleaning steps. However, if we are in fast track
  mode, we can preserve the token and continue operations with the
  agent as it is not powered off during fast track operations.

* Fixes a workaround for hardware that does not support persistent
  boot device setting with the "redfish" or "idrac-redfish" management
  interface implementation. When such situation is detected, ironic
  falls back to one-time boot device setting, restoring it on every
  reboot or power on.

  For more information, see story 2007733
  (https://storyboard.openstack.org/#!/story/2007733).

* Fixes the virtual disks creation by changing PERC H740P controller
  mode from *Enhanced HBA* to *RAID* in delete_configuration clean
  step. PERC H740P controllers supports RAID mode and Enhanced HBA
  mode. When the controller is in Enhanced HBA, it creates single disk
  RAID0 virtual disks of NON-RAID physical disks. Hence the request
  for VD creation with supported RAID fails due to no available
  physical disk. This patch converts the PERC H740P RAID controllers
  to RAID mode if enhanced HBA mode found enabled See bug bug 2007711
  (https://storyboard.openstack.org/#!/story/2007711) for more details

* Fixes fast track deployment preceeded by managed inspection by
  providing the ironic API URL to the ramdisk so that it can
  heartbeat.

* Fixes the JSON RPC backend potentially hanging on inability to
  connect to a conductor. The default timeout is now 120 seconds. The
  timeout and the number of retries can be adjusted via the
  configuration options "[json_rpc]timeout" and
  "[json_rpc]connect_retries" accordingly.

* Fixes logic that is applied to port deletions to also consider the
  presence of a VIF attachment record, which should be removed before
  attempting to delete the node. Failure to do so can result in
  erroneous records in the Networking Service.

* No longer tries to set "local_gb" to "MAX" when building RAID with
  the root disk using "MAX" for its size.

* To provide a workaround for incorrect boot order problems on some
  hardware, the "redfish" hardware type now supports the "noop"
  management interface, similarly to IPMI and SNMP.

* Rebooting a node with the "redfish" power interface is now
  implemented via a power off request followed by power on to avoid
  returning success when a node stays powered on after the reboot
  request.

* Provides a workaround for hardware that does not support
  persistent boot device setting with the "redfish" hardware type.
  When such situation is detected, ironic will fall back to one-time
  boot device setting, restoring it on every reboot.

* Fixes an issue where the folder "/httpboot/redfish" was being
  created with incorrect permissions.

* If the disk format of the image is provided in the instance_info,
  skip the memory check if it is set to *raw* and raw image streaming
  is enabled. That allows to stream raw images provided as URL and not
  through Glance.


Other Notes
***********

* Ramdisk logs are now collected during cleaning the same way as
  during deployment.

* The following configuration options can now be reloaded without
  restarting ironic:

  From "[agent]": "memory_consumed_by_agent", "stream_raw_images",
  "deploy_logs_*", "image_download_source", "command_timeout" and
  "neutron_agent_poll_interval".

  From "[api]": "max_limit", "public_endpoint" and
  "ramdisk_heartbeat_timeout".

  From "[conductor]": "heartbeat_timeout",
  "force_power_state_during_sync", "automated_clean",
  "soft_power_off_timeout", "power_state_change_timeout",
  "rescue_password_hash_algorithm" and
  "require_rescue_password_hashed".

  From "[DEFAULT]": "default_resource_class", "force_raw_images",
  "parallel_image_downloads", "default_portgroup_mode" and
  "require_agent_token".

  From "[deploy]": "enable_ata_secure_erase",
  "erase_devices_priority", "erase_devices_metadata_priority",
  "shred_random_overwrite_iterations",
  "shred_final_overwrite_with_zeros",
  "continue_if_disk_secure_erase_fails", "disk_erasure_concurrency",
  "power_off_after_deploy_failure", "default_boot_option",
  "default_boot_mode", "configdrive_use_object_store", "fast_track",
  and "fast_track_timeout".

  From "[ipmi]": "kill_on_timeout", "disable_boot_timeout",
  "command_retry_interval", "min_command_interval", "debug" and
  "additional_retryable_ipmi_errors".

  From "[iscsi]": "portal_port", "conv_flags" and "verify_attempts".

  From "[neutron]": "port_setup_delay", "*_network",
  "*_network_security_groups", "request_timeout", "add_all_ports" and
  "dhcpv6_stateful_address_count".

  From "[nova]": "send_power_notifications".

  From "[pxe]": "pxe_append_params", "default_ephemeral_format",
  "pxe_config_template", "uefi_pxe_config_template",
  "pxe_config_template_by_arch", "ip_version" and "ipxe_use_swift".

  From "[redfish]": "use_swift", "swift_container",
  "swift_object_expiry_timeout" and "kernel_append_params".

Changes in ironic 15.0.0..15.1.0
--------------------------------

759b722a5 Add documentation on how to propose a release
5f7d84f48 Provide a path to set explicit ipxe bootloaders
addbdf7c2 Do not verify error messages from jsonpatch in unit tests
c85a33d65 Use assertCountEqual instead of assertItemsEqual, part 2
359d6bca9 Enforce autospec in test_task_manager
f26b500ef Follow up of enforce autospec in test_manager
daca49022 Follow up of fix uefi jobs with ovmf native ubuntu package
af897bc82 Fix missing print format in log message
b41bace32 Do not put the whole JSON error from the agent in last_error
0841943c9 Use unittest mock instead of 3rd party mock in test_raid
91b0f7383 Correct Redfish boot once fallback conditional
d90459a87 Fix the error message when reached max number of traits
cedc4a241 Software RAID: don't try to set local_gb to MAX
4f6374a20 Clean up nodes in DELETING on conductor restart
1a02c79ed Log when a node should be fast-track-able but it's not
aac89c214 Fix uefi jobs with native ubuntu ovmf package
00519ba61 Enforce autospec in test_manager
15079e3c9 Prepare release notes and docs for release 15.1
988f61b8a Add ironic 15.1 release mapping
498ab5224 Use getfullargspec to inspect functions
f9eb43d1c Fix fast track following managed inspection
f1a4725fd Explicitly use python3 for ironic_lib_prefix
296c8669a Fix hacking min version to 3.0.1
d0d772d72 devstack: get rid of python3_enabled
d72c42b1f Use IRONIC_VM_SPECS_RAM from ironic-base in ipv6 job
359bc24c9 Update git URLs
325f28043 DRAC: Fix a failure to create virtual disk
0fa90f658 Use virtio bus with uefi
2b412df42 Untie the ramdisk deploy from AgentDeploy
a58ca1f7a Enforce autospec in test_utils
caf63e403 Enforce autospec in test_flat
f2425ad89 Enforce autospec in test_common
dc7960982 Update [console]kill_timeout description
130f96d9d Trivial: clarify usage of AgentCommandTimeout in _wait_for_command
2f5456759 Add a bug reporting and triaging guide
58693c7f4 Make test-setup.sh compatible with mysql8
7828fe8b6 agent: poll long-running commands till completion
65480f6b9 Networking boot fallback for local boot
f0803493d Fix fast-track with the direct deploy interface
42f28a4d3 Add api-ref for indicators API
da49cf69d ironic-standalone, use http basic auth for json-rpc
29d711ad2 Use configure_keystone_authtoken_middleware
fbebcc320 Stop allocating double space for raw images
b99c71031 Enforce autospec in test_neutron
429c8013f Enforce autospec in test_base_manager
350d84ed4 Enable HTTP Basic authentication for JSON-RPC
0a7608cee Enforce autospec in test_rpc_api and test_steps
11ee8a603 Fix mock callable for Python 3.6 and precedent
0961b1750 Fix: review from dtantsur of 728123
1d84df93d Fix internal server error on deleting nodes with allocations
590916392 Fix agent token and URL handling during fast-track deployment
c56777929 Fix Redfish handle no continuous override boot src
e8f6fdd56 Allow node vif attach to specify port_uuid or portgroup_uuid
61c42839f CI: make grenade voting again
88b24354a devstack: Use uwsgi binary from path; temporary disable grenade
62408b32a Document http_basic auth strategy
864a0a568 doc: fix endpoint_override for inspector
ca1c1b87a Use assertCountEqual instead of assertItemsEqual
69549e5d7 Use unittest.mock instead of mock
30d0296f0 Fix requirements check
e8daa0f27 Add virtualbmc as an extra dependency
d602543dc [doc] Fix indentation in admin/troubleshooting
cd6e5ec49 Feature: Add raid configuration support for ibmc driver
1f2057680 [doc] Extend trouble shooting docs for node stuck in wait states
7a455a3ff devstack: increase concurrency and worker timeout for sushy-tools
697eb0102 Enforce autospec in test_snmp
ffca0e5fb Enforce autospec in test_ipxe and test_pxe
2509d282a Use the new extension call for getting partition UUIDs
62b0071ab Enforce autospec in test_deploy_utils module
f30d2f348 Follow-up patch for ilo out-of-band `erase_devices`
2e291b69e Add troubleshooting docs on -ing state failures.
c6112b01c Enable Basic HTTP authentication middleware
1afb69b25 [doc] Harmonize the prompt for bash commands
da28bead6 [doc] Check placement in case of "No valid host found"
5b785569b Fix fast track when exiting cleaning
64674bf0e Block port deletions where vif is present
63bd40c89 Enforce autospec in test_agent_base module
3daffe07a Enforce autospec in test_agent module
be4b97828 Move introspection timeout option to base job
14a8b308d Add function definition handling
68cc5fbcb Add validate decorator to expose
2e9fede75 Remove ironic-grenade-dsvm
af6cd1093 Fix redfish-virtual-media file permission
6c712454a Enforce autospec in ansible tests
3ae7e6880 Change default to ``False`` for ``use_ipmitool_retries``
bffde661e Enforce autospec in drac tests
0d0d8aae5 Extend vmedia job timeout
0fa282eee agent: do not hard power off if soft power off actually succeeds
6520b373f New configuration parameter to use ipmitool retries
17decbcb9 Add IPv6 ci Job
5f24029c4 Increase callback timeout
488797996 Set default tempest_test_timeout for ironic-base
82f1e0c92 CI: use the default devstack cirros version
f266baffc Cap jsonschema 3.2.0 as the minimal version
c717f0e49 change devstack ipa-builder default to BRANCHLESS_TARGET_BRANCH
51eff6010 Add the noop management interface to the redfish hardware type
4fe89203a Add agent_token param to docstrings
ab262d4ff Make redfish boot interface to use `network_data`
734a0a0cb Add `get_node_network_data` to non-Neutron NetworkInterface
cf12521f7 Add `get_node_network_data` method to NetworkInterface
d13c6026e Change IRONIC_VM_SPECS_RAM default
16f5950f1 Do not fail when raw image is larger than memory for http
c1834cc4b Add py38 package metadata
4a69b6398 [Trivial]Add missing white space between words
271ecdd11 Fix pygments style
4ae482897 Remove iDRAC Redfish boot device known issue
94af61bc1 Revert "Deprecate ibmc"
5750cca0d Increase timeout for introspection in ironic-inspector-tempest
df5bb921b Collect tftpd info from journald
a2efd0b82 Switch to newer openstackdocstheme and reno versions
846d70698 Fix image type reference
93202bf5a rm duplicate word 'that'
d213488dd RAID docs: fix an invalid json example
805a785a3 Change ibmcclient compatible version
38137e6c4 Raise the JSON RPC connection timeout to 2 minutes and disable retries
60c7d97c9 CI: add test-requirements to irrelevant-files
a017447ec Encapsulate auth_token middleware
f6b9f3435 Pin the python-ibmcclient upper bounds due to six usage
d31e71a73 Collect ramdisk logs also during cleaning
1deefcbae Doc building: Silence automated_steps
07fa29999 Remove deprecated [cinder]url
dc2a2da1f Remove deprecated [DEFAULT]fatal_exception_format_errors
c38465eaa Remove translation sections from setup.cfg
893029493 Add ussuri release notes version
bb39f20d3 Fix the wrong description
774bc9264 Cap pycodestyle explicitly to be < 2.6.0
bc79bbd57 Update lower-constraints.txt
ead9ecfcb Fix pep8
57e71bae2 Increase timeout value for ironic-base job
68b6378db CI: raise DIB jobs memory to 3 GiB
f464e78ef If the "[conductor]XXX_timeout" is less than 0,disable periodic task
ccdd5e977 [Trivial] Fix awkward mocking in redfish boot tests
18a8e2f6e redfish: handle hardware that is unable to set persistent boot
2da8a102b Change the name of the inspector job
8562df092 redfish: split reboot into power off followed by power on
c5543b572 Enforce autospec in some unit tests modules
14524c265 Add timeout and retries to JSON RPC client
981b24255 Fix 3rd party driver mocks and related tests
6c8579c0d Temporary add per-file-ignores to flake8 tests
50c81cdbc Mark more configuration options as reloadable
aa4332254 Silence debug messages from oslo_messaging
a83dfd5b9 Do all serialization in the expose decorator
4d2567c2c Use tempest_plugins Zuul CI role
653d4e4ef Add `network_data` field to ironic node object
c647408f8 Fix tempest plugin location
5ab51c977 Update grenade job
ce878131c Remove testscenarios, testrepository and Babel from test-requirements
627d4dfd1 Monkey patch original current_thread _active
90777c127 Native zuulv3 grenade job for ironic
3e6dfdb3b Remove [conductor]api_url
2051b1979 Imported Translations from Zanata
d6e755245 Switch to unittest mock
2ffbfb4b4 Refactor RedfishVirtualMediaBoot
32beb7d98 Add Python3 victoria unit tests
2afbd77c1 Update master for stable/ussuri
b4341305d CI: exclude the inspection abort tests from the inspector-redfish-vmedia job
9c69103e3 CI: repair the SNMP job and make it voting.
1673d7b1c Fix configure-vm.py and xml file for centos8
4d810c160 Add PXE reset known issue to the docs
2dc18de2e Add ironic-standalone-redfish
0e401f3af CI: migrate UEFI jobs to Cirros 0.5.1


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

api-ref/source/baremetal-api-v1-indicators.inc     |  154 +++
api-ref/source/baremetal-api-v1-nodes.inc          |    4 +
api-ref/source/conf.py                             |    8 +-
api-ref/source/index.rst                           |    1 +
api-ref/source/parameters.yaml                     |   65 ++
api-ref/source/samples/node-create-response.json   |    1 +
.../node-indicators-component-list-response.json   |   45 +
.../node-indicators-get-state-response.json        |    3 +
.../samples/node-indicators-list-response.json     |   34 +
.../source/samples/node-indicators-set-state.json  |    3 +
api-ref/source/samples/node-show-response.json     |    1 +
.../samples/node-update-driver-info-response.json  |    1 +
.../samples/nodes-list-details-response.json       |    2 +
babel.cfg                                          |    2 -
bindep.txt                                         |    4 +-
devstack/common_settings                           |   26 +-
devstack/files/debs/ironic                         |   32 +-
devstack/lib/ironic                                |  290 ++++--
devstack/plugin.sh                                 |    1 +
devstack/tools/ironic/scripts/configure-vm.py      |    2 +-
devstack/tools/ironic/templates/vm.xml             |    9 +-
driver-requirements.txt                            |    2 +-
ironic/api/app.py                                  |   17 +-
ironic/api/controllers/v1/allocation.py            |    3 +-
ironic/api/controllers/v1/chassis.py               |    3 +-
ironic/api/controllers/v1/deploy_template.py       |    3 +-
ironic/api/controllers/v1/network-data-schema.json |  580 +++++++++++
ironic/api/controllers/v1/node.py                  |   54 +-
ironic/api/controllers/v1/port.py                  |    3 +-
ironic/api/controllers/v1/portgroup.py             |    3 +-
ironic/api/controllers/v1/ramdisk.py               |    1 +
ironic/api/controllers/v1/utils.py                 |    4 +-
ironic/api/controllers/v1/versions.py              |    6 +-
ironic/api/controllers/v1/volume_connector.py      |    3 +-
ironic/api/controllers/v1/volume_target.py         |    3 +-
ironic/api/expose.py                               |  204 +++-
ironic/api/functions.py                            |  182 ++++
ironic/api/hooks.py                                |    2 +-
ironic/api/middleware/__init__.py                  |    6 +-
.../{auth_token.py => auth_public_routes.py}       |   13 +-
ironic/api/types.py                                |   26 +
ironic/cmd/__init__.py                             |   11 +-
ironic/common/cinder.py                            |    8 +-
ironic/common/exception.py                         |    4 +
ironic/common/images.py                            |   42 +-
ironic/common/json_rpc/__init__.py                 |    4 +-
ironic/common/json_rpc/client.py                   |   20 +-
ironic/common/json_rpc/server.py                   |   10 +-
ironic/common/policy.py                            |    6 +-
ironic/common/pxe_utils.py                         |   42 +-
ironic/common/raid.py                              |    3 +-
ironic/common/release_mappings.py                  |   23 +-
ironic/common/states.py                            |    4 +-
ironic/conductor/cleaning.py                       |   29 +-
ironic/conductor/deployments.py                    |   12 +-
ironic/conductor/manager.py                        |   39 +-
ironic/conductor/rpcapi.py                         |    1 +
ironic/conductor/utils.py                          |  100 +-
ironic/conf/agent.py                               |   24 +-
ironic/conf/api.py                                 |    4 +
ironic/conf/cinder.py                              |    8 -
ironic/conf/conductor.py                           |   21 +-
ironic/conf/console.py                             |    4 +-
ironic/conf/default.py                             |   23 +-
ironic/conf/deploy.py                              |   13 +
ironic/conf/ilo.py                                 |    5 +-
ironic/conf/ipmi.py                                |   14 +
ironic/conf/iscsi.py                               |    3 +
ironic/conf/json_rpc.py                            |   19 +-
ironic/conf/neutron.py                             |   13 +
ironic/conf/nova.py                                |    1 +
ironic/conf/opts.py                                |    2 +
ironic/conf/pxe.py                                 |   39 +-
ironic/conf/redfish.py                             |   12 +
.../cf1a80fdb352_add_node_network_data_field.py    |   30 +
ironic/db/sqlalchemy/api.py                        |   19 +-
ironic/db/sqlalchemy/models.py                     |    1 +
ironic/drivers/base.py                             |   20 +
ironic/drivers/ibmc.py                             |    6 +
ironic/drivers/modules/agent.py                    |  153 +--
ironic/drivers/modules/agent_base.py               |  140 ++-
ironic/drivers/modules/agent_client.py             |  130 ++-
ironic/drivers/modules/deploy_utils.py             |   65 +-
ironic/drivers/modules/drac/bios.py                |    2 +-
ironic/drivers/modules/drac/raid.py                |  164 ++-
ironic/drivers/modules/ibmc/management.py          |    2 -
ironic/drivers/modules/ibmc/power.py               |    2 -
ironic/drivers/modules/ibmc/raid.py                |  199 ++++
ironic/drivers/modules/ibmc/utils.py               |    2 +-
ironic/drivers/modules/ibmc/vendor.py              |   23 +-
ironic/drivers/modules/image_cache.py              |    7 +-
ironic/drivers/modules/inspector.py                |    5 +-
ironic/drivers/modules/ipmitool.py                 |   15 +-
ironic/drivers/modules/irmc/boot.py                |    2 +-
ironic/drivers/modules/iscsi_deploy.py             |  113 +--
ironic/drivers/modules/network/common.py           |   77 +-
ironic/drivers/modules/pxe.py                      |    7 +-
ironic/drivers/modules/pxe_base.py                 |   26 +-
ironic/drivers/modules/redfish/boot.py             | 1067 ++++++++++----------
ironic/drivers/modules/redfish/management.py       |   90 +-
ironic/drivers/modules/redfish/power.py            |   57 +-
ironic/drivers/redfish.py                          |    3 +-
ironic/drivers/utils.py                            |   10 +-
ironic/objects/node.py                             |   29 +-
.../unit/api/controllers/v1/test_allocation.py     |   12 +-
.../unit/api/controllers/v1/test_conductor.py      |   12 +-
.../api/controllers/v1/test_deploy_template.py     |   40 +-
.../api/controllers/v1/test_notification_utils.py  |    3 +-
.../unit/api/controllers/v1/test_portgroup.py      |   12 +-
.../api/controllers/v1/test_volume_connector.py    |   12 +-
.../unit/api/controllers/v1/test_volume_target.py  |   12 +-
.../unit/conductor/test_notification_utils.py      |    3 +-
.../unit/drivers/modules/ansible/test_deploy.py    |   46 +-
.../unit/drivers/modules/drac/test_inspect.py      |    3 +-
.../unit/drivers/modules/drac/test_management.py   |    7 +-
.../drivers/modules/drac/test_periodic_task.py     |   26 +-
.../unit/drivers/modules/ibmc/test_management.py   |    2 +-
.../drivers/modules/ilo/test_firmware_processor.py |    3 +-
.../unit/drivers/modules/ilo/test_management.py    |    3 +-
.../drivers/modules/intel_ipmi/test_management.py  |    2 +-
.../unit/drivers/modules/irmc/test_inspect.py      |    2 +-
.../unit/drivers/modules/irmc/test_management.py   |    3 +-
.../drivers/modules/irmc/test_periodic_task.py     |    3 +-
.../modules/network/json_samples/network_data.json |  113 +++
.../unit/drivers/modules/network/test_common.py    |  219 ++--
.../unit/drivers/modules/network/test_flat.py      |   96 +-
.../unit/drivers/modules/network/test_neutron.py   |  144 +--
.../unit/drivers/modules/network/test_noop.py      |    6 +
.../unit/drivers/modules/redfish/test_bios.py      |   17 +-
.../unit/drivers/modules/redfish/test_boot.py      |  289 +++---
.../unit/drivers/modules/redfish/test_inspect.py   |    3 +-
.../drivers/modules/redfish/test_management.py     |  116 ++-
.../unit/drivers/modules/redfish/test_power.py     |  128 ++-
.../unit/drivers/modules/redfish/test_utils.py     |    2 +-
.../unit/drivers/modules/storage/test_cinder.py    |    3 +-
.../unit/drivers/modules/storage/test_external.py  |    2 +-
.../unit/drivers/modules/test_agent_client.py      |   99 +-
.../unit/drivers/modules/test_boot_mode_utils.py   |    8 +-
.../unit/drivers/modules/test_console_utils.py     |    2 +-
.../unit/drivers/modules/test_deploy_utils.py      |  103 +-
.../unit/drivers/modules/test_inspect_utils.py     |    3 +-
.../unit/drivers/modules/test_iscsi_deploy.py      |    2 +-
.../unit/drivers/modules/xclarity/test_common.py   |    3 +-
.../drivers/modules/xclarity/test_management.py    |    4 +-
.../unit/drivers/modules/xclarity/test_power.py    |    2 +-
lower-constraints.txt                              |  100 +-
playbooks/ci-workarounds/get_tftpd.yaml            |    5 +
playbooks/legacy/grenade-dsvm-ironic/run.yaml      |  121 ---
playbooks/legacy/ironic-dsvm-base/post.yaml        |   15 -
playbooks/legacy/ironic-dsvm-base/pre.yaml         |   22 -
.../add-ibmc-raid-interface-0c13826e134fb4ce.yaml  |    5 +
.../notes/agent-client-poll-ce16fd589e88c95a.yaml  |    7 +
.../notes/agent-power-off-2115fcfaac030bd0.yaml    |    5 +
.../notes/agent-token-817a03776bd46d5b.yaml        |    6 +
.../notes/allocation-delete-26c7c2f1651759f5.yaml  |    6 +
...ault_use_ipmitool_retries-2529ce032eae7d1b.yaml |    9 +
.../notes/cleaning-logs-dc115b0926ae3982.yaml      |    5 +
.../notes/del-api-url-eb2ea29aa63a2cb5.yaml        |    6 +
.../notes/del-cinder-url-cf43cd0336c22878.yaml     |    3 +
...l_exception_format_errors-f63b15c8aa460dff.yaml |    5 +
releasenotes/notes/deleting-dcdb9cf0d2a6a1a6.yaml  |    4 +
.../notes/direct-fast-track-d0f43850b6e80751.yaml  |    5 +
.../disable_periodic_task-590a91c0a5235cfb.yaml    |    7 +
.../dont-cleanup-cache-twice-0395a50ad723bca8.yaml |    5 +
...licit_ipxe_config_options-d7bf9a743a13f523.yaml |   17 +
.../fast-track-with-cleaning-438225116a11662d.yaml |    7 +
...edfish-sadness-workaround-ed02cb310ff369f4.yaml |   11 +
.../notes/http-basic-auth-f8c0536eba989918.yaml    |   34 +
.../notes/ibmcclient-fix-8c6cb49be0aef5f2.yaml     |    4 +
.../idrac-add-ehba-support-10b90c92b8865364.yaml   |   15 +
.../inspection-fast-track-ab5165e11d3e9522.yaml    |    5 +
...tool-use_ipmitool_retries-b55b2b8ed5cab603.yaml |   16 +
.../notes/json-rpc-timeout-ac30eea164b3a294.yaml   |    7 +
.../notes/netboot-fallback-b208b2c3b40a0d01.yaml   |   12 +
...t-ports-with-vif-deletion-3edac3df5aa1becf.yaml |    7 +
releasenotes/notes/raid-max-c0920cc44b9779ee.yaml  |    5 +
.../notes/redfish-noop-mgmt-b61d02b77b1c9d6b.yaml  |    6 +
.../notes/redfish-power-87062756bce8b047.yaml      |    6 +
.../notes/redfish-sadness-6e2a37b3f45ef1aa.yaml    |   18 +
...tual-media-permission-fix-1909b9cdbbbf9fd1.yaml |   15 +
.../notes/reloadable-301ec2aa421abf66.yaml         |   48 +
...e-format-for-memory-check-25b1f06701ccdc47.yaml |    6 +
.../notes/vif-port-attach-17a9993bf5c21d69.yaml    |    8 +
releasenotes/source/conf.py                        |    9 +-
releasenotes/source/index.rst                      |    1 +
.../locale/en_GB/LC_MESSAGES/releasenotes.po       |   60 +-
releasenotes/source/ussuri.rst                     |    6 +
requirements.txt                                   |    4 +-
setup.cfg                                          |   18 +-
test-requirements.txt                              |    7 +-
tools/test-setup.sh                                |    4 +-
tox.ini                                            |   24 +-
zuul.d/ironic-jobs.yaml                            |  250 ++++-
zuul.d/legacy-ironic-jobs.yaml                     |   45 -
zuul.d/project.yaml                                |   16 +-
337 files changed, 9072 insertions(+), 3017 deletions(-)


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

diff --git a/driver-requirements.txt b/driver-requirements.txt
index b8d91d0bc..bb016f26e 100644
--- a/driver-requirements.txt
+++ b/driver-requirements.txt
@@ -20 +20 @@ ansible>=2.7
-python-ibmcclient>=0.1.0
+python-ibmcclient>=0.2.2,<0.3.0
diff --git a/requirements.txt b/requirements.txt
index da87b3037..9a59e6777 100644
--- a/requirements.txt
+++ b/requirements.txt
@@ -14 +14 @@ keystoneauth1>=3.18.0 # Apache-2.0
-ironic-lib>=2.17.1 # Apache-2.0
+ironic-lib>=4.3.0 # Apache-2.0
@@ -43 +43 @@ oslo.versionedobjects>=1.31.2 # Apache-2.0
-jsonschema>=2.6.0 # MIT
+jsonschema>=3.2.0 # MIT
diff --git a/test-requirements.txt b/test-requirements.txt
index 497bcdc99..4d3bdfcea 100644
--- a/test-requirements.txt
+++ b/test-requirements.txt
@@ -4 +4 @@
-hacking>=3.0.0,<3.1.0 # Apache-2.0
+hacking>=3.0.1,<3.1.0 # Apache-2.0
@@ -9,2 +8,0 @@ fixtures>=3.0.0 # Apache-2.0/BSD
-mock>=3.0.0 # BSD
-Babel!=2.4.0,>=2.3.4 # BSD
@@ -18,2 +15,0 @@ testtools>=2.2.0 # MIT
-testresources>=2.0.0 # Apache-2.0/BSD
-testscenarios>=0.4 # Apache-2.0/BSD
@@ -21,0 +18 @@ bashate>=0.5.1 # Apache-2.0
+pycodestyle>=2.0.0,<2.6.0 # MIT






More information about the Release-announce mailing list