Release-announce
Threads by month
- ----- 2025 -----
- June
- May
- April
- March
- February
- January
- ----- 2024 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2023 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2022 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2021 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2020 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2019 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2018 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2017 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2016 -----
- December
- November
August 2017
- 2 participants
- 299 discussions
We joyfully announce the release of:
sahara-image-elements 5.0.2: Image elements for Sahara
This release is part of the newton stable release series.
Download the package from:
https://tarballs.openstack.org/sahara-image-elements/
For more details, please see below.
Changes in sahara-image-elements 5.0.1..5.0.2
---------------------------------------------
04ac8d8 Change default link for Hadoop native libs
049c2e8 mapr: fix the discovery of the version of Scala
a3833dc Get files from tarballs.o.o if possible (extjs, policy)
873d442 Use upper-constraints.txt also in stable/newton
a5f23ee Fix: DIB_RELEASE is not defined on CentOS
7790e81 dib-lint: adapt the value of ELEMENTS_DIR
Diffstat (except docs and test files)
-------------------------------------
diskimage-create/diskimage-create.sh | 2 +-
elements/extjs/README.rst | 2 +-
elements/extjs/install.d/80-install-extjs | 2 +-
elements/extjs/root.d/50-download-extjs | 2 +-
elements/hadoop-mapr/README.rst | 5 +++++
elements/hadoop-mapr/install.d/41-scala | 8 +++++---
elements/kdc/README.rst | 2 +-
elements/kdc/pre-install.d/76-unlimited-security-artifacts | 2 +-
tox.ini | 4 +++-
9 files changed, 19 insertions(+), 10 deletions(-)
1
0
We are amped to announce the release of:
sahara-dashboard 5.0.2: Sahara Management Dashboard
This release is part of the newton stable release series.
Download the package from:
https://tarballs.openstack.org/sahara-dashboard/
For more details, please see below.
Changes in sahara-dashboard 5.0.1..5.0.2
----------------------------------------
fed6bed Check for volumev2 and volumev3 too
c94e6c0 Reuse testenv env variables in py27/py34 envs
238e8bd Fix JS syntax error in variable declaration
42db19a Add Constraints support
Diffstat (except docs and test files)
-------------------------------------
.../nodegroup_templates/workflows/create.py | 5 +-
.../js/data_processing.job_launching.js | 2 +-
tools/install_venv.py | 9 ++-
tools/pip_install.sh | 66 -----------------
tools/tox_install.sh | 85 ++++++++++++++++++++++
tools/with_venv.sh | 3 +
tox.ini | 13 +++-
8 files changed, 120 insertions(+), 111 deletions(-)
1
0
We are chuffed to announce the release of:
sahara-extra 5.0.2: Extras for Sahara: hadoop-swiftfs
This release is part of the newton stable release series.
Download the package from:
https://tarballs.openstack.org/sahara-extra/
For more details, please see below.
Changes in sahara-extra 5.0.0.0rc1..5.0.2
-----------------------------------------
fc147fe Update .gitreview for stable/newton
Diffstat (except docs and test files)
-------------------------------------
.gitreview | 1 +
1 file changed, 1 insertion(+)
1
0
We are ecstatic to announce the release of:
cloudkitty 6.0.0: Rating as a Service component for OpenStack
This release is part of the pike release series.
Download the package from:
https://pypi.python.org/pypi/cloudkitty
For more details, please see below.
Changes in cloudkitty 5.0.0..6.0.0
----------------------------------
5523723 Update the documentation layout and content
cb39503 Update URLs in documents according to document migration
2dc8031 Add WSGI support for `cloudkitty-api'
efb35ee Switch from oslosphinx to openstackdocstheme
1878a30 Update the documentation part about configuring cloudkitty
4734be4 Fix devstack: replace deprecated screen functions
34190c5 Remove usage of parameter enforce_type
32e768c Set access_policy for messaging's dispatcher
9be0827 Refactor to use get_month_start_timestamp directly
e8341dd Updates the installation part of the documentation
2845d74 Fix the gnocchi and gnocchihybrid storage
3f7b399 Add 'rm -f .testrepository/times.dbm' command in testenv
1f21d7b Add the missing configuration when generating cloudkitty.conf
16cd7cf Remove log translations
7909518 Improve the qty digit in sqlalchemy storage
27a50b4 Fixing the gate
6532175 Fix gnocchi metric collection
f936419 Change the cloudkitty logo to use the official project mascot
d28ba97 Assign the resource_type when search resource by gnocchiclient
1847864 Remove unnecessary setUp function in testcase
26d2062 Improve and simplify the gnocchi collector
dd71170 Fix incorrect rating for network.floating
45e2ccf [Fix gate]Update test requirement
052f8ed Delete unused testenv:checkconfig in tox
9e842bb Fix usage of period configuration value
efa7e69 Fix some mistake and format in docs
0117a59 Remove support for py34
8f42a28 Modify the rule name in policy file
5566a2a Update reno for stable/ocata
Diffstat (except docs and test files)
-------------------------------------
HACKING.rst | 5 +-
cloudkitty/api/app.py | 47 +--
cloudkitty/api/app.wsgi | 24 ++
cloudkitty/api/v1/datamodels/rating.py | 3 +-
cloudkitty/api/v1/types.py | 6 +-
cloudkitty/cli/api.py | 32 --
cloudkitty/collector/gnocchi.py | 165 +++--------
cloudkitty/common/config.py | 3 +
cloudkitty/hacking/checks.py | 35 +--
cloudkitty/i18n.py | 4 -
cloudkitty/messaging.py | 5 +-
cloudkitty/orchestrator.py | 35 ++-
cloudkitty/rating/hash/datamodels/service.py | 4 +-
cloudkitty/storage/gnocchi/__init__.py | 6 +-
cloudkitty/storage/gnocchi_hybrid/__init__.py | 7 +-
cloudkitty/storage/gnocchi_hybrid/models.py | 5 +-
.../versions/c703a1bad612_improve_qty_digit.py | 37 +++
cloudkitty/storage/sqlalchemy/models.py | 2 +-
cloudkitty/utils.py | 3 +-
devstack/apache-cloudkitty.template | 15 +
devstack/plugin.sh | 72 ++++-
devstack/settings | 3 +-
etc/apache2/cloudkitty | 39 +++
etc/cloudkitty/policy.json | 2 +-
releasenotes/source/conf.py | 21 +-
releasenotes/source/index.rst | 1 +
releasenotes/source/ocata.rst | 6 +
requirements.txt | 2 +-
setup.cfg | 7 +-
test-requirements.txt | 6 +-
tox.ini | 9 +-
61 files changed, 1434 insertions(+), 1400 deletions(-)
Requirements updates
--------------------
diff --git a/requirements.txt b/requirements.txt
index e9c1af8..c91fbd2 100644
--- a/requirements.txt
+++ b/requirements.txt
@@ -22 +22 @@ oslo.log>=1.14.0 # Apache-2.0
-oslo.messaging>=5.2.0 # Apache-2.0
+oslo.messaging>=5.11.0 # Apache-2.0
diff --git a/test-requirements.txt b/test-requirements.txt
index e38b022..1de1d4e 100644
--- a/test-requirements.txt
+++ b/test-requirements.txt
@@ -6 +6 @@
-hacking>=0.12.0,<0.13 # Apache-2.0
+hacking>=0.12.0,!=0.13.0,<0.14 # Apache-2.0
@@ -15,2 +15,2 @@ mock>=1.2 # BSD
-sphinx!=1.2.0,!=1.3b1,<1.3,>=1.1.2 # BSD
-oslosphinx!=3.4.0,>=2.5.0 # Apache-2.0
+sphinx>=1.6.2 # BSD
+openstackdocstheme>=1.11.0 # Apache-2.0
1
0
We are excited to announce the release of:
cloudkitty-dashboard 6.0.0: CloudKitty Horizon dashboard
This release is part of the pike release series.
Download the package from:
https://pypi.python.org/pypi/cloudkitty-dashboard
For more details, please see below.
Changes in cloudkitty-dashboard 5.0.0..6.0.0
--------------------------------------------
ccb1c38 django.conf.urls.patterns() is deprecated since 1.8
373248e Fix NotImplementedError with horizon
b38d782 [Fix gate]Update test requirement
c4b68d9 Fix oslo_debug_helper not running
Diffstat (except docs and test files)
-------------------------------------
.../dashboards/admin/hashmap/tables.py | 112 ++++++++++++++++++---
.../dashboards/admin/hashmap/urls.py | 6 +-
.../dashboards/admin/modules/tables.py | 20 +++-
.../dashboards/admin/modules/urls.py | 6 +-
.../dashboards/admin/pyscripts/tables.py | 20 +++-
.../dashboards/admin/pyscripts/urls.py | 6 +-
.../dashboards/project/rating/urls.py | 6 +-
.../dashboards/project/reporting/urls.py | 6 +-
cloudkittydashboard/overrides.py | 1 -
requirements.txt | 4 +-
test-requirements.txt | 2 +-
tox.ini | 2 +-
12 files changed, 150 insertions(+), 41 deletions(-)
Requirements updates
--------------------
diff --git a/requirements.txt b/requirements.txt
index a9b7508..148c0c5 100644
--- a/requirements.txt
+++ b/requirements.txt
@@ -4 +4,2 @@
-pbr>=1.6
+
+pbr!= 2.1.0,>=2.0.0
@@ -6,0 +8 @@ python-cloudkittyclient>=0.5.0
+
diff --git a/test-requirements.txt b/test-requirements.txt
index 8859dbe..c3dd1eb 100644
--- a/test-requirements.txt
+++ b/test-requirements.txt
@@ -4 +4 @@
-hacking<0.11,>=0.10.0
+hacking>=0.12.0,!=0.13.0,<0.14 # Apache-2.0
1
0
We high-spiritedly announce the release of:
os-apply-config 7.1.0: Config files from cloud metadata
This release is part of the pike stable release series.
Download the package from:
https://tarballs.openstack.org/os-apply-config/
For more details, please see below.
Changes in os-apply-config 7.0.0..7.1.0
---------------------------------------
c2e15c8 Updated from global requirements
55befd5 Updated from global requirements
3ffb78d Updated from global requirements
Diffstat (except docs and test files)
-------------------------------------
test-requirements.txt | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
Requirements updates
--------------------
diff --git a/test-requirements.txt b/test-requirements.txt
index 34c7d94..17df2c5 100644
--- a/test-requirements.txt
+++ b/test-requirements.txt
@@ -6 +6 @@ hacking!=0.13.0,<0.14,>=0.12.0 # Apache-2.0
-coverage>=4.0 # Apache-2.0
+coverage!=4.4,>=4.0 # Apache-2.0
@@ -10 +10 @@ python-subunit>=0.0.18 # Apache-2.0/BSD
-sphinx>=1.5.1 # BSD
+sphinx>=1.6.2 # BSD
1
0
We are ecstatic to announce the release of:
os-net-config 7.2.0: OpenStack network configuration
This release is part of the pike release series.
The source is available from:
http://git.openstack.org/cgit/openstack/os-net-config
Download the package from:
https://tarballs.openstack.org/os-net-config/
Please report issues through launchpad:
http://bugs.launchpad.net/os-net-config
For more details, please see below.
Changes in os-net-config 7.1.0..7.2.0
-------------------------------------
312a77a OvS 2.7 support - dpdk-devargs needs to provided for DPDK devices
b1255b3 There is no documentation for os-net-config
38e67fc Fix --noop being ignored for dhclient execution
bb3a4bf Fix 'tox -e cover'
Diffstat (except docs and test files)
-------------------------------------
.gitignore | 3 +-
README.rst | 1 -
os_net_config/impl_ifcfg.py | 23 ++++++++++-
os_net_config/utils.py | 19 +++++++++
tox.ini | 2 +-
7 files changed, 148 insertions(+), 10 deletions(-)
1
0
We eagerly announce the release of:
ironic 9.0.0: OpenStack Bare Metal Provisioning
This release is part of the pike stable release series.
The source is available from:
https://git.openstack.org/cgit/openstack/ironic
Download the package from:
https://tarballs.openstack.org/ironic/
Please report issues through launchpad:
https://bugs.launchpad.net/ironic
For more details, please see below.
9.0.0
^^^^^
New Features
************
* Adds two new hardware types to support Cisco UCS Servers, "cisco-
ucs-standalone" and "cisco-ucs-managed". "cisco-ucs-standalone"
supports driver interfaces for controlling UCS servers in standalone
mode via either CIMC APIs or via IPMI. "cisco-ucs-managed" is a
superset of "cisco-ucs-standalone" and supports additional driver
interfaces for controlling the UCS server via UCSM.
To support these hardware types the following Ironic driver
interfaces were made available to be configured on a node:
* "node.power_interface" can be set to:
* "cimc" for CIMC API power control (power on/off, reboot, etc.)
* "ucsm" for UCSM API power control (power on/off, reboot, etc.)
* "node.management_interface" can be set to:
* "cimc" for CIMC API management control (setting the boot
device, etc.)
* "ucsm" for UCSM API management control (setting the boot
device, etc.)
* Adds support for generating Guru Meditation Reports
(https://wiki.openstack.org/wiki/GuruMeditationReport) (GMR) for
both ironic-api and ironic-conductor services. GMR provides
debugging information that can be used to obtain an accurate view on
the current state of the system. For example, what threads are
running, what configuration parameters are in effect, and more.
* Adds support to provision an instance in UEFI secure boot for
"irmc- pxe" boot interface.
* Adds support for the Redfish
(https://www.dmtf.org/standards/redfish) standard via a new
"redfish" hardware type. (There is no equivalent "classic" driver
for this.) It uses two new interfaces:
* "redfish" power interface supports all hard and soft power
operations
* "redfish" management interface supports:
* getting and setting the boot device (PXE, disk, CD-ROM or
BIOS)
* making the configured boot device persistent or not
* injecting NMI
* Allows updating hardware interfaces on nodes in the "available"
state.
* New configuration option "[DEFAULT]/ldlinux_32" can be used to set
the location of the "ldlinux.c32" file (from the syslinux package).
The default behavior is to look for it in the following locations:
* "/usr/lib/syslinux/modules/bios/ldlinux.c32"
* "/usr/share/syslinux/ldlinux.c32"
* Adds support for storing the configdrive in Ceph Object Gateway
(http://docs.ceph.com/docs/master/radosgw/) (radosgw) instead of the
OpenStack Object service (swift) using the compatible API.
* Adds support to use the radosgw authentication mechanism that
relies on a user name and a password instead of an authentication
token. The following options must be specified in ironic
configuration file:
* "[swift]/auth_url"
* "[swift]/username"
* "[swift]/password"
* Adds OSProfiler (https://docs.openstack.org/osprofiler/latest/)
support. This cross-project profiling library provides the ability
to trace various OpenStack requests through all OpenStack services
that support it. For more information, see
https://docs.openstack.org/ironic/latest/contributor/osprofiler-
support.html.
* Adds a boolean flag called "force_persistent_boot_device" into a
node's "driver_info" to enable persistent behavior when you set the
boot device during deploy and cleaning operations. This flag will
override a non-persistent behavior in the cleaning and deploy
process. For more information, see
https://bugs.launchpad.net/ironic/+bug/1703945.
* Adds a new hardware type "ilo" for iLO 4 based Proliant Gen 8 and
Gen 9 servers. This hardware type supports virtual media and PXE
based boot using HPE iLO 4 management engine. The following driver
interfaces are supported:
* boot: "ilo-virtual-media" and "ilo-pxe"
* console: "ilo" and "no-console"
* deploy: "iscsi" and "direct"
* inspect: "ilo", "inspector" and "no-inspect"
* management: "ilo"
* network: "flat", "noop" and "neutron"
* power: "ilo"
* raid: "no-raid" and "agent"
* The "ipmi" hardware type now supports "ipmitool" vendor interface
(similar to classic ipmitool drivers).
* Adds new boot interface named "irmc-pxe" for PXE booting FUJITSU
PRIMERGY servers.
* Adds clean step "restore_irmc_bios_config" to restore BIOS config
for a node with an "irmc"-based driver during automatic cleaning.
* Adds support for booting from remote volumes via the "irmc-
virtual- media" boot interface. It enables boot configuration for
iSCSI or FibreChannel via out-of-band network. For details, see the
iRMC driver documentation
(https://docs.openstack.org/ironic/latest/admin/drivers/irmc.html
#boot-from-remote-volume).
* Adds configuration option "[console]terminal_timeout" to allow
setting the time (in seconds) of inactivity, after which a socat-
based console terminates.
* Adds version 1.33 of the REST API, which exposes the
"storage_interface" field of the node resource. This version also
exposes "default_storage_interface" and "enable_storage_interfaces"
fields of the driver resource.
There are 2 available storage interfaces:
* "noop": This interface provides nothing regarding storage.
* "cinder": This interface enables a node to attach and detach
volumes by leveraging cinder API.
A storage interface can be set when creating or updating a node.
Enabled storage interfaces are defined via the
"[DEFAULT]/enabled_storage_interfaces" configuration option. A
default interface for a created node can be specified with
"[DEFAULT]/default_storage_interface" configuration option.
* Adds "storage_interface" field to the node-related notifications:
* "baremetal.node.create.*" (new payload version 1.2)
* "baremetal.node.update.*" (new payload version 1.2)
* "baremetal.node.delete.*" (new payload version 1.2)
* "baremetal.node.maintenance.*" (new payload version 1.4)
* "baremetal.node.console.*" (new payload version 1.4)
* "baremetal.node.power_set.*" (new payload version 1.4)
* "baremetal.node.power_state_corrected.*" (new payload version
1.4)
* "baremetal.node.provision_set.*" (new payload version 1.4)
* The OneView drivers now retain the next boot device in node's
internal info when setting a boot device is requested. It is applied
on the node when it is power cycled.
* Adds a new hardware type "oneview" for HPE OneView supported
servers. This hardware type supports the following driver
interfaces:
* boot: "pxe"
* console: "no-console"
* deploy: "oneview-direct" and "oneview-iscsi" (based on "direct"
and "iscsi" respectively)
* inspect: "oneview" and "no-inspect"
* management: "oneview"
* network: "flat", "neutron" and "no-op"
* power: "oneview"
* raid: "no-raid" and "agent"
* Port group information ("mode" and "properties" fields) is now
passed to Neutron via the port's "binding:profile" field. This
allows an ML2 driver to configure the port bonding automatically.
* Adds a "physical_network" field to the port object in REST API
version 1.34.
This field specifies the name of the physical network to which the
port is connected, and is empty by default. This field may be set
by the operator to allow the Bare Metal service to incorporate
physical network information when attaching virtual interfaces
(VIFs).
The REST API endpoints related to ports provide support for the
"physical_network" field. The multi-tenancy documentation
(https://docs.openstack.org/ironic/latest/admin/multitenancy.html)
provides information on how to configure and use physical networks.
* Adds support for rolling upgrades, starting from upgrading Ocata
to Pike. For details, see
http://docs.openstack.org/ironic/latest/admin /upgrade-guide.html.
* Adds a new hardware type "snmp" for SNMP powered systems. It
supports the following driver interfaces:
* boot: "pxe"
* deploy: "iscsi", "direct"
* power: "snmp"
* management: "fake"
* Adds new configuration option "[console]/socat_address" to set the
binding address for socat-based console. The default is the value of
the "[DEFAULT]my_ip" option of the conductor responsible for the
node.
* Adds support for volume connectors and volume targets with new API
endpoints "/v1/volume/connectors" and "/v1/volume/targets". These
endpoints are available with API version 1.32 or later. These new
resources are used to connect a node to a volume. A volume connector
represents connector information of a node such as an iSCSI
initiator. A volume target provides volume information such as an
iSCSI target. These endpoints are available:
* "GET /v1/volume/connectors" for listing volume connectors
* "POST /v1/volume/connectors" for creating a volume connector
* "GET /v1/volume/connectors/<UUID>" for showing a volume
connector
* "PATCH /v1/volume/connectors/<UUID>" for updating a volume
connector
* "DELETE /v1/volume/connectors/<UUID>" for deleting a volume
connector
* "GET /v1/volume/targets" for listing volume targets
* "POST /v1/volume/targets" for creating a volume target
* "GET /v1/volume/targets/<UUID>" for showing a volume target
* "PATCH /v1/volume/targets/<UUID>" for updating a volume target
* "DELETE /v1/volume/targets/<UUID>" for deleting a volume target
The Volume resources also can be listed as sub resources of nodes:
* "GET /v1/nodes/<node>/volume/connectors"
* "GET /v1/nodes/<node>/volume/targets"
Root endpoints of volume resources are also added. These endpoints
provide links to volume connectors and volume targets:
* "GET /v1/volume"
* "GET /v1/node/<node>/volume"
When a volume connector or a volume target is created, updated, or
deleted, these CRUD notifications can be emitted:
* "baremetal.volumeconnector.create.start"
* "baremetal.volumeconnector.create.end"
* "baremetal.volumeconnector.create.error"
* "baremetal.volumeconnector.update.start"
* "baremetal.volumeconnector.update.end"
* "baremetal.volumeconnector.update.error"
* "baremetal.volumeconnector.delete.start"
* "baremetal.volumeconnector.delete.end"
* "baremetal.volumeconnector.delete.error"
* "baremetal.volumetarget.create.start"
* "baremetal.volumetarget.create.end"
* "baremetal.volumetarget.create.error"
* "baremetal.volumetarget.update.start"
* "baremetal.volumetarget.update.end"
* "baremetal.volumetarget.update.error"
* "baremetal.volumetarget.delete.start"
* "baremetal.volumetarget.delete.end"
* "baremetal.volumetarget.delete.error"
Known Issues
************
* The "restore_irmc_bios_config" clean step does not work for nodes
using the "pxe" boot interface with the "irmc" hardware type. The
"irmc-pxe" boot interface has to be used instead.
Upgrade Notes
*************
* Due to bug 1702158
(https://bugs.launchpad.net/ironic/+bug/1702158) the
"conductor_hardware_interfaces" table could be created with MyISAM
database engine, while all other tables in ironic database are using
InnoDB engine. This could happen during initial installation, or
upgrade to the Ocata release, if the system was using MySQL prior to
version 5.5 or the "default_storage_engine" option was set
explicitly to 'MyISAM' in "my.cnf". If this is the case, the
"conductor_hardware_interfaces" table needs to be manually migrated
to InnoDB, and the foreign key constraint needs to be re- created:
alter table conductor_hardware_interfaces engine='InnoDB';
alter table conductor_hardware_interfaces
add constraint conductor_hardware_interfaces_ibfk_1
foreign key (conductor_id) references conductors(id);
* Changes timestamp part of ramdisk log filename by replacing colon
with dash. The "tar" command does not handle colon properly, and
untar of the file with colon in filename will fail.
* Adds the "[deploy]/object_store_endpoint_type" option to specify
the type of endpoint to use for instance images and configdrive
storage. Allowed values are "swift" or "radosgw". The default is
"swift".
* Moves port creation logic from the API service to the conductor
service. This is more consistent with port update operations and
opens opportunities for conductor-side validations on ports.
However, with this change, port creation may take longer, and this
may limit the number of ports that can be created in parallel.
* The new "ironic-dbsync online_data_migrations" command should be
run after each upgrade to ensure all DB records are converted to the
newest format. It must be run before starting the software as part
of a new upgrade to the next named release. For more information
about this command, see https://docs.openstack.org/ironic/latest/cli
/ironic-dbsync.html.
* The configuration option "[glance]glance_host" is now empty by
default. If neither it nor "[glance]glance_api_servers" are
provided, ironic will now try fetching the Image service endpoint
from the service catalog.
* Adds new configuration option
"[irmc]clean_priority_restore_irmc_bios_config", which enables
setting priority for the "restore_irmc_bios_config" clean step. The
default value for this option is 0, which means the clean step is
disabled.
* Ironic no longer falls back to loading authentication
configuration options for accessing other services from the
"[keystone_authtoken]" section. As a result, the following
configuration sections now must contain proper authentication
options for appropriate services:
* glance
* neutron
* swift
* inspector
* service_catalog
* SSH-based power and management driver interfaces were removed from
ironic. The drivers "pxe_ssh", "agent_ssh" and "fake_ssh" are no
longer available. Operators are required to ensure that these
drivers are not used or enabled (in "[DEFAULT]enabled_drivers"
configuration file option) in their ironic installation before
upgrade.
* Following an upgrade to this release, all ports will have an empty
"physical_network" field. Attachment of Virtual Interfaces (VIFs)
will continue to function as in the previous release until any ports
have their physical network field set.
During a live upgrade to this release, the "physical_network" field
will not be available. It will also not be possible to create ports
which are members of a port group during a live upgrade, as the API
service will be unable to validate the consistency of the request.
* The pre-allocation model for OneView drivers was deprecated in
Newton cycle (Ironic 6.1.0) and all pertaining code was marked for
removal during Pike cycle. From now on, OneView drivers works only
with dynamic allocation model.
* Removes the deprecated DHCP provider method "update_port_address".
For users who created their own network interfaces or DHCP providers
the logic should be moved to a custom network interface's
"port_changed" and "portgroup_changed" methods. The following
methods should be implemented by custom network interfaces:
* "vif_list": List attached VIF IDs for a node.
* "vif_attach": Attach a virtual network interface to a node.
* "vif_detach": Detach a virtual network interface from a node.
* "port_changed": Handle any actions required when a port changes.
* "portgroup_changed": Handle any actions required when a port
group changes.
* "get_current_vif": Return VIF ID attached to port or port group
object.
* The configuration option "[ilo]/clean_priority_erase_devices" was
deprecated in the Newton cycle (6.1.0). It is no longer supported.
Please use the option "[deploy]/erase_devices_priority" instead.
* Changing the "resource_class" field of a node in the "active"
state or any of the transient states is no longer possible. Please
update your scripts to only set a resource class for nodes that are
not deployed to. Setting a resource class for nodes that do not have
it is still possible.
* Due to upcoming changes in the way Nova schedules bare metal
nodes, all nodes in a deployment using Nova have to get the
"resource_class" field populated before the upgrade. See enrollment
documentation
(https://docs.openstack.org/ironic/latest/install/enrollment.html
#enrollment-process) and flavor configuration documentation
(https://docs.openstack.org/ironic/latest/install/configure-nova-
flavors.html#scheduling-based-on-resource-classes) for details.
Once you've migrated your flavors to resource classes, you should
unset the deprecated "use_baremetal_filters" option in the Compute
service configuration. Otherwise you'll be using the filters
incompatible with scheduling based on resource classes.
Deprecation Notes
*****************
* The "[conductor]/configdrive_use_swift" and
"[glance]/temp_url_endpoint_type" options are deprecated and will be
removed in the Queens release. Use
"[deploy]/configdrive_use_object_store" and
"[deploy]/object_store_endpoint_type" respectively instead.
* Support for the "elilo" boot loader has been deprecated and will
be removed in the Queens release cycle. The elilo boot loader has
been orphaned as a project and dropped from the majority of Linux
distributions. Please switch to the "grub2" boot loader.
* Configuration option "[ipmi]/retry_timeout" is deprecated in favor
of these new options:
* "[ipmi]/command_retry_timeout": timeout value to wait for an
IPMI command to complete (be acknowledged by the baremetal node)
* "[conductor]/power_state_change_timeout": timeout value to wait
for a power operation to complete, so that the baremetal node is
in the desired new power state
* The configuration options "[glance]glance_host",
"[glance]glance_port" and "[glance]glance_protocol" are deprecated
in favor of either using "[glance]glance_api_servers" or using the
service catalog.
* The use of the "pxe" boot interface with the "irmc" hardware type
has been deprecated. It is recommended to switch to the new "irmc-
pxe" boot interface as soon as possible.
Security Issues
***************
* OSProfiler (https://docs.openstack.org/osprofiler/latest/) support
requires passing of trace information between various OpenStack
services. This information is securely signed by one of the HMAC
keys, defined in the "ironic.conf" configuration file. To allow
cross-project tracing, the same key should be used for all OpenStack
services.
Bug Fixes
*********
* Fixes netboot with virtual media boot in an environment using
syslinux 5.00 or later, such as Ubuntu 16.04. It was broken by a
change in the location of the "ldlinux.c32" file.
* Fixes database schema that could cause the wrong database engine
to be utilized for the "conductor_hardware_interfaces" table, if the
system is using MySQL prior to version 5.5 or the
"default_storage_engine" option is set explicitly to 'MyISAM' in
"my.cnf". In this case, a table could be created with MyISAM engine,
and the foreign key constraint "conductor_id(conductors.id)" was
ignored. See bug 1702158
(https://bugs.launchpad.net/ironic/+bug/1702158) for details.
* Changes timestamp part of ramdisk log filename by replacing colon
with dash. The "tar" command does not handle colon properly, and
untar of the file with colon in filename will fail.
* Fixes bug 1691808 (https://bugs.launchpad.net/ironic/+bug/1691808)
causing RAID creation/deletion to frequently fail when using the
iDRAC driver due to an *Export Configuration* job running. The fix
requires the "python-dracclient" library of version 1.3.0 or higher.
* Prevents the IPMI driver from needlessly checking status of the
baremetal node if a power change action fails. Additionally, stops
retrying power actions and power status polls on receipt of a non-
retryable error from ipmitool. For more information, see bug 1675529
(https://bugs.launchpad.net/ironic/+bug/1675529)
A new configuration option "[conductor]/power_state_change_timeout"
can be used to specify how many seconds to wait for a baremetal node
to change the power state when a power action is requested.
* Adds the capability for an operator to explicitly define the
permission for created tftpboot folders. This provides the ability
for ironic to be utilized with a restrictive umask, where the tftp
server may not be able to read the file. Introduces a new
configuration option "[pxe]/dir_permission" to specify the
permission for the tftpboot directories to be created with.
* Fix handling of whole disk images with disk identifier 0x00000000.
Instances failed to boot as the identifier in the boot config was
overwritten during config drive creation. See bug 1685093
(https://bugs.launchpad.net/ironic/+bug/1685093)
* When the deletion of a swift temporary object fails because the
object is no longer available in swift, a message is logged. The log
level of this message was changed from "WARNING" to "INFO".
* Fixes a multi-region issue where the region specified in the
configuration file was ignored when getting the Identity service's
(keystone) URL.
* Fixes an issue with the 'noop' network interface where listing the
VIFs for a node fails with a HTTP 500 Internal Server Error.
* Shutdown of conductor process should take less time, as we do not
wait for completion of all periodic tasks.
* "DEBUG"-level logging from the "oslo.messaging" library is no
longer displayed by default.
* Fixes an issue where some internal information for a node was not
being saved to the database. See bug 1679297
(https://bugs.launchpad.net/ironic/+bug/1679297) for details.
* Fixes a bug which caused boot device changes to be persistent in
places where they did not need to be during cleaning and deployment
phases, due to the default behavior of PXE interface forcing a
persistent change. For more information, see bug 1701721
(https://bugs.launchpad.net/ironic/+bug/1701721)
* Raises HTTP 400 "Bad Request" (instead of HTTP 500 "Internal
Server") error on failure to validate "power" or "inspect" interface
parameters before performing a hardware inspection.
* No longer allows changing the "resource_class" field for "active"
nodes if it was already set to a non-empty value. Doing so would
break the Compute scheduler.
* Adds validation of "snmp_outlet" parameter to SNMP driver.
* When returning lists of nodes, port groups, or ports, checks the
sort key to make sure the field is available in the requested API
version. A 406 (Not Acceptable) HTTP status is returned if the field
is not available.
Other Notes
***********
* Adds a configuration section "cinder" and a requirement of cinder
client (python-cinderclient).
* The method "build_instance_info_for_deploy()" from the
"ironic.drivers.modules.agent" module was deprecated in the Ocata
cycle (version 7.0.0). It is no longer available. Please use the
method "build_instance_info_for_deploy()" from the
"ironic.drivers.modules.deploy_utils" module instead.
Changes in ironic 8.0.0..9.0.0
------------------------------
888610f [releasenotes] update irmc's boot-from-volume support
f471601 Add storage interface to enabling-drivers doc
a397a84 Add admin guide for boot from volume
2e52299 iRMC: Add documentation for remote volume boot
72395ad Remove ensure_logs_exist check during upgrade
73ed23c Follow-up to rolling upgrade docs
d85d029 [reno] update
6fa2bfe Documetation for 'ilo' hardware type
20baf69 Update the documentation links - code comments
5ff1e90 Update the documentation links - install guide
61827da Remove translator assignments from i18n
c268b1e Add hardware types to support Cisco UCS Servers
c4d9159 Remove setting custom http_timeout in grenade
45b0949 Upgrade to hardware types: document changing interfaces for active nodes
c7d7f18 Update the resource classes documentation based on recent progress
1e6bf0f [devstack] switch to the latest API version and OSC commands
6525a0d Prevent changes of a resource class for an active node
d39f9af Guide on upgrading to hardware types
70530f9 iRMC: Support volume boot for iRMC virtual media boot interface
519e379 Rolling upgrade procedure documentation
de581d5 Release notes clean up for the next release
7e6ce7e Fix missing print format error
802c86e Secure boot support for irmc-pxe driver
cb2c7c2 Adds hardware type for SNMP powered systems
90d1ac4 Add a guide for Devstack configuration for boot-from-volume
049fd40 Add a flag to always perform persistent boot on PXE interface
a212e58 [tempest] also catch BadRequest in negative tests with physical_network in old API
09adb96 Use more specific asserts in tests
1fc4ad4 [Trivialfix]Fix typos in ironic
4686955 Remove WARNING from pin_release_version's help
3e13158 Update ironic.conf.sample due to non-ironic code
54efd31 Add new dbsync command with first online data migration
c0ce6eb BFV Deploy skip minor logging, logic, and test fixes
b7eec15 Add hardware type for HPE OneView
adcbd32 [doc-migration] Add configuration folder for documentation
05d85dd Add storage interface to api-ref
7317c17 Add API for volume resources to api-ref
d860bcf Disable automated cleaning for single node grenade
ee62bc1 Optimize node locking on heartbeat
7d4a51c Remove file RELEASE-NOTES
e2d82b7 Removed unnecessary setUp() call in unit tests
39e8b37 Adds doc for restore_irmc_bios_config clean step
3d9895c Remove SSH-based driver interfaces and drivers
aaa429d [Tempest] fix negative tests on old API versions
e3ac898 Remove install-guide env which is no longer effective
fb5def4 Address review feedback for ipxe boot file fix
3b7e6ab Change ramdisk log filename template
ea3f62a Remove usage of some of the deprecated methods
9ffc9eb Updated from global requirements
ae5d65c grenade: Use test_with_retry to check if route is up
8302a36 Don't use multicell setup for ironic & increase timeout
b05a6a6 Tempest scenario test for boot-from-volume
e28ba70 Refactor VIFPortIDMixin: factor out common methods
63a852e Add negative attribute to negative port tests
fc1e18e Rolling upgrades support for create_port RPCAPI
e14f963 Fixes hashing issues for py3.5
bc60c21 Generate iPXE boot script on start up
9d161f6 grenade: For multi-node grenade, do not upgrade nova
8a73b34 Changes log level of a message
fe295ff Fix small issues in the installation documentation
8f45317 Removes agent mixin from oneview drivers
82bc942 Fix docstring and default value for local_group_info
1bd81b9 [doc] update ironic's landing page
4463d44 Adding note for ironic virt driver nova-compute changes
7e99dc0 Added a condition for 'ilo' hardware type
947d642 Updated from global requirements
57e8186 py3.5:Workaround fix for forcing virtualbmc installation with pip2
f75ff90 [devstack] add support for running behind tls-proxy
ade71e4 Start passing portgroup information to Neutron
975040b Add tempest tests for physical networks
e003b07 Updated from global requirements
78ff071 Refactor VIFPortIDMixin: rename
e43bd3d Doc for disk erase support in iLO drivers
2c134ac DevStack: Add configuration for boot-from-volume
43fa6fc Refactor get_physnets_by_portgroup_id
7e40306 Rolling upgrades support for port.physical_network
7b8ecae Allow updating interfaces on a node in available state
9fe3300 replace 'interrace' with 'interface'
bfd80a5 Improve port update API unit tests
2e51f95 Improve ports API reference
02fff93 Expose ports' physical network attribute in API
abf6d35 Rename 'remove_unavail_fields' parameter
4657d79 Updated from global requirements
9ad88d0 Add missing parameter descriptions.
daf01d8 Updated from global requirements
2c18f22 Generate iPXE boot script when deploying with boot from volume
ba52e40 Add Driver API change in 1.33 to history
ed3ee45 Update URL home-page in documents according to document migration
c7091fb Using non-persistent boot in PXE interface
8e7d795 Modifications for rolling upgrades
3f345c4 Update comments related to ipmi & old BMCs
578f016 Follow-up to fix for power action failure
7618997 Fix copy/paste error in VIF attach note
0085339 [reno] Clarify fix for inspect validation failures
11c23cb [trivial] Fix argument descriptions
b8f6d35 Remove _ssh drivers from dev-quickstart
f196653 Fix broken links in tempest plugin README
a8a9893 Remove future plan from portgroup document
3773f17 Enable OSProfiler support in Ironic
e3753b3 Revert "Wait until iDRAC is ready before out-of-band cleaning"
1a0c709 Force InnoDB engine on interfaces table
961f046 Add storage interface field to node-related notifications
8e48156 Removed nonexistent option from quickstart snippet
b90f7a1 Enable cinder storage interface for generic hardware
54d5335 Mock random generator for BackoffLoopingCall in IPMI unittests
3bda561 Raise HTTP 400 rather than 500 error
3901e0b Make IP address of socat console configurable
b060877 Set nomulticell flag for starting nova-compute in grenade
b9b8209 Physical network aware VIF attachment
b1b22e8 Update README to point at new doc location
0a4c201 Move ironic dbsync tool docs into doc/source/cli
5647bfc Move doc/source/dev to doc/source/contributor
02015a4 Move operator docs into into doc/source/admin
aeb5306 Move install guide into new doc/source/install location
b720359 Improve graceful shutdown of conductor process
31ac1b7 switch from oslosphinx to openstackdocstheme
ab29dcc Fix quotes in documentation and schema description
3e649a7 Follow-up for bugfix 1694645 patch
c380e05 Add REST API for volume connector and volume target operation
ddcd977 Add node power state validation to volume resource update/deletion
0bf2a4e Make redfish power interface wait for the power state change
7337fef Refactor common keystone methods
e7664a1 Adds clean step 'restore_irmc_bios_config' to iRMC drivers
4db3123 Add CRUD notification objects for volume connector and volume target
b7d3824 Updated from global requirements
ee5d494 Don't retry power status if power action fails
1810051 Fix VIF list for noop network interface
cb7cdd3 Fetch Glance endpoint from Keystone if it's not provided in the configuration
c10bfc9 Replace the usage of 'manager' with 'os_primary'
152a365 Logic for skipping deployment with BFV
6883674 iPXE template support for iSCSI
41c0a31 Move _abort_attach_volumes functionality to detach_volumes
7960fdd Allow to load a subset of object fields from DB
937f380 Unit test consistency: DB base and utils prefix
006e6dd Updated from global requirements
6fcf371 Updated from global requirements
50e1aa1 Remove unnecessary line in docstring
0392256 Validate portgroup physical network consistency
1040005 Wire in storage interface attach/detach operations
35f222c Wait until iDRAC is ready before out-of-band cleaning
6061585 Minor changes to object version-related code
31b35c7 Remove times.dbm prior to test run
e71555a Discover hosts while waiting for hypervisors to show up in devstack
622b3f3 Add docs for node.resource_class and flavor creation
df89b17 Updated from global requirements
9e3f412 Move port object creation to conductor
977c064 Make default_boot_option configurable in devstack
873ff86 Trigger interface attach tests
18f3c48 Follow-up docstring revision
d6e6295 Runs the script configure_vm.py in py3.5
c90bb86 Replace get_transport with get_rpc_transport
ebfc4fe Add version column
dd264ac Add ldlinux.c32 to boot ISO for virtual media
4f9035c Remove legacy auth loading
d115373 Add a note for specifying octal value of permission
fd19407 Improve driver_info/redfish_verify_ca value validation
897e1b6 Updated from global requirements
099e88a Stop sending custom context values over RPC
38586c2 Replace assertTrue(isinstance()) with assertIsInstance()
9c45a28 Change volume metadata not to use nested dicts
20bf354 Add physical network to port data model
892467d Move deploy_utils warnings to conductor start
bf477d6 Remove unused methods from GlanceImageService
d3e7868 [install-guide] explain the defaults calculation for hardware types
daf3083 Improve driver_info/redfish_system_id value validation
7366479 Add guru meditation report support
11c1108 Adds parameters to run CI with hardware types.
85baa49 Fix description for [cinder] action_retries option
bd5b1a7 Deprecate elilo support
a11c373 Updated from global requirements
d3ea000 Update ipmitool installation and usage documentation
b4d8bfa Replace test.attr with decorators.attr
17de9ee Updated from global requirements
a03b5bb Replace test.attr with decorators.attr
f91dc65 remove explicit directions for release notes on current branch
13d91bd Use cfg.URIOpt for URLs with required schemes
7af1da4 Updated from global requirements
ead1496 Remove unneeded lookup policy check
b23a176 Add Cinder storage driver
f428de5 Add ipmitool vendor interface to the ipmi hardware type
8118a18 Replace test.attr with decorators.attr
0f7a85e Fix directories permission for tftpboot
6729fc6 Comment the default values in policy.json.sample
1dc033f Replace deprecated .assertRaisesRegexp()
4768052 Updated from global requirements
24006ba Remove remaining vendor passthru lookup/heartbeat
5dc756e Prevent tests from using utils.execute()
f84bee7 Remove unit tests that test oslo_concurrency.processutils.execute
51bf6b2 Remove single quoted strings in json sample
a8ca351 Refactor install-guide: update node enrollment
10decb8 Refactor install-guide: driver and hardware types configuration
f65ba07 Minor clean up in iLO drivers unit tests
7d59d48 Remove translation of log messages
2a90135 Enable getting volume targets by their volume_id
db0c42a Check if sort key is allowed in API version
20dba3f Updated from global requirements
5777f4a Remove logging translation calls from ironic.common
8fbfc0a [install-guide] add section on Glance+Swift config
703b889 Fix attribute name of cinder volume
950548a Update reno for new ilo hardware type
4c82308 Remove log translations from ironic/drivers Part-1
6518f94 Update developer quickstart doc about required OS version
dd04c35 Add 'iscsi' deploy support for 'ilo' hardware type
b1f2877 Trivial fix typos while reading doc
98dc0dd Fix docstrings in conductor manager
08482d2 [devstack] start virtualpdu using full path
86a190d [Devstack] Increase default NIC numbers for VMs to 2
f86d53d Remove usage of parameter enforce_type
43dccde Properly allow Ironic headers in REST API
40dd9ab Updated from global requirements
c8e3679 DevStack: Install gunicorn and sushy based on g-r constraints
21d89c0 Fix keystone.py 'get_service_url' method parameter
061dfb0 Add functional api tests for node resource class
b856888 Refactor install-guide: integration with other services
ed90bdc Remove references to EOLed version of Ironic from the install guide
9697ae6 DevStack: Setup a Redfish environment
317afc8 Add hardware type for HPE ProLiant servers based on iLO 4
40a50e1 Bring the redfish driver address parameter closer to one of other drivers
fdf6f89 [Grenade]: Do not run ir-api on primary node after upgrade
48950dd Validate outlet index in SNMP driver
6df4974 [Devstack] Rework VMs connection logic
674ddb0 Fix oslo.messaging log level
737cb1d Add context to IronicObject._from_db_object()
17ba9f4 Add release notes for 8.0.0
bbb8d3d [api-ref] remove reference to old lookup/heartbeat
fa6002b Follow-up patch to redfish documentation
c1887a8 [devstack] use the generic function to setup logging
eb6be86 Fix cleaning documents
8369c0f Remove obsolete sentence from comment.
cd10872 TrivialFix: Remove logging import unused
4ba2bb2 Remove translation of log messages from ironic/drivers/modules/irmc
7a2f99b Run db_sync after upgrade
4e6b834 Remove translation of log messages from ironic/drivers/modules/ucs
3e63034 Start enforcing config variables type in tests
4e35dc9 Add documentation for the redfish driver
cbc29a9 Read disk identifier after config drive setup
0a038a6 Add a paragraph about image validation to Install Guide
7bc49c7 Make terminal timeout value configurable
1ff7622 Remove nova mocks from documentation configuration
2b6dcc5 Remove fake_ipmitool_socat driver from the documentation
c211494 Add redfish driver
ab3982e Ensure we install latest libivrt
716e22b Set env variables when all needed files are source
7a78ea1 save_and_reraise_exception() instead of raise
485a331 Follow-up patch of 7f12be1b14e371e269464883cb7dbcb75910e16f
7c265a5 VirtualPDU use libvirt group instead of libvirtd
f641544 Fix unit tests for oslo.config 4.0
e35054c Always set host_id when adding neutron ports
c971cee Add /baremetal path instead of port 6385
1849a81 Add SUSE instructions to the install guide
bd4bd78 Remove pre-allocation model for OneView drivers
1dedfdb Remove log translations from iLO drivers
fbea7b3 Follow-up patch of 565b31424ef4e1441cae022486fa6334a2811d21
e66ca55 Setup logging in unit tests
06e8930 Remove deprecated DHCP provider methods
6196e58 Make config generator aware of 'default_log_levels' override
7cdda47 [Devstack] Fix libvirt group usage
3b5aefa Common cinder interface additional improvements
58b34b0 Config drive support for ceph radosgw
98d2749 Improve error message for deleting node from error state
20815f5 Updated from global requirements
d8438df Add comments re RPC versions being in sync
be93eea Help a user to enable console redirection
7b04918 Fix some reST field lists in docstrings
309228c Avoid double ".img" postfix of image file path in devstack installation
588f2e9 add portgroups in the task_manager docstrings
1ee9111 Remove unneeded exception handling from agent driver
a5fb9ae Updated from global requirements
a232586 Remove translation of log messages from ironic/dhcp and ironic/cmd
dc1f27f Updated from global requirements
09b1fc6 Bypassing upload deploy ramdisk/kernel to glance when deploy iso is given
63ab335 Drop commented import
0616c74 Enforce releasenotes file naming
6ba5abb Remove unused methods in common/paths and common/rpc
474d090 Remove translation of log messages from ironic/api
316151e Fix access to CONF in dhcp_options_for_instance
aa3ebd6 Add string comparison for 'IRONIC_DEPLOY_DRIVER'
b7e96f4 Modify the spelling mistakes Change explictly to explicitly
62c6377 Node should reflect what was saved
7f12be1 Changes 'deploy' and 'boot' interface for 'pxe_ilo' driver
565b314 Use standard deploy interfaces for iscsi_ilo and agent_ilo
9b6ba47 Refactor iLO drivers code to clean 'boot' and 'deploy' operations
459fe31 Add base cinder common interface
d6ccfb0 Remove deprecated method build_instance_info_for_deploy()
603ca46 Remove deprecated [ilo]/clean_priority_erase_devices config
210ec9d [Devstack] cleanup upgrade settings
686901c Fix some api field lists in docstrings
689f2a0 Add tempest plugin API tests for driver
Diffstat (except docs and test files)
-------------------------------------
.gitignore | 3 +-
README.rst | 12 +-
RELEASE-NOTES | 1 -
api-ref/regenerate-samples.sh | 48 +-
.../source/baremetal-api-v1-driver-passthru.inc | 29 +-
api-ref/source/baremetal-api-v1-drivers.inc | 4 +
api-ref/source/baremetal-api-v1-misc.inc | 8 -
.../source/baremetal-api-v1-node-management.inc | 4 +-
api-ref/source/baremetal-api-v1-nodes-ports.inc | 19 +
api-ref/source/baremetal-api-v1-nodes-volume.inc | 140 ++
api-ref/source/baremetal-api-v1-nodes.inc | 14 +-
.../source/baremetal-api-v1-portgroups-ports.inc | 14 +-
api-ref/source/baremetal-api-v1-ports.inc | 71 +-
api-ref/source/baremetal-api-v1-volume.inc | 460 +++++
api-ref/source/index.rst | 2 +
api-ref/source/parameters.yaml | 151 +-
api-ref/source/samples/api-root-response.json | 4 +-
api-ref/source/samples/api-v1-root-response.json | 12 +-
api-ref/source/samples/driver-get-response.json | 4 +
.../driver-logical-disk-properties-response.json | 2 +-
.../samples/driver-passthru-methods-response.json | 10 -
.../samples/drivers-list-detail-response.json | 8 +
api-ref/source/samples/node-create-response.json | 13 +-
.../source/samples/node-port-detail-response.json | 1 +
.../source/samples/node-set-soft-power-off.json | 2 +-
api-ref/source/samples/node-show-response.json | 13 +-
.../samples/node-update-driver-info-response.json | 13 +-
api-ref/source/samples/node-validate-response.json | 3 +
.../samples/node-vendor-passthru-response.json | 9 -
.../node-volume-connector-detail-response.json | 23 +
.../node-volume-connector-list-response.json | 20 +
.../source/samples/node-volume-list-response.json | 32 +
.../node-volume-target-detail-response.json | 25 +
.../samples/node-volume-target-list-response.json | 21 +
.../samples/nodes-list-details-response.json | 26 +-
api-ref/source/samples/port-create-request.json | 3 +-
api-ref/source/samples/port-create-response.json | 1 +
.../source/samples/port-list-detail-response.json | 1 +
api-ref/source/samples/port-update-response.json | 1 +
.../samples/portgroup-port-detail-response.json | 1 +
.../samples/volume-connector-create-request.json | 6 +
.../samples/volume-connector-create-response.json | 19 +
.../volume-connector-list-detail-response.json | 23 +
.../samples/volume-connector-list-response.json | 20 +
.../samples/volume-connector-update-request.json | 7 +
.../samples/volume-connector-update-response.json | 19 +
api-ref/source/samples/volume-list-response.json | 32 +
.../samples/volume-target-create-request.json | 7 +
.../samples/volume-target-create-response.json | 21 +
.../volume-target-list-detail-response.json | 25 +
.../samples/volume-target-list-response.json | 21 +
.../samples/volume-target-update-request.json | 7 +
.../samples/volume-target-update-response.json | 21 +
devstack/files/apache-ironic-api-redirect.template | 21 +
devstack/files/apache-ironic-api.template | 9 +
devstack/files/debs/ironic | 2 +-
devstack/lib/ironic | 626 ++++---
devstack/plugin.sh | 6 +-
devstack/settings | 4 +
devstack/tools/ironic/scripts/configure-vm.py | 7 +-
devstack/tools/ironic/scripts/create-node.sh | 31 +-
devstack/tools/ironic/templates/vm.xml | 8 +-
devstack/upgrade/resources.sh | 4 +-
devstack/upgrade/settings | 36 +-
devstack/upgrade/upgrade.sh | 43 +-
.../contributor/ironic-multitenant-networking.rst | 135 ++
.../install/include/common-prerequisites.rst | 29 +
.../include/configure-ironic-api-mod_wsgi.rst | 72 +
.../install/include/configure-ironic-api.rst | 89 +
.../install/include/configure-ironic-conductor.rst | 176 ++
.../install/include/kernel-boot-parameters.rst | 106 ++
.../include/local-boot-partition-images.rst | 56 +
driver-requirements.txt | 7 +-
etc/ironic/ironic.conf.sample | 585 ++++---
etc/ironic/policy.json.sample | 147 +-
install-guide/source/advanced.rst | 14 -
install-guide/source/conf.py | 301 ----
install-guide/source/configdrive.rst | 116 --
install-guide/source/configure-cleaning.rst | 37 -
install-guide/source/configure-integration.rst | 13 -
install-guide/source/configure-port-groups.rst | 8 -
install-guide/source/configure-tenant-networks.rst | 8 -
install-guide/source/deploy-ramdisk.rst | 98 --
install-guide/source/enabling-https.rst | 89 -
install-guide/source/enrollment.rst | 398 -----
install-guide/source/get_started.rst | 80 -
install-guide/source/include/common-configure.rst | 12 -
.../source/include/common-prerequisites.rst | 29 -
.../source/include/configure-glance-images.rst | 127 --
.../source/include/configure-identity.rst | 93 -
.../include/configure-ironic-api-mod_wsgi.rst | 63 -
.../source/include/configure-ironic-api.rst | 89 -
.../source/include/configure-ironic-conductor.rst | 190 ---
.../source/include/configure-neutron-networks.rst | 111 --
.../source/include/configure-nova-compute.rst | 120 --
.../source/include/configure-nova-flavors.rst | 39 -
.../source/include/kernel-boot-parameters.rst | 69 -
.../source/include/local-boot-partition-images.rst | 59 -
install-guide/source/include/notifications.rst | 16 -
install-guide/source/include/root-device-hints.rst | 93 -
install-guide/source/include/trusted-boot.rst | 71 -
install-guide/source/index.rst | 29 -
install-guide/source/install-obs.rst | 16 -
install-guide/source/install-rdo.rst | 43 -
install-guide/source/install-ubuntu.rst | 31 -
install-guide/source/install.rst | 16 -
install-guide/source/next-steps.rst | 7 -
install-guide/source/setup-drivers.rst | 613 -------
install-guide/source/standalone.rst | 169 --
install-guide/source/troubleshooting.rst | 126 --
ironic/api/app.py | 23 +-
ironic/api/controllers/v1/__init__.py | 17 +-
ironic/api/controllers/v1/driver.py | 20 +-
ironic/api/controllers/v1/node.py | 40 +-
ironic/api/controllers/v1/notification_utils.py | 10 +-
ironic/api/controllers/v1/port.py | 89 +-
ironic/api/controllers/v1/portgroup.py | 2 +
ironic/api/controllers/v1/ramdisk.py | 9 +-
ironic/api/controllers/v1/utils.py | 32 +
ironic/api/controllers/v1/versions.py | 8 +-
ironic/api/controllers/v1/volume.py | 103 ++
ironic/api/controllers/v1/volume_connector.py | 480 ++++++
ironic/api/controllers/v1/volume_target.py | 489 ++++++
ironic/api/hooks.py | 9 +-
ironic/api/middleware/auth_token.py | 9 +-
ironic/api/middleware/parsable_error.py | 4 +-
ironic/cmd/api.py | 7 +
ironic/cmd/conductor.py | 55 +-
ironic/cmd/dbsync.py | 211 ++-
ironic/common/cinder.py | 434 +++++
ironic/common/config.py | 2 +
ironic/common/context.py | 23 +-
ironic/common/driver_factory.py | 31 +-
ironic/common/exception.py | 59 +-
ironic/common/glance_service/base_image_service.py | 143 +-
ironic/common/glance_service/service.py | 36 -
ironic/common/glance_service/service_utils.py | 107 +-
ironic/common/glance_service/v1/image_service.py | 13 -
ironic/common/glance_service/v2/image_service.py | 21 +-
ironic/common/i18n.py | 12 +-
ironic/common/image_service.py | 6 +-
ironic/common/images.py | 35 +-
ironic/common/keystone.py | 125 +-
ironic/common/network.py | 66 +
ironic/common/neutron.py | 216 ++-
ironic/common/paths.py | 50 -
ironic/common/policy.py | 30 +-
ironic/common/profiler.py | 62 +
ironic/common/pxe_utils.py | 38 +-
ironic/common/release_mappings.py | 81 +-
ironic/common/rpc.py | 27 +-
ironic/common/rpc_service.py | 23 +-
ironic/common/service.py | 19 +-
ironic/common/swift.py | 23 +-
ironic/common/utils.py | 81 +-
ironic/conductor/base_manager.py | 19 +
ironic/conductor/manager.py | 168 +-
ironic/conductor/rpcapi.py | 29 +-
ironic/conductor/task_manager.py | 2 +
ironic/conductor/utils.py | 115 ++
ironic/conf/__init__.py | 6 +-
ironic/conf/auth.py | 26 +-
ironic/conf/cinder.py | 50 +
ironic/conf/conductor.py | 16 +-
ironic/conf/console.py | 10 +
ironic/conf/default.py | 30 +-
ironic/conf/deploy.py | 14 +
ironic/conf/glance.py | 25 +-
ironic/conf/ilo.py | 8 -
ironic/conf/ipmi.py | 25 +-
ironic/conf/irmc.py | 3 +
ironic/conf/opts.py | 28 +-
ironic/conf/pxe.py | 12 +
ironic/conf/redfish.py | 35 +
ironic/conf/ssh.py | 38 -
ironic/db/api.py | 48 +
ironic/db/sqlalchemy/alembic/env.py | 2 +-
...cfae_add_conductor_hardware_interfaces_table.py | 4 +-
.../3d86a077a3f2_add_port_physical_network.py | 32 +
...868cb606a74a_add_version_field_in_base_class.py | 50 +
ironic/db/sqlalchemy/api.py | 123 +-
ironic/db/sqlalchemy/migration.py | 4 +-
ironic/db/sqlalchemy/models.py | 9 +-
ironic/dhcp/base.py | 13 -
ironic/dhcp/neutron.py | 47 +-
ironic/dhcp/none.py | 5 -
ironic/drivers/agent.py | 27 -
ironic/drivers/base.py | 98 +-
ironic/drivers/cisco_ucs.py | 55 +
ironic/drivers/fake.py | 13 -
ironic/drivers/generic.py | 7 +
ironic/drivers/ilo.py | 43 +-
ironic/drivers/ipmi.py | 5 +
ironic/drivers/irmc.py | 5 +-
ironic/drivers/modules/agent.py | 85 +-
ironic/drivers/modules/agent_base_vendor.py | 103 +-
ironic/drivers/modules/console_utils.py | 29 +-
ironic/drivers/modules/deploy_utils.py | 205 ++-
ironic/drivers/modules/drac/bios.py | 17 +-
ironic/drivers/modules/drac/common.py | 20 +-
ironic/drivers/modules/drac/inspect.py | 24 +-
ironic/drivers/modules/drac/job.py | 10 +-
ironic/drivers/modules/drac/management.py | 10 +-
ironic/drivers/modules/drac/power.py | 11 +-
ironic/drivers/modules/drac/raid.py | 64 +-
.../drivers/modules/elilo_efi_pxe_config.template | 1 +
ironic/drivers/modules/ilo/boot.py | 256 ++-
ironic/drivers/modules/ilo/common.py | 46 +-
ironic/drivers/modules/ilo/deploy.py | 381 -----
ironic/drivers/modules/ilo/firmware_processor.py | 4 +-
ironic/drivers/modules/ilo/inspect.py | 34 +-
ironic/drivers/modules/ilo/management.py | 29 +-
ironic/drivers/modules/ilo/power.py | 14 +-
ironic/drivers/modules/image_cache.py | 41 +-
ironic/drivers/modules/inspector.py | 27 +-
ironic/drivers/modules/ipmitool.py | 204 +--
ironic/drivers/modules/ipxe_config.template | 20 +
ironic/drivers/modules/irmc/boot.py | 477 +++++-
ironic/drivers/modules/irmc/common.py | 26 +
ironic/drivers/modules/irmc/inspect.py | 14 +-
ironic/drivers/modules/irmc/management.py | 137 +-
ironic/drivers/modules/irmc/power.py | 18 +-
ironic/drivers/modules/iscsi_deploy.py | 59 +-
ironic/drivers/modules/network/common.py | 367 ++--
ironic/drivers/modules/network/flat.py | 14 +-
ironic/drivers/modules/network/neutron.py | 16 +-
ironic/drivers/modules/network/noop.py | 2 +-
ironic/drivers/modules/oneview/common.py | 83 +-
ironic/drivers/modules/oneview/deploy.py | 155 +-
ironic/drivers/modules/oneview/deploy_utils.py | 28 +-
ironic/drivers/modules/oneview/management.py | 103 +-
ironic/drivers/modules/oneview/power.py | 11 +-
ironic/drivers/modules/pxe.py | 174 +-
ironic/drivers/modules/redfish/__init__.py | 0
ironic/drivers/modules/redfish/management.py | 173 ++
ironic/drivers/modules/redfish/power.py | 158 ++
ironic/drivers/modules/redfish/utils.py | 199 +++
ironic/drivers/modules/snmp.py | 28 +-
ironic/drivers/modules/ssh.py | 903 ----------
ironic/drivers/modules/storage/cinder.py | 432 +++++
ironic/drivers/modules/ucs/helper.py | 6 +-
ironic/drivers/modules/ucs/management.py | 10 +-
ironic/drivers/modules/ucs/power.py | 24 +-
ironic/drivers/oneview.py | 29 +
ironic/drivers/pxe.py | 42 +-
ironic/drivers/raid_config_schema.json | 2 +-
ironic/drivers/redfish.py | 32 +
ironic/drivers/snmp.py | 35 +
ironic/drivers/utils.py | 31 +-
ironic/objects/base.py | 330 +++-
ironic/objects/chassis.py | 25 +-
ironic/objects/conductor.py | 8 +-
ironic/objects/node.py | 75 +-
ironic/objects/port.py | 83 +-
ironic/objects/portgroup.py | 34 +-
ironic/objects/volume_connector.py | 58 +-
ironic/objects/volume_target.py | 88 +-
.../unit/conductor/test_notification_utils.py | 4 +-
.../drivers/ipxe_config_boot_from_volume.template | 33 +
...pxe_config_boot_from_volume_no_volumes.template | 32 +
.../drivers/modules/drac/test_periodic_task.py | 2 +-
.../unit/drivers/modules/ilo/test_management.py | 5 +-
.../unit/drivers/modules/irmc/test_management.py | 136 +-
.../unit/drivers/modules/network/test_common.py | 796 +++++++--
.../unit/drivers/modules/network/test_flat.py | 2 +-
.../unit/drivers/modules/network/test_neutron.py | 25 +-
.../unit/drivers/modules/network/test_noop.py | 91 +
.../unit/drivers/modules/oneview/test_common.py | 169 +-
.../unit/drivers/modules/oneview/test_deploy.py | 462 +----
.../drivers/modules/oneview/test_deploy_utils.py | 20 +-
.../drivers/modules/oneview/test_management.py | 214 ++-
.../unit/drivers/modules/oneview/test_power.py | 41 +-
.../drivers/modules/redfish/test_management.py | 189 +++
.../unit/drivers/modules/redfish/test_power.py | 238 +++
.../unit/drivers/modules/redfish/test_utils.py | 193 +++
.../unit/drivers/modules/storage/test_cinder.py | 608 +++++++
.../unit/drivers/modules/test_agent_base_vendor.py | 144 +-
.../unit/drivers/modules/test_console_utils.py | 56 +
.../unit/drivers/modules/test_deploy_utils.py | 279 ++-
.../unit/drivers/modules/test_iscsi_deploy.py | 155 +-
.../unit/drivers/third_party_driver_mock_specs.py | 40 +
ironic_tempest_plugin/README.rst | 4 +-
ironic_tempest_plugin/manager.py | 46 +-
ironic_tempest_plugin/services/baremetal/base.py | 6 +-
.../services/baremetal/v1/json/baremetal_client.py | 62 +-
.../scenario/ironic_standalone/test_basic_ops.py | 17 +-
.../scenario/test_baremetal_boot_from_volume.py | 152 ++
...-boot-from-volume-support-9f64208f083d0691.yaml | 4 +
...-cisco-ucs-hardware-types-ee597ff0416f158f.yaml | 23 +
releasenotes/notes/add-gmr-3c9278d5d785895f.yaml | 8 +
...d-secure-boot-suport-irmc-2c1f09271f96424d.yaml | 5 +
.../added-redfish-driver-00ff5e3f7e9d6ee8.yaml | 13 +
...face-to-node-in-available-bd6f695620c2d77f.yaml | 4 +
.../notes/bug-1694645-57289200e35bd883.yaml | 14 +
.../notes/bug-1702158-79bf57bd4d8087b6.yaml | 27 +
...ange-ramdisk-log-filename-142b10d0b02a5ca6.yaml | 13 +
...upport-using-ceph-radosgw-8c6f7b8bede2077c.yaml | 24 +
.../create-port-on-conductor-b921738b4b2a5def.yaml | 7 +
...ync-online_data_migration-edcf0b1cc3667582.yaml | 8 +
.../notes/deprecate-elilo-2beca4800f475426.yaml | 7 +
.../drac-fix-oob-cleaning-b4b717895e243c9b.yaml | 6 +
...enable-osprofiler-support-e3839b0fa90d3831.yaml | 17 +
.../notes/fix-bug-1675529-479357c217819420.yaml | 22 +
.../fix-dir-permissions-bc56e83a651bbdb0.yaml | 8 +
...disk-identifier-overwrite-42b33a5a0f7742d8.yaml | 6 +
...x-ilo-drivers-log-message-c3c64c1ca0a0bca8.yaml | 7 +
.../fix-keystone-parameters-cdb93576d7e7885b.yaml | 4 +
.../fix-noop-net-vif-list-a3d8ecee29097662.yaml | 5 +
.../notes/flag_always_reboot-62468a7058b58823.yaml | 9 +
.../notes/glance-keystone-dd30b884f07f83fb.yaml | 11 +
.../notes/ilo-hardware-type-48fd1c8bccd70659.yaml | 16 +
...mprove-conductor-shutdown-42687d8b9dac4054.yaml | 4 +
.../notes/ipmitool-vendor-3f0f52240ebbe489.yaml | 5 +
...an-step-reset-bios-config-a8bed625670b7fdf.yaml | 20 +
.../irmc-boot-from-volume-4bc5d20a0a780669.yaml | 7 +
...sion-timeout-configurable-b2365b7699b0f98b.yaml | 6 +
.../messaging-log-level-5f870ea69db53d26.yaml | 5 +
.../no-more-legacy-auth-eeb32f907d0ab5de.yaml | 14 +
.../notes/no-ssh-drivers-6ee5ff4c3ecdd3fb.yaml | 9 +
.../node-save-internal-info-c5cc8f56f1d0dab0.yaml | 6 +
...ode-storage-interface-api-1d6e217303bd53ff.yaml | 20 +
.../non-persistent-boot-5e3a0cd78e9dc91b.yaml | 7 +
...fy-node-storage-interface-7fd07ee7ee71cd22.yaml | 13 +
...eview-agent-mixin-removal-b7277e8f20df5ef2.yaml | 6 +
.../oneview-hardware-type-69bbb79da434871f.yaml | 15 +
...group_settings_to_neutron-a6aec830a82c38a3.yaml | 5 +
.../port-physical-network-a7009dc514353796.yaml | 26 +
...dating-inspection-failure-57d7fd2999cf4ecf.yaml | 5 +
...re-allocation-for-oneview-09310a215b3aaf3c.yaml | 7 +
...-instance-info-for-deploy-2fe165fc018010e4.yaml | 8 +
...ated-dhcp-provider-method-89926a8f0f4793a4.yaml | 17 +
...an-priority-erase-devices-bb3073da562ed41d.yaml | 6 +
.../resource-class-change-563797d5a3c35683.yaml | 12 +
.../notes/resource-classes-1bf903547236a473.yaml | 15 +
.../notes/rolling-upgrades-ccad5159ca3cedbe.yaml | 5 +
.../notes/snmp-hardware-type-ee3d471cf5c596f4.yaml | 10 +
.../snmp-outlet-validate-ffbe8e6687172efc.yaml | 3 +
.../notes/socat-address-conf-5cf043fabb10bd76.yaml | 6 +
.../sort_key_allowed_field-091f8eeedd0a2ace.yaml | 6 +
...-connector-and-target-api-dd172f121ab3af8e.yaml | 54 +
releasenotes/source/conf.py | 17 +-
requirements.txt | 35 +-
setup.cfg | 46 +-
test-requirements.txt | 13 +-
tools/check-releasenotes.py | 51 +
tools/config/ironic-config-generator.conf | 1 +
tools/policy/ironic-policy-generator.conf | 3 +
tox.ini | 16 +-
vagrant.yaml | 4 +-
575 files changed, 40356 insertions(+), 21747 deletions(-)
Requirements updates
--------------------
diff --git a/driver-requirements.txt b/driver-requirements.txt
index 19f3afd..2ca2f65 100644
--- a/driver-requirements.txt
+++ b/driver-requirements.txt
@@ -11 +11 @@ python-oneviewclient<3.0.0,>=2.5.2
-python-scciclient>=0.4.0
+python-scciclient>=0.5.0
@@ -13 +13 @@ UcsSdk==0.8.2.2
-python-dracclient>=0.1.0
+python-dracclient>=1.3.0
@@ -16,0 +17,3 @@ ImcSdk>=0.7.2
+
+# The Redfish hardware type uses the Sushy library
+sushy
diff --git a/requirements.txt b/requirements.txt
index d44b8a7..908e99e 100644
--- a/requirements.txt
+++ b/requirements.txt
@@ -4,2 +4,2 @@
-pbr>=2.0.0 # Apache-2.0
-SQLAlchemy>=1.0.10 # MIT
+pbr!=2.1.0,>=2.0.0 # Apache-2.0
+SQLAlchemy!=1.1.5,!=1.1.6,!=1.1.7,!=1.1.8,>=1.0.10 # MIT
@@ -8 +8 @@ automaton>=0.5.0 # Apache-2.0
-eventlet!=0.18.3,>=0.18.2 # MIT
+eventlet!=0.18.3,!=0.20.1,<0.21.0,>=0.18.2 # MIT
@@ -10,4 +10,4 @@ WebOb>=1.7.1 # MIT
-paramiko>=2.0 # LGPLv2.1+
-python-neutronclient>=5.1.0 # Apache-2.0
-python-glanceclient>=2.5.0 # Apache-2.0
-keystoneauth1>=2.18.0 # Apache-2.0
+python-cinderclient>=3.1.0 # Apache-2.0
+python-neutronclient>=6.3.0 # Apache-2.0
+python-glanceclient>=2.7.0 # Apache-2.0
+keystoneauth1>=3.1.0 # Apache-2.0
@@ -20,3 +20,3 @@ oslo.concurrency>=3.8.0 # Apache-2.0
-oslo.config>=3.22.0 # Apache-2.0
-oslo.context>=2.12.0 # Apache-2.0
-oslo.db>=4.19.0 # Apache-2.0
+oslo.config!=4.3.0,!=4.4.0,>=4.0.0 # Apache-2.0
+oslo.context>=2.14.0 # Apache-2.0
+oslo.db>=4.24.0 # Apache-2.0
@@ -24 +24 @@ oslo.rootwrap>=5.0.0 # Apache-2.0
-oslo.i18n>=2.1.0 # Apache-2.0
+oslo.i18n!=3.15.2,>=2.1.0 # Apache-2.0
@@ -26,3 +26,4 @@ oslo.log>=3.22.0 # Apache-2.0
-oslo.middleware>=3.10.0 # Apache-2.0
-oslo.policy>=1.17.0 # Apache-2.0
-oslo.serialization>=1.10.0 # Apache-2.0
+oslo.middleware>=3.27.0 # Apache-2.0
+oslo.policy>=1.23.0 # Apache-2.0
+oslo.reports>=0.6.0 # Apache-2.0
+oslo.serialization!=2.19.1,>=1.10.0 # Apache-2.0
@@ -30,0 +32 @@ oslo.utils>=3.20.0 # Apache-2.0
+osprofiler>=1.4.0 # Apache-2.0
@@ -32 +34,2 @@ pecan!=1.0.2,!=1.0.3,!=1.0.4,!=1.2,>=1.0.0 # BSD
-requests!=2.12.2,!=2.13.0,>=2.10.0 # Apache-2.0
+requests>=2.14.2 # Apache-2.0
+rfc3986>=0.3.1 # Apache-2.0
@@ -38 +41 @@ keystonemiddleware>=4.12.0 # Apache-2.0
-oslo.messaging>=5.19.0 # Apache-2.0
+oslo.messaging!=5.25.0,>=5.24.2 # Apache-2.0
diff --git a/test-requirements.txt b/test-requirements.txt
index a46c8a7..7bc3146 100644
--- a/test-requirements.txt
+++ b/test-requirements.txt
@@ -5 +5 @@ hacking!=0.13.0,<0.14,>=0.12.0 # Apache-2.0
-coverage>=4.0 # Apache-2.0
+coverage!=4.4,>=4.0 # Apache-2.0
@@ -9 +9 @@ mock>=2.0 # BSD
-Babel>=2.3.4 # BSD
+Babel!=2.4.0,>=2.3.4 # BSD
@@ -14 +14 @@ psycopg2>=2.5 # LGPL/ZPL
-python-ironicclient>=1.11.0 # Apache-2.0
+python-ironicclient>=1.14.0 # Apache-2.0
@@ -25 +25 @@ flake8-import-order==0.11 # LGPLv3
-sphinx>=1.5.1 # BSD
+sphinx>=1.6.2 # BSD
@@ -28,3 +28,2 @@ sphinxcontrib-seqdiag # BSD
-openstackdocstheme>=1.5.0 # Apache-2.0
-oslosphinx>=4.7.0 # Apache-2.0
-reno>=1.8.0 # Apache-2.0
+openstackdocstheme>=1.16.0 # Apache-2.0
+reno!=2.3.1,>=1.8.0 # Apache-2.0
1
0
We are ecstatic to announce the release of:
zun 0.2.0: Container Management service for OpenStack
This release is part of the pike stable release series.
The source is available from:
https://git.openstack.org/cgit/openstack/zun
Download the package from:
https://tarballs.openstack.org/zun/
Please report issues through launchpad:
https://bugs.launchpad.net/zun
For more details, please see below.
Changes in zun 0.1.0..0.2.0
---------------------------
51f54b8 Add new entrypoint 'experimental' for capsules
5db8647 port pci whitelist from nova to zun
70020a9 Add capsule controller in API side and add create method
127794e port pci devspec from nova to zun
47f4b30 port pci utils from nova to zun
d080604 Fix parameter name error in HostController
0095b46 Removing LOG in hosts.py
9b65448 Move all neutron calls to NeutronAPI
ac7e288 Updated from global requirements
95a7b80 Fix the 'addresses' field of container
9a953d3 Allow glance image name/id support
f8a9e45 Using utils.get_resource for getting host
cd9d2db Implement create with specified neutron net
390e405 Dump docker daemon logs before finish
eb21cd2 Needn't compute freecpu when unsetting container.cpu
88b8dbc Fix exception with wrong field.
7aba2d5 Switch from mode_wsgi to uwsgi
648a9cd Implement create with existing neutron port
019055e Move get_available_network to API layer
472aa90 Updated from global requirements
8b62dee Improve the validation of environment field
0144447 Allow add security group by uuid
a204254 Fix the broken add_security_group endpoint
e7faccf Add missing 'command' attribute
c41b899 Imply compute node related Etcd API
ffb5762 Get python3 tempest tests job to pass
548325b Py3: Finish the python3 port
7055afa Change tag link in README to the newest address
38085dc Update the documention for doc migration
57b25cb Fixed description in README.rst
2d7be38 Add filter scheduler doc.
b001296 Image pull policy support for zun pull
f62a8ae Add missing module import
e14fbe5 Make some config options work
0bf9481 Remove unused requirement: greenlet
557b5b5 Add missing configuration index
5caaa8f Add delete_container to periodic task
b793a1a Updated from global requirements
7d3f1a0 Check if security groups is duplicated or not in API
61b4b53 Add the capsule DB method
0b4c53e Add the Object Capsule and database table
d7d1b68 Refactor Glance Image driver
ad6cf73 container SR-IOV networking support
1304e0a Add host show api
ba12241 [doc-migration] Add install and configuration folders
2b557f9 Stop using deprecated 'message' attribute in Exception
00f1581 Bump the version to 1.4 for host list api control
1b5bb28 Add host list api
fa87508 Updated from global requirements
a001c5a Make sandbox container optional
15cbc66 Update quickstart link in document
1d4899c Add admin folder for related documents
2a0a799 Added support for Auto remove the container
154bcf7 Updated from global requirements
563da72 Support show/delete with all_tenants
2c115f0 Add unit test for kuryr network driver
e9afac0 Fix error in containers.inc
7605745 Fix docs & specs erros.
4b489da Add warning-is-error in setup.cfg
6e48d31 Move the contributor related docs to contributor/ dir
6d80dd6 Modify the Cinder integration spec
bcca3b9 Add api-ref for container stats
c45752a Refactor networking code of docker driver
ef45c43 Refactor create/delete sandbox code
d1d77e3 Minor refactor of get_security_group_ids
6a95beb Optimize connect_container_to_network
ff01094 Updated from global requirements
bb278a4 Update URLs in documents according to document migration
d12e05c Correct devstack docs urls
4fcb465 Fix some errors and warnings
5659210 Refactor code
2b243b9 Fix rst markups in specs/cinder-integration.rst
fd59140 Introduce policy rule for all tenants
7816f21 Add api-ref for more container operations
8f2ff32 Fix another upgrade from docker-py to docker place
8ce08d7 Fix hard code kuryr driver name bug
c45bffe Revise the policy data
98654e6 Devstack stop zun-wsproxy process when service enabled
4788170 Optimize error in docker driver
fb060cd Fix error in the log of container kill
769de27 Remove the NoopFilter
f194efc Add missing REST API version history
9755062 Update the fake policy file
5904cc2 Enable H904 check
545b145 Refine default policy
ff3f6e1 Replace unicode with six.text_type
c2ea432 Rename kw to kwargs
1b00d55 Replace map with list
09edc12 Use __future__ module absolute_import
f869fd1 Handle docker error consistently
cba861f Updated from global requirements
718d5d0 Fix the sample responses in API docs
e44e26f Add user specify network to create container
fc0cf75 Add tempest tests for security groups
3a46560 Clean up network resources after tempest tests
9878441 Support python 3.5
ae8f9ca Optimize add_security_groups_to_container
9ae81a2 Optimize disconnection of container from network
81c225f Retrieve addresses when connecting to network
cbcad3b Add api-ref for container operations
d064258 Refactor code
5800952 Fixed an issue that container's host is None
5464b39 Correct the API microversion docs
b969bef Fixed an wrong method call on kuryr driver
1d3d041 Delete log translation functions and add hacking rule
745cebc Remove unnecessary inspect in kill and related testcases
f279bb9 Warning on running tempest tests
9bb3f6e Optimize helpinfo in zun/conf
4a0091c cors: update default configuration
8992bbb Fix openstackdocstheme settings
a5a82b0 Change tag from unicode to str in docker commit
406b953 Revert the file mode from 0755 to 0644
32798ef PCI passthrough device modeling
18e7d3d Fix some comments about docker driver
ec5a9c9 Switch from oslosphinx to openstackdocstheme
ecd811b Remove log translations.
83c676f Set sandbox id immediately after sandbox create
5b8afdc Remove market function _()
391252d Updated from global requirements
8c7487a Drop duplicated exception handle code from docker commit
d31ea90 Optimize _get_security_group_id
f3a5e92 Optimize msg when exception
7fcac9c Add websockify to requirements
83f3c67 Remove the items for disable neutron
5ad57fe Rename variable, more meaningful naming.
8a94592 Remove unused code at zun.common.rpc
bc480de Pass environment variables of proxy to tox
d69c686 Fix label filter bug.
9180a8c Upgrade from docker-py to docker
9a1220c Updated from global requirements
435d3f8 Add claim limit in ram filter and cpu filter
8c7a97d Do not set container host before resource claimed
eb91f4c Run tempest tests in parallel
22b47f5 Updated from global requirements
921dca4 Set access_policy for messaging's dispatcher
4c52457 Add api-ref for container create
893cd7c Add label filter
dbeb80e Add return the image ID in container commit
bc8375b Unset container's host if it failed to create
87687d2 Updated from global requirements
c6861fa Fix html_last_updated_fmt for Python3.
340894a Remove duplicated hacking rule Z318
ff17dac Optimize the link address
0322c11 Remove deprecated oslo_messaging.transport.get_transport
6b1a4a1 Introduce container composition
891bbf8 Remove usage of parameter enforce_type
f5488e6 Enable some off-by-default checks
9c63d9e Fix typo error in zun/hacking/checks.py
8fc5864 Log the network configuration
c6f9aee Updated from global requirements
478e72d Add scheduler hint
99338b1 Remove resource claim when delete container
3f281ed Updated from global requirements
5ef6454 Change default scheduler to filter_scheduler
a19de0d Using assertIsNone instead of assertEqual
d377df2 Avoid creating port without security groups
b8e77af Switch to 'eventlet' executor for rpc
46d007e Replace assertRaisesRegexp with assertRaisesRegex
cad9fa3 Remove usage of parameter enforce_type
e60649e Change the tempest test interval to 2s.
16f83bd Add the description about service api to api-ref
ea0ba92 Revert "Temporarily disable etcd3 to fix the gate"
7c685ae Add devstack-plugin-container to vagrant
8d4325f Replace oslo_utils.timeutils.isotime
283fd8f Add tempest test for container commit
d2edc7f Add more tempest tests for container run
7b3d2e7 Updated from global requirements
98dfe6c Updated from global requirements
2b3331a Raise ImageNotFound when image not found in docker
c4c4f12 Updated from global requirements
d1b1526 Add tempest tests for 'stats' endpoint
6f6c810 Temporarily disable etcd3 to fix the gate
73ead98 Switch to devstack-plugin-container
c747023 Fix unicode error for python3
d119695 Optimize the link address
029b9e3 Add ram filter
677ba36 Change to git.openstack.org
a514df5 Tests: make test_pull_image_exception reasonable
67eedb8 Add resource claim for zun.
9edb45d Updated from global requirements
1acfee4 Compile stats on server side
5161270 Tests: remove .testrepository/times.dbm in tox.ini
f63a250 Support service force down
83d525c Add tempest tests for 'top' on container
7a25c24 Replace assertRaisesRegexp with assertRaisesRegex
7884d69 Add security-groups to container
2bd5d41 Add tempest test for container rename
8eb63ca Make docker api_url remotely accessible
89b8ea0 Support service-enable/disable
a20071a Implement container snapshot
bdaf779 Set docker_remote_api_ip in devstack
77cf455 Change the uuid from websocket header to querystring
8a1c854 Add multi host part for devstack guide
00adc1c Remove unused LOG in websocket
a936744 Add 'host' to container db filters
72a7997 Add support for websocket-proxy
3e0cce8 MultiHost support
9f06090 Fix the zun.conf file for MultiHost env
f50bf6f Put team mascot at the readme home page
2bb9862 Updated from global requirements
45ab53f Image: Catch glance image not found exception
13f1258 Updated from global requirements
e55b40c Zun execute without command returned 500
c5e836f Remove nova docker instruction from quickstart
24c37bc Add a new service wsproxy to Zun
6f12f45 Handle the case when get_by_host_and_binary return None
294a5f1 Add two fields to container object
65d854d Server support for display snapshot of zun stats
b3b145a Updated from global requirements
7940202 Add api_microversion_history to index
f26f5c7 Correct how to run tempest test in README.rst
cc9e19d oslo_service.periodic_task KeyError: 'NanoCpus'
416e112 Optimize the link address
a2f335b Remove unused conf in kuryr_network.py
7d707d1 Rename higgins to zun
aa6917a Handle the case that container.host is None
e4561a5 Remove unused parameter in docker_load
75ce367 Use docker.logs instead of get_container_logs
d79ec4e Fix the container.cpu is None in cpu_filter
3286c46 Add labels info to compute node
b55985c Add CPUFilter for filter scheduler
3b16b11 Revert file mode from 0755 to 0644
9d16eb7 Add tests for api microversion
2ab2ced Add the docs for API Microversion
a1adf43 Be robust on missing 'MaximumRetryCount' key
4c1e1e8 Introduce cpu-policy for container deployment
Diffstat (except docs and test files)
-------------------------------------
HACKING.rst | 5 +-
README.rst | 20 +-
api-ref/source/conf.py | 3 +-
api-ref/source/containers.inc | 615 ++++++++++++++++++++
api-ref/source/hosts.inc | 86 +++
api-ref/source/index.rst | 1 +
api-ref/source/parameters.yaml | 197 ++++++-
api-ref/source/samples/container-create-req.json | 30 +
api-ref/source/samples/container-create-resp.json | 37 ++
api-ref/source/samples/container-get-all-resp.json | 52 ++
api-ref/source/samples/container-rename-resp.json | 47 ++
api-ref/source/samples/container-show-resp.json | 47 ++
api-ref/source/samples/container-stats-resp.json | 9 +
api-ref/source/samples/container-update-req.json | 4 +
api-ref/source/samples/container-update-resp.json | 47 ++
api-ref/source/samples/host-get-all-resp.json | 23 +
api-ref/source/samples/host-get-resp.json | 19 +
api-ref/source/samples/service-disable-resp.json | 8 +
api-ref/source/samples/service-enable-resp.json | 8 +
api-ref/source/samples/service-forcedown-resp.json | 7 +
api-ref/source/services.inc | 164 ++++++
contrib/vagrant/config/localrc | 5 +-
contrib/vagrant/install_devstack.sh | 2 +-
devstack/README.rst | 2 +-
devstack/lib/zun | 171 ++----
devstack/local.conf.sample | 3 +-
devstack/plugin.sh | 1 -
devstack/settings | 9 +-
etc/zun/policy.json | 57 +-
etc/zun/policy.yaml.sample | 0
nova/virt/zun/client.py | 7 +-
nova/virt/zun/driver.py | 35 +-
nova/virt/zun/network.py | 2 +-
nova/virt/zun/opencontrail.py | 4 +-
nova/virt/zun/vifs.py | 4 +-
releasenotes/source/conf.py | 19 +-
requirements.txt | 32 +-
setup.cfg | 4 +
specs/cinder-integration.rst | 246 +++++---
specs/container-SRIOV-networking.rst | 228 ++++++++
specs/container-composition.rst | 401 +++++++++++++
specs/container-interactive-mode.rst | 4 +-
specs/container-sandbox.rst | 2 +-
specs/container-snapshot.rst | 58 +-
specs/cpuset-container.rst | 179 ++++++
specs/kuryr-integration.rst | 65 ++-
specs/pci-device-model.rst | 230 ++++++++
specs/zun-api-validation.rst | 8 +-
template/capsule/capsule.yaml | 62 ++
test-requirements.txt | 10 +-
tox.ini | 4 +
zun/__init__.py | 1 +
zun/api/app.wsgi | 24 +-
zun/api/controllers/base.py | 3 +-
zun/api/controllers/experimental/__init__.py | 152 +++++
zun/api/controllers/experimental/capsules.py | 244 ++++++++
zun/api/controllers/experimental/collection.py | 43 ++
.../controllers/experimental/schemas/__init__.py | 0
.../controllers/experimental/schemas/capsules.py | 26 +
zun/api/controllers/experimental/views/__init__.py | 0
.../experimental/views/capsules_view.py | 49 ++
zun/api/controllers/root.py | 4 +-
zun/api/controllers/types.py | 2 +-
zun/api/controllers/v1/__init__.py | 15 +-
zun/api/controllers/v1/containers.py | 300 +++++++---
zun/api/controllers/v1/hosts.py | 109 ++++
zun/api/controllers/v1/images.py | 9 +-
zun/api/controllers/v1/schemas/containers.py | 46 +-
zun/api/controllers/v1/schemas/images.py | 3 +-
zun/api/controllers/v1/schemas/services.py | 50 ++
zun/api/controllers/v1/views/containers_view.py | 4 +-
zun/api/controllers/v1/views/hosts_view.py | 49 ++
zun/api/controllers/v1/views/images_view.py | 3 +-
zun/api/controllers/v1/zun_services.py | 106 +++-
zun/api/controllers/versions.py | 14 +-
zun/api/http_error.py | 11 +-
zun/api/middleware/auth_token.py | 6 +-
zun/api/middleware/parsable_error.py | 2 +-
zun/api/rest_api_version_history.rst | 52 ++
zun/api/versioned_method.py | 70 +--
zun/api/wsgi.py | 35 ++
zun/cmd/wsproxy.py | 39 ++
zun/common/config.py | 40 +-
zun/common/consts.py | 2 +
zun/common/exception.py | 111 +++-
zun/common/i18n.py | 3 +-
zun/common/name_generator.py | 4 +-
zun/common/paths.py | 6 +-
zun/common/policy.py | 2 +-
zun/common/profiler.py | 3 +-
zun/common/rpc.py | 67 +--
zun/common/rpc_service.py | 24 +-
zun/common/short_id.py | 2 +-
zun/common/utils.py | 77 ++-
zun/common/validation/parameter_types.py | 47 +-
zun/common/validation/validators.py | 5 +-
zun/compute/api.py | 68 ++-
zun/compute/claims.py | 171 ++++++
zun/compute/compute_node_tracker.py | 204 ++++++-
zun/compute/manager.py | 420 ++++++++++----
zun/compute/rpcapi.py | 39 +-
zun/conf/__init__.py | 2 +
zun/conf/api.py | 17 +-
zun/conf/container_driver.py | 10 +
zun/conf/database.py | 18 +-
zun/conf/docker.py | 5 +-
zun/conf/glance_client.py | 25 +-
zun/conf/image_driver.py | 5 +-
zun/conf/network.py | 4 +
zun/conf/neutron_client.py | 19 +-
zun/conf/nova_client.py | 16 +-
zun/conf/scheduler.py | 5 +-
zun/conf/services.py | 13 +-
zun/conf/websocket_proxy.py | 92 +++
zun/conf/zun_client.py | 22 +-
zun/container/docker/driver.py | 487 ++++++++++------
zun/container/docker/host.py | 42 ++
zun/container/docker/utils.py | 24 +-
zun/container/driver.py | 88 +--
zun/container/os_capability/host_capability.py | 3 +-
zun/db/api.py | 77 +++
zun/db/etcd/api.py | 120 +++-
zun/db/etcd/models.py | 72 ++-
.../versions/174cafda0857_add_security_groups.py | 39 ++
.../17ab8b533cc8_add_container_hosts_label_info.py | 37 ++
...3b2322_add_websocket_url_and_websocket_token.py | 37 ++
.../648c25faa0be_add_mem_used_to_compute_node.py | 33 ++
.../75315e219cfb_add_auto_remove_to_container.py | 34 ++
.../versions/a251f1f61217_create_capsule_table.py | 58 ++
.../a9a92eebd9a8_create_table_higgins_service.py | 48 --
.../a9a92eebd9a8_create_table_zun_service.py | 48 ++
zun/db/sqlalchemy/api.py | 75 ++-
zun/db/sqlalchemy/models.py | 38 +-
zun/hacking/checks.py | 43 +-
zun/image/docker/driver.py | 34 +-
zun/image/driver.py | 52 +-
zun/image/glance/driver.py | 54 +-
zun/image/glance/utils.py | 44 +-
zun/network/kuryr_network.py | 151 +++--
zun/network/network.py | 6 +-
zun/network/neutron.py | 92 +++
zun/objects/__init__.py | 3 +
zun/objects/base.py | 77 +++
zun/objects/capsule.py | 152 +++++
zun/objects/compute_node.py | 6 +-
zun/objects/container.py | 23 +-
zun/objects/fields.py | 4 +-
zun/objects/zun_service.py | 22 +-
zun/pci/__init__.py | 0
zun/pci/devspec.py | 289 ++++++++++
zun/pci/utils.py | 183 ++++++
zun/pci/whitelist.py | 94 ++++
zun/scheduler/base_filters.py | 11 +-
zun/scheduler/chance_scheduler.py | 2 +-
zun/scheduler/client.py | 8 +-
zun/scheduler/driver.py | 4 +-
zun/scheduler/filter_scheduler.py | 210 +++----
zun/scheduler/filters/__init__.py | 90 +--
zun/scheduler/filters/cpu_filter.py | 42 ++
zun/scheduler/filters/label_filter.py | 50 ++
zun/scheduler/filters/noop_filter.py | 34 --
zun/scheduler/filters/ram_filter.py | 43 ++
zun/scheduler/host_state.py | 33 ++
zun/service/periodic.py | 3 +-
zun/servicegroup/zun_service_periodic.py | 4 +-
.../unit/api/controllers/v1/test_containers.py | 625 +++++++++++++++++----
.../unit/api/controllers/v1/test_zun_service.py | 50 ++
.../unit/container/docker/test_docker_driver.py | 248 ++++----
.../test_os_capability_linux.py | 3 +-
.../unit/scheduler/filters/test_cpu_filter.py | 45 ++
.../unit/scheduler/filters/test_label_filter.py | 42 ++
.../unit/scheduler/filters/test_ram_filter.py | 45 ++
zun/version.py | 5 +-
zun/websocket/__init__.py | 0
zun/websocket/websocketclient.py | 40 ++
zun/websocket/websocketproxy.py | 267 +++++++++
254 files changed, 13172 insertions(+), 3014 deletions(-)
Requirements updates
--------------------
diff --git a/requirements.txt b/requirements.txt
index 99ae6be..0f08500 100644
--- a/requirements.txt
+++ b/requirements.txt
@@ -6 +6 @@ PyYAML>=3.10.0 # MIT
-eventlet!=0.18.3,>=0.18.2 # MIT
+eventlet!=0.18.3,!=0.20.1,<0.21.0,>=0.18.2 # MIT
@@ -8 +7,0 @@ keystonemiddleware>=4.12.0 # Apache-2.0
-greenlet>=0.3.2 # MIT
@@ -13,4 +12,4 @@ python-etcd>=0.4.3 # MIT License
-python-glanceclient>=2.5.0 # Apache-2.0
-python-neutronclient>=5.1.0 # Apache-2.0
-python-novaclient>=7.1.0 # Apache-2.0
-oslo.i18n>=2.1.0 # Apache-2.0
+python-glanceclient>=2.8.0 # Apache-2.0
+python-neutronclient>=6.3.0 # Apache-2.0
+python-novaclient>=9.0.0 # Apache-2.0
+oslo.i18n!=3.15.2,>=2.1.0 # Apache-2.0
@@ -19,5 +18,5 @@ oslo.concurrency>=3.8.0 # Apache-2.0
-oslo.config>=3.22.0 # Apache-2.0
-oslo.messaging>=5.19.0 # Apache-2.0
-oslo.middleware>=3.10.0 # Apache-2.0
-oslo.policy>=1.17.0 # Apache-2.0
-oslo.serialization>=1.10.0 # Apache-2.0
+oslo.config!=4.3.0,!=4.4.0,>=4.0.0 # Apache-2.0
+oslo.messaging!=5.25.0,>=5.24.2 # Apache-2.0
+oslo.middleware>=3.27.0 # Apache-2.0
+oslo.policy>=1.23.0 # Apache-2.0
+oslo.serialization!=2.19.1,>=1.10.0 # Apache-2.0
@@ -26 +25 @@ oslo.versionedobjects>=1.17.0 # Apache-2.0
-oslo.context>=2.12.0 # Apache-2.0
+oslo.context>=2.14.0 # Apache-2.0
@@ -28,2 +27,2 @@ oslo.utils>=3.20.0 # Apache-2.0
-oslo.db>=4.19.0 # Apache-2.0
-os-vif>=1.4.0 # Apache-2.0
+oslo.db>=4.24.0 # Apache-2.0
+os-vif>=1.7.0 # Apache-2.0
@@ -34 +33,4 @@ stevedore>=1.20.0 # Apache-2.0
-docker-py>=1.8.1 # Apache-2.0
+docker>=2.0.0 # Apache-2.0
+netaddr!=0.7.16,>=0.7.13 # BSD
+neutron-lib>=1.9.0 # Apache-2.0
+websockify>=0.8.0 # LGPLv3
diff --git a/test-requirements.txt b/test-requirements.txt
index 1090876..3cc34ec 100644
--- a/test-requirements.txt
+++ b/test-requirements.txt
@@ -8 +8 @@ doc8 # Apache-2.0
-coverage>=4.0 # Apache-2.0
+coverage!=4.4,>=4.0 # Apache-2.0
@@ -13,2 +13,2 @@ python-subunit>=0.0.18 # Apache-2.0/BSD
-sphinx>=1.5.1 # BSD
-oslosphinx>=4.7.0 # Apache-2.0
+sphinx>=1.6.2 # BSD
+openstackdocstheme>=1.16.0 # Apache-2.0
@@ -19 +19 @@ PyMySQL>=0.7.6 # MIT License
-tempest>=14.0.0 # Apache-2.0
+tempest>=16.1.0 # Apache-2.0
@@ -24 +24 @@ testtools>=1.4.0 # MIT
-reno>=1.8.0 # Apache-2.0
+reno!=2.3.1,>=1.8.0 # Apache-2.0
1
0
We are excited to announce the release of:
tricircle 4.0.0: The Tricircle is to provide networking automation
across Neutron in multi-region OpenStack deployments.
This release is part of the pike stable release series.
The source is available from:
http://git.openstack.org/cgit/openstack/tricircle
Download the package from:
https://pypi.python.org/pypi/tricircle
Please report issues through launchpad:
http://bugs.launchpad.net/tricircle
For more details, please see below.
Changes in tricircle 3.4.0..4.0.0
---------------------------------
9939540 Fix bugs in tricircle Admin API
3e13f36 Add guide for Tricircle CLI
b053b97 Updated from global requirements
d6d9c6f Updated from global requirements
Diffstat (except docs and test files)
-------------------------------------
requirements.txt | 4 +-
tricircle/api/controllers/job.py | 27 ++--
tricircle/api/controllers/routing.py | 50 ++++----
tricircle/db/api.py | 69 ++++++----
9 files changed, 273 insertions(+), 173 deletions(-)
Requirements updates
--------------------
diff --git a/requirements.txt b/requirements.txt
index 1142ff8..d4a51da 100644
--- a/requirements.txt
+++ b/requirements.txt
@@ -23,2 +23,2 @@ WebOb>=1.7.1 # MIT
-python-cinderclient>=3.0.0 # Apache-2.0
-python-glanceclient>=2.7.0 # Apache-2.0
+python-cinderclient>=3.1.0 # Apache-2.0
+python-glanceclient>=2.8.0 # Apache-2.0
1
0