Release-announce
Threads by month
- ----- 2025 -----
- 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
January 2018
- 2 participants
- 356 discussions
We are pleased to announce the release of:
openstacksdk 0.11.0: An SDK for building applications to work with
OpenStack
This release is part of the queens release series.
Download the package from:
https://pypi.python.org/pypi/openstacksdk
For more details, please see below.
0.11.0
^^^^^^
New Features
************
* Added a new method *openstack.connection.Connection.add_service*
which allows the registration of Proxy/Resource classes defined
externally.
* "availability_zone_hints" now accepted for "create_network()" when
"network_availability_zone" extension is enabled on target cloud.
* "availability_zone_hints" now accepted for "create_router()" when
"router_availability_zone" extension is enabled on target cloud.
Upgrade Notes
*************
* Removed the metric service. It is not an OpenStack service and
does not have an entry in service-types-authority.
* Meter and Alarm services have been removed. The Ceilometer REST
API has been deprecated for quite some time and is no longer
supported.
* The "Resource2" and "Proxy2" migration has been completed. The
original "Resource" and "Proxy" clases have been removed and
replaced with "Resource2" and "Proxy2".
Deprecation Notes
*****************
* "openstack.profile.Profile" has been deprecated and will be
removed in the "1.0" release. Users should use the functions in
"openstack.config" instead.
* The "shade" functionality that has been merged in to openstacksdk
is found in "openstack.cloud" currently. None of these interfaces
should be relied upon as the merge has not yet completed.
Other Notes
***********
* Add betacloud region for Germany
Changes in openstacksdk 0.10.0..0.11.0
--------------------------------------
64d56d7 Move profile helper method to openstack.profile
af55076 Add betacloud to the vendors
aba5425 Clean up the release notes a bit
97827cd Add supported method for checking the network exts
ff23cd0 Baremetal NIC list should return a list
baef9e5 Add retry logic mechanism
a50a784 Merge OpenstackCloud and OperatorCloud files
ad73e46 Updated from global requirements
bd3fad7 Remove inner_exceptions plumbing
5872184 Use devstack functional test base job
63f41e8 Throw OpenStackCloudCreateException on create errors
07c8649 Pass through all_projects for get_server
586fca4 Fix batching for floating ips and ports
be8a3c6 Raise error when supplying invalid query params
861446b Implement availability_zone_hints for networks and routers.
f39ae3d Add some docs about not using Profile
3a531d7 Adds get encrypted password support
91b6410 Do not apply format expansions to passwords
db271b7 Add resource2/proxy2 wrappers with deprecations
15e78f5 Rename resource2 and proxy2 to resource and proxy
aebf019 Remove resource and proxy
3326bb0 Update type conversion to handle subtypes more better
d26bc12 Update docs and pep8 tox environments
7803466 Add clustering guides node file, examples node code
3c782b5 Add clustering guides cluster file, examples cluster code
04bafdc Fix clustering detach policy describe error
a984bd3 Add OSC functional tips jobs
119a26d Fix an error about listing projects in connection doc
be063c4 Make floating IP to be prefered over fixed when looking for IP
a85f52d Make meta.find_best_address() more generic
3afec75 Fixed a few nits in the README
e1c16e6 Fix typo in the external service loader code
7b59cc1 Clean up a bit after the mapping inversion
32751d6 v2 image update fix
4df6125 Fix releasenotes builds
2eed3d2 Handle resource deletion properly
c0b2d08 Add clustering guides file, Examples code.
27e767f Replace clustering examples code cluster to clustering
7fd8217 Invert the attribute mapping
aa52477 Add clustering guides receiver file,examples receiver code
e636890 Move openstack_cloud helper functions
34f1e04 Use version definition from openstack.version
111a27b Make sure we use config defaults in profile compat code
8cd35fb change spell error
34bae5a Migrate object_store to resource2/proxy2
a292e47 Add deprecation warnings to profile
d42e200 modify spelling error of resource
4bbbffc Update Release Notes links and add bugs links
dc8fc95 fix misspelling of 'configuration'
536f347 Remove message v1 support
cb4c425 Remove metric service
1f05e3a Remove meter service
dffe0f0 Add ability to register non-official services
da2406b Rationalize logging helpers and docs
7edf9f7 Use Zuul v3 fetch-subunit-output
40d425c Merge user and users sections of the docs
26732e8 Change update/create method options
1149329 Remove the deprecated "giturl" option
6fefc92 Remove 'conditions' section in heat stack template
Diffstat (except docs and test files)
-------------------------------------
.zuul.yaml | 19 +-
README.rst | 101 +-
SHADE-MERGE-TODO.rst | 5 +-
.../contributor/create/examples/resource/fake.py | 11 +-
.../user/examples/create-server-name-or-id.py | 25 -
.../user/examples/service-conditional-overrides.py | 5 -
.../user/resources/baremetal/v1/port_group.rst | 12 +
.../user/resources/block_storage/v2/snapshot.rst | 21 +
.../user/resources/block_storage/v2/type.rst | 13 +
.../user/resources/block_storage/v2/volume.rst | 21 +
.../user/resources/clustering/v1/build_info.rst | 12 +
.../user/resources/clustering/v1/cluster.rst | 12 +
.../resources/clustering/v1/cluster_policy.rst | 13 +
.../user/resources/clustering/v1/policy_type.rst | 12 +
.../user/resources/clustering/v1/profile.rst | 12 +
.../user/resources/clustering/v1/profile_type.rst | 12 +
.../user/resources/clustering/v1/receiver.rst | 12 +
.../user/resources/compute/v2/server_interface.rst | 13 +
.../user/resources/identity/v2/extension.rst | 12 +
.../user/resources/identity/v3/credential.rst | 12 +
.../user/resources/key_manager/v1/container.rst | 12 +
.../user/resources/key_manager/v1/secret.rst | 12 +
.../resources/load_balancer/v2/health_monitor.rst | 13 +
.../user/resources/load_balancer/v2/l7_policy.rst | 12 +
.../user/resources/load_balancer/v2/l7_rule.rst | 12 +
.../user/resources/load_balancer/v2/listener.rst | 12 +
.../resources/load_balancer/v2/load_balancer.rst | 12 +
.../user/resources/load_balancer/v2/member.rst | 12 +
.../user/resources/load_balancer/v2/pool.rst | 12 +
.../user/resources/network/v2/address_scope.rst | 12 +
.../network/v2/auto_allocated_topology.rst | 13 +
.../resources/network/v2/availability_zone.rst | 13 +
.../user/resources/network/v2/floating_ip.rst | 12 +
.../user/resources/network/v2/health_monitor.rst | 13 +
.../user/resources/network/v2/load_balancer.rst | 12 +
.../user/resources/network/v2/metering_label.rst | 13 +
.../resources/network/v2/metering_label_rule.rst | 13 +
.../network/v2/network_ip_availability.rst | 13 +
.../user/resources/network/v2/pool_member.rst | 12 +
.../network/v2/qos_bandwidth_limit_rule.rst | 13 +
.../resources/network/v2/qos_dscp_marking_rule.rst | 13 +
.../network/v2/qos_minimum_bandwidth_rule.rst | 13 +
.../user/resources/network/v2/qos_policy.rst | 12 +
.../user/resources/network/v2/qos_rule_type.rst | 12 +
.../user/resources/network/v2/rbac_policy.rst | 12 +
.../user/resources/network/v2/security_group.rst | 13 +
.../resources/network/v2/security_group_rule.rst | 13 +
.../user/resources/network/v2/service_profile.rst | 13 +
.../user/resources/network/v2/service_provider.rst | 13 +
.../user/resources/network/v2/subnet_pool.rst | 12 +
.../user/resources/object_store/v1/account.rst | 12 +
.../user/resources/object_store/v1/container.rst | 12 +
.../user/resources/orchestration/v1/resource.rst | 12 +
.../user/resources/orchestration/v1/stack.rst | 12 +
.../user/resources/workflow/v2/execution.rst | 12 +
.../users/guides/clustering/profile_type.rst | 44 -
.../users/resources/baremetal/v1/chassis.rst | 12 -
.../users/resources/baremetal/v1/port_group.rst | 12 -
.../users/resources/block_storage/v2/snapshot.rst | 21 -
.../users/resources/block_storage/v2/type.rst | 13 -
.../users/resources/block_storage/v2/volume.rst | 21 -
.../users/resources/clustering/v1/action.rst | 12 -
.../users/resources/clustering/v1/build_info.rst | 12 -
.../users/resources/clustering/v1/cluster.rst | 12 -
.../resources/clustering/v1/cluster_policy.rst | 13 -
.../users/resources/clustering/v1/policy.rst | 12 -
.../users/resources/clustering/v1/policy_type.rst | 12 -
.../users/resources/clustering/v1/profile.rst | 12 -
.../users/resources/clustering/v1/profile_type.rst | 12 -
.../users/resources/clustering/v1/receiver.rst | 12 -
.../users/resources/compute/v2/extension.rst | 12 -
.../resources/compute/v2/server_interface.rst | 13 -
.../users/resources/compute/v2/server_ip.rst | 12 -
.../users/resources/database/v1/database.rst | 12 -
.../users/resources/database/v1/instance.rst | 12 -
.../users/resources/identity/v2/extension.rst | 12 -
.../users/resources/identity/v3/credential.rst | 12 -
.../users/resources/identity/v3/endpoint.rst | 12 -
.../users/resources/key_manager/v1/container.rst | 12 -
.../users/resources/key_manager/v1/order.rst | 12 -
.../users/resources/key_manager/v1/secret.rst | 12 -
.../resources/load_balancer/v2/health_monitor.rst | 13 -
.../users/resources/load_balancer/v2/l7_policy.rst | 12 -
.../users/resources/load_balancer/v2/l7_rule.rst | 12 -
.../users/resources/load_balancer/v2/listener.rst | 12 -
.../resources/load_balancer/v2/load_balancer.rst | 12 -
.../users/resources/load_balancer/v2/member.rst | 12 -
.../users/resources/load_balancer/v2/pool.rst | 12 -
.../users/resources/metric/v1/archive_policy.rst | 13 -
.../users/resources/metric/v1/capabilities.rst | 12 -
.../users/resources/network/v2/address_scope.rst | 12 -
.../network/v2/auto_allocated_topology.rst | 13 -
.../resources/network/v2/availability_zone.rst | 13 -
.../users/resources/network/v2/extension.rst | 12 -
.../users/resources/network/v2/floating_ip.rst | 12 -
.../users/resources/network/v2/health_monitor.rst | 13 -
.../users/resources/network/v2/load_balancer.rst | 12 -
.../users/resources/network/v2/metering_label.rst | 13 -
.../resources/network/v2/metering_label_rule.rst | 13 -
.../network/v2/network_ip_availability.rst | 13 -
.../users/resources/network/v2/pool_member.rst | 12 -
.../network/v2/qos_bandwidth_limit_rule.rst | 13 -
.../resources/network/v2/qos_dscp_marking_rule.rst | 13 -
.../network/v2/qos_minimum_bandwidth_rule.rst | 13 -
.../users/resources/network/v2/qos_policy.rst | 12 -
.../users/resources/network/v2/qos_rule_type.rst | 12 -
.../users/resources/network/v2/rbac_policy.rst | 12 -
.../users/resources/network/v2/security_group.rst | 13 -
.../resources/network/v2/security_group_rule.rst | 13 -
.../users/resources/network/v2/service_profile.rst | 13 -
.../resources/network/v2/service_provider.rst | 13 -
.../users/resources/network/v2/subnet_pool.rst | 12 -
.../users/resources/object_store/v1/account.rst | 12 -
.../users/resources/object_store/v1/container.rst | 12 -
.../users/resources/orchestration/v1/resource.rst | 12 -
.../users/resources/orchestration/v1/stack.rst | 12 -
.../users/resources/workflow/v2/execution.rst | 12 -
.../users/resources/workflow/v2/workflow.rst | 12 -
examples/cloud/cleanup-servers.py | 26 +
examples/cloud/create-server-dict.py | 35 +
examples/cloud/create-server-name-or-id.py | 38 +
examples/cloud/debug-logging.py | 18 +
examples/cloud/find-an-image.py | 19 +
examples/cloud/http-debug-logging.py | 18 +
examples/cloud/munch-dict-object.py | 19 +
examples/cloud/normalization.py | 19 +
examples/cloud/server-information.py | 34 +
examples/cloud/service-conditional-overrides.py | 17 +
examples/cloud/service-conditionals.py | 18 +
examples/cloud/strict-mode.py | 20 +
examples/cloud/upload-large-object.py | 22 +
examples/cloud/upload-object.py | 22 +
examples/cloud/user-agent.py | 18 +
examples/clustering/action.py | 37 +
examples/clustering/cluster.py | 172 ++
examples/clustering/event.py | 37 +
examples/clustering/node.py | 93 +
examples/clustering/policy.py | 16 +-
examples/clustering/policy_type.py | 6 +-
examples/clustering/profile.py | 16 +-
examples/clustering/profile_type.py | 6 +-
examples/clustering/receiver.py | 83 +
examples/image/create.py | 2 +-
examples/image/delete.py | 2 +-
examples/image/download.py | 2 +-
examples/image/list.py | 2 +-
openstack/__init__.py | 125 +-
openstack/_adapter.py | 17 +-
openstack/_log.py | 98 +-
openstack/baremetal/v1/_proxy.py | 4 +-
openstack/baremetal/v1/chassis.py | 4 +-
openstack/baremetal/v1/driver.py | 2 +-
openstack/baremetal/v1/node.py | 6 +-
openstack/baremetal/v1/port.py | 4 +-
openstack/baremetal/v1/port_group.py | 4 +-
openstack/baremetal/version.py | 10 +-
openstack/block_storage/v2/_proxy.py | 4 +-
openstack/block_storage/v2/snapshot.py | 30 +-
openstack/block_storage/v2/stats.py | 9 +-
openstack/block_storage/v2/type.py | 10 +-
openstack/block_storage/v2/volume.py | 58 +-
openstack/cloud/__init__.py | 66 +
openstack/cloud/_utils.py | 59 +-
openstack/cloud/cmd/inventory.py | 2 +-
openstack/cloud/inventory.py | 10 +-
openstack/cloud/meta.py | 31 +-
openstack/cloud/openstackcloud.py | 2663 ++++++++++++++++++-
openstack/cloud/operatorcloud.py | 2597 ------------------
openstack/clustering/v1/_proxy.py | 31 +-
openstack/clustering/v1/action.py | 2 +-
openstack/clustering/v1/build_info.py | 2 +-
openstack/clustering/v1/cluster.py | 4 +-
openstack/clustering/v1/cluster_attr.py | 2 +-
openstack/clustering/v1/cluster_policy.py | 2 +-
openstack/clustering/v1/event.py | 2 +-
openstack/clustering/v1/node.py | 4 +-
openstack/clustering/v1/policy.py | 6 +-
openstack/clustering/v1/policy_type.py | 2 +-
openstack/clustering/v1/profile.py | 6 +-
openstack/clustering/v1/profile_type.py | 2 +-
openstack/clustering/v1/receiver.py | 4 +-
openstack/clustering/v1/service.py | 2 +-
openstack/clustering/version.py | 2 +-
openstack/compute/v2/_proxy.py | 47 +-
openstack/compute/v2/availability_zone.py | 10 +-
openstack/compute/v2/extension.py | 16 +-
openstack/compute/v2/flavor.py | 31 +-
openstack/compute/v2/hypervisor.py | 42 +-
openstack/compute/v2/image.py | 34 +-
openstack/compute/v2/keypair.py | 25 +-
openstack/compute/v2/limits.py | 84 +-
openstack/compute/v2/server.py | 106 +-
openstack/compute/v2/server_group.py | 14 +-
openstack/compute/v2/server_interface.py | 16 +-
openstack/compute/v2/server_ip.py | 12 +-
openstack/compute/v2/service.py | 18 +-
openstack/compute/v2/volume_attachment.py | 16 +-
openstack/compute/version.py | 2 +-
openstack/config/cloud_region.py | 13 +-
openstack/config/loader.py | 8 +-
openstack/config/vendors/betacloud.json | 14 +
openstack/connection.py | 205 +-
openstack/database/v1/_proxy.py | 4 +-
openstack/database/v1/database.py | 2 +-
openstack/database/v1/flavor.py | 2 +-
openstack/database/v1/instance.py | 2 +-
openstack/database/v1/user.py | 2 +-
openstack/exceptions.py | 15 +-
openstack/identity/v2/_proxy.py | 2 +-
openstack/identity/v2/extension.py | 2 +-
openstack/identity/v2/role.py | 2 +-
openstack/identity/v2/tenant.py | 2 +-
openstack/identity/v2/user.py | 2 +-
openstack/identity/v3/_proxy.py | 2 +-
openstack/identity/v3/credential.py | 4 +-
openstack/identity/v3/domain.py | 4 +-
openstack/identity/v3/endpoint.py | 4 +-
openstack/identity/v3/group.py | 4 +-
openstack/identity/v3/policy.py | 4 +-
openstack/identity/v3/project.py | 4 +-
openstack/identity/v3/region.py | 4 +-
openstack/identity/v3/role.py | 2 +-
openstack/identity/v3/role_assignment.py | 2 +-
.../identity/v3/role_domain_group_assignment.py | 2 +-
.../identity/v3/role_domain_user_assignment.py | 2 +-
.../identity/v3/role_project_group_assignment.py | 2 +-
.../identity/v3/role_project_user_assignment.py | 2 +-
openstack/identity/v3/service.py | 4 +-
openstack/identity/v3/trust.py | 2 +-
openstack/identity/v3/user.py | 4 +-
openstack/identity/version.py | 2 +-
openstack/image/v1/_proxy.py | 2 +-
openstack/image/v1/image.py | 2 +-
openstack/image/v2/_proxy.py | 24 +-
openstack/image/v2/image.py | 142 +-
openstack/image/v2/member.py | 16 +-
openstack/key_manager/v1/_proxy.py | 4 +-
openstack/key_manager/v1/container.py | 25 +-
openstack/key_manager/v1/order.py | 30 +-
openstack/key_manager/v1/secret.py | 53 +-
openstack/load_balancer/v2/_proxy.py | 4 +-
openstack/load_balancer/v2/health_monitor.py | 2 +-
openstack/load_balancer/v2/l7_policy.py | 2 +-
openstack/load_balancer/v2/l7_rule.py | 2 +-
openstack/load_balancer/v2/listener.py | 2 +-
openstack/load_balancer/v2/load_balancer.py | 2 +-
openstack/load_balancer/v2/member.py | 2 +-
openstack/load_balancer/v2/pool.py | 2 +-
openstack/load_balancer/version.py | 2 +-
openstack/message/message_service.py | 3 +-
openstack/message/v1/__init__.py | 0
openstack/message/v1/_proxy.py | 93 -
openstack/message/v1/claim.py | 87 -
openstack/message/v1/message.py | 107 -
openstack/message/v1/queue.py | 34 -
openstack/message/v2/_proxy.py | 8 +-
openstack/message/v2/claim.py | 24 +-
openstack/message/v2/message.py | 24 +-
openstack/message/v2/queue.py | 20 +-
openstack/message/v2/subscription.py | 26 +-
openstack/message/version.py | 4 +-
openstack/meter/__init__.py | 0
openstack/meter/alarm/__init__.py | 0
openstack/meter/alarm/alarm_service.py | 24 -
openstack/meter/alarm/v2/__init__.py | 0
openstack/meter/alarm/v2/_proxy.py | 129 -
openstack/meter/alarm/v2/alarm.py | 91 -
openstack/meter/alarm/v2/alarm_change.py | 52 -
openstack/meter/meter_service.py | 24 -
openstack/meter/v2/__init__.py | 0
openstack/meter/v2/_proxy.py | 167 --
openstack/meter/v2/capability.py | 37 -
openstack/meter/v2/meter.py | 42 -
openstack/meter/v2/resource.py | 44 -
openstack/meter/v2/sample.py | 52 -
openstack/meter/v2/statistics.py | 62 -
openstack/metric/__init__.py | 0
openstack/metric/metric_service.py | 24 -
openstack/metric/v1/__init__.py | 0
openstack/metric/v1/_proxy.py | 28 -
openstack/metric/v1/archive_policy.py | 35 -
openstack/metric/v1/capabilities.py | 25 -
openstack/metric/v1/metric.py | 39 -
openstack/metric/v1/resource.py | 46 -
openstack/network/v2/_proxy.py | 8 +-
openstack/network/v2/address_scope.py | 2 +-
openstack/network/v2/agent.py | 2 +-
openstack/network/v2/auto_allocated_topology.py | 2 +-
openstack/network/v2/availability_zone.py | 2 +-
openstack/network/v2/extension.py | 2 +-
openstack/network/v2/flavor.py | 2 +-
openstack/network/v2/floating_ip.py | 4 +-
openstack/network/v2/health_monitor.py | 2 +-
openstack/network/v2/listener.py | 2 +-
openstack/network/v2/load_balancer.py | 2 +-
openstack/network/v2/metering_label.py | 2 +-
openstack/network/v2/metering_label_rule.py | 2 +-
openstack/network/v2/network.py | 2 +-
openstack/network/v2/network_ip_availability.py | 2 +-
openstack/network/v2/pool.py | 2 +-
openstack/network/v2/pool_member.py | 2 +-
openstack/network/v2/port.py | 2 +-
openstack/network/v2/qos_bandwidth_limit_rule.py | 2 +-
openstack/network/v2/qos_dscp_marking_rule.py | 2 +-
openstack/network/v2/qos_minimum_bandwidth_rule.py | 2 +-
openstack/network/v2/qos_policy.py | 2 +-
openstack/network/v2/qos_rule_type.py | 2 +-
openstack/network/v2/quota.py | 2 +-
openstack/network/v2/rbac_policy.py | 2 +-
openstack/network/v2/router.py | 2 +-
openstack/network/v2/security_group.py | 2 +-
openstack/network/v2/security_group_rule.py | 2 +-
openstack/network/v2/segment.py | 2 +-
openstack/network/v2/service_profile.py | 2 +-
openstack/network/v2/service_provider.py | 2 +-
openstack/network/v2/subnet.py | 2 +-
openstack/network/v2/subnet_pool.py | 2 +-
openstack/network/v2/vpn_service.py | 2 +-
openstack/network/version.py | 2 +-
openstack/object_store/v1/_base.py | 64 +-
openstack/object_store/v1/_proxy.py | 111 +-
openstack/object_store/v1/account.py | 17 +-
openstack/object_store/v1/container.py | 82 +-
openstack/object_store/v1/obj.py | 195 +-
openstack/orchestration/v1/_proxy.py | 4 +-
openstack/orchestration/v1/resource.py | 2 +-
openstack/orchestration/v1/software_config.py | 2 +-
openstack/orchestration/v1/software_deployment.py | 2 +-
openstack/orchestration/v1/stack.py | 2 +-
openstack/orchestration/v1/stack_environment.py | 2 +-
openstack/orchestration/v1/stack_files.py | 2 +-
openstack/orchestration/v1/stack_template.py | 7 +-
openstack/orchestration/v1/template.py | 2 +-
openstack/orchestration/version.py | 2 +-
openstack/profile.py | 98 +-
openstack/proxy.py | 158 +-
openstack/proxy2.py | 300 +--
openstack/resource.py | 1529 +++++------
openstack/resource2.py | 972 +------
openstack/service_description.py | 167 ++
openstack/task_manager.py | 4 +-
.../functional/meter/alarm/v2/test_alarm_change.py | 44 -
.../unit/orchestration/v1/test_stack_files.py | 2 +-
.../unit/orchestration/v1/test_stack_template.py | 26 +-
openstack/utils.py | 92 +-
openstack/workflow/v2/_proxy.py | 4 +-
openstack/workflow/v2/execution.py | 2 +-
openstack/workflow/v2/workflow.py | 2 +-
openstack/workflow/version.py | 2 +-
playbooks/devstack/post.yaml | 4 -
playbooks/devstack/pre.yaml | 8 -
playbooks/devstack/run.yaml | 3 -
.../notes/add-service-0bcc16eb026eade3.yaml | 5 +
.../notes/bug-2001080-de52ead3c5466792.yaml | 3 -
.../catch-up-release-notes-e385fad34e9f3d6e.yaml | 7 -
.../notes/deprecated-profile-762afdef0e8fc9e8.yaml | 6 +
...ailability_zone_extension-675c2460ebb50a09.yaml | 8 +
.../notes/remove-metric-fe5ddfd52b43c852.yaml | 5 +
.../removed-glanceclient-105c7fba9481b9be.yaml | 33 +-
.../notes/removed-meter-6f6651b6e452e000.yaml | 5 +
.../resource2-migration-835590b300bef621.yaml | 11 +
.../vendor-add-betacloud-03872c3485104853.yaml | 3 +
releasenotes/source/index.rst | 8 +-
releasenotes/source/mainline.rst | 5 -
releasenotes/source/mitaka.rst | 6 -
releasenotes/source/newton.rst | 6 -
releasenotes/source/unreleased.rst | 6 -
test-requirements.txt | 5 +-
tox.ini | 33 +-
744 files changed, 14214 insertions(+), 18473 deletions(-)
Requirements updates
--------------------
diff --git a/test-requirements.txt b/test-requirements.txt
index 4584371..cede4be 100644
--- a/test-requirements.txt
+++ b/test-requirements.txt
@@ -4,2 +3,0 @@
-hacking!=0.13.0,<0.14,>=0.12.0 # Apache-2.0
-
@@ -7 +4,0 @@ coverage!=4.4,>=4.0 # Apache-2.0
-doc8>=0.6.0 # Apache-2.0
@@ -13 +10 @@ python-subunit>=1.0.0 # Apache-2.0/BSD
-oslotest>=1.10.0 # Apache-2.0
+oslotest>=3.2.0 # Apache-2.0
1
0
We are satisfied to announce the release of:
oslo.versionedobjects 1.31.2: Oslo Versioned Objects library
This release is part of the queens release series.
The source is available from:
http://git.openstack.org/cgit/openstack/oslo.versionedobjects
Download the package from:
https://pypi.python.org/pypi/oslo.versionedobjects
Please report issues through launchpad:
http://bugs.launchpad.net/oslo.versionedobjects
For more details, please see below.
Changes in oslo.versionedobjects 1.31.1..1.31.2
-----------------------------------------------
c95f0c8 Handle TZ change in iso8601 >=0.1.12
92f1d77 Update UPPER_CONSTRAINTS_FILE for stable/queens
a62e0c5 Update .gitreview for stable/queens
Diffstat (except docs and test files)
-------------------------------------
.gitreview | 1 +
oslo_versionedobjects/_utils.py | 3 ++-
tox.ini | 2 +-
3 files changed, 4 insertions(+), 2 deletions(-)
1
0
We joyfully announce the release of:
python-barbicanclient 4.6.0: Client Library for OpenStack Barbican Key
Management API
This release is part of the queens release series.
The source is available from:
https://git.openstack.org/cgit/openstack/python-barbicanclient/
Download the package from:
https://tarballs.openstack.org/python-barbicanclient/
Please report issues through launchpad:
https://bugs.launchpad.net/python-barbicanclient/
For more details, please see below.
Changes in python-barbicanclient 4.5.2..4.6.0
---------------------------------------------
aba5275 Updated from global requirements
24db25c Updated from global requirements
4afb43a Pass OSC interface through to barbican plugin
535e2bf Fix some reST field lists in docstrings
92736b9 Updated from global requirements
a7df9d8 Avoid tox_install.sh for constraints support
15496e0 Switch to use new barbican endpoint
77eedac Updated from global requirements
e2c13b2 Updated from global requirements
2255ac8 Updated from global requirements
036416d Correct docs usage of keystoneauth1 session
1c6664d Updated from global requirements
56f252d Updated from global requirements
329d9b5 Updated from global requirements
Diffstat (except docs and test files)
-------------------------------------
README.rst | 2 +-
barbicanclient/client.py | 2 +-
barbicanclient/osc_plugin.py | 3 +-
barbicanclient/v1/client.py | 2 +-
.../cli/v1/behaviors/container_behaviors.py | 2 +-
.../cli/v1/behaviors/secret_behaviors.py | 4 +-
requirements.txt | 12 ++---
test-requirements.txt | 18 ++++----
tools/tox_install.sh | 53 ----------------------
tox.ini | 9 ++--
14 files changed, 44 insertions(+), 95 deletions(-)
Requirements updates
--------------------
diff --git a/requirements.txt b/requirements.txt
index 44da02a..2b0e705 100644
--- a/requirements.txt
+++ b/requirements.txt
@@ -6,6 +6,6 @@ requests>=2.14.2 # Apache-2.0
-six>=1.9.0 # MIT
-cliff>=2.8.0 # Apache-2.0
-keystoneauth1>=3.0.1 # Apache-2.0
-oslo.i18n!=3.15.2,>=2.1.0 # Apache-2.0
-oslo.serialization!=2.19.1,>=1.10.0 # Apache-2.0
-oslo.utils>=3.20.0 # Apache-2.0
+six>=1.10.0 # MIT
+cliff!=2.9.0,>=2.8.0 # Apache-2.0
+keystoneauth1>=3.3.0 # Apache-2.0
+oslo.i18n>=3.15.3 # Apache-2.0
+oslo.serialization!=2.19.1,>=2.18.0 # Apache-2.0
+oslo.utils>=3.33.0 # Apache-2.0
diff --git a/test-requirements.txt b/test-requirements.txt
index 4eedab7..946b65e 100644
--- a/test-requirements.txt
+++ b/test-requirements.txt
@@ -7,2 +7,2 @@ fixtures>=3.0.0 # Apache-2.0/BSD
-requests-mock>=1.1 # Apache-2.0
-mock>=2.0 # BSD
+requests-mock>=1.1.0 # Apache-2.0
+mock>=2.0.0 # BSD
@@ -10,5 +10,5 @@ testrepository>=0.0.18 # Apache-2.0/BSD
-testtools>=1.4.0 # MIT
-oslotest>=1.10.0 # Apache-2.0
-nose # LGPL
-oslo.config!=4.3.0,!=4.4.0,>=4.0.0 # Apache-2.0
-python-openstackclient!=3.10.0,>=3.3.0 # Apache-2.0
+testtools>=2.2.0 # MIT
+oslotest>=3.2.0 # Apache-2.0
+nose>=1.3.7 # LGPL
+oslo.config>=5.1.0 # Apache-2.0
+python-openstackclient>=3.12.0 # Apache-2.0
@@ -17,2 +17,2 @@ python-openstackclient!=3.10.0,>=3.3.0 # Apache-2.0
-sphinx>=1.6.2 # BSD
-openstackdocstheme>=1.11.0 # Apache-2.0
+sphinx!=1.6.6,>=1.6.2 # BSD
+openstackdocstheme>=1.18.1 # Apache-2.0
1
0
We are stoked to announce the release of:
karbor 1.0.0: Application Data Protection as a Service for OpenStack
This release is part of the queens stable release series.
The source is available from:
https://git.openstack.org/cgit/openstack/karbor
Download the package from:
https://tarballs.openstack.org/karbor/
Please report issues through launchpad:
https://bugs.launchpad.net/karbor
For more details, please see below.
Changes in karbor 0.6.0..1.0.0
------------------------------
bba9322 Add trigger verification in API
ac0a8e1 Remove the deprecated "giturl" option
86c2ebe Add description for policy file generation
1ae3466 Change the name of provider 'openstack-kubernetes'
f740efa Revert "Add time format check in API"
ed1f4b3 Updated from global requirements
4ab1905 Spec: Add Quotas to Karbor
a6b174d Fix image restore failed with file system bank
ae1d6c6 Add jsonschema validation for karbor copies API
947dc8f Remove repetitive body schema check for karbor API
36bc97d Fix the unit test error about k8s client
810f143 Add jsonschema validation for karbor quotas API
4ad7447 Add jsonschema validation for karbor verification API
95db269 Add jsonschema validation for karbor scheduled operations API
d75fba7 Add jsonschema validation for karbor triggers API
f4b59d9 Add jsonschema validation for checkpoint API
c5ae53d Add jsonschema validation for karbor restores API
d3d8e78 Updated from global requirements
38fa126 Add spec of json Schema Validation for Karbor API
209e700 Fix releasenotes build
8c1224e Make time trigger scheduling strategy configurable
99c45fb Updated from global requirements
c1f501e Remove setting of version/release from releasenotes
a0c0347 Updated from global requirements
Diffstat (except docs and test files)
-------------------------------------
api-ref/source/conf.py | 4 -
etc/providers.d/openstack-kubernetes.conf | 4 +-
karbor/api/schemas/checkpoints.py | 37 ++
karbor/api/schemas/copies.py | 37 ++
karbor/api/schemas/quota_classes.py | 27 ++
karbor/api/schemas/quotas.py | 28 ++
karbor/api/schemas/restores.py | 40 +++
karbor/api/schemas/scheduled_operations.py | 50 +++
karbor/api/schemas/triggers.py | 78 ++++
karbor/api/schemas/verifications.py | 38 ++
karbor/api/v1/copies.py | 14 +-
karbor/api/v1/plans.py | 30 --
karbor/api/v1/providers.py | 14 +-
karbor/api/v1/quota_classes.py | 3 +
karbor/api/v1/quotas.py | 3 +
karbor/api/v1/restores.py | 29 +-
karbor/api/v1/scheduled_operations.py | 8 +-
karbor/api/v1/triggers.py | 24 +-
karbor/api/v1/verifications.py | 19 +-
karbor/api/validation/parameter_types.py | 2 +-
karbor/common/config.py | 8 -
karbor/common/opts.py | 3 +-
karbor/services/operationengine/api.py | 3 +
.../operationengine/engine/triggers/__init__.py | 8 +-
.../engine/triggers/timetrigger/__init__.py | 46 +++
.../engine/triggers/timetrigger/time_trigger.py | 396 ++++++++-------------
.../timetrigger/time_trigger_multi_node.py | 253 +++++++++++++
.../timetrigger/timeformats/calendar_time.py | 35 +-
.../timetrigger/timeformats/crontab_time.py | 13 +-
.../engine/triggers/timetrigger/utils.py | 123 +++++++
karbor/services/operationengine/manager.py | 7 +
karbor/services/operationengine/rpcapi.py | 3 +
.../bank_plugins/file_system_bank_plugin.py | 2 +
karbor/services/protection/clients/cinder.py | 2 +-
karbor/services/protection/clients/k8s.py | 6 +-
.../triggers/timetrigger/test_time_trigger.py | 158 ++++----
.../timetrigger/test_time_trigger_multi_node.py | 281 +++++++++++++++
.../unit/plugins/test_pod_protectable_plugin.py | 6 +-
.../unit/plugins/test_volume_protectable_plugin.py | 8 +-
.../protection/test_file_system_bank_plugin.py | 6 +-
.../unit/protection/test_pod_protection_plugin.py | 8 +-
karbor/utils.py | 46 ---
releasenotes/source/conf.py | 10 +-
requirements.txt | 14 +-
test-requirements.txt | 8 +-
58 files changed, 2041 insertions(+), 618 deletions(-)
Requirements updates
--------------------
diff --git a/requirements.txt b/requirements.txt
index b73be98..25f378a 100644
--- a/requirements.txt
+++ b/requirements.txt
@@ -13 +13 @@ jsonschema<3.0.0,>=2.6.0 # MIT
-keystoneauth1>=3.2.0 # Apache-2.0
+keystoneauth1>=3.3.0 # Apache-2.0
@@ -15 +15 @@ keystonemiddleware>=4.17.0 # Apache-2.0
-kubernetes>=1.0.0 # Apache-2.0
+kubernetes>=4.0.0 # Apache-2.0
@@ -17 +17 @@ python-manilaclient>=1.16.0 # Apache-2.0
-oslo.config>=4.6.0 # Apache-2.0
+oslo.config>=5.1.0 # Apache-2.0
@@ -24 +24 @@ oslo.middleware>=3.31.0 # Apache-2.0
-oslo.policy>=1.23.0 # Apache-2.0
+oslo.policy>=1.30.0 # Apache-2.0
@@ -26 +26 @@ oslo.serialization!=2.19.1,>=2.18.0 # Apache-2.0
-oslo.service>=1.24.0 # Apache-2.0
+oslo.service!=1.28.1,>=1.24.0 # Apache-2.0
@@ -33 +33 @@ python-novaclient>=9.1.0 # Apache-2.0
-python-cinderclient>=3.2.0 # Apache-2.0
+python-cinderclient>=3.3.0 # Apache-2.0
@@ -38 +38 @@ python-neutronclient>=6.3.0 # Apache-2.0
-six>=1.9.0 # MIT
+six>=1.10.0 # MIT
diff --git a/test-requirements.txt b/test-requirements.txt
index 5c9f04a..1dbf108 100644
--- a/test-requirements.txt
+++ b/test-requirements.txt
@@ -9 +9 @@ croniter>=0.3.4 # MIT License
-python-subunit>=0.0.18 # Apache-2.0/BSD
+python-subunit>=1.0.0 # Apache-2.0/BSD
@@ -14,2 +14,2 @@ testscenarios>=0.4 # Apache-2.0/BSD
-testtools>=1.4.0 # MIT
-kubernetes>=1.0.0 # Apache-2.0
+testtools>=2.2.0 # MIT
+kubernetes>=4.0.0 # Apache-2.0
@@ -19 +19 @@ python-novaclient>=9.1.0 # Apache-2.0
-python-cinderclient>=3.2.0 # Apache-2.0
+python-cinderclient>=3.3.0 # Apache-2.0
1
0
We are tickled pink to announce the release of:
solum-dashboard 2.3.0: Solum Dashboard
This release is part of the queens release series.
Download the package from:
https://tarballs.openstack.org/solum-dashboard/
For more details, please see below.
Changes in solum-dashboard 2.2.0..2.3.0
---------------------------------------
fe30c1b Updated from global requirements
0a91159 Updated from global requirements
25c5a6f Updated from global requirements
c1f7d99 Remove mox from requirements
8d42e19 Updated from global requirements
ba0068b Updated from global requirements
2e24e7b Drop django_openstack_auth from requirements.txt
763d075 Updated from global requirements
c64cfeb Updated from global requirements
2415c3e Imported Translations from Zanata
b056b46 Updated from global requirements
78fd310 Updated from global requirements
6477704 Updated from global requirements
82b3860 Updated from global requirements
2b1d581 Adding docs venv and warning-is-error to doc building
46d9a5d Updated from global requirements
Diffstat (except docs and test files)
-------------------------------------
requirements.txt | 5 +-
setup.cfg | 1 +
solumdashboard/locale/django.pot | 219 --------------
solumdashboard/locale/djangojs.pot | 19 --
solumdashboard/locale/en_GB/LC_MESSAGES/django.po | 335 ++++++++++++++++++++++
test-requirements.txt | 17 +-
tox.ini | 3 +
7 files changed, 349 insertions(+), 250 deletions(-)
Requirements updates
--------------------
diff --git a/requirements.txt b/requirements.txt
index 2e18117..8b7cc00 100644
--- a/requirements.txt
+++ b/requirements.txt
@@ -8,2 +8 @@ django-compressor>=2.0 # MIT
-django-openstack-auth>=3.5.0 # Apache-2.0
-oslo.log>=3.22.0 # Apache-2.0
+oslo.log>=3.36.0 # Apache-2.0
@@ -13 +12 @@ python-solumclient>=1.2.7 # Apache-2.0
-oslo.utils>=3.20.0 # Apache-2.0
+oslo.utils>=3.33.0 # Apache-2.0
diff --git a/test-requirements.txt b/test-requirements.txt
index 08e404c..ee1aa9f 100644
--- a/test-requirements.txt
+++ b/test-requirements.txt
@@ -7,3 +7,2 @@ coverage!=4.4,>=4.0 # Apache-2.0
-mock>=2.0 # BSD
-mox3!=0.19.0,>=0.7.0 # Apache-2.0
-oslo.config!=4.3.0,!=4.4.0,>=4.0.0 # Apache-2.0
+mock>=2.0.0 # BSD
+oslo.config>=5.1.0 # Apache-2.0
@@ -14,2 +13,2 @@ testrepository>=0.0.18 # Apache-2.0/BSD
-testtools>=1.4.0 # MIT
-unittest2 # BSD
+testtools>=2.2.0 # MIT
+unittest2>=1.1.0 # BSD
@@ -17,4 +16,4 @@ unittest2 # BSD
-sphinx>=1.6.2 # BSD
-openstackdocstheme>=1.16.0 # Apache-2.0
-sphinxcontrib-pecanwsme>=0.8 # Apache-2.0
-sphinxcontrib-httpdomain # BSD
+sphinx!=1.6.6,>=1.6.2 # BSD
+openstackdocstheme>=1.18.1 # Apache-2.0
+sphinxcontrib-pecanwsme>=0.8.0 # Apache-2.0
+sphinxcontrib-httpdomain>=1.3.0 # BSD
1
0
We are tickled pink to announce the release of:
karbor-dashboard 1.0.0: Karbor Dashboard
This release is part of the queens release series.
The source is available from:
http://git.openstack.org/cgit/openstack/karbor-dashboard
Download the package from:
https://tarballs.openstack.org/karbor-dashboard/
Please report issues through launchpad:
http://bugs.launchpad.net/karbor-dashboard
For more details, please see below.
Changes in karbor-dashboard 0.5.0..1.0.0
----------------------------------------
bf31d5f 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 ac66d7e..82d06d7 100644
--- a/test-requirements.txt
+++ b/test-requirements.txt
@@ -24,2 +24,2 @@ selenium>=2.50.1 # Apache-2.0
-sphinx>=1.6.2 # BSD
-testtools>=1.4.0 # MIT
+sphinx!=1.6.6,>=1.6.2 # BSD
+testtools>=2.2.0 # MIT
1
0
We are overjoyed to announce the release of:
python-karborclient 1.0.0: Python client library for Karbor API
This release is part of the queens release series.
The source is available from:
https://git.openstack.org/cgit/openstack/python-karborclient
Download the package from:
https://pypi.python.org/pypi/python-karborclient
Please report issues through launchpad:
https://bugs.launchpad.net/python-karborclient
For more details, please see below.
Changes in python-karborclient 0.7.0..1.0.0
-------------------------------------------
604007c Updated from global requirements
4a5fe7d Updated from global requirements
194195a Fixed non-ascii in README.txt
b8726f4 Updated from global requirements
0b41772 Avoid tox_install.sh for constraints support
Diffstat (except docs and test files)
-------------------------------------
README.rst | 2 +-
requirements.txt | 8 ++++----
test-requirements.txt | 4 ++--
tools/tox_install.sh | 30 ------------------------------
tox.ini | 8 ++++----
5 files changed, 11 insertions(+), 41 deletions(-)
Requirements updates
--------------------
diff --git a/requirements.txt b/requirements.txt
index 1ae4092..464e858 100644
--- a/requirements.txt
+++ b/requirements.txt
@@ -6 +6 @@ PrettyTable<0.8,>=0.7.1 # BSD
-keystoneauth1>=3.2.0 # Apache-2.0
+keystoneauth1>=3.3.0 # Apache-2.0
@@ -11,3 +11,3 @@ six>=1.10.0 # MIT
-osc-lib>=1.7.0 # Apache-2.0
-oslo.utils>=3.31.0 # Apache-2.0
-oslo.log>=3.30.0 # Apache-2.0
+osc-lib>=1.8.0 # Apache-2.0
+oslo.utils>=3.33.0 # Apache-2.0
+oslo.log>=3.36.0 # Apache-2.0
diff --git a/test-requirements.txt b/test-requirements.txt
index 9e1d53c..9c18537 100644
--- a/test-requirements.txt
+++ b/test-requirements.txt
@@ -10 +10 @@ docutils>=0.11 # OSI-Approved Open Source, Public Domain
-sphinx>=1.6.2 # BSD
+sphinx!=1.6.6,>=1.6.2 # BSD
@@ -12 +12 @@ openstackdocstheme>=1.17.0 # Apache-2.0
-oslotest>=1.10.0 # Apache-2.0
+oslotest>=3.2.0 # Apache-2.0
1
0
We are pumped to announce the release of:
neutron-vpnaas-dashboard 1.2.0: Neutron VPNaaS Dashboard
This release is part of the queens release series.
The source is available from:
https://git.openstack.org/cgit/openstack/neutron-vpnaas-dashboard
Download the package from:
https://tarballs.openstack.org/neutron-vpnaas-dashboard/
Please report issues through launchpad:
https://bugs.launchpad.net/neutron-vpnaas-dashboard
For more details, please see below.
1.2.0
^^^^^
Bug Fixes
* Add support the attributes of IPsec site connection to be able to
get more formats like FQDN other than IP format. For more
information, see bug 1261127 (https://launchpad.net/bugs/1261127)
Changes in neutron-vpnaas-dashboard 1.1.0..1.2.0
------------------------------------------------
497b200 Fix the typo
d9ce89b Align tox_install.sh with other projects
e3981a1 Remove setting of version/release from releasenotes
e928e34 Updated from global requirements
1705fc5 .gitignore: add translation catalogs (.mo and .pot)
dca66a0 Disable status handling in VPN service table
9ecaa99 Use TextInput widget for readonly choice fields
c67e86b Use ThemableChoiceField
9ba0382 Allow peer_id and peer_address input formats other than IP address
e4bbb28 IPsec site connection should support id
0f2cf51 Cleanup unnessary reverse_lazy() in code
39741fb Cleanup unnessary ID attribute in code
0c380fb Fix VPN Service Details page
2e9b823 Add deliverables info
4654a7e Update tox from py34 to py35
5e3759e Updated from global requirements
e3156ce Use 'IPsec' consistently
e448fad Fix typo
Diffstat (except docs and test files)
-------------------------------------
.gitignore | 4 +
deliverables/pike/neutron-vpnaas-dashboard.yaml | 19 +++
deliverables/queens/neutron-vpnaas-dashboard.yaml | 10 ++
devstack/README.rst | 4 +-
neutron_vpnaas_dashboard/api/vpn.py | 84 ++++-----
.../dashboards/project/vpn/forms.py | 115 ++++++-------
.../dashboards/project/vpn/tables.py | 129 +++++++-------
.../dashboards/project/vpn/tabs.py | 44 ++---
.../vpn/templates/vpn/_add_ike_policy_help.html | 4 +-
.../vpn/templates/vpn/_add_ipsec_policy_help.html | 8 +-
.../vpn/templates/vpn/_add_vpn_service_help.html | 2 +-
.../vpn/_ipsecsiteconnection_details.html | 2 +-
.../vpn/templates/vpn/_update_ikepolicy.html | 2 +-
.../vpn/templates/vpn/_update_ipsecpolicy.html | 2 +-
.../templates/vpn/_update_ipsecsiteconnection.html | 2 +-
.../vpn/templates/vpn/_update_vpnservice.html | 2 +-
.../vpn/templates/vpn/_vpnservice_details.html | 4 +-
.../vpn/templates/vpn/update_ipsecpolicy.html | 2 +-
.../templates/vpn/update_ipsecsiteconnection.html | 2 +-
.../dashboards/project/vpn/urls.py | 12 +-
.../dashboards/project/vpn/views.py | 64 +++----
.../dashboards/project/vpn/workflows.py | 189 +++++++++++----------
.../test/test_data/vpnaas_data.py | 24 +--
...-to-ipsec-site-connection-e105363b9125b1ed.yaml | 6 +
releasenotes/source/conf.py | 11 +-
test-requirements.txt | 8 +-
tools/tox_install.sh | 127 ++++++--------
tox.ini | 5 +-
30 files changed, 451 insertions(+), 458 deletions(-)
Requirements updates
--------------------
diff --git a/test-requirements.txt b/test-requirements.txt
index 4492885..d6d9d83 100644
--- a/test-requirements.txt
+++ b/test-requirements.txt
@@ -12,2 +12,2 @@ mock>=2.0.0 # BSD
-mox3!=0.19.0,>=0.7.0 # Apache-2.0
-python-subunit>=0.0.18 # Apache-2.0/BSD
+mox3>=0.20.0 # Apache-2.0
+python-subunit>=1.0.0 # Apache-2.0/BSD
@@ -15 +15 @@ sphinx>=1.6.2 # BSD
-openstackdocstheme>=1.16.0 # Apache-2.0
+openstackdocstheme>=1.17.0 # Apache-2.0
@@ -18 +18 @@ testscenarios>=0.4 # Apache-2.0/BSD
-testtools>=1.4.0 # MIT
+testtools>=2.2.0 # MIT
1
0
We are overjoyed to announce the release of:
vitrage-dashboard 1.4.0: Vitrage Horizon plugin
This release is part of the queens release series.
Download the package from:
https://tarballs.openstack.org/vitrage-dashboard/
For more details, please see below.
1.4.0
^^^^^
New Features
************
* Added an extensible header section to the top bar to display the
current count of alarms present in the system.
* Heat stack filter added
* Heat stack, depth of graph added
Bug Fixes
*********
* Style fixes
* Logic for rerendering the graph change, now it also check names
Changes in vitrage-dashboard 1.3.0..1.4.0
-----------------------------------------
0764b3b show controllers in topology view show distinct icon for nova.scheduler type (controller)
4911947 Move enabled folder to vitrage_dashboard folder
6aba020 Drop django_openstack_auth from requirements.txt
8e72bc3 added release notes
5cb19cb Added release notes for the alarm-header blueprint
0bcf07e do not show place holders in query
231c2b8 Fix typo in dagre.core.js
b4b1640 resourceType: undefined in RCA graph fixed
bd26ceb Bugfixes: 1. When selecting heat in dropdown - alarm icon changed 2. Added name to Info panel 3. Remove 'is_real_vitrage_id' from info panel
92bd50f Display alarm counts in horizon navbar
ef59f90 pass the project domain id to the client
e3caa58 Vitrage - entity graph fixes: ============================= 1. Circles on entity graph are bigger 2. Alarms fixed - now shown on graph 3. Heat Stack icon added 4. Captions in entities info panel fixed. 5. Info Panel style fixed 6. Heat stack filter added 7. Heat stack - Depth of graph added 8. Bug - data change was checked just by number of nodes. Now it also check names
8be5a32 resource id is shown now in alarm list
1b092c5 Update reno for stable/pike
Diffstat (except docs and test files)
-------------------------------------
README.rst | 4 +-
devstack/plugin.sh | 2 +-
enabled/_4000_project_vitrage_panel_group.py | 18 -
enabled/_4010_project_topology_vitrage_panel.py | 31 --
enabled/_4020_project_alarms_vitrage_panel.py | 27 -
enabled/_4030_project_entities_vitrage_panel.py | 27 -
enabled/_4040_project_template_vitrage_panel.py | 27 -
enabled/_4100_admin_vitrage_panel_group.py | 18 -
enabled/_4110_admin_topology_vitrage_panel.py | 31 --
enabled/_4120_admin_alarms_vitrage_panel.py | 27 -
enabled/_4130_admin_entities_vitrage_panel.py | 27 -
.../notes/alarm-banner-7aa616e3f8e69171.yaml | 4 +
...h-filtered-by-heat-stacks-4643b7bcf6737631.yaml | 8 +
releasenotes/source/index.rst | 1 +
releasenotes/source/pike.rst | 6 +
requirements.txt | 1 -
.../alarms/templates/alarms/banner.html | 22 +
vitrage_dashboard/alarms/views.py | 14 +
vitrage_dashboard/api/vitrage.py | 41 +-
vitrage_dashboard/api/vitrage_rest_api.py | 26 +-
.../core/openstack-service-api/vitrage.service.js | 5 +-
.../dashboard/project/alarmList/alarmList.html | 2 +-
.../project/components/alarms/alarms.scss | 13 +
.../rca/rootCauseAnalysisGraph.directive.js | 460 ++++++++---------
.../project/entities/entities.controller.js | 560 ++++++++++++---------
.../dashboard/project/entities/entities.html | 8 +-
.../entities/graph/entities-graph.directive.js | 27 +-
.../entities/info/entities-info.directive.js | 52 +-
.../project/entities/info/entities-info.html | 12 +-
.../project/entities/info/entities-info.scss | 15 +-
.../entities/toolbox/entities-toolbox.directive.js | 9 +-
.../project/entities/toolbox/entities-toolbox.html | 12 +
.../project/entities/toolbox/entities-toolbox.scss | 5 +
.../project/services/vitrage_topology.service.js | 123 ++---
.../static/dashboard/project/vitrage.scss | 23 +
.../static/vendor/dagre/dist/dagre.core.js | 2 +-
.../enabled/_4000_project_vitrage_panel_group.py | 18 +
.../_4010_project_topology_vitrage_panel.py | 31 ++
.../enabled/_4020_project_alarms_vitrage_panel.py | 30 ++
.../_4030_project_entities_vitrage_panel.py | 27 +
.../_4040_project_template_vitrage_panel.py | 27 +
.../enabled/_4100_admin_vitrage_panel_group.py | 18 +
.../enabled/_4110_admin_topology_vitrage_panel.py | 31 ++
.../enabled/_4120_admin_alarms_vitrage_panel.py | 27 +
.../enabled/_4130_admin_entities_vitrage_panel.py | 27 +
45 files changed, 1118 insertions(+), 808 deletions(-)
Requirements updates
--------------------
diff --git a/requirements.txt b/requirements.txt
index 363740b..3ba6084 100644
--- a/requirements.txt
+++ b/requirements.txt
@@ -9 +8,0 @@ django-compressor>=2.0 # MIT
-django-openstack-auth>=3.1.0 # Apache-2.0
1
0
We are excited to announce the release of:
vitrage 2.0.0: The OpenStack RCA Service
This release is part of the queens release series.
The source is available from:
https://git.openstack.org/cgit/openstack/vitrage
Download the package from:
https://tarballs.openstack.org/vitrage/
For more details, please see below.
2.0.0
^^^^^
Prelude
*******
Vitrage Queens release contains many new features and bug fixes.
* Major changes were made in Vitrage templates. Version 2 was
introduced, and it includes features like:
* templates that contain only topology definitions
* regular expressions
* functions (get_attr)
The templates are now stored in a database, and there is a new API
for adding and deleting them.
* A support was added for webhook registration on Vitrage alarms.
The registered webhooks will be notified on every alarm state
change.
* There are significant performance enhancements, mostly around
parallel evaluation of the Vitrage templates.
New Features
************
* Created a new API to query alarm counts, with an optional
parameter to query for all_tenants. The path for the api is
"/v1/alarm/count/".
* Support Aodh Gnocchi threshold alarm.
* Added the option to import external "definition only" templates
(containing only entities and relationships) into a template and use
the imported definitions to create scenarios.
* Added an Event Persistor service that listens to the RabbitMQ2 (on
a different topic) and asynchronously writes the events to a
relational database. All events are stored after the filter/enrich
phase.
* Support querying Vitrage healthcheck status in Vitrage client and
displaying it in the console.
* Fixed multiple non-working tempest tests and added new ones,
increasing the number of running tests.
* A "version" field was added to the metadata section of Vitrage
templates, to allow future changes that are not backward-compatible.
The default version is 1.
* Support nested heat stacks in heat datasource.
* Parallel evaluation of Vitrage templates. The user can now specify
a number of workers to evaluate the templates. Each such worker,
holds a clone of the graph and will evaluate a portion of the
template scenarios. The number of workers defaults to the number of
available cores.
* Persisting of the current active actions. Scenarios that execute
the same actions are considered overlapping, Vitrage keeps track of
these actions, previously in-memory and now it is stored in the DB.
This allows for parallel evaluators.
* Register default policies in code. Support the community goal for
the Queens release.
* Refactored the "execute-mistral" action. All input parameters
should appear under an "input" section. The change takes effect in
template version 2. "execute-mistral" actions from version 1 are
automatically converted to the new format.
* The "aodh datasource" has been rewritten by using Aodh client, as
Ceilometer API is being removed. It also supports "ceilometer
datasource" with an older OpenStack version that contains the
Ceilometer API.
* A new service "SNMP parsing" is added. The service parses alarms
reported from SNMP managed systems and sends them to the OpenStack
message bus, for further processing by specific alarm datasources.
* Integration with Sql Alchemy. Allows for data and state to be kept
after restarts. And will also allow a shared data store for multiple
processes.
* Support functions in Vitrage templates version 2. The first
supported function is "get_attr" which allows retrieving attributes
from the matched entity in the graph. As the first stage this
function is supported only for "execute_mistral" action.
* Backend support for alarm show API. Return the alarm properties
for a specific alarm. Alarm is fetched according to "vitrage_id"
parameter. Path for the api is "/v1/alarm/_id_".
* Support "mark_down" action for instances via calling Nova "reset-
state" API.
* Added a mandatory "type" property to the templates metadata
section in version 2. The type Should be one of {standard,
definition, equivalence}
* Added support for template add and template delete. Templates can
now be added/removed by the API while vitrage is running (no restart
is required). Templates are stored in the database and remain after
restarting vitrage. Adding/removing a template at runtime preforms a
live update to the entity graph.
* Template fields can now contain regular expressions.
* Added support to register webhooks to the database. When these
webhooks are added and the webhook notifier option is enabled via
the config file, Vitrage will send notifications regarding alarm
state changes to the registered webhooks.
Changes in vitrage 1.8.0..2.0.0
-------------------------------
1779d80 read heat templates file from resources dir
fc008d6 Fixed the format of Queens prelude
a3de888 read static file from resources dir
2a52f51 Updated from global requirements
d7a1488 Add template delete and add to api description
56ed1e8 Templates api bug fix
352b7b9 Added a prelude for Vitrage release notes
fc11a63 template crud release notes
c85fb78 fix log formatting
df7a8c7 change the order of installation in gate
ccb212f Remove use of unsupported TEMPEST_SERVICES variable
92284a1 Rename 'type' to 'template_type'
7109664 change the kill mode for vitrage-graph service
33a4905 bugfix - subprocesses remain alive after vitrage-graph restart
1f36355 Added tempest tests for v2 template validate
3f7b5a7 Add type property to the template metadata
49bcbb1 allow multiple template deletion
0a7b3a9 suppress ResourceWarning: unclosed socket
9148ec0 template add validate fix backend
150cf5c Updated from global requirements
04adf86 Modify SNMP parsing config file
274c5b7 add support for webhooks
02995dd Add release note for SNMP parsing service
bf9ba86 fix policy name for alarm count
812848f add logging
8a35b62 Update the documentation of Vitrage architecture in Queens
4ec7fa8 Remove obsolete tempest-lib
06902fe fixed misspelling of openstack
f381a42 support adding and deleting templates without the need to restart vitrage.
fc1f0f2 Updated from global requirements
6ad1505 Fixed a typo in the release notes
648a894 bugfix - dict item removed during iteration
ede475c Add codes of sending parsed snmp trap to datasource
20600df Support template functions
f57d737 graph cloning logic extracted to base class
c9db3e0 Updated from global requirements
5b0c432 Remove obsolete code regarding predefined relationship names
9c47a11 Graph Persistor
060bdfd remove V318 hacking
a49d23f fix constants iteration
e0403bb Cleanup unused function
755a6a2 Update comments for ActiveActionsTracker
042858d Fix error in tests example
fe923cf Webhook release notes
fe3d05c Add alarm show to vitrage api documentation
26478fe add hacking check for assertEquals(True/False)
65af455 alarm show release notes and logging
387a3d5 add alarm show backend
b8cc22c Add parsing of snmp_traps for snmp_parsing service
4576523 Support per-version template loading + change execute_mistral structure
a593f3c add database table for templates
e5ffee3 revert json field to text in db
a4cc107 move test_configuration to functional tests
c4f7989 Avoid to overrdie entire policy file
ee726d5 dont fail test on rollback just print error
7629494 Add database configuration to unit tests
3e03f50 heat moved to policy in code
9bcb70f Updated from global requirements
9ad7b5f Updated from global requirements
6ee6ac8 TrivialFix: remove redandunt import alias
de26e6a Update docs build job for new documentation PTI jobs
a6ede3f dont run py27 and py35 in parallel
17a03d1 call super for setUpClass
eddcfe8 fix log exception parameters
31ffcb8 use force_delete to delete instances in rollback
2f04427 Updated from global requirements
539042f Revert "Add database configuration to unit tests"
0454e6b fix changing the policy file of heat
90778cf Add snmp_parsing service
6dc1e3a load manager tool fix
dbedd6b fix error message when resource not found
0996ffe remove eventlet and monkey patch
01fa841 support json field in db
0748f5f fix log exception
b166be3 Add database configuration to unit tests
4d222ed renew the installation document.
a6c2621 persistor test fix
4b1f7eb Add py35 jobs to the gate
87d5a2b Update template validation status codes doc
fec7f59 Refactor template loading
904ef6e Updated from global requirements
3e81c21 be more verbose when test fails
a6008e6 Fix the deprecated usage of "get_transport"
18d8407 remove redundant code
7dc4f24 tempest utility function
72f8164 use messaging instead of multiprocessing queue
561c683 Updated from global requirements
2a27ad3 Remove newline characters and change StandardError to Exception
7a89751 more tempest refactoring
fa05c09 don't run dsvm tests for document change
37142fa add releasenotes of support_mark_down_action_for_instance
fc9f3ed Added a version to Vitrage templates
90820c2 Release notes - aodh gnocchi threshold alarm
7c5edad Refactor template_content_validator
c35c393 consistency should not delete events
e5af719 remove neutron.port not related to instances
b242333 Added release notes alarm-counts-api blueprint
a5f8ee1 Updated from global requirements
ca822a9 Release notes for definition templates, template field regex and improved tempest tests
7e76cbb correct the installation procedure
1245df7 add tempest tests
915f97d Apply pep8 check to app.wsgi
8600b13 add note to doc
874c3dc Add releasenote about health check api
286b6a5 Vitrage-dbsync only create non existing tables
b07e6af Release notes
6c5b2c7 vitrage persistor service feature note
9e8b16f fix api doc
f6c4135 add release notes for nested stacks in heat
b2c4491 Added release notes for 'rewrite-aodh-datasource'
e2bb7be Added release notes for 'default policies in the code' goal
4bd5028 add default parameters to topology show
3d9ad8f Support different time formats for nagios last_check parameter
c708a67 Vitrage Persistor Service
b6f0fc9 Tempest tests fix
3bc3706 move the copy of templates to tests
29efbe4 fix the initialization error
885857c new e2e tempest to check actions
4b1ecac support 'mark_down' action for instances
511ec35 Added debug level log messages to Nagios
4f8787d Enhance event api allowing for different doctor alarm types
1c3ed3b add disable log.warn to hacking
8a86ff0 fix the name of 'aodh-api' service
c7736ad Updated from global requirements
2a859d6 fic api doc
9ea0438 parallel evaluation fixes
4dd2a0d fix py charm warnings and doc
84deef5 add hacking documentation
19f84d1 fix the exception of nova_notifier log
e549583 Removed unnecessary utf-8 encoding
024e9b1 add hacking module
b3e72ea xrange not supported in py3
a48dbc9 dont use mutable default parameter
d3ae72d Register default policies in code
5d94cc2 Bugfix - Evaluator notifications are not sent to notifier
0b7c37f fix documentation
501c064 Rewrite Aodh datasource
6bdab3e Tempest refactoring
9ecc256 Updated from global requirements
c8e4500 enable global index
d3c2193 Add make_pickleable_without_end_msg.
bb46cd5 support nested stack in heat
99bff12 Set number of evaluator workers to number of CPUs
e94e7a0 Support multiprocessing parallel evaluation of Vitrage templates.
386dd79 Zuul: add file extension to playbook path
98d268a Replacing six.iteritems() with .items()
c4afc57 Added support and documentation for regular expressions in template entity definitions Implements: blueprint entity-regex-definition
724097c filter out the manager and info section
cd72303 Store the Evaluator action tracker cache to db
7891dbc fix for template with definitions taken only from imported definition_template
53fc565 `cardinality_for` should be be chosen from `source`/`target`
fe6daf5 dont use raise_for_status
390d99a Updated from global requirements
b5f3a6b add templates with illegal yaml to template list
f41b74b Move legacy jobs to project
740bbf8 Add exception handling to the DBHook.
c73446b Fixed collectd mapper
abfa48d add aodh gnocchi threshold alarm
0602dd5 add action_id in scenario repository 1. Identifiable actions allow for fetching specific actions (will be used in a future commit) 2. Solve action tracker bug, it relies on uniqueness of scenario_id instead of action_id
bf8a2d4 port driver properties to filter out
335ccab read realm from user info of keycloak
462412c fix tempest cli test
d3f7b7d fix the vitrage title
be733ea Support the option to include definition template files in Vitrage templates.
fd4159b Moving vitrage_id logic to transformer
1ecb33c add title to services
6238601 support regex in collectd config
d96aa2c Updated from global requirements
63aa567 Update the documentation link for doc migration
cce475a sqlalchemy initial commit
67e347d Fix some reST field lists in docstrings
5090d94 Updated from global requirements
1b4f6d2 add dependency for systemd services
fc79650 add some debug information
cf966fd Clean up screen and tail_log references
9dc55bf Add default backend for healthcheck
9834acf Remove unnecessary shebang directive from tempest.conf
61fb7b3 Updated from global requirements
34e9e3c misc typo and docstring fix
8f58b2a Fix some reST field lists in docstrings
46f6ca8 fix requirements
15561aa remove duplicate constant
ce97f8e py35 doesn't have xrange
ba31b77 Updated from global requirements
b2adbe1 Add ssl support for keycloak auth middleware
b50f2b6 Removes unnecessary utf-8 encoding
a9966a5 machine learning rst
0dfee2f Updated from global requirements
741b464 Remove usage of parameter enforce_type
dfd9c31 Documentation for template configuration
63bcccc enable listener service to get list of elements in enriched_events
074ea94 Update Vitrage architecture diagram
6ee5738 fix rpc transport
3d63af5 minor changes in gate hook
99cc705 Fix a bug in the profiler serializer.
7cd46bd change the way heat client is created
f9636aa Remove rescheduler from snapshot service, use timers and threads.
4ade92d Update profiler configuration with redis backend
43f7ea6 Tempest test for Vitrage integration with Mistral
2b6fc05 make tempest work under py3
ab2cdbe Update reno for stable/pike
17b0322 Implements alarm counts API
2cacde9 Replace six.itervalues with dict.values()
Diffstat (except docs and test files)
-------------------------------------
.gitignore | 2 +
.zuul.yaml | 88 +++
CONTRIBUTING.rst | 4 +-
HACKING.rst | 20 +-
README.rst | 2 +-
devstack/files/tempest/tempest.conf | 1 -
devstack/gate_hook.sh | 15 +-
devstack/plugin.sh | 79 ++-
devstack/post_test_hook.sh | 35 +-
devstack/settings | 12 +-
.../datasource-snmp-parsing-support.rst | 94 +++
.../images/vitrage_graph_architecture.png | Bin 269090 -> 225491 bytes
.../template_validation_status_code.rst | 20 +
etc/vitrage/api-paste.ini | 2 +
etc/vitrage/policy.json | 15 -
.../templates.sample/host_down_scenarios.yaml | 4 +
etc/vitrage/vitrage-config-generator.conf | 1 +
etc/vitrage/vitrage-policy-generator.conf | 3 +
playbooks/legacy/vitrage-dsvm-api-py27/post.yaml | 80 +++
playbooks/legacy/vitrage-dsvm-api-py27/run.yaml | 82 +++
playbooks/legacy/vitrage-dsvm-api-py35/post.yaml | 80 +++
playbooks/legacy/vitrage-dsvm-api-py35/run.yaml | 82 +++
.../legacy/vitrage-dsvm-datasources-py27/post.yaml | 80 +++
.../legacy/vitrage-dsvm-datasources-py27/run.yaml | 82 +++
.../legacy/vitrage-dsvm-datasources-py35/post.yaml | 80 +++
.../legacy/vitrage-dsvm-datasources-py35/run.yaml | 82 +++
.../notes/Vitrage_ID-93737ff7b7ced8e9.yaml | 2 +-
.../notes/alarm_count_api-057138c8e0a36443.yaml | 4 +
...aodh_gnocchi_thresh_alarm-a529ec4f50f3cb0c.yaml | 3 +
.../definition_templates-6c2c10bb3e6912a1.yaml | 5 +
.../notes/event_persistor-1b0b4563cc219915.yaml | 5 +
.../notes/health-check-api-19f180a104c7fa29.yaml | 4 +
...ntroduce-template-version-55bca9fc4e7d138f.yaml | 5 +
.../notes/nested_stacks-fddbfa1f79b2ef43.yaml | 3 +
.../parallel_evaluation-db8660ef3ff5b864.yaml | 7 +
...ist_overlapping_scenarios-d426dffdf3d11094.yaml | 6 +
.../notes/policies-in-code-dd3f1490f7f5b3eb.yaml | 4 +
.../notes/queens-prelude-a00e64274e8e64be.yaml | 21 +
...or-execute-mistral-action-fc0fac84c07e1784.yaml | 6 +
.../rewrite-aodh-datasource-4968c32c1c5b81f1.yaml | 5 +
.../notes/snmp_parsing-1a5c4645ce832ee3.yaml | 4 +
.../notes/sql_integration-c33342d100492ceb.yaml | 5 +
...upport-template-functions-dcb2d2e1e63e9a5d.yaml | 6 +
.../support_alarm_show_api-0b001dd185e2e523.yaml | 5 +
...rt_mark_down_for_instance-179b04c693f17787.yaml | 4 +
.../notes/template-type-4587ad6a39130170.yaml | 4 +
.../notes/template_crud-91baea2ed68291f0.yaml | 8 +
.../notes/template_regex-8cb58f5e4438c11a.yaml | 3 +
releasenotes/notes/webhooks-139aeaaab7119302.yaml | 5 +
releasenotes/source/conf.py | 1 -
releasenotes/source/index.rst | 1 +
releasenotes/source/pike.rst | 6 +
requirements.txt | 37 +-
run_vitrage_tempest.sh | 31 -
setup.cfg | 12 +
test-requirements.txt | 41 +-
tools/load_generator/load_generator.py | 6 +-
tox.ini | 15 +-
vitrage/api/app.py | 3 +-
vitrage/api/app.wsgi | 4 +-
vitrage/api/controllers/root.py | 2 +-
vitrage/api/controllers/v1/alarm.py | 57 +-
vitrage/api/controllers/v1/count.py | 56 ++
vitrage/api/controllers/v1/event.py | 6 +-
vitrage/api/controllers/v1/rca.py | 6 +-
vitrage/api/controllers/v1/resource.py | 29 +-
vitrage/api/controllers/v1/root.py | 2 +
vitrage/api/controllers/v1/template.py | 135 ++++-
vitrage/api/controllers/v1/topology.py | 15 +-
vitrage/api/controllers/v1/webhook.py | 141 +++++
vitrage/api/hooks.py | 17 +-
vitrage/api_handler/apis/alarm.py | 60 +-
vitrage/api_handler/apis/base.py | 2 -
vitrage/api_handler/apis/event.py | 15 +-
vitrage/api_handler/apis/rca.py | 14 +-
vitrage/api_handler/apis/resource.py | 37 +-
vitrage/api_handler/apis/template.py | 182 +++---
vitrage/api_handler/apis/topology.py | 58 +-
vitrage/api_handler/apis/webhook.py | 153 +++++
vitrage/api_handler/service.py | 21 +-
vitrage/cli/__init__.py | 31 +
vitrage/cli/api.py | 3 +
vitrage/cli/collector.py | 3 +
vitrage/cli/graph.py | 48 +-
vitrage/cli/machine_learning.py | 2 +
vitrage/cli/notifier.py | 2 +
vitrage/cli/persistor.py | 37 ++
vitrage/cli/snmp_parsing.py | 32 +
vitrage/cli/storage.py | 23 +
vitrage/common/constants.py | 38 +-
vitrage/common/exception.py | 4 +
vitrage/common/policies/__init__.py | 33 +
vitrage/common/policies/alarms.py | 80 +++
vitrage/common/policies/base.py | 14 +
vitrage/common/policies/event.py | 34 ++
vitrage/common/policies/rca.py | 45 ++
vitrage/common/policies/resource.py | 58 ++
vitrage/common/policies/template.py | 79 +++
vitrage/common/policies/topology.py | 49 ++
vitrage/common/policies/webhook.py | 82 +++
vitrage/common/utils.py | 29 +
vitrage/datasources/aodh/driver.py | 207 ++++---
vitrage/datasources/aodh/properties.py | 13 +
vitrage/datasources/aodh/transformer.py | 5 +-
vitrage/datasources/ceilometer/__init__.py | 44 ++
vitrage/datasources/ceilometer/driver.py | 385 ++++++++++++
vitrage/datasources/ceilometer/properties.py | 53 ++
vitrage/datasources/ceilometer/transformer.py | 167 +++++
.../collectd/collectd_vitrage/plugin.py | 4 +-
.../collectd/collectd_vitrage/vitrageplugin.py | 2 +-
vitrage/datasources/collectd/driver.py | 11 +-
vitrage/datasources/collectd/mapper.py | 55 ++
vitrage/datasources/collector_notifier.py | 9 +-
vitrage/datasources/doctor/driver.py | 5 +-
vitrage/datasources/doctor/properties.py | 2 +
vitrage/datasources/driver_base.py | 25 +-
vitrage/datasources/heat/stack/driver.py | 25 +-
vitrage/datasources/listener_service.py | 9 +-
vitrage/datasources/nagios/parser.py | 10 +
vitrage/datasources/nagios/transformer.py | 2 -
vitrage/datasources/neutron/network/driver.py | 5 +
vitrage/datasources/neutron/port/driver.py | 9 +-
vitrage/datasources/rescheduler.py | 205 -------
vitrage/datasources/services.py | 52 +-
vitrage/datasources/transformer_base.py | 52 +-
.../datasources/zabbix/auxiliary/zabbix_vitrage.py | 4 +-
vitrage/db/__init__.py | 15 -
vitrage/entity_graph/__init__.py | 2 +
.../consistency/consistency_enforcer.py | 17 +-
vitrage/entity_graph/consistency/service.py | 13 +-
vitrage/entity_graph/graph_clone/__init__.py | 14 +
vitrage/entity_graph/graph_clone/base.py | 126 ++++
vitrage/entity_graph/processor/processor.py | 152 +----
vitrage/entity_graph/processor/processor_utils.py | 10 -
vitrage/entity_graph/service.py | 150 +++--
vitrage/entity_graph/transformer_manager.py | 4 -
vitrage/entity_graph/vitrage_init.py | 83 ++-
vitrage/evaluator/__init__.py | 17 +-
vitrage/evaluator/actions/action_executor.py | 17 +-
.../actions/evaluator_event_transformer.py | 4 +-
vitrage/evaluator/actions/priority_tools.py | 22 +-
.../evaluator/actions/recipes/execute_mistral.py | 1 +
vitrage/evaluator/base.py | 12 +-
vitrage/evaluator/condition.py | 1 -
vitrage/evaluator/equivalence_data.py | 63 --
vitrage/evaluator/equivalence_repository.py | 23 +-
vitrage/evaluator/evaluator_service.py | 106 ++++
vitrage/evaluator/scenario_evaluator.py | 383 +++++++++---
vitrage/evaluator/scenario_repository.py | 164 +++--
vitrage/evaluator/template_data.py | 361 ++---------
vitrage/evaluator/template_db/__init__.py | 15 +
.../evaluator/template_db/template_repository.py | 118 ++++
vitrage/evaluator/template_fields.py | 2 +
vitrage/evaluator/template_functions/__init__.py | 15 +
.../evaluator/template_functions/v2/__init__.py | 15 +
.../evaluator/template_functions/v2/functions.py | 78 +++
vitrage/evaluator/template_loader_service.py | 120 ++++
vitrage/evaluator/template_loading/__init__.py | 14 +
.../template_loading/equivalence_loader.py | 63 ++
.../evaluator/template_loading/props_converter.py | 49 ++
.../evaluator/template_loading/scenario_loader.py | 172 ++++++
.../evaluator/template_loading/subgraph_builder.py | 76 +++
.../evaluator/template_loading/template_loader.py | 191 ++++++
vitrage/evaluator/template_loading/v1/__init__.py | 15 +
.../evaluator/template_loading/v1/action_loader.py | 37 ++
.../template_loading/v1/execute_mistral_loader.py | 29 +
vitrage/evaluator/template_schema_factory.py | 42 ++
vitrage/evaluator/template_schemas.py | 93 +++
vitrage/evaluator/template_validation/__init__.py | 44 ++
vitrage/evaluator/template_validation/base.py | 4 +
.../content/add_causal_relationship_validator.py | 73 ---
.../evaluator/template_validation/content/base.py | 24 +
.../content/execute_mistral_validator.py | 41 --
.../content/mark_down_validator.py | 44 --
.../content/raise_alarm_validator.py | 54 --
.../content/set_state_validator.py | 50 --
.../content/template_content_validator.py | 319 ++--------
.../template_validation/content/v1/__init__.py | 15 +
.../v1/add_causal_relationship_validator.py | 73 +++
.../content/v1/definitions_validator.py | 215 +++++++
.../content/v1/execute_mistral_validator.py | 47 ++
.../content/v1/mark_down_validator.py | 44 ++
.../content/v1/metadata_validator.py | 29 +
.../content/v1/raise_alarm_validator.py | 54 ++
.../content/v1/scenario_validator.py | 193 ++++++
.../content/v1/set_state_validator.py | 50 ++
.../template_validation/content/v2/__init__.py | 15 +
.../content/v2/execute_mistral_validator.py | 58 ++
.../content/v2/metadata_validator.py | 45 ++
.../template_validation/status_messages.py | 26 +-
.../template_syntax_validator.py | 142 ++++-
vitrage/graph/algo_driver/algorithm.py | 1 -
vitrage/graph/algo_driver/networkx_algorithm.py | 13 +-
vitrage/graph/driver/elements.py | 3 +-
vitrage/graph/driver/graph.py | 5 +-
vitrage/graph/driver/networkx_graph.py | 38 +-
vitrage/graph/filter.py | 15 +-
vitrage/graph/query.py | 6 +-
vitrage/graph/utils.py | 24 +-
vitrage/hacking/__init__.py | 0
vitrage/hacking/checks.py | 168 ++++++
vitrage/i18n.py | 2 +-
vitrage/keystone_client.py | 35 +-
vitrage/messaging.py | 21 +-
vitrage/middleware/keycloak.py | 93 ++-
vitrage/notifier/plugins/aodh/aodh_notifier.py | 8 +-
.../notifier/plugins/mistral/mistral_notifier.py | 5 +-
vitrage/notifier/plugins/nova/__init__.py | 5 +
vitrage/notifier/plugins/nova/nova_notifier.py | 28 +-
vitrage/notifier/plugins/snmp/snmp_sender.py | 2 +-
vitrage/notifier/plugins/webhook/__init__.py | 27 +
vitrage/notifier/plugins/webhook/utils.py | 26 +
vitrage/notifier/plugins/webhook/webhook.py | 139 +++++
vitrage/opts.py | 15 +-
vitrage/os_clients.py | 34 +-
vitrage/persistency/__init__.py | 29 +
vitrage/persistency/graph_persistor.py | 59 ++
vitrage/persistency/service.py | 77 +++
vitrage/rpc.py | 25 +-
vitrage/service.py | 2 +
vitrage/snmp_parsing/__init__.py | 24 +
vitrage/snmp_parsing/properties.py | 19 +
vitrage/snmp_parsing/service.py | 164 +++++
vitrage/storage/__init__.py | 52 ++
vitrage/storage/base.py | 240 ++++++++
vitrage/storage/impl_sqlalchemy.py | 344 +++++++++++
vitrage/storage/sqlalchemy/__init__.py | 15 +
vitrage/storage/sqlalchemy/models.py | 197 ++++++
.../functional/datasources/ceilometer/__init__.py | 15 +
.../datasources/ceilometer/test_ceilometer.py | 94 +++
.../datasources/cinder/test_cinder_volume.py | 2 +-
.../datasources/collectd/test_collectd.py | 18 +-
.../functional/datasources/heat/test_heat_stack.py | 2 +-
.../datasources/listener_service/__init__.py | 15 +
.../listener_service/test_listener_service.py | 76 +++
.../functional/datasources/nagios/test_nagios.py | 2 +-
.../datasources/nova/test_nova_datasources.py | 2 +-
.../static_physical/test_static_physical.py | 2 +-
.../entity_graph/consistency/test_consistency.py | 33 +-
.../entity_graph/graph_persistor/__init__.py | 15 +
.../graph_persistor/test_graph_persistor.py | 94 +++
.../entity_graph/processor/test_processor.py | 2 +-
.../states/test_datasource_info_mapper.py | 3 +-
.../functional/evaluator/test_action_executor.py | 92 ++-
.../evaluator/test_scenario_evaluator.py | 90 +--
.../driver/driver_stack_snapshot_dynamic.json | 2 +-
.../driver/driver_zabbix_snapshot_dynamic.json | 3 +-
.../mock_configurations/edges/attached.json | 5 +
.../mock_configurations/edges/contains.json | 5 +
.../resources/mock_configurations/edges/on.json | 5 +
.../vertices/cinder.volume.json | 19 +
.../vertices/neutron.network.json | 15 +
.../mock_configurations/vertices/neutron.port.json | 18 +
.../mock_configurations/vertices/nova.host.json | 11 +
.../vertices/nova.instance.json | 17 +
.../mock_configurations/vertices/nova.zone.json | 14 +
.../vertices/openstack-cluster.json | 13 +
.../vertices/tripleo.controller.json | 13 +
.../vertices/vitrage.alarm.json | 18 +
.../mock_configurations/vertices/zabbix.json | 18 +
.../resources/snmp_parsing/snmp_parsing_conf.yaml | 3 +
.../definition_templates/basic_def_template.yaml | 22 +
.../definition_templates/large_def_template.yaml | 43 ++
.../definition_templates/single_entity.yaml | 10 +
.../definition_templates/with_include.yaml | 22 +
.../definition_templates/with_scenarios.yaml | 30 +
.../templates/basic_with_include.yaml | 26 +
.../basic_with_include_that_doesnt_exist.yaml | 32 +
.../templates/basic_with_two_includes.yaml | 34 ++
.../templates/include_with_empty_name.yaml | 25 +
.../templates/no_definitions_only_include.yaml | 15 +
.../only_using_def_template_definitions.yaml | 36 ++
.../with_conflicting_include_entities.yaml | 16 +
.../resources/templates/general/bad_yaml.yaml | 24 +
...t_high_cpu_load_to_instance_cpu_suboptimal.yaml | 4 +-
.../resources/templates/regex/basic_regex.yaml | 32 +
.../templates/regex/basic_regex_for_fail.yaml | 32 +
.../resources/templates/regex/faulty_regex.yaml | 32 +
.../templates/regex/regex_for_exact_match.yaml | 32 +
.../templates/version/invalid_version.yaml | 30 +
.../resources/templates/version/no_version.yaml | 29 +
.../templates/version/v1/v1_execute_mistral.yaml | 29 +
.../resources/templates/version/v1/version1.yaml | 30 +
.../templates/version/v2/v2_execute_mistral.yaml | 31 +
.../templates/version/v2/v2_standard.yaml | 32 +
.../templates/version/v2/v2_with_func.yaml | 31 +
.../datasources/aodh/aodh_transformer_base_test.py | 230 +++----
.../unit/datasources/aodh/test_aodh_driver.py | 597 +++++++++++-------
.../unit/datasources/aodh/test_aodh_transformer.py | 315 +++++-----
.../ceilometer/ceilometer_transformer_base_test.py | 119 ++++
.../unit/datasources/ceilometer/mock_driver.py | 27 +
.../ceilometer/test_ceilometer_driver.py | 390 ++++++++++++
.../ceilometer/test_ceilometer_transformer.py | 165 +++++
.../cinder/test_cinder_volume_transformer.py | 14 +-
.../datasources/collectd/test_collectd_driver.py | 1 +
.../collectd/test_collectd_transformer.py | 17 +-
.../consistency/test_consistency_transformer.py | 1 +
.../datasources/doctor/test_doctor_transformer.py | 17 +-
.../heat/test_heat_stack_transformer.py | 13 +-
.../unit/datasources/nagios/test_nagios_config.py | 1 +
.../unit/datasources/nagios/test_nagios_driver.py | 1 +
.../datasources/nagios/test_nagios_transformer.py | 40 +-
.../datasources/nova/test_nova_host_transformer.py | 21 +-
.../nova/test_nova_instance_transformer.py | 30 +-
.../datasources/nova/test_nova_zone_transformer.py | 16 +-
.../unit/datasources/static/test_static_driver.py | 1 +
.../datasources/static/test_static_transformer.py | 6 +-
.../static_physical/test_static_physical_driver.py | 1 +
.../test_static_physical_transformer.py | 14 +-
.../datasources/test_datasource_update_method.py | 1 +
.../unit/datasources/test_rescheduler_functions.py | 212 -------
.../zabbix/test_zabbix_configuration.py | 1 +
.../unit/datasources/zabbix/test_zabbix_driver.py | 3 +-
.../datasources/zabbix/test_zabbix_transformer.py | 20 +-
.../unit/entity_graph/processor/test_processor.py | 2 +-
.../unit/entity_graph/test_processor_service.py | 72 +++
.../unit/entity_graph/test_transformer_manager.py | 1 +
.../recipes/test_add_causal_relationship_recipe.py | 7 +-
.../unit/evaluator/recipes/test_execute_mistral.py | 5 +-
.../unit/evaluator/recipes/test_raise_alarm.py | 7 +-
.../evaluator/recipes/test_set_state_recipe.py | 4 +-
.../unit/evaluator/template_functions/__init__.py | 15 +
.../template_functions/test_template_functions.py | 59 ++
.../unit/evaluator/template_loading/__init__.py | 15 +
.../unit/evaluator/template_loading/v2/__init__.py | 15 +
.../template_loading/v2/test_template_loader.py | 51 ++
.../evaluator/template_validation/content/base.py | 7 +
.../content/base_test_execute_mistral_validator.py | 137 +++++
.../test_add_causal_relationship_validator.py | 111 ----
.../content/test_execute_mistral_validator.py | 99 ---
.../content/test_mark_down_validator.py | 61 --
.../content/test_raise_alarm_validator.py | 95 ---
.../content/test_set_state_validator.py | 83 ---
.../content/test_template_content_validator.py | 115 +++-
.../template_validation/content/v1/__init__.py | 15 +
.../v1/test_add_causal_relationship_validator.py | 111 ++++
.../content/v1/test_execute_mistral_validator.py | 93 +++
.../content/v1/test_mark_down_validator.py | 61 ++
.../content/v1/test_metadata_validator.py | 62 ++
.../content/v1/test_raise_alarm_validator.py | 95 +++
.../content/v1/test_set_state_validator.py | 83 +++
.../template_validation/content/v2/__init__.py | 15 +
.../content/v2/test_execute_mistral_validator.py | 115 ++++
.../content/v2/test_metadata_validator.py | 57 ++
.../test_def_template_syntax_validator.py | 75 +++
.../test_template_syntax_validator.py | 62 +-
.../unit/evaluator/test_equivalence_loader.py | 55 ++
.../unit/evaluator/test_equivalence_repository.py | 16 +-
.../unit/evaluator/test_scenario_evaluator.py | 48 ++
.../unit/evaluator/test_scenario_repository.py | 118 +++-
.../test_jaccard_correlation.py | 4 +-
.../notifier/snmp_notifier/test_snmp_notifier.py | 2 +
.../test_snmp_sender_with_severity_map.py | 2 +
.../test_snmp_sender_without_severity_map.py | 2 +
vitrage/utils/datetime.py | 5 +-
vitrage/utils/evaluator.py | 24 +
.../templates/api/basic_def_template.yaml | 22 +
.../templates/api/basic_equivalence_templates.yaml | 21 +
.../templates/api/e2e_test_basic_actions.yaml | 113 ++++
.../api/e2e_test_overlapping_actions.yaml | 131 ++++
.../e2e_test_template_actions.yaml | 66 ++
.../e2e_test_template_actions_2.yaml | 66 ++
.../resources/templates/api/e2e_webhooks.yaml | 29 +
.../templates/api/equivalence_template.yaml | 12 +
.../api/host_high_memory_usage_scenarios.yaml | 73 +++
.../templates/api/v1_execute_mistral.yaml | 29 +
.../templates/api/v2_definition_template.yaml | 30 +
.../templates/api/v2_equivalence_template.yaml | 14 +
.../templates/api/v2_execute_mistral.yaml | 49 ++
.../templates/api/v2_no_type_template.yaml | 21 +
480 files changed, 19819 insertions(+), 5681 deletions(-)
Requirements updates
--------------------
diff --git a/requirements.txt b/requirements.txt
index 75e0ede..6c7857e 100644
--- a/requirements.txt
+++ b/requirements.txt
@@ -7 +7,3 @@ Babel!=2.4.0,>=2.3.4 # BSD
-lxml!=3.7.0,>=2.3 # BSD
+lxml!=3.7.0,>=3.4.1 # BSD
+PyMySQL>=0.7.6 # MIT License
+aodhclient>=0.9.0 # Apache-2.0
@@ -9 +11 @@ python-ceilometerclient>=2.5.0 # Apache-2.0
-python-cinderclient>=3.1.0 # Apache-2.0
+python-cinderclient>=3.3.0 # Apache-2.0
@@ -13,2 +15,2 @@ python-neutronclient>=6.3.0 # Apache-2.0
-python-novaclient>=9.0.0 # Apache-2.0
-python-heatclient>=1.6.1 # Apache-2.0
+python-novaclient>=9.1.0 # Apache-2.0
+python-heatclient>=1.10.0 # Apache-2.0
@@ -16,7 +18,11 @@ pyzabbix>=0.7.4 # LGPL
-networkx>=1.10 # BSD
-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.log>=3.22.0 # Apache-2.0
-oslo.policy>=1.23.0 # Apache-2.0
-oslo.service>=1.10.0 # Apache-2.0
-oslo.i18n!=3.15.2,>=2.1.0 # Apache-2.0
+networkx<2.0,>=1.10 # BSD
+oslo.config>=5.1.0 # Apache-2.0
+oslo.context>=2.19.2 # Apache-2.0
+oslo.db>=4.27.0 # Apache-2.0
+oslo.messaging>=5.29.0 # Apache-2.0
+oslo.middleware>=3.31.0 # Apache-2.0
+oslo.serialization!=2.19.1,>=2.18.0 # Apache-2.0
+oslo.log>=3.36.0 # Apache-2.0
+oslo.policy>=1.30.0 # Apache-2.0
+oslo.service!=1.28.1,>=1.24.0 # Apache-2.0
+oslo.i18n>=3.15.3 # Apache-2.0
@@ -26 +32 @@ Werkzeug>=0.7 # BSD License
-keystonemiddleware>=4.12.0 # Apache-2.0
+keystonemiddleware>=4.17.0 # Apache-2.0
@@ -28,0 +35 @@ voluptuous>=0.8.9 # BSD License
+SQLAlchemy!=1.1.5,!=1.1.6,!=1.1.7,!=1.1.8,>=1.0.10 # MIT
@@ -32,0 +40,6 @@ osprofiler>=1.4.0 # Apache-2.0
+keystoneauth1>=3.3.0 # Apache-2.0
+PyYAML>=3.10 # MIT
+requests>=2.14.2 # Apache-2.0
+WebOb>=1.7.1 # MIT
+eventlet!=0.18.3,!=0.20.1,<0.21.0,>=0.18.2 # MIT
+six>=1.10.0 # MIT
diff --git a/test-requirements.txt b/test-requirements.txt
index eb17adc..5efa442 100644
--- a/test-requirements.txt
+++ b/test-requirements.txt
@@ -8,2 +8,3 @@ coverage!=4.4,>=4.0 # Apache-2.0
-lxml!=3.7.0,>=2.3 # BSD
-networkx>=1.10 # BSD
+lxml!=3.7.0,>=3.4.1 # BSD
+networkx<2.0,>=1.10 # BSD
+PyMySQL>=0.7.6 # MIT License
@@ -11 +12 @@ python-ceilometerclient>=2.5.0 # Apache-2.0
-python-cinderclient>=3.1.0 # Apache-2.0
+python-cinderclient>=3.3.0 # Apache-2.0
@@ -13,3 +14,3 @@ python-neutronclient>=6.3.0 # Apache-2.0
-python-novaclient>=9.0.0 # Apache-2.0
-python-heatclient>=1.6.1 # Apache-2.0
-python-subunit>=0.0.18 # Apache-2.0/BSD
+python-novaclient>=9.1.0 # Apache-2.0
+python-heatclient>=1.10.0 # Apache-2.0
+python-subunit>=1.0.0 # Apache-2.0/BSD
@@ -17,7 +18,8 @@ pyzabbix>=0.7.4 # LGPL
-oslo.log>=3.22.0 # Apache-2.0
-oslotest>=1.10.0 # Apache-2.0
-oslo.service>=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.i18n!=3.15.2,>=2.1.0 # Apache-2.0
-oslo.policy>=1.23.0 # Apache-2.0
+oslo.db>=4.27.0 # Apache-2.0
+oslo.log>=3.36.0 # Apache-2.0
+oslotest>=3.2.0 # Apache-2.0
+oslo.service!=1.28.1,>=1.24.0 # Apache-2.0
+oslo.config>=5.1.0 # Apache-2.0
+oslo.messaging>=5.29.0 # Apache-2.0
+oslo.i18n>=3.15.3 # Apache-2.0
+oslo.policy>=1.30.0 # Apache-2.0
@@ -25,2 +27,2 @@ pecan!=1.0.2,!=1.0.3,!=1.0.4,!=1.2,>=1.0.0 # BSD
-requests-mock>=1.1 # Apache-2.0
-tempest-lib>=0.14.0 # Apache-2.0
+requests-mock>=1.1.0 # Apache-2.0
+tempest>=17.1.0 # Apache-2.0
@@ -29 +31 @@ testscenarios>=0.4 # Apache-2.0/BSD
-testtools>=1.4.0 # MIT
+testtools>=2.2.0 # MIT
@@ -33 +35 @@ sympy>=0.7.6 # BSD
-reno!=2.3.1,>=1.8.0 # Apache-2.0
+reno>=2.5.0 # Apache-2.0
@@ -36,4 +38 @@ osprofiler>=1.4.0 # Apache-2.0
-
-# Doc requirements
-openstackdocstheme>=1.16.0 # Apache-2.0
-sphinx>=1.6.2 # BSD
+SQLAlchemy!=1.1.5,!=1.1.6,!=1.1.7,!=1.1.8,>=1.0.10 # MIT
1
0