We are gleeful to announce the release of: magnum 6.1.0: Container Management project for OpenStack This release is part of the queens release series. The source is available from: ** http://git.openstack.org/cgit/openstack/magnum Download the package from: https://tarballs.openstack.org/magnum/ Please report issues through launchpad: ** http://bugs.launchpad.net/magnum For more details, please see below. 6.1.0 ^^^^^ New Features ************ * This release introduces 'federations' endpoint to Magnum API, which allows an admin to create and manage federations of clusters through Magnum. As the feature is still under development, the endpoints are not bound to any driver yet. For more details, please refer to bp /federation-api [1]. [1] https://review.openstack.org/#/q/topic:bp/federation-api * Add new label 'cert_manager_api' enabling the kubernetes certificate manager api. * Add new labels 'ingress_controller' and 'ingress_controller_role' enabling the deployment of a Kubernetes Ingress Controller backend for clusters. Default for 'ingress_controller' is '' (meaning no controller deployed), with possible values being 'traefik'. Default for 'ingress_controller_role' is 'ingress'. * Update kubernetes dashboard to *v1.8.3* which is compatible via kubectl proxy. Addionally, heapster is deployed as standalone deployemt and the user can enable a grafana-influx stack with the *influx_grafana_dashboard_enabled* label. See the kubernetes dashboard documenation for more details. https://github.com/kubernetes/dashboard/wiki * Update k8s_fedora_atomic driver to the latest Fedora Atomic 27 release and run etcd and flanneld in system containers which are removed from the base OS. Known Issues ************ * Adding 'calico' as network driver for Kubernetes so as to support network isolation between namespace with k8s network policy. Upgrade Notes ************* * New clusters should be created with kube_tag=v1.9.3 or later. v1.9.3 is the default version in the queens release. Bug Fixes ********* * Now user can update labels in cluster-template. Previously string is passed as a value to labels, but we know that labels can only hold dictionary values. Now we are parsing the string and storing it as dictionary for labels in cluster-template. Changes in magnum 6.0.1..6.1.0 ------------------------------ 49822b0 Update kubernetes dashboard to v1.8.3 ac4c350 k8s: allow passing extra options to kube daemons 5d0d7c3 [kubernetes] add ingress controller de39220 kuberntes: Disable the scale_manager for scale down bbb478c Run etcd and flanneld in a system container 0b98670 Admin can now delete clusters in any project e2e19aa Driver's name are case sensitive ba5def1 Support calico as network driver c75c24e Add support for Octavia resources in Heat 2354845 Using v1.9.3 as default k8s version b0307f4 Add disabled_drivers config option f13b7ff federation api: api endpoints 6f762b3 [k8s] allow enabling kubernetes cert manager api 15c0adf Now user can update label values in cluster-template 6c3a070 Add missed space in k8s template file 0174b2c Document use of kube_tag label 7ac0eec Updated from global requirements eb92701 k8s: Fix kubelet, add RBAC and pass e2e tests e16fe62 Update UPPER_CONSTRAINTS_FILE for stable/queens 8e879f6 Update .gitreview for stable/queens Diffstat (except docs and test files) ------------------------------------- .gitreview | 1 + devstack/plugin.sh | 2 +- magnum/api/attr_validator.py | 27 ++ magnum/api/controllers/v1/__init__.py | 12 + magnum/api/controllers/v1/cluster.py | 5 + magnum/api/controllers/v1/cluster_template.py | 6 + magnum/api/controllers/v1/federation.py | 454 ++++++++++++++++++++ magnum/api/utils.py | 9 + magnum/api/validation.py | 36 +- magnum/cmd/conductor.py | 2 + magnum/common/exception.py | 9 + magnum/common/keystone.py | 29 ++ magnum/common/policies/__init__.py | 2 + magnum/common/policies/cluster.py | 11 + magnum/common/policies/cluster_template.py | 11 + magnum/common/policies/federation.py | 91 ++++ magnum/common/x509/operations.py | 20 +- magnum/conductor/api.py | 23 + magnum/conductor/handlers/common/cert_manager.py | 11 +- magnum/conductor/handlers/federation_conductor.py | 32 ++ magnum/conf/drivers.py | 8 +- magnum/drivers/common/driver.py | 18 +- .../common/image/heat-container-agent/Dockerfile | 2 +- .../environments/with_master_lb_octavia.yaml | 14 + .../configure_docker_storage_driver_atomic.sh | 12 +- .../kubernetes/fragments/calico-service.sh | 450 ++++++++++++++++++++ .../kubernetes/fragments/configure-etcd.sh | 9 +- .../fragments/configure-kubernetes-master.sh | 17 +- .../fragments/configure-kubernetes-minion.sh | 132 ++++-- .../kubernetes/fragments/core-dns-service.sh | 63 ++- .../kubernetes/fragments/enable-cert-api-manager | 15 + .../kubernetes/fragments/enable-ingress-controller | 23 + .../kubernetes/fragments/enable-ingress-traefik | 147 +++++++ .../fragments/enable-prometheus-monitoring | 2 +- .../kubernetes/fragments/enable-services-master.sh | 12 +- .../fragments/kube-apiserver-to-kubelet-role.sh | 47 +++ .../kubernetes/fragments/kube-dashboard-service.sh | 462 +++++++++++++++++---- .../fragments/kube-system-namespace-service.sh | 71 ---- .../kubernetes/fragments/make-cert-client.sh | 109 +++-- .../templates/kubernetes/fragments/make-cert.sh | 4 +- .../kubernetes/fragments/network-config-service.sh | 10 - .../kubernetes/fragments/network-service.sh | 4 +- .../fragments/write-heat-params-master.yaml | 16 + .../kubernetes/fragments/write-heat-params.yaml | 3 + .../kubernetes/fragments/write-kube-os-config.sh | 1 + .../kubernetes/fragments/write-network-config.sh | 10 +- magnum/drivers/heat/driver.py | 9 + magnum/drivers/heat/k8s_fedora_template_def.py | 23 +- magnum/drivers/heat/k8s_template_def.py | 11 +- magnum/drivers/heat/template_def.py | 6 +- magnum/drivers/k8s_coreos_v1/driver.py | 6 +- .../k8s_coreos_v1/templates/kubecluster.yaml | 8 +- .../k8s_coreos_v1/templates/kubemaster.yaml | 5 + magnum/drivers/k8s_fedora_atomic_v1/driver.py | 6 +- .../templates/kubecluster.yaml | 118 +++++- .../k8s_fedora_atomic_v1/templates/kubemaster.yaml | 179 +++++++- .../k8s_fedora_atomic_v1/templates/kubeminion.yaml | 23 +- magnum/drivers/k8s_fedora_ironic_v1/driver.py | 6 +- .../templates/kubecluster.yaml | 10 +- .../k8s_fedora_ironic_v1/templates/kubemaster.yaml | 11 +- magnum/objects/__init__.py | 6 +- magnum/objects/federation.py | 215 ++++++++++ magnum/objects/fields.py | 26 ++ .../api/controllers/v1/test_cluster_template.py | 32 ++ .../unit/api/controllers/v1/test_federation.py | 415 ++++++++++++++++++ .../conductor/handlers/common/test_cert_manager.py | 6 +- .../handlers/test_federation_conductor.py | 38 ++ .../handlers/test_k8s_cluster_conductor.py | 90 +++- .../handlers/test_mesos_cluster_conductor.py | 78 +++- .../handlers/test_swarm_cluster_conductor.py | 92 +++- .../notes/add-federation-api-cf55d04f96772b0f.yaml | 11 + ...broken-kuberenetes-client-d2d1da6029825208.yaml | 4 + .../calico-network-driver-0199c2459041ae81.yaml | 5 + .../notes/cert-manager-api-ee0cf7f3b767bb5d.yaml | 5 + ...er_template_update_labels-10ce66c87795f11c.yaml | 7 + .../notes/ingress-controller-552ea956ceabdd25.yaml | 8 + ...date-kubernetes-dashboard-5196831c32d55aee.yaml | 8 + .../notes/update-to-f27-cc8aa873cdf111bc.yaml | 10 + requirements.txt | 8 +- specs/containers-service.rst | 2 +- test-requirements.txt | 6 +- tox.ini | 2 +- 95 files changed, 4108 insertions(+), 373 deletions(-) Requirements updates -------------------- diff --git a/requirements.txt b/requirements.txt index cf3e3d1..2ff0e01 100644 --- a/requirements.txt +++ b/requirements.txt @@ -26 +26 @@ netaddr>=0.7.18 # BSD -oslo.concurrency>=3.20.0 # Apache-2.0 +oslo.concurrency>=3.25.0 # Apache-2.0 @@ -31 +31 @@ oslo.i18n>=3.15.3 # Apache-2.0 -oslo.log>=3.30.0 # Apache-2.0 +oslo.log>=3.36.0 # Apache-2.0 @@ -38 +38 @@ oslo.utils>=3.33.0 # Apache-2.0 -oslo.versionedobjects>=1.28.0 # Apache-2.0 +oslo.versionedobjects>=1.31.2 # Apache-2.0 @@ -53 +53 @@ stevedore>=1.20.0 # Apache-2.0 -taskflow>=2.7.0 # Apache-2.0 +taskflow>=2.16.0 # Apache-2.0 diff --git a/test-requirements.txt b/test-requirements.txt index 12535af..92b4d8b 100644 --- a/test-requirements.txt +++ b/test-requirements.txt @@ -15,2 +15,2 @@ mock>=2.0.0 # BSD -openstackdocstheme>=1.17.0 # Apache-2.0 -oslotest>=1.10.0 # Apache-2.0 +openstackdocstheme>=1.18.1 # Apache-2.0 +oslotest>=3.2.0 # Apache-2.0 @@ -22 +22 @@ pytz>=2013.6 # MIT -sphinx>=1.6.2 # BSD +sphinx!=1.6.6,>=1.6.2 # BSD