mirror of https://github.com/docker/docs.git
396 lines
16 KiB
Markdown
396 lines
16 KiB
Markdown
---
|
|
title: UCP 2.1 release notes
|
|
description: Release notes for Docker Universal Control Plane. Learn more about the
|
|
changes introduced in the latest versions.
|
|
keywords: Docker, UCP, release notes
|
|
redirect_from:
|
|
- /datacenter/ucp/2.1/guides/admin/upgrade/release-notes/
|
|
---
|
|
|
|
Here you can learn about new features, bug fixes, breaking changes, and
|
|
known issues for the latest UCP version.
|
|
You can then use [the upgrade instructions](../admin/upgrade.md), to
|
|
upgrade your installation to the latest release.
|
|
|
|
## Version 2.1.8 (2018-04-17)
|
|
|
|
* Fixed an issue that allows users to incorrectly interact with local volumes.
|
|
|
|
## Version 2.1.7
|
|
|
|
(13 February 2018)
|
|
|
|
**Security Notice**
|
|
|
|
The user must use `--log-driver=none` to disable the log driver for containers
|
|
started by backup operations. This is a critical security fix for customers that
|
|
rely on Universal Control Plane 2.1 and a log driver to capture logs from all
|
|
containers across the platform.
|
|
|
|
Caution is advised: any sensitive information that has already been disclosed in
|
|
the logs will NOT be removed by this update. Sensitive information needs to be
|
|
purged manually from the logs.
|
|
Use the backup encryption mechanism with the `--passphrase` option when running a
|
|
UCP backup.
|
|
|
|
A full credentials re-generation and update transition procedure is available:
|
|
[https://success.docker.com/article/KB000623](https://success.docker.com/article/KB000623)
|
|
|
|
This is a breaking change on UCP backup operation. It is now mandatory to specify
|
|
`--log-driver none` option for `docker run` for all UCP backups.
|
|
|
|
## Version 2.1.6
|
|
|
|
(16 January 2018)
|
|
|
|
**Bug fixes**
|
|
|
|
* Security
|
|
* Role-based access control is now enforced for volumes managed by 3rd party
|
|
volume plugins (for example using the NetApp or other volume plugins). This is a
|
|
critical security fix for customers that use 3rd party volume drivers and rely
|
|
on Docker Universal Control Plane for tenant isolation of workloads and data.
|
|
**Caution** is advised when applying this update because users or automated
|
|
workflows may have come to rely on lack of access control enforcement when
|
|
manipulating volumes created with 3rd party volume plugins.
|
|
|
|
## Version 2.1.5
|
|
|
|
(20 July 2017)
|
|
|
|
**Security Update**
|
|
|
|
* Remediated a privilege escalation where an authenticated user could obtain
|
|
admin-level privileges
|
|
|
|
This issue affects UCP versions 2.0.0-2.0.3 and 2.1.0-2.1.4. It was discovered
|
|
by our development team during internal testing
|
|
|
|
**Bug Fixes**
|
|
|
|
* Core
|
|
* Fixed an issue where clients misusing the events API (e.g. slowly reading
|
|
or failing to read events) leads to unresponsive behavior from the cluster
|
|
* Fixed an issue where app services pulling DTR private images using
|
|
integrated single-sign-on would fail due to token expiration
|
|
* UCP resource metrics now correctly display CPU utilization on newer Linux
|
|
kernels
|
|
* Fixed an issue where UCP incorrectly reported 100% memory usage on a node
|
|
due to the usage of memory constraints on containers
|
|
* Network and volume label filters now work correctly on UCP (for example
|
|
when using `docker volume ls --filter label="foo"="bar")`
|
|
* UCP can now be installed correctly when SELinux enforcement mode is
|
|
enabled (e.g. `--selinux-enabled`)
|
|
* Fixed an issue where rejoining (or demoting and promoting) a manager node
|
|
caused `ucp-kv` to become unhealthy due to a stale KV cache
|
|
* UCP now exposes a Registry field in `docker info` output, so that
|
|
deploying with registry credentials (e.g. `docker stack deploy --with-registry-auth`
|
|
now works correctly
|
|
* UCP now reports percentage progress while pulling images
|
|
* `docker images -f dangling=true` now correctly lists untagged `<none>`
|
|
images instead of listing all images
|
|
* Added a network diagnostic tool to `ucp-dsinfo` image to aid in troubleshooting
|
|
issues related to overlay networks
|
|
* Added additional diagnostic information about `docker stacks` to support dumps
|
|
for troubleshooting purposes
|
|
* UCP now provides a more informative warning banner and clearer logs when
|
|
`ucp-auth-store` is unhealthy
|
|
* Reduced the default cache size for `ucp-auth-store` to free up memory on the UCP manager.
|
|
This cache can be adjusted via the `RethinkDBCacheSize` parameter in the UCP Config API
|
|
* Various performance improvements made to `ucp-auth-store` to reduce overhead when the API
|
|
is being repeatedly accessed in a short period of time
|
|
* Fixed an issue where one `ucp-auth-store` instances would fail to join the HA
|
|
cluster if started in the wrong order
|
|
* Fixed an issue where a UCP manager might get stuck in a restart loop due to
|
|
being unable to correctly access the root CA
|
|
* Fixed an issue where users with view-only permissions received an access denied
|
|
error when attempting to deploy stacks via the Compose UI, despite having been granted
|
|
label access to do so
|
|
|
|
|
|
## Version 2.1.4
|
|
|
|
(4 May 2017)
|
|
|
|
**Bug Fixes**
|
|
|
|
* Core
|
|
* Fixed an issue where updating the UCP server certificates, the web UI would
|
|
report success, but not make any changes
|
|
* UCP no longer shows an `invalid memory address` or `nil pointer dereference
|
|
panic` when inspecting containers created with Docker 1.10 or older
|
|
* It is no longer possible to create a service with the same published ingress
|
|
port as the UCP controller's port, thereby rendering UCP inaccessible
|
|
* Fixed an issue where usernames with special language characters (such as ä)
|
|
were unable to login to the system
|
|
* Fixed an issue where a Compose stack deploy could not update an existing service
|
|
due to access control conflicts with the `com.docker.ucp.access.owner` label
|
|
|
|
* docker/ucp image
|
|
* UCP support dumps now include `docker stats` output
|
|
|
|
* UI/UX
|
|
* Fixed an issue where an application deployed using `docker stack deploy`
|
|
in the CLI did not show up in the web UI
|
|
* Fixed an issue where deploying a Compose application via UI with a slow network
|
|
connection might display a websocket error despite successful deployment
|
|
|
|
|
|
## Version 2.1.3
|
|
|
|
(4 Apr 2017)
|
|
|
|
**Known issues**
|
|
|
|
In UCP 2.1.3, if you try to upload externally-signed controller
|
|
certificates through the **Admin Settings** page on the UI, you see a
|
|
"Success" message, but the certificates isn't updated on any
|
|
of the controller nodes.
|
|
|
|
The workaround is to update the contents of the `ucp-controller-server-certs`
|
|
volume manually on each manager node with the new `ca.pem`, `cert.pem`, and
|
|
`key.pem` contents. Update all three of these files approximately
|
|
simultaneously, to avoid issues with reconciliation.
|
|
|
|
**Bug fixes**
|
|
|
|
* Core
|
|
* Fixed known issue where worker nodes would be left in a pending state
|
|
after upgrading from UCP 1.1.z.
|
|
* Nodes will no longer be reported as unhealthy if the `ucp-reconcile`
|
|
container is removed.
|
|
* Fixed an issue where nodes in the same subnet may report incorrect
|
|
hostnames in the UCP node list.
|
|
|
|
* UI/UX
|
|
* UCP support dumps and client bundles can now be downloaded on IE10/11.
|
|
* The task counter in the services page should now correctly omit tasks that
|
|
have not been assigned to a node yet.
|
|
|
|
## Version 2.1.2
|
|
|
|
(29 Mar 2017)
|
|
|
|
**Known issues**
|
|
|
|
There is known issue in UCP 2.1 where upgrading from UCP 1.1.z can cause swarm
|
|
to leave worker nodes in a pending state with the message:
|
|
|
|
```
|
|
[Pending] Completing node registration
|
|
```
|
|
|
|
There are two workarounds for rectifying this issue:
|
|
|
|
1. When upgrading from UCP 1.1.z, first upgrade to UCP 2.0.z, and then to UCP
|
|
2.1.z. This will prevent the issue from happening, and is the recommended upgrade path.
|
|
2. If you have already upgraded from UCP 1.1.z directly to UCP 2.1.z, you can
|
|
fix the issue by restarting the ucp-swarm-manager container on each of your UCP
|
|
controller nodes.
|
|
|
|
This issue will be fixed in UCP 2.1.3.
|
|
|
|
**Bug fixes**
|
|
|
|
* Core
|
|
* `ucp-reconcile` service now correctly brings up `ucp-kv` container if it
|
|
has stopped or become unreachable
|
|
* Fixed known issue in which users are unable to log into UCP UI after upgrading
|
|
from UCP 2.1.0 to 2.1.1 because the parameter for maximum concurrent users was
|
|
incorrectly defaulted to `0`
|
|
* Fixed an issue where the UCP manager becomes unresponsive and requires a restart
|
|
if `docker ps` or `docker info` calls to engine take a long time for a response
|
|
* HTTP Routing Mesh now correctly provides httplog for debug logging of services
|
|
* `docker node ls -f` now correctly filters when run against a UCP cluster
|
|
* `docker inspect task` no longer returns errors when run against a UCP cluster
|
|
* UCP now correctly reports progress when loading an image from CLI
|
|
|
|
* docker/ucp image
|
|
* UCP support dumps now include Docker Engine daemon logs
|
|
* Host address IPs are now automatically added to SANs during install
|
|
* UCP now reports its version number in the CLI after being installed
|
|
|
|
* UI/UX
|
|
* Deploying Compose-based applications in the GUI now works correctly when
|
|
Docker Content Trust "Run Only Signed Images" is turned on
|
|
* Fixed an issue where UI temporarily showed more tasks for a service than
|
|
actually existed
|
|
* Fixed an issue in which metrics incorrectly displayed `0%` in the UI
|
|
|
|
|
|
## Version 2.1.1
|
|
|
|
(14 Mar 2017)
|
|
|
|
**Known issues**
|
|
|
|
If you are currently running UCP 2.1.0 and previously customized the sessions
|
|
lifetime parameter in the Authentication settings UI, upgrading to UCP 2.1.1 may
|
|
cause users to not be able to log into UCP and DTR. This is caused by a faulty
|
|
default value which sets maximum concurrent user sessions to zero.
|
|
|
|
You can either wait for UCP 2.1.2 to be released so that the problem is
|
|
automatically fixed, or upgrade to 2.1.1, and use the following steps to fix
|
|
the problem.
|
|
|
|
Start by getting the current configuration for user sessions by running:
|
|
|
|
```bash
|
|
curl -u admin "https://$UCP_HOST/enzi/v0/config/sessions"
|
|
```
|
|
|
|
The command will prompt for the `admin` user's password and then return
|
|
the current sessions config which should look something like:
|
|
|
|
```json
|
|
{
|
|
"lifetimeHours": 72,
|
|
"renewalThresholdHours": 24,
|
|
"perUserLimit": 0
|
|
}
|
|
```
|
|
|
|
If `perUserLimit` is set to `0`, you need to set it to a value between 1 and 100.
|
|
The recommended value is 5. You should also customize the command below with
|
|
the `lifetimeHours` and `perUserLimit` values returned by the first command.
|
|
|
|
```bash
|
|
curl -u admin "https://$UCP_HOST/enzi/v0/config/sessions" \
|
|
-X PUT \
|
|
-H 'Content-Type: application/json' \
|
|
-d '{"lifetimeHours": 72, "renewalThresholdHours": 24, "perUserLimit": 5}'
|
|
```
|
|
|
|
You can now log into UCP and DTR.
|
|
|
|
**New features**
|
|
|
|
* Core
|
|
* Administrators can now configure the frequency with which UCP polls metrics.
|
|
Use `docker service update --env-add METRICS_SCRAPE_INTERVAL=10m ucp-agent`,
|
|
and the frequency can be in s/m/h.
|
|
* Administrators can now configure the frequency with which UCP gathers disk usage data.
|
|
Use `docker service update --env-add METRICS_DISK_USAGE_INTERVAL=12h ucp-agent`,
|
|
and the frequency can be in s/m/h.
|
|
* Support for syncing users and teams from multiple LDAP servers/domains
|
|
(e.g. a separate server to use for `dc=domain2,dc=example,dc=com`)
|
|
* Support for limiting the number of maximum concurrent login sessions any
|
|
user may have
|
|
|
|
**Bug fixes**
|
|
|
|
* Core
|
|
* Fixed an issue in which UCP manager would panic and be unable to return
|
|
the right system status after the cluster became unhealthy
|
|
* `ucp-hrm` container now provides debug logs through `stdout`
|
|
* HTTP Routing Mesh now checks to ensure an ingress port is not already
|
|
in use by UCP or DTR before becoming active
|
|
* Fixed an issue in which UCP did not use swarm-mode node IDs, preventing
|
|
usage of node constraints and other features when using cloned VMs as UCP nodes
|
|
* Fixed an issue in which certain Docker API 1.26 commands were not correctly supported
|
|
* Disk usage metrics no longer display 0% when using devicemapper filesystem
|
|
* Disk usage metrics are now collected every 2 hours by default, and can be tunned
|
|
* Fixed an issue causing Content Trust enforcement to ignore an optional `tag` for
|
|
`/images/create`, causing some signed content to not run correctly
|
|
* LDAP sync logs now take up less disk space on manager nodes
|
|
* UCP support dumps are now correctly compressed to take up less disk space,
|
|
and provide information on HTTP Routing Mesh and metrics
|
|
* docker/ucp image
|
|
* UCP install now correctly fails and presents an error when trying to
|
|
specify `host-address` to an existing swarm-mode cluster
|
|
* Clarified upgrade message to make it clear that the upgrade command now
|
|
works at once for the entire cluster rather than needing to be run on every
|
|
node
|
|
* UI/UX
|
|
* UI now displays a warning if there is significant latency or network issues
|
|
in communications between UCP manager nodes
|
|
* UI no longer incorrectly displays 'No Services' while still loading the
|
|
Services tab
|
|
* UI no longer displays errors when global tasks are removed due to node
|
|
constraints
|
|
* UI now displays a warning when underlying engines in the swarm-mode
|
|
cluster are running different versions
|
|
* UI now displays an error when 'Load Image' command fails
|
|
* 'KV Store Timeout' option now displays correct units (milliseconds)
|
|
* Dashboard now correctly displays errors when metrics are unavailable
|
|
* The DTR deployment page now validates if a DTR replica ID is valid or not
|
|
|
|
## Version 2.1.0
|
|
|
|
(9 Feb 2017)
|
|
|
|
This version of UCP extends the functionality provided by CS Docker Engine
|
|
1.13. Before installing or upgrading this version, you need to install CS
|
|
Docker Engine 1.13 in the nodes that you plan to manage with UCP.
|
|
|
|
**New features**
|
|
|
|
* Core
|
|
* Support for managing secrets (e.g. sensitive information such as passwords
|
|
or private keys) and using them when deploying services. You can store secrets
|
|
securely on the cluster and configure who has access to them, all without having
|
|
to give users access to the sensitive information directly
|
|
* Support for Compose yml 3.1 to deploy stacks of services, networks, volumes,
|
|
and secrets.
|
|
* HTTP Routing Mesh now generally available. It now supports HTTPS passthrough
|
|
where the TLS termination is performed by your services, Service Name Indication
|
|
(SNI) extension of TLS, multiple networks for app isolation, and Sticky Sessions
|
|
* Granular label-based access control for secrets and volumes
|
|
(NOTE: unlike other resources controlled via label-based access control, a
|
|
volume without a label is accessible by all UCP users with Restricted Control
|
|
or higher default permissions)
|
|
|
|
* UI/UX
|
|
* You can now view and manage application stacks directly from the UI
|
|
* You can now view cluster and node level resource usage metrics
|
|
* When updating a service, the UI now shows more information about the service status
|
|
* Rolling update for services now have `failure-action` which you can use to
|
|
* Several improvements to service lifecycle management
|
|
specify rollback, pausing, or continuing if the update fails for a task
|
|
* LDAP synching has more configuration options for extra flexibility
|
|
* UCP now warns when the cluster has nodes with different Docker Engine versions
|
|
* The HTTP routing mesh settings page now lists all services using the
|
|
routing mesh, with details on parameters and health status
|
|
* Admins can now view team membership in a user's details screen
|
|
* You can now customize session timeouts in the authentication settings page
|
|
* Can now mount `tmpfs` or existing local volumes to a service when deploying
|
|
services from the UI
|
|
* Added more tooltips to guide users on the above features
|
|
|
|
**Bug fixes**
|
|
|
|
* Core
|
|
* HTTP routing mesh can now be enabled or reconfigured when UCP is configured
|
|
to only run images signed by specific teams
|
|
* Fixed an error in which `_ping` calls were causing multiple TCP connections
|
|
to open up on the cluster
|
|
* Fixed an issue in which UCP install occasionally failed with the error
|
|
"failed to change temp password"
|
|
* Fixed an issue where multiple rapid updates of HTTP Routing Mesh configuration
|
|
would not register correctly
|
|
* Demoting a manager while in HA configuration no longer causes the `ucp-auth-api`
|
|
container to provide errors
|
|
|
|
* UI/UX
|
|
* When creating a user, pressing enter on keyboard no longer causes problems
|
|
* Fixed assorted icon and text visibility glitches
|
|
* Installing DTR no longer fails when "Enable scheduling on UCP controllers and
|
|
DTR nodes" is unchecked.
|
|
* Publishing a port to both TCP and UDP in a service via UI now works correctly
|
|
|
|
**Known issues**
|
|
|
|
|
|
The `docker stats` command is sometimes wrongly reporting high CPU usage.
|
|
Use the `top` command to confirm the real CPU usage of your node.
|
|
[Learn more](https://github.com/moby/moby/issues/28941).
|
|
|
|
|
|
**Version compatibility**
|
|
|
|
UCP 2.1 requires minimum versions of the following Docker components:
|
|
|
|
* Docker Engine 1.13.0
|
|
* Docker Remote API 1.25
|
|
* Compose 1.9
|