[release-announce] magnum 9.1.0 (train)

no-reply at openstack.org no-reply at openstack.org
Wed Nov 6 02:11:59 UTC 2019


We exuberantly announce the release of:

magnum 9.1.0: Container Management project for OpenStack

This release is part of the train stable release series.

The source is available from:

    https://opendev.org/openstack/magnum

Download the package from:

    https://tarballs.openstack.org/null/

Please report issues through:

    https://bugs.launchpad.net/magnum/+bugs

For more details, please see below.

9.1.0
^^^^^


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

* Add fedora coreos driver. To deploy clusters with fedora coreos
  operators or users need to add os_distro=fedora-coreos to the image.
  The scripts to deploy kubernetes on top are the same with fedora
  atomic. Note that this driver has selinux enabled.

* Along with the kubernetes version upgrade support we just
  released, we're adding the support to upgrade the operating system
  of the k8s cluster (including master and worker nodes). It's an
  inplace upgrade leveraging the atomic/ostree upgrade capability.

* Cluster upgrade API supports upgrading specific nodegroups in
  kubernetes clusters. If a user chooses a default nodegroup to be
  upgraded, then both of the default nodegroups will be upgraded since
  they are in one stack. For non-default nodegroups users are allowed
  to use only the cluster template already set in the cluster. This
  means that the cluster (default nodegroups) has to be upgraded on
  the first hand. For now, the only label that is taken into
  consideration during upgrades is the kube_tag. All other labels are
  ignored.

* Choose whether system containers etcd, kubernetes and the heat-
  agent will be installed with podman or atomic. This label is
  relevant for k8s_fedora drivers.

  k8s_fedora_atomic_v1 defaults to use_podman=false, meaning atomic
  will be used pulling containers from docker.io/openstackmagnum.
  use_podman=true is accepted as well, which will pull containers by
  k8s.gcr.io.

  k8s_fedora_coreos_v1 defaults and accepts only use_podman=true.

  Note that, to use kubernetes version greater or equal to v1.16.0
  with the k8s_fedora_atomic_v1 driver, you need to set
  use_podman=true. This is necessary since v1.16 dropped the
  --containerized flag in kubelet.
  https://github.com/kubernetes/kubernetes/pull/80043/files


Known Issues
************

* The startup of the heat-container-agent uses a workaround to copy
  the SoftwareDeployment credentials to /var/lib/cloud/data/cfn-init-
  data. The fedora coreos driver requires heat train to support
  ignition.

Changes in magnum 9.0.0..9.1.0
------------------------------

347b7b74 Use v1.15.0 as default octavia_ingress_controller_tag
2d4cc396 coreos: Use heat params for heat-agent image
020e1f3b Docker volume size from nodegroups
dacaeb03 k8s_fedora: Add use_podman label
be992a7d [fedora-atomic][k8s] Support operating system upgrade
7a70542f No new NGs for clusters without an api_address
ece4adb0 Failed state was ignored for default ngs
efc654d1 heat-agent: Check if scripts exists
b8d9eeb4 bug: Cluster should be creatable w/o fixed subnet
3c984603 ng-13: Support nodegroup upgrade
b56b164d ng-12: Label nodegroup nodes
952700e8 ng-11: API microversion 1.9
25dd88c9 ng-10: Fix cluster template conditions
0341f921 Support Fedora CoreOS 30
d4766aa8 update api-ref for clustertemplate
58ae69d8 Convert fixed_subnet name to uuid for OCCM
f15ee976 Fixing typos and spelling errors in driver template files
b449ed89 zuul: drop secret from stable branch
f8981ee3 k8s_atomic: Run all syscontainer with podman
1ef99de8 Pass ssh public key as string
e780e34d Delete the ca-rotate api-ref
eb02e82b k8s_fedora: Move rp_filter=1 for calico up
3afd376c k8s_fedora: Label master nodes with kubectl
01ae402f Add hostname-override to kube-proxy
b2ee79e2 Set cniVersion for flannel
27f0cf63 Improve log of k8s health status check
209846ca Change the order of resource creation
b4ee00b7 Drop deprecated APIs for kube v1.16 support
b53c8826 ng-9: Driver for nodegroup operations
e6be08e5 ng-8: APIs for nodegroup CRUD operations
21f71af8 ng-7: Adapt parameter and output mappings
88916993 ng-6: Add new fields to nodegroup objects
a21f6b8f Return default quota from API
178d455d Update TOX/UPPER_CONSTRAINTS_FILE for stable/train


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

.zuul.yaml                                         |   26 -
api-ref/source/certificates.inc                    |   26 -
api-ref/source/clustertemplates.inc                |    6 +
api-ref/source/parameters.yaml                     |    7 +
.../dcos_centos_v1/templates/dcoscluster.yaml      |    5 +
.../scripts/configure_container_agent.sh           |   40 +-
.../scripts/write-os-apply-config-templates.sh     |    9 +-
.../kubernetes-controller-manager/launch.sh        |    2 +
.../kubernetes-kubelet/config.json.template        |    5 +-
magnum/api/controllers/v1/cluster.py               |   30 +-
magnum/api/controllers/v1/cluster_actions.py       |   10 +-
magnum/api/controllers/v1/nodegroup.py             |  179 ++-
magnum/api/controllers/v1/quota.py                 |   17 +-
magnum/api/controllers/versions.py                 |    3 +-
magnum/cmd/conductor.py                            |    2 +
magnum/common/exception.py                         |   35 +-
magnum/common/neutron.py                           |   39 +-
magnum/common/nova.py                              |   34 +
magnum/common/policies/nodegroup.py                |   33 +
magnum/conductor/api.py                            |   23 +
magnum/conductor/handlers/cluster_conductor.py     |   11 +
magnum/conductor/handlers/nodegroup_conductor.py   |  152 +++
magnum/conductor/utils.py                          |    2 +
magnum/db/api.py                                   |    2 +-
.../alembic/versions/c04e925e65c2_nodegroups_v2.py |   50 +
magnum/db/sqlalchemy/api.py                        |    6 +-
magnum/db/sqlalchemy/models.py                     |    4 +
magnum/drivers/common/driver.py                    |   15 +
magnum/drivers/common/k8s_monitor.py               |   15 +-
.../kubernetes/fragments/calico-service.sh         |    7 +-
.../kubernetes/fragments/configure-etcd.sh         |  109 +-
.../fragments/configure-kubernetes-master.sh       |  224 +++-
.../fragments/configure-kubernetes-minion.sh       |  133 +-
.../kubernetes/fragments/enable-helm-tiller.sh     |    6 +-
.../kubernetes/fragments/enable-ingress-octavia.sh |   14 +-
.../kubernetes/fragments/enable-ingress-traefik.sh |    2 +-
.../kubernetes/fragments/enable-keystone-auth.sh   |    5 +-
.../fragments/enable-prometheus-monitoring.sh      |    9 +-
.../kubernetes/fragments/enable-services-master.sh |   11 +-
.../kubernetes/fragments/enable-services-minion.sh |    3 +-
.../kubernetes/fragments/flannel-service.sh        |    7 +
.../kubernetes/fragments/kube-dashboard-service.sh |   12 +-
.../kubernetes/fragments/start-container-agent.sh  |   55 +-
.../kubernetes/fragments/upgrade-kubernetes.sh     |  140 ++-
.../fragments/write-heat-params-master.sh          |    3 +
.../kubernetes/fragments/write-heat-params.sh      |    3 +
magnum/drivers/heat/driver.py                      |  393 +++++-
magnum/drivers/heat/k8s_coreos_template_def.py     |   79 +-
magnum/drivers/heat/k8s_fedora_template_def.py     |   63 +-
magnum/drivers/heat/k8s_template_def.py            |  160 ++-
magnum/drivers/heat/swarm_fedora_template_def.py   |   87 +-
magnum/drivers/heat/swarm_mode_template_def.py     |   86 +-
magnum/drivers/heat/template_def.py                |  103 +-
magnum/drivers/k8s_coreos_v1/template_def.py       |    2 +-
.../templates/fragments/enable-coredns.yaml        |    2 +-
.../k8s_coreos_v1/templates/kubecluster.yaml       |   37 +-
magnum/drivers/k8s_fedora_atomic_v1/driver.py      |   66 +-
.../templates/kubecluster.yaml                     |  162 ++-
.../k8s_fedora_atomic_v1/templates/kubemaster.yaml |   31 +
.../k8s_fedora_atomic_v1/templates/kubeminion.yaml |   33 +
magnum/drivers/k8s_fedora_coreos_v1/__init__.py    |    0
magnum/drivers/k8s_fedora_coreos_v1/driver.py      |   32 +
.../drivers/k8s_fedora_coreos_v1/template_def.py   |   45 +
.../drivers/k8s_fedora_coreos_v1/templates/COPYING |  202 +++
.../templates/kubecluster.yaml                     | 1311 ++++++++++++++++++++
.../k8s_fedora_coreos_v1/templates/kubemaster.yaml |  889 +++++++++++++
.../k8s_fedora_coreos_v1/templates/kubeminion.yaml |  589 +++++++++
.../k8s_fedora_coreos_v1/templates/user_data.json  |   84 ++
magnum/drivers/k8s_fedora_coreos_v1/version.py     |   17 +
.../templates/kubecluster.yaml                     |   37 +-
magnum/drivers/mesos_ubuntu_v1/template_def.py     |   78 +-
.../mesos_ubuntu_v1/templates/mesoscluster.yaml    |   20 +-
.../swarm_fedora_atomic_v1/templates/cluster.yaml  |   18 +-
.../templates/swarmmaster.yaml                     |    2 +-
.../templates/swarmcluster.yaml                    |   20 +-
.../templates/swarmmaster.yaml                     |    2 +-
magnum/objects/fields.py                           |    3 +-
magnum/objects/nodegroup.py                        |   18 +-
.../api/controllers/v1/test_cluster_actions.py     |  127 +-
.../unit/api/controllers/v1/test_nodegroup.py      |  482 ++++++-
.../conductor/handlers/test_cluster_conductor.py   |   10 +-
.../handlers/test_k8s_cluster_conductor.py         |  108 +-
.../handlers/test_mesos_cluster_conductor.py       |   36 +-
.../conductor/handlers/test_nodegroup_conductor.py |  218 ++++
.../handlers/test_swarm_cluster_conductor.py       |   42 +-
.../drivers/test_k8s_fedora_atomic_v1_driver.py    |  142 +++
playbooks/container-builder-vars.yaml              |    2 +-
.../notes/fedora_coreos-e66b44d86dea380f.yaml      |   12 +
...-fedora-atomic-os-upgrade-9f47182b21c6c028.yaml |    7 +
.../notes/upgrade_api-1fecc206e5b0ef99.yaml        |   12 +
.../notes/use_podman-39532143be2296c2.yaml         |   17 +
setup.cfg                                          |    1 +
tox.ini                                            |    2 +-
109 files changed, 7565 insertions(+), 945 deletions(-)







More information about the Release-announce mailing list