Tag Archives: VCF

Single SSO Domain With Multi VCF Instances

So, you have adopted VMware Cloud Foundation (VCF), or maybe you have spent some time reviewing the VMware Validated Design (VVD) and found that you would like to deploy a Single SSO domain.  In VVD architecture they propose having two regions with a Single SSO Domain, but natively the VCF deployment process expects a greenfield SSO domain.

As of VCF 3.8 release notes:

Provides the ability to link between the SSOs (PSCs) of two or more VMware Cloud Foundation instances so that the management and the VI workload domains are visible in each of the instances.

What does this mean exactly?  This translates into the ability for Region B as per the VVD, to join the SSO instance of Region A.  This allows VCF to align to the VVD from a design perspective to share SSO domains where it makes sense based upon Enhanced Linked Mode 150ms RTT limitation.  In order facilitate this, the Excel Document Deploy Parameters tab, has been updated (shown below) and allows you to enter Region A SSO domain, PSC IP Address, and SSO Credentials.  During bringup process on Cloud Builder it will still deploy two PSC’s for that region, but they will be joined to Region A.  This will provide Enhanced Linked Mode in vCenter and allow you to manage two VCF environments Role Based Access Controls and VM’s from a single login.

The ability to join SSO domains does come with some limitations though:

  1. VCF can only join an SSO domain of another VCF instance. The first VCF deployed in your environment still needs to be greenfield.
  2. ELM limitations of 15 vCenters applies, and that is now shared between two VCF instances. This means instead of a VCF instance being allowed to have 14 Workload Domains plus Management. Only 13 workload domains could be created in a shared deployment as minimum of two would be used for management.
  3. ELM limitation of 150ms Round Trip Time for latency should be advised, this would mean sharing SSO domain between New York and Sydney will likely not be supported or advised.
  4. Patches need to stay consistent especially for PSC’s and vCenters between deployments. Patch all PSC in both VCF instances before patching vCenters, and then subsequently patch all vCenters in a timely manner.
  5. SDDC Manager in ‘Region A’ cannot see the Workload Domains created by the SDDC Manager in ‘Region B’. We are looking to address this in the future.
  6. NSX-T cannot be shared between ‘Region A’ and ‘Region B’ deployments.

This is great news for customers that are looking to align their VCF environments with the best practices in VVD and also allow for a unified vCenter support experience for their Admins.  In addition this will allow for easier migrations on Day X as they will reside in the same vSphere Client, potentially as easy as a drag and drop to Region B depending upon networking and overall customer architecture.

 

Interested in deploying VMware Cloud Foundation in your Home Lab?  Get the info here: http://tiny.cc/getVLC and on slack at http://tiny.cc/getVLCSlack.

In-Rack Imaging for Cloud Foundation

So you have your VMware Cloud Foundation environment humming along and you need to add some additional capacity, how do you add that?  By following the VCF Administrators Guide and the VIA Guide it looks like you need to set this up on a laptop and plug into port 48 on the management switch, however I believe I have an easier option, that doesn’t require you to sit in the datacenter for hours on end.  Let’s look at how to setup In-Rack Imaging.

Pre-requisites:

  1. This applies to VCF 2.2.x and 2.3.x
  2. Download the VCF Bundle ISO as well as the MD5SUM.txt from your entitled MyVMware account
  3. Download the VIA OVA from your entitled MyVMware account
  4. You have completed the Jump VM setup detailed here (coming soon)

Now let’s get started:

  1. Ensure the servers to be imaged have been cabled to the wiremap (document available under downloads for Cloud Foundation)
  2. If Imaging with VCF 2.2: Ensure the servers to be imaged have iDRAC/BMC static IP information set to
    IP Range: 192.168.0.51-192.168.0.99
    Subnet Mask: 255.255.252.0
    Gateway: 192.168.3.254
    **Failure to set these IP addresses will result in a failure during the Add Host wizard later in this process.
  3. Ensure appropriate BIOS settings have been set and PXE boot is enabled on 10g NIC’s
  4. Deploy the VIA OVA in your Management Workload Domain
  5. Ensure vsanDatastore is selected for storage location
  6. Select the vRack-DPortGroup-NonRoutable portgroup
  7. Select defaults on all other screens and click finish
  8. Before booting the VIA Appliance we will need to edit settings of the VM
  9. Map the CD-ROM drive to Datastore ISO
  10. If the system was imaged at the same version it is now, you can point to bundle-iso folder and select the latest version.  If it was imaged at an older version and you want to bring the hosts in at a newer version, upload the ISO and select.
  11. Click OK and then Power On VIA
  12. If you are on version 2.2 or 2.2.1 and have All Flash R730 or R730xd follow this post before proceeding
  13. Now connect to your jump host that has access to the 192.168.0.0/22 and 192.168.100.0/22 subnets in your environment (post coming soon)
  14. Load the VIA interface http://192.168.100.2:8080/via
  15. You should see CD Mounted Successfully, if not click Refresh if VIA was booted before mounting CD-ROM/ISO
  16. Click Browse under ‘Bundle Hash’ Locate your MD5SUM.txt for the respective Imaging version and then click Upload Bundle

  17. Now that the bundle has been uploaded click Activate Bundle
  18. Select the Imaging Tab at the top
  19. Fill in an Appropriate Name in our case EUC Workload Domain
  20. Description is optional
  21. Change Deployment type to ‘Cloud Foundation Individual Deployment’
  22. Ensure Device Type is set to ESXI_SERVER
  23. Under Server ensure the ‘All Flash’ is Selected and the appropriate number of servers to image based upon the quantity you are adding
  24. Ensure the Vendor and Model are correct
  25. The default IP’s should be acceptable as this is considered a temporary range, however if you have two sets of servers you are imaging, make sure they don’t overlap before completing the ‘Add Host’ wizard towards the end of this post.
  26. Confirm all settings are correct before clicking Start Imaging
  27. Click Start Imaging
  28. One thing to note here is that if the servers had ESXi on them before, you will need to manually reboot them to get them to PXE boot.  Otherwise if they are new servers they should be looping through PXE boot
  29. As servers PXE boot, they will show up with a progress bar
  30. Looking at the console of a servers denoted to be in progress we can see that it is Loading ESXi
  31. Clicking on one of the servers denoted to be in progress will show the task list of what has been completed and what is remaining:
  32. Imaging process for all servers will take about 1 hour total
  33. As servers finish Imaging, their progress bar will turn into a green check
  34. Once Imaging has completed it will proceed onto Verify
  35. After which it will go to the Finish task, please wait until this screen shows completed
  36. Now Click the Inventory Tab, and then click download at the end of the Run ID that corresponds to the name given at step 19.  Save this file to location from which has access to the SDDC Manager Interface.  If this is the Jump VM saving on any local drive should be acceptable.
  37. If this is your only imaging operation it would be best practice to Shutdown the VIA appliance as it runs a PXE boot server while in the Imaging process.  Also to note, don’t reboot any other server in the rack during imaging to ensure it isn’t picked up by VIA.

The process of Imaging is now complete, however SDDC Manager does not know about the new inventory.  We will now need to login to your SDDC Manager UI to complete the task

  1. After logging into SDDC Manager click Settings on the left, then Add Host in the ribbon bar.
  2. Select Rack-1 if you are in a single rack configuration, or if you have multi-rack select the appropriate physical location
  3. Click Browse and point to the vcf-imaging-details manifest file that we downloaded above in step 36
  4. Confirm the details and click Add Host
  5. After a few minutes you should see something similar
  6. If the Continue button doesn’t light up blue after a 3 minutes, click Refresh on the browser and something like this should be displayed allowing you to click Continue
  7. Now we see the final steps in Add Host, this will take about 30 minutes to complete depending upon the number of hosts

  8. Once Host bring up completes the following should be displayed, you can click OK at this poing
  9. Clicking on dashboard shows that our environment now has 14 Hosts, when we started with 10 Hosts

VCF Imaging VIA Doesn’t Display My Server!

When going through imaging, or when adding capacity, on Cloud Foundation 2.2 or 2.2.1 you may notice that your server choice is unavailable.

Example: When selecting All Flash, the only Dell option is Dell R630

This is due to the JSON file having all flash set to false.  In order to resolve this and add for example Dell R730 or R730xd as an option we will need to follow a process to make a REST POST to add this as an option.  First, save the below code as: via-manifest-vcf-bundle-2.2.1-7236974.json

{
  "scriptsFolder": "scripts",
  "vibsFolder": "esxi_vibs",
  "isoFolder": "esxi_image",
  "servers": [
    {
      "vendorName": "Dell Inc.",
      "vendorCode": "dell",
      "scriptsFolder": "dell_scripts",
      "vibsFolder": "dell_vibs",
      "isoFolder": "",
      "serverModels": [
        {
          "modelCode": "PowerEdge R620",
          "scriptsFolder": "",
          "vibsFolder": "",
          "isoFolder": "",
          "platform" : "x86",
          "supportsAllFlash": "false"
        },
        {
          "modelCode": "PowerEdge R630",
          "scriptsFolder": "",
          "vibsFolder": "",
          "isoFolder": "",
          "platform" : "x86",
          "supportsAllFlash": "true"
        },
        {
          "modelCode": "PowerEdge R720",
          "scriptsFolder": "",
          "vibsFolder": "",
          "isoFolder": "",
          "platform" : "x86",
          "supportsAllFlash": "false"
        },
        {
          "modelCode": "PowerEdge R720xd",
          "scriptsFolder": "",
          "vibsFolder": "",
          "isoFolder": "",
          "platform" : "x86",
          "supportsAllFlash": "false"
        },
        {
          "modelCode": "PowerEdge R730",
          "scriptsFolder": "",
          "vibsFolder": "",
          "isoFolder": "",
          "platform" : "x86",
          "supportsAllFlash": "true"
        },
        {
          "modelCode": "PowerEdge R730xd",
          "scriptsFolder": "",
          "vibsFolder": "",
          "isoFolder": "",
          "platform" : "x86",
          "supportsAllFlash": "true"
        },
        {
          "modelCode": "PowerEdge R820",
          "scriptsFolder": "",
          "vibsFolder": "",
          "isoFolder": "",
          "platform" : "x86",
          "supportsAllFlash": "false"
        },
        {
          "modelCode": "PowerEdge C6320",
          "scriptsFolder": "",
          "vibsFolder": "",
          "isoFolder": "",
          "platform" : "x86",
          "supportsAllFlash": "true"
        }
      ]
    },
    {
      "vendorName": "Quanta Computers Inc.",
      "vendorCode": "quanta",
      "scriptsFolder": "quanta_scripts",
      "vibsFolder": "quanta_vibs",
      "isoFolder": "",
      "serverModels": [
        {
          "modelCode": "D51B-1U (dual 1G LoM)",
          "scriptsFolder": "quanta_scripts_d51b",
          "vibsFolder": "quanta_vibs_d51b",
          "isoFolder": "",
          "platform" : "x86",
          "supportsAllFlash": "true"
        },
        {
          "modelCode": "D51B-2U (dual 10G LoM)",
          "scriptsFolder": "quanta_scripts_d51b_2u",
          "vibsFolder": "quanta_vibs_d51b_2u",
          "isoFolder": "",
          "platform" : "x86",
          "supportsAllFlash": "true"
        },
        {
          "modelCode": "S210-X12RS V2",
          "scriptsFolder": "quanta_scripts_s210",
          "vibsFolder": "quanta_vibs_s210",
          "isoFolder": "",
          "supportsAllFlash": "true"
        },
        {
          "modelCode": "S210-X12RS",
          "scriptsFolder": "quanta_scripts_s210",
          "vibsFolder": "quanta_vibs_s210",
          "isoFolder": "",
          "platform" : "x86",
          "supportsAllFlash": "true"
        }
      ]
    },
    {
      "vendorName": "LENOVO",
      "vendorCode": "lenovo",
      "scriptsFolder": "lenovo_scripts",
      "vibsFolder": "lenovo_vibs",
      "isoFolder": "",
      "serverModels": [
        {
          "modelCode": "System x3650 M5",
          "scriptsFolder": "",
          "vibsFolder": "",
          "isoFolder": "",
          "platform" : "x86",
          "supportsAllFlash": "true"
        }
      ]
    },
    {
      "vendorName": "Cisco",
      "vendorCode": "cisco",
      "scriptsFolder": "cisco_scripts",
      "vibsFolder": "cisco_vibs",
      "isoFolder": "",
      "serverModels": [
        {
          "modelCode": "UCSC-C240-M4SX",
          "scriptsFolder": "",
          "vibsFolder": "",
          "isoFolder": "",
          "platform" : "x86",
          "supportsAllFlash": "true"
        },
        {
          "modelCode": "UCSC-C220-M4S",
          "scriptsFolder": "",
          "vibsFolder": "",
          "isoFolder": "",
          "platform" : "x86",
          "supportsAllFlash": "true"
        }
      ]
    },
    {
      "vendorName": "HP",
      "vendorCode": "hp",
      "scriptsFolder": "hp_scripts",
      "vibsFolder": "hp_vibs",
      "isoFolder": "",
      "serverModels": [
        {
          "modelCode": "ProLiant DL160 Gen9",
          "scriptsFolder": "",
          "vibsFolder": "",
          "isoFolder": "",
          "platform" : "x86",
          "supportsAllFlash": "false"
        },
        {
          "modelCode": "ProLiant DL360 Gen9",
          "scriptsFolder": "",
          "vibsFolder": "",
          "isoFolder": "",
          "platform" : "x86",
          "supportsAllFlash": "true"
        },
        {
          "modelCode": "ProLiant DL380 Gen9",
          "scriptsFolder": "",
          "vibsFolder": "",
          "isoFolder": "",
          "platform" : "x86",
          "supportsAllFlash": "true"
        },
        {
          "modelCode": "ProLiant DL360p Gen8",
          "scriptsFolder": "",
          "vibsFolder": "",
          "isoFolder": "",
          "platform" : "x86",
          "supportsAllFlash": "false"
        },
        {
          "modelCode": "ProLiant DL380p Gen8",
          "scriptsFolder": "",
          "vibsFolder": "",
          "isoFolder": "",
          "platform" : "x86",
          "supportsAllFlash": "false"
        }
      ]
    },
    {
      "vendorName": "Fujitsu, Inc.",
      "vendorCode": "fujitsu",
      "scriptsFolder": "fujitsu_scripts",
      "vibsFolder": "fujitsu_vibs",
      "isoFolder": "",
      "serverModels": [
        {
          "modelCode": "Primergy RX2540 M1",
          "scriptsFolder": "",
          "vibsFolder": "",
          "isoFolder": "",
          "platform" : "x86",
          "supportsAllFlash": "false"
        },
        {
          "modelCode": "Primergy RX2540 M2",
          "scriptsFolder": "",
          "vibsFolder": "",
          "isoFolder": "",
          "platform" : "x86",
          "supportsAllFlash": "false"
        }
      ]
    }
  ],
  "switches": [
    {
      "vendorName": "Quanta Computers Inc.",
      "vendorCode": "quanta-cumulus",
      "scriptsFolder": "cumulus_quanta_scripts",
      "imageElements": [],
      "switchModelsMap": {
        "TOR_SWITCH": [
          {
            "modelCode": "Quanta_LY8-x86",
            "platform" : "x86",
            "scriptsFolder": "quanta_x86_tor_switch_scripts",
            "imageElements": []
          },
          {
            "modelCode": "Quanta_LY8-ppc",
            "platform" : "ppc",
            "scriptsFolder": "quanta_ppc_tor_switch_scripts",
            "imageElements": []
          }
        ],
        "SPINE_SWITCH": [
          {
            "modelCode": "Quanta_LY6",
            "platform" : "ppc",
            "scriptsFolder": "quanta_spine_switch_scripts",
            "imageElements": []
          }
        ],
        "MGMT_SWITCH": [
          {
            "modelCode": "Quanta-LB9",
            "platform" : "ppc",
            "scriptsFolder": "quanta_mgmt_switch_scripts",
            "imageElements": []
          }
        ]
      }
    },
    {
      "vendorName": "Dell Inc.",
      "vendorCode": "dell-cumulus",
      "scriptsFolder": "cumulus_dell_scripts",
      "imageElements": [],
      "switchModelsMap": {
        "TOR_SWITCH": [
          {
            "modelCode": "Dell_S4000",
            "platform" : "x86",
            "scriptsFolder": "dell_tor_scripts",
            "imageElements": []
          }
        ],
        "SPINE_SWITCH": [
          {
            "modelCode": "Dell_S6000",
            "platform" : "x86",
            "scriptsFolder": "dell_spine_scripts",
            "imageElements": []
          }
        ],
        "MGMT_SWITCH": [
          {
            "modelCode": "Dell_S3000",
            "platform" : "x86",
            "scriptsFolder": "dell_mgmt_scripts",
            "imageElements": []
          }
        ]
      }
    },
    {
      "vendorName": "Cisco Inc.",
      "vendorCode": "cisco",
      "scriptsFolder": "cisco_switch_scripts",
      "imageElements": [],
      "switchModelsMap": {
        "TOR_SWITCH": [
          {
            "modelCode": "C9372",
            "platform" : "x86",
            "scriptsFolder": "",
            "imageElements": []
          },
	  {
            "modelCode": "C93180YC",
            "platform" : "x86",
            "scriptsFolder": "",
            "imageElements": []
          }
        ],
        "SPINE_SWITCH": [
          {
            "modelCode": "C9332PQ",
            "platform" : "x86",
            "scriptsFolder": "",
            "imageElements": []
          }
        ],
        "MGMT_SWITCH": [
          {
            "modelCode": "C3048",
            "platform" : "x86",
            "scriptsFolder": "cisco_mgmt_switch_scripts",
            "imageElements": []
          }
        ]
      }
    },
    {
      "vendorName": "Arista Networks Inc.",
      "vendorCode": "arista",
      "scriptsFolder": "arista_scripts",
      "imageElements": [],
      "switchModelsMap": {
        "TOR_SWITCH": [
          {
            "modelCode": "DCS-7280SE",
            "platform" : "x86",
            "scriptsFolder": "",
            "imageElements": []
          }
        ],
        "SPINE_SWITCH": [
          {
            "modelCode": "DCS-7050Q",
            "platform" : "x86",
            "scriptsFolder": "",
            "imageElements": []
          }
        ]
      }
    },
    {
      "vendorName": "Brocade Communications Systems, Inc",
      "vendorCode": "brocade",
      "scriptsFolder": "brocade_scripts",
      "imageElements": [],
      "switchModelsMap": {
        "MGMT_SWITCH": [
          {
            "modelCode": "VDX6740T-1G",
            "platform" : "x86",
            "scriptsFolder": "brocade_mgmt_scripts",
            "imageElements": []
          }
        ],
        "TOR_SWITCH": [
          {
            "modelCode": "VDX6740",
            "platform" : "x86",
            "scriptsFolder": "brocade_tor_scripts",
            "imageElements": []
          }
        ],
        "SPINE_SWITCH": [
          {
            "modelCode": "VDX6940",
            "platform" : "x86",
            "scriptsFolder": "brocade_spine_scripts",
            "imageElements": []
          }
        ]
      }
    }
  ]
}

I will assume you know how to deploy the VIA appliance, or you can follow my post: coming soon to setup in rack imaging in Cloud Foundation 2.2/2.3 environments.

It is easiest to start with an ’empty’ VIA appliance, given that this is a small VM it would be worthwhile to delete the existing VIA appliance and re-deploy the OVA.  Once VIA has booted for the first time you will point your browser at the VIA interface http://192.168.100.2:8080/via

  1. Ensure that the VCF Bundle ISO has been mounted as the CD-ROM for the VIA VM.
  2. Ensure the MD5SUM.txt file for the specified bundle has been downloaded and is saved.
  3. By saving the above JSON file this will enable the ‘All Flash’ option for Dell R730 and R730xd
    **Important note, by editing this file and adding a server that does not appear on the VCF Hardware Compatibility List this will not allow it to work as the imaging process adds specific VIB’s for these servers.
  4. Now with the ISO mounted, the MD5SUM and JSON files saved on machine with Postman installed (or similar REST Client) we will need to perform the following operation:
    1. URL: http://192.168.100.2:8080/via/bundle/upload
    2. Request Type: POST
    3. Request Body Type: form-data
    4. Parameters:
    5. bundleHashType: <Text> MD5
    6. txtBundleHashFile: <FILE> C:\files\MD5SUM.txt
    7. txtInventoryJson: <FILE> C:\files\via-manifest-vcf-bundle-2.2.1-7236974.json
  5. Click the send button and you should receive a “status”: “Success”, message as seen below.
  6. Switching back to the VIA interface at this point you will see the upload is in progress
  7. Once upload is complete R730/R730xd is now available to image: