[release-announce] kuryr-kubernetes 0.5.0 (rocky)

no-reply at openstack.org no-reply at openstack.org
Tue Aug 21 12:24:07 UTC 2018


We high-spiritedly announce the release of:

kuryr-kubernetes 0.5.0: Kubernetes integration with OpenStack
networking

This release is part of the rocky release series.

The source is available from:

    https://git.openstack.org/cgit/openstack/kuryr-kubernetes

Download the package from:

    https://tarballs.openstack.org/kuryr-kubernetes/

Please report issues through launchpad:

    https://bugs.launchpad.net/kuryr-kubernetes

For more details, please see below.

0.5.0
^^^^^


New Features
************

* Kuryr-Kubernetes now supports running kuryr-controller service in
  **Active/Passive HA mode**. This is only possible when running those
  services as Pods on Kubernetes cluster, as Kubernetes is used for
  leader election. Also it is required to add leader-elector container
  to the kuryr-controller Pods. HA is controlled by
  "[kubernetes]controller_ha" option, which defaults to "False".

* An OpenShift route is a way to expose a service by giving it an
  externally-reachable hostname like www.example.com. A defined route
  and the endpoints identified by its service can be consumed by a
  router to provide named connectivity that allows external clients to
  reach your applications. Each route consists of a route name ,
  target service details. To enable it the following handlers should
  be added :

     [kubernetes]
     enabled_handlers=vif,lb,lbaasspec,ingresslb,ocproute

* The CNI daemon now provides health checks allowing the deployer or
  the orchestration layer to probe it for readiness and liveness.

  These health checks are served and executed by a Manager that runs
  as part of CNI daemon, and offers two endpoints indicating whether
  it is ready and alive.

  The Manager validates presence of NET_ADMIN capabilities, health
  status of a transactional database, connectivity with Kubernetes
  API, quantity of CNI add failures, health of CNI components and
  amount of memory being consumed. The health checks fails if any of
  the presented checks are not validated, causing the orchestration
  layer to restart. More information can be found in the kuryr-
  kubernetes documentation.

* Introduced a pluggable interface for the Kuryr controller
  handlers. Each Controller handler associates itself with specific
  Kubernetes object kind and is expected to process the events of the
  watched Kubernetes API endpoints. The pluggable handlers framework
  enable both using externally provided handlers in Kuryr Controller
  and controlling which handlers should be active.

  To control which Kuryr Controller handlers should be active, the
  selected handlers need to be included at the kuryr.conf at the
  'kubernetes' section. If not specified, Kuryr Controller will run
  the default handlers. For example, to enable only the 'vif'
  controller handler we should set the following at kuryr.conf:

     [kubernetes]
     enabled_handlers=vif

* Adds a new multi pool driver to support hybrid environments where
  some nodes are Bare Metal while others are running inside VMs,
  therefore having different VIF drivers (e.g., neutron and nested-
  vlan)

  This new multi pool driver is the default pool driver used even if a
  different vif_pool_driver is set at the config option. However if
  the configuration about the mappings between the different pools and
  pod vif drivers is not provided at the pools_vif_drivers config
  option of vif_pool configuration section only one pool driver will
  be loaded -- using the standard vif_pool_driver and pod_vif_driver
  config options, i.e., using the one selected at kuryr.conf options.

  To enable the option of having different pools depending on the
  node's pod vif types, you need to state the type of pool that you
  want for each pod vif driver, e.g.:

     [vif_pool]
     pools_vif_drivers=nested:nested-vlan,neutron:neutron-vif

  This will use a pool driver nested to handle the pods whose vif
  driver is nested-vlan, and a pool driver neutron to handle the pods
  whose vif driver is neutron-vif. When the controller is requesting a
  vif for a pod in node X, it will first read the node's annotation
  about pod_vif driver to use, e.g., pod_vif: nested-vlan, and then
  use the corresponding pool driver -- which has the right pod-vif
  driver set.

  Note that if no annotation is set on a node, the default
  pod_vif_driver is used.

* Introduced a new subnet driver that is able to create a new subnet
  (including the network and its connection to the router) for each
  namespace creation event.

  To enable it the namespace subnet driver must be selected and the
  namespace handler needs to be enabled:

     [kubernetes]
     enabled_handlers=vif,lb,lbaasspec,namespace
     pod_subnets_driver = namespace

* Migrated all upstream gates to Zuul V3 [1] native format. This
  commit also introduces several new (for now) experimental gates such
  as multinode and centos-7 based. These will be moved to check and
  voting once they have been behaving at a stable pace for some time.


Upgrade Notes
*************

* Legacy Kuryr deployment without running kuryr-daemon is now
  considered deprecated. That possibility will be completely removed
  in one of the next releases. Please note that this means that
  "[cni_daemon]daemon_enabled" option will default to "True".

* Legacy Kuryr deployment relying on neutron-lbaas as the LBaaSv2
  endpoint is now deprecated. The possibility of using it as Kuryr's
  lbaasv2 endpoint will be totally removed in one of the next
  releases.

* For the kuryr kubernetes watcher, a new option
  'watch_retry_timeout' has been added. The following should be
  modified at kuryr.conf:

     [kubernetes]
     # 'watch_retry_timeout' field is optional,
     # default = 60 if not set.
     watch_retry_timeout = <Time in seconds>

* For the external services (type=LoadBalancer) case, a new field
  'external_svc_net' was added and the 'external_svc_subnet' field
  become optional. The following should be modified at kuryr.conf:

     [neutron_defaults]
     external_svc_net= <id of external network>
     # 'external_svc_subnet' field is optional, set this field in case
     # multiple subnets attached to 'external_svc_net'
     external_svc_subnet= <id of external subnet>

* As the openstack performance differs in production environments,
  fixed timeout of LBaaS activation might create the kuryr-kubernetes
  error. In order to adapt to the environment, a new option
  "[neutron_defaults]lbaas_activation_timeout" was added.


Deprecation Notes
*****************

* Running Kuryr-Kubernetes without kuryr-daemon service is now
  deprecated. Motivations for that move include:

  * Discoveries of bugs that are much easier to fix in kuryr-daemon.

  * Further improvements in Kuryr scalability (e.g. moving choosing
    VIF from pool into kuryr-daemon) are only possible when kuryr-
    daemon is present.

  Possibility of running Kuryr-Kubernetes without kuryr-daemon will be
  removed in one of the future releases.

* Running Kuryr-Kubernetes with neutron-lbaasv2 is now deprecated.
  The main motivation for this is the deprecation of the neutron-lbaas
  implementation in favour to Octavia.

  Possibility of running Kuryr-Kubernetes with the lbaas handler
  pointing to anything but Octavia or SDN lbaas implementations will
  be removed in future releases.


Bug Fixes
*********

* K8s api server is often temporarily down and restored soon in
  production environment. Since kuryr-kubernetes watches k8s resources
  by connecting k8s api server, watcher fails to watch the resources
  if k8s api server is down. In order to fix it, we made watcher retry
  connecting to k8s api server for specific time duration when an
  exception is raised.

* It is very common for production environments to only allow access
  to the public network and not the associated public subnets. In that
  case, we fail to allocate a floating IP to the Loadbalancer service
  type. In order to fix it, we added an option for specifying the
  network id instead and switch the subnet config option to being
  optional.

Changes in kuryr-kubernetes 0.4.0..0.5.0
----------------------------------------

78904c5 Make daemon-cont-octavia and ovn gate non-voting
cc72550 Adapt pool recovery to new pod annotation format
b895427 Fix compatiblity with old Pod annotation format
48b30bd Get subnet_caching_opts from utils
babc761 Add NPWG Multi-VIF driver option in devstack
5fa529e Move function get_subnet to kuryr_kubernetes.utils
776e3e1 Separate helper function for pod
f05cb42 Ensure delete_network_pools include all the ports
e3c442c Allow musl based distros to resolve using search
bb3ebfd drop deprecated oadm
70ee5ad Implement NPWG multi-vif driver
f401663 Fix wrong reference in kuryr_k8s_opts
66fb9d1 Add namespace isolation for services
f62bc08 Add sudo for OpenShift registry CA cert copy
8175677 devstack: deploy openshift registry on origin envs
a4abef4 Set namespace security group driver for namespace gate
46c609f Avoid namespace security group overwrite
9d09181 Ensure project id is returned for DefaultNamespaceProjectDriver
500a27b Ensure no api_root value for containerized deployments
6c3a73c Log traceback on errors in Watcher
612296a kuryr-tempest-plugin devstack plugin to build kuryr/demo
7cc1878 Change Pod annotations format to o.vo
f02b2e9 Ensure isolation between namespaces
85f0617 Services: Fix service connectivity after service port edit procedure
aaeb4f4 Implement multi-vif driver
68873be  Fix trivial misprint
b8f5e25 OCP-Router: Fix path route to support subpath
18e37d5 Using interface name in kubectl plugin
5421ce1 Add Network Policies Driver
ce3305b Use K8s API LB IP instead of HOST_IP in DevStack
6e30059 Try pyroute2 0.5.1
719cc1c Provide data timeouts for K8s API LB
055f313 Switch to using stestr
0256ed2 OCP-Router: Enable the OCP-Route handler unit tests
4f60730 OCP-Router:  Add Zuul experimental gates for Openshift Route
372b835 process to gracefully exit when last watcher exits
6f09756 Add regenerate controller pod script
fe5b79b Running tests in serial
3da0a02 Add default namespace project driver
d78ea12 Sync up Flask version with global-requirements
0a9de12 Add octavia precreated image info
65c67ae Move tempest-octavia-centos-7 back to check
f98b182 Network Custom Resource Definition De-facto Standard support
7133a73 devstack: Set and clean iptables
889a0d9 devstack: Fix load balancing project membership
d1b9d03 Create namespaced resources on the right project
607a249 Proceed CNI output in format of version 0.3.1
4908d84 Enable externalIPs for DevStack's OpenShift
ace1f26 Test Objects Module
46f750e devstack support for openshift-dns
ad211c0 Move multinode gate to check pipeline
bf3ce1a Make ovn gates voting
d43c478 Add KURYR_K8S_LBAAS_USE_OCTAVIA=False to LBaaS job
496ba3c OCP-Route: configuration and testing documentation
fcadf5e Add octavia based tests to replace LBaaSv2 tests
e9fd100 Deprecate running Kuryr-Kubernetes with lbaasv2
c626127 Split .zuul.yaml into smaller files
5278998 Move multinode and centos jobs to check pipeline
bbdfb8d Fix the experimental multinode jobs
a991a8f Services LBaaS driver:  fix ensure LB for existing LB.
7ac69c8 Add contrib folder to irrelevant files
a3e9f6a Fix health server binding address
361c5cf Remove redundant line from dragonflow config
7a4da57 Explicitly set threaded=False when starting Flask
9a87160 Really use the test handler
eb47921 Devstack install fail if docker cgroup driver is systemd
8b7d695 Fetch CONTAINERID from Docker API in kuryr-cni
4912a89 Kuryr Kubernetes Port and PortPool CRD design reference document
7e52b9e Fix container image creation.
c84e8dd fix typos
8f859f1 add a link to release notes in README file
f32160b OCP-Router: Update Devref documentation
895eda1 Start kuryr-kubernetes after creating l7 router
24e4ab7 Create network policy handler and driver
d5902e8 OCP-Router: OCP-Route and Ingress LBaaS handlers
4ab102a OCP-Router: Ingress controller support
159fe3e OCP-Router: add support for external Ingress Controller's LB creation
e416b24 kuryr-controller A/P HA
c8d42ec Run OVN job containerized and daemonized
471f613 Experimental gate for namespace subnet driver
7ed9823 fix tox python3 overrides
8f23a40 Retry namespace deletion to mitigate cascading race
fad08a9 Add ports pool clean up support to namespace deletion
75bf139 Ensure different pool related dicts per pool driver
c1e8f45 Namespace deletion functionality for namespace_subnet driver
51c57ec Switch containerized job to Octavia
437e50a devstack: fix octavia allocation ranges
ee84781 Fix precreated ports recovery after pod annotations change
95a108b Service: Decoupling and improvements of LBaaS driver
f619a02 Ensure namespace creation event is detected
085ad0a Follow the new PTI for document build
2d56b8a Change neutron CLI to openstack CLI in devstack plugin.sh
71864e8 Really ignore unsupported service types
9115ab2 Allow passing multiple VIFs to CNI
4b0da64 Ensure endpoint has pods before add/remove members
d5d4ef1 Add namespace subnet driver for namespace creation
a592648 Remove admin rights need from verify_keystone_connection
87fc869 Set netns_proc_dir and docker_mode in configmap for CNI Daemon
9ae711c Generate_kuryr_certificates_secret: fix parameter handling
55973f2 Fix octavia lb deleting_race with cascading
612b1a6 Clean up legacy playbooks
1517250 k8s_resource_generation: fix parameter handling
5b9bb03 Update lower-constraints to match requirements.txt
b21326e Clean up OpenShift DevStack directories on unstack
9f9f54b Remove LIBS_FROM_GIT as a var in zuul.yaml
1b0762e Fix LB member creation on Nested environment
ebaab06 Gate with containerized deployment and OpenShift
bcff4ef Raise OpenShift version to 3.9.0
b0035f6 Add better octavia coverage at the gate
c96f69f devstack: Fix octavia api lb kubelet iface access
d471484 Switch amphora tarball to ubuntu xenial
32cd153 Make Neutron LBaaS Activation Timeout configurable
d04d93b Add namespace handler
579fd5e Kuryr controller - pluggable handlers documentation
0925938 fix a typo
71ce161 Add HTTPS support to K8s API healthchecks
08ce565 Add `privileged` SCC to SA in OpenShift DevStack
1ab7e66 Create CNI bin dir in OpenShift DevStack plugin
d3a6cdc Kuryr-Controller: make handlers pluggable
79a18d3 Devstack deployment - handle LoadBalancer creation failure
3783e26 Dockerfiles: COPY code after installing packages
cfa3e49 Add tarballed amphora.
2ed3923 Apply UC to Dockerfiles
285456a lbaasv2: Fix for deployments missing the proxy
ca3bbd4 Modify maintainers of Dockerfiles
e1580c5 Vagrant: Document the increased Octavia reqs
206c158 Execute kuryr-cni as `docker exec`
4947099 Fix K8s API access through LBaaS on gates
e370676 Add documentation about supported kubernetes versions
3e617b6 Handle lack of certificate in DevStack
45b2ec9 Add Kuryr pods logs to gate results
deada3e [Trivial] Remove redundant check service is enabled
e0dfd36 Services: update service's status after LB completely provisioned.
183aeeb add lower-constraints job
3b7e518 Add CA certificates Secret and mount it
f4e9e30 devstack: add kubelet iface to openshift nodes
5bfcc75 devstack: Make service subnet routable
fa942e5 Adding containerized parameter as True to tempest.conf
24e6ac8 Creating gate for testing ports pool feature
58e6b19 Watcher restarts watching resources in failure
677c38b Services: Add support for K8S service's port edit use case
7a73ca0 Updated from global requirements
898abb4 Deprecate running kuryr-k8s without kuryr-daemon
c00513b fix kury-cni exits unexpectedly when MTU of network is 0
7c49430 Fix Tempest CIs
bc7e900 Add network id to pools keys
e863a88 Upgrade default K8s to 1.9 in DevStack
fce174b Create lockfiles directory in CNI Dockerfile
cfa3d11 devstack-heat: Make parameters overridable
c2b81a2 devstack-heat: Do not clone the entire kuryr-k8s
a83eba5 Add multi pools support
d5e5d15 Services: Gracefully ignore exposed UDP ports
8f453a2 cni health: track all cgroup memory usage
7f77dc2 cni: _has_cap unit tests system independant
bdb3949 cni health: Avoid capsh dependency
faa9135 doc: Fix manual installation neutron resource
7061f4a Make CNI Registry Plugin namespace aware
bcacff6 Move cni plugins to a common folder
22e8d98 Add release note for cni health manager
4117301 Add namespace info to created ports
5b5d533 Update doc title format
c870cda Fix kuryr-daemon typo on .zuul.yaml
87bd64c Log the exception-info when an error raises in hanlder
2e6c7ea Services: Rollback openstack resources in case of annotation failure
8ffef7f Ensure pools recovery creates the right pool key.
59f63fb Minor fixes on docs
731d36e Services: Set SGs for N-S with haproxy provider
9c36fe8 Add experimental containerized jobs
c9041d6 Services: Set missing SGs for haproxy provider
b13da77 Run OpenShift 3.7.1 in DevStack plugin
b0b961d Refactor Kuryr-Kubernetes gates to Zuul-V3
1e4b7f1 Add readiness and liveness checks to CNI.
ccca8db TrivialFix: Make timeout a parameter in wait_for
727608a Add timeout to the wait_for method in plugin.sh
20bc89f Make ext subnet config optional
716909d NestedMacvlanPodVIFDriver gets host port before request vif
89a8bd0 Delete pods from registry in CNI daemon
6021374 Revert commits to use UID instead of SelfLink
8f2729c Add support and documentation for OVN
e4b1552 Add health server opts
dd293d6 Update reno for stable/queens


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

.gitignore                                         |   4 +
.stestr.conf                                       |   3 +
.zuul.d/base.yaml                                  |  83 +++
.zuul.d/lbaasv2.yaml                               |  38 +
.zuul.d/multinode.yaml                             |  37 +
.zuul.d/nodesets.yaml                              |  23 +
.zuul.d/octavia.yaml                               | 163 +++++
.zuul.d/project.yaml                               |  45 ++
.zuul.d/sdn.yaml                                   |  90 +++
.zuul.yaml                                         | 161 -----
HACKING.rst                                        |   2 +-
README.rst                                         |   1 +
cni.Dockerfile                                     |  19 +-
cni_ds_init                                        |  41 +-
contrib/devstack-heat/devstack-heat                |  43 +-
contrib/devstack-heat/hot/parameters.yml           |   2 +-
contrib/devstack-heat/lib/devstack-heat            |   2 +-
contrib/kubectl_plugins/kuryr/kuryr                |   4 +
contrib/regenerate_controller_pod.sh               |  17 +
contrib/vagrant/README.md                          |   6 +-
controller.Dockerfile                              |  12 +-
devstack/devstackgaterc                            |  41 --
devstack/gate_hook.sh                              |   6 -
devstack/lib/kuryr_kubernetes                      | 794 +++++++++++++++++++--
devstack/local.conf.df.sample                      |  16 +-
devstack/local.conf.odl.sample                     |  11 +
devstack/local.conf.openshift.sample               |  32 +-
devstack/local.conf.ovn.sample                     | 250 +++++++
devstack/local.conf.pod-in-vm.overcloud.sample     |   1 +
.../local.conf.pod-in-vm.undercloud.ovn.sample     |  47 ++
devstack/local.conf.sample                         |  28 +-
devstack/local.conf.worker.sample                  |   1 +
devstack/plugin.sh                                 | 442 +++++++++---
devstack/settings                                  |  40 +-
.../devref/kuryr_kubernetes_ingress_design.rst     |  25 +-
.../devref/kuryr_kubernetes_ocp_route_design.rst   |  10 +-
.../installation/multi_vif_with_npwg_spec.rst      |  93 +++
etc/cni/net.d/10-kuryr.conf                        |   2 +-
kubernetes_crds/kuryrnet.yaml                      |  12 +
.../network_attachment_definition_crd.yaml         |  21 +
kuryr_kubernetes/clients.py                        |  40 +-
kuryr_kubernetes/cni/api.py                        |  52 +-
kuryr_kubernetes/cni/binding/base.py               |  16 +-
kuryr_kubernetes/cni/binding/bridge.py             |  40 +-
kuryr_kubernetes/cni/binding/nested.py             |  14 +-
kuryr_kubernetes/cni/daemon/service.py             | 211 +++---
kuryr_kubernetes/cni/handlers.py                   | 158 +++-
kuryr_kubernetes/cni/health.py                     | 170 +++++
kuryr_kubernetes/cni/main.py                       |  43 +-
kuryr_kubernetes/cni/plugins/__init__.py           |   0
kuryr_kubernetes/cni/plugins/base.py               |  30 +
kuryr_kubernetes/cni/plugins/k8s_cni.py            |  49 ++
kuryr_kubernetes/cni/plugins/k8s_cni_registry.py   | 139 ++++
kuryr_kubernetes/cni/utils.py                      |  13 +
kuryr_kubernetes/config.py                         |  71 +-
kuryr_kubernetes/constants.py                      |  23 +
kuryr_kubernetes/controller/drivers/base.py        | 317 +++++++-
.../controller/drivers/default_project.py          |  28 +
.../controller/drivers/default_subnet.py           |  40 +-
.../controller/drivers/lb_public_ip.py             |  30 +-
kuryr_kubernetes/controller/drivers/lbaasv2.py     | 512 +++++++++++--
kuryr_kubernetes/controller/drivers/multi_vif.py   | 104 +++
.../drivers/namespace_security_groups.py           | 156 ++++
.../controller/drivers/namespace_subnet.py         | 161 +++++
.../controller/drivers/nested_macvlan_vif.py       |   2 +-
kuryr_kubernetes/controller/drivers/nested_vif.py  |  10 -
.../controller/drivers/nested_vlan_vif.py          |  16 +-
.../controller/drivers/network_policy.py           |  30 +
kuryr_kubernetes/controller/drivers/neutron_vif.py |  29 +-
kuryr_kubernetes/controller/drivers/public_ip.py   |  31 +-
kuryr_kubernetes/controller/drivers/utils.py       |  41 ++
kuryr_kubernetes/controller/drivers/vif_pool.py    | 433 ++++++++---
.../controller/handlers/ingress_lbaas.py           | 212 ++++++
kuryr_kubernetes/controller/handlers/lbaas.py      | 137 ++--
kuryr_kubernetes/controller/handlers/namespace.py  | 145 ++++
kuryr_kubernetes/controller/handlers/pipeline.py   |   2 +-
kuryr_kubernetes/controller/handlers/policy.py     |  43 ++
kuryr_kubernetes/controller/handlers/vif.py        | 106 ++-
kuryr_kubernetes/controller/ingress/__init__.py    |   0
kuryr_kubernetes/controller/ingress/ingress_ctl.py | 159 +++++
kuryr_kubernetes/controller/managers/health.py     |  33 +-
kuryr_kubernetes/controller/service.py             | 118 ++-
kuryr_kubernetes/exceptions.py                     |  33 +
kuryr_kubernetes/handlers/asynchronous.py          |   2 +-
kuryr_kubernetes/handlers/k8s_base.py              |  18 +-
kuryr_kubernetes/handlers/retry.py                 |  40 +-
kuryr_kubernetes/k8s_client.py                     |  39 +-
kuryr_kubernetes/objects/fields.py                 |   6 +
kuryr_kubernetes/objects/lbaas.py                  |  72 +-
kuryr_kubernetes/objects/route.py                  |  43 ++
kuryr_kubernetes/objects/vif.py                    |  28 +
kuryr_kubernetes/opts.py                           |  17 +-
kuryr_kubernetes/os_vif_util.py                    |   2 +-
kuryr_kubernetes/platform/__init__.py              |   0
kuryr_kubernetes/platform/constants.py             |  17 +
kuryr_kubernetes/platform/ocp/__init__.py          |   0
.../platform/ocp/controller/__init__.py            |   0
.../platform/ocp/controller/handlers/__init__.py   |   0
.../platform/ocp/controller/handlers/route.py      | 255 +++++++
.../unit/cni/plugins/test_k8s_cni_registry.py      | 103 +++
.../controller/drivers/test_default_project.py     |  34 +
.../unit/controller/drivers/test_default_subnet.py |  44 +-
.../unit/controller/drivers/test_lb_public_ip.py   |  35 +-
.../unit/controller/drivers/test_multi_vif.py      | 207 ++++++
.../drivers/test_namespace_security_groups.py      | 167 +++++
.../controller/drivers/test_namespace_subnet.py    | 352 +++++++++
.../controller/drivers/test_nested_macvlan_vif.py  |   2 +-
.../controller/drivers/test_nested_vlan_vif.py     |  40 +-
.../unit/controller/drivers/test_neutron_vif.py    |  78 +-
.../unit/controller/drivers/test_public_ip.py      |   4 +-
.../unit/controller/handlers/test_fake_handler.py  |  24 +
.../unit/controller/handlers/test_ingress_lbaas.py | 186 +++++
.../unit/controller/handlers/test_namespace.py     | 284 ++++++++
.../unit/controller/handlers/test_pipeline.py      |   2 +-
.../unit/controller/ingress/test_ingress_ctl.py    | 112 +++
.../platform/ocp/controller/handlers/__init__.py   |   0
.../platform/ocp/controller/handlers/test_route.py | 427 +++++++++++
kuryr_kubernetes/utils.py                          | 133 ++++
kuryr_kubernetes/watcher.py                        |  78 +-
lower-constraints.txt                              | 137 ++++
playbooks/copy-k8s-logs.yaml                       |  14 +
playbooks/get_amphora_tarball.yaml                 |   6 +
playbooks/kuryr-kubernetes-install-base/post.yaml  |  15 -
playbooks/kuryr-kubernetes-install-base/run.yaml   |  56 --
playbooks/tempest-kuryr-kubernetes-base/post.yaml  |  80 ---
playbooks/tempest-kuryr-kubernetes-base/run.yaml   | 136 ----
.../tempest-kuryr-kubernetes-multinode/post.yaml   |  80 ---
.../tempest-kuryr-kubernetes-multinode/run.yaml    |  99 ---
.../notes/active-passive-ha-cfbda8e6b527b48e.yaml  |   9 +
...-openshift-router-support-5f28108b39a2826f.yaml |  15 +
.../notes/cni-health-checks-d2b70f2f2551a9fc.yaml  |  16 +
.../deprecate-non-daemonized-6dd2154238b1628c.yaml |  18 +
.../notes/deprecate_lbaasv2-a524aedf5d3a36bc.yaml  |  15 +
.../fault-tolerable-watcher-24c51dbccabf5f17.yaml  |  21 +
.../make-ext-subnet-optional-99e73bfcbde96c22.yaml |  24 +
.../make-handlers-pluggable-844475484771ffd6.yaml  |  23 +
...baas-timeout-configurable-8624ea32971c0cbe.yaml |   7 +
.../notes/multivif-pools-1cec757c77a8c4f8.yaml     |  34 +
.../notes/network-namespace-2353f8013be398cd.yaml  |  16 +
.../zuul-v3-native-gates-4ed7698667a7b92e.yaml     |   7 +
releasenotes/source/index.rst                      |   1 +
releasenotes/source/queens.rst                     |   6 +
requirements.txt                                   |   8 +-
setup.cfg                                          |  36 +-
test-requirements.txt                              |   5 +-
tools/build_cni_daemonset_image                    |   2 +-
tools/gate/copy_k8s_logs.sh                        |  45 ++
tools/generate_k8s_resource_definitions.sh         |  12 +-
tox.ini                                            |  20 +-
201 files changed, 11963 insertions(+), 2307 deletions(-)


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

diff --git a/requirements.txt b/requirements.txt
index 416c48a..f7df836 100644
--- a/requirements.txt
+++ b/requirements.txt
@@ -6 +6 @@ cotyledon>=1.3.0 # Apache-2.0
-Flask!=0.11,<1.0,>=0.10 # BSD
+Flask!=0.11,>=0.10 # BSD
@@ -10 +10 @@ requests>=2.14.2 # Apache-2.0
-eventlet!=0.18.3,!=0.20.1,<0.21.0,>=0.18.2 # MIT
+eventlet!=0.18.3,!=0.20.1,!=0.21.0,>=0.18.2 # MIT
@@ -12 +12 @@ oslo.cache>=1.26.0 # Apache-2.0
-oslo.config>=5.1.0 # Apache-2.0
+oslo.config>=5.2.0 # Apache-2.0
@@ -19 +19 @@ os-vif!=1.8.0,>=1.7.0 # Apache-2.0
-pyroute2>=0.4.21;sys_platform!='win32' # Apache-2.0 (+ dual licensed GPL2)
+pyroute2>=0.5.1;sys_platform!='win32' # Apache-2.0 (+ dual licensed GPL2)
diff --git a/test-requirements.txt b/test-requirements.txt
index 4a29483..ffb5526 100644
--- a/test-requirements.txt
+++ b/test-requirements.txt
@@ -12,3 +12 @@ python-subunit>=1.0.0 # Apache-2.0/BSD
-sphinx!=1.6.6,>=1.6.2 # BSD
-os-testr>=1.0.0 # Apache-2.0
-openstackdocstheme>=1.18.1 # Apache-2.0
+stestr>=1.0.0 # Apache-2.0
@@ -19 +16,0 @@ testtools>=2.2.0 # MIT
-reno>=2.5.0 # Apache-2.0






More information about the Release-announce mailing list