kuryr-kubernetes 0.5.0 (rocky)
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
participants (1)
-
no-reply@openstack.org