# vCloud Director

## Features

- Virtual Machine Provisioning
- Backups / Snapshots
- Datastores
- Brownfield VM management and migration
- Periodic Synchronization
- Lifecycle Management and Resize
- IP Pool Support
- Multi-NIC Interfaces
- Kubernetes and Docker
- Proxy Support
- Image Builder
- Monthly estimated pricing and usage tracker
- Custom plan discovery and utilization at provision time

## Configuration

### Add vCD Cloud From Infrastructure > Clouds

#### Procedure

1. Navigate to Infrastructure  >  Clouds
2. Select + ADD
3. Select VCLOUD DIRECTOR from the Clouds list
4. Select NEXT
5. Populate the following: 

   Cloud Configuration

   NAME
   :   Name of the Cloud in HPE Morpheus Enterprise

   CODE
   :   Unique code used for api/cli, automation and policies.

   LOCATION
   :   Description field for adding notes on the cloud, such as location.

   VISIBILITY
   :   For setting cloud permissions in a multi-tenant environment. Not applicable in single tenant environments.

   TENANT
   :   If Visibility is set to Private, select the Tenant the Cloud resources will assigned to.

   ENABLED
   :   When disabled, automatic Cloud sync is paused and the Cloud will not be selectable for provisioning.

   AUTOMATICALLY POWER ON VMS
   :   When enabled, HPE Morpheus Enterprise will maintain the expected power state of managed VMs. HPE Morpheus Enterprise will power on any managed VMs in the Cloud that have been shut down for unknown reasons (not powered off by HPE Morpheus Enterprise) to ensure availability of services.

       NOTE

       When “AUTOMATICALLY POWER ON VMS” is enabled, the power state of managed VMs should be maintained in HPE Morpheus Enterprise. This setting is not applicable to discovered/unmanaged resources.

   Details

   NOTE

   Authenticating a new vCD Cloud requires either a username and password combination OR an API token and Tenant. You do not need both despite the fact that all four of those fields are indicated as required fields.

   API URL
   :   vCloud Director API Url
       :   Example: `https://org.vcd.company.com`

   CREDENTIALS
   :   Authenticating a new vCD Cloud requires either a username and password combination OR an API token and Tenant. These may be locally entered (select Local Credentials), locally entered and stored securely for future use (select “username and password” or “api token, tenant” from within the “New Credentials” section), or a pre-existing credential set may be selected from the HPE Morpheus Enterprise secure credential store. Depending on the selection, additional fields will appear (or some may disappear) to facilitate your choice

   USERNAME
   :   vCD Organization Administrator or System Administrator User

       - User must have an Organizational Administrator or System Administrator Role
       - Username must be in the format of <name>@<org>
       - When using a user with the System Administrator role, give the username in the format of <username>@system. Additionally, ensure this user has permission set correctly, such as to view objects created by the organization administrator if needed. Otherwise, things like catalogs and vApps created by the Organization Administrator might not be visible to HPE Morpheus Enterprise
       - In some cases, it may not be advisable to use the system administrator user. This is because some environments will have API access turned off for the system administrator for security reasons as the user would be able to remove key pieces of infrastructure. If your system administrator user does have API access and you understand the risks, you can authenticate HPE Morpheus Enterprise with this user

   PASSWORD
   :   Password for the user indicated above

   API TOKEN
   :   A generated API token for the service account user

   TENANT
   :   The Tenant to which the service account user authenticates

   ORG
   :   Select Organization. Dropdown populates upon successful authorization.

   VDC
   :   Select VDC. Dropdown populates upon successful authorization.

   API VERSION
   :   Full version required which much be in the “xx.x” format. When applicable, do not drop a trailing “0” (Ex. `31.0`). HPE Morpheus Enterprise will attempt to discover the API version, which would make this field optional. However, vCD allows disabling of the API versions API. In such an environment, the user would need to specify the API version here

   CATALOG
   :   Optionally select a vCD catalog to store HPE Morpheus Enterprise artifacts or use the default “morpheus\_auto” catalog

   Inventory Existing Instances
   :   If enabled, existing Virtual Machines will be inventoried and appear as unmanaged Virtual Machines in HPE Morpheus Enterprise

   Enable Hypervisor Console
   :   Mark to use VNC hypervisor console for the HPE Morpheus Enterprise console rather than the default SSH or RDP connection methods

   Advanced Options

   DOMAIN
   :   Specify a default domain for instances provisioned to this Cloud.

   SCALE PRIORITY
   :   Only affects Docker Provisioning. Specifies the priority with which an instance will scale into the cloud. A lower priority number means this cloud integration will take scale precedence over other cloud integrations in the group.

   APPLIANCE URL
   :   Alternate Appliance url for scenarios when the default Appliance URL (configured in admin  >  settings) is not reachable or resolvable for Instances provisioned in this cloud. The Appliance URL is used for Agent install and reporting.

   TIME ZONE
   :   Configures the time zone on provisioned VM’s if necessary.

   DATACENTER ID
   :   Used for differentiating pricing among multiple datacenters. Leave blank unless prices are properly configured.

   NETWORK MODE
   :   Unmanaged or select a Network Integration (NSX, ACI etc)

   LOCAL FIREWALL
   :   On or Off. Enable to managed Host and VM firewall/IP Table rules (linux only)

   SECURITY SERVER
   :   Security Server setting is for Security Service Integrations such as ACI

   TRUST PROVIDER
   :   Select Internal (Morpheus) or an existing Trust Provider Integration

   STORAGE MODE
   :   Single Disk, LVM or Clustered

   BACKUP PROVIDER
   :   Select a backup provider. Depending on the Cloud type and any currently-configured backup plugins you may select Internal Backups (Morpheus) or another configured backup solution

   REPLICATION PROVIDER
   :   Sets the default Replication Provider for the Cloud. Select an existing Replication Provider Integration

   GUIDANCE
   :   Enable Guidance recommendations on cloud resources.

   COSTING
   :   Enable for HPE Morpheus Enterprise to sync Costing data from the Cloud provider, when available. For on-prem Clouds, enabling costing activates a costing service designed to mirror the live costing experience of public clouds, including invoicing with line items and real-time cost data (Operations > Costing > Invoices). If your organization utilizes reserved instances and you want to pull in related pricing data, some Cloud integrations include the option to select Costing and Reservations. If this is not relevant, select Costing to save money on additional calls to the Cloud provider’s costing API.

   DNS INTEGRATION
   :   Records for instances provisioned in this cloud will be added to selected DNS integration.

   SERVICE REGISTRY
   :   Services for instances provisioned in this cloud will be added to selected Service Registry integration.

   CONFIG MANAGEMENT
   :   Select a Chef, Ansible or Puppet integration to be used with this Cloud.

   CMDB
   :   Select CMDB Integration to automatically update selected CMDB.

   CMDB DISCOVERY
   :   When checked, any automatically discovered (unmanaged) servers onboarded into HPE Morpheus Enterprise from this Cloud will also have CMDB records created for them.

   CHANGE MANAGEMENT
   :   Select an existing Change Management Integration to set on the Cloud. ex: Cherwell

   AGENT INSTALL MODE
   :   - SSH / WINRM / Guest Execution: HPE Morpheus Enterprise will attempt to use SSH, WINRM or Guest Execution for Agent install.
       - Cloud Init / Unattend (when available): (DEFAULT) HPE Morpheus Enterprise will utilize Cloud-Init or Cloudbase-Init for agent install when provisioning images with Cloud-Init/Cloudbase-Init installed. HPE Morpheus Enterprise will fall back on SSH or WINRM if cloud-init is not installed on the provisioned image. Morpheus will also add Agent installation to Windows unattend.xml data when performing Guest Customizations or utilizing syspreped images.

   VDI GATEWAY
   :   Set a VDI Gateway for outbound communication from the HPE Morpheus Enterprise Appliance to the vdi endpoints. VDI Gateways can be added in `/tools/vdi/gateways`

   CUSTOM LOGOS

   When integrating a Cloud, it will appear by default throughout the UI with its standard logo (VMware logo for VMware Clouds, etc.). If desired, you may upload a custom logo that should appear instead. This might be useful for MSPs which might not want to reveal the Cloud type underlying its services. A dark mode version of the logo may also be uploaded if the standard logo doesn’t look right against the HPE Morpheus Enterprise dark mode theme. Checking USE DEFAULT CLOUD LOGOS allows the user to return to the standard logo for the Cloud type without deleting the custom uploaded logo.

   INVENTORY OPTIONS

   Inventory options allow you to set a default active or inactive state for certain discovered resources. The list of available resources to configure will vary based on the Cloud type and its supported resources. By default, all possible resources for the Cloud type will be discovered in an active state. Uncheck the box for some or all resources to discover them in an inactive state. The list of potential resources that may appear include:

   - Service Plans
   - Resource Pools
   - Networks
   - Security Groups
   - Datastores
   - Folders

   Provisioning Command

   PROXY
   :   Set a proxy for inbound communication from Instances to the HPE Morpheus Enterprise Appliance. Proxies can be added in the Infrastructure  >  Networks  >  Proxies tab.

   Bypass Proxy for Appliance URL
   :   Enable to bypass proxy settings (if added) for HPE Morpheus Enterprise Agent communication to the Appliance URL.

   NO PROXY
   :   Include a list of IP addresses or name servers to exclude from proxy traversal

   USER DATA (LINUX)
   :   Add cloud-init user data. HPE Morpheus Enterprise 4.1.0 and earlier assumes bash syntax. HPE Morpheus Enterprise 4.1.1 and later supports all User Data formats. Refer to <https://cloudinit.readthedocs.io/en/latest/topics/format.html> for more information.
6. Select NEXT
7. Select an existing or create a new Group to add the Cloud to. The Cloud can be added to additional Groups in a Groups Clouds tab.
8. Select NEXT
9. Review and then Select COMPLETE

## How to create vCloud Director templates for Morpheus

### To create a Windows Template

#### About this task

Create a new machine in VMware vCenter and install a base version of your preferred Windows build.

#### Procedure

1. Apply any service packs / updates to the operating system.
2. Set the Network location to Private the below PowerShell will set the location. 

   ```
   ```
   Get-NetConnectionProfile | Set-NetconnectionProfile -NetworkCategory private
   ```
   ```
3. Configure WinRM to allow remote management and open the firewall. 

   - To do this, under local computer Administrator, open a command prompt and run `winrm quickconfig`
4. Install VMware tools
5. Install .Net at least 4.5
6. Enable remote PowerShell this can be done in PowerShell. 

   ```
   ```
   Enable-PSremoting
   ```
   ```
7. Shutdown the virtual machine and convert to a template. 

   NOTE

   Do not run sysprep

### To create a Linux Centos template

#### About this task

Create a new machine in VMware vCenter and install a base version of your preferred Linux distro build. If you are using cloud init as part of your image you will need to ensure your virtual machine has a cdrom.

#### Procedure

1. Before installing the operating system setup a single `ext` or `xfs` partition without a swap disk (This is so that growpart can extend the disk. growpart currently does not support lvm)
2. Install the distro and apply any updates to the operating system and security updates
3. Install cloud-init using command `yum install cloud-init`
4. Install cloud-utils-growpart using command `yum install cloud-utils-growpart`
5. Install vmware tools
6. Install git by running `yum install git`
7. epel-release
8. selinux set to permissive (enforced can cause problems with cloud-init)

### To create a Linux Ubuntu template

#### About this task

Create a new machine in VMware vCenter and install a base version of your preferred Linux distro build. If you are using cloud init as part of your image you will need to ensure your virtual machine has a cdrom.

#### Procedure

1. Before installing the operating system setup a single `ext` partition without a swap disk (This is so that growpart can extend the disk. growpart currently does not support lvm)
2. Install the distro and apply any updates to the operating system and security updates
3. Ensure you have set a root password
4. Install cloud-init by running `sudo apt install cloud-init`
5. Install cloud-utils-growpart `sudo apt install cloud-utils`
6. Install desired hypervisor drivers (Virto, Open-VM Tools)
7. Install git by running `sudo apt install git`
8. As Debian 9 includes network manager ensure this is disabled. Change the below file

#### Results

```
```
/etc/NetworkManager/NetworkManager.conf
```
```

to the following:

```
```
managed=false
```
```

We also recommend disabling network manager and setting the network adapter to eth0 rather than the automatically assigned name. See a more detailed guide on VMware image prep [here](https://docs.morpheusdata.com/en/latest/integration_guides/Clouds/vmware/vmware_templates.html?highlight=vmware%2520image%2520prep#creating-a-centos-rhel-7-image).

To import your template into vCloud director you will need to login as either an administrator or organisation administrator.

Once logged into vCloud director you will then need select `Manage Organizations` and then select your organization.

From within the organisation click on `Catalogues` > select an existing catalogue or create a new catalogue.

NOTE

Please note once you connect HPE Morpheus Enterprise to your vCD environment, it will create a catalogue called Auto HPE Morpheus Enterprise. This is a working catalogue and is ignored by HPE Morpheus Enterprise when searching for images, so any images in the catalogue will not be synced into HPE Morpheus Enterprise

Open the catalogue and select the import template from vCenter and then browse the data stores for your templates. Select your template and the type in a new name and description then check the copy template into vCloud director.

Once you click ok the import process will begin. When the import has completed the template will appear in HPE Morpheus Enterprise within Library > Virtual Images

If the image does not appear within the virtual images you may need to use the filters to filter the virtual images by the vmware ( vmdk / ovf / ova) type.

You may also need to refresh the cloud. To do this go to Infrastructure  >  Clouds > select the vCloud Director cloud > selectRefresh.

​
