Skip to content

Commit

Permalink
Update dashboard topics for 1.23.0
Browse files Browse the repository at this point in the history
- Remove screenshots for easy maintenance
- Instead, use intuitive texts
- Update for sessions + instances view merger
  • Loading branch information
keirthana committed Jul 31, 2024
1 parent 3c36613 commit ce1e7d2
Show file tree
Hide file tree
Showing 16 changed files with 71 additions and 66 deletions.
1 change: 1 addition & 0 deletions .custom_wordlist.txt
Original file line number Diff line number Diff line change
Expand Up @@ -270,6 +270,7 @@ syscall
syscalls
systemd
telegraf
tooltip
tryCapture
TCP
Telegraf
Expand Down
3 changes: 1 addition & 2 deletions explanation/web-dashboard.md
Original file line number Diff line number Diff line change
Expand Up @@ -10,8 +10,7 @@ The dashboard comes pre-installed when you deploy the full version of Anbox Clou
The dashboard allows multiple views and management of various objects such as applications, instances and nodes to some extent. The operations available from the dashboard may be limited as compared to the CLI, however if you are new to the CLI, the dashboard can be a friendlier start to Anbox Cloud.

* Applications view - Allows creation, streaming and management of applications.
* Sessions view - Allows a list view of the sessions and their status.
* Instances view - Allows a detailed view of instances and the applications or images that they are created from, along with management options for the instances.
* Instances view - Allows a detailed view of instances and the applications or images that they are created from, along with management and streaming options for the instances.
* Nodes view - Allows a list view of LXD nodes and their configuration details.

Apart from these views, the dashboard also allows you to work with the {ref}`exp-aar` and the {ref}`exp-ams`.
Expand Down
2 changes: 1 addition & 1 deletion howto/application/create-application.md
Original file line number Diff line number Diff line change
Expand Up @@ -48,7 +48,7 @@ resources:
## Using the dashboard
To create an application using the dashboard, use the *Add application* button on the *Applications* view, enter the required and any optional details that you want to provide and select *Add application*. This screen also provides the option to customise your application manifest.
To create an application using the dashboard, click *Create application* from the applications view, enter the required and any optional details that you want to provide and confirm with *Create application* again. This screen also provides the option to customise your application manifest.
There may be more advanced scenarios while creating an application that cannot be performed using the dashboard and may require using the `amc` CLI.

Expand Down
10 changes: 9 additions & 1 deletion howto/application/delete-application.md
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,15 @@

When an application is no longer needed, it can be fully removed from Anbox Cloud. Removing an application will cause all of its versions to be removed, including all of its currently active instances. Be extra careful as this might affect your users if any are still using instances of the application you want to remove.

Once you're sure you want to remove the application, you can do so with the following command:
Once you're sure you want to remove the application, you can delete it via the dashboard or the CLI.

## Using the dashboard

In the applications list view, click *Delete* ( ![delete application icon](/images/delete-icon.png) ) and confirm the deletion.

## Using the CLI

Run:

amc application delete bcmap7u5nof07arqa2ag

Expand Down
2 changes: 1 addition & 1 deletion howto/application/list-applications.md
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
(howto-list-applications)=
# How to list applications

To list all available applications, use the following command:
When using the CLI, to list all available applications, run:

amc application ls

Expand Down
8 changes: 6 additions & 2 deletions howto/application/stream-application.md
Original file line number Diff line number Diff line change
Expand Up @@ -24,7 +24,9 @@ For example, to create an instance with a 1080p resolution, a frame rate of 60 a

The dashboard has in-browser streaming capabilities through WebRTC. It uses the {ref}`sec-streaming-sdk`.

You can start a streaming session for any of the successfully created applications. An application is ready to be streamed when its *Status* is *Ready*. When you select the *Start a new session* icon for an application, you can specify the desired streaming attributes such as the screen resolution, frame rate, screen orientation before launching the session.
When creating an instance, make sure you select the *Enable Streaming* capability to be able to stream your application. You can also set the desired streaming attributes using the *Virtual display* options available for an instance.

You can start a streaming session for any of the successfully created applications. Once the associated instance is created and ready, click *Join session* ( ![join session icon](/images/join-session-icon.png) ) to start the stream.

To understand how the streaming stack of Anbox Cloud works, see {ref}`exp-application-streaming`.

Expand Down Expand Up @@ -56,7 +58,9 @@ The downloaded `.csv` file has the following statistics:

### Sharing a streaming session

Use the **Sharing** button on the session page to share a streaming session with users without an account. The button generates a link using which users without an account can join your session.
To share your stream with users without an account, click *Set up sharing* ( ![set up sharing icon](/images/share-stream-icon.png) ) in the instances list view.

Set your stream title and validity and generate a link that can be shared with others.

## Related topics

Expand Down
4 changes: 2 additions & 2 deletions howto/instance/create-instance.md
Original file line number Diff line number Diff line change
Expand Up @@ -4,13 +4,13 @@ To launch an application or an image, Anbox Cloud creates an instance for it. To

## Using the dashboard

Select *Create Instance* on the *Instances* view to launch an instance. The information required for launching an instance depends on whether you are creating the instance from an application or an image.
*Create Instance* in the instances view to launch an instance. The information required for launching an instance depends on whether you are creating the instance from an application or an image.

When you create the instance from an application, the attributes you define for the application decide most of the properties of the instance.

When you create the instance from an image, you can define the properties of the instance during its creation.

Once you *Create and Start* an instance by providing the necessary attributes, you can view the instance and its status on the *Instances* view.
Once you *Create and Start* an instance by providing the necessary attributes, you can view the instance and its status in the instances list view.

There may be more advanced scenarios while creating an instance that cannot be performed using the dashboard and may require using the `amc` CLI.

Expand Down
10 changes: 9 additions & 1 deletion howto/instance/delete-instance.md
Original file line number Diff line number Diff line change
@@ -1,7 +1,15 @@
(howto-delete-instance)=
# How to delete an instance

An instance can be deleted, which will cause any connected user to be disconnected immediately. The following command deletes a single instance:
An instance can be deleted, which will cause any connected user to be disconnected immediately.

## Using the dashboard

In the instances list view, click *Delete* ( ![delete application icon](/images/delete-icon.png) ) and confirm the deletion.

## Using the CLI

Run:

amc delete <instance_id>

Expand Down
27 changes: 8 additions & 19 deletions howto/troubleshoot/troubleshoot-dashboard-issues.md
Original file line number Diff line number Diff line change
Expand Up @@ -3,13 +3,11 @@

You might encounter the following issues when using the dashboard.

## Session with an Error status
## Error while streaming

*Applies to: Anbox Cloud, Anbox Cloud Appliance*

On the **Sessions** page, you could see a session with an **Error** status when there are not enough resources to start a streaming session.

![Session with an Error status|690x440](https://assets.ubuntu.com/v1/43e5fac7-session-error.png)
Streaming can fail when there are not enough resources to start a streaming session.

Try the following actions:
* Verify if you have sufficient resources for instance/application creation. See {ref}`exp-capacity-planning` for more information.
Expand All @@ -21,7 +19,8 @@ Try the following actions:

A session does not start and the session details page displays the following error:

![Session does not start|690x440](https://assets.ubuntu.com/v1/4658bad5-session-does-not-start.png)
Anbox stream failed
failed to communicate with the signaler: There was an error with the websocket, check debug console for more information

See {ref}`howto-view-instance-logs` to find reasons for the session failure.

Expand All @@ -30,28 +29,20 @@ See {ref}`howto-view-instance-logs` to find reasons for the session failure.

*Applies to: Anbox Cloud, Anbox Cloud Appliance*

The **Instances** list page shows instances with Error status.

![Instance in Error status|690x440](https://assets.ubuntu.com/v1/62cc57f1-instance-list-error.png)
The instances list view shows instances with *Error* status.

An instance can end up with an error status due to various reasons. It may not always be simple and easy to resolve this because of the variable factors involved, for example, the application that the instance is hosting or any installed addons.

Click on the corresponding **INSTANCE ID** and check the instance details page for any possible error messages. The instance details page has an **Error Message** field that could be useful.

![Instance details page|690x440](https://assets.ubuntu.com/v1/590c9eea-instance-details-error.png)

The **Error Message field** can give you a starting point for identifying the issue. Some reasons for an instance to go into error status could be:
The error message tooltip can give you a starting point for identifying the issue. Some reasons for an instance to go into error status could be:
* Insufficient resources. Refer to {ref}`exp-capacity-planning`.
* Occasionally, access to Ubuntu archives could be a problem when creating an application. As an immediate workaround, you could disable the security update by running `amc config set instance.security_updates false` or explicitly set `amc config set instance.api_mirror <mirror_address>` to configure an instance to use a different APT mirror. See {ref}`ref-ams-configuration` for more details.

If the reason for the instance failure is not obvious from the **Error Message**, check the **Logs** tab for more information.
If the reason for the instance failure is not obvious from the error message, check the *Logs* tab for more information.

## Logs unavailable for an instance

*Applies to: Anbox Cloud, Anbox Cloud Appliance*

![Instance logs unavailable|690x440](https://assets.ubuntu.com/v1/9b3d4959-logs-unavailable-for-instance.png)

Logs are unavailable for an instance when:
* The instance is not in error status.
* Occasionally, the instance could have ended up with an error status due to insufficient resources but there are no log files because the application bootstrap process succeeded.
Expand All @@ -62,6 +53,4 @@ Normally, the logs are available if the instance is in an error state. If the in

*Applies to: Anbox Cloud, Anbox Cloud Appliance*

![Terminal unavailable for instance|690x440](https://assets.ubuntu.com/v1/3c745aa3-terminal-unavailable-for-instance.png)

Terminal is not available if the instance has any other status apart from **running** and **started**.
Terminal is not available if the instance has any other status apart from *running* and *started*.
Binary file added images/adb-connect-icon.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added images/create-instance-icon.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added images/delete-icon.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added images/edit-application-icon.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added images/join-session-icon.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added images/share-stream-icon.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
70 changes: 33 additions & 37 deletions tutorial/getting-started-dashboard.md
Original file line number Diff line number Diff line change
Expand Up @@ -21,32 +21,31 @@ Let's start exploring what Anbox Cloud can do by launching a virtual device that
With "virtual device" we mean a simulated device that runs a plain Android operating system without any special apps installed. Technically speaking, Anbox Cloud treats such a virtual device as an "empty" application, thus an application that is not running a specific APK.
```

Complete the following steps to create a virtual device:

1. Open `https://<your-machine-address>/applications` in your browser. By default, the Anbox Cloud Appliance uses self-signed certificates, which might cause a security warning in your browser. Use the mechanism provided by your browser to proceed to the web page.
2. Click **Add Application**.
3. Enter a name for the application, for example, `virtual-device-web`.
4. Keep the preselected resource type.
5. Select the Android image that you want to use, for example, `jammy:android13:arm64`.
6. Do not upload an APK file.
7. Click **Add Application**.
1. Click *Create application*.
- Select the application type: Mobile or Automotive.
- Enter a name for the application, for example, `virtual-device-web`.
- Keep the preselected resource type.
- Select if you want to create a container-based or a VM-based application
- Select the Android image that you want to use, for example, `jammy:android13:arm64`.
- Do not upload an APK file.

![Add application](https://assets.ubuntu.com/v1/7cb08440-add-application.png)
8. You are redirected to the application view. Wait until the application status changes to `ready`.
Click *Create application* again to complete the process. You are redirected to the applications list view. Wait until the application status changes to `ready`.

## Test the virtual device

When the application has been initialised and its status changes to `ready`, complete the following steps to launch and test the virtual device:

1. In the list of applications, click the play button in the **Actions** column for the application to start a new session.
1. In the list of applications, Click *Create an instance* ( ![create an instance icon](/images/create-instance-icon.png) ).

2. Create an instance for your application:

![Start a new session](https://assets.ubuntu.com/v1/7f1553f5-start-new-session.png)
2. Accept the default settings and click **Create Session**.
- Provide a name for the instance. Your application details will be auto-filled.
- Optionally, you can select the capabilities, virtual display specifications and other configuration options for your instance. For this tutorial, you can leave these options to the defaults.

![Create session](https://assets.ubuntu.com/v1/11ee7ef4-create-session.png)
3. When the stream has loaded, you can interact with your virtual device.
Click *Create and start*. You will be directed to the instance list view where you can monitor the status of your instance.

![Stream the virtual device](https://assets.ubuntu.com/v1/9d9ba326-interact-virtual-device.png)
3. Once the instance status is *running*, you can stream it and interact with your virtual device.

## Create an application

Expand All @@ -66,46 +65,43 @@ You can have several versions of an application. See {ref}`howto-update-applicat

Complete the following steps to add a new version to your application:

1. Open `https://<your-machine-address>/applications` in your browser.
2. Click the **Edit application** button in the **Actions** column next to the application for which you want to add a new version.
1. Go to the applications list view of the dashboard.
2. Click *Edit application* (![edit application icon](/images/edit-application-icon.png)) to add a new version to your application.
3. Upload a new APK, or do other changes to the configuration.
4. Click **Update application**.
4. Click *Update application*.

## Delete an application

While following this tutorial, you created several applications. You can see them in the application view at `https://<your-machine-address>/applications`.
While following this tutorial, you created several applications. You can see them in the applications list view.

To delete an application, click the **Delete application** button in the **Actions** column and confirm the deletion.
To delete an application, click *Delete* ( ![delete application icon](/images/delete-icon.png) ) and confirm the deletion.

```{tip}
To skip the confirmation window, hold **Shift** when clicking the **Delete application** button.
To skip the confirmation window, hold **Shift** when clicking *Delete*.
```

## Inspect instances

Every time you start a session for an application, Anbox Cloud creates an instance. The instance keeps running even if you exit the stream, until you either stop the session by clicking **Stop session** or delete the instance.
## View instances

You can see all instances in the instance list view at `https://<your-machine-address>/instances`.

![Instance list view](https://assets.ubuntu.com/v1/57063a40-instance_list.png)

Complete the following steps to inspect an instance:
To view an instance, click the name of the instance you wish to view.

1. Click on the ID of one of the running instances. The **Overview** tab displays detailed information for the instance.
1. Switch to the **Terminal** tab. You will see a terminal for the Linux instance that runs the Android container.
The *Overview* tab displays detailed information about the instance.

You can run commands in the Linux instance, or you can enter `anbox-shell` to access the nested Android container (enter `exit` to go back to the Linux instance).
The *Terminal* tab displays the terminal for the Linux instance that runs the Android container.

![Use the instance terminal](https://assets.ubuntu.com/v1/bc5ad728-instance_terminal.png)
1. Switch to the **Logs** tab. You will not see any logs, because log files are available only for instances that are in an error state, not for running instances.
You can run commands in the Linux instance, or you can enter `anbox-shell` to access the nested Android container.
```{tip}
Enter `exit` to go back to the Linux instance.
```

To simulate a failure for the instance, switch to the **Terminal** tab and enter the following command:
The *Logs* tab shows logs for instances that are in an error state. You will not see any logs for running instances.

amsctl notify-status error --message="My error message"
To simulate a failure for the instance, switch to the *Terminal* tab and enter the following command:

Go back to the instance overview, and when the instance status changes to **error**, click on the instance ID and switch to the **Logs** tab. You can now see the error logs for the instance.
amsctl notify-status error --message="My error message"

![Instance logs](https://assets.ubuntu.com/v1/7004a76a-instance_logs.png)
Go back to the instance overview, and when the instance status changes to *error*, click on the instance name and switch to the *Logs* tab. You can now see the error logs for the instance.

## Done!

Expand Down

0 comments on commit ce1e7d2

Please sign in to comment.