We are amped to announce the release of: octavia 0.10.0: OpenStack Octavia Scalable Load Balancer as a Service This release is part of the ocata release series. Download the package from: https://pypi.python.org/pypi/octavia For more details, please see below. 0.10.0 ^^^^^^ Amphora image support for RH Linux flavors. Extended support for Keystone API v3. Support for Keystone token authentication on frontend Octavia API. New Features ************ * Policy.json enforcement in Octavia. * Enables verification of privileges on specific API command for a specific user role and project_id. * Adds quota support to the Octavia API. * The diskimage-create script supports different operating system flavors such as Ubuntu (the default option), CentOS, Fedora and RHEL. Adaptations were made to several elements to ensure all images are operational. * The amphora-agent is now able to distinguish between operating systems and choose the right course of action to manage files and networking on each Linux flavor. * Adds support for amphora images that use systemd. * Add support for Ubuntu Xenial amphora images. * Octavia supports different Keystone APIs and choose authentication mechanism based on configuration specified in "keystone_authtoken" section of octavia.conf file. * After setting "auth_strategy = keystone" all incoming requests to Octavia API will be verified using Keystone are they send by authenticated person. By default that option is disabled because Neutron LBaaS v2 is not supporting that functionality properly. * Adds support for PKCS7 PEM or DER encoded intermediate certificate bundles for TERMINATED_HTTPS listeners. Known Issues ************ * To use CentOS, Fedora, or RHEL in your amphora image you must set the user_group option, located in the [haproxy_amphora] section of the octavia.conf file to "haproxy". This will be made automatic in a future version. Upgrade Notes ************* * agent_server_network_dir is now auto-detected for Ubuntu, CentOS, Fedora and RHEL if one is not specified in the configuration file. * From configuration file section "keystone_authtoken_v3" was removed and all parameters are stored in "keystone_authtoken" section of configuration file. * This feature add new configuration value "auth_strategy" which by default is set for "noauth". * Remove duplicated config option 'cert_generator' in [controller_worker]. Operators now should set it under [certificates]. Deprecation Notes ***************** * The "use_upstart" configuration option is now deprecated because the amphora agent can now automatically discover the init system in use in the amphora image. Bug Fixes ********* * Resolves an issue with using encrypted TLS private keys. Changes in octavia 0.9.0..0.10.0 -------------------------------- b698e7f Fix unit tests for OSX f91c9c3 Improve the failover handling for spares-pool amps bfb8195 Fixes misspelled amp_ssh_access_allowed config 4cf51cf Fix failover for unallocated amps (spares-pool) 6eb9a7c Remove outdated kernel tuning for haproxy 2f5e3b4 Add placement services to devstack example files ee09fd1 Fix a typo in the release notes c004881 Fix the amphora image support for RH Linux flavors eebd2d4 Fix active/standby under python3 aa12ea4 Updated from global requirements 3f6f760 Updated from global requirements b60b2b2 Fix the docs page title 283ec72 Fix connection timeout spam in subunit logs c266978 Cleanup noop network driver to fix py3x 9a30e12 Clarify that octavia-db-manage should be used d805c8d Archive the testrepository file before processing 7468a2a Remove dumplicated config option 'cert_generator' 23e2490 Archive the raw testrepository log 9cc6220 Remove an erroneous MarkHealthMonitorActiveInDB task d685246 Updated from global requirements 2a7a3cd Fix octavia multinode setup for flavor and image 7d933da Add quota support to Octavia 96814be Updated from global requirements 74291d4 Correct the paramters of l7 policy creation 7443606 Introduce Handlers for V2 API 6caada9 Updated from global requirements 53ff06e Introduce Types Directory 0482c14 Update Python classifiers b021862 Add check when plug vrrp port in LB creation e75c8ec Adds user_group option under haproxy_amphora c7cebf7 Add support for policy.json b742a5a Updated from global requirements 74f181f Fix file mode 37592bf Fix tenant_id reference 0993ca8 Updated from global requirements 654e886 Correcting error message for CA Key validation failure 8eddb0f Fix multi-typo error in Octavia f138219 Set access_policy for messaging's dispatcher 4e2a34d Adds diskimage-create scripts to pypi package 2b8b202 Fix a typo f42206c Remove MANIFEST.in from repo 0281872 Fix typo in doc/source/api/octaviaapi.rst 4edcf3a Add context to unit tests 607b21b Remove OSC deprecation warnings 04b0b96 Do not use log hints for exceptions 32ada00 Save neutron calls if plugin does not support dns-integration 6043523 Updated from global requirements bb8bb1f Fix missing NovaServerGroupDelete 50c2713 Introduct Test Base classes for V2 API 04a7079 Remove an erroneous MarkMemberActiveInDB task d05368f add CONTRIBUTING.rst 6e2dcab Fix typo e93a387 Updated from global requirements e51a073 oslo_messaging_rabbit settings are deprecated 2766174 Adding name to health monitor and member 32f3c4d Add build-essential package dependency to amphora-agent element bf8aac5 Amphora-agent should log to a distinct location 3ffcbea Change bind_host IP address 264f3b5 Fix some python3 string issues in amphora agent 78b1a4a Updated from global requirements 34a4735 Fix the agent install to use pip -U 835b3c5 The amphora agent plug_vip has an indention issue 3c5c13c Stop depending on tripleo-image-elements ad82870 Setup translation for octavia 316a13a Add support for diskimage-builder tracing 2d92166 Introduce API Decorators 83661b7 Use pip install rather than setup.py 2c897eb Create Octavia api V2 directory b6e1fc7 Fix a unit test that was attempting real requests 51b4db7 Updated from global requirements 2296d89 Updated from global requirements 0fbd683 Spec detailing capability gaps with n-lbaas API 126ec97 Properly format IPv6 bind address strings b375cab Only set default DIB_RELEASE for ubuntu 44a2658 Remove unused method - get_random_string 24fcaab Fix devstack plugin for KEYSTONE_CATALOG_BACKEND 619fe84 Show team and repo badges on README 6ce8534 Enable IPv6 load balancer networks 1ace351 Add keystone authentication of token 867b350 Remove CONF.import_group 013f44d Simplify cert-ramfs-ecrypt package dependencies 2db260c Adds distribution ID option to diskimage-create.sh 076e016 Backend Keystone authentication a6915c3 Updated from global requirements c4408c4 Adds support for systemd amphora images cb4be77 Enable EPEL repository for CentOS amphorae 88ceb68 diskimage-create check for qemu-kvm-ev/qemu-img-ev for CentOS 0fcbc4f Updated from global requirements 4ced93b Modify variable's using method in Log Messages 5e76bab Updated from global requirements 549b1ce Remove last vestiges of oslo-incubator dff3f75 Basic listener scenario test 0a5832d Use test assertEqual instead of assert() 7476aea Updated from global requirements 48a1e7c Run amphora agent with gunicorn 7e4ac5b UDPStatusGetter socket bind fix for ipv6 dd72b83 Fix health_sender test to use a list instead of tuple edd3778 Updated from global requirements cebfd31 C10k load testing environment script 2a7c6f4 Scenario: test with concurrent clients dfe1dc0 Increase the verbosity of haproxy.rest_api_driver failures 03844a6 Update .coveragerc after the removal of openstack directory da97896 Enable support for multinode in the gate hook e6507ed Add a new API to list loadbalancer statistics 8ee4def Add class 'StatsMixin' cc7f1ae Updated from global requirements ae5a3a9 Update haproxy logging configuration 838e52f Load system sysctl in amphora network namespace 2578486 Fixes pregenerated certificates validity to 50y 4d8cd69 Updated from global requirements 9fe5317 Drop MANIFEST.in - it's not needed by pbr 8602fbb Updated from global requirements 253f4e3 Add linuxbridge support to devstack plugin 03cd2ec Scenario tests: improve test http server e2cdd21 Update devstack plugin to use openstack client 7d3a0f3 Fix to run functional tests 01e8e85 Fix functional tests after HM change 81846df Fixes unit test config override 89f6b2c Add MTU configuraion when plugging vip or network 5dbff28 Update listener stats 6467045 Fix revert on 404 from amphora agent startup e5aae53 Enable release notes translation 695ec1d Updated from global requirements a27b5c4 Add support for PKCS7 bundles and encrypted keys 81cc1fb Add defaults for health monitor object d537aed Fix nova image-list which is unavailable ef11747 Switch HAProxy health check timeout to seconds 5fe6752 Use get-pip.py from cache if it exists bc079c9 Use a cached get-pip.py if it is availble 3cf352c Fix typo in active-active-distributor.rst 86480c7 Remove pypi download shield from Readme 70f009e Updated from global requirements 95ae6d6 Update reno for stable/newton 12d2a0f Amphora agent refactor to classes Diffstat (except docs and test files) ------------------------------------- .coveragerc | 2 +- CONSTITUTION.rst | 2 +- CONTRIBUTING.rst | 16 + MANIFEST.in | 6 - README.rst | 13 +- babel.cfg | 2 + bin/create_certificates.sh | 11 +- devstack/README.md | 2 +- devstack/etc/octavia/haproxy.cfg | 5 +- devstack/files/debs/octavia | 1 + devstack/files/rpms/octavia | 1 + devstack/plugin.sh | 218 ++- devstack/pregenerated/certs/ca_01.pem | 37 +- devstack/pregenerated/certs/client.key | 52 +- devstack/pregenerated/certs/client.pem | 164 +- devstack/pregenerated/certs/private/cakey.pem | 52 +- devstack/pregenerated/regenerate-certs.sh | 21 + devstack/samples/multinode/local.conf | 4 + devstack/samples/singlenode/local.conf | 4 + devstack/samples/singlenode/local.sh | 2 +- devstack/settings | 20 +- diskimage-create/README.rst | 20 +- diskimage-create/diskimage-create.sh | 57 +- elements/amphora-agent/element-deps | 2 + .../init-scripts/systemd/amphora-agent.service | 14 + .../amphora-agent/init-scripts/sysv/amphora-agent | 2 +- .../init-scripts/upstart/amphora-agent.conf | 9 + .../amphora-agent/install.d/75-run_setup_install | 7 +- elements/amphora-agent/package-installs.yaml | 2 + .../post-install.d/11-enable-amphora-agent-systemd | 11 + .../amphora-agent/source-repository-amphora-agent | 1 + .../static/etc/logrotate.d/amphora-agent | 12 + elements/cert-ramfs-ecrypt/package-installs.yaml | 3 - elements/haproxy-octavia-ubuntu/element-deps | 2 +- .../configure.d/20-haproxy-selinux | 9 - .../haproxy-octavia-ubuntu/package-installs.json | 2 +- elements/haproxy-octavia-ubuntu/pkg-map | 22 + .../post-install.d/20-disable-default-haproxy | 4 +- .../post-install.d/20-haproxy-tune-kernel | 42 +- .../post-install.d/20-setup-haproxy-log | 12 + .../pre-install.d/01-backports | 4 +- elements/haproxy-octavia/element-deps | 2 +- .../configure.d/20-haproxy-selinux | 9 - .../post-install.d/20-disable-default-haproxy | 0 .../post-install.d/20-haproxy-tune-kernel | 42 +- .../post-install.d/20-setup-haproxy-log | 12 + elements/keepalived-octavia-ubuntu/element-deps | 2 +- .../package-installs.json | 2 +- elements/keepalived-octavia-ubuntu/pkg-map | 23 + .../pre-install.d/00-backports | 4 +- elements/keepalived-octavia/element-deps | 1 - .../post-install.d/20-enable-keepalived | 6 - elements/no-resolvconf/README.rst | 2 + .../finalise.d/99-disable-resolv-conf | 4 + etc/certificates/openssl.cnf | 4 +- etc/octavia.conf | 105 +- octavia/amphorae/backends/agent/agent_jinja_cfg.py | 6 +- .../backends/agent/api_server/amphora_info.py | 345 ++-- .../agent/api_server/certificate_update.py | 1 - .../backends/agent/api_server/keepalived.py | 175 +- .../amphorae/backends/agent/api_server/listener.py | 770 +++++---- .../amphorae/backends/agent/api_server/osutils.py | 444 +++++ octavia/amphorae/backends/agent/api_server/plug.py | 488 +++--- .../amphorae/backends/agent/api_server/server.py | 272 +-- .../agent/api_server/templates/keepalived.conf.j2 | 67 - .../api_server/templates/keepalived.systemd.j2 | 13 + .../api_server/templates/keepalived.sysvinit.j2 | 83 + .../api_server/templates/keepalived.upstart.j2 | 25 + .../api_server/templates/plug_port_ethX.conf.j2 | 3 + .../api_server/templates/plug_vip_ethX.conf.j2 | 5 +- .../api_server/templates/rh_plug_port_ethX.conf.j2 | 47 + .../api_server/templates/rh_plug_vip_ethX.conf.j2 | 54 + .../templates/rh_plug_vip_ethX_alias.conf.j2 | 29 + .../api_server/templates/rh_route_ethX.conf.j2 | 20 + .../agent/api_server/templates/systemd.conf.j2 | 33 + .../agent/api_server/templates/sysvinit.conf.j2 | 8 +- .../agent/api_server/templates/upstart.conf.j2 | 9 +- octavia/amphorae/backends/agent/api_server/util.py | 60 +- .../agent/templates/amphora_agent_conf.template | 4 + .../backends/health_daemon/health_daemon.py | 15 +- .../backends/health_daemon/health_sender.py | 11 +- octavia/amphorae/backends/utils/haproxy_query.py | 9 +- .../amphorae/drivers/haproxy/rest_api_driver.py | 38 +- octavia/amphorae/drivers/health/heartbeat_udp.py | 2 +- .../amphorae/drivers/keepalived/jinja/jinja_cfg.py | 1 - octavia/api/app.py | 32 +- octavia/api/config.py | 3 + octavia/api/root_controller.py | 17 +- octavia/api/v1/controllers/__init__.py | 2 + octavia/api/v1/controllers/base.py | 42 +- octavia/api/v1/controllers/health_monitor.py | 41 +- octavia/api/v1/controllers/listener.py | 66 +- octavia/api/v1/controllers/listener_statistics.py | 35 +- octavia/api/v1/controllers/load_balancer.py | 57 +- .../api/v1/controllers/load_balancer_statistics.py | 40 + octavia/api/v1/controllers/member.py | 50 +- octavia/api/v1/controllers/pool.py | 66 +- octavia/api/v1/controllers/quotas.py | 89 + .../v1/handlers/controller_simulator/handler.py | 2 +- octavia/api/v1/hooks.py | 1 + octavia/api/v1/types/health_monitor.py | 9 +- octavia/api/v1/types/listener_statistics.py | 2 +- octavia/api/v1/types/load_balancer_statistics.py | 50 + octavia/api/v1/types/quotas.py | 73 + octavia/api/v2/__init__.py | 0 octavia/api/v2/controllers/__init__.py | 41 + octavia/api/v2/controllers/base.py | 98 ++ octavia/api/v2/handlers/__init__.py | 0 octavia/api/v2/handlers/abstract_handler.py | 67 + .../v2/handlers/controller_simulator/__init__.py | 0 .../v2/handlers/controller_simulator/handler.py | 449 +++++ octavia/api/v2/handlers/queue/__init__.py | 0 octavia/api/v2/handlers/queue/producer.py | 204 +++ octavia/api/v2/hooks.py | 24 + octavia/api/v2/types/__init__.py | 0 octavia/api/v2/types/base.py | 93 ++ octavia/certificates/common/auth/barbican_acl.py | 5 +- octavia/certificates/common/barbican.py | 3 +- octavia/certificates/generator/anchor.py | 1 - octavia/certificates/generator/local.py | 6 +- octavia/cmd/agent.py | 92 +- octavia/cmd/haproxy_vrrp_check.py | 4 +- octavia/cmd/health_manager.py | 1 - octavia/cmd/house_keeping.py | 3 +- octavia/common/base_taskflow.py | 1 - octavia/common/clients.py | 12 +- octavia/common/config.py | 98 +- octavia/common/constants.py | 41 +- octavia/common/context.py | 10 + octavia/common/data_models.py | 83 +- octavia/common/decorators.py | 54 + octavia/common/exceptions.py | 62 +- octavia/common/jinja/haproxy/jinja_cfg.py | 1 - octavia/common/jinja/haproxy/templates/macros.j2 | 9 +- octavia/common/jinja/user_data_jinja_cfg.py | 3 - octavia/common/keystone.py | 62 +- octavia/common/policy.py | 130 ++ octavia/common/stats.py | 65 + octavia/common/tls_utils/cert_parser.py | 198 ++- octavia/common/utils.py | 44 +- octavia/compute/drivers/nova_driver.py | 4 - octavia/controller/healthmanager/health_manager.py | 1 - octavia/controller/healthmanager/update_db.py | 44 +- octavia/controller/housekeeping/house_keeping.py | 3 +- octavia/controller/queue/consumer.py | 5 +- octavia/controller/queue/event_queue.py | 4 +- octavia/controller/worker/controller_worker.py | 3 +- octavia/controller/worker/flows/amphora_flows.py | 12 +- .../worker/flows/health_monitor_flows.py | 2 +- octavia/controller/worker/flows/listener_flows.py | 9 +- .../controller/worker/flows/load_balancer_flows.py | 8 +- octavia/controller/worker/flows/member_flows.py | 2 +- octavia/controller/worker/flows/pool_flows.py | 8 + .../worker/tasks/amphora_driver_tasks.py | 1 - octavia/controller/worker/tasks/cert_task.py | 3 +- octavia/controller/worker/tasks/compute_tasks.py | 1 - octavia/controller/worker/tasks/database_tasks.py | 369 +++- octavia/controller/worker/tasks/network_tasks.py | 1 - octavia/db/api.py | 5 +- octavia/db/base_models.py | 7 + octavia/db/migration/alembic_migrations/README.rst | 7 +- octavia/db/migration/alembic_migrations/env.py | 8 +- .../versions/3f8ff3be828e_create_quotas_table.py | 45 + ...683_adding_name_column_to_member_and_health_.py | 39 + .../c11292016060_add_request_errors_for_stats.py | 34 + octavia/db/models.py | 54 +- octavia/db/repositories.py | 488 +++++- .../drivers/neutron/allowed_address_pairs.py | 91 +- octavia/network/drivers/neutron/base.py | 18 +- octavia/network/drivers/noop_driver/driver.py | 61 +- octavia/opts.py | 30 +- octavia/policies/__init__.py | 22 + octavia/policies/base.py | 24 + .../backend/agent/api_server/test_server.py | 1761 ++++++++++++++++---- .../agent/api_server/test_server_sysvinit.py | 1118 ------------- .../functional/api/v1/test_listener_statistics.py | 13 +- .../api/v1/test_load_balancer_statistics.py | 56 + .../tempest/v1/clients/load_balancers_client.py | 22 + .../tempest/v1/scenario/test_listener_basic.py | 46 + .../v1/scenario/test_load_balancer_basic.py | 39 - .../v1/scenario/test_load_balancer_tree_minimal.py | 48 + .../backends/agent/api_server/test_amphora_info.py | 192 +++ .../backends/agent/api_server/test_keepalived.py | 7 +- .../backends/agent/api_server/test_listener.py | 29 +- .../backends/agent/api_server/test_osutils.py | 217 +++ .../backends/agent/api_server/test_plug.py | 89 +- .../backends/agent/api_server/test_utils.py | 39 - .../backends/agent/test_agent_jinja_cfg.py | 9 +- .../backends/health_daemon/test_health_daemon.py | 43 +- .../backends/health_daemon/test_health_sender.py | 39 +- .../amphorae/backends/utils/test_haproxy_query.py | 3 +- .../drivers/haproxy/test_rest_api_driver.py | 70 +- .../amphorae/drivers/health/test_heartbeat_udp.py | 23 +- .../drivers/keepalived/jinja/test_jinja_cfg.py | 21 +- .../unit/api/v1/handlers/queue/test_producer.py | 9 +- .../unit/api/v1/types/test_health_monitors.py | 12 + .../unit/api/v2/handlers/queue/test_producer.py | 236 +++ .../certificates/common/auth/test_barbican_acl.py | 14 +- .../unit/certificates/common/test_barbican.py | 27 +- .../unit/certificates/generator/test_anchor.py | 1 - .../unit/certificates/generator/test_local.py | 2 +- .../unit/certificates/manager/test_barbican.py | 23 +- .../unit/common/jinja/haproxy/test_jinja_cfg.py | 26 +- .../unit/common/sample_configs/sample_certs.py | 815 +++++++++ .../unit/common/sample_configs/sample_configs.py | 27 +- .../unit/common/tls_utils/test_cert_parser.py | 307 +--- .../healthmanager/test_health_manager.py | 1 - .../controller/healthmanager/test_update_db.py | 111 +- .../controller/housekeeping/test_house_keeping.py | 1 - .../controller/worker/flows/test_amphora_flows.py | 57 +- .../worker/flows/test_load_balancer_flows.py | 21 +- .../controller/worker/flows/test_pool_flows.py | 4 +- .../controller/worker/tasks/test_compute_tasks.py | 15 +- .../controller/worker/tasks/test_database_tasks.py | 2 +- .../worker/tasks/test_database_tasks_quota.py | 322 ++++ .../controller/worker/test_controller_worker.py | 37 +- .../drivers/neutron/test_allowed_address_pairs.py | 2 +- .../unit/network/drivers/neutron/test_base.py | 2 +- .../network/drivers/test_network_noop_driver.py | 6 +- .../add-policy-json-support-38929bb1fb581a7a.yaml | 6 + .../notes/add-quota-support-fe63a52b6b903789.yaml | 3 + ...support-for-amphora-agent-cd3e9f9f519b9ff2.yaml | 18 + .../add-systemd-support-5794252f02bce666.yaml | 8 + ...e-keystone-backend-config-d246b1e34015c86c.yaml | 11 + .../enable-keystone-on-api-b3ebb132ad5ab308.yaml | 11 + ...ted-cert_generator-option-83d18647dc1d2954.yaml | 5 + ...7-intermediate-ca-bundles-279c12bad974bff7.yaml | 6 + releasenotes/source/conf.py | 3 + releasenotes/source/index.rst | 1 + releasenotes/source/newton.rst | 6 + requirements.txt | 40 +- setup.cfg | 27 +- specs/version0.5/amphora-manager-interface.rst | 2 +- specs/version0.5/network-driver-interface.rst | 2 +- specs/version0.5/queue-consumer.rst | 2 +- specs/version0.9/active-active-distributor.rst | 2 +- specs/version0.9/active-active-topology.rst | 2 +- specs/version1/n-lbaas-api-parity.rst | 118 ++ test-requirements.txt | 4 +- tools/install_venv_common.py | 172 -- tools/misc-sanity-checks.sh | 68 + tools/ostestr_compat_shim.sh | 8 + tools/pkcs7_to_pem.py | 113 ++ tox.ini | 27 +- 293 files changed, 15373 insertions(+), 5193 deletions(-) Requirements updates -------------------- diff --git a/requirements.txt b/requirements.txt index 0200f89..626ff76 100644 --- a/requirements.txt +++ b/requirements.txt @@ -4,3 +4,3 @@ -alembic>=0.8.4 # MIT -pecan!=1.0.2,!=1.0.3,!=1.0.4,>=1.0.0 # BSD -pbr>=1.6 # Apache-2.0 +alembic>=0.8.10 # MIT +pecan!=1.0.2,!=1.0.3,!=1.0.4,!=1.2,>=1.0.0 # BSD +pbr>=1.8 # Apache-2.0 @@ -10,4 +10,4 @@ eventlet!=0.18.3,>=0.18.2 # MIT -requests>=2.10.0 # Apache-2.0 -rfc3986>=0.2.2 # Apache-2.0 -keystoneauth1>=2.10.0 # Apache-2.0 -keystonemiddleware!=4.5.0,>=4.2.0 # Apache-2.0 +requests!=2.12.2,>=2.10.0 # Apache-2.0 +rfc3986>=0.3.1 # Apache-2.0 +keystoneauth1>=2.18.0 # Apache-2.0 +keystonemiddleware>=4.12.0 # Apache-2.0 @@ -15 +15 @@ python-neutronclient>=5.1.0 # Apache-2.0 -WebOb>=1.2.3 # MIT +WebOb>=1.6.0 # MIT @@ -17,2 +17,2 @@ six>=1.9.0 # MIT -stevedore>=1.16.0 # Apache-2.0 -oslo.config>=3.14.0 # Apache-2.0 +stevedore>=1.17.1 # Apache-2.0 +oslo.config!=3.18.0,>=3.14.0 # Apache-2.0 @@ -20 +20 @@ oslo.context>=2.9.0 # Apache-2.0 -oslo.db!=4.13.1,!=4.13.2,>=4.10.0 # Apache-2.0 +oslo.db>=4.15.0 # Apache-2.0 @@ -23 +23 @@ oslo.log>=3.11.0 # Apache-2.0 -oslo.messaging>=5.2.0 # Apache-2.0 +oslo.messaging>=5.14.0 # Apache-2.0 @@ -24,0 +25 @@ oslo.middleware>=3.0.0 # Apache-2.0 +oslo.policy>=1.17.0 # Apache-2.0 @@ -27,2 +28,4 @@ oslo.service>=1.10.0 # Apache-2.0 -oslo.utils>=3.16.0 # Apache-2.0 -PyMySQL!=0.7.7,>=0.6.2 # MIT License +oslo.utils>=3.18.0 # Apache-2.0 +pyasn1 # BSD +pyasn1-modules # BSD +PyMySQL>=0.7.6 # MIT License @@ -31 +34 @@ python-glanceclient>=2.5.0 # Apache-2.0 -python-novaclient!=2.33.0,>=2.29.0 # Apache-2.0 +python-novaclient!=7.0.0,>=6.0.0 # Apache-2.0 @@ -34,2 +37,2 @@ WSME>=0.8 # MIT -Jinja2>=2.8 # BSD License (3 clause) -taskflow>=1.26.0 # Apache-2.0 +Jinja2!=2.9.0,!=2.9.1,!=2.9.2,!=2.9.3,!=2.9.4,>=2.8 # BSD License (3 clause) +taskflow>=2.7.0 # Apache-2.0 @@ -42 +45,2 @@ cryptography!=1.3.0,>=1.0 # BSD/Apache-2.0 -pyroute2>=0.4.3 # Apache-2.0 (+ dual licensed GPL2) +pyroute2>=0.4.12 # Apache-2.0 (+ dual licensed GPL2) +gunicorn>=19.0 # MIT diff --git a/test-requirements.txt b/test-requirements.txt index 82ea747..6c2c0e1 100644 --- a/test-requirements.txt +++ b/test-requirements.txt @@ -6 +6 @@ requests-mock>=1.1 # Apache-2.0 -coverage>=3.6 # Apache-2.0 +coverage>=4.0 # Apache-2.0 @@ -16 +16 @@ doc8 # Apache-2.0 -reno>=1.8.0 # Apache2 +reno>=1.8.0 # Apache-2.0