Determining Cloud Names

When coding entries in the blueprint template AccountRegionSelector section and the Product selector section you need to specify entries for each cloud that want to allow the blueprint to launch stacks in.

What cloud name property value that you need to specify for a cloud depends upon whether or not the cloud is a public or private cloud.

Public Clouds

For public clouds (e.g. Amazon, Azure, DigitalOcean, Google, Joyent, ScaleMatrix) you specify the cloud provider name (Amazon, Azure, DigitalOcean, Google, Joyent, ScaleMatrix) for the cloud property value.

  ################################################################################################################################################
  # This defines the AccountRegionSelector which allows the user to select the Cloud, Region and Datacenter
  ################################################################################################################################################
  account_region_zone_selector:                                     # Define the section for the Cloud, Region and Datacenter selection boxes
    type: dcm.inputs.AccountRegionSelector                          # Input type is dcm.inputs.accountRegionSelector 
    properties:
      regions:                                                      # Define the Cloud and Regions
        "Amazon":                                                   # Amazon
          "us-east-1": [ ]                                          # All data centers for the us-east-1 region
          "us-west-1": ["us-west-1a", "us-west-1c"]
          "us-west-2": ["us-west-2a", "us-west-2b", "us-west-2c"]
          "eu-west-1": ["eu-west-1a", "eu-west-1c"]
        "Azure":                                                    # Azure
          "East US": ["East US"]
        "DigitalOcean":                                             # Digital Ocean 
          "nyc1": ["nyc1"]
        "Google":                                                   # Google
          "us-east1": ["us-east1-b"]
          "us-central1": ["us-central1-a"]
        "Joyent":                                                   # Joyent 
          "us-east-1": ["us-east-1a"]
    ################################################################################################################################################
    # This defines the Product selector which allows the user to select the server product size
    ################################################################################################################################################        
    product_selector:                                                 # Define the product selector so the user can select the cloud and region
      type: dcm.inputs.Product                                        # Input type is dcm.inputs.Product
      properties:
        accountRegionSelector: account_region_zone_selector           # This connects the AccountRegionSelector to the Product selector
        platform: UNIX                                                # Virtual machine images are Linux
        architecture: I64                                             # 64 bit images
        productMappings:
          "Amazon":                                                   # Amazon cloud
            "us-east-1":                                              # us-east-1 Region
              image: "ami-c4edc0d3"                                   # Machine image identifier for an Ubuntu image in this region
              products: ['t1.micro', 'm1.small', 'm1.medium']         # The virtual machine product sizes for this region
            "us-west-1":                                              # us-west-1 Region
              image: "ami-e7035687"                                   # Machine image identifier for an Ubuntu image in this region
              products: ['t1.micro', 'm1.small', 'm1.medium']         # The virtual machine product sizes for this region
            "us-west-2":                                              # us-west-2 Region
              image: "ami-578c2f37"                                   # Machine image identifier for an Ubuntu image in this region
              products: ['t1.micro', 'm1.small', 'm1.medium']         # The virtual machine product sizes for this region
            "eu-west-1":                                              # eu-west-1 Region
              image: "ami-e6a1f795"                                   # Machine image identifier for an Ubuntu image in this region
              products: ['t1.micro', 'm1.small', 'm1.medium']         # The virtual machine product sizes for this region

Private Clouds

For private clouds (e.g. CloudStack, OpenStack, VMWare, Virtustream, Windows AzurePack) you need to specify the cloud name for the cloud property value.

You can determine the cloud name for a private cloud by one of two ways below:

  1. mixcoatl dcm-list-clouds commmand
  2. MySQL query

mixcoatl dcm-list-clouds commmand

Run the mixcoatl dcm-list-clouds commmand and use the value from the name column for the desired private cloud.

For example, to find the cloud name for the private VMWare cloud which was defined to my DCM server you would issue the dcm-list-clouds commmand.

(venv)$ dcm-list-clouds
+----------+----------------------------+--------------------------------------------------+-------------------------------------------------------------------+----------+
| Cloud ID | Cloud Name                 | Delegate                                         | Endpoint                                                          | Status   |
+----------+----------------------------+--------------------------------------------------+-------------------------------------------------------------------+----------+
| 1        | Amazon Web Services        | org.dasein.cloud.aws.AWSCloud                    | https://ec2.us-east-1.amazonaws.com                               | ACTIVE   |
| 8        | GoGrid                     | org.dasein.cloud.gogrid.GoGrid                   | https://api.gogrid.com                                            | INACTIVE |
| 9        | Google                     | org.dasein.cloud.google.Google                   | https://www.googleapis.com/compute/v1/projects                    | ACTIVE   |
| 12       | AT&T Synaptic Cloud        | org.dasein.cloud.atmos.Atmos                     | https://storage.synaptic.att.com/                                 | INACTIVE |
| 13       | ServerExpress              | org.dasein.cloud.gogrid.GoGrid                   | https://api.gogrid.com                                            | INACTIVE |
| 16       | Joyent Cloud               | org.dasein.cloud.joyent.SmartDataCenter          | https://us-west-1.api.joyentcloud.com                             | ACTIVE   |
| 18       | Tata InstaCompute          | org.dasein.cloud.cloudstack.CSCloud              | https://manage.iaas.tatacommunications.com/client/api             | INACTIVE |
| 28       | HP Cloud                   | org.dasein.cloud.openstack.nova.os.NovaOpenStack | https://region-a.geo-1.identity.hpcloudsvc.com:35357/v2.0         | INACTIVE |
| 34       | Bluelock vCloud Director   | org.dasein.cloud.vcloud.vCloud                   | https://zone01.bluelock.com                                       | INACTIVE |
| 36       | CloudSigma Zurich          | org.dasein.cloud.cloudsigma.CloudSigma           | https://api.zrh.cloudsigma.com                                    | INACTIVE |
| 37       | CloudSigma Las Vegas       | org.dasein.cloud.cloudsigma.CloudSigma           | https://api.lvs.cloudsigma.com                                    | INACTIVE |
| 40       | Dimension Data             | org.dasein.cloud.opsource.OpSource               | https://api.opsourcecloud.net                                     | INACTIVE |
| 44       | Terremark Enterprise Cloud | org.dasein.cloud.terremark.Terremark             | https://services.enterprisecloud.terremark.com                    | INACTIVE |
| 45       | Azure                      | org.dasein.cloud.azure.Azure                     | https://management.core.windows.net/                              | ACTIVE   |
| 91       | Rackspace NG               | org.dasein.cloud.openstack.nova.os.NovaOpenStack | https://identity.api.rackspacecloud.com/v2.0                      | INACTIVE |
| 1011     | CloudCentral               | org.dasein.cloud.cloudstack.CSCloud              | http://cloudplatform.cloudcentral.com.au/client/api               | INACTIVE |
| 2000     | KT ucloud                  | org.dasein.cloud.cloudstack.CSCloud              | https://api.ucloudbiz.olleh.com:8443/enstratus/server/v1/client   | INACTIVE |
| 9000     | IBM SmartCloud Enterprise  | org.dasein.cloud.ibm.sce.SCE                     | https://www-147.ibm.com/computecloud/enterprise/api/rest/20100331 | INACTIVE |
| 9193     | ScaleMatrix                | org.dasein.cloud.vcloud.vCloud                   | https://myvcloud.scalematrix.com                                  | ACTIVE   |
| 10200    | ACME OpenStack             | org.dasein.cloud.openstack.nova.os.NovaOpenStack | http://192.168.236.20:5000/v2.0                                   | ACTIVE   |
| 10201    | ACME VMWare                | org.dasein.cloud.vsphere.PrivateCloud            | https://vsphere.int.enstratius.com/sdk                            | ACTIVE   |
| 20001    | DigitalOcean               | org.dasein.cloud.digitalocean.DigitalOcean       | https://api.digitalocean.com                                      | ACTIVE   |
+----------+----------------------------+--------------------------------------------------+-------------------------------------------------------------------+----------+

Looking through the command output you see the one VMWare cloud with the Cloud Name of ACME VMWare. That would be the value you would specify for the cloud property value in the AccountRegionSelector section and the Product section productMappings section of the template in this case.

  ################################################################################################################################################
  # This defines the AccountRegionSelector which allows the user to select the Cloud, Region and Datacenter
  ################################################################################################################################################
  account_region_zone_selector:                                     # Define the section for the Cloud, Region and Datacenter selection boxes
    type: dcm.inputs.AccountRegionSelector                          # Input type is dcm.inputs.accountRegionSelector 
    properties:
      regions:                                                      # Define the Cloud and Regions
        "ACME VMware":                                              # Private VMware Cloud
          "WTC": ["WTC"]
  ####################################################################################################################################################
  # This defines the Product selector which allows the user to select the server product size
  ####################################################################################################################################################        
  product_selector:                                                       # Define the product selector so the user can select the server product size
    type: dcm.inputs.Product                                              # Input type is dcm.inputs.Product
    properties:
      accountRegionSelector: account_region_zone_selector                 # This connects the AccountRegionSelector to the Product selector
      platform: UNIX                                                      # Virtual machine images are Linux
      architecture: I64                                                   # 64 bit images
      productMappings:
        "ACME VMWare":                                                    # Private VMWare Cloud
          "WTC":                                                          # WTC Region
            image: "422e59e8-f46e-634a-6a99-c71fd25523dd"                 # Machine Image to use in this region 
            products: ['1:1024', '1:4096', '2:2048', '2:4096', '4:10240'] # Server Products to allow

MySQL query

On-premise Dell Cloud Manager

Attention

The mysql client command will be used to perform the query below on the On-premise Dell Cloud Manager MySQL host. Refer to the Dell Cloud Manager Administrator’s Guide mysql client command for more information on how to setup the environment for running the mysql command.

Run the following command from the Dell Cloud Manager MySQL host:

mysql -uroot -p${MYSQL_DB_PASSWORD} provisioning -e "select a.name from cloud a, cloud_account b where a.cloud_id=b.cloud order by LOWER(a.name);" | tail -n +2 | sed 's|Amazon Web Services|Amazon             |'
ACME VMWare
Amazon
Azure

Dell Cloud Manager Appliance

Run the following command from the Dell Cloud Manager Appliance docker host:

docker exec dcm_mysql bash -c '/opt/mysql/bin/mysql -h192.168.254.1 -uroot -p$(grep server_root_password /var/lib/dmcm/etc/initialize.json | \
cut -f2 -d: | tr -d "\" ") provisioning -e "select a.name from cloud a, cloud_account b where a.cloud_id=b.cloud order by LOWER(a.name);"' | tail -n +2 | sed 's|Amazon Web Services|Amazon             |'
ACME VMWare
Amazon
Azure

Blueprint

Looking through the MySQL command output from above you see the one VMWare cloud with the Cloud Name of ACME VMWare. That would be the value you would specify for the cloud property value in the AccountRegionSelector section and the Product section productMappings section of the template in this case.

  ################################################################################################################################################
  # This defines the AccountRegionSelector which allows the user to select the Cloud, Region and Datacenter
  ################################################################################################################################################
  account_region_zone_selector:                                     # Define the section for the Cloud, Region and Datacenter selection boxes
    type: dcm.inputs.AccountRegionSelector                          # Input type is dcm.inputs.accountRegionSelector 
    properties:
      regions:                                                      # Define the Cloud and Regions
        "ACME VMware":                                              # Private VMware Cloud
          "WTC": ["WTC"]
  ####################################################################################################################################################
  # This defines the Product selector which allows the user to select the server product size
  ####################################################################################################################################################        
  product_selector:                                                       # Define the product selector so the user can select the server product size
    type: dcm.inputs.Product                                              # Input type is dcm.inputs.Product
    properties:
      accountRegionSelector: account_region_zone_selector                 # This connects the AccountRegionSelector to the Product selector
      platform: UNIX                                                      # Virtual machine images are Linux
      architecture: I64                                                   # 64 bit images
      productMappings:
        "ACME VMWare":                                                    # Private VMWare Cloud
          "WTC":                                                          # WTC Region
            image: "422e59e8-f46e-634a-6a99-c71fd25523dd"                 # Machine Image to use in this region 
            products: ['1:1024', '1:4096', '2:2048', '2:4096', '4:10240'] # Server Products to allow