Skip to content

Commit c9fb9e7

Browse files
committed
Merge branch 'main' of https://github.com/apache/cloudstack-documentation into netris-integration
2 parents e8d77da + 4b8f45e commit c9fb9e7

14 files changed

+488
-5
lines changed
189 KB
Loading
113 KB
Loading
184 KB
Loading
60.6 KB
Loading
42.6 KB
Loading
77.9 KB
Loading
144 KB
Loading
178 KB
Loading

source/adminguide/ui.rst

Lines changed: 83 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -45,6 +45,10 @@ the default username is password.
4545

4646
Domain -> If you are a root User, leave this field blank.
4747

48+
.. note::
49+
50+
Since 4.21 it is possible to login to a specific Project view by enabling the 'displayProjectFieldOnLogin' setting on config.json (which is disabled by default). Please refer to: :ref:`enable-login-to-project-view`.
51+
4852
If you are a User in the sub-domains, enter the full path to the domain,
4953
excluding the root domain.
5054

@@ -508,7 +512,64 @@ For displaying a custom HTML in the plugin, HTML file can be stored in the Cloud
508512
|ui-custom-plugin.png|
509513

510514

511-
Instance Image Selction Customisation
515+
Announcement Banner
516+
===================
517+
518+
Admin can configure an **announcement banner** in `config.json` to display alerts or messages to all users.
519+
This banner is useful for communicating important notices such as performance issues, scheduled maintenance, or general announcements.
520+
To enable and customize the banner, use the `announcementBanner` section in the config.json file.
521+
522+
This section supports the following properties:
523+
524+
**Configuration Example**
525+
526+
.. parsed-literal::
527+
528+
"announcementBanner": {
529+
"enabled": true,
530+
"showIcon": true,
531+
"closable": true,
532+
"persistDismissal": true,
533+
"type": "warning",
534+
"message": "<strong>Performance Notice:</strong> We're experiencing high load. Some operations may be slower than usual.",
535+
"startDate": "2025-06-01T00:00:00Z",
536+
"endDate": "2025-07-16T00:00:00Z"
537+
}
538+
539+
**Banner Display Example**
540+
541+
Based on the configuration above, the following banner is shown in the user interface:
542+
543+
.. image:: /_static/images/ui-announcement-banner.png
544+
:align: center
545+
:alt: UI Announcement banner
546+
547+
--------
548+
549+
**Properties Description**
550+
551+
- **enabled**: Enables or disables the announcement banner (`true` or `false`).
552+
- **showIcon**: Displays an icon alongside the message. The icon corresponds to the banner `type`.
553+
- **closable**: Allows users to close the banner.
554+
- **persistDismissal**: Remembers the user's dismissal of the banner, so it doesn't reappear.
555+
- **type**: Specifies the type of banner. Supported values are:
556+
557+
- `info`
558+
- `warning`
559+
- `error`
560+
- `success`
561+
562+
- **message**: The HTML-formatted content displayed in the banner.
563+
- **startDate** / **endDate**: Define the visibility window for the banner using ISO 8601 format (`YYYY-MM-DDTHH:MM:SSZ`).
564+
565+
.. note::
566+
567+
- The `message` property supports basic HTML, allowing styled content such as `<strong>` tags for emphasis.
568+
- Banner's background color changes based on `type` property value. White color is used for banner if `type` is not defined or has invalid value.
569+
- Multi-line message is supported, however recommendation is to limit it to 2 lines. Content may overlap banner for more than 2 lines.
570+
571+
572+
Instance Image Selection Customisation
512573
-------------------------------------
513574

514575
In the UI, there are several forms where the user needs to select an image (template/ISO) for an instance, such as deploying an instance, reinstalling an instance, creating a VNF appliance, etc. The image selection interface for these forms can be selected by the operator based on preference by specifying properties in the UI configuration file (config.json).
@@ -523,6 +584,7 @@ The *legacy* interface will display images based on templatefilter/isofilter, i.
523584

524585
|ui-legacy-image-selection.png|
525586

587+
526588
Advanced UI Customisation
527589
~~~~~~~~~~~~~~~~~~~~~~~~~
528590

@@ -602,6 +664,23 @@ For the UI to work with different servers, it is necessary to configure the Ngin
602664
603665
|ui-multiple-server-management.png|
604666

667+
.. _enable-login-to-project-view:
668+
669+
Enable Login to Project View
670+
~~~~~~~~~~~~~~~~~~~~~~~~~~~~
671+
672+
User can use the file /etc/cloudstack/management/config.json to enable the Project field displayed on Login by the setting:
673+
674+
============================= =================================================================
675+
Property Description
676+
============================= =================================================================
677+
displayProjectFieldOnLogin Disabled by default. When enabled, login directly to Project view
678+
============================= =================================================================
679+
680+
When the Project field is set and the Project exists, the user is directly directed to the Project view instead of the Default View.
681+
682+
|ui-login-project-view.png|
683+
605684
Known Limitations
606685
~~~~~~~~~~~~~~~~~
607686

@@ -626,3 +705,6 @@ The following features are no longer supported or available in the UI but are st
626705

627706
.. |ui-multiple-server-management.png| image:: /_static/images/ui-multiple-server-management.png
628707
:alt: Custom plugin shown in UI with navigation
708+
709+
.. |ui-login-project-view.png| image:: /_static/images/ui-login-project-view.png
710+
:alt: Enabling the Project field on login

source/adminguide/vm_volume_allocators.rst

Lines changed: 60 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -77,4 +77,63 @@ firstfitleastconsumed Selects the first storage pool after sorting elig
7777

7878
**volume.allocation.algorithm**: random (default)
7979

80-
Before 4.21.0, **vm.allocation.algorithm** was used for both VM as well as Volume allocation.
80+
Before 4.21.0, **vm.allocation.algorithm** was used for both VM as well as Volume allocation.
81+
82+
83+
Cluster, Pod and Host Ordering
84+
==============================
85+
86+
Overview
87+
--------
88+
89+
`The host.capacityType.to.order.clusters` is a global advanced configuration parameter in Apache CloudStack that controls how pods, clusters,
90+
and hosts are prioritized during Instance deployment, based on available CPU, RAM, or a weighted combination of both in Host.
91+
This configuration is specifically leveraged when the VM allocation algorithm is set to `firstfitleastconsumed`.
92+
93+
Configuration
94+
-------------
95+
96+
Key: `host.capacityType.to.order.clusters`
97+
98+
.. cssclass:: table-striped table-bordered table-hover
99+
100+
========= ========================
101+
Value Behavior
102+
========= ========================
103+
CPU Prioritizes resources with the most available CPU.
104+
RAM Prioritizes resources with the most available memory.
105+
COMBINED Uses a weighted formula to balance CPU and RAM in prioritization.
106+
========= ========================
107+
108+
**Additional Configuration for COMBINED**
109+
110+
- Key: `host.capacityType.to.order.clusters.cputomemoryweight`
111+
- Type: Float(0.0 to 1.0)
112+
- Default: 0.5
113+
- Purpose: Determines the weight of CPU vs RAM in the combined capacity calculation.
114+
115+
Capacity calculation formula:
116+
117+
.. code:: bash
118+
119+
capacity = (host.capacityType.to.order.clusters.cputomemoryweight * CPU) + ((1 - host.capacityType.to.order.clusters.cputomemoryweight) * RAM)
120+
121+
122+
This allows flexible tuning of prioritization depending on workload sensitivity.
123+
124+
Example Configuration
125+
---------------------
126+
127+
.. code:: bash
128+
129+
host.capacityType.to.order.clusters: COMBINED
130+
host.capacityType.to.order.clusters.cputomemoryweight: 0.7
131+
132+
Above config prioritizes CPU at 70% weight and RAM at 30% when ranking pods, clusters, and hosts.
133+
134+
.. note::
135+
- `host.capacityType.to.order.clusters` is only respected for host ordering when:
136+
.. code:: bash
137+
138+
vm.allocation.algorithm: firstfitleastconsumed
139+
- When using COMBINED, make sure to tune cpu.to.memory.capacity.weight to reflect your environment’s resource constraints and workload profiles.

0 commit comments

Comments
 (0)