CHANGES
=======

0.5.1
-----

* Clean up watch resources after watcher.stop()
* cni\_ds\_init: exec into the main process
* Fix small typo in controller/handlers/lbaas.py
* Produce mount volume only if OVS\_HOST\_PATH is defined
* OCP-Router - Fix Ingress controller LB listener creation
* OCP-Router: fix external network bug in devstack
* PodVIFDriver impl - fix release\_vif() signature
* Avoid release\_vif race when using namespaces and pools
* Ensure ports pool are not duplicated with kuryr-controller HA
* Verify keystone connection using token
* import zuul job settings from project-config
* Update UPPER\_CONSTRAINTS\_FILE for stable/rocky
* Update .gitreview for stable/rocky

0.5.0
-----

* Make daemon-cont-octavia and ovn gate non-voting
* Adapt pool recovery to new pod annotation format
* Fix compatiblity with old Pod annotation format
* Get subnet\_caching\_opts from utils
* Add NPWG Multi-VIF driver option in devstack
* Move function get\_subnet to kuryr\_kubernetes.utils
* Separate helper function for pod
* Ensure delete\_network\_pools include all the ports
* Allow musl based distros to resolve using search
* drop deprecated oadm
* Implement NPWG multi-vif driver
* Fix wrong reference in kuryr\_k8s\_opts
* Add namespace isolation for services
* Add sudo for OpenShift registry CA cert copy
* devstack: deploy openshift registry on origin envs
* Set namespace security group driver for namespace gate
* Avoid namespace security group overwrite
* Ensure project id is returned for DefaultNamespaceProjectDriver
* Ensure no api\_root value for containerized deployments
* Log traceback on errors in Watcher
* kuryr-tempest-plugin devstack plugin to build kuryr/demo
* Change Pod annotations format to o.vo
* Ensure isolation between namespaces
* Services: Fix service connectivity after service port edit procedure
* Implement multi-vif driver
*  Fix trivial misprint
* OCP-Router: Fix path route to support subpath
* Using interface name in kubectl plugin
* Add Network Policies Driver
* Use K8s API LB IP instead of HOST\_IP in DevStack
* Try pyroute2 0.5.1
* Provide data timeouts for K8s API LB
* Switch to using stestr
* OCP-Router: Enable the OCP-Route handler unit tests
* OCP-Router:  Add Zuul experimental gates for Openshift Route
* process to gracefully exit when last watcher exits
* Add regenerate controller pod script
* Running tests in serial
* Add default namespace project driver
* Sync up Flask version with global-requirements
* Add octavia precreated image info
* Move tempest-octavia-centos-7 back to check
* Network Custom Resource Definition De-facto Standard support
* devstack: Set and clean iptables
* devstack: Fix load balancing project membership
* Create namespaced resources on the right project
* Proceed CNI output in format of version 0.3.1
* Enable externalIPs for DevStack's OpenShift
* Test Objects Module
* devstack support for openshift-dns
* Move multinode gate to check pipeline
* Make ovn gates voting
* Add KURYR\_K8S\_LBAAS\_USE\_OCTAVIA=False to LBaaS job
* OCP-Route: configuration and testing documentation
* Add octavia based tests to replace LBaaSv2 tests
* Deprecate running Kuryr-Kubernetes with lbaasv2
* Split .zuul.yaml into smaller files
* Move multinode and centos jobs to check pipeline
* Fix the experimental multinode jobs
* Services LBaaS driver:  fix ensure LB for existing LB
* Add contrib folder to irrelevant files
* Fix health server binding address
* Remove redundant line from dragonflow config
* Explicitly set threaded=False when starting Flask
* Really use the test handler
* Devstack install fail if docker cgroup driver is systemd
* Fetch CONTAINERID from Docker API in kuryr-cni
* Kuryr Kubernetes Port and PortPool CRD design reference document
* Fix container image creation
* fix typos
* add a link to release notes in README file
* OCP-Router: Update Devref documentation
* Start kuryr-kubernetes after creating l7 router
* Create network policy handler and driver
* OCP-Router: OCP-Route and Ingress LBaaS handlers
* OCP-Router: Ingress controller support
* OCP-Router: add support for external Ingress Controller's LB creation
* kuryr-controller A/P HA
* Run OVN job containerized and daemonized
* Experimental gate for namespace subnet driver
* fix tox python3 overrides
* Retry namespace deletion to mitigate cascading race
* Add ports pool clean up support to namespace deletion
* Ensure different pool related dicts per pool driver
* Namespace deletion functionality for namespace\_subnet driver
* Switch containerized job to Octavia
* devstack: fix octavia allocation ranges
* Fix precreated ports recovery after pod annotations change
* Service: Decoupling and improvements of LBaaS driver
* Ensure namespace creation event is detected
* Follow the new PTI for document build
* Change neutron CLI to openstack CLI in devstack plugin.sh
* Really ignore unsupported service types
* Allow passing multiple VIFs to CNI
* Ensure endpoint has pods before add/remove members
* Add namespace subnet driver for namespace creation
* Remove admin rights need from verify\_keystone\_connection
* Set netns\_proc\_dir and docker\_mode in configmap for CNI Daemon
* Generate\_kuryr\_certificates\_secret: fix parameter handling
* Fix octavia lb deleting\_race with cascading
* Clean up legacy playbooks
* k8s\_resource\_generation: fix parameter handling
* Update lower-constraints to match requirements.txt
* Clean up OpenShift DevStack directories on unstack
* Remove LIBS\_FROM\_GIT as a var in zuul.yaml
* Fix LB member creation on Nested environment
* Gate with containerized deployment and OpenShift
* Raise OpenShift version to 3.9.0
* Add better octavia coverage at the gate
* devstack: Fix octavia api lb kubelet iface access
* Switch amphora tarball to ubuntu xenial
* Make Neutron LBaaS Activation Timeout configurable
* Add namespace handler
* Kuryr controller - pluggable handlers documentation
* fix a typo
* Add HTTPS support to K8s API healthchecks
* Add \`privileged\` SCC to SA in OpenShift DevStack
* Create CNI bin dir in OpenShift DevStack plugin
* Kuryr-Controller: make handlers pluggable
* Devstack deployment - handle LoadBalancer creation failure
* Dockerfiles: COPY code after installing packages
* Add tarballed amphora
* Apply UC to Dockerfiles
* lbaasv2: Fix for deployments missing the proxy
* Modify maintainers of Dockerfiles
* Vagrant: Document the increased Octavia reqs
* Execute kuryr-cni as \`docker exec\`
* Fix K8s API access through LBaaS on gates
* Add documentation about supported kubernetes versions
* Handle lack of certificate in DevStack
* Add Kuryr pods logs to gate results
* [Trivial] Remove redundant check service is enabled
* Services: update service's status after LB completely provisioned
* add lower-constraints job
* Add CA certificates Secret and mount it
* devstack: add kubelet iface to openshift nodes
* devstack: Make service subnet routable
* Adding containerized parameter as True to tempest.conf
* Creating gate for testing ports pool feature
* Watcher restarts watching resources in failure
* Services: Add support for K8S service's port edit use case
* Updated from global requirements
* Deprecate running kuryr-k8s without kuryr-daemon
* fix kury-cni exits unexpectedly when MTU of network is 0
* Fix Tempest CIs
* Add network id to pools keys
* Upgrade default K8s to 1.9 in DevStack
* Create lockfiles directory in CNI Dockerfile
* devstack-heat: Make parameters overridable
* devstack-heat: Do not clone the entire kuryr-k8s
* Add multi pools support
* Services: Gracefully ignore exposed UDP ports
* cni health: track all cgroup memory usage
* cni: \_has\_cap unit tests system independant
* cni health: Avoid capsh dependency
* doc: Fix manual installation neutron resource
* Make CNI Registry Plugin namespace aware
* Move cni plugins to a common folder
* Add release note for cni health manager
* Add namespace info to created ports
* Update doc title format
* Fix kuryr-daemon typo on .zuul.yaml
* Log the exception-info when an error raises in hanlder
* Services: Rollback openstack resources in case of annotation failure
* Ensure pools recovery creates the right pool key
* Minor fixes on docs
* Services: Set SGs for N-S with haproxy provider
* Add experimental containerized jobs
* Services: Set missing SGs for haproxy provider
* Run OpenShift 3.7.1 in DevStack plugin
* Refactor Kuryr-Kubernetes gates to Zuul-V3
* Add readiness and liveness checks to CNI
* TrivialFix: Make timeout a parameter in wait\_for
* Add timeout to the wait\_for method in plugin.sh
* Make ext subnet config optional
* NestedMacvlanPodVIFDriver gets host port before request vif
* Delete pods from registry in CNI daemon
* Revert commits to use UID instead of SelfLink
* Add support and documentation for OVN
* Add health server opts
* Update reno for stable/queens

0.4.0
-----

* kubectl plugin kuryrvif
* Fix spelling error
* Replace Chinese punctuation with English punctuation
* Use virtualenv to build kuryr-cni Docker image
* Kubernetes Network Policy support Spec
* Add liveness checks to Kuryr Controller
* Kuryr-Kubernetes openshift route integration devref
* Updated from global requirements
* Remove SCREEN\_LOGDIR from devstack
* Kuryr-Kubernetes ingress integration devref
* Rename jobs for zuul v3
* CNI Daemon documentation
* devstack: don't assume there's a running hyperkube
* Make daemon wait for VIF to become active
* Add readiness checks for Kuryr Controller
* Fix kubelet retries issues
* Add release notes for containerization and daemon

0.3.0
-----

* Updates ports pool doc information
* Fix the misspelling of "external"
* Remove hardcoded "/opt/stack/new" from DevStack
* Remove Cinder from tempest gates
* rm tools/tox\_install.sh
* Fix kuryr-daemon for Werkzeug 0.13
* Update service documentation with Octavia loadbalancer topology configurtaion
* Download openshift binaries using curl in DevStack
* Support kuryr-daemon when running containerized
* Disable functional jobs on docs or reno changes
* Make some Tempest gates voting
* Use K8s 1.8 with Hyperkube
* Ensure readiness probe is not always enabled
* Remove setting of version/release from releasenotes
* Add oslo\_cache to default\_subnet driver
* Enable debug log level in DevStack
* Add OpenShift gates
* Add Reno release notes support to Kuryr-Kubernetes
* Add CNI daemon Tempest job
* devstack: add openshift support
* CNI split - introducing CNI daemon
* Add VIF-Handler And Drivers Design approach
* Prevent pyroute2.IPDB threads leaking
* Ignore the headless services
* Add readiness probe to kuryr-controller pod
* Avoid neutron calls at recovering precreated ports
* Enable Neutron Metadata Agent in Tempest jobs
* Add icmp sg rules to k8s project
* Zuul: add file extension to playbook path
* Fix mistakes in tempest playbook
* Fix KeyError exception upon  service/deployment deletion
* Use OVS\_BRIDGE variable for bridge configuration
* Eliminate wrong ERROR report  when service of type LoadBalancer type is deleted
* Fix ports pool documentation
* Update dragonflow devstack local.conf
* Add basic DevStack installation tutorial
* Enable port debug in devstack
* Add list and show pool commands to Pool Manager
* Add Pool Manager to handle subports
* Speed up neutron request\_vifs function
* Remove 99-loopback.conf
* Add devstack ports pool configuration options
* metadata.resourceVersion: Invalid value
* Migrate to Zuulv3
* Remove SCREEN\_LOGDIR from devstack
* Add exception handling to \_get\_in\_use\_ports
* Add support for service type=LoadBalancer
* Optimize return\_to\_pool actions at Pool drivers
* Recover precreated ports at NeutronVIFPool driver
* Updated from global requirements
* Add Octavia L2 member mode support
* Avoid port update neutron call during pods boot up
* [Trivial] Doc fix K8S/K8s -> Kubernetes
* Clean up ENV vars mistmatches in Dockerfiles
* Fix local.conf.sample once again
* devstack: optionally run kuryr containerized
* CNI container: parametrize and clean up
* Add support to install Kuryr as a network addon
* Fix local.conf.sample in without Octavia
* Add methods to populate/free subport pools
* "Install kuryr-cni a virtualenv"->"Install kuryr-cni in a virtualenv"
* Dragonflow support: Installation & Configuration
* Fix typo at local.conf.odl.sample template
* Make precreated ports pool recovery not ML2/OVS specific
* Ensure pool\_key is properly created/retrieved
* OpenDaylight support: Installation & Configuration
* Add DevStack base installation section
* Updated from global requirements
* modify some misspellings in doc

0.2.0
-----

* Update Dragonflow-kuryr devstack configuration
* ipv6: Support pod networking
* documentation: Document how to install services
* Fix Incorrect Module Reference
* [Trivial] Using Similar Format of path like other places in same Doc
* Replace six.itervalues() with dict.values() in kuryr-kubernetes
* devstack: fix ovs\_bind device to be on the pod net
* octavia: Make Octavia ready devstack
* Add devstack support for multi-node deployment
* devstack: Don't assume the router ip
* devstack: create host interface to the pod subnet
* Add ODL devstack example
* Update documentation about nested deployment
* devstack: Use separate nets and project for kuryr
* Systemd usage of kubernetes startup
* devstack: Move to devstack-plugin-container
* Updated from global requirements
* Update URLs in documents according to document migration
* Fix k8s service subnet devstack setting
* Skips kubernetes service without selector
* devstack: Use pre-defined service subnet for API
* Use openstackdocstheme over oslosphinx
* Clarify \_is\_pending function use
* Updated from global requirements
* Copy kubeconfig to tempest dir
* Adding a default ETCD\_PORT to devstack settings for legacy\_etcd
* Enable some off-by-default checks
* Delete or recover precreated ports upon controller restart
* Update ports manager spec with reboot information
* Add ports pool configuration information at README
* Removing detected Keystone Port in vagrant kury\_rc
* Switch gate hook to use etcd3 instead of legacy
* devstack: Use devstack's etcd3 service
* Stopping Thread from oslo\_service
* Enforce E128 pep8 check
* Update installation documentation
* Remove self.lock.acquire()
* Use https links for documentation
* Add MACVLAN based interfaces for nested containers
* Change from GenericVIFPool to NeutronVIFPool
* Nested vlan vif pool driver extension to precreate reusable subports
* Nested vif driver extension to enable ports reuse
* Generic vif pool driver extension to precreate reusable ports
* Generic vif driver extension to enable ports reuse
* Add support for running kuryr with ocata devstack
* Add kuryr-sriov spec proposal
* Cleanup and enforce pep8 checks
* devstack-heat: refactor and improve
* controller: Upd. remaining refs to generic vif
* Refactor the class hierarchy of controller drivers
* devstack: Retrieve column directly
* devstack: Create infra for K8s API accessing pods
* k8s bearer token support
* devstack: overcloud sample should not ovs bind
* Add support for USE\_SCREEN
* devstack: Use config file generation
* devstack: Generate kubeconfig for kubectl and test
* contrib: Add devstack-heat
* devstack: Add configuration for kubelet probes
* Fix typo
* Updated from global requirements
* get nested drivers opts out of neutron defaults
* Improve nested k8s devstack install mechanism
* Include neutron\_defaults group into oslo-config-generator output
* nested\_doc: Fix lack of mention of service\_subnet
* Remove .testrepository/times.dbm before test runs
* Bump the devstack HYPERKUBE version to be v1.6.2
* logging: Improve CNI debug logging:
* debugging: Add CNI env info to debugging log
* Adding support for vif pool driver
* Kuryr Kubernetes Port Manager design reference document
* Replace six.iteritems() with .items()
* Remove extra colons in documentation
* Fix kuryr devstack systemd unit file issues
* Delete docker socket file only if exists
* Spec for fuxi-kubernetes
* Handle LB Conflict exceptions during service deletion
* Updated from global requirements

0.1.0
-----

* Implement Guru meditation reports
* K8s Services support: LoadBalancerHandler
* Fix KeyError problem at cni/api.py when subnets have dns\_nameservers
* Remove subunit-trace fork
* Add devstack support for https k8s api server
* Fix vagrant ssh issue for virtualbox bento
* Wait for docker to exit in devstack plugin.sh
* Switching vagrant boxes to bento provider
* Updated from global requirements
* Remove log translations
* Removing py34 classifier as CI jobs run on py35
* doc: Add reminder to have https in api\_root
* remove unused devstack settings
* Add \*.log to gitignore to ignore vagrant logs
* update rc files
* Spec for adding contrail support in kuryr-k8s
* Fix pep8 gate failure
* Adding Ubuntu 16.04 Box for parallels
* devstack: Use stackrc DATA\_DIR by default
* devstack: fix run\_kubelet data directory
* Adding vagrant configs to kuryr-kubernetes
* Updated from global requirements
* Add support for HTTPS client
* K8s Services support: LBaaSv2Driver
* Add project description to README.rst
* Add Kuryr development policy link to README file
* requirements: add pyroute2 to the runtime reqs
* test-requirements drop unused docker-py
* [Fix gate]Update test requirement
* doc: kuryr-k8s components missed Watch consumer
* docs: Add LogExceptions Event Handler description
* Remove object\_uid
* Fix typo at generic\_vif unit test
* Add ddt to test-requirements
* Moving docs from Kuryr to Kuryr-Kubernetes
* Remove unused logging import
* Updated from global requirements
* Resolve 'resourceVersion' conflicts
* K8s Services support: LBaaSSpecHandler
* testing: drop zero hashseed
* Improve pipeline/Async logging
* Remove link to modindex
* OVO model for K8s Services support
* Bump tox min version to 2.3.1
* Update ReadMe for nested-pods setup resource requirements
* vif: avoid exceptions for non exceptional cases
* Skip stale K8s events
* Few fixes in steps for running pods-in-vm
* Add support for nested pods with Vlan trunk port
* Updated from global requirements
* docs: Fix image rendering
* Remove legacy test method
* Update requirements
* Kubernetes Service support design reference document
* Fix Dragonflow variant of devstack gaterc
* Fix devstacgaterc OVERRIDE\_ENABLED\_SERVICES
* Updated python debug target from 3.4 to 3.5
* testing: add offline testing container for CI
* H402 hacking have been deprecated
* gating: Dragonflow devstackrc for CI
* Fix group parameter for cfg.RequiredOptError in default drivers
* Add DragonFlow Kuryr-Kubernetes local.conf sample
* gating: devstackrc for CI
* Add support for native OVS binding
* Add Constraints support
* devstack: Have controller wait for K8s API
* Updated from global requirements
* kuryr kubernetes design reference document
* devstack: LBaaSv2 and K8s service subnet
* Pin docutils version
* Updated from global requirements
* Fix the check of docker installation
* Experimental CNI & VIFBridge binding
* devstack: add nsenter and fix setup-files race
* devstack: fix k8s setup-files for hyperkube >=1.4
* Show team and repo badges on README
* devstack: add convenience kubectl executable
* devstack: move to k8s 1.4.6
* devstack: set neutron\_defaults
* Controller side of pods' port/VIF binding
* Generic VIF controller driver
* Port-to-VIF os-vif translator for hybrid OVS case
* Default pod security groups driver
* Default pod subnet driver and os-vif utils
* Controller driver base and pod project driver
* tox: fix coverage
* devstack: make cni paths configurable
* Controller event handling pipeline
* DevStack fails if docker service already running
* Asynchronous handler
* Retry handler
* Basic event handling pipeline components
* DevStack: Fix kuryr-kubernetes service startup
* Watcher implementation
* Fix DevStack plugin issues
* Fix sample config file generation
* Removing Python 3.5-specific parts
* Controller service base
* K8s and Neutron clients support
* move config and opt generation to new kuryr-lib
* devstack: First version of kuryr-kubernetes plugin
* Trival: Remove 'MANIFEST.in'
* Update home-page link
* Introduce the translator layer
* Override python test command on python2.7
* Add asyncio eventloop
* Introduce asyncrhonous API requests
* Introduce \`kuryr-k8s\` service
* cookiecutter commit for kuryr-kubernetes
* Added .gitreview
