# Introduction

Cloud Assert VConnect for Microsoft Azure Stack is a resource management solution hybrid cloud. It is installed as resource provider in Azure Stack and provides integrated experience for admin and tenant users inside Azure Stack portal. It has integration with the following platforms,

* Microsoft Azure Stack
* VMWare
* System Center
* Dell EMC Isilon
* Dell EMC Data Domain
* Microsoft Azure
* AWS
* Veeam
* Commvault

## VConnect Resource Provider Architecture in Azure Stack

![](https://3920859770-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LoOW0tKkl3hfpWMgkVr%2F-LoPJY0YLsmOJ_o_7Quf%2F-LoPJYmlxPxOOvEa6R0m%2Fimage.png?alt=media\&token=b27a0aa1-2c29-4f92-8161-8082735585ab)


# Release Notes

## Build 2.2004.1.1

* Support for Azure Stack Hub Version 2002
* Bug fix for storage services quota settings duplication on multiple save
* Bug fixes in Connection and VM Management modules

## Coming Soon!

* Support for Azure Stack Hub Version 2005
* Additional security features on Dell EMC Isilon Integration


# Prerequisites

#### Connection to a SQL server

* SQL Server name, in the format, **\<IP Address of the SQL Server>/\<Instance name>**
* SQL authenticated user credential
* Name of the VConnect database
* VConnect Database must be created prior to the deployment and it must be accessible from Azure Stack tenant network

#### Tenant Subscription

* ID of the Tenant Subscription where Cloud Assert components need to be deployed
* Tenant Subscription administrator account credentials
* A tenant subscription created from an Azure Stack Offer/Plan that includes Microsoft Compute, Storage and Network services with default quotas added
* Upon creating the tenant subscription, the Microsoft Compute, Storage and Network services need to be registered from the **Subscription > Resource Providers** blade in the Tenant portal

#### Certificate

* For integrated systems (i.e. multi-node), a .pfx certificate is required.  Refer to [PKI Certificate Requirements](/azure-stack-vconnect/2004/installation/prerequisites/csr) for more details.
* For ASDK, certificate is generated as a part of the deployment.  Password for the .pfx certificate should not contain the following characters: ``^ ` ~ & % *``

#### Others

* Download **the Windows 2016 Datacenter** image from the marketplace through the Marketplace Management blade in the Admin portal
* Netbios name of the Azure Stack domain (On ASDK, the default is AzureStack)
* Azure Stack service Admin account credentials (Azure AD account)
  * Ensure if the service Admin account has **"Global Administrator"** role (Password should not contain the following characters ^ \` \~ & % \*)
* Azure Stack cloud administrator credential for Privileged endpoint access E.g., **\<Azure Stack domain>\cloudadmin** (Password should not contain the following characters ^ \` \~ & % \*)
* Install Azure PowerShell version with respect to Azure Stack Version ([Azure PowerShell](https://docs.microsoft.com/en-us/azure-stack/operator/azure-stack-powershell-install))
  * Ensure that Azure PowerShell version 1.6.0 is available for Azure stack version 1811, PowerShell version 1.7.0 for Azure stack version 1901 & 1902 and PowerShell version 1.7.1 for Azure Stack version 1904

**Dell EMC Isilon Integration**

* Applicable only for integration with Dell EMC Isilon as an attached storage inside Azure Stack Hub
* Azure Stack Hub border device / firewall, needs to have necessary configuration to allow access to Isilon endpoint
* VConnect RP is installed in tenant network, thus Isilon endpoint should be accessible from tenant network
* Validate the accessibility by accessing the Isilon endpoint from browser from tenant VM


# PKI Certificate Requirements

For multi-node integrated Azure Stack Hub systems, the Cloud Assert Resource Providers (RP) need their own PKI certificate during deployment with the appropriate DNS name.

## Certificate Requirements

The following list describes the certificate requirements that are needed to deploy Cloud Assert Resource Providers for Azure Stack Hub:

* Certificates must be issued from either an internal certificate authority or a public certificate authority. If a public certificate authority is used, it must be included in the base operating system image as part of the Microsoft Trusted Root Authority Program. For the full list, see [Microsoft Trusted Root Certificate Program: Participants](https://gallery.technet.microsoft.com/Trusted-Root-Certificate-123665ca).
* Your Azure Stack Hub infrastructure must have network access to the certificate authority's Certificate Revocation List (CRL) location published in the certificate. This CRL must be an http endpoint.
* The use of self-signed certificates aren't supported.
* For deployment and rotation, you can either use a Wildcard SSL certificate or a SAN certificate.
* The certificate's PFX Encryption should be 3DES.
* The certificate signature algorithm shouldn't be SHA1.
* The certificate format must be PFX, as both the public and private keys are required for Cloud Assert RP installation. The private key must have the local machine key attribute set.
* The PFX encryption must be 3DES (this encryption is default when exporting from a Windows 10 client or Windows Server 2016 certificate store).
* The certificate pfx files must have a value "Digital Signature" and "KeyEncipherment" in its "Key Usage" field.
* The certificate pfx files must have the values "Server Authentication (1.3.6.1.5.5.7.3.1)" and "Client Authentication (1.3.6.1.5.5.7.3.2)" in the "Enhanced Key Usage" field.
* The certificate's "Issued to:" field must not be the same as its "Issued by:" field.
* Password to the certificate pfx has to be a complex password. Make note of this password because you'll use it as a deployment parameter. The password must meet the following password complexity requirements:
  * A minimum length of eight characters.
  * At least three of the following characters: uppercase letter, lowercase letter, numbers from 0-9, alphabetical character that's not uppercase or lowercase, special characters except: ``^ ` ~ & % *``
* Ensure that the subject names and subject alternative names in the subject alternative name extension (x509v3\_config) match. The subject alternative name field lets you specify additional host names (websites, IP addresses, common names) to be protected by a single SSL certificate.
* Certificate with the appropriate DNS name is required. Each Cloud Assert RP endpoint's DNS name is expressed in the format: \<prefix>.\<region>.\<fqdn>
* For your deployment, the \[region] and \[externalfqdn] values must match the region and external domain names that you chose for your Azure Stack Hub system. As an example, if the region name was Redmond and the external domain name was contoso.com, the DNS names would have the format \<prefix>.redmond.contoso.com.
* The required certificate subject and subject alternative names (SAN) for the Cloud Assert RPs is: **\*.cloudassert.*****\<region>*****.*****\<fqdn>***

{% hint style="info" %}
Self-signed certificates aren't supported.

When deploying the Cloud Assert RP in an Azure Stack Hub stamp setup in disconnected mode it is recommended to use certificates issued by an enterprise certificate authority. This is important because clients accessing Cloud Assert RP endpoints must be able to contact the certificate revocation list (CRL).

The presence of Intermediary Certificate Authorities in a certificate's chain-of-trusts *is* supported.
{% endhint %}

## Generate Certificate Signing Request (CSR)

* Prerequisite Certificate Attributes

  * Region name
  * External fully qualified domain name (FQDN)
  * Subject (in the format below)

  **`"E=<email address>, C=<`**[**`two-letter ISO country code`**](https://www.iso.org/obp/ui/#search)**`>, O=<Organization Name>, L=<Location>, S=<State>, OU=<Organization Unit>, CN=*.cloudassert.<Azure Stack Hub External FQDN>"`**
* Generate the CSR in a machine with Windows 10 or Windows Server 2016 or later
* Create a request **.INF** file with the requisite certificate signing request information.
  * Sample INF files are available [here](/azure-stack-vconnect/2004/installation/prerequisites/csr#more-information). For a Wildcard SSL certificate, refer to “CSR Template - Wildcard.inf”. For a SAN certificate, refer to “CSR Template - SAN.inf”.
  * If you are generating a Wildcard SSL certificate, update the Subject attribute in the sample INF file by replacing the placeholder text.
  * If you are generating a SAN certificate, update the Subject and szOID\_SUBJECT\_ALT\_NAME2 attributes in the sample INF file by replacing the placeholder text.
* Use the **certreq** utility to generate the CSR by following the command below. Ensure that you specify the output CSR request file (**.REQ**)

  **`certreq -New "<Path to input CSR INF file>" "<Path to output CSR REQ file>"`**
* Review the output CSR Request file by using an online CSR decoding utility (e.g., <https://www.sslshopper.com/csr-decoder.html>)
* Submit the **.REQ** file generated to your CA (either internal or public). Be sure that your CA generates certificates using your generated request that meet the [Certificate Requirements](/azure-stack-vconnect/2004/installation/prerequisites/csr#certificate-requirements) described section above.

## More Information

{% file src="/files/-M3\_H7iHMZj53nkzJpml" %}
Sample CSR Templates
{% endfile %}

## Additional Reference

For more information on PKI certificate requirements for Azure Stack Hub, refer to <https://docs.microsoft.com/en-us/azure-stack/operator/azure-stack-pki-certs> on the Microsoft Azure Stack Hub documentation website.


# Deployment


# Installation

* Sign in to a host that can access the privileged endpoint VM.&#x20;
  * On Azure Stack Development Kit installations, sign in to the physical host.&#x20;
  * On multi-node systems, the host must be a system that can access the privileged endpoint.&#x20;
* Unblock the VConnect resource provider .zip file and extract the contents to a temporary directory using any extractor tool
* Place the generated .pfx file in the DependencyFilesLocalPath as follows:&#x20;
  * Only a single certificate file exists in the DependencyFilesLocalPath&#x20;
  * The file name must not contain any special characters.
  * The certificate must be placed in the DependencyFilesLocalPath before retrying the deployment
* Edit the InstallVConnect.ps1 script with the account information and passwords as needed by the script.
* Open a new elevated (administrative) PowerShell console and change to the directory where the files have been extracted. Use a new window to avoid problems that might arise from incorrect PowerShell modules that are already loaded on the system.&#x20;
* Run InstallVConnect.ps1 script

NOTE: The system where the script is being run must be a Windows 10 or Windows Server 2016 system with the latest version of the .NET runtime installed.

## Verifying the Deployment in Azure Stack Portals

* In Admin Portal, click on Resource Groups. Then select the **system.\<location>.cloudassert.vconnect** resource group and verify if the deployment succeeded.
* In Tenant Portal, click on Resource Groups. Then select the **system.\<location>.cloudassert.vconnect.rp** resource group and verify if the deployment succeeded.


# License Activation

* Login to the VConnect Resource Provider Virtual Machine.
* Open a **new** elevated (administrative) PowerShell console and change to the directory “C:\Packages\Plugins\Microsoft.Powershell.DSC\2.19.0.0\DSCWork\setupVConnectConfiguratio n.0\AzureStack.VConnect.Setup.1.0.0\content\Setup”
* Run ActivateLicense.ps1 script and specify the required parameters.

| Parameter name | Description                              | Comment or default value |
| -------------- | ---------------------------------------- | ------------------------ |
| **LicenseKey** | Unique identifier of the License         | *Required*               |
| **EmailId**    | Email Id that is mapped with the License | *Required*               |

* Copy the generated **License.cal** file to the location “C:\inetpub\MgmtSvc-CloudAssertVConnect\bin”
* Recycle the IIS application pool for the site **MgmtSvc-CloudAssert-VConnect**
* In Admin Portal, click **VConnect> License** blade to see the licensed features and quotas

![](https://3920859770-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LoOW0tKkl3hfpWMgkVr%2F-LoPWDf9Z2ZZ7H9xCe0T%2F-LoPWEqatNnfuC9U8UKn%2Fimage.png?alt=media\&token=e8416c44-88de-4af9-a1c8-eb238e20062f)


# Add the service to Azure Stack Plan

## Creating a VConnect Quota

* In Admin portal, click **VConnect** extension
* Click Quotas > Add
* Enter a name for the Quota
* Configure the connections, quotas and tenant operations
* Click ‘Save’

![](https://3920859770-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LoOW0tKkl3hfpWMgkVr%2F-LoP_9IgCSlfRVLNvV66%2F-LoP_e-6QZu51WuVbeG5%2Fimage.png?alt=media\&token=67a1ed1e-4fb5-4692-a16e-fbb5257956dc)

![](https://3920859770-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LoOW0tKkl3hfpWMgkVr%2F-LoP_9IgCSlfRVLNvV66%2F-LoP_g_MKJ7y-4oI6ksH%2Fimage.png?alt=media\&token=e4071e10-4b8d-40b9-9015-e8fedc80f074)

![](https://3920859770-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LoOW0tKkl3hfpWMgkVr%2F-LoP_9IgCSlfRVLNvV66%2F-LoP_xG-GrB7kGR_45zl%2Fimage.png?alt=media\&token=ed7dc454-b39b-469e-9149-ff655e59b91e)

## Creating a Plan with VConnect Service

* In the Admin Portal, click Plans extension
* Choose an existing plan or create a new plan

![](https://3920859770-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LoOW0tKkl3hfpWMgkVr%2F-LoP_9IgCSlfRVLNvV66%2F-LoPaB0Jd4AQ08ngDNMh%2Fimage.png?alt=media\&token=2d4338d1-5188-47ce-810b-9a481f451c31)

* Click Service and quotas > Add

![](https://3920859770-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LoOW0tKkl3hfpWMgkVr%2F-LoP_9IgCSlfRVLNvV66%2F-LoPaL3sNxOf0fKyMP4W%2Fimage.png?alt=media\&token=144b3963-9572-489c-b492-2d3b54ccb584)

* Choose **CloudAssert.VConnect** under Services

![](https://3920859770-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LoOW0tKkl3hfpWMgkVr%2F-LoP_9IgCSlfRVLNvV66%2F-LoParM72hZKfFd3j55D%2Fimage.png?alt=media\&token=87d83789-785b-465d-a8ab-eb9e36a293d7)

* Click Quotas > CloudAssert.VConnect and choose the VConnect quota from the list displayed&#x20;

![](https://3920859770-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LoOW0tKkl3hfpWMgkVr%2F-LoP_9IgCSlfRVLNvV66%2F-LoPanyKz0QVec0xC14C%2Fimage.png?alt=media\&token=3a363330-de0e-4a7f-9472-b300fac9e53c)

## Creating an Offer

* In the Admin Portal, click Offers extension
* Create an offer or choose an existing offer
* Click Base plans > Add
* Select a plan with VConnect service added to it

![](https://3920859770-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LoOW0tKkl3hfpWMgkVr%2F-LoP_9IgCSlfRVLNvV66%2F-LoPbM5Q71tpyUm3M5_O%2Fimage.png?alt=media\&token=622056e0-fed1-4777-91f3-8f604137c819)

## Registering VConnect service for a User Subscription

* In the Tenant Portal, click Subscriptions extension
* Select a VConnect enabled subscription
* Click ‘Resource Providers’&#x20;
* Click register link for the CloudAssert.VConnect service&#x20;

![](https://3920859770-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LoOW0tKkl3hfpWMgkVr%2F-LoP_9IgCSlfRVLNvV66%2F-LoPbhaOtCEI5EToc94d%2Fimage.png?alt=media\&token=d964f6ba-7204-48aa-bd00-26597212d380)


# Remove VConnect Resource Provider

To remove the resource provider, it is essential to first remove any dependencies

* Ensure that the original deployment package that is downloaded for this version of the VConnect resource provider
* The administrator must delete any plans that reference the VConnect resource provider.&#x20;
* The administrator must delete any quotas that are associated with the VConnect resource provider.
* Rerun the deployment script with the following elements:&#x20;
  * The -Uninstall parameter&#x20;
  * The credentials for the service administrator account&#x20;
  * The credentials for the service tenant account


# Steps for version update

### Pre-uninstall steps

* Take a backup of Cloud Assert VConnect database
* Take a backup copy of the following files

| File Name   | File Path                                     |
| ----------- | --------------------------------------------- |
| Web.config  | C:\inetpub\MgmtSvc-CloudAssert-VConnect       |
| License.cal | C:\inetpub\MgmtSvc-CloudAssert-VConnect\bin   |
| Web.config  | C:\inetpub\AzureStack-VConnectAdminExtension  |
| Web.config  | C:\inetpub\AzureStack-VConnectRP              |
| Web.config  | C:\inetpub\AzureStack-VConnectTenantExtension |

### Uninstallation steps

* Uninstall the VConnect service from Control Panel > Programs and features > Uninstall a program

### Installation steps

* Extract the VConnect installers to a location.
* Install the VConnect Service using ‘CloudAssert.WAP.VConnect.Service.Setup.msi’ installer ➢ Open a new command prompt as administrator.
* Change the directory to the AdminExtension folder and run the command **“CloudAssert.AzureStack.VConnect.Extension.Admin.deploy.cmd /y”**
* Change the directory to the TenantExtension folder and run the command **“CloudAssert.AzureStack.VConnect.Extension.Tenant.deploy.cmd /y”**
* Change the directory to the RPWeb folder and run the command **“CloudAssert.AzureStack.VConnect.RP.Web.deploy.cmd /y”**

### Post-installation steps

* Replace the web.config files with the backed-up copies.
* Update the database using VConnect tool.
  * Open a powershell window
  * Navigate to the location of the VConnect tool
  * Run the below command by replacing the necessary values to update the database settings

`.\VCONNECT.EXE UpdateDatabaseSettings <serverName> <databaseName> <userName> <password> [/isUseIntegratedSecurity] [/VConnectApiEndpoint:<String>] [/VConnectApiUserName:<String>] [/VConnectApiPassword:<String>]`

* Recycle the IIS application pool for the following sites.
  * AzureStack-VConnectAdminExtension&#x20;
  * AzureStack-VConnectRP
  * AzureStack-VConnectTenantExtension
  * MgmtSvc-CloudAssert-VConnect


# Introduction

Cloud Assert VConnect for Microsoft Azure Stack is a resource management solution hybrid cloud. It is installed as resource provider in Azure Stack and provides integrated experience for admin and tenant users inside Azure Stack portal. It has integration with the following platforms,

* Microsoft Azure Stack
* VMWare
* System Center
* Dell EMC Isilon
* Dell EMC Data Domain
* Microsoft Azure
* AWS
* Veeam
* Commvault

## VConnect Resource Provider Architecture in Azure Stack

![](https://1412215776-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LoOW0tKkl3hfpWMgkVr%2F-LoPJY0YLsmOJ_o_7Quf%2F-LoPJYmlxPxOOvEa6R0m%2Fimage.png?alt=media\&token=b27a0aa1-2c29-4f92-8161-8082735585ab)


# Release Notes

## Build 2.2005.1.1

* Additional security features in Dell EMC Isilon Integration

## Build 2.2004.1.1

* Support for Azure Stack Hub Version 2002
* Bug fix for storage services quota settings duplication on multiple save
* Bug fixes in Connection and VM Management modules


# Prerequisites

#### Connection to a SQL server

* SQL Server name, in the format, **\<IP Address of the SQL Server>/\<Instance name>**
* SQL authenticated user credential
* Name of the VConnect database
* VConnect Database must be created prior to the deployment and it must be accessible from Azure Stack tenant network

#### Tenant Subscription

* ID of the Tenant Subscription where Cloud Assert components need to be deployed
* Tenant Subscription administrator account credentials
* A tenant subscription created from an Azure Stack Offer/Plan that includes Microsoft Compute, Storage and Network services with default quotas added
* Upon creating the tenant subscription, the Microsoft Compute, Storage and Network services need to be registered from the **Subscription > Resource Providers** blade in the Tenant portal

#### Certificate

* For integrated systems (i.e. multi-node), a .pfx certificate is required.  Refer to [PKI Certificate Requirements](/azure-stack-vconnect/installation/prerequisites/csr) for more details.
* For ASDK, certificate is generated as a part of the deployment.  Password for the .pfx certificate should not contain the following characters: ``^ ` ~ & % *``

#### Others

* Download **the Windows 2016 Datacenter** image from the marketplace through the Marketplace Management blade in the Admin portal
* Netbios name of the Azure Stack domain (On ASDK, the default is AzureStack)
* Azure Stack service Admin account credentials (Azure AD account)
  * Ensure if the service Admin account has **"Global Administrator"** role (Password should not contain the following characters ^ \` \~ & % \*)
* Azure Stack cloud administrator credential for Privileged endpoint access E.g., **\<Azure Stack domain>\cloudadmin** (Password should not contain the following characters ^ \` \~ & % \*)
* Install Azure PowerShell version with respect to Azure Stack Version ([Azure PowerShell](https://docs.microsoft.com/en-us/azure-stack/operator/azure-stack-powershell-install))
  * Azure Stack Hub 2002 - <https://docs.microsoft.com/en-us/azure-stack/operator/azure-stack-powershell-install?view=azs-2002>
  * Azure Stack Hub 1910 - <https://docs.microsoft.com/en-us/azure-stack/operator/azure-stack-powershell-install?view=azs-1910>


# PKI Certificate Requirements

For multi-node integrated Azure Stack Hub systems, the Cloud Assert Resource Providers (RP) need their own PKI certificate during deployment with the appropriate DNS name.

## Certificate Requirements

The following list describes the certificate requirements that are needed to deploy Cloud Assert Resource Providers for Azure Stack Hub:

* Certificates must be issued from either an internal certificate authority or a public certificate authority. If a public certificate authority is used, it must be included in the base operating system image as part of the Microsoft Trusted Root Authority Program. For the full list, see [Microsoft Trusted Root Certificate Program: Participants](https://gallery.technet.microsoft.com/Trusted-Root-Certificate-123665ca).
* Your Azure Stack Hub infrastructure must have network access to the certificate authority's Certificate Revocation List (CRL) location published in the certificate. This CRL must be an http endpoint.
* The use of self-signed certificates aren't supported.
* For deployment and rotation, you can either use a Wildcard SSL certificate or a SAN certificate.
* The certificate's PFX Encryption should be 3DES.
* The certificate signature algorithm shouldn't be SHA1.
* The certificate format must be PFX, as both the public and private keys are required for Cloud Assert RP installation. The private key must have the local machine key attribute set.
* The PFX encryption must be 3DES (this encryption is default when exporting from a Windows 10 client or Windows Server 2016 certificate store).
* The certificate pfx files must have a value "Digital Signature" and "KeyEncipherment" in its "Key Usage" field.
* The certificate pfx files must have the values "Server Authentication (1.3.6.1.5.5.7.3.1)" and "Client Authentication (1.3.6.1.5.5.7.3.2)" in the "Enhanced Key Usage" field.
* The certificate's "Issued to:" field must not be the same as its "Issued by:" field.
* Password to the certificate pfx has to be a complex password. Make note of this password because you'll use it as a deployment parameter. The password must meet the following password complexity requirements:
  * A minimum length of eight characters.
  * At least three of the following characters: uppercase letter, lowercase letter, numbers from 0-9, alphabetical character that's not uppercase or lowercase, special characters except: ``^ ` ~ & % *``
* Ensure that the subject names and subject alternative names in the subject alternative name extension (x509v3\_config) match. The subject alternative name field lets you specify additional host names (websites, IP addresses, common names) to be protected by a single SSL certificate.
* Certificate with the appropriate DNS name is required. Each Cloud Assert RP endpoint's DNS name is expressed in the format: \<prefix>.\<region>.\<fqdn>
* For your deployment, the \[region] and \[externalfqdn] values must match the region and external domain names that you chose for your Azure Stack Hub system. As an example, if the region name was Redmond and the external domain name was contoso.com, the DNS names would have the format \<prefix>.redmond.contoso.com.
* The required certificate subject and subject alternative names (SAN) for the Cloud Assert RPs is: **\*.cloudassert.*****\<region>*****.*****\<fqdn>***

{% hint style="info" %}
Self-signed certificates aren't supported.

When deploying the Cloud Assert RP in an Azure Stack Hub stamp setup in disconnected mode it is recommended to use certificates issued by an enterprise certificate authority. This is important because clients accessing Cloud Assert RP endpoints must be able to contact the certificate revocation list (CRL).

The presence of Intermediary Certificate Authorities in a certificate's chain-of-trusts *is* supported.
{% endhint %}

## Generate Certificate Signing Request (CSR)

* Prerequisite Certificate Attributes

  * Region name
  * External fully qualified domain name (FQDN)
  * Subject (in the format below)

  **`"E=<email address>, C=<`**[**`two-letter ISO country code`**](https://www.iso.org/obp/ui/#search)**`>, O=<Organization Name>, L=<Location>, S=<State>, OU=<Organization Unit>, CN=*.cloudassert.<Azure Stack Hub External FQDN>"`**
* Generate the CSR in a machine with Windows 10 or Windows Server 2016 or later
* Create a request **.INF** file with the requisite certificate signing request information.
  * Sample INF files are available [here](/azure-stack-vconnect/installation/prerequisites/csr#more-information). For a Wildcard SSL certificate, refer to “CSR Template - Wildcard.inf”. For a SAN certificate, refer to “CSR Template - SAN.inf”.
  * If you are generating a Wildcard SSL certificate, update the Subject attribute in the sample INF file by replacing the placeholder text.
  * If you are generating a SAN certificate, update the Subject and szOID\_SUBJECT\_ALT\_NAME2 attributes in the sample INF file by replacing the placeholder text.
* Use the **certreq** utility to generate the CSR by following the command below. Ensure that you specify the output CSR request file (**.REQ**)

  **`certreq -New "<Path to input CSR INF file>" "<Path to output CSR REQ file>"`**
* Review the output CSR Request file by using an online CSR decoding utility (e.g., <https://www.sslshopper.com/csr-decoder.html>)
* Submit the **.REQ** file generated to your CA (either internal or public). Be sure that your CA generates certificates using your generated request that meet the [Certificate Requirements](/azure-stack-vconnect/installation/prerequisites/csr#certificate-requirements) described section above.

## More Information

{% file src="/files/-M3\_H7iHMZj53nkzJpml" %}
Sample CSR Templates
{% endfile %}

## Additional Reference

For more information on PKI certificate requirements for Azure Stack Hub, refer to <https://docs.microsoft.com/en-us/azure-stack/operator/azure-stack-pki-certs> on the Microsoft Azure Stack Hub documentation website.


# Deployment


# Installation

* Sign in to a host that can access the privileged endpoint VM.&#x20;
  * On Azure Stack Development Kit installations, sign in to the physical host.&#x20;
  * On multi-node systems, the host must be a system that can access the privileged endpoint.&#x20;
* Unblock the VConnect resource provider .zip file and extract the contents to a temporary directory using any extractor tool
* Place the generated .pfx file in the DependencyFilesLocalPath as follows:&#x20;
  * Only a single certificate file exists in the DependencyFilesLocalPath&#x20;
  * The file name must not contain any special characters.
  * The certificate must be placed in the DependencyFilesLocalPath before retrying the deployment
* Edit the InstallVConnect.ps1 script with the account information and passwords as needed by the script.
* Open a new elevated (administrative) PowerShell console and change to the directory where the files have been extracted. Use a new window to avoid problems that might arise from incorrect PowerShell modules that are already loaded on the system.&#x20;
* Run InstallVConnect.ps1 script

NOTE: The system where the script is being run must be a Windows 10 or Windows Server 2016 system with the latest version of the .NET runtime installed.

## Verifying the Deployment in Azure Stack Portals

* In Admin Portal, click on Resource Groups. Then select the **system.\<location>.cloudassert.vconnect** resource group and verify if the deployment succeeded.
* In Tenant Portal, click on Resource Groups. Then select the **system.\<location>.cloudassert.vconnect.rp** resource group and verify if the deployment succeeded.


# License Activation

* Login to the VConnect Resource Provider Virtual Machine.
* Open a **new** elevated (administrative) PowerShell console and change to the directory “C:\Packages\Plugins\Microsoft.Powershell.DSC\2.19.0.0\DSCWork\setupVConnectConfiguratio n.0\AzureStack.VConnect.Setup.1.0.0\content\Setup”
* Run ActivateLicense.ps1 script and specify the required parameters.

| Parameter name | Description                              | Comment or default value |
| -------------- | ---------------------------------------- | ------------------------ |
| **LicenseKey** | Unique identifier of the License         | *Required*               |
| **EmailId**    | Email Id that is mapped with the License | *Required*               |

* Copy the generated **License.cal** file to the location “C:\inetpub\MgmtSvc-CloudAssertVConnect\bin”
* Recycle the IIS application pool for the site **MgmtSvc-CloudAssert-VConnect**
* In Admin Portal, click **VConnect> License** blade to see the licensed features and quotas

![](https://1412215776-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LoOW0tKkl3hfpWMgkVr%2F-LoPWDf9Z2ZZ7H9xCe0T%2F-LoPWEqatNnfuC9U8UKn%2Fimage.png?alt=media\&token=e8416c44-88de-4af9-a1c8-eb238e20062f)


# Add the service to Azure Stack Plan

## Creating a VConnect Quota

* In Admin portal, click **VConnect** extension
* Click Quotas > Add
* Enter a name for the Quota
* Configure the connections, quotas and tenant operations
* Click ‘Save’

![](https://1412215776-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LoOW0tKkl3hfpWMgkVr%2F-LoP_9IgCSlfRVLNvV66%2F-LoP_e-6QZu51WuVbeG5%2Fimage.png?alt=media\&token=67a1ed1e-4fb5-4692-a16e-fbb5257956dc)

![](https://1412215776-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LoOW0tKkl3hfpWMgkVr%2F-LoP_9IgCSlfRVLNvV66%2F-LoP_g_MKJ7y-4oI6ksH%2Fimage.png?alt=media\&token=e4071e10-4b8d-40b9-9015-e8fedc80f074)

![](https://1412215776-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LoOW0tKkl3hfpWMgkVr%2F-LoP_9IgCSlfRVLNvV66%2F-LoP_xG-GrB7kGR_45zl%2Fimage.png?alt=media\&token=ed7dc454-b39b-469e-9149-ff655e59b91e)

## Creating a Plan with VConnect Service

* In the Admin Portal, click Plans extension
* Choose an existing plan or create a new plan

![](https://1412215776-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LoOW0tKkl3hfpWMgkVr%2F-LoP_9IgCSlfRVLNvV66%2F-LoPaB0Jd4AQ08ngDNMh%2Fimage.png?alt=media\&token=2d4338d1-5188-47ce-810b-9a481f451c31)

* Click Service and quotas > Add

![](https://1412215776-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LoOW0tKkl3hfpWMgkVr%2F-LoP_9IgCSlfRVLNvV66%2F-LoPaL3sNxOf0fKyMP4W%2Fimage.png?alt=media\&token=144b3963-9572-489c-b492-2d3b54ccb584)

* Choose **CloudAssert.VConnect** under Services

![](https://1412215776-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LoOW0tKkl3hfpWMgkVr%2F-LoP_9IgCSlfRVLNvV66%2F-LoParM72hZKfFd3j55D%2Fimage.png?alt=media\&token=87d83789-785b-465d-a8ab-eb9e36a293d7)

* Click Quotas > CloudAssert.VConnect and choose the VConnect quota from the list displayed&#x20;

![](https://1412215776-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LoOW0tKkl3hfpWMgkVr%2F-LoP_9IgCSlfRVLNvV66%2F-LoPanyKz0QVec0xC14C%2Fimage.png?alt=media\&token=3a363330-de0e-4a7f-9472-b300fac9e53c)

## Creating an Offer

* In the Admin Portal, click Offers extension
* Create an offer or choose an existing offer
* Click Base plans > Add
* Select a plan with VConnect service added to it

![](https://1412215776-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LoOW0tKkl3hfpWMgkVr%2F-LoP_9IgCSlfRVLNvV66%2F-LoPbM5Q71tpyUm3M5_O%2Fimage.png?alt=media\&token=622056e0-fed1-4777-91f3-8f604137c819)

## Registering VConnect service for a User Subscription

* In the Tenant Portal, click Subscriptions extension
* Select a VConnect enabled subscription
* Click ‘Resource Providers’&#x20;
* Click register link for the CloudAssert.VConnect service&#x20;

![](https://1412215776-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LoOW0tKkl3hfpWMgkVr%2F-LoP_9IgCSlfRVLNvV66%2F-LoPbhaOtCEI5EToc94d%2Fimage.png?alt=media\&token=d964f6ba-7204-48aa-bd00-26597212d380)


# Remove VConnect Resource Provider

To remove the resource provider, it is essential to first remove any dependencies

* Ensure that the original deployment package that is downloaded for this version of the VConnect resource provider
* The administrator must delete any plans that reference the VConnect resource provider.&#x20;
* The administrator must delete any quotas that are associated with the VConnect resource provider.
* Rerun the deployment script with the following elements:&#x20;
  * The -Uninstall parameter&#x20;
  * The credentials for the service administrator account&#x20;
  * The credentials for the service tenant account


# Steps for version update

### Pre-uninstall steps

* Take a backup of Cloud Assert VConnect database
* Take a backup copy of the following files

| File Name   | File Path                                     |
| ----------- | --------------------------------------------- |
| Web.config  | C:\inetpub\MgmtSvc-CloudAssert-VConnect       |
| License.cal | C:\inetpub\MgmtSvc-CloudAssert-VConnect\bin   |
| Web.config  | C:\inetpub\AzureStack-VConnectAdminExtension  |
| Web.config  | C:\inetpub\AzureStack-VConnectRP              |
| Web.config  | C:\inetpub\AzureStack-VConnectTenantExtension |

### Uninstallation steps

* Uninstall the VConnect service from Control Panel > Programs and features > Uninstall a program

### Installation steps

* Extract the VConnect installers to a location.
* Install the VConnect Service using ‘CloudAssert.WAP.VConnect.Service.Setup.msi’ installer ➢ Open a new command prompt as administrator.
* Change the directory to the AdminExtension folder and run the command **“CloudAssert.AzureStack.VConnect.Extension.Admin.deploy.cmd /y”**
* Change the directory to the TenantExtension folder and run the command **“CloudAssert.AzureStack.VConnect.Extension.Tenant.deploy.cmd /y”**
* Change the directory to the RPWeb folder and run the command **“CloudAssert.AzureStack.VConnect.RP.Web.deploy.cmd /y”**

### Post-installation steps

* Replace the web.config files with the backed-up copies.
* Update the database using VConnect tool.
  * Open a powershell window
  * Navigate to the location of the VConnect tool
  * Run the below command by replacing the necessary values to update the database settings

`.\VCONNECT.EXE UpdateDatabaseSettings <serverName> <databaseName> <userName> <password> [/isUseIntegratedSecurity] [/VConnectApiEndpoint:<String>] [/VConnectApiUserName:<String>] [/VConnectApiPassword:<String>]`

* Recycle the IIS application pool for the following sites.
  * AzureStack-VConnectAdminExtension&#x20;
  * AzureStack-VConnectRP
  * AzureStack-VConnectTenantExtension
  * MgmtSvc-CloudAssert-VConnect


# Reset SQL Credentials

Article to reset SQL credentials for VConnect Database

The below steps are used to reset the SQL username or password

### Steps to Reset SQL Credentials

1. Open a new PowerShell window in elevated mode and navigate to the directory where the  VConnect Tool is present inside VConnect RP VM.
2. Run the following command to update the new Sql credentials.

```
.\VConnect.exe UpdateDatabaseSettings <DBServer Name or Ip>\<Instance Name>,<PortNumber> <VConnectDBName> <DBUsername> <DBPassword> /isUseIntegratedSecurity:false /VConnectApiEndpoint:https://localhost:44305 /VConnectApiUserName:<username> /VConnectApiPassword:<password>
```

<figure><img src="https://1412215776-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-LoOW0tKkl3hfpWMgkVr-4262638340%2Fuploads%2Fb57tteWYVTjW5BJhHRe7%2Fimage.png?alt=media&amp;token=302b1956-1cc8-4f03-af59-7810bcb462ef" alt=""><figcaption></figcaption></figure>

3\. Once the above command has succeeded, navigate to 'C:\Program Files\CloudAssertVConnect\CloudAssert.WAP.VConnect.AgentService'.

4\. Run the following command to update the Sql credentials in VConnect Agent Service.

```
.\CloudAssert.WAP.VConnect.AgentService.exe UpdateDatabaseSettings <DBServer Name or Ip>\<Instance Name>,<PortNumber> <VConnectDBName> <DBUsername> <DBPassword> false
```

<figure><img src="https://1412215776-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-LoOW0tKkl3hfpWMgkVr-4262638340%2Fuploads%2FtiLIn7O88jgZIzLyPB2h%2Fimage.png?alt=media&amp;token=a61e2345-cec4-42a6-9253-3978417f25dd" alt=""><figcaption></figcaption></figure>

The above commands will update the new Sql credential in VConnect database and configuration files successfully.


# Admin Features


# Settings

Navigate to the Resource Provider -> VConnect, then click ‘Settings’ and the list of settings to be configured by the admin will be shown.&#x20;

![](https://firebasestorage.googleapis.com/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-LoOW0tKkl3hfpWMgkVr-4262638340%2Fuploads%2FCt5EeCGRoR8VN3fTkJj0%2Ffile.png?alt=media)

### Database Settings&#x20;

The database settings will be generally configured during deployment process.  Admin can enter the database server name, user name, password, database name and click ‘save’ button to update these settings.&#x20;

![](https://firebasestorage.googleapis.com/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-LoOW0tKkl3hfpWMgkVr-4262638340%2Fuploads%2FuITAEZ3Owaqh7AS11oHF%2Ffile.png?alt=media)

### Powershell Settings&#x20;

Configure the Machine details where remote powershell can be executed via WMI and all required powershell modules installed, for example vSphere PowerCLI, Azure Powershell etc.&#x20;

* Ensure that the target server machine has vSphere PowerCLI&#x20;
* Enter the Server name, User Name, Password. And if the default WMI ports to be used, then do not select ‘USE HTTPS FOR WMI’ and enter 5985 for ‘POWERSHELL WMI PORT’&#x20;

![](https://firebasestorage.googleapis.com/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-LoOW0tKkl3hfpWMgkVr-4262638340%2Fuploads%2FaZImjr6hq4WIUVYyFQhJ%2Ffile.png?alt=media)

### Script Settings&#x20;

Provide the base folder path for the custom scripts, so that relative path can be provided for the location of the scripts for features like Custom commands and Operation templates.&#x20;

![](https://firebasestorage.googleapis.com/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-LoOW0tKkl3hfpWMgkVr-4262638340%2Fuploads%2FCEdBIEiri7HHrGtSGucb%2Ffile.png?alt=media)


# Connections

Navigate to the Resource Provider -> VConnect, then click ‘Connections’ and the available connections are shown.  There is a list of integrations and all the connections under them are listed.&#x20;

![](https://firebasestorage.googleapis.com/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-LoOW0tKkl3hfpWMgkVr-4262638340%2Fuploads%2FX2vU6f4nQT8FTJjpL9ll%2Ffile.png?alt=media)


# Dell EMC Isilon

### Pre-requisites

* Azure Stack Hub border device/firewall, needs to have the necessary configuration to allow access to Isilon endpoint
* VConnect RP is installed in tenant network, thus Isilon endpoint should be accessible from tenant network
* Validate the accessibility by accessing the Isilon endpoint from browser from tenant VM

### Adding an Isilon connection

* Navigate to the Resource Provider -> VConnect, then click ‘Connections’.&#x20;
* Click ‘Dell EMC Isilon’ from the list of integrations shown&#x20;
* Click the ‘Add’ button to create an Isilon connection&#x20;
* Enter the name of the connection&#x20;
* Add the following connection settings. (Note: Settings name are case sensitive)&#x20;
  * OneFSClusterUrl&#x20;
  * Username&#x20;
  * Password&#x20;

![](https://1412215776-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LoOW0tKkl3hfpWMgkVr%2F-MA4kS-2GTDVzKFWr5oe%2F-MA4mxWT17HgxJ0UiIq-%2Fimage.png?alt=media\&token=ed5b866c-20b8-4f6b-ad2c-d7839d3d47d9)


# VMware

### Pre-requisites

#### VMware vSphere PowerCLI (required for VMware integration)&#x20;

* Supported Versions: 5.5 to 11.2&#x20;

  * Download link: <https://developercenter.vmware.com/web/dp/tool/vsphere_powercli/6.3>
  * Download link:

  &#x20;       <https://code.vmware.com/web/tool/11.2.0/vmware-powercli>

Steps for supporting PowerCLI version 6.7 to 11.2

* While installing the VConnect Service download the PowerCLI signed Vim dll and its dependencies.&#x20;

![](https://firebasestorage.googleapis.com/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-LoOW0tKkl3hfpWMgkVr-4262638340%2Fuploads%2FAqv1dUhRRaC9knNIWxql%2Ffile.png?alt=media)

* User will be prompted to download the dlls.

![](https://firebasestorage.googleapis.com/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-LoOW0tKkl3hfpWMgkVr-4262638340%2Fuploads%2FoVkDTMAbOV08NloEj5gZ%2Ffile.png?alt=media)

* Add the following downloaded dlls in the VConnect bin folder( \inetpub\MgmtSvc-CloudAssert-VConnect\bin)

#### Prepare vCenter: (required for VMware integration)&#x20;

* Clusters that will be configured with VConnect must have DRS turned on in vCenter. &#x20;

![](https://firebasestorage.googleapis.com/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-LoOW0tKkl3hfpWMgkVr-4262638340%2Fuploads%2FJLrwkSbtWfyU6qgGQQhc%2Ffile.png?alt=media)

#### Recommended Settings for VM Templates in vCenter: &#x20;

* Ensure that VM Templates in the vCenter environment used for VM provisioning through VConnect, are created with only 1 core per socket and 1 CPU.

### Adding a connection

Specify the Machines server URL, user name and password and click the refresh button.  The available datacenters and clusters will be listed.&#x20;

![](https://firebasestorage.googleapis.com/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-LoOW0tKkl3hfpWMgkVr-4262638340%2Fuploads%2FT8SXMbvxaNf2MICRwC3a%2Ffile.png?alt=media)


# Backup features

### Pre-requisites

#### Veeam&#x20;

* Supported Versions: v7.0, v8.0, v9.0, v9.5 &#x20;
* VConnect Backup feature works on top of Veeam Backup and Replication software suite. &#x20;
* Trial versions can be downloaded from: <http://www.veeam.com/downloads/> &#x20;
* Veeam licenses can be purchased from CLOUD ASSERT along with VConnect licenses. Contact <support@cloudassert.com> for details. &#x20;
* On the Veeam Server machine, enable access to WMI ports 5985 and 5986 &#x20;
* Run the following commands on the Veeam Server machine: 
  * winrm set winrm/config/winrs '@{MaxShellsPerUser="500"}' &#x20;
  * Set-Item -Path WSMan:\localhost\Plugin\microsoft.powershell\Quotas\MaxShells -Value 500 
  * Set-Item -Path WSMan:\localhost\Plugin\microsoft.powershell\Quotas\MaxShellsPerUser -Value 500 &#x20;
  * Set-Item -Path WSMan:\localhost\Plugin\microsoft.powershell32\Quotas\MaxShells -Value 500 
  * Set-Item -Path WSMan:\localhost\Plugin\microsoft.powershell32\Quotas\MaxShellsPerUser -Value 500 &#x20;
* Run the following commands on the machine where VConnect API Service will be installed: 
  * winrm set winrm/config/client @{TrustedHosts ="powerShellMachine, veeamServer"} 
  * Remember to replace ‘powerShellMachine’ and ‘veeamServer’ with correct values &#x20;

#### Commvault&#x20;

* Supported Versions: v11 &#x20;
* Trial versions can be downloaded from: <https://www.commvault.com/demos-and-trials/vm-backup-and-recovery> &#x20;
* Check [here](http://documentation.commvault.com/commvault/v11/article?p=deployment/install/pre_install/r_install_plan_commserve.htm) for the pre-requisites &#x20;
* On the Commvault server install web console:  <https://cloud.commvault.com/webconsole/softwarestore/store.do> &#x20;


# Others

### Pre-requisites

#### Azure PowerShell (required for Azure integration)&#x20;

* Supported Versions: 1.5 to 3.0 &#x20;

#### VMM Console (required for SPF VMM integration)&#x20;

* Supported Versions: UR10 &#x20;

#### AWS CLI (required for AWS integration)&#x20;

* Supported Versions: 1.11.10 to 1.11.13 &#x20;
* Download link:  <http://docs.aws.amazon.com/cli/latest/userguide/installing.html#install-msi-on-windows> &#x20;


# VM Templates

### View VM Templates&#x20;

Navigate to the Resource Provider -> VConnect, then click a connection.  Click ‘VM Templates’ and the available templates are shown.&#x20;

![](https://firebasestorage.googleapis.com/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-LoOW0tKkl3hfpWMgkVr-4262638340%2Fuploads%2FiRb23lcjG795uwy30Lxx%2Ffile.png?alt=media)

### Publish VM Templates&#x20;

Select the templates that to publish and click the icon ‘Publish to Gallery’ and the selected templates will be available for deployment in the tenant.&#x20;

![](https://firebasestorage.googleapis.com/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-LoOW0tKkl3hfpWMgkVr-4262638340%2Fuploads%2FOHo4gFh7dyWgtBtZInFD%2Ffile.png?alt=media)

### Unpublish VM Templates&#x20;

Select the templates to unpublish and click the icon ‘Remove from Gallery’ and the templates will be removed for deployment in tenant.&#x20;

### Create, Edit or Delete a VM Template&#x20;

Creating a Virtual Machine Template includes scenarios like Domain Join a virtual machine, specifying the type of Data Store to place the virtual machine in, adding installation scripts on start of the virtual machine, specifying a network name to join the virtual machine to, deciding which parameters the tenants can override.&#x20;

* Select the OS platform &#x20;
* The list of templates available in the datacenter will be shown in the drop down.&#x20;
* Choose a template and the section of params to be configured for the template will be shown.&#x20;
* They can be configured by tenant if the admin wants to allow them.&#x20;

![](https://firebasestorage.googleapis.com/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-LoOW0tKkl3hfpWMgkVr-4262638340%2Fuploads%2FOGiU0yCiTDV8ACAs7osX%2Ffile.png?alt=media)

### Clone a VM Template&#x20;

* Select a template from the list of templates in the view and click the clone button.&#x20;
* The original template name (read only) and the new name text boxes are shown.&#x20;
* Enter the new template name.&#x20;
* Click ‘Clone’ button.&#x20;

![](https://firebasestorage.googleapis.com/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-LoOW0tKkl3hfpWMgkVr-4262638340%2Fuploads%2FMap3dhKqbnOXdcDKBfWC%2Ffile.png?alt=media)

### Configure Params&#x20;

Drill down to each template to view the parameters configured in them.  The admin can add custom parameters and edit them.&#x20;

![](https://firebasestorage.googleapis.com/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-LoOW0tKkl3hfpWMgkVr-4262638340%2Fuploads%2FsvFQC3MtSfg5eiLPLGpy%2Ffile.png?alt=media)


# Custom Commands

Custom commands provide limitless possibilities to extend, you can creatively bring in all typical Virtual Machine management processes inside Azure Stack portal with this VConnect Custom Commands feature.  Custom Commands provides the ability for the administrator to define any new functionality for the tenant users.&#x20;

### Custom Commands View&#x20;

* VConnect offers Out-of-the-box Custom Commands to Add Disk, Expand Disk and Delete Disk.&#x20;
* Select a connection and click the ‘commands’ section to view the available Custom Commands.&#x20;

![](https://firebasestorage.googleapis.com/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-LoOW0tKkl3hfpWMgkVr-4262638340%2Fuploads%2FVt9QVGCilzpnYnziuNXQ%2Ffile.png?alt=media)

### Create Custom Command&#x20;

* Custom commands can either be run as script or operation template.&#x20;
* The progress of the script execution can be viewed in the Deployments tab.&#x20;

![](https://firebasestorage.googleapis.com/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-LoOW0tKkl3hfpWMgkVr-4262638340%2Fuploads%2FHqFnkYu8Cu4B4F78keRZ%2Ffile.png?alt=media)

### Configure params in a Custom Command&#x20;

Drill down into a custom command and add custom parameters to receive user inputs for custom commands.&#x20;

![](https://firebasestorage.googleapis.com/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-LoOW0tKkl3hfpWMgkVr-4262638340%2Fuploads%2Fgzop2URTkxuU9x23HSrr%2Ffile.png?alt=media)

### Import and Export Custom Command&#x20;

Custom Commands can also be imported and exported as .zip archives using the ‘Import’ and ‘Export’ command options.&#x20;

![](https://firebasestorage.googleapis.com/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-LoOW0tKkl3hfpWMgkVr-4262638340%2Fuploads%2FGJc5EEa8N8WFLXALALTF%2Ffile.png?alt=media)

![](https://firebasestorage.googleapis.com/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-LoOW0tKkl3hfpWMgkVr-4262638340%2Fuploads%2FiwgFRykyDe7QGYXxBPy6%2Ffile.png?alt=media)

&#x20;


# Networks

VConnect allows admin to configure Networks for the tenant users.  &#x20;

### Networks View&#x20;

* The Networks and switched can be configured connection specifically.&#x20;
* The Tenants can choose one of the networks while provisioning the Virtual Machine.&#x20;

![](https://firebasestorage.googleapis.com/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-LoOW0tKkl3hfpWMgkVr-4262638340%2Fuploads%2FmtRg9Xh1uk4ZXfkma7vi%2Ffile.png?alt=media)

### Configure Networks&#x20;

* Applicable only for vCenter, System Center VMM, Azure and OpenStack Connections.&#x20;
* Navigate to ‘Networks’ section in the drilled down view of a particular connection.&#x20;
* Click ‘Configure Networks’ command button.&#x20;
* Select one or more networks and click ‘Configure’ button.&#x20;

![](https://firebasestorage.googleapis.com/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-LoOW0tKkl3hfpWMgkVr-4262638340%2Fuploads%2FK9r489Bkji27CvMouKJQ%2Ffile.png?alt=media)

### Configure Switches&#x20;

* Applicable only for VMware vCenter connections.&#x20;
* Navigate to ‘Networks’ section in the drilled down view of a particular connection.&#x20;
* Click ‘Configure Switches’ command button.&#x20;
* Select one or more switches from the list and click ‘Configure’ button.&#x20;

![](https://firebasestorage.googleapis.com/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-LoOW0tKkl3hfpWMgkVr-4262638340%2Fuploads%2FUWPYn1ccSAUMdQttvq6v%2Ffile.png?alt=media)


# Policies

Under each integration’s connection, we have a new feature called policy setting, which enables you to schedule the virtual machine power operation such as power on, power off etc.&#x20;

### Policies view&#x20;

![](https://firebasestorage.googleapis.com/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-LoOW0tKkl3hfpWMgkVr-4262638340%2Fuploads%2FciZF9UUk3amp2aqGA5av%2Ffile.png?alt=media)

### Create Policy&#x20;

Specify the policy name and choose its type&#x20;

![](https://firebasestorage.googleapis.com/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-LoOW0tKkl3hfpWMgkVr-4262638340%2Fuploads%2Fn0wGiC7KsEYtuYI5ukQ6%2Ffile.png?alt=media)

The created policy will do the corresponding operation mentioned in it at the specified time for the virtual machines created under the connection.&#x20;


# Tenant Resources

### Virtual Machines

The Virtual Machines created by tenants under the specific connections are listed here.&#x20;

This section offers several operations like connecting to a tenant via RDP, power operations, deleting and force deleting virtual machines and executing custom commands on it.&#x20;

![](https://firebasestorage.googleapis.com/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-LoOW0tKkl3hfpWMgkVr-4262638340%2Fuploads%2FVBobtTMVz2PLkmjE7KZl%2Ffile.png?alt=media)

### Datastores View

* Applicable only for VMware vCenter connections.&#x20;
* Navigate to the ‘Datastores’ section in the drilled down view of the connection to view the available datastores in that connection.&#x20;

![](https://firebasestorage.googleapis.com/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-LoOW0tKkl3hfpWMgkVr-4262638340%2Fuploads%2FVsZjof4G4Kml88jnTwpO%2Ffile.png?alt=media)


# Backup

There are two VConnect supported backup providers namely,&#x20;

* Veeam&#x20;
* Commvault&#x20;

### Create a Backup Connection&#x20;

#### Creating a Veeam Connection&#x20;

* Create a Veeam backup connection to enable Backup Feature for the tenants. &#x20;
* Navigate to the ‘Veeam’ section within ‘Connections’ section.&#x20;
* Click ‘Add Connection’ command button to add a Veeam Connection.&#x20;
* Enter a user-friendly connection name and Veeam server details.&#x20;
* Enter the Veeam Backup repository or leave blank to use default repository. &#x20;
* If the default WMI ports to be used, then do not select ‘USE HTTPS FOR WMI’ and enter 5985 for ‘Backup Server WMI Port’.  &#x20;
* If HTTPS only is configured, then select ‘USE HTTPS FOR WMI’ and enter the default WMI HTTPS Port 5986 (or the specific port you have configured).  &#x20;

![](https://firebasestorage.googleapis.com/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-LoOW0tKkl3hfpWMgkVr-4262638340%2Fuploads%2F6SPN2OHIEoqnOh8NT9fS%2Ffile.png?alt=media)

#### Creating a Commvault Connection&#x20;

* Create a Commvault backup connection to enable Backup Feature for the tenants. &#x20;
* Navigate to the ‘Commvault’ section within ‘Connections’ section.&#x20;
* Click ‘Add Connection’ command button to add a Commvault Connection.&#x20;
* Enter a user-friendly connection name and Commvault server details. &#x20;
* &#x20;Click the ‘Refresh’ button to load the Storage Policies.&#x20;
* Select a storage policy. &#x20;

![](https://firebasestorage.googleapis.com/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-LoOW0tKkl3hfpWMgkVr-4262638340%2Fuploads%2FLVGP3W6xxye5JOZwQO1R%2Ffile.png?alt=media)


# IP Pools

VConnect features IP Address Pool management. You can specific these values in the VM Template in ‘IP Mode’ and ‘IP Address Pool Name’ parameters.  IP Address Pools can be configured via the ‘IP Pools’ section. &#x20;

Example scenarios enabled by this: &#x20;

* Support non-DHCP environments with static list of known IP address ranges  &#x20;
* Support setting up public IP addresses for specific VM Templates &#x20;
* Since IP Address Pool can be selected per VM Template, it is possible to have different type of VMs use different range of IP Addresses&#x20;

### View IP Pools&#x20;

Applicable only for the VMware vCenter Virtual machines.&#x20;

![](https://firebasestorage.googleapis.com/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-LoOW0tKkl3hfpWMgkVr-4262638340%2Fuploads%2FCpVssw5iN16m9k4Mht0z%2Ffile.png?alt=media)

User can reserve certain IPs and can view the allocated IPs in the IP Pool drilldown tab.&#x20;

![](https://firebasestorage.googleapis.com/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-LoOW0tKkl3hfpWMgkVr-4262638340%2Fuploads%2F1UMOQNlQbTwprbeXxGti%2Ffile.png?alt=media)

### Create, Edit and Delete IP Pool&#x20;

* Navigate to ‘IP Pools’ section and click ‘Add’.&#x20;
* Enter the IP Address Pool information.&#x20;
* Enter DNS, WINS list and IP Address Ranges to be used for this Pool.&#x20;

![](https://firebasestorage.googleapis.com/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-LoOW0tKkl3hfpWMgkVr-4262638340%2Fuploads%2FwGC3B2l72TwbZf4AGOBk%2Ffile.png?alt=media)


# Compute Instances

Compute instances are the VM sizes for various VConnect supported platforms.  Some of the default VM sizes are available while configuring VConnect database.&#x20;

### Compute Instances – View&#x20;

* Navigate to the ‘Compute Instance’ section.&#x20;
* Select a Platform connection type (VCenter/Spf/Azure/AWS) to view the available VM sizes.&#x20;

![](https://firebasestorage.googleapis.com/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-LoOW0tKkl3hfpWMgkVr-4262638340%2Fuploads%2FjEHslTU02gy8sX2K1uIe%2Ffile.png?alt=media)

![](https://firebasestorage.googleapis.com/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-LoOW0tKkl3hfpWMgkVr-4262638340%2Fuploads%2Fft4iyLFzBsgUtDqFfcvC%2Ffile.png?alt=media)

### Clone Compute Instance&#x20;

For the Admin to create custom Compute Instance,&#x20;

* Select one of the existing Compute Instance&#x20;
* Click ‘Clone’ command button.&#x20;
* Enter the name and other details for the new Compute Instance.&#x20;
* Click ‘Save’ button and the new Compute Instance will be added to the existing list.&#x20;

![](https://firebasestorage.googleapis.com/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-LoOW0tKkl3hfpWMgkVr-4262638340%2Fuploads%2FOUvOdlgvjyI1IRHpyE1M%2Ffile.png?alt=media)


# Service Requests

### Creating a Custom Connection&#x20;

* Create a Custom Connection to enable Service Requests for the tenants. &#x20;
* Navigate to the ‘Custom’ section within ‘Connections’ section.&#x20;
* Click ‘Add’ to add a Custom Connection.&#x20;

![](https://firebasestorage.googleapis.com/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-LoOW0tKkl3hfpWMgkVr-4262638340%2Fuploads%2FRH5hgr5wyUW0VJm8uM08%2Ffile.png?alt=media)

* Enter the connection name&#x20;
* Click on ‘Add Parameter’ button to add custom parameter required for the connection.&#x20;
* Select a parameter and click ‘Delete Parameter’ button to delete a parameter.&#x20;
* Click ‘Save’ button.&#x20;

![](https://firebasestorage.googleapis.com/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-LoOW0tKkl3hfpWMgkVr-4262638340%2Fuploads%2FikxVRClbTK1EvItK9ZDL%2Ffile.png?alt=media)

### Creating a Service Request Command&#x20;

Once the custom connection is created, drill down the connection and click ‘Add’ to create a Service Request Command. &#x20;

![](https://firebasestorage.googleapis.com/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-LoOW0tKkl3hfpWMgkVr-4262638340%2Fuploads%2FGjX2YlRCILDveNoboTzo%2Ffile.png?alt=media)

* Provide Command Name, script path. &#x20;
* Select Type as ‘Script’ and Scope as ‘Global’. &#x20;
* If the request needs to be approved by the Admin, then choose ‘Approval Required’ button. &#x20;

![](https://firebasestorage.googleapis.com/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-LoOW0tKkl3hfpWMgkVr-4262638340%2Fuploads%2FlMMPCwDP4mAuYb1c7S2x%2Ffile.png?alt=media)

### Publishing a Service Request Command&#x20;

Select the Service Request command created and click the ‘Publish to Gallery’ command button so that the command is available to the tenants to create a Service Request.&#x20;


# Request Management

Navigate to the VConnect > Service Request section to view the deployment statuses of all the tenants.&#x20;

### Service Request&#x20;

* Click ‘Service Requests’ section to view the status of the Service Request raised by the tenants.&#x20;
* Select a request whose status is ‘Waiting for Approval’ and approve/deny the request.&#x20;

![](https://firebasestorage.googleapis.com/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-LoOW0tKkl3hfpWMgkVr-4262638340%2Fuploads%2FIzId3lSZRX2anW1923pq%2Ffile.png?alt=media)

### Deployment Request&#x20;

* Click ‘Deployment Requests’ section to view the status of the Deployment Request raised by the tenants.&#x20;
* Select a request whose status is ‘Waiting for Approval’ and approve/deny the request.&#x20;

![](https://firebasestorage.googleapis.com/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-LoOW0tKkl3hfpWMgkVr-4262638340%2Fuploads%2FIOp9848E7auMQ2u6l0ji%2Ffile.png?alt=media)

### Deployments&#x20;

* The ongoing operation template deployments are viewed here.&#x20;
* If any operation fails, the admin can re-try the deployment and can see it running again.&#x20;

![](https://firebasestorage.googleapis.com/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-LoOW0tKkl3hfpWMgkVr-4262638340%2Fuploads%2FomdpkazYNu2hKnJQPe8Z%2Ffile.png?alt=media)

* Deployments drill down tab shows the list of operations in a deployment.&#x20;

![](https://firebasestorage.googleapis.com/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-LoOW0tKkl3hfpWMgkVr-4262638340%2Fuploads%2FJMBpKxNFBS0nV8oQQHLj%2Ffile.png?alt=media)

### Users

* Tenant users who can approve/deny a deployment request or service request.
* Navigate to VConnect > RMS > Users

![](https://1412215776-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LoOW0tKkl3hfpWMgkVr%2F-MA5ESDToEVWB_AjgQjK%2F-MA5WGX8i1bJF_SFZh18%2Fimage.png?alt=media\&token=3d1c4cf2-cb2a-4560-adbf-e2b2095c542a)

#### Create or Edit a User

![](https://1412215776-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LoOW0tKkl3hfpWMgkVr%2F-MA5ESDToEVWB_AjgQjK%2F-MA5XEhx8lfXV07w8zvM%2Fimage.png?alt=media\&token=ab374986-1be5-4c79-ae66-17ef7edf9726)

### Approval Tiers

* Approval tiers decide the request routing to approvers. Approval tiers can be configured based on Business Unit and Department. Tier can be added in format of \<BusinessUnit Name>-Tier\<Level> or \<Department Name>-Tier\<Level> based on business.
* Navigate to VConnect > RMS > Approval Tiers

![](https://1412215776-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LoOW0tKkl3hfpWMgkVr%2F-MA5ESDToEVWB_AjgQjK%2F-MA5YHceSyc05_ofiglG%2Fimage.png?alt=media\&token=84ed52b9-9bc4-46d8-98d2-301c78074d78)

#### Create Approval Tiers

![](https://1412215776-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LoOW0tKkl3hfpWMgkVr%2F-MA5ESDToEVWB_AjgQjK%2F-MA5ihTWB_6H8SIrUOR9%2Fimage.png?alt=media\&token=65ff4611-8902-45d5-9dbd-fb1f157be36c)

### Approval Participants

* Approval Participant is a workflow user for specific tier who will approve/reject request, receive email notifications based on roles configured.
* Here a workflow user may contain different role&#x20;
  * Requestor Role: Requestor is a tenant user who will create a request for approval.&#x20;
  * Approver Role: Approver is a tenant user who will approve/reject the  request created by requestor.&#x20;
  * Contributor Role (SME) and Inform Role (Help Desk): Contributor and Inform is a tenant user who will receive the email notification after approval.&#x20;
* Navigate to VConnect > RMS > Approval Tiers, click a tier

![](https://1412215776-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LoOW0tKkl3hfpWMgkVr%2F-MA5ESDToEVWB_AjgQjK%2F-MA5iYVb3x2BtJLxYN1v%2Fimage.png?alt=media\&token=fabbde94-d0c8-41e1-979e-2d82bd006d5f)

### Add or Edit Approval Participant

![](https://1412215776-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LoOW0tKkl3hfpWMgkVr%2F-MA5ESDToEVWB_AjgQjK%2F-MA5kbLt6i8w0tTHngaK%2Fimage.png?alt=media\&token=f758c0f8-d87b-4df4-b001-3504ea5244f8)


# Storage Services

Navigate to the VConnect > Storage Services section to view the connections created to the Data Domain server

![](https://1412215776-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LoOW0tKkl3hfpWMgkVr%2F-MA4kS-2GTDVzKFWr5oe%2F-MA4q-GnJOp1OIK7tX-C%2Fimage.png?alt=media\&token=91a784c7-855b-4a5e-bde6-8132d1542436)

#### Creating a Data Domain Connection

* From the Storage Services section, click the ‘Add’ button to create a Data Domain connection&#x20;
* &#x20;Enter the name of the connection&#x20;
* &#x20;Enter the Server URL of the Data Domain server&#x20;
* &#x20;Enter the Username and Password to connect to the Data Domain server
* &#x20;Enable or disable the CIFS, NFS and DD Boost protocols&#x20;
* &#x20;Check the ‘Is Enabled For Provisioning’ checkbox&#x20;
* &#x20;Click the ‘Create’ button

![](https://1412215776-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LoOW0tKkl3hfpWMgkVr%2F-MA4kS-2GTDVzKFWr5oe%2F-MA4qWPaw1GAHbJ-MC24%2Fimage.png?alt=media\&token=b5395fca-a028-4e60-aeab-f9de0944a497)


# Quotas

VConnect Quota settings offers variety of options to customize the experience of all users subscribing to a specific plan.  Each quota can have different settings and thus enabling administrators to provide unique experience for different set of customers.&#x20;

### Quotas View&#x20;

Navigate to the ‘Quotas’ section to view the list of quotas created.&#x20;

![](https://firebasestorage.googleapis.com/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-LoOW0tKkl3hfpWMgkVr-4262638340%2Fuploads%2FrE4fP0sz6UPb1KF3LkSV%2Ffile.png?alt=media)

### Add Quota&#x20;

* Select connections and configure the network and backups for those connections&#x20;

![](https://firebasestorage.googleapis.com/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-LoOW0tKkl3hfpWMgkVr-4262638340%2Fuploads%2FbWVx52sgfAYr1rYoBBDy%2Ffile.png?alt=media)

* Set up the quota settings to be available for the plan.&#x20;
* Configure the tenant settings that should be visible to the users.&#x20;

![](https://firebasestorage.googleapis.com/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-LoOW0tKkl3hfpWMgkVr-4262638340%2Fuploads%2FworXzgHykUOqovQGEvYf%2Ffile.png?alt=media)

* These quotas can be selected in a plan in Azure Stack portal and a user subscription can be created for the offer linked with the specific plan.&#x20;


# Adding VConnect Service to Azure Stack Plan

Once the Quotas are configured, the VConnect service can be added to an Azure Stack Plan which later can be added to an Azure Stack offer.&#x20;

* In the Admin Portal, click Plans extension.&#x20;
* Choose an existing plan or create a new plan.&#x20;

![](https://firebasestorage.googleapis.com/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-LoOW0tKkl3hfpWMgkVr-4262638340%2Fuploads%2FS81j7zBJHaBD164RYuLK%2Ffile.png?alt=media)

* Click Service and quotas > Add&#x20;

![](https://firebasestorage.googleapis.com/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-LoOW0tKkl3hfpWMgkVr-4262638340%2Fuploads%2FOsvUr1sR6dzvUvoWMmGI%2Ffile.png?alt=media)

* Choose CloudAssert.VConnect under Services&#x20;

![](https://firebasestorage.googleapis.com/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-LoOW0tKkl3hfpWMgkVr-4262638340%2Fuploads%2FUct8UhPK9LvuqguKmpOH%2Ffile.png?alt=media)

* Click Quotas > CloudAssert.VConnect and choose the VConnect quota from the list displayed&#x20;

![](https://firebasestorage.googleapis.com/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-LoOW0tKkl3hfpWMgkVr-4262638340%2Fuploads%2FqPkaAqMA46ZjOVI9K86H%2Ffile.png?alt=media)

Once the plan is linked to an offer we can create a subscription for the offer from tenant side and go to resource provider under subscriptions to register the "CloudAssert.VConnect" to access the vconnect services.&#x20;


# Tenant Features


# Registering VConnect Service for a User Subscription

Once the tenant subscribes an offer with VConnect Service, the VConnect Resource Provider must be registered in that subscription to avail the service.&#x20;

* In the Tenant Portal, click Subscriptions extension.&#x20;
* Select a VConnect enabled subscription.&#x20;
* Click ‘Resource Providers’&#x20;
* Click register link for the CloudAssert.VConnect service&#x20;

![](https://firebasestorage.googleapis.com/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-LoOW0tKkl3hfpWMgkVr-4262638340%2Fuploads%2FzsVOjWrXCJRuUaGt54he%2Ffile.png?alt=media)


# Creating a Virtual Machine

### Virtual Machine Creation

* Click New > Compute&#x20;
* Choose one of the VM template published by Admin.&#x20;

![](https://firebasestorage.googleapis.com/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-LoOW0tKkl3hfpWMgkVr-4262638340%2Fuploads%2F4utd6LZyCOENiuH6Xty3%2Ffile.png?alt=media)

* In the step 1, choose the subscription and resource group in which the virtual machine gets deployed.&#x20;

![](https://firebasestorage.googleapis.com/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-LoOW0tKkl3hfpWMgkVr-4262638340%2Fuploads%2FKc2CnFb8SBBjzT281mRG%2Ffile.png?alt=media)

* In the step 2, choose the virtual machine size from the list displayed.&#x20;

![](https://firebasestorage.googleapis.com/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-LoOW0tKkl3hfpWMgkVr-4262638340%2Fuploads%2FNUYigxnze3ZDjAVdRJBC%2Ffile.png?alt=media)

* In the step 3, provide values for the template parameters that admin marked as ‘Is Configurable by Tenant’.&#x20;

![](https://firebasestorage.googleapis.com/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-LoOW0tKkl3hfpWMgkVr-4262638340%2Fuploads%2Fs2crxi83NpRKOUQ0cUMt%2Ffile.png?alt=media)

* Step 4 shows the summary of the provided virtual machine details.&#x20;

![](https://firebasestorage.googleapis.com/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-LoOW0tKkl3hfpWMgkVr-4262638340%2Fuploads%2FT53aeA3uvyKJ15WE9f1z%2Ffile.png?alt=media)

### View Deployment status of Virtual Machine creation&#x20;

* ‘VConnect Service Request’ extension shows the status of the VConnect deployments like Virtual Machine deployment, Service Request deployment etc. &#x20;

![](https://firebasestorage.googleapis.com/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-LoOW0tKkl3hfpWMgkVr-4262638340%2Fuploads%2FhFWmYuhMm3O7Rr0o1H2t%2Ffile.png?alt=media)

* In the ‘Deployments’ section, choose a subscription to view the list of deployments for that subscription.&#x20;

![](https://firebasestorage.googleapis.com/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-LoOW0tKkl3hfpWMgkVr-4262638340%2Fuploads%2F6QwPecmK3iUGW0AdATAG%2Ffile.png?alt=media)

* Click one of the deployments to view the list of deployment operations.&#x20;

![](https://firebasestorage.googleapis.com/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-LoOW0tKkl3hfpWMgkVr-4262638340%2Fuploads%2Fzbc54dZOy5x8X92QFBjL%2Ffile.png?alt=media)

* Click one of the deployment operations to view the detailed status of that specific operation.&#x20;

![](https://firebasestorage.googleapis.com/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-LoOW0tKkl3hfpWMgkVr-4262638340%2Fuploads%2FmMZe0xRmHlDLBULuEGt3%2Ffile.png?alt=media)


# Virtual Machine Operations

### List VConnect Virtual Machines&#x20;

‘VConnect Virtual Machines’ extension lists all the virtual machines created through VConnect.&#x20;

![](https://firebasestorage.googleapis.com/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-LoOW0tKkl3hfpWMgkVr-4262638340%2Fuploads%2FrBp1L4iAIg2SfSorXv79%2Ffile.png?alt=media)

### Virtual Machine – Overview&#x20;

Virtual Machine ‘Overview’ section displays the resource group, IP address, deployment status and power status of the virtual machine.  It also shows the operating system and size of the virtual machine.&#x20;

![](https://firebasestorage.googleapis.com/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-LoOW0tKkl3hfpWMgkVr-4262638340%2Fuploads%2FX8IOVPCIrNMtXCXStuCM%2Ffile.png?alt=media)

#### Quota consumption for CPU, Memory and Storage&#x20;

Quota consumption charts compares the CPU, memory and storage quotas totally allocated and the quota consumed by the subscription and the virtual machine.&#x20;

![](https://firebasestorage.googleapis.com/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-LoOW0tKkl3hfpWMgkVr-4262638340%2Fuploads%2F8RCIZN0QTei26sMuzSry%2Ffile.png?alt=media)

#### CPU and Memory Utilization&#x20;

A graph shows the CPU and memory utilization of the virtual machine for each point in time.  Applicable only for the VMware vCenter and System Center Virtual machines. &#x20;

![](https://firebasestorage.googleapis.com/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-LoOW0tKkl3hfpWMgkVr-4262638340%2Fuploads%2FeCXQrRCLi88Gb147x6Tx%2Ffile.png?alt=media)

### Virtual Machine – Power Operations&#x20;

In the overview section of a virtual machine, click the command button namely ‘Power Ops’ to list several power operations that can be performed on the virtual machine such as power off, suspend, reboot etc.&#x20;

![](https://firebasestorage.googleapis.com/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-LoOW0tKkl3hfpWMgkVr-4262638340%2Fuploads%2FYEhgmgc8icmXAIxSVz6v%2Ffile.png?alt=media)

### Virtual Machine – RDP Connect&#x20;

In the overview section of a virtual machine, click the ‘Connect’ command button to download the RDP file which can be used to remotely connect to the virtual machine.&#x20;

![](https://firebasestorage.googleapis.com/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-LoOW0tKkl3hfpWMgkVr-4262638340%2Fuploads%2F9ME88WyVm4rXWfCYLKP4%2Ffile.png?alt=media)

If there are multiple IPs, then choose one of the IP from the list and click ‘Connect’ button to download the RDP file.&#x20;

![](https://firebasestorage.googleapis.com/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-LoOW0tKkl3hfpWMgkVr-4262638340%2Fuploads%2FCDaUuXh5Y239nSBcsobw%2Ffile.png?alt=media)

### Virtual Machine – View Console&#x20;

* Applicable only for the VMware vCenter Virtual machines.&#x20;
* Virtual machine must be in powered on state to view the console.&#x20;
* Choose ‘VM Console’ section to view the console of the virtual machine. &#x20;

![](https://firebasestorage.googleapis.com/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-LoOW0tKkl3hfpWMgkVr-4262638340%2Fuploads%2FnYOfzrtywikCnX9ev3Ny%2Ffile.png?alt=media)

### Virtual Machine – Custom Command Operations&#x20;

* Choose the ‘Operations’ section of a virtual machine to view the list of available custom operations. &#x20;
* Select a command from the list.  &#x20;
* Provide values for all the parameters displayed.&#x20;
* Click ‘Execute’ button.&#x20;
* The operation will be performed within the virtual machine.&#x20;

![](https://firebasestorage.googleapis.com/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-LoOW0tKkl3hfpWMgkVr-4262638340%2Fuploads%2Fa4l0KIrW7EUrB5KZOd1k%2Ffile.png?alt=media)

![](https://firebasestorage.googleapis.com/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-LoOW0tKkl3hfpWMgkVr-4262638340%2Fuploads%2FZSIMBVAmLbUvThqOf1FF%2Ffile.png?alt=media)

### Virtual Machine – Reconfiguring CPU and Memory&#x20;

The virtual machine size (CPU and memory) can be reconfigured.  Reconfiguration can be performed only if the virtual machine is in off state.&#x20;

* Click the ‘Reconfigure’ section of the virtual machine.&#x20;

![](https://firebasestorage.googleapis.com/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-LoOW0tKkl3hfpWMgkVr-4262638340%2Fuploads%2F0yJZS5GIRPzktGrtcY28%2Ffile.png?alt=media)

* Select a size from the list.&#x20;

![](https://firebasestorage.googleapis.com/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-LoOW0tKkl3hfpWMgkVr-4262638340%2Fuploads%2Fm5uk1NhUl8NDFrdLXBDt%2Ffile.png?alt=media)

* Click ‘Save’ button.&#x20;

#### HotAdds (VCenter)&#x20;

* HotAdds is a feature specific to VCenter platform.  If Admin has enabled HotAdds operation for the tenant, then tenant can configure the size (CPU and memory) when the virtual machine is in powered on state. &#x20;

#### IsComputeInstanceSliderEnabled AppSetting&#x20;

* If admin has set the AppSetting ‘IsComputeInstanceSliderEnabled’ to true, then slider will be displayed for the tenant to choose the memory.&#x20;
* AppSetting can be modified using VConnect tool.&#x20;
* Recycle the IIS application pool for the site ‘MgmtSvc-CloudAssert-VConnect’ after modifying the AppSetting.&#x20;

![](https://firebasestorage.googleapis.com/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-LoOW0tKkl3hfpWMgkVr-4262638340%2Fuploads%2FUt5IGKrMvHSSDEW1cmUX%2Ffile.png?alt=media)

Syntax:&#x20;

&#x20;VConnect.exe AddOrUpdateAppSetting \<group> \<key> \<value> \[/isEncrypted] \[/VConnectApiEndpoint:\<String>] \[/VConnectApiUserName:\<String>] \[/VConnectApiPassword:\<String>]&#x20;

Example:&#x20;

VConnect.exe AddOrUpdateAppSetting MiscSettings IsComputeInstanceSliderEnabled true / VConnectApiEndpoint:<http://contoso:31101> /VConnectApiUserName:admin /VConnectApiPassword:"password"&#x20;

### Virtual Machine – Disk Operations&#x20;

### List of Disks&#x20;

* Click ‘Disks’ section of the virtual machine to view the list of disks available for the virtual machine.&#x20;

![](https://firebasestorage.googleapis.com/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-LoOW0tKkl3hfpWMgkVr-4262638340%2Fuploads%2FvsNfxYn9UpVLcXJtxBaq%2Ffile.png?alt=media)

### Add Disk&#x20;

* Click ‘Disks’ section of the virtual machine.&#x20;
* Click the ‘Add’ command button.&#x20;
* Enter the disk size and other necessary details.&#x20;
* Click ‘Ok’&#x20;

![](https://firebasestorage.googleapis.com/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-LoOW0tKkl3hfpWMgkVr-4262638340%2Fuploads%2F5xKFhm4nLMVLiTyWdBcm%2Ffile.png?alt=media)

### Expand Disk&#x20;

* Click ‘Disks’ section of the virtual machine.&#x20;
* Select a disk from the list and click the ‘Expand Disk’ command button.&#x20;
* Enter the disk size and other necessary details.&#x20;
* Click ‘Ok’&#x20;

![](https://firebasestorage.googleapis.com/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-LoOW0tKkl3hfpWMgkVr-4262638340%2Fuploads%2FAal11mMtGL76ESPR1mo5%2Ffile.png?alt=media)

### Delete Disk&#x20;

* Click ‘Disks’ section of the virtual machine.&#x20;
* Select a disk from the list and click the ‘Delete Disk’ command button.&#x20;

![](https://firebasestorage.googleapis.com/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-LoOW0tKkl3hfpWMgkVr-4262638340%2Fuploads%2FZJLGms06c30Wz1rxPtKY%2Ffile.png?alt=media)

### Virtual Machine – Snapshots&#x20;

* Snapshots feature is available for VCenter virtual machines.&#x20;
* Click the ‘Snapshots’ section of the virtual machine to view the available snapshots.&#x20;

![](https://firebasestorage.googleapis.com/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-LoOW0tKkl3hfpWMgkVr-4262638340%2Fuploads%2FfCs8FO3g1yz5cBo1Ff4J%2Ffile.png?alt=media)

Click ‘Create’ button and enter the necessary details to create a snapshot.&#x20;

![](https://firebasestorage.googleapis.com/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-LoOW0tKkl3hfpWMgkVr-4262638340%2Fuploads%2FCa1GLKaXckhyh8BWxF3N%2Ffile.png?alt=media)

* Select a snapshot from the available list to perform Delete/Revert operations.&#x20;
* Clicking ‘Delete All’ command button will delete all the available snapshots.&#x20;

### Virtual Machine – Backup Schedules&#x20;

Backup can be created for virtual machines of VCenter and System Center platforms.&#x20;

There are two Backup providers supported by VConnect.&#x20;

* Veeam&#x20;
* Commvault&#x20;

Admin configures the backup server connection and maps it to a VCenter/System Center connection while creating the quota.&#x20;

#### List Backup schedules&#x20;

* Click the ‘Backups’ section of a virtual machine to view the list of available backup schedules.&#x20;

![](https://firebasestorage.googleapis.com/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-LoOW0tKkl3hfpWMgkVr-4262638340%2Fuploads%2FI1tDbvwrYrmBNVXSd7Nc%2Ffile.png?alt=media)

#### Create a Backup schedule&#x20;

* Click the ‘Create’ command button to create a backup schedule.&#x20;

![](https://firebasestorage.googleapis.com/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-LoOW0tKkl3hfpWMgkVr-4262638340%2Fuploads%2FCkZl2TmefrGURVYZlt52%2Ffile.png?alt=media)

* In the Create Backup Schedule blade, enter the schedule name and scheduling frequency as Daily/Weekly/Monthly.&#x20;
* For Veeam backup provider, tenants can set the Retention points.&#x20;
* For Commvault, admin configures the storage policy while creating the connection.&#x20;
* Check the ‘Trigger Backup Now’ checkbox to run the backup immediately after creating the schedule.&#x20;

![](https://firebasestorage.googleapis.com/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-LoOW0tKkl3hfpWMgkVr-4262638340%2Fuploads%2FPR5Oa5Eyt6y8Omud4sMM%2Ffile.png?alt=media)

#### Backup schedule – Operations&#x20;

* Select a schedule from the list of schedules displayed.&#x20;
* Click ‘Run’ button to create the backup.&#x20;
* Click ‘Enable’ or ‘Disable’ button to enable/disable the schedule.&#x20;
* Click ‘Delete’ button to delete the schedule.&#x20;

![](https://firebasestorage.googleapis.com/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-LoOW0tKkl3hfpWMgkVr-4262638340%2Fuploads%2FFoD2VX0b72NX2tn86qSl%2Ffile.png?alt=media)

### Virtual Machine – Restore Points&#x20;

#### List of Restore Points&#x20;

Click the ‘Restore Points’ section of the virtual machine to view the list of Restore Points created.&#x20;

![](https://firebasestorage.googleapis.com/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-LoOW0tKkl3hfpWMgkVr-4262638340%2Fuploads%2FrtwE6mtF7kgC3aTMzmGe%2Ffile.png?alt=media)

#### Restore Backup&#x20;

Select one of the restore point of type ‘Full’ and click the ‘Restore’ command button.  The two types of restore operations are &#x20;

* Restore to Original Location&#x20;
* Restore to New Location&#x20;

‘Restore to Original Location’ will restore the backup to the same virtual machine.  ‘Restore to New Location’ will create a new virtual machine using the same server connection and restore the backup in it.&#x20;

![](https://firebasestorage.googleapis.com/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-LoOW0tKkl3hfpWMgkVr-4262638340%2Fuploads%2F8oK4kOBdpoglHUoXdEqn%2Ffile.png?alt=media)


# Creating a Service Request

### Service Request Creation&#x20;

* Click New > VConnect&#x20;
* Choose one of the service request commands.&#x20;
* Enter the values for the required parameters and click ‘Raise Request’&#x20;

![](https://firebasestorage.googleapis.com/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-LoOW0tKkl3hfpWMgkVr-4262638340%2Fuploads%2FfBvAdLONdrR2cjwm8LrS%2Ffile.png?alt=media)

![](https://firebasestorage.googleapis.com/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-LoOW0tKkl3hfpWMgkVr-4262638340%2Fuploads%2FinQ2mmPIxXMIQqKl8vrM%2Ffile.png?alt=media)

### View Deployment status of the Service Request&#x20;

In the Service Request extension, click the ‘Service Request’ section to view the status of the Service request being raised.&#x20;

![](https://firebasestorage.googleapis.com/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-LoOW0tKkl3hfpWMgkVr-4262638340%2Fuploads%2FOi5h3EqRwYsL4WxRHPnS%2Ffile.png?alt=media)


# Request Approval

Tenant user with Approver role can Approve or Deny a deployment request or service request, with the Request Management System enabled

* Navigate to VConnect Service Requests > My Approvals - Deployment Request Approvals to view the list of requests&#x20;

![](https://1412215776-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LoOW0tKkl3hfpWMgkVr%2F-MA5ESDToEVWB_AjgQjK%2F-MA5nbyWs3RyfKI4ZnKY%2Fimage.png?alt=media\&token=89fa4a52-dfe1-4ac8-b117-a78d5d7c3f18)

* Click on Response Options to approve or reject a request

![](https://1412215776-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LoOW0tKkl3hfpWMgkVr%2F-MA5ESDToEVWB_AjgQjK%2F-MA5nuh7A2wZwfms62xz%2Fimage.png?alt=media\&token=f094749b-3017-4e85-af44-3485c6e4c42b)


# Storage Services

VConnect Storage Services extension allows to create and manage the Shared Folders of external storage device.  (Note: Currently supports Dell EMC Isilon)&#x20;

![](https://1412215776-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LoOW0tKkl3hfpWMgkVr%2F-MA4kS-2GTDVzKFWr5oe%2F-MA4yevlado_WZx8LTZa%2Fimage.png?alt=media\&token=4acfcf24-21fb-454f-9015-79285c4fdf36)

### List Shared Folders&#x20;

* In the VConnect Storage Services extension, click the ‘Shared Folders’ section.&#x20;
* Select a subscription from the drop down to view the list of Shared Folders.&#x20;

![](https://1412215776-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LoOW0tKkl3hfpWMgkVr%2F-MA4kS-2GTDVzKFWr5oe%2F-MA5-O3gg5YGCzmtgWOs%2Fimage.png?alt=media\&token=20fb2ce4-1d09-45cb-b468-fe3d6b5c648d)

### Create a Shared Folder&#x20;

* In the VConnect Storage Services extension, click the ‘Shared Folders’ section.&#x20;
* Select a subscription.&#x20;
* Click the ‘Create’ command button.&#x20;
* Enter the name of the Shared Folder.&#x20;
* Enter the comma separated list of users to provide ReadOnly, ReadWrite accesses.&#x20;
* Enter the comma separated list of groups to provide ReadOnly, ReadWrite accesses.&#x20;
* Click ‘Create’ button&#x20;

![](https://1412215776-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LoOW0tKkl3hfpWMgkVr%2F-MA4kS-2GTDVzKFWr5oe%2F-MA5-EsoHZ09XNENeR4P%2Fimage.png?alt=media\&token=8671c540-ed59-4380-823c-873582464a70)

### Delete a Shared Folder&#x20;

* Select a Shared Folder and click ‘Delete’ button.&#x20;
* Enter the name of the Shared Folder.&#x20;
* Check the ‘Force Delete’ checkbox to recursively delete the files present inside the Shared Folder.&#x20;

![](https://1412215776-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LoOW0tKkl3hfpWMgkVr%2F-MA4kS-2GTDVzKFWr5oe%2F-MA5-b-yh4YDdE8CB8bi%2Fimage.png?alt=media\&token=c73bc129-6763-4471-a8ce-c8a42dde4fe7)

### Connect to a Shared Folder&#x20;

* Select a Shared Folder and click ‘Connect’ button from the Context menu.&#x20;

![](https://1412215776-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LoOW0tKkl3hfpWMgkVr%2F-MA4kS-2GTDVzKFWr5oe%2F-MA5-ikDvK8AKL714mc-%2Fimage.png?alt=media\&token=47dbf08e-0e86-4e88-be1b-9605fef3a876)

* To connect to the Shared Folder from a Windows machine, select a drive, copy and run the PowerShell command&#x20;
* To connect to the Shared Folder from a Linux machine, copy and run the command by replacing the mount point&#x20;

![](https://1412215776-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LoOW0tKkl3hfpWMgkVr%2F-MA4kS-2GTDVzKFWr5oe%2F-MA50lab0yN1avDe0rKY%2Fimage.png?alt=media\&token=9246659d-ec22-470b-be9a-016d2b3aa3be)


# Introduction

Cloud Assert VConnect for Microsoft Azure Stack is a resource management solution hybrid cloud. It is installed as resource provider in Azure Stack and provides integrated experience for admin and tenant users inside Azure Stack portal. It has integration with the following platforms,

* Microsoft Azure Stack
* VMWare
* System Center
* Dell EMC Isilon
* Dell EMC Data Domain
* Microsoft Azure
* AWS
* Veeam
* Commvault

## VConnect Resource Provider Architecture in Azure Stack

![](https://76080790-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LoOW0tKkl3hfpWMgkVr%2F-LoPJY0YLsmOJ_o_7Quf%2F-LoPJYmlxPxOOvEa6R0m%2Fimage.png?alt=media\&token=b27a0aa1-2c29-4f92-8161-8082735585ab)


# Prerequisites

#### Connection to a SQL server

* SQL Server name, in the format, **\<IP Address of the SQL Server>/\<Instance name>**
* SQL authenticated user credential
* Name of the VConnect database
* VConnect Database must be created prior to the deployment and it must be accessible from Azure Stack tenant network

#### Tenant Subscription

* ID of the Tenant Subscription where Cloud Assert components need to be deployed
* Tenant Subscription administrator account credentials
* A tenant subscription created from an Azure Stack Offer/Plan that includes Microsoft Compute, Storage and Network services with default quotas added
* Upon creating the tenant subscription, the Microsoft Compute, Storage and Network services need to be registered from the **Subscription > Resource Providers** blade in the Tenant portal

#### Certificate

* For integrated systems (i.e. multi-node), a .pfx certificate is required.  Refer to [PKI Certificate Requirements](/azure-stack-vconnect/2.1.12/installation/prerequisites/csr) for more details.
* For ASDK, certificate is generated as a part of the deployment.  Password for the .pfx certificate should not contain the following characters: ``^ ` ~ & % *``

#### Others

* Download **the Windows 2016 Datacenter** image from the marketplace through the Marketplace Management blade in the Admin portal
* Netbios name of the Azure Stack domain (On ASDK, the default is AzureStack)
* Azure Stack service Admin account credentials (Azure AD account)
  * Ensure if the service Admin account has **"Global Administrator"** role (Password should not contain the following characters ^ \` \~ & % \*)
* Azure Stack cloud administrator credential for Privileged endpoint access E.g., **\<Azure Stack domain>\cloudadmin** (Password should not contain the following characters ^ \` \~ & % \*)
* Install Azure PowerShell version with respect to Azure Stack Version ([Azure PowerShell](https://docs.microsoft.com/en-us/azure-stack/operator/azure-stack-powershell-install))
  * Ensure that Azure PowerShell version 1.6.0 is available for Azure stack version 1811, PowerShell version 1.7.0 for Azure stack version 1901 & 1902 and PowerShell version 1.7.1 for Azure Stack version 1904

**Dell EMC Isilon Integration**

* Applicable only for integration with Dell EMC Isilon as an attached storage inside Azure Stack Hub
* Azure Stack Hub border device / firewall, needs to have necessary configuration to allow access to Isilon endpoint
* VConnect RP is installed in tenant network, thus Isilon endpoint should be accessible from tenant network
* Validate the accessibility by accessing the Isilon endpoint from browser from tenant VM


# PKI Certificate Requirements

For multi-node integrated Azure Stack Hub systems, the Cloud Assert Resource Providers (RP) need their own PKI certificate during deployment with the appropriate DNS name.

## Certificate Requirements

The following list describes the certificate requirements that are needed to deploy Cloud Assert Resource Providers for Azure Stack Hub:

* Certificates must be issued from either an internal certificate authority or a public certificate authority. If a public certificate authority is used, it must be included in the base operating system image as part of the Microsoft Trusted Root Authority Program. For the full list, see [Microsoft Trusted Root Certificate Program: Participants](https://gallery.technet.microsoft.com/Trusted-Root-Certificate-123665ca).
* Your Azure Stack Hub infrastructure must have network access to the certificate authority's Certificate Revocation List (CRL) location published in the certificate. This CRL must be an http endpoint.
* The use of self-signed certificates aren't supported.
* For deployment and rotation, you can either use a Wildcard SSL certificate or a SAN certificate.
* The certificate's PFX Encryption should be 3DES.
* The certificate signature algorithm shouldn't be SHA1.
* The certificate format must be PFX, as both the public and private keys are required for Cloud Assert RP installation. The private key must have the local machine key attribute set.
* The PFX encryption must be 3DES (this encryption is default when exporting from a Windows 10 client or Windows Server 2016 certificate store).
* The certificate pfx files must have a value "Digital Signature" and "KeyEncipherment" in its "Key Usage" field.
* The certificate pfx files must have the values "Server Authentication (1.3.6.1.5.5.7.3.1)" and "Client Authentication (1.3.6.1.5.5.7.3.2)" in the "Enhanced Key Usage" field.
* The certificate's "Issued to:" field must not be the same as its "Issued by:" field.
* Password to the certificate pfx has to be a complex password. Make note of this password because you'll use it as a deployment parameter. The password must meet the following password complexity requirements:
  * A minimum length of eight characters.
  * At least three of the following characters: uppercase letter, lowercase letter, numbers from 0-9, alphabetical character that's not uppercase or lowercase, special characters except: ``^ ` ~ & % *``
* Ensure that the subject names and subject alternative names in the subject alternative name extension (x509v3\_config) match. The subject alternative name field lets you specify additional host names (websites, IP addresses, common names) to be protected by a single SSL certificate.
* Certificate with the appropriate DNS name is required. Each Cloud Assert RP endpoint's DNS name is expressed in the format: \<prefix>.\<region>.\<fqdn>
* For your deployment, the \[region] and \[externalfqdn] values must match the region and external domain names that you chose for your Azure Stack Hub system. As an example, if the region name was Redmond and the external domain name was contoso.com, the DNS names would have the format \<prefix>.redmond.contoso.com.
* The required certificate subject and subject alternative names (SAN) for the Cloud Assert RPs is: **\*.cloudassert.*****\<region>*****.*****\<fqdn>***

{% hint style="info" %}
Self-signed certificates aren't supported.

When deploying the Cloud Assert RP in an Azure Stack Hub stamp setup in disconnected mode it is recommended to use certificates issued by an enterprise certificate authority. This is important because clients accessing Cloud Assert RP endpoints must be able to contact the certificate revocation list (CRL).

The presence of Intermediary Certificate Authorities in a certificate's chain-of-trusts *is* supported.
{% endhint %}

## Generate Certificate Signing Request (CSR)

* Prerequisite Certificate Attributes

  * Region name
  * External fully qualified domain name (FQDN)
  * Subject (in the format below)

  **`"E=<email address>, C=<`**[**`two-letter ISO country code`**](https://www.iso.org/obp/ui/#search)**`>, O=<Organization Name>, L=<Location>, S=<State>, OU=<Organization Unit>, CN=*.cloudassert.<Azure Stack Hub External FQDN>"`**
* Generate the CSR in a machine with Windows 10 or Windows Server 2016 or later
* Create a request **.INF** file with the requisite certificate signing request information.
  * Sample INF files are available [here](/azure-stack-vconnect/2.1.12/installation/prerequisites/csr#more-information). For a Wildcard SSL certificate, refer to “CSR Template - Wildcard.inf”. For a SAN certificate, refer to “CSR Template - SAN.inf”.
  * If you are generating a Wildcard SSL certificate, update the Subject attribute in the sample INF file by replacing the placeholder text.
  * If you are generating a SAN certificate, update the Subject and szOID\_SUBJECT\_ALT\_NAME2 attributes in the sample INF file by replacing the placeholder text.
* Use the **certreq** utility to generate the CSR by following the command below. Ensure that you specify the output CSR request file (**.REQ**)

  **`certreq -New "<Path to input CSR INF file>" "<Path to output CSR REQ file>"`**
* Review the output CSR Request file by using an online CSR decoding utility (e.g., <https://www.sslshopper.com/csr-decoder.html>)
* Submit the **.REQ** file generated to your CA (either internal or public). Be sure that your CA generates certificates using your generated request that meet the [Certificate Requirements](/azure-stack-vconnect/2.1.12/installation/prerequisites/csr#certificate-requirements) described section above.

## More Information

{% file src="/files/-M3\_H7iHMZj53nkzJpml" %}
Sample CSR Templates
{% endfile %}

## Additional Reference

For more information on PKI certificate requirements for Azure Stack Hub, refer to <https://docs.microsoft.com/en-us/azure-stack/operator/azure-stack-pki-certs> on the Microsoft Azure Stack Hub documentation website.


# Deployment


# Installation

* Sign in to a host that can access the privileged endpoint VM.&#x20;
  * On Azure Stack Development Kit installations, sign in to the physical host.&#x20;
  * On multi-node systems, the host must be a system that can access the privileged endpoint.&#x20;
* Unblock the VConnect resource provider .zip file and extract the contents to a temporary directory using any extractor tool
* Place the generated .pfx file in the DependencyFilesLocalPath as follows:&#x20;
  * Only a single certificate file exists in the DependencyFilesLocalPath&#x20;
  * The file name must not contain any special characters.
  * The certificate must be placed in the DependencyFilesLocalPath before retrying the deployment
* Edit the InstallVConnect.ps1 script with the account information and passwords as needed by the script.
* Open a new elevated (administrative) PowerShell console and change to the directory where the files have been extracted. Use a new window to avoid problems that might arise from incorrect PowerShell modules that are already loaded on the system.&#x20;
* Run InstallVConnect.ps1 script

NOTE: The system where the script is being run must be a Windows 10 or Windows Server 2016 system with the latest version of the .NET runtime installed.

## Verifying the Deployment in Azure Stack Portals

* In Admin Portal, click on Resource Groups. Then select the **system.\<location>.cloudassert.vconnect** resource group and verify if the deployment succeeded.
* In Tenant Portal, click on Resource Groups. Then select the **system.\<location>.cloudassert.vconnect.rp** resource group and verify if the deployment succeeded.


# License Activation

* Login to the VConnect Resource Provider Virtual Machine.
* Open a **new** elevated (administrative) PowerShell console and change to the directory “C:\Packages\Plugins\Microsoft.Powershell.DSC\2.19.0.0\DSCWork\setupVConnectConfiguratio n.0\AzureStack.VConnect.Setup.1.0.0\content\Setup”
* Run ActivateLicense.ps1 script and specify the required parameters.

| Parameter name | Description                              | Comment or default value |
| -------------- | ---------------------------------------- | ------------------------ |
| **LicenseKey** | Unique identifier of the License         | *Required*               |
| **EmailId**    | Email Id that is mapped with the License | *Required*               |

* Copy the generated **License.cal** file to the location “C:\inetpub\MgmtSvc-CloudAssertVConnect\bin”
* Recycle the IIS application pool for the site **MgmtSvc-CloudAssert-VConnect**
* In Admin Portal, click **VConnect> License** blade to see the licensed features and quotas

![](https://76080790-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LoOW0tKkl3hfpWMgkVr%2F-LoPWDf9Z2ZZ7H9xCe0T%2F-LoPWEqatNnfuC9U8UKn%2Fimage.png?alt=media\&token=e8416c44-88de-4af9-a1c8-eb238e20062f)


# Add the service to Azure Stack Plan

## Creating a VConnect Quota

* In Admin portal, click **VConnect** extension
* Click Quotas > Add
* Enter a name for the Quota
* Configure the connections, quotas and tenant operations
* Click ‘Save’

![](https://76080790-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LoOW0tKkl3hfpWMgkVr%2F-LoP_9IgCSlfRVLNvV66%2F-LoP_e-6QZu51WuVbeG5%2Fimage.png?alt=media\&token=67a1ed1e-4fb5-4692-a16e-fbb5257956dc)

![](https://76080790-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LoOW0tKkl3hfpWMgkVr%2F-LoP_9IgCSlfRVLNvV66%2F-LoP_g_MKJ7y-4oI6ksH%2Fimage.png?alt=media\&token=e4071e10-4b8d-40b9-9015-e8fedc80f074)

![](https://76080790-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LoOW0tKkl3hfpWMgkVr%2F-LoP_9IgCSlfRVLNvV66%2F-LoP_xG-GrB7kGR_45zl%2Fimage.png?alt=media\&token=ed7dc454-b39b-469e-9149-ff655e59b91e)

## Creating a Plan with VConnect Service

* In the Admin Portal, click Plans extension
* Choose an existing plan or create a new plan

![](https://76080790-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LoOW0tKkl3hfpWMgkVr%2F-LoP_9IgCSlfRVLNvV66%2F-LoPaB0Jd4AQ08ngDNMh%2Fimage.png?alt=media\&token=2d4338d1-5188-47ce-810b-9a481f451c31)

* Click Service and quotas > Add

![](https://76080790-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LoOW0tKkl3hfpWMgkVr%2F-LoP_9IgCSlfRVLNvV66%2F-LoPaL3sNxOf0fKyMP4W%2Fimage.png?alt=media\&token=144b3963-9572-489c-b492-2d3b54ccb584)

* Choose **CloudAssert.VConnect** under Services

![](https://76080790-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LoOW0tKkl3hfpWMgkVr%2F-LoP_9IgCSlfRVLNvV66%2F-LoParM72hZKfFd3j55D%2Fimage.png?alt=media\&token=87d83789-785b-465d-a8ab-eb9e36a293d7)

* Click Quotas > CloudAssert.VConnect and choose the VConnect quota from the list displayed&#x20;

![](https://76080790-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LoOW0tKkl3hfpWMgkVr%2F-LoP_9IgCSlfRVLNvV66%2F-LoPanyKz0QVec0xC14C%2Fimage.png?alt=media\&token=3a363330-de0e-4a7f-9472-b300fac9e53c)

## Creating an Offer

* In the Admin Portal, click Offers extension
* Create an offer or choose an existing offer
* Click Base plans > Add
* Select a plan with VConnect service added to it

![](https://76080790-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LoOW0tKkl3hfpWMgkVr%2F-LoP_9IgCSlfRVLNvV66%2F-LoPbM5Q71tpyUm3M5_O%2Fimage.png?alt=media\&token=622056e0-fed1-4777-91f3-8f604137c819)

## Registering VConnect service for a User Subscription

* In the Tenant Portal, click Subscriptions extension
* Select a VConnect enabled subscription
* Click ‘Resource Providers’&#x20;
* Click register link for the CloudAssert.VConnect service&#x20;

![](https://76080790-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LoOW0tKkl3hfpWMgkVr%2F-LoP_9IgCSlfRVLNvV66%2F-LoPbhaOtCEI5EToc94d%2Fimage.png?alt=media\&token=d964f6ba-7204-48aa-bd00-26597212d380)


# Remove VConnect Resource Provider

To remove the resource provider, it is essential to first remove any dependencies

* Ensure that the original deployment package that is downloaded for this version of the VConnect resource provider
* The administrator must delete any plans that reference the VConnect resource provider.&#x20;
* The administrator must delete any quotas that are associated with the VConnect resource provider.
* Rerun the deployment script with the following elements:&#x20;
  * The -Uninstall parameter&#x20;
  * The credentials for the service administrator account&#x20;
  * The credentials for the service tenant account


# Steps for version update

### Pre-uninstall steps

* Take a backup of Cloud Assert VConnect database
* Take a backup copy of the following files

| File Name   | File Path                                     |
| ----------- | --------------------------------------------- |
| Web.config  | C:\inetpub\MgmtSvc-CloudAssert-VConnect       |
| License.cal | C:\inetpub\MgmtSvc-CloudAssert-VConnect\bin   |
| Web.config  | C:\inetpub\AzureStack-VConnectAdminExtension  |
| Web.config  | C:\inetpub\AzureStack-VConnectRP              |
| Web.config  | C:\inetpub\AzureStack-VConnectTenantExtension |

### Uninstallation steps

* Uninstall the VConnect service from Control Panel > Programs and features > Uninstall a program

### Installation steps

* Extract the VConnect installers to a location.
* Install the VConnect Service using ‘CloudAssert.WAP.VConnect.Service.Setup.msi’ installer ➢ Open a new command prompt as administrator.
* Change the directory to the AdminExtension folder and run the command **“CloudAssert.AzureStack.VConnect.Extension.Admin.deploy.cmd /y”**
* Change the directory to the TenantExtension folder and run the command **“CloudAssert.AzureStack.VConnect.Extension.Tenant.deploy.cmd /y”**
* Change the directory to the RPWeb folder and run the command **“CloudAssert.AzureStack.VConnect.RP.Web.deploy.cmd /y”**

### Post-installation steps

* Replace the web.config files with the backed-up copies.
* Update the database using VConnect tool.
  * Open a powershell window
  * Navigate to the location of the VConnect tool
  * Run the below command by replacing the necessary values to update the database settings

`.\VCONNECT.EXE UpdateDatabaseSettings <serverName> <databaseName> <userName> <password> [/isUseIntegratedSecurity] [/VConnectApiEndpoint:<String>] [/VConnectApiUserName:<String>] [/VConnectApiPassword:<String>]`

* Recycle the IIS application pool for the following sites.
  * AzureStack-VConnectAdminExtension&#x20;
  * AzureStack-VConnectRP
  * AzureStack-VConnectTenantExtension
  * MgmtSvc-CloudAssert-VConnect


# Release Notes


# 2.1.8.4

* Supports Microsoft Azure Stack version 1906, 1907 and 1908&#x20;
* The Cloud assert VConnect resource provider for Microsoft Azure Stack was tested against 1906, 1907 and 1908&#x20;
* Improvements and bug fixes to Request management module
* Bug fixes on VMWare resource management workflows

&#x20;If you have any questions /face issues with the release, please write to <support@cloudassert.com>


# 2.1.12

* Supports Microsoft Azure Stack versions 1908 and 1910
* Ability for tenants to connect System Center and vCenter Virtual Machines via Browser, now users can connect their Virtual Machines in System center and vCenter via browser using Guacamole
* Bug fixes

&#x20;If you have any questions /face issues with the release, please write to <support@cloudassert.com>


# Introduction

Cloud Assert VConnect for Microsoft Azure Stack is a resource management solution hybrid cloud. It is installed as resource provider in Azure Stack and provides integrated experience for admin and tenant users inside Azure Stack portal. It has integration with the following platforms,

* Microsoft Azure Stack
* VMWare
* System Center
* Dell EMC Isilon
* Dell EMC Data Domain
* Microsoft Azure
* AWS
* Veeam
* Commvault

## VConnect Resource Provider Architecture in Azure Stack

![](https://3894391843-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LoOW0tKkl3hfpWMgkVr%2F-LoPJY0YLsmOJ_o_7Quf%2F-LoPJYmlxPxOOvEa6R0m%2Fimage.png?alt=media\&token=b27a0aa1-2c29-4f92-8161-8082735585ab)


# Prerequisites

#### Tenant Subscription

* ID of the Tenant Subscription where Cloud Assert components need to be deployed
* Tenant Subscription administrator account credentials
* A tenant subscription created from an Azure Stack Offer/Plan that includes Microsoft Compute, Storage and Network services with default quotas added
* Upon creating the tenant subscription, the Microsoft Compute, Storage and Network services need to be registered from the **Subscription > Resource Providers** blade in the Tenant portal

#### Certificate

* For integrated systems (i.e. multi-node), a .pfx certificate with the following domain, along with the certificate chain (i.e., root authority and any intermediate authorities):  **\*.cloudassert.\<Azure Stack region>.\<Azure Stack external FQDN>** should be procured from a public authority.
* For ASDK, certificate is generated as a part of the deployment.
* Password for the .pfx certificate (Password should not contain the following characters ^ \` \~ & % \*)

#### Others

* Download **the Windows 2016 Datacenter** image from the marketplace through the Marketplace Management blade in the Admin portal
* Netbios name of the Azure Stack domain (On ASDK, the default is AzureStack)
* Azure Stack service Admin account credentials (Azure AD account)
  * Ensure if the service Admin account has **"Global Administrator"** role (Password should not contain the following characters ^ \` \~ & % \*)
* Azure Stack cloud administrator credential for Privileged endpoint access E.g., **\<Azure Stack domain>\cloudadmin** (Password should not contain the following characters ^ \` \~ & % \*)
* Install Azure PowerShell version with respect to Azure Stack Version ([Azure PowerShell](https://docs.microsoft.com/en-us/azure-stack/operator/azure-stack-powershell-install))
  * Ensure that Azure PowerShell version 1.6.0 is available for Azure stack version 1811, PowerShell version 1.7.0 for Azure stack version 1901 & 1902 and PowerShell version 1.7.1 for Azure Stack version 1904


# Deployment


# Installation

* Sign in to a host that can access the privileged endpoint VM.&#x20;
  * On Azure Stack Development Kit installations, sign in to the physical host.&#x20;
  * On multi-node systems, the host must be a system that can access the privileged endpoint.&#x20;
* Unblock the VConnect resource provider .zip file and extract the contents to a temporary directory using any extractor tool
* Place the generated .pfx file in the DependencyFilesLocalPath as follows:&#x20;
  * Only a single certificate file exists in the DependencyFilesLocalPath&#x20;
  * The file name must not contain any special characters.
  * The certificate must be placed in the DependencyFilesLocalPath before retrying the deployment
* Edit the InstallVConnect.ps1 script with the account information and passwords as needed by the script.
* Open a new elevated (administrative) PowerShell console and change to the directory where the files have been extracted. Use a new window to avoid problems that might arise from incorrect PowerShell modules that are already loaded on the system.&#x20;
* Run InstallVConnect.ps1 script

NOTE: The system where the script is being run must be a Windows 10 or Windows Server 2016 system with the latest version of the .NET runtime installed.

## Verifying the Deployment in Azure Stack Portals

* In Admin Portal, click on Resource Groups. Then select the **system.\<location>.cloudassert.vconnect** resource group and verify if the deployment succeeded.
* In Tenant Portal, click on Resource Groups. Then select the **system.\<location>.cloudassert.vconnect.rp** resource group and verify if the deployment succeeded.


# License Activation

* Login to the VConnect Resource Provider Virtual Machine.
* Open a **new** elevated (administrative) PowerShell console and change to the directory “C:\Packages\Plugins\Microsoft.Powershell.DSC\2.19.0.0\DSCWork\setupVConnectConfiguratio n.0\AzureStack.VConnect.Setup.1.0.0\content\Setup”
* Run ActivateLicense.ps1 script and specify the required parameters.

| Parameter name | Description                              | Comment or default value |
| -------------- | ---------------------------------------- | ------------------------ |
| **LicenseKey** | Unique identifier of the License         | *Required*               |
| **EmailId**    | Email Id that is mapped with the License | *Required*               |

* Copy the generated **License.cal** file to the location “C:\inetpub\MgmtSvc-CloudAssertVConnect\bin”
* Recycle the IIS application pool for the site **MgmtSvc-CloudAssert-VConnect**
* In Admin Portal, click **VConnect> License** blade to see the licensed features and quotas

![](https://3894391843-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LoOW0tKkl3hfpWMgkVr%2F-LoPWDf9Z2ZZ7H9xCe0T%2F-LoPWEqatNnfuC9U8UKn%2Fimage.png?alt=media\&token=e8416c44-88de-4af9-a1c8-eb238e20062f)


# Add the service to Azure Stack Plan

## Creating a VConnect Quota

* In Admin portal, click **VConnect** extension
* Click Quotas > Add
* Enter a name for the Quota
* Configure the connections, quotas and tenant operations
* Click ‘Save’

![](https://3894391843-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LoOW0tKkl3hfpWMgkVr%2F-LoP_9IgCSlfRVLNvV66%2F-LoP_e-6QZu51WuVbeG5%2Fimage.png?alt=media\&token=67a1ed1e-4fb5-4692-a16e-fbb5257956dc)

![](https://3894391843-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LoOW0tKkl3hfpWMgkVr%2F-LoP_9IgCSlfRVLNvV66%2F-LoP_g_MKJ7y-4oI6ksH%2Fimage.png?alt=media\&token=e4071e10-4b8d-40b9-9015-e8fedc80f074)

![](https://3894391843-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LoOW0tKkl3hfpWMgkVr%2F-LoP_9IgCSlfRVLNvV66%2F-LoP_xG-GrB7kGR_45zl%2Fimage.png?alt=media\&token=ed7dc454-b39b-469e-9149-ff655e59b91e)

## Creating a Plan with VConnect Service

* In the Admin Portal, click Plans extension
* Choose an existing plan or create a new plan

![](https://3894391843-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LoOW0tKkl3hfpWMgkVr%2F-LoP_9IgCSlfRVLNvV66%2F-LoPaB0Jd4AQ08ngDNMh%2Fimage.png?alt=media\&token=2d4338d1-5188-47ce-810b-9a481f451c31)

* Click Service and quotas > Add

![](https://3894391843-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LoOW0tKkl3hfpWMgkVr%2F-LoP_9IgCSlfRVLNvV66%2F-LoPaL3sNxOf0fKyMP4W%2Fimage.png?alt=media\&token=144b3963-9572-489c-b492-2d3b54ccb584)

* Choose **CloudAssert.VConnect** under Services

![](https://3894391843-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LoOW0tKkl3hfpWMgkVr%2F-LoP_9IgCSlfRVLNvV66%2F-LoParM72hZKfFd3j55D%2Fimage.png?alt=media\&token=87d83789-785b-465d-a8ab-eb9e36a293d7)

* Click Quotas > CloudAssert.VConnect and choose the VConnect quota from the list displayed&#x20;

![](https://3894391843-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LoOW0tKkl3hfpWMgkVr%2F-LoP_9IgCSlfRVLNvV66%2F-LoPanyKz0QVec0xC14C%2Fimage.png?alt=media\&token=3a363330-de0e-4a7f-9472-b300fac9e53c)

## Creating an Offer

* In the Admin Portal, click Offers extension
* Create an offer or choose an existing offer
* Click Base plans > Add
* Select a plan with VConnect service added to it

![](https://3894391843-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LoOW0tKkl3hfpWMgkVr%2F-LoP_9IgCSlfRVLNvV66%2F-LoPbM5Q71tpyUm3M5_O%2Fimage.png?alt=media\&token=622056e0-fed1-4777-91f3-8f604137c819)

## Registering VConnect service for a User Subscription

* In the Tenant Portal, click Subscriptions extension
* Select a VConnect enabled subscription
* Click ‘Resource Providers’&#x20;
* Click register link for the CloudAssert.VConnect service&#x20;

![](https://3894391843-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LoOW0tKkl3hfpWMgkVr%2F-LoP_9IgCSlfRVLNvV66%2F-LoPbhaOtCEI5EToc94d%2Fimage.png?alt=media\&token=d964f6ba-7204-48aa-bd00-26597212d380)


# Remove VConnect Resource Provider

To remove the resource provider, it is essential to first remove any dependencies

* Ensure that the original deployment package that is downloaded for this version of the VConnect resource provider
* The administrator must delete any plans that reference the VConnect resource provider.&#x20;
* The administrator must delete any quotas that are associated with the VConnect resource provider.
* Rerun the deployment script with the following elements:&#x20;
  * The -Uninstall parameter&#x20;
  * The credentials for the service administrator account&#x20;
  * The credentials for the service tenant account


# Steps for version update

### Pre-uninstall steps

* Take a backup of Cloud Assert VConnect database
* Take a backup copy of the following files

| File Name   | File Path                                     |
| ----------- | --------------------------------------------- |
| Web.config  | C:\inetpub\MgmtSvc-CloudAssert-VConnect       |
| License.cal | C:\inetpub\MgmtSvc-CloudAssert-VConnect\bin   |
| Web.config  | C:\inetpub\AzureStack-VConnectAdminExtension  |
| Web.config  | C:\inetpub\AzureStack-VConnectRP              |
| Web.config  | C:\inetpub\AzureStack-VConnectTenantExtension |

### Uninstallation steps

* Uninstall the VConnect service from Control Panel > Programs and features > Uninstall a program

### Installation steps

* Extract the VConnect installers to a location.
* Install the VConnect Service using ‘CloudAssert.WAP.VConnect.Service.Setup.msi’ installer ➢ Open a new command prompt as administrator.
* Change the directory to the AdminExtension folder and run the command **“CloudAssert.AzureStack.VConnect.Extension.Admin.deploy.cmd /y”**
* Change the directory to the TenantExtension folder and run the command **“CloudAssert.AzureStack.VConnect.Extension.Tenant.deploy.cmd /y”**
* Change the directory to the RPWeb folder and run the command **“CloudAssert.AzureStack.VConnect.RP.Web.deploy.cmd /y”**

### Post-installation steps

* Replace the web.config files with the backed-up copies.
* Update the database using VConnect tool.
  * Open a powershell window
  * Navigate to the location of the VConnect tool
  * Run the below command by replacing the necessary values to update the database settings

`.\VCONNECT.EXE UpdateDatabaseSettings <serverName> <databaseName> <userName> <password> [/isUseIntegratedSecurity] [/VConnectApiEndpoint:<String>] [/VConnectApiUserName:<String>] [/VConnectApiPassword:<String>]`

* Recycle the IIS application pool for the following sites.
  * AzureStack-VConnectAdminExtension&#x20;
  * AzureStack-VConnectRP
  * AzureStack-VConnectTenantExtension
  * MgmtSvc-CloudAssert-VConnect


# Introduction

Cloud Assert VConnect for Microsoft Azure Stack is a resource management solution hybrid cloud. It is installed as resource provider in Azure Stack and provides integrated experience for admin and tenant users inside Azure Stack portal. It has integration with the following platforms,

* Microsoft Azure Stack
* VMWare
* System Center
* Dell EMC Isilon
* Dell EMC Data Domain
* Microsoft Azure
* AWS
* Veeam
* Commvault

## VConnect Resource Provider Architecture in Azure Stack

![](https://1114766744-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LoOW0tKkl3hfpWMgkVr%2F-LoPJY0YLsmOJ_o_7Quf%2F-LoPJYmlxPxOOvEa6R0m%2Fimage.png?alt=media\&token=b27a0aa1-2c29-4f92-8161-8082735585ab)


# Prerequisites

#### Connection to a SQL server

* SQL Server name, in the format, **\<IP Address of the SQL Server>/\<Instance name>**
* SQL authenticated user credential
* Name of the VConnect database
* VConnect Database must be created prior to the deployment and it must be accessible from Azure Stack tenant network

#### Tenant Subscription

* ID of the Tenant Subscription where Cloud Assert components need to be deployed
* Tenant Subscription administrator account credentials
* A tenant subscription created from an Azure Stack Offer/Plan that includes Microsoft Compute, Storage and Network services with default quotas added
* Upon creating the tenant subscription, the Microsoft Compute, Storage and Network services need to be registered from the **Subscription > Resource Providers** blade in the Tenant portal

#### Certificate

* For integrated systems (i.e. multi-node), a .pfx certificate is required.  Refer to [PKI Certificate Requirements](/azure-stack-vconnect/2.1.8.4/installation/prerequisites/csr) for more details.
* For ASDK, certificate is generated as a part of the deployment.  Password for the .pfx certificate should not contain the following characters: ``^ ` ~ & % *``

#### Others

* Download **the Windows 2016 Datacenter** image from the marketplace through the Marketplace Management blade in the Admin portal
* Netbios name of the Azure Stack domain (On ASDK, the default is AzureStack)
* Azure Stack service Admin account credentials (Azure AD account)
  * Ensure if the service Admin account has **"Global Administrator"** role (Password should not contain the following characters ^ \` \~ & % \*)
* Azure Stack cloud administrator credential for Privileged endpoint access E.g., **\<Azure Stack domain>\cloudadmin** (Password should not contain the following characters ^ \` \~ & % \*)
* Install Azure PowerShell version with respect to Azure Stack Version ([Azure PowerShell](https://docs.microsoft.com/en-us/azure-stack/operator/azure-stack-powershell-install))
  * Ensure that Azure PowerShell version 1.6.0 is available for Azure stack version 1811, PowerShell version 1.7.0 for Azure stack version 1901 & 1902 and PowerShell version 1.7.1 for Azure Stack version 1904

**Dell EMC Isilon Integration**

* Applicable only for integration with Dell EMC Isilon as an attached storage inside Azure Stack Hub
* Azure Stack Hub border device / firewall, needs to have necessary configuration to allow access to Isilon endpoint
* VConnect RP is installed in tenant network, thus Isilon endpoint should be accessible from tenant network
* Validate the accessibility by accessing the Isilon endpoint from browser from tenant VM


# PKI Certificate Requirements

For multi-node integrated Azure Stack Hub systems, the Cloud Assert Resource Providers (RP) need their own PKI certificate during deployment with the appropriate DNS name.

## Certificate Requirements

The following list describes the certificate requirements that are needed to deploy Cloud Assert Resource Providers for Azure Stack Hub:

* Certificates must be issued from either an internal certificate authority or a public certificate authority. If a public certificate authority is used, it must be included in the base operating system image as part of the Microsoft Trusted Root Authority Program. For the full list, see [Microsoft Trusted Root Certificate Program: Participants](https://gallery.technet.microsoft.com/Trusted-Root-Certificate-123665ca).
* Your Azure Stack Hub infrastructure must have network access to the certificate authority's Certificate Revocation List (CRL) location published in the certificate. This CRL must be an http endpoint.
* The use of self-signed certificates aren't supported.
* For deployment and rotation, you can either use a Wildcard SSL certificate or a SAN certificate.
* The certificate's PFX Encryption should be 3DES.
* The certificate signature algorithm shouldn't be SHA1.
* The certificate format must be PFX, as both the public and private keys are required for Cloud Assert RP installation. The private key must have the local machine key attribute set.
* The PFX encryption must be 3DES (this encryption is default when exporting from a Windows 10 client or Windows Server 2016 certificate store).
* The certificate pfx files must have a value "Digital Signature" and "KeyEncipherment" in its "Key Usage" field.
* The certificate pfx files must have the values "Server Authentication (1.3.6.1.5.5.7.3.1)" and "Client Authentication (1.3.6.1.5.5.7.3.2)" in the "Enhanced Key Usage" field.
* The certificate's "Issued to:" field must not be the same as its "Issued by:" field.
* Password to the certificate pfx has to be a complex password. Make note of this password because you'll use it as a deployment parameter. The password must meet the following password complexity requirements:
  * A minimum length of eight characters.
  * At least three of the following characters: uppercase letter, lowercase letter, numbers from 0-9, alphabetical character that's not uppercase or lowercase, special characters except: ``^ ` ~ & % *``
* Ensure that the subject names and subject alternative names in the subject alternative name extension (x509v3\_config) match. The subject alternative name field lets you specify additional host names (websites, IP addresses, common names) to be protected by a single SSL certificate.
* Certificate with the appropriate DNS name is required. Each Cloud Assert RP endpoint's DNS name is expressed in the format: \<prefix>.\<region>.\<fqdn>
* For your deployment, the \[region] and \[externalfqdn] values must match the region and external domain names that you chose for your Azure Stack Hub system. As an example, if the region name was Redmond and the external domain name was contoso.com, the DNS names would have the format \<prefix>.redmond.contoso.com.
* The required certificate subject and subject alternative names (SAN) for the Cloud Assert RPs is: **\*.cloudassert.*****\<region>*****.*****\<fqdn>***

{% hint style="info" %}
Self-signed certificates aren't supported.

When deploying the Cloud Assert RP in an Azure Stack Hub stamp setup in disconnected mode it is recommended to use certificates issued by an enterprise certificate authority. This is important because clients accessing Cloud Assert RP endpoints must be able to contact the certificate revocation list (CRL).

The presence of Intermediary Certificate Authorities in a certificate's chain-of-trusts *is* supported.
{% endhint %}

## Generate Certificate Signing Request (CSR)

* Prerequisite Certificate Attributes

  * Region name
  * External fully qualified domain name (FQDN)
  * Subject (in the format below)

  **`"E=<email address>, C=<`**[**`two-letter ISO country code`**](https://www.iso.org/obp/ui/#search)**`>, O=<Organization Name>, L=<Location>, S=<State>, OU=<Organization Unit>, CN=*.cloudassert.<Azure Stack Hub External FQDN>"`**
* Generate the CSR in a machine with Windows 10 or Windows Server 2016 or later
* Create a request **.INF** file with the requisite certificate signing request information.
  * Sample INF files are available [here](/azure-stack-vconnect/2.1.8.4/installation/prerequisites/csr#more-information). For a Wildcard SSL certificate, refer to “CSR Template - Wildcard.inf”. For a SAN certificate, refer to “CSR Template - SAN.inf”.
  * If you are generating a Wildcard SSL certificate, update the Subject attribute in the sample INF file by replacing the placeholder text.
  * If you are generating a SAN certificate, update the Subject and szOID\_SUBJECT\_ALT\_NAME2 attributes in the sample INF file by replacing the placeholder text.
* Use the **certreq** utility to generate the CSR by following the command below. Ensure that you specify the output CSR request file (**.REQ**)

  **`certreq -New "<Path to input CSR INF file>" "<Path to output CSR REQ file>"`**
* Review the output CSR Request file by using an online CSR decoding utility (e.g., <https://www.sslshopper.com/csr-decoder.html>)
* Submit the **.REQ** file generated to your CA (either internal or public). Be sure that your CA generates certificates using your generated request that meet the [Certificate Requirements](/azure-stack-vconnect/2.1.8.4/installation/prerequisites/csr#certificate-requirements) described section above.

## More Information

{% file src="/files/-M3\_H7iHMZj53nkzJpml" %}
Sample CSR Templates
{% endfile %}

## Additional Reference

For more information on PKI certificate requirements for Azure Stack Hub, refer to <https://docs.microsoft.com/en-us/azure-stack/operator/azure-stack-pki-certs> on the Microsoft Azure Stack Hub documentation website.


# Deployment


# Installation

* Sign in to a host that can access the privileged endpoint VM.&#x20;
  * On Azure Stack Development Kit installations, sign in to the physical host.&#x20;
  * On multi-node systems, the host must be a system that can access the privileged endpoint.&#x20;
* Unblock the VConnect resource provider .zip file and extract the contents to a temporary directory using any extractor tool
* Place the generated .pfx file in the DependencyFilesLocalPath as follows:&#x20;
  * Only a single certificate file exists in the DependencyFilesLocalPath&#x20;
  * The file name must not contain any special characters.
  * The certificate must be placed in the DependencyFilesLocalPath before retrying the deployment
* Edit the InstallVConnect.ps1 script with the account information and passwords as needed by the script.
* Open a new elevated (administrative) PowerShell console and change to the directory where the files have been extracted. Use a new window to avoid problems that might arise from incorrect PowerShell modules that are already loaded on the system.&#x20;
* Run InstallVConnect.ps1 script

NOTE: The system where the script is being run must be a Windows 10 or Windows Server 2016 system with the latest version of the .NET runtime installed.

## Verifying the Deployment in Azure Stack Portals

* In Admin Portal, click on Resource Groups. Then select the **system.\<location>.cloudassert.vconnect** resource group and verify if the deployment succeeded.
* In Tenant Portal, click on Resource Groups. Then select the **system.\<location>.cloudassert.vconnect.rp** resource group and verify if the deployment succeeded.


# License Activation

* Login to the VConnect Resource Provider Virtual Machine.
* Open a **new** elevated (administrative) PowerShell console and change to the directory “C:\Packages\Plugins\Microsoft.Powershell.DSC\2.19.0.0\DSCWork\setupVConnectConfiguratio n.0\AzureStack.VConnect.Setup.1.0.0\content\Setup”
* Run ActivateLicense.ps1 script and specify the required parameters.

| Parameter name | Description                              | Comment or default value |
| -------------- | ---------------------------------------- | ------------------------ |
| **LicenseKey** | Unique identifier of the License         | *Required*               |
| **EmailId**    | Email Id that is mapped with the License | *Required*               |

* Copy the generated **License.cal** file to the location “C:\inetpub\MgmtSvc-CloudAssertVConnect\bin”
* Recycle the IIS application pool for the site **MgmtSvc-CloudAssert-VConnect**
* In Admin Portal, click **VConnect> License** blade to see the licensed features and quotas

![](https://1114766744-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LoOW0tKkl3hfpWMgkVr%2F-LoPWDf9Z2ZZ7H9xCe0T%2F-LoPWEqatNnfuC9U8UKn%2Fimage.png?alt=media\&token=e8416c44-88de-4af9-a1c8-eb238e20062f)


# Add the service to Azure Stack Plan

## Creating a VConnect Quota

* In Admin portal, click **VConnect** extension
* Click Quotas > Add
* Enter a name for the Quota
* Configure the connections, quotas and tenant operations
* Click ‘Save’

![](https://1114766744-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LoOW0tKkl3hfpWMgkVr%2F-LoP_9IgCSlfRVLNvV66%2F-LoP_e-6QZu51WuVbeG5%2Fimage.png?alt=media\&token=67a1ed1e-4fb5-4692-a16e-fbb5257956dc)

![](https://1114766744-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LoOW0tKkl3hfpWMgkVr%2F-LoP_9IgCSlfRVLNvV66%2F-LoP_g_MKJ7y-4oI6ksH%2Fimage.png?alt=media\&token=e4071e10-4b8d-40b9-9015-e8fedc80f074)

![](https://1114766744-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LoOW0tKkl3hfpWMgkVr%2F-LoP_9IgCSlfRVLNvV66%2F-LoP_xG-GrB7kGR_45zl%2Fimage.png?alt=media\&token=ed7dc454-b39b-469e-9149-ff655e59b91e)

## Creating a Plan with VConnect Service

* In the Admin Portal, click Plans extension
* Choose an existing plan or create a new plan

![](https://1114766744-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LoOW0tKkl3hfpWMgkVr%2F-LoP_9IgCSlfRVLNvV66%2F-LoPaB0Jd4AQ08ngDNMh%2Fimage.png?alt=media\&token=2d4338d1-5188-47ce-810b-9a481f451c31)

* Click Service and quotas > Add

![](https://1114766744-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LoOW0tKkl3hfpWMgkVr%2F-LoP_9IgCSlfRVLNvV66%2F-LoPaL3sNxOf0fKyMP4W%2Fimage.png?alt=media\&token=144b3963-9572-489c-b492-2d3b54ccb584)

* Choose **CloudAssert.VConnect** under Services

![](https://1114766744-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LoOW0tKkl3hfpWMgkVr%2F-LoP_9IgCSlfRVLNvV66%2F-LoParM72hZKfFd3j55D%2Fimage.png?alt=media\&token=87d83789-785b-465d-a8ab-eb9e36a293d7)

* Click Quotas > CloudAssert.VConnect and choose the VConnect quota from the list displayed&#x20;

![](https://1114766744-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LoOW0tKkl3hfpWMgkVr%2F-LoP_9IgCSlfRVLNvV66%2F-LoPanyKz0QVec0xC14C%2Fimage.png?alt=media\&token=3a363330-de0e-4a7f-9472-b300fac9e53c)

## Creating an Offer

* In the Admin Portal, click Offers extension
* Create an offer or choose an existing offer
* Click Base plans > Add
* Select a plan with VConnect service added to it

![](https://1114766744-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LoOW0tKkl3hfpWMgkVr%2F-LoP_9IgCSlfRVLNvV66%2F-LoPbM5Q71tpyUm3M5_O%2Fimage.png?alt=media\&token=622056e0-fed1-4777-91f3-8f604137c819)

## Registering VConnect service for a User Subscription

* In the Tenant Portal, click Subscriptions extension
* Select a VConnect enabled subscription
* Click ‘Resource Providers’&#x20;
* Click register link for the CloudAssert.VConnect service&#x20;

![](https://1114766744-files.gitbook.io/~/files/v0/b/gitbook-legacy-files/o/assets%2F-LoOW0tKkl3hfpWMgkVr%2F-LoP_9IgCSlfRVLNvV66%2F-LoPbhaOtCEI5EToc94d%2Fimage.png?alt=media\&token=d964f6ba-7204-48aa-bd00-26597212d380)


# Remove VConnect Resource Provider

To remove the resource provider, it is essential to first remove any dependencies

* Ensure that the original deployment package that is downloaded for this version of the VConnect resource provider
* The administrator must delete any plans that reference the VConnect resource provider.&#x20;
* The administrator must delete any quotas that are associated with the VConnect resource provider.
* Rerun the deployment script with the following elements:&#x20;
  * The -Uninstall parameter&#x20;
  * The credentials for the service administrator account&#x20;
  * The credentials for the service tenant account


# Steps for version update

### Pre-uninstall steps

* Take a backup of Cloud Assert VConnect database
* Take a backup copy of the following files

| File Name   | File Path                                     |
| ----------- | --------------------------------------------- |
| Web.config  | C:\inetpub\MgmtSvc-CloudAssert-VConnect       |
| License.cal | C:\inetpub\MgmtSvc-CloudAssert-VConnect\bin   |
| Web.config  | C:\inetpub\AzureStack-VConnectAdminExtension  |
| Web.config  | C:\inetpub\AzureStack-VConnectRP              |
| Web.config  | C:\inetpub\AzureStack-VConnectTenantExtension |

### Uninstallation steps

* Uninstall the VConnect service from Control Panel > Programs and features > Uninstall a program

### Installation steps

* Extract the VConnect installers to a location.
* Install the VConnect Service using ‘CloudAssert.WAP.VConnect.Service.Setup.msi’ installer ➢ Open a new command prompt as administrator.
* Change the directory to the AdminExtension folder and run the command **“CloudAssert.AzureStack.VConnect.Extension.Admin.deploy.cmd /y”**
* Change the directory to the TenantExtension folder and run the command **“CloudAssert.AzureStack.VConnect.Extension.Tenant.deploy.cmd /y”**
* Change the directory to the RPWeb folder and run the command **“CloudAssert.AzureStack.VConnect.RP.Web.deploy.cmd /y”**

### Post-installation steps

* Replace the web.config files with the backed-up copies.
* Update the database using VConnect tool.
  * Open a powershell window
  * Navigate to the location of the VConnect tool
  * Run the below command by replacing the necessary values to update the database settings

`.\VCONNECT.EXE UpdateDatabaseSettings <serverName> <databaseName> <userName> <password> [/isUseIntegratedSecurity] [/VConnectApiEndpoint:<String>] [/VConnectApiUserName:<String>] [/VConnectApiPassword:<String>]`

* Recycle the IIS application pool for the following sites.
  * AzureStack-VConnectAdminExtension&#x20;
  * AzureStack-VConnectRP
  * AzureStack-VConnectTenantExtension
  * MgmtSvc-CloudAssert-VConnect


# Release Notes

* Supports Microsoft Azure Stack version 1906, 1907 and 1908&#x20;
  * The Cloud assert VConnect resource provider for Microsoft Azure Stack was tested against 1906, 1907 and 1908&#x20;
* Improvements and bug fixes to Request management module
* Bug fixes on VMWare resource management workflows

&#x20;If you have any questions /face issues with the release, please write to <support@cloudassert.com>


