1.9.0¶
The Anbox Cloud team is pleased to announce the release of Anbox Cloud 1.9.0
Deprecations¶
The Android 7 (
bionic:android7:arm64
andbionic:android7:amd64
) images are now deprecated and will no longer be available starting with Anbox Cloud 1.10 which will be released in April 2021The UI included in the Anbox Stream Gateway service will be dropped in Anbox Cloud 1.10 as it’s being replaced with the new dashboard
Known Issues¶
At times the
anbox-cloud-dashboard
charm reports aerror
as workload status due to too many units trying to useapt
on the machine at the same time. Juju will retry the installation after some time automatically and the problem will fix itself. The issue can be identified in the output ofjuju debug-log --include anbox-cloud-dashboard
. This will be improved in the upcoming 1.9.1 releaseIf for the initial deployment not Ubuntu Advantage token is configured via an
overlay.yaml
the status messages reported by the charms once they become idle is not set toUA token missing
. There is no impact in terms of functionality. Applying the UA token viajuju config <application> ua_token=<token>
will work as usual.
New Features & Improvements¶
New web based dashboard to manage applications and streaming sessions in Anbox Cloud
WebView based on upstream 88.0.4324.152 release
Android security updates for February 2021 (see here for more details)
Out of band data allowing to send custom data from applications running inside the Android container to the client connected over WebRTC
Support for streaming the clients camera to the Android container over WebRTC
Hardware video encoding support for NVIDIA on Arm
Support in AMS for existing LXD clusters
New recursive=
parameter to GET /sessions on the Stream Gateway to return the full session objects rather than just their ID Streaming sessions can now be deleted in batch and asynchronously
Introduce the container.features config item in AMS to enable specified features in Android container
Bump key size to 4096 to work with 20.04 stronger security defaults
Anbox now uses Vulkan as a backend renderer API on NVIDIA GPUs on both x86 and Arm. This improves performance, stability and compatibility.
Improved density on NVIDIA Tesla T4 cards. With Anbox Cloud < 1.9.0 the maximum of containers possible was around 10-12 due to bugs in the GPU firmware when using the OpenGL ES client API. With the switch to Vulkan the firmware bugs are no longer triggered and up to a maximum of 32 simultaneous containers are possible (subject to their actual use of the GPU)
Updated NVIDIA GPU driver to the 460 series for both x86 and Arm
A default virtual keyboard is now included in the provided Android images and can be conditionally enabled
A launch activity can now be specified when new sessions are created or existing joined. This allows switching to specific activities within the application.
Stripped down unnecessary dependencies to speed up deployment time
Session objects in the gateway now contain information about failed container
The AMS charm now sets up access to the Anbox Cloud image server via the Ubuntu Advantage subscription the machine is attached to. It’s no longer necessary to supply individual user+password authentication details
Added API measurements to metrics
Various fields of an application can now be updated via the AMS HTTP API without providing a new APK file
The Anbox Stream Gateway has now support for HTTP rate limit which can be configured via a charm configuration option
AMS can be configured to use pre-existing storage pools and networks
AMS now exposes the
scheduler.strategy
configuration item to allow choosing betweenbinpack
andspread
strategiesAMS now exposes two configuration items
node.queue_size
andnode.workers_per_queue
to allow fine tuning how AMS processes container launch requests for optimal throughputThe Google STUN server is no longer used
Streaming sessions are now ephemeral by default and will be automatically removed when the container it belongs to terminates
Bugs¶
LP #1868945 Android: failed to get memory consumption info
LP #1873393 Close of unknown file descriptor in
gralloc
modules causes crashLP #1892693 Provide better error message when websocket connect to gateway fails
LP #1897300 Rare ICE errors on iOS Safari when streaming
LP #1901035 NVIDIA GPUs cannot host more than 12-13 Anbox containers
LP #1903518 Inconsistent Session object returned by the Gateway API
LP #1903991 Coturn reports Unauthorised for users when stream was already established
LP #1905734 WebRTC streaming fails in Firefox
LP #1908240 AMS timing issue when fetching an image before assigning it an alias
LP #1908404 Images are not synchronised from
images.anbox-cloud.io
LP #1910203 Dashboard charm crashes with KeyError on certificates relation
LP #1911202 Container delete fails with ZFS busy error
LP #1912113 WebRTC platform aborts with unhandled exception
LP #1912143 Port 3000 will not get opened after exposing AAR (AMS registry)
LP #1912146 when nrpe relation is added to AAR, ‘Check AAR HTTPS endpoint’ will always fail with 401 Unauthorised
LP #1912267 WebRTC platform crashes in
eglReleaseThread
inlibEGL_mesa.so.0
on terminationLP #1912302 Container doesn’t not terminate correctly
LP #1912470 The latest WebRTC platform is broken on NVIDIA based GPU machine
LP #1912521 Dashboard charm does not set application version
LP #1912588
anbox-cloud-tests
for gateway, sometime fails to launch containerLP #1912732 Anbox cloud dashboard does not show all of the panes correctly
LP #1912784 Dashboard register URL is still on HTTP
LP #1912785 AMC failed to create container with error, however in LXD it was successfully created
LP #1912787 Status message of a session with status error is empty when container crashed
LP #1912932 CTS tests claims
EGL_KHR_image
extension is missingLP #1912956 Native SDK example crashes when trying to lock destroyed mutex
LP #1913017 SEGV when terminating the streaming on Android client built against native SDK
LP #1913020 FORTIFY:
pthread_mutex_lock
called on a destroyed mutex on AudioTrack threadLP #1913058
gpu-support.sh
script unloads kernel drivers when current driver is already the correct oneLP #1913264 Anbox Cloud Dashboard stuck on
waiting for UA
even with UA source configuredLP #1913305 Charm stays in blocked when
ua attach
failedLP #1913364 Meaningless/Invalid resource is listed in the response when deleting an addon version
LP #1913391 Coturn uses location as external address when external_address_from_location is set to false
LP #1913403 AMS crashed when exporting an application version
LP #1913436 Update the command description of
amc config set
LP #1913457 LXD container cgroup metrics are not reported via subordinate telegraf charm
LP #1913462 On ARM64 systems not loaded
nvidia_uvm
kernel module crashes containersLP #1913524 AMS crashed when executing a command within a container by posting a body
LP #1913528 The timestamp of event shows
0001-01-01T00:00:00Z
LP #1914008 Juju fails to attach storage to LXD unit
LP #1914036 Dashboard sets 5min idle timeout
LP #1914188 Opened port is closed when port hasn’t changed for gateway
LP #1914276 JS SDK reports “Unknown message type error” at times in Firefox
LP #1914435 Anbox Stream JS SDK always get
rear
facing mode no matter people switch the camera face mode to “front” or “rear”LP #1914448 Dashboard register command gives private IP instead of public one
LP #1914811 NVIDIA kernel modules are not loaded after deployment
LP #1914991 Latest gateway API changes break dashboard
Upgrade Instructions¶
See How to upgrade Anbox Cloud or How to upgrade the Anbox Cloud Appliance for instructions of how to update your Anbox Cloud deployment to the 1.9.0 release.