Virtual machine provisioning
Brownfield VM management and migration
Hypervisor remote console
Lifecycle management and resizing
Network security group creation
Network security group management
Router and network creation
Load balancer services
Docker host management and configuration
Floating IP assignment
Huawei OBS buckets (create, manage, delete, and discovery)
Huawei SFS (create, manage, and delete)
Integrate Huawei Cloud with Morpheus¶
To integrate Huawei Cloud with Morpheus, we’ll gather the following pieces of information:
Identity (IAM) API URL
Begin by logging into your Huawei Cloud console. If you’re not currently logged in, you will be prompted to do so. Once on the console page, hover over your username in the upper-right corner of the application window and select “My Credentials”.
From the credentials page, we can gather the Account Name and the Project Name, record them for later when we provide the integration information to Morpheus.
To gather the API endpoint URL, take a look at the complete list of endpoints. If a specific endpoint exists for your region, use it. In any other case use the endpoint for all regions. It will be formatted like this: https://iam.myhuaweicloud.com/v3.
With this information gathered, and presuming you know the credentials for the service account you wish to use, we can move back into Morpheus-UI.
Integrating Morpheus with Huawei Cloud requires a service account that has programmatic access.
Navigate to Infrastructure > Clouds and click + ADD. Scroll to Huawei Cloud and click NEXT. The information we’ve gathered will be plugged into the CREATE CLOUD modal. The DOMAIN ID field will accept the Account Name field we gathered. Your completed CREATE CLOUD modal will look similar to the one pictured below:
After clicking NEXT, add this new Cloud to a Group or create a new Group. On finalizing the wizard, Huawei Cloud will be integrated into Morpheus and ready for provisioning. If you opted to inventory existing workloads, those will be onboarded shortly.
Add/Edit Huawei Cloud Modal Fields¶
Name of the Cloud in Morpheus
Unique code used for api/cli, automation and policies.
Description field for adding notes on the cloud, such as location.
For setting cloud permissions in a multi-tenant environment. Not applicable in single tenant environments.
If Visibility is set to Private, select the Tenant the Cloud resources will assigned to.
When disabled, automatic Cloud sync is paused and the Cloud will not be selectable for provisioning.
- AUTOMATICALLY POWER ON VMS
When enabled, Morpheus will maintain the expected power state of managed VMs. Morpheus will power on any managed VMs in the Cloud that have been shut down for unknown reasons (not powered off by Morpheus) to ensure availability of services.
When “AUTOMATICALLY POWER ON VMS” is enabled, the power state of managed VMs should be maintained in Morpheus. This setting is not applicable to discovered/unmanaged resources.
- IDENTITY API URL
The v3 identity endpoint. See the integration steps above for more detail
- DOMAIN ID
The DOMAIN ID field takes the “Account Name” as shown on the Basic Information page of the account. See the integration steps above for more detail
The target project name. See the integration steps above for more detail
The service account username. See the integration steps above for more detail
The integration service account password. See the integration steps above for more detail
- IMAGE FORMAT
Select QCOW2, RAW or VMDK image type
- Image Store
Set an OBS bucket as a permanent store location for Morpheus virtual images. Users are limited to uploading images of 2GB or less in size if an OBS bucket is not specified here
- Inventory Existing Instances
Select for Morpheus to discover and sync existing VMs
- Enable Hypervisor Console
Hypervisor console support for openstack currently only supports novnc. Be sure the novnc proxy is configured properly in your openstack environment.
When using the RAW image format, you can bypass the image conversion service within the cloud leading to quicker performance. Other image formats are converted to RAW format and back when performing various actions. Using the RAW format from the start will bypass these conversion steps.
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 Internal Backups (Morpheus) or a Backup Integration
- REPLICATION PROVIDER
Sets the default Replication Provider for the Cloud. Select an existing Replication Provider Integration
Enable Guidance recommendations on cloud resources.
Enable for Morpheus 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, select Costing and Reservations. If this is not relevant, select Costing to save money on additional calls to the AWS Cost Explorer API or similar service for other clouds.
- 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, Salt, Ansible or Puppet integration to be used with this Cloud.
Select CMDB Integration to automatically update selected CMDB.
- CMDB DISCOVERY
When checked, any automatically discovered (unmanaged) servers onboarded into Morpheus 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: Morpheus will use SSH or WINRM for Agent install.
Cloud Init / Unattend (when available): (DEFAULT) Morpheus will utilize Cloud-Init or Cloudbase-Init for agent install when provisioning images with Cloud-Init/Cloudbase-Init installed. Morpheus 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.
- API PROXY
Set a proxy for outbound communication from the Morpheus Appliance to the Cloud endpoints. Proxies can be added in the Infrastructure > Networks > Proxies tab.
- INSTALL AGENT
Enable to have Agent Installation on by default for all provisioning into this Cloud. Disable for Agent Installation to be off by default for all provisioning into this Cloud.
Set a proxy for inbound communication from Instances to the Morpheus Appliance. Proxies can be added in the Infrastructure > Networks > Proxies tab.
- Bypass Proxy for Appliance URL
Enable to bypass proxy settings (if added) for Morpheus 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. Morpheus 4.1.0 and earlier assumes bash syntax. Morpheus 4.1.1 and later supports all User Data formats. Refer to https://cloudinit.readthedocs.io/en/latest/topics/format.html for more information.
Huawei Scalable File Service (SFS)¶
The Morpheus integration with Huawei Cloud includes the capability to work with Huawei Scalable File Service (SFS). SFS is shared file storage hosted on Huawei Cloud. By integrating Morpheus with Huawei Cloud you can discover, create, manage, and delete SFS servers, as well as view and work with the file shares and files contained therein.
SFS Server Discovery and Management¶
On integrating Huawei Cloud with Morpheus, SFS servers and file shares are discovered automatically after a short time. The server(s) can be viewed in Infrastructure > Storage > Servers. By viewing the server detail page and clicking EDIT, the storage server can be scoped as needed. Administrators can choose to scope to other Huawei Cloud integrations (if more than one relevant integration currently exists), select from synced availability zones, and scope the storage server to specific Tenants if desired.
Additionally, Huawei SFS servers can be created from the storage server list page (Infrastructure > Storage > Servers) directly in Morpheus. Click + ADD to begin and set the storage server type value to “Huawei SFS”. Just like with existing synced SFS servers, those created from Morpheus can be scoped as needed.
Huawei Object Storage Service (OBS)¶
The Morpheus integration with Huawei Cloud also supports Object Storage Service (OBS). Morpheus will automatically onboard existing OBS servers and buckets shortly after completing the cloud integration. Before you can add a new OBS server from Morpheus, you must know or generate a key and secret value from the Huawei console and must provide a Huawei OBS API endpoint.
Generate a Key and Secret¶
From the Huawei web console, log into the account used to integrate Huawei Cloud with Morpheus. Hover over your account name in the upper-right corner of the application window and click “My Credentials”. Select “Access Keys” from the left-hand sidebar. To create a new key, click + Create Access Key. Complete the two-factor authentication steps in the box that appears.
Once the key is generated, download or record the key and store it in a safe location. The key will not be viewable or available for download again after this point.
Create OBS Server in Morpheus¶
With the key and secret value in hand from the previous section, navigate to Infrastructure > Storage > Servers. Click + ADD. On changing the server type to Huawei OBS, you will see the fields for the access key and the secret key. OBS API endpoints can be found in Huawei endpoint documentation. Include those three values in the Create Server modal along with a friendly name for use in Morpheus UI. Just like with SFS objects, we can choose to scope the server to all or specific Tenants at this time.
Create Huawei OBS Bucket¶
With an OBS server onboarded or created in Morpheus, you’re able to create and manage Huawei OBS buckets as needed. To create a new bucket, navigate to Infrastructure > Storage > Buckets. Click + ADD and select “Huawei OBS Bucket”. The following fields are required when creating a Huawei OBS bucket:
NAME: A friendly name for use in Morpheus UI
STORAGE SERVICE: Choose the OBS server to associate the new bucket with
BUCKET NAME: The name of the bucket in Huawei Cloud, this must be unique
STORAGE CLASS: If needed, view the discussion of storage classes in Huawei support documentation
BUCKET ACL: Public Read, Public Read/Write, or Private
BUCKET POLICY: Public Read, Public Read/Write, or Private
STORAGE QUOTA: Set to 0 for no quota
Once finished, click SAVE CHANGES
Network and Router Creation¶
Once a Huawei Cloud is integrated into Morpheus, new network creation options become available. When adding a new network (Infrastructure > Networks > Networks Tab), a new type labeled “Huawei Private Network” is available when clicking +ADD. When the user creates this network construct in Morpheus, a layer two subnet is created but it’s not connected to a Virtual Private Cloud (VPC). This is by design as an Internet-routable network is not always desired. Continue on with this section after creating the network to also create a VPC (router).
Create a network¶
Navigate to Infrastructure > Networks
Click on the Networks tab
Select Huawei Private Network
Complete the modal based on requirements for the new network
Click SAVE CHANGES
Create a router¶
Navigate to Infrastructure > Networks
Click on the Routers tab
Select Huawei Router
Complete the modal based on requirements for the new router
Click SAVE CHANGES
When creating a router, it’s helpful to note that the External Network is the floating IP network that has been assigned to the Huawei project. This network will grant your Instances their routes out to the Internet. The Internal Subnet can be a layer two subnet that you may have created in the previous step. In addition, multiple subnets can be added to the router (VPC) and the IP address on the subnet would be the router’s internal IP address.