Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
4 changes: 4 additions & 0 deletions source/adminguide/api.rst
Original file line number Diff line number Diff line change
Expand Up @@ -64,12 +64,16 @@ the user data:
#. Run the following command to find the virtual router.

.. code:: bash
# cat /var/lib/dhclient/dhclient-eth0.leases | grep dhcp-server-identifier | tail -1
#. Access user data by running the following command using the result of
the above command

.. code:: bash
# curl http://10.1.1.1/latest/user-data
Meta Data can be accessed similarly, using a URL of the form
http://10.1.1.1/latest/meta-data/{metadata type}. (For backwards
compatibility, the previous URL http://10.1.1.1/latest/{metadata type}
Expand Down
17 changes: 17 additions & 0 deletions source/adminguide/host_and_storage_tags.rst
Original file line number Diff line number Diff line change
Expand Up @@ -31,30 +31,39 @@ There are two types of host tags:
To explain the behavior of host tags, some examples will be demonstrated with two hosts (Host1 and Host2):

#. Tag setup:

* Host1: h1
* Host2: h2
* Offering: h1

When a VM is created with the offering, the deployment will be carried out on Host1, as it is the one that has the tag compatible with the offering.
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
When a VM is created with the offering, the deployment will be carried out on Host1, as it is the one that has the tag compatible with the offering.
When a VM is created with the offering, the deployment will be carried out on Host1, as it is the one that has the tag compatible with the offering.

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The idea for indenting this paragraph was to make it a child element of the parent "#. Tag setup:" numbered list item. In the same way as the bulleted list above it is indented. This way both child elements look like belonging to the numbered list item.

For me, removing the indentation for this paragraph would lead to showing it as being at the same logical level as the numbered list item, looking like it is not related to it. And they are actually related.

Overall, it seems the four "#. Tag setup:" numbered list items here are not related, and it might be better to convert them to bulleted list items. While keeping their child content indented.

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

It is a paragraph under "#. Tag Setup", as I see it. and not related to the specific last of the tags mentioned above as it seemed to be before. The indentation is a bit overdone. Thanks anyway, I'm not going to stop these improvements over this.


#. Tag setup:

* Host1: h1
* Host2: h2,h3
* Offering: h3

Hosts and offerings accept a list of tags, with comma (,) being their separator. So in this example, Host2 has the h2 and h3 tags. When a VM is created with the offering, the deployment will be carried out on Host2, as it is the one that has the tag compatible with the offering.
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
Hosts and offerings accept a list of tags, with comma (,) being their separator. So in this example, Host2 has the h2 and h3 tags. When a VM is created with the offering, the deployment will be carried out on Host2, as it is the one that has the tag compatible with the offering.
Hosts and offerings accept a list of tags, with comma (,) being their separator. So in this example, Host2 has the h2 and h3 tags. When a VM is created with the offering, the deployment will be carried out on Host2, as it is the one that has the tag compatible with the offering.

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

As above, it might be better to keep the indentation.


#. Tag setup:

* Host1: h1
* Host2: h2,h3
* Offering: (no tag)

When the offering does not have tags, it will be possible to deploy the VM on any host.
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
When the offering does not have tags, it will be possible to deploy the VM on any host.
When the offering does not have tags, it will be possible to deploy the VM on any host.

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

As above, it might be better to keep the indentation.


#. Tag setup:

* Host1: (no tag)
* Host2: h2
* Offering: h3

None of the hosts have compatible tags and it will not be possible to deploy a VM with the offering. However, CloudStack ignores this behavior when a host is manually selected.
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
None of the hosts have compatible tags and it will not be possible to deploy a VM with the offering. However, CloudStack ignores this behavior when a host is manually selected.
None of the hosts have compatible tags and it will not be possible to deploy a VM with the offering. However, CloudStack ignores this behavior when a host is manually selected.

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

As above, it might be better to keep the indentation.


.. _strict-host-tags:

Strict Host Tags
-----------------
During certain operations, such as changing the compute offering or starting or
Expand Down Expand Up @@ -96,23 +105,31 @@ Storage tags are responsible for directing volumes to compatible primary storage
To explain the behavior of storage tags, some examples will be demonstrated:

#. Tag setup:

* Storage: A
* Offering: A,B

Storage and offering accept a list of tags, with the comma (,) being their separator. Therefore, in this example, the offering has tags A and B. In this example, it will not be possible to allocate the volume, as all the offering tags must exist in the storage. Although the storage has the A tag, it does not have the B tag.
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
Storage and offering accept a list of tags, with the comma (,) being their separator. Therefore, in this example, the offering has tags A and B. In this example, it will not be possible to allocate the volume, as all the offering tags must exist in the storage. Although the storage has the A tag, it does not have the B tag.
Storage and offering accept a list of tags, with the comma (,) being their separator. Therefore, in this example, the offering has tags A and B. In this example, it will not be possible to allocate the volume, as all the offering tags must exist in the storage. Although the storage has the A tag, it does not have the B tag.

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

As above, it might be better to keep the indentation. And convert the numbered list to bulleted.


#. Tag setup:

* Storage: A,B,C,D,X
* Offering: A,B,C

In this example, it will be possible to allocate the volume, as all the offering tags exist in the storage.
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
In this example, it will be possible to allocate the volume, as all the offering tags exist in the storage.
In this example, it will be possible to allocate the volume, as all the offering tags exist in the storage.

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

As above, it might be better to keep the indentation.


#. Tag setup:

* Storage: A, B, C
* Offering: (no tag)

In this example, it will be possible to allocate the volume, as the offering does not have any tag requirements.
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
In this example, it will be possible to allocate the volume, as the offering does not have any tag requirements.
In this example, it will be possible to allocate the volume, as the offering does not have any tag requirements.

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

As above, it might be better to keep the indentation.


#. Tag setup:

* Storage: (no tag)
* Offering: D,E

In this example, it will not be possible to allocate the volume, as the storage does not have tags, therefore it does not meet the offering requirements.
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
In this example, it will not be possible to allocate the volume, as the storage does not have tags, therefore it does not meet the offering requirements.
In this example, it will not be possible to allocate the volume, as the storage does not have tags, therefore it does not meet the offering requirements.

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

As above, it might be better to keep the indentation.


In short, if the offering has tags, the storage will need to have all the tags for the volume to be allocated. If the offering does not have tags, the volume can be allocated, regardless of whether the storage has a tag or not.
Expand Down
20 changes: 10 additions & 10 deletions source/adminguide/networking/virtual_private_cloud_config.rst
Original file line number Diff line number Diff line change
Expand Up @@ -308,8 +308,8 @@ Configuring Network Access Control List
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

.. note::
Network Access Control Lists can only be created if the service
"NetworkACL" is supported by the created VPC.
Network Access Control Lists can only be created if the service
"NetworkACL" is supported by the created VPC.

Define a Network Access Control List (ACL) to control incoming
(ingress) and outgoing (egress) traffic between the associated Network Tier
Expand Down Expand Up @@ -347,14 +347,14 @@ destination" and / or "allow all ingress source" rule to the ACL.
Afterwards traffic can be white- or blacklisted.

.. note::
- ACL Rules in Cloudstack are stateful
- Source / Destination CIDRs are always external Networks
- ACL rules can also been seen on the virtual router of the VPC. Ingress
rules are listed in the table iptables table "filter" while egress rules
are placed in the "mangle" table
- ACL rules for ingress and egress are not correlating. For example a
egress "deny all" won't affect traffic in response to an allowed ingress
connection
- ACL Rules in Cloudstack are stateful
- Source / Destination CIDRs are always external Networks
- ACL rules can also been seen on the virtual router of the VPC. Ingress
rules are listed in the table iptables table "filter" while egress rules
are placed in the "mangle" table
- ACL rules for ingress and egress are not correlating. For example a
egress "deny all" won't affect traffic in response to an allowed ingress
connection


Creating ACL Lists
Expand Down
20 changes: 10 additions & 10 deletions source/adminguide/networking/vnf_templates_appliances.rst
Original file line number Diff line number Diff line change
Expand Up @@ -15,14 +15,14 @@


VNF Templates and Appliances
=======================
============================

Virtualized Network Functions (VNFs) refers to virtualized software applications
which offers network services, for example routers, firewalls, load balancers.


Adding a VNF template from an URL
-------
-----------------------------------------------------------

To create a VNF appliance, user needs to register a VNF template and add VNF settings.

Expand All @@ -44,7 +44,7 @@ the same page or under Network -> VNF templates.


Updating a VM template to VNF template
-------
-----------------------------------------------------------

Users are able to update an existing VM template, which is uploaded from
HTTP server or local, or created from volume, to be a VNF template.
Expand All @@ -63,7 +63,7 @@ HTTP server or local, or created from volume, to be a VNF template.


Updating the VNF settings of a VNF template
-------------------
-----------------------------------------------------------

Users need to add the VNF nics and VNF details of the VNF templates.

Expand Down Expand Up @@ -115,7 +115,7 @@ Users need to add the VNF nics and VNF details of the VNF templates.


Deploying VNF appliances
-------------------
-----------------------------------------------------------

#. Log in to the CloudStack UI as an administrator or end user.

Expand Down Expand Up @@ -147,15 +147,15 @@ Deploying VNF appliances
The following network rules will be applied.

- If management network is an isolated network, CloudStack will acquire a public
IP, enable static nat on the VNF appliance, and create firewall rules to allow
traffic to ssh/http/https ports based on access_methods in VNF template details.
IP, enable static nat on the VNF appliance, and create firewall rules to allow
traffic to ssh/http/https ports based on access_methods in VNF template details.

- If management network is a shared network with security groups, CloudStack will
create a new security group with rules to allow traffic to ssh/http/https ports
based on access_methods in VNF template details, and assign to the VNF appliance.
create a new security group with rules to allow traffic to ssh/http/https ports
based on access_methods in VNF template details, and assign to the VNF appliance.

- If management network is a L2 network, VPC tier or Shared network without security
groups, no network rules will be configured.
groups, no network rules will be configured.


#. Click on the "Launch VNF appliance" button
Expand Down
32 changes: 16 additions & 16 deletions source/adminguide/service_offerings.rst
Original file line number Diff line number Diff line change
Expand Up @@ -653,22 +653,22 @@ on different types of networks in CloudStack.

.. cssclass:: table-striped table-bordered table-hover

=========================================== ===============================
Networks Network Rate Is Taken from
=========================================== ===============================
Guest network of Virtual Router Guest Network Offering
Public network of Virtual Router Guest Network Offering
Storage network of Secondary Storage VM System Network Offering
Management network of Secondary Storage VM System Network Offering
Storage network of Console Proxy VM System Network Offering
Management network of Console Proxy VM System Network Offering
Storage network of Virtual Router System Network Offering
Management network of Virtual Router System Network Offering
Public network of Secondary Storage instance System Network Offering
Public network of Console Proxy instance System Network Offering
Default network of a guest instance Compute Offering
Additional networks of a guest instance Corresponding Network Offerings
=========================================== ===============================
============================================ ===============================
Networks Network Rate Is Taken from
============================================ ===============================
Guest network of Virtual Router Guest Network Offering
Public network of Virtual Router Guest Network Offering
Storage network of Secondary Storage VM System Network Offering
Management network of Secondary Storage VM System Network Offering
Storage network of Console Proxy VM System Network Offering
Management network of Console Proxy VM System Network Offering
Storage network of Virtual Router System Network Offering
Management network of Virtual Router System Network Offering
Public network of Secondary Storage instance System Network Offering
Public network of Console Proxy instance System Network Offering
Default network of a guest instance Compute Offering
Additional networks of a guest instance Corresponding Network Offerings
============================================ ===============================

A guest instance must have a default network, and can also have many
additional networks. Depending on various parameters, such as the host
Expand Down
51 changes: 28 additions & 23 deletions source/adminguide/storage.rst
Original file line number Diff line number Diff line change
Expand Up @@ -171,14 +171,13 @@ In order to use multiple local storage pools, you need to

local.storage.uuid=a43943c1-1759-4073-9db1-bc0ea19203aa,f5b1220b-4446-42dc-a872-cffd281f9f8c
local.storage.path=/var/lib/libvirt/images,/var/lib/libvirt/images2
#

#. Restart cloudstack-agent service

- Storage pools will be automatically created in libvirt by the CloudStack agent

Adding a Local Storage Pool via UI
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

When using UI, ensure that the scope of the storage is set to "Host", and
ensure that the protocol is set to "Filesystem".
Expand All @@ -187,6 +186,7 @@ ensure that the protocol is set to "Filesystem".

Changing the Scope of the Primary Storage
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

Scope of a Primary Storage can be changed from Zone-wide to Cluster-wide
and vice versa when the Primary Storage is in Disabled state.
An action button is displayed in UI for each Primary Storage in Disabled state.
Expand Down Expand Up @@ -276,7 +276,7 @@ templates, and ISOs.


Setting NFS Mount Options on the Storage Pool
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

NFS mount options can be added while creating an NFS storage pool for
KVM hosts. When the storage pool is mounted on the KVM hypervisor host,
Expand Down Expand Up @@ -393,6 +393,7 @@ under "Browser" tab for a secondary storage.

Read only
~~~~~~~~~

Secondary storages can also be set to read-only in order to cordon it off
from being used for storing any further Templates, Volumes and Snapshots.

Expand All @@ -401,47 +402,47 @@ from being used for storing any further Templates, Volumes and Snapshots.
cmk updateImageStore id=4440f406-b9b6-46f1-93a4-378a75cf15de readonly=true

Direct resources to a specific secondary storage
~~~~~~~~~
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

By default, ACS allocates ISOs, volumes, snapshots, and templates to the freest secondary storage of the zone. In order to direct these resources to a specific secondary storage, the user can utilize the functionality of the dynamic secondary storage selectors using heuristic rules. This functionality utilizes JavaScript rules, defined by the user, to direct these resources to a specific secondary storage. When creating the heuristic rule, the script will have access to some preset variables with information about the secondary storage in the zone, about the resource the rule will be applied upon, and about the account that triggered the allocation. These variables are presented in the table below:

+-----------------------------------+-----------------------------------+
| Resource | Variables |
+===================================+===================================+
| Secondary Storage | ``id`` |
| +-----------------------------------|
| +-----------------------------------+
| | ``name`` |
| +-----------------------------------|
| +-----------------------------------+
| | ``usedDiskSize`` |
| +-----------------------------------|
| +-----------------------------------+
| | ``totalDiskSize`` |
| +-----------------------------------|
| +-----------------------------------+
| | ``protocol`` |
+-----------------------------------+-----------------------------------+
| Snapshot | ``size`` |
| +-----------------------------------|
| +-----------------------------------+
| | ``hypervisorType`` |
| +-----------------------------------|
| +-----------------------------------+
| | ``name`` |
+-----------------------------------+-----------------------------------+
| ISO/Template | ``format`` |
| +-----------------------------------|
| +-----------------------------------+
| | ``hypervisorType`` |
| +-----------------------------------|
| +-----------------------------------+
| | ``templateType`` |
| +-----------------------------------|
| +-----------------------------------+
| | ``name`` |
+-----------------------------------+-----------------------------------+
| Volume | ``size`` |
| +-----------------------------------|
| +-----------------------------------+
| | ``format`` |
+-----------------------------------+-----------------------------------+
| Account | ``id`` |
| +-----------------------------------|
| +-----------------------------------+
| | ``name`` |
| +-----------------------------------|
| +-----------------------------------+
| | ``domain.id`` |
| +-----------------------------------|
| +-----------------------------------+
| | ``domain.name`` |
+-----------------------------------+-----------------------------------+

Expand Down Expand Up @@ -722,7 +723,7 @@ may take several minutes for the volume to be moved to the new Instance.


Instance Storage Migration
~~~~~~~~~~~~~~~~~~~~
~~~~~~~~~~~~~~~~~~~~~~~~~~

Supported in XenServer, KVM, and VMware.

Expand Down Expand Up @@ -1099,6 +1100,7 @@ API output bellow.
"diskkbsread": 343124,
"diskkbswrite": 217619,
...

Bytes read/write, as well as the total IO/s, are exposed via UI, as shown in the image below.

|volume-metrics.png|
Expand Down Expand Up @@ -1157,7 +1159,7 @@ Following is the example for checkVolume API usage and the result in the volume


Importing and Unmanaging Volumes from Storage Pools
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

Since Apache CloudStack 4.19.1.0, importing and unmanaging volumes from primary storage pools are supported.

Expand Down Expand Up @@ -1526,7 +1528,7 @@ Deleting objects from a bucket
2. Click on the |delete-button.png| button to delete the selected files from the bucket.

Shared FileSystems
---------------
------------------

CloudStack offers fully managed NFS Shared FileSystems to all users.
This section gives technical details on how to create/manage a Shared FileSystem
Expand All @@ -1536,7 +1538,7 @@ using basic lifecycle operations and also some implementation details.
This feature is available only on advanced zones without security groups.

Creating a New Shared FileSystem
~~~~~~~~~~~~~~~~~~~~~~~~~
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

#. Log in to the CloudStack UI as a user or administrator.

Expand Down Expand Up @@ -1600,7 +1602,8 @@ Supported lifecycle operations are :


Shared FileSystem Instance
~~~~~~~~~~~~~~
~~~~~~~~~~~~~~~~~~~~~~~~~~

The Shared FileSystem Instance is stateless and HA enabled. A new instance is deployed and will start
serving the NFS share if the host or VM goes down.
The VM is installed with the SystemVM template which is also used by the CPVM and SSVM.
Expand All @@ -1613,12 +1616,14 @@ required during normal operations.

Service Offering
~~~~~~~~~~~~~~~~

There are two global settings that control what should be the minimum RAM size and minimum
CPU count for the Shared FileSystem Instance : 'sharedfsvm.min.cpu.count' and 'sharedfsvm.min.ram.size`.
Only those offerings which meet these settings and have HA enabled are shown in the create form.

Shared FileSystem Data Volume
~~~~~~~~~~~~~~~~~~~~~~
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

The data volume is also visible to the users. It is recommended to use the Shared FileSystem UI/API to
manage the data but users or admin can perform actions directly on the data volume or the root volume
as well if they wish. Attaching and detaching a disk is not allowed on a Shared FileSystem Instance.
Expand Down
Loading
Loading