3 All notable changes to this project will be documented in this file.
5 The format is based on [Keep a Changelog](http://keepachangelog.com/)
6 and this project adheres to [Semantic Versioning](http://semver.org/).
8 * DCAEGEN2-2388 - Extend DCAE CFY K8S plugin to support IPv6 services.
9 * Add properties to ports list to support IPv6 services
11 * DCAEGEN2-2388 - Extend DCAE CFY K8S plugin to support IPv6 services.
12 * Update kubernetes python plugin to version 12.0.1
14 * OOM-2526 - Replace AAF CertService with OOM CertService
15 * Rename truststore merger init container to cert post processor
18 * DCAEGEN2-2253 - Add support to move CMPv2 keystore in place of AAF CertMan keystore
19 * Make secret for cert-service-client container configurable
22 * DCAEGEN2-2253 - Add support to truststore merger init container
25 * DCAEGEN2-2252 - Add support to request certificates from CMPv2 server in DCAE cloudify blueprints
26 - handle incorrect blueprint
27 * DCAEGEN2-2380 - K8splugin should not create cert-service-client init container by default
30 * DCAEGEN2-2309 - Adapt with K8S 1.17 version of APIs
33 * DCAEGEN2-2252 - Add support to request certificates from CMPv2 server in DCAE cloudify blueprints
36 * DCAEGEN2-1791 - eliminate the ContainerizedPlatformComponent type
37 * DCAEGEN2-2215 - allow environment variables to be set via docker_config
40 * DCAEGEN2-2006 Reduce code complexity
41 The k8sclient.k8sclient.deploy function parameter 'resources' is now an optional
42 keyword argument, i.e. it must be passed named and not as a positional argument.
45 * DCAEGEN2-1988 Customize python import for kubernetes plugin
48 * DCAEGEN2-1956 support python3 in all plugins
51 Fix bug related to setting the delivery URL for a DR subscriber. (DCAEGEN2-1009)
54 Change location of kubeconfig file for multi-cluster support. Put the
55 file in a subdirectory so that the k8s volume mount does not require a
56 "subPath" parameter, so that updates to the ConfigMap hosting the kubeconfig
57 will be visible to the plugin without restarting Cloudify Manager.
60 change v['container']['mode'] to v['container'].get('mode') to allow for
61 the 'mode' value to be absent from v['container']
62 add comment: The name segment is required and must be 63 characters or less
63 (https://kubernetes.io/docs/concepts/overview/working-with-objects/labels/)
66 Support for deploying to multiple Kubernetes clusters.
69 * Support for liveness probes (https://kubernetes.io/docs/tasks/configure-pod-container/configure-liveness-readiness-probes/)
70 * fix the readiness probe to run script such as "/opt/app/snmptrap/bin/snmptrapd.sh status"
71 * change "ports" and the "mode" of volume to be optional instead of mandatory
74 * If an installation step times out because a component does not become ready within the maximum wait time,
75 delete the Kubernetes artifacts associated with the component. Previously, an installation step might time
76 out due to a very slow image pull. Cloudify would report a failure, but the component would come up, much
77 later, after Kubernetes finished pulling the image. This should no longer happen.
80 * Increase unit test coverage
83 * Support for specifying CPU and memory resources in a blueprint for a containerized component
84 * Changes the default time that the plugin will wait for a container to become ready from 300 seconds to 1800 seconds
87 * DCAEGEN2-1086 update onap-dcae-dcaepolicy-lib version to avoid Consul stores under old service_component_name
90 * Enhancement: Add support for changing the image running in the application container. ("Rolling upgrade")
93 * Enhancement: Use the "healthcheck" parameters from node_properties to set up a
94 Kubernetes readiness probe for the container.
97 * Enhancement: When Cloudify Manager is running in a Docker container in a Kubernetes environment, the plugin can use the Kubernetes API credentials set up by Kubernetes.
100 * Fixes a bug in passing environment variables.
104 * Initial release of the Kubernetes plugin. It is built on the [Docker plugin](../docker) and preserves the Docker plugin's integration with the policy plugin and the DMaaP plugin.