[release-announce] blazar 3.0.0 (stein)

no-reply at openstack.org no-reply at openstack.org
Wed Apr 10 12:29:35 UTC 2019


We are glad to announce the release of:

blazar 3.0.0: Reservation Service for OpenStack clouds

This release is part of the stein release series.

The source is available from:

    https://git.openstack.org/cgit/openstack/blazar

Download the package from:

    https://tarballs.openstack.org/blazar/

Please report issues through:

    https://bugs.launchpad.net/blazar/+bugs

For more details, please see below.

3.0.0
^^^^^

New Features

* Added a new resource plugin supporting floating IPs. This plugin
  enables users to reserve floating IPs from Neutron. To try the
  plugin, add "virtual:floatingip" to the "[manager]/plugins"
  configuration option in "blazar.conf". For the API schema, see
  details of the APIs in the Lease API reference and Floating IP API
  reference.

  Note that this feature is available as a preview but is not yet
  complete. The Blazar CLI does not yet support it, documentation is
  incomplete, and the Update Lease API is not implemented. Floating IP
  reservation will be fully completed in the next release.

   (https://developer.openstack.org/api-
  ref/reservation/v1/index.html#leases)
  (https://developer.openstack.org/api-ref/reservation/v1/index.html
  #floating-ips)

Changes in blazar 2.0.0..3.0.0
------------------------------

27c3aea Add a release note for the floating IP plugin
748017f Use os_region_name to select Neutron endpoint
6c2053f Prevent the delete floating IP API from deleting reserved floating ips
59b0968 Expose floatingip APIs and virtual:floatingip resources
9e963f8 Support on_start and on_end method in FloatingIPPlugin class
412787c Support reserve_resource in floatingip_plugin
ee8908c Create tables for floating IP reservations
f71d028 Add floatingip plugin to support floating IP resource
8457896 Add floatingips table for floating IP resources
2bd5b65 Expose placement exception code to end users
4b6190f Use oslo_serialization.jsonutils.dump_as_bytes()
d45a7f7 Distinguish hypervisor_hostname and service_name
122c61a Expose instance reservation affinity support
49f78f2 Consider affinity=True in reallocation
b5c4acb Add FloatingIPPool class for neutron client
dd3f3e3 Add BlazarNeutronClient base class
80938df Spec: Floating IP reservation plugin
bf57492 Do not execute event of transitional lease
81f3ba9 Support adding to existing reservation inventory
b7e7267 Consider the number of instances for reservation inventory
c9cb33d Change update_host_allocations() for new affinity
9160ada Update placement client unit tests
9bcbded Prevent race during instance deletion
0dfeabe Update json module to jsonutils
ef1729b add python 3.7 unit test job
a21f88e Change pickup_hosts() for affinity=True/None
00760ae Prevent leases from being deleted during event execution
3ef8b66 Move hosts back to freepool in case of failure
1855e05 Call placement after instance delete
7dc9a6a Use hypervisor_hostname for host name
74ef135 Add more details to exception messages
3d22669 Use LOG.exception in except block in status module
41efc33 Raise error if resource provider is not found
9a22d11 Add a release note for the List and Get Allocation APIs
a3aff12 Support reservation_id parameter in List and Get Allocation API
7a491b8 Support lease_id parameter in List and Get Allocations API
5dd2fd1 Expose List/Get Allocations API
201dc7e Implement list and get allocations methods to compute hosts plugin
848a687 Pass query parameters in GET request to list handler
469ddca Change "Resource Allocation API" spec
37ff8b2 Use template for lower-constraints
3c145a4 Enable mutable config in blazar
793bb58 Fix typo in spec
ff94c95 Set the min and max value of IntOpt config options
265872f Change openstack-dev to openstack-discuss
e90cc65 Use placement inventory for instance reservation
900a17c Return 401 error for invalid token instead of 204
9a70bb2 Change openstack-dev to openstack-discuss
c023e36 Fix incorrect response returned by the Update Lease API
64caeb6 Fix enabled log_exchange issue
ef9764e Update config group for option aggregate_freepool_name
65ed774 Correct spelling mistakes
82b5526 Fix small typo in test case class name
3c3f943 Move blazar-status docs to admin section
6e412b7 Add new hosts to aggregate when updating an active reservation
604b715 Add blazar-status upgrade check command framework
f60f0a8 Create and delete reservation provider
ebb95f6 Adds subnormal path for placement client (2)
5e11476 Adds subnormal path for placement client (1)
99924bd Add update/delete resource inventory
c491da2 Improve error message for AggregateAlreadyHasHost exception
eaa735f Add create/delete resource class
3c8a29c Add create/delete reservation provider
6ca69c0 Allow terminating leases in ERROR state when start_lease failed
74c5363 Allow leases to transition to ERROR status when events fail
8d2f4a0 Allow terminating a lease in ERROR state
284493c Increment versioning with pbr instruction
04da560 add python 3.6 unit test job
2f85187 switch documentation job to new PTI
8294cfb import zuul job settings from project-config
77c1a2b Handle requirements set to empty strings
a2e5e2d Fix py36 unit tests
c49aa9d Remove nose dependency
0b293c3 Mark the ZeroMQ driver deprecated
3fdac0d Fix order of arguments in assertEqual
44d2913 Add lease_opts to the global option list
9e26f79 Create directory for Stein specs
20a3bce Add Rocky release note page
b6eb8ee Fix default values provided as keyword arguments
55ff472 Rename scalar relationships to use singular names
29d28fe Raise database exception instead of returning None
0429ac8 Close session after updating lease statuses


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

.zuul.yaml                                         |  14 +-
api-ref/source/v1/floatingips.inc                  | 162 +++++
api-ref/source/v1/hosts.inc                        |  81 +++
api-ref/source/v1/index.rst                        |   1 +
api-ref/source/v1/parameters.yaml                  | 100 ++++
blazar/api/app.py                                  |  20 +-
blazar/api/v1/app.py                               |  20 +-
blazar/api/v1/floatingips/__init__.py              |   0
blazar/api/v1/floatingips/service.py               |  57 ++
blazar/api/v1/floatingips/v1_0.py                  |  58 ++
blazar/api/v1/leases/service.py                    |   5 +-
blazar/api/v1/leases/v1_0.py                       |  14 +-
blazar/api/v1/oshosts/service.py                   |  24 +-
blazar/api/v1/oshosts/v1_0.py                      |  26 +-
blazar/api/v1/utils.py                             |  21 +-
blazar/api/v2/app.py                               |   7 +-
blazar/cmd/api.py                                  |   5 +-
blazar/cmd/manager.py                              |   3 +-
blazar/cmd/status.py                               |  53 ++
blazar/config.py                                   |   3 +-
blazar/db/api.py                                   | 101 ++++
.../versions/75a74e4539cb_update_lease_status.py   |   2 +
...593f3656974_no_affinity_instance_reservation.py |  44 ++
.../versions/e069c014356d_add_floatingip.py        |  54 ++
.../f4084140f608_add_floatingip_reservation.py     |  82 +++
blazar/db/sqlalchemy/api.py                        | 277 +++++++++
blazar/db/sqlalchemy/models.py                     | 108 +++-
blazar/db/sqlalchemy/utils.py                      |  71 ++-
blazar/db/utils.py                                 |  20 +-
blazar/manager/exceptions.py                       |  32 +-
blazar/manager/floatingips/__init__.py             |   0
blazar/manager/floatingips/rpcapi.py               |  53 ++
blazar/manager/leases/rpcapi.py                    |   4 +-
blazar/manager/oshosts/rpcapi.py                   |  13 +-
blazar/manager/service.py                          |  32 +-
blazar/opts.py                                     |   1 +
blazar/plugins/base.py                             |  10 +
blazar/plugins/floatingips/__init__.py             |  15 +
blazar/plugins/floatingips/floatingip_plugin.py    | 228 +++++++
blazar/plugins/instances/instance_plugin.py        | 429 ++++++++++----
blazar/plugins/oshosts/host_plugin.py              | 111 +++-
blazar/policies/__init__.py                        |   2 +
blazar/policies/floatingips.py                     |  61 ++
blazar/policies/oshosts.py                         |  15 +
blazar/status.py                                   |  34 +-
.../plugins/floatingips/test_floatingip_plugin.py  | 511 ++++++++++++++++
.../plugins/instances/test_instance_plugin.py      | 654 +++++++++++++++++----
.../plugins/oshosts/test_physical_host_plugin.py   | 385 +++++++++++-
blazar/utils/openstack/exceptions.py               |  35 ++
blazar/utils/openstack/neutron.py                  | 145 +++++
blazar/utils/openstack/nova.py                     |  72 ++-
blazar/utils/openstack/placement.py                | 229 +++++++-
blazar/utils/plugins.py                            |  31 +
devstack/plugin.sh                                 |   2 +-
.../floatingips/floatingip-create-req.json         |   4 +
.../floatingips/floatingip-create-resp.json        |  11 +
.../floatingips/floatingip-details-resp.json       |  11 +
.../floatingips/floatingip-list-resp.json          |  23 +
lower-constraints.txt                              |   5 +-
...ocated-hosts-to-aggregate-95bb75410afc6b8d.yaml |   6 +
...s-upgrade-check-framework-895079486d8085f2.yaml |  13 +
.../floatingip-reservation-6c2f3c3ad8843948.yaml   |  16 +
...ve-hosts-back-to-freepool-041fcda9fb3fc6c3.yaml |   7 +
.../notes/multi-freepools-9d88b1f79c330a3c.yaml    |   2 +-
...nity-instance-reservation-d356e33088772ea3.yaml |  24 +
...vent-delete-during-events-c206a8f0a116798c.yaml |   7 +
.../resource-allocation-api-f2fff51fc4556cd4.yaml  |  11 +
releasenotes/source/index.rst                      |   1 +
releasenotes/source/rocky.rst                      |  10 +
releasenotes/source/unreleased.rst                 |   3 -
requirements.txt                                   |   3 +
setup.cfg                                          |   9 +-
test-requirements.txt                              |   2 +-
108 files changed, 6295 insertions(+), 584 deletions(-)


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

diff --git a/requirements.txt b/requirements.txt
index 3c66364..386459b 100644
--- a/requirements.txt
+++ b/requirements.txt
@@ -23,0 +24 @@ oslo.service!=1.28.1,>=1.24.0 # Apache-2.0
+oslo.upgradecheck>=0.1.0 # Apache-2.0
@@ -24,0 +26 @@ oslo.utils>=3.33.0 # Apache-2.0
+python-neutronclient>=6.0.0 # Apache-2.0
@@ -30,0 +33 @@ requests>=2.18.4 # Apache-2.0
+retrying>=1.3.3,!=1.3.0 # Apache-2.0
diff --git a/test-requirements.txt b/test-requirements.txt
index 7806a8f..4b2a59e 100644
--- a/test-requirements.txt
+++ b/test-requirements.txt
@@ -6 +6 @@ hacking!=0.13.0,<0.14,>=0.12.0 # Apache-2.0
-nose>=1.3.7 # LGPL
+ddt>=1.0.1 # MIT






More information about the Release-announce mailing list