diff -Nru ironic-13.0.0/ChangeLog ironic-13.0.1/ChangeLog --- ironic-13.0.0/ChangeLog 2019-09-25 08:54:00.000000000 +0000 +++ ironic-13.0.1/ChangeLog 2019-10-10 15:52:40.000000000 +0000 @@ -1,6 +1,18 @@ CHANGES ======= +13.0.1 +------ + +* DRAC: Fix a bug for job creation when only required +* Fix devstack installation failure +* Change log level based on node status +* Use correct function to stop service +* Update docs for train release +* Prepare stable/train testing +* Update TOX/UPPER\_CONSTRAINTS\_FILE for stable/train +* Update .gitreview for stable/train + 13.0.0 ------ diff -Nru ironic-13.0.0/debian/changelog ironic-13.0.1/debian/changelog --- ironic-13.0.0/debian/changelog 2019-09-26 19:11:46.000000000 +0000 +++ ironic-13.0.1/debian/changelog 2019-10-11 09:22:35.000000000 +0000 @@ -1,3 +1,9 @@ +ironic (1:13.0.1-0ubuntu1) eoan; urgency=medium + + * New upstream release for OpenStack Train. + + -- James Page Fri, 11 Oct 2019 10:22:35 +0100 + ironic (1:13.0.0-0ubuntu1) eoan; urgency=medium [ Sahid Orentino Ferdjaoui ] diff -Nru ironic-13.0.0/devstack/lib/ironic ironic-13.0.1/devstack/lib/ironic --- ironic-13.0.0/devstack/lib/ironic 2019-09-25 08:52:41.000000000 +0000 +++ ironic-13.0.1/devstack/lib/ironic 2019-10-10 15:51:15.000000000 +0000 @@ -255,7 +255,7 @@ IRONIC_EFIBOOT=${IRONIC_EFIBOOT:-$TOP_DIR/files/ir-deploy-$IRONIC_DEPLOY_DRIVER.efiboot} # NOTE(jroll) this needs to be updated when stable branches are cut -IPA_DOWNLOAD_BRANCH=${IPA_DOWNLOAD_BRANCH:-master} +IPA_DOWNLOAD_BRANCH=${IPA_DOWNLOAD_BRANCH:-stable/train} IPA_DOWNLOAD_BRANCH=$(echo $IPA_DOWNLOAD_BRANCH | tr / -) # Configure URLs required to download ramdisk if we're not building it, and @@ -470,7 +470,7 @@ TEMPEST_BAREMETAL_MIN_MICROVERSION=${TEMPEST_BAREMETAL_MIN_MICROVERSION:-} # Define baremetal max_microversion in tempest config. No default value means that it is picked from tempest. -TEMPEST_BAREMETAL_MAX_MICROVERSION=${TEMPEST_BAREMETAL_MAX_MICROVERSION:-} +TEMPEST_BAREMETAL_MAX_MICROVERSION=${TEMPEST_BAREMETAL_MAX_MICROVERSION:-1.58} # get_pxe_boot_file() - Get the PXE/iPXE boot file path function get_pxe_boot_file { @@ -883,7 +883,7 @@ } function stop_redfish { - start_service stop $IRONIC_REDFISH_EMULATOR_SYSTEMD_SERVICE + stop_service $IRONIC_REDFISH_EMULATOR_SYSTEMD_SERVICE } function cleanup_redfish { @@ -2518,7 +2518,7 @@ if is_deploy_iso_required; then IRONIC_DIB_RAMDISK_OPTIONS+=" iso" fi - git_clone $IRONIC_PYTHON_AGENT_BUILDER_REPO $IRONIC_PYTHON_AGENT_BUILDER_DIR + git_clone $IRONIC_PYTHON_AGENT_BUILDER_REPO $IRONIC_PYTHON_AGENT_BUILDER_DIR $IRONIC_PYTHON_AGENT_BUILDER_BRANCH ELEMENTS_PATH="$IRONIC_PYTHON_AGENT_BUILDER_DIR/dib" \ disk-image-create "$IRONIC_DIB_RAMDISK_OPTIONS" \ -o "$tempdir/ironic-agent" \ diff -Nru ironic-13.0.0/doc/source/admin/api-audit-support.rst ironic-13.0.1/doc/source/admin/api-audit-support.rst --- ironic-13.0.0/doc/source/admin/api-audit-support.rst 2019-09-25 08:52:41.000000000 +0000 +++ ironic-13.0.1/doc/source/admin/api-audit-support.rst 2019-10-10 15:51:15.000000000 +0000 @@ -18,7 +18,7 @@ Audit middleware is available as part of `keystonemiddleware` (>= 1.6) library. For information regarding how audit middleware functions refer `here. -`_ +`_ Auditing can be enabled for the Bare Metal service by making the following changes to ``/etc/ironic/ironic.conf``. diff -Nru ironic-13.0.0/doc/source/admin/console.rst ironic-13.0.1/doc/source/admin/console.rst --- ironic-13.0.0/doc/source/admin/console.rst 2019-09-25 08:52:41.000000000 +0000 +++ ironic-13.0.1/doc/source/admin/console.rst 2019-10-10 15:51:15.000000000 +0000 @@ -281,4 +281,4 @@ memcache_servers = memcache01:11211,memcache02:11211,memcache03:11211 .. _`socat`: http://www.dest-unreach.org/socat -.. _`Serial Console`: https://docs.openstack.org/nova/latest/admin/remote-console-access.html#serial +.. _`Serial Console`: https://docs.openstack.org/nova/train/admin/remote-console-access.html#serial diff -Nru ironic-13.0.0/doc/source/admin/drivers/ansible.rst ironic-13.0.1/doc/source/admin/drivers/ansible.rst --- ironic-13.0.0/doc/source/admin/drivers/ansible.rst 2019-09-25 08:52:41.000000000 +0000 +++ ironic-13.0.1/doc/source/admin/drivers/ansible.rst 2019-10-10 15:51:15.000000000 +0000 @@ -465,6 +465,6 @@ is not shadowed. .. _Ansible: https://docs.ansible.com/ansible/latest/index.html -.. _Ironic Python Agent: https://docs.openstack.org/ironic-python-agent/latest/ +.. _Ironic Python Agent: https://docs.openstack.org/ironic-python-agent/train/ .. _ironic-staging-drivers: https://opendev.org/x/ironic-staging-drivers/src/branch/stable/pike/imagebuild .. _ironic-python-agent-builder: https://opendev.org/openstack/ironic-python-agent-builder diff -Nru ironic-13.0.0/doc/source/admin/drivers/ilo.rst ironic-13.0.1/doc/source/admin/drivers/ilo.rst --- ironic-13.0.0/doc/source/admin/drivers/ilo.rst 2019-09-25 08:52:41.000000000 +0000 +++ ironic-13.0.1/doc/source/admin/drivers/ilo.rst 2019-10-10 15:51:15.000000000 +0000 @@ -123,7 +123,7 @@ enabled_inspect_interfaces = ilo,inspector .. note:: - `Ironic Inspector `_ + `Ironic Inspector `_ needs to be configured to use ``inspector`` as the inspect interface. * management @@ -335,7 +335,7 @@ ^^^^^^^^^^^^^^^^^^^^ 1. `Configure Glance image service with its storage backend as Swift - `_. + `_. 2. Set a temp-url key for Glance user in Swift. For example, if you have configured Glance with user ``glance-swift`` and tenant as ``service``, diff -Nru ironic-13.0.0/doc/source/admin/drivers/ipa.rst ironic-13.0.1/doc/source/admin/drivers/ipa.rst --- ironic-13.0.0/doc/source/admin/drivers/ipa.rst 2019-09-25 08:52:41.000000000 +0000 +++ ironic-13.0.1/doc/source/admin/drivers/ipa.rst 2019-10-10 15:51:15.000000000 +0000 @@ -12,7 +12,7 @@ process of booting this ramdisk on the node. For more information see the `ironic-python-agent documentation -`_. +`_. Drivers ======= @@ -63,7 +63,7 @@ This will probably require you to configure the proxy server to cache the content even if the requested URL contains a query, and to raise the maximum cached file size as images can be pretty big. If you have HTTPS enabled in - swift (see `swift deployment guide `_), + swift (see `swift deployment guide `_), it is possible to configure the proxy server to talk to swift via HTTPS to download the image, store it in the cache unencrypted and return it to the node via HTTPS again. Because the image will be stored unencrypted in diff -Nru ironic-13.0.0/doc/source/admin/drivers/irmc.rst ironic-13.0.1/doc/source/admin/drivers/irmc.rst --- ironic-13.0.0/doc/source/admin/drivers/irmc.rst 2019-09-25 08:52:41.000000000 +0000 +++ ironic-13.0.1/doc/source/admin/drivers/irmc.rst 2019-10-10 15:51:15.000000000 +0000 @@ -58,7 +58,7 @@ The default is ``irmc``. .. note:: - `Ironic Inspector `_ + `Ironic Inspector `_ needs to be present and configured to use ``inspector`` as the inspect interface. diff -Nru ironic-13.0.0/doc/source/admin/index.rst ironic-13.0.1/doc/source/admin/index.rst --- ironic-13.0.0/doc/source/admin/index.rst 2019-09-25 08:52:41.000000000 +0000 +++ ironic-13.0.1/doc/source/admin/index.rst 2019-10-10 15:51:15.000000000 +0000 @@ -47,4 +47,4 @@ .. toctree:: :maxdepth: 1 - Dashboard (horizon) plugin + Dashboard (horizon) plugin diff -Nru ironic-13.0.0/doc/source/admin/metrics.rst ironic-13.0.1/doc/source/admin/metrics.rst --- ironic-13.0.0/doc/source/admin/metrics.rst 2019-09-25 08:52:41.000000000 +0000 +++ ironic-13.0.1/doc/source/admin/metrics.rst 2019-10-10 15:51:15.000000000 +0000 @@ -90,7 +90,7 @@ Deployers who use custom HardwareManagers can emit custom metrics for their hardware. For more information on custom HardwareManagers, and emitting metrics from them, please see the -`ironic-python-agent documentation `_. +`ironic-python-agent documentation `_. Adding New Metrics @@ -98,6 +98,6 @@ If you're a developer, and would like to add additional metrics to ironic, please see the `ironic-lib developer documentation -`_ for details on how to use +`_ for details on how to use the metrics library. A release note should also be created each time a metric is changed or removed to alert deployers of the change. diff -Nru ironic-13.0.0/doc/source/admin/node-deployment.rst ironic-13.0.1/doc/source/admin/node-deployment.rst --- ironic-13.0.0/doc/source/admin/node-deployment.rst 2019-09-25 08:52:41.000000000 +0000 +++ ironic-13.0.1/doc/source/admin/node-deployment.rst 2019-10-10 15:51:15.000000000 +0000 @@ -90,7 +90,7 @@ Each deploy template has a name, which must be a valid trait. Traits can be either standard or custom. Standard traits are listed in the `os_traits -library `_. Custom traits must +library `_. Custom traits must meet the following requirements: * prefixed with ``CUSTOM_`` diff -Nru ironic-13.0.0/doc/source/admin/raid.rst ironic-13.0.1/doc/source/admin/raid.rst --- ironic-13.0.0/doc/source/admin/raid.rst 2019-09-25 08:52:41.000000000 +0000 +++ ironic-13.0.1/doc/source/admin/raid.rst 2019-10-10 15:51:15.000000000 +0000 @@ -393,7 +393,7 @@ functionality offered by IPA ramdisk using stevedore plugins. For more information, see Ironic Python Agent `Hardware Manager`_ documentation. -.. _`Hardware Manager`: https://docs.openstack.org/ironic-python-agent/latest/install/index.html#hardware-managers +.. _`Hardware Manager`: https://docs.openstack.org/ironic-python-agent/train/install/index.html#hardware-managers The hardware manager that supports RAID configuration should do the following: diff -Nru ironic-13.0.0/doc/source/admin/security.rst ironic-13.0.1/doc/source/admin/security.rst --- ironic-13.0.0/doc/source/admin/security.rst 2019-09-25 08:52:41.000000000 +0000 +++ ironic-13.0.1/doc/source/admin/security.rst 2019-10-10 15:51:15.000000000 +0000 @@ -187,7 +187,7 @@ * to disable unauthorized access to these endpoints in the (first) API services group that serves external requests, the following lines should be added to the `policy.yaml file - `_:: + `_:: # Send heartbeats from IPA ramdisk "baremetal:node:ipa_heartbeat": "rule:is_admin" diff -Nru ironic-13.0.0/doc/source/admin/troubleshooting.rst ironic-13.0.1/doc/source/admin/troubleshooting.rst --- ironic-13.0.0/doc/source/admin/troubleshooting.rst 2019-09-25 08:52:41.000000000 +0000 +++ ironic-13.0.1/doc/source/admin/troubleshooting.rst 2019-10-10 15:51:15.000000000 +0000 @@ -143,7 +143,7 @@ The name of the filter that removed the last hosts may give some hints on what exactly was not matched. See `Nova filters documentation - `_ for more + `_ for more details. #. If none of the above helped, check Ironic conductor log carefully to see diff -Nru ironic-13.0.0/doc/source/admin/upgrade-guide.rst ironic-13.0.1/doc/source/admin/upgrade-guide.rst --- ironic-13.0.0/doc/source/admin/upgrade-guide.rst 2019-09-25 08:52:41.000000000 +0000 +++ ironic-13.0.1/doc/source/admin/upgrade-guide.rst 2019-10-10 15:51:15.000000000 +0000 @@ -381,7 +381,7 @@ the **ironic-discoverd** package. Ironic Liberty supports the **ironic-discoverd** service, but does not support its in-tree client module. Please refer to `ironic-inspector version support matrix -`_ +`_ for details on which ironic versions are compatible with which **ironic-inspector**/**ironic-discoverd** versions. @@ -392,7 +392,7 @@ * Update the **ironic-inspector** configuration file to stop using deprecated configuration options, as marked by the comments in the `example.conf - `_. + `_. It is recommended you move the configuration file to ``/etc/ironic-inspector/inspector.conf``. diff -Nru ironic-13.0.0/doc/source/admin/upgrade-to-hardware-types.rst ironic-13.0.1/doc/source/admin/upgrade-to-hardware-types.rst --- ironic-13.0.0/doc/source/admin/upgrade-to-hardware-types.rst 2019-09-25 08:52:41.000000000 +0000 +++ ironic-13.0.1/doc/source/admin/upgrade-to-hardware-types.rst 2019-10-10 15:51:15.000000000 +0000 @@ -218,7 +218,7 @@ the ramdisk (more specifically, a `hardware manager`_ used in it), not on the driver. -.. _hardware manager: https://docs.openstack.org/ironic-python-agent/latest/contributor/hardware_managers.html +.. _hardware manager: https://docs.openstack.org/ironic-python-agent/train/contributor/hardware_managers.html Network and storage ~~~~~~~~~~~~~~~~~~~ diff -Nru ironic-13.0.0/doc/source/contributor/code-contribution-guide.rst ironic-13.0.1/doc/source/contributor/code-contribution-guide.rst --- ironic-13.0.0/doc/source/contributor/code-contribution-guide.rst 2019-09-25 08:52:41.000000000 +0000 +++ ironic-13.0.1/doc/source/contributor/code-contribution-guide.rst 2019-10-10 15:51:15.000000000 +0000 @@ -48,12 +48,12 @@ .. seealso:: - * https://docs.openstack.org/bifrost/latest/ - * https://docs.openstack.org/ironic-inspector/latest/ - * https://docs.openstack.org/ironic-lib/latest/ - * https://docs.openstack.org/ironic-python-agent/latest/ - * https://docs.openstack.org/python-ironicclient/latest/ - * https://docs.openstack.org/python-ironic-inspector-client/latest/ + * https://docs.openstack.org/bifrost/train/ + * https://docs.openstack.org/ironic-inspector/train/ + * https://docs.openstack.org/ironic-lib/train/ + * https://docs.openstack.org/ironic-python-agent/train/ + * https://docs.openstack.org/python-ironicclient/train/ + * https://docs.openstack.org/python-ironic-inspector-client/train/ Project Hosting Details ----------------------- diff -Nru ironic-13.0.0/doc/source/contributor/dev-quickstart.rst ironic-13.0.1/doc/source/contributor/dev-quickstart.rst --- ironic-13.0.0/doc/source/contributor/dev-quickstart.rst 2019-09-25 08:52:41.000000000 +0000 +++ ironic-13.0.1/doc/source/contributor/dev-quickstart.rst 2019-10-10 15:51:15.000000000 +0000 @@ -132,7 +132,7 @@ tox -e debug test_file_name.TestClass.test_name For more information see the `oslotest documentation -`_. +`_. Database Setup -------------- diff -Nru ironic-13.0.0/doc/source/contributor/faq.rst ironic-13.0.1/doc/source/contributor/faq.rst --- ironic-13.0.0/doc/source/contributor/faq.rst 2019-09-25 08:52:41.000000000 +0000 +++ ironic-13.0.1/doc/source/contributor/faq.rst 2019-10-10 15:51:15.000000000 +0000 @@ -138,5 +138,5 @@ ----------------------------------------------------------------- For more information, see the -`oslo.reports documentation `_ +`oslo.reports documentation `_ page. diff -Nru ironic-13.0.0/doc/source/contributor/notifications.rst ironic-13.0.1/doc/source/contributor/notifications.rst --- ironic-13.0.0/doc/source/contributor/notifications.rst 2019-09-25 08:52:41.000000000 +0000 +++ ironic-13.0.1/doc/source/contributor/notifications.rst 2019-10-10 15:51:15.000000000 +0000 @@ -149,5 +149,5 @@ "publisher_id":"ironic-conductor.hostname01" } -.. [1] https://docs.openstack.org/oslo.messaging/latest/reference/notifier.html -.. [2] https://docs.openstack.org/oslo.versionedobjects/latest/ +.. [1] https://docs.openstack.org/oslo.messaging/train/reference/notifier.html +.. [2] https://docs.openstack.org/oslo.versionedobjects/train/ diff -Nru ironic-13.0.0/doc/source/contributor/osprofiler-support.rst ironic-13.0.1/doc/source/contributor/osprofiler-support.rst --- ironic-13.0.0/doc/source/contributor/osprofiler-support.rst 2019-09-25 08:52:41.000000000 +0000 +++ ironic-13.0.1/doc/source/contributor/osprofiler-support.rst 2019-10-10 15:51:15.000000000 +0000 @@ -120,4 +120,4 @@ - `OSProfiler – Cross-project profiling library`_ - :ref:`deploy_devstack` -.. _OSProfiler – Cross-project profiling library: https://docs.openstack.org/osprofiler/latest/index.html +.. _OSProfiler – Cross-project profiling library: https://docs.openstack.org/osprofiler/train/index.html diff -Nru ironic-13.0.0/doc/source/contributor/webapi.rst ironic-13.0.1/doc/source/contributor/webapi.rst --- ironic-13.0.0/doc/source/contributor/webapi.rst 2019-09-25 08:52:41.000000000 +0000 +++ ironic-13.0.1/doc/source/contributor/webapi.rst 2019-10-10 15:51:15.000000000 +0000 @@ -47,7 +47,7 @@ microversion, which always requests the newest supported API version from the server. -.. _Nova versioning documentation: https://docs.openstack.org/nova/latest/contributor/microversions.html#when-do-i-need-a-new-microversion +.. _Nova versioning documentation: https://docs.openstack.org/nova/train/contributor/microversions.html#when-do-i-need-a-new-microversion REST API Versions History ------------------------- diff -Nru ironic-13.0.0/doc/source/install/configdrive.rst ironic-13.0.1/doc/source/install/configdrive.rst --- ironic-13.0.0/doc/source/install/configdrive.rst 2019-09-25 08:52:41.000000000 +0000 +++ ironic-13.0.1/doc/source/install/configdrive.rst 2019-10-10 15:51:15.000000000 +0000 @@ -47,7 +47,7 @@ For the format of the configuration drive, Bare Metal service expects a ``gzipped`` and ``base64`` encoded ISO 9660 [#]_ file with a ``config-2`` label. The `openstack baremetal client -`_ +`_ can generate a configuration drive in the `expected format`_. Just pass a directory path containing the files that will be injected into it via the ``--config-drive`` parameter of the ``openstack baremetal node deploy`` diff -Nru ironic-13.0.0/doc/source/install/configure-glance-swift.rst ironic-13.0.1/doc/source/install/configure-glance-swift.rst --- ironic-13.0.0/doc/source/install/configure-glance-swift.rst 2019-09-25 08:52:41.000000000 +0000 +++ ironic-13.0.1/doc/source/install/configure-glance-swift.rst 2019-10-10 15:51:15.000000000 +0000 @@ -74,4 +74,4 @@ #. (Re)start the ironic-conductor service. -.. _swift: https://docs.openstack.org/swift/latest/ +.. _swift: https://docs.openstack.org/swift/train/ diff -Nru ironic-13.0.0/doc/source/install/configure-identity.rst ironic-13.0.1/doc/source/install/configure-identity.rst --- ironic-13.0.0/doc/source/install/configure-identity.rst 2019-09-25 08:52:41.000000000 +0000 +++ ironic-13.0.1/doc/source/install/configure-identity.rst 2019-10-10 15:51:15.000000000 +0000 @@ -78,6 +78,6 @@ file, which enumerates the service's default policies, is provided for your convenience with the Bare Metal Service. -.. _Identity: https://docs.openstack.org/keystone/latest/admin/cli-manage-projects-users-and-roles.html -.. _`command-line client`: https://docs.openstack.org/python-openstackclient/latest/cli/authentication.html -.. _here: https://docs.openstack.org/keystone/latest/admin/identity-concepts.html#user-management +.. _Identity: https://docs.openstack.org/keystone/train/admin/cli-manage-projects-users-and-roles.html +.. _`command-line client`: https://docs.openstack.org/python-openstackclient/train/cli/authentication.html +.. _here: https://docs.openstack.org/keystone/train/admin/identity-concepts.html#user-management diff -Nru ironic-13.0.0/doc/source/install/configure-networking.rst ironic-13.0.1/doc/source/install/configure-networking.rst --- ironic-13.0.0/doc/source/install/configure-networking.rst 2019-09-25 08:52:41.000000000 +0000 +++ ironic-13.0.1/doc/source/install/configure-networking.rst 2019-10-10 15:51:15.000000000 +0000 @@ -12,10 +12,10 @@ proper integration with the Networking service. Documentation regarding installation and configuration of the baremetal mechanism driver and L2 agent is available `here -`_. +`_. For use with `routed networks -`_ +`_ the baremetal ML2 components are required. .. Note:: When the baremetal ML2 components are *not* used, ports in the diff -Nru ironic-13.0.0/doc/source/install/configure-nova-flavors.rst ironic-13.0.1/doc/source/install/configure-nova-flavors.rst --- ironic-13.0.0/doc/source/install/configure-nova-flavors.rst 2019-09-25 08:52:41.000000000 +0000 +++ ironic-13.0.1/doc/source/install/configure-nova-flavors.rst 2019-10-10 15:51:15.000000000 +0000 @@ -31,7 +31,7 @@ .. note:: You can add ``--id `` to specify an ID for the flavor. See the `docs on this command -`_ +`_ for other options that may be specified. After creation, associate each flavor with one custom resource class. The name diff -Nru ironic-13.0.0/doc/source/install/configure-tenant-networks.rst ironic-13.0.1/doc/source/install/configure-tenant-networks.rst --- ironic-13.0.0/doc/source/install/configure-tenant-networks.rst 2019-09-25 08:52:41.000000000 +0000 +++ ironic-13.0.1/doc/source/install/configure-tenant-networks.rst 2019-10-10 15:51:15.000000000 +0000 @@ -135,7 +135,7 @@ #. Install and configure a compatible ML2 mechanism driver which supports bare metal provisioning for your switch. See `ML2 plugin configuration manual - `_ + `_ for details. #. Restart the ironic-conductor and ironic-api services after the diff -Nru ironic-13.0.0/doc/source/install/deploy-ramdisk.rst ironic-13.0.1/doc/source/install/deploy-ramdisk.rst --- ironic-13.0.0/doc/source/install/deploy-ramdisk.rst 2019-09-25 08:52:41.000000000 +0000 +++ ironic-13.0.1/doc/source/install/deploy-ramdisk.rst 2019-10-10 15:51:15.000000000 +0000 @@ -8,7 +8,7 @@ .. TODO(dtantsur): a link to DIB ramdisks once we finally build them -.. _ironic-python-agent: https://docs.openstack.org/ironic-python-agent/latest/ +.. _ironic-python-agent: https://docs.openstack.org/ironic-python-agent/train/ Building from source -------------------- diff -Nru ironic-13.0.0/doc/source/install/enabling-drivers.rst ironic-13.0.1/doc/source/install/enabling-drivers.rst --- ironic-13.0.0/doc/source/install/enabling-drivers.rst 2019-09-25 08:52:41.000000000 +0000 +++ ironic-13.0.1/doc/source/install/enabling-drivers.rst 2019-10-10 15:51:15.000000000 +0000 @@ -292,4 +292,4 @@ provide an explicit value for this interface when creating a node. .. _setup.cfg: https://opendev.org/openstack/ironic/src/branch/master/setup.cfg -.. _ironic-inspector: https://docs.openstack.org/ironic-inspector/latest/ +.. _ironic-inspector: https://docs.openstack.org/ironic-inspector/train/ diff -Nru ironic-13.0.0/doc/source/install/enabling-https.rst ironic-13.0.1/doc/source/install/enabling-https.rst --- ironic-13.0.0/doc/source/install/enabling-https.rst 2019-09-25 08:52:41.000000000 +0000 +++ ironic-13.0.1/doc/source/install/enabling-https.rst 2019-10-10 15:51:15.000000000 +0000 @@ -19,7 +19,7 @@ `_ * `Using native SSL support in swift - `_ + `_ (recommended only for testing purpose by swift). .. _EnableHTTPSinGlance: @@ -32,7 +32,7 @@ It can be enabled by making the following changes to ``/etc/glance/glance-api.conf``: #. `Configuring SSL support - `_ + `_ #. Restart the glance-api service:: @@ -42,7 +42,7 @@ Debian/Ubuntu: sudo service glance-api restart -See the `Glance `_ documentation, +See the `Glance `_ documentation, for more details on the Image service. Enabling HTTPS communication between Image service and Object storage @@ -56,7 +56,7 @@ #. :ref:`EnableHTTPSinSwift` #. `Configure Swift Storage Backend - `_ + `_ #. :ref:`EnableHTTPSinGlance` diff -Nru ironic-13.0.0/doc/source/install/enrollment.rst ironic-13.0.1/doc/source/install/enrollment.rst --- ironic-13.0.0/doc/source/install/enrollment.rst 2019-09-25 08:52:41.000000000 +0000 +++ ironic-13.0.1/doc/source/install/enrollment.rst 2019-10-10 15:51:15.000000000 +0000 @@ -476,7 +476,7 @@ For more details on the Bare Metal service's state machine, see the :doc:`/contributor/states` documentation. -.. _ComputeCapabilitiesFilter: https://docs.openstack.org/nova/latest/user/filter-scheduler.html +.. _ComputeCapabilitiesFilter: https://docs.openstack.org/nova/train/user/filter-scheduler.html Mapping nodes to Compute cells ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ diff -Nru ironic-13.0.0/doc/source/install/get_started.rst ironic-13.0.1/doc/source/install/get_started.rst --- ironic-13.0.0/doc/source/install/get_started.rst 2019-09-25 08:52:41.000000000 +0000 +++ ironic-13.0.1/doc/source/install/get_started.rst 2019-10-10 15:51:15.000000000 +0000 @@ -140,10 +140,10 @@ .. _remote procedure call (RPC): https://en.wikipedia.org/wiki/Remote_procedure_call .. _WSGI: https://en.wikipedia.org/wiki/Web_Server_Gateway_Interface -.. _oslo.messaging: https://docs.openstack.org/oslo.messaging/latest/ -.. _python-ironicclient: https://docs.openstack.org/python-ironicclient/latest/ -.. _ironic-ui: https://docs.openstack.org/ironic-ui/latest/ -.. _ironic-inspector: https://docs.openstack.org/ironic-inspector/latest/ +.. _oslo.messaging: https://docs.openstack.org/oslo.messaging/train/ +.. _python-ironicclient: https://docs.openstack.org/python-ironicclient/train/ +.. _ironic-ui: https://docs.openstack.org/ironic-ui/train/ +.. _ironic-inspector: https://docs.openstack.org/ironic-inspector/train/ .. _diskimage-builder: https://docs.openstack.org/diskimage-builder/latest/ -.. _bifrost: https://docs.openstack.org/bifrost/latest/ +.. _bifrost: https://docs.openstack.org/bifrost/train/ diff -Nru ironic-13.0.0/doc/source/install/index.rst ironic-13.0.1/doc/source/install/index.rst --- ironic-13.0.0/doc/source/install/index.rst 2019-09-25 08:52:41.000000000 +0000 +++ ironic-13.0.1/doc/source/install/index.rst 2019-10-10 15:51:15.000000000 +0000 @@ -6,7 +6,7 @@ manage and provision physical machines. This chapter assumes a working setup of OpenStack following the -`OpenStack Installation Guides `_. +`OpenStack Installation Guides `_. It contains the following sections: .. toctree:: diff -Nru ironic-13.0.0/doc/source/install/refarch/small-cloud-trusted-tenants.rst ironic-13.0.1/doc/source/install/refarch/small-cloud-trusted-tenants.rst --- ironic-13.0.0/doc/source/install/refarch/small-cloud-trusted-tenants.rst 2019-09-25 08:52:41.000000000 +0000 +++ ironic-13.0.1/doc/source/install/refarch/small-cloud-trusted-tenants.rst 2019-10-10 15:51:15.000000000 +0000 @@ -237,12 +237,12 @@ network*. See :doc:`/admin/boot-from-volume` for more details. .. _an OpenStack installation: https://docs.openstack.org/arch-design/use-cases/use-case-general-compute.html -.. _Compute service: https://docs.openstack.org/nova/latest/ -.. _Networking service: https://docs.openstack.org/neutron/latest/ -.. _Image service: https://docs.openstack.org/glance/latest/ -.. _Volume service: https://docs.openstack.org/cinder/latest/ -.. _Bare Metal Introspection service: https://docs.openstack.org/ironic-inspector/latest/ +.. _Compute service: https://docs.openstack.org/nova/train/ +.. _Networking service: https://docs.openstack.org/neutron/train/ +.. _Image service: https://docs.openstack.org/glance/train/ +.. _Volume service: https://docs.openstack.org/cinder/train/ +.. _Bare Metal Introspection service: https://docs.openstack.org/ironic-inspector/train/ .. _control plane design guide: https://docs.openstack.org/arch-design/design-control-plane.html -.. _networking-baremetal: https://docs.openstack.org/networking-baremetal/latest/ -.. _ironic-neutron-agent: https://docs.openstack.org/networking-baremetal/latest/install/index.html#configure-ironic-neutron-agent +.. _networking-baremetal: https://docs.openstack.org/networking-baremetal/train/ +.. _ironic-neutron-agent: https://docs.openstack.org/networking-baremetal/train/install/index.html#configure-ironic-neutron-agent .. _iSCSI: https://en.wikipedia.org/wiki/ISCSI diff -Nru ironic-13.0.0/doc/source/install/standalone.rst ironic-13.0.1/doc/source/install/standalone.rst --- ironic-13.0.0/doc/source/install/standalone.rst 2019-09-25 08:52:41.000000000 +0000 +++ ironic-13.0.1/doc/source/install/standalone.rst 2019-10-10 15:51:15.000000000 +0000 @@ -61,7 +61,7 @@ Steps to start a deployment are pretty similar to those when using Compute: #. To use the `openstack baremetal CLI - `_, + `_, set up these environment variables. Since no authentication strategy is being used, the value none must be set for OS_AUTH_TYPE. OS_ENDPOINT is the URL of the ironic-api process. diff -Nru ironic-13.0.0/doc/source/install/troubleshooting.rst ironic-13.0.1/doc/source/install/troubleshooting.rst --- ironic-13.0.0/doc/source/install/troubleshooting.rst 2019-09-25 08:52:41.000000000 +0000 +++ ironic-13.0.1/doc/source/install/troubleshooting.rst 2019-10-10 15:51:15.000000000 +0000 @@ -131,4 +131,4 @@ $ openstack baremetal node maintenance unset $NODE_UUID -.. _ironic-python-agent: https://docs.openstack.org/ironic-python-agent/latest/ +.. _ironic-python-agent: https://docs.openstack.org/ironic-python-agent/train/ diff -Nru ironic-13.0.0/ironic/conductor/task_manager.py ironic-13.0.1/ironic/conductor/task_manager.py --- ironic-13.0.0/ironic/conductor/task_manager.py 2019-09-25 08:52:41.000000000 +0000 +++ ironic-13.0.1/ironic/conductor/task_manager.py 2019-10-10 15:51:10.000000000 +0000 @@ -486,12 +486,20 @@ # publish the state transition by saving the Node self.node.save() - LOG.info('Node %(node)s moved to provision state "%(state)s" from ' - 'state "%(previous)s"; target provision state is ' - '"%(target)s"', - {'node': self.node.uuid, 'state': self.node.provision_state, - 'target': self.node.target_provision_state, - 'previous': self._prev_provision_state}) + + log_message = ('Node %(node)s moved to provision state "%(state)s" ' + 'from state "%(previous)s"; target provision state is ' + '"%(target)s"' % + {'node': self.node.uuid, + 'state': self.node.provision_state, + 'target': self.node.target_provision_state, + 'previous': self._prev_provision_state}) + + if (self.node.provision_state.endswith('failed') or + self.node.provision_state == 'error'): + LOG.error(log_message) + else: + LOG.info(log_message) if callback is None: self._notify_provision_state_change() diff -Nru ironic-13.0.0/ironic/drivers/modules/drac/raid.py ironic-13.0.1/ironic/drivers/modules/drac/raid.py --- ironic-13.0.0/ironic/drivers/modules/drac/raid.py 2019-09-25 08:52:41.000000000 +0000 +++ ironic-13.0.1/ironic/drivers/modules/drac/raid.py 2019-10-10 15:51:10.000000000 +0000 @@ -788,6 +788,10 @@ if 'raid_config_job_ids' not in driver_internal_info: driver_internal_info['raid_config_job_ids'] = [] + # remove controller which does not require configuration job + controllers = [controller for controller in controllers + if controller['is_commit_required']] + all_realtime = True optional = drac_constants.RebootRequired.optional for controller in controllers: @@ -798,7 +802,6 @@ # controller without real time support. In that case the reboot # is triggered when the configuration is committed to the last # controller. - realtime = controller['is_reboot_required'] == optional all_realtime = all_realtime and realtime if controller == controllers[-1]: @@ -960,6 +963,8 @@ controller['raid_controller'] = logical_disk['controller'] controller['is_reboot_required'] = controller_cap[ 'is_reboot_required'] + controller['is_commit_required'] = controller_cap[ + 'is_commit_required'] if controller not in controllers: controllers.append(controller) @@ -1176,6 +1181,8 @@ controller["raid_controller"] = cntrl.id controller["is_reboot_required"] = controller_cap[ "is_reboot_required"] + controller["is_commit_required"] = controller_cap[ + "is_commit_required"] controllers.append(controller) return controllers diff -Nru ironic-13.0.0/ironic/tests/unit/drivers/modules/drac/test_raid.py ironic-13.0.1/ironic/tests/unit/drivers/modules/drac/test_raid.py --- ironic-13.0.0/ironic/tests/unit/drivers/modules/drac/test_raid.py 2019-09-25 08:52:41.000000000 +0000 +++ ironic-13.0.1/ironic/tests/unit/drivers/modules/drac/test_raid.py 2019-10-10 15:51:10.000000000 +0000 @@ -323,6 +323,50 @@ exception.DracOperationError, drac_raid.commit_config, self.node, 'controller1') + @mock.patch.object(drac_raid, 'commit_config', spec_set=True, + autospec=True) + def test__commit_to_controllers_with_config_job(self, mock_commit_config, + mock_get_drac_client): + controllers = [{'is_reboot_required': 'true', + 'is_commit_required': True, + 'raid_controller': 'AHCI.Slot.3-1'}] + substep = "delete_foreign_config" + + mock_client = mock.Mock() + mock_get_drac_client.return_value = mock_client + mock_commit_config.return_value = "42" + drac_raid._commit_to_controllers(self.node, + controllers=controllers, + substep=substep) + + self.assertEqual(1, mock_commit_config.call_count) + self.assertEqual(['42'], + self.node.driver_internal_info['raid_config_job_ids']) + self.assertEqual(substep, + self.node.driver_internal_info['raid_config_substep']) + + @mock.patch.object(drac_raid, 'commit_config', spec_set=True, + autospec=True) + def test__commit_to_controllers_without_config_job( + self, mock_commit_config, mock_get_drac_client): + controllers = [{'is_reboot_required': 'true', + 'is_commit_required': False, + 'raid_controller': 'AHCI.Slot.3-1'}] + substep = "delete_foreign_config" + + mock_client = mock.Mock() + mock_get_drac_client.return_value = mock_client + mock_commit_config.return_value = None + drac_raid._commit_to_controllers(self.node, + controllers=controllers, + substep=substep) + + self.assertEqual(0, mock_commit_config.call_count) + self.assertEqual([], + self.node.driver_internal_info['raid_config_job_ids']) + self.assertEqual(substep, + self.node.driver_internal_info['raid_config_substep']) + def test_abandon_config(self, mock_get_drac_client): mock_client = mock.Mock() mock_get_drac_client.return_value = mock_client diff -Nru ironic-13.0.0/ironic.egg-info/pbr.json ironic-13.0.1/ironic.egg-info/pbr.json --- ironic-13.0.0/ironic.egg-info/pbr.json 2019-09-25 08:54:01.000000000 +0000 +++ ironic-13.0.1/ironic.egg-info/pbr.json 2019-10-10 15:52:41.000000000 +0000 @@ -1 +1 @@ -{"git_version": "ac55c642e", "is_release": true} \ No newline at end of file +{"git_version": "8ecae41ee", "is_release": true} \ No newline at end of file diff -Nru ironic-13.0.0/ironic.egg-info/PKG-INFO ironic-13.0.1/ironic.egg-info/PKG-INFO --- ironic-13.0.0/ironic.egg-info/PKG-INFO 2019-09-25 08:54:01.000000000 +0000 +++ ironic-13.0.1/ironic.egg-info/PKG-INFO 2019-10-10 15:52:41.000000000 +0000 @@ -1,6 +1,6 @@ Metadata-Version: 1.1 Name: ironic -Version: 13.0.0 +Version: 13.0.1 Summary: OpenStack Bare Metal Provisioning Home-page: https://docs.openstack.org/ironic/latest/ Author: OpenStack diff -Nru ironic-13.0.0/ironic.egg-info/SOURCES.txt ironic-13.0.1/ironic.egg-info/SOURCES.txt --- ironic-13.0.0/ironic.egg-info/SOURCES.txt 2019-09-25 08:54:01.000000000 +0000 +++ ironic-13.0.1/ironic.egg-info/SOURCES.txt 2019-10-10 15:52:41.000000000 +0000 @@ -1136,6 +1136,7 @@ releasenotes/notes/fix-clean-steps-not-running-0d065cb022bc0419.yaml releasenotes/notes/fix-cleaning-spawn-error-60b60281f3be51c2.yaml releasenotes/notes/fix-cleaning-with-traits-3a54faa70d594fd0.yaml +releasenotes/notes/fix-commit-to-controller-d26f083ac388a65e.yaml releasenotes/notes/fix-conductor-list-raise-131ac76719b74032.yaml releasenotes/notes/fix-cpu-count-8904a4e1a24456f4.yaml releasenotes/notes/fix-cve-2016-4985-b62abae577025365.yaml diff -Nru ironic-13.0.0/PKG-INFO ironic-13.0.1/PKG-INFO --- ironic-13.0.0/PKG-INFO 2019-09-25 08:54:02.000000000 +0000 +++ ironic-13.0.1/PKG-INFO 2019-10-10 15:52:42.000000000 +0000 @@ -1,6 +1,6 @@ Metadata-Version: 1.1 Name: ironic -Version: 13.0.0 +Version: 13.0.1 Summary: OpenStack Bare Metal Provisioning Home-page: https://docs.openstack.org/ironic/latest/ Author: OpenStack diff -Nru ironic-13.0.0/releasenotes/notes/fix-commit-to-controller-d26f083ac388a65e.yaml ironic-13.0.1/releasenotes/notes/fix-commit-to-controller-d26f083ac388a65e.yaml --- ironic-13.0.0/releasenotes/notes/fix-commit-to-controller-d26f083ac388a65e.yaml 1970-01-01 00:00:00.000000000 +0000 +++ ironic-13.0.1/releasenotes/notes/fix-commit-to-controller-d26f083ac388a65e.yaml 2019-10-10 15:51:10.000000000 +0000 @@ -0,0 +1,8 @@ +fixes: + - | + Fixes a bug in the ``idrac`` hardware type where configuration job + for RAID ``delete_configuration`` cleaning step gets created even + when there are no virtual disks or hotspares/dedicated hotspares + present on any controller. + See bug `2006562 https://storyboard.openstack.org/#!/story/2006562` + for details. diff -Nru ironic-13.0.0/tox.ini ironic-13.0.1/tox.ini --- ironic-13.0.0/tox.ini 2019-09-25 08:52:41.000000000 +0000 +++ ironic-13.0.1/tox.ini 2019-10-10 15:51:15.000000000 +0000 @@ -13,7 +13,7 @@ PYTHONWARNINGS=default::DeprecationWarning TESTS_DIR=./ironic/tests/unit/ deps = - -c{env:UPPER_CONSTRAINTS_FILE:https://releases.openstack.org/constraints/upper/master} + -c{env:UPPER_CONSTRAINTS_FILE:https://releases.openstack.org/constraints/upper/train} -r{toxinidir}/requirements.txt -r{toxinidir}/test-requirements.txt commands = @@ -82,7 +82,7 @@ [testenv:docs] basepython = python3 deps = - -c{env:UPPER_CONSTRAINTS_FILE:https://releases.openstack.org/constraints/upper/master} + -c{env:UPPER_CONSTRAINTS_FILE:https://releases.openstack.org/constraints/upper/train} -r{toxinidir}/requirements.txt -r{toxinidir}/doc/requirements.txt -r{toxinidir}/driver-requirements.txt @@ -100,7 +100,7 @@ [testenv:api-ref] basepython = python3 deps = - -c{env:UPPER_CONSTRAINTS_FILE:https://releases.openstack.org/constraints/upper/master} + -c{env:UPPER_CONSTRAINTS_FILE:https://releases.openstack.org/constraints/upper/train} -r{toxinidir}/requirements.txt -r{toxinidir}/doc/requirements.txt whitelist_externals = bash @@ -111,7 +111,7 @@ [testenv:releasenotes] basepython = python3 deps = - -c{env:UPPER_CONSTRAINTS_FILE:https://releases.openstack.org/constraints/upper/master} + -c{env:UPPER_CONSTRAINTS_FILE:https://releases.openstack.org/constraints/upper/train} -r{toxinidir}/requirements.txt -r{toxinidir}/doc/requirements.txt commands = @@ -121,7 +121,7 @@ basepython = python3 setenv = PYTHONHASHSEED=0 deps = - -c{env:UPPER_CONSTRAINTS_FILE:https://releases.openstack.org/constraints/upper/master} + -c{env:UPPER_CONSTRAINTS_FILE:https://releases.openstack.org/constraints/upper/train} -r{toxinidir}/test-requirements.txt -r{toxinidir}/doc/requirements.txt commands = {posargs}