«

»

Jan 14 2014

vCloud Automation Center network selection during VM request

During last weeks vCloud Automation Center 6.0 proof of concept (POC) i was asked by my customer to make it possible to select different vSphere vNetwork Distributed Switch port groups (VDS-PG) during the virtual machine (VM) request step. I used the below steps to create a drop down menu for the end user while requesting a VM.

  1. Edit your reservation, in my case  VCDX56-02-VCD01-Res-1, and mark the checkboxes next to the networks you want to be available for selection. For this blog post i will make the below networks available for selection.
    Screen Shot 2014-01-08 at 23.48.26
    If you do not mark the networks you want available you will end up with the below error message when requesting a VM and point it to a network available for selection but not enabled in the reservation.
    Screen Shot 2014-01-08 at 23.46.40
  2. Add a Property Definition via the Property Dictionary section using the following values:
    • Value = VirtualMachine.Network0.Name
    • Display Name = Select Destination Network
    • Control Type = DropDownList Screen Shot 2014-01-08 at 23.35.04
    • Click Edit under the Property Attributes section of the Property Definition you are creating. Screen Shot 2014-01-08 at 23.35.30
    • Add the following configuration
      • Type = ValueList
      • Name = SelectableNetworks
      • Value = VCDX56-10, VCDX56-12, VCDX56-20, VCDX56-22 (The enabled reservation networks) Screen Shot 2014-01-08 at 23.36.34
  3. Create a new Build Profile using the following settings:
      • Name = Select Network
      • Description = Available networks: VCDX56-10 VCDX56-12 VCDX56-20 VCDX56-22
      • Custom Properties:
        • Name = VirtualMachine.Network0.Name
        • Value =
        • Encrypted = No
        • Prompt User = Yes Screen Shot 2014-01-08 at 23.49.56
  4. Edit your blueprint, in my case W2k8, and mark the check box next to “Select network”
    Screen Shot 2014-01-14 at 07.51.57-01

You are now able to select the VM destination network when requesting the Service w2k8 form the Service Catalog,
Screen Shot 2014-01-08 at 23.50.31
Screen Shot 2014-01-08 at 23.50.42
vCloud Automation Center 6.1 VirtualMachine.Network Property Definition changes is another blog post that covers the vCAC Network selection part. It also includes the Network Profile concept.

27 comments

4 pings

Skip to comment form

  1. Preetam

    Thanks very much for sharing this valuable piece of information. Very good example of build profile. I was just wondering if we can use similar way to select between small, medium, large size VMs

  2. magander3

    Hi,
    from my perspective i think i would create a blueprint where the users can select e.g. number of vCPUs, RAM, Disks, number of Nics. If not, you can create static values using multiple blueprints.

    regards,
    Magnus

  3. Alan

    Hi,
    i think that this works only if you use DHCP as Ip assignment, because the Network0.Name only change the “VLAN” tag on the vCenter vm. If you use Static IP assignment with IP Ranges, you need to use the Network0.ProfileName too…i mean this what i needed to do to make it work in my environment 🙂 ..

  4. Tom Courtney

    The issue that I have is that we have just created new port groups and they don’t appear in the network tab when creating a new reservation? Is there any way to force vCAC to refresh the available network port groups so they are available when creating a reservation?

    vSphere 5.5
    vCAC 6.0.1

  5. Tom Courtney

    Ok so, I kinda answered my own question. The updates which are supposed to happen every 15 minutes just aren’t working, but you can force a refresh by going to Infrastructure –> compute resources. Hover your mouse over the compute resource and select “Data Collection” then click all the “Request Now” buttons on all the relevant sections.

  6. magander3

    Hi, yeah you did. Actually it’s enough to collect inventory info.

    //Magnus

  7. Johan Marais

    Hi M
    Based on the above work, i have the need to populate 3 vm annotation fields on creation of the vm. (Company, Billing & Purpose) the lists for these 3 selections will be static. Could the same method be used to populate the fields based on selection on creation of the vm or would i still have to rely on a post task in vCO?

  8. magander3

    Hi Johan,
    you can use Custom Properties + Property Dictionary to solve this.
    Drop me an email via the Author section of the blog and i can outline how to do this in more detail.

    //Magnus

  9. Alex López  (@CoquiPR81)

    Hi Magnus – I am trying to use these custom properties (.Network.Environment, .Network0.Name, & .Netowrk0.ProfileName) and they have generated the dropdown menus when requesting a machine from the catalog. Only issue is that a DHCP address is never assigned to the VM from the Network Profiles that I’ve specified. However – if I remove the custom network properties, then it successfully grabs a DHCP address. How can I get this to work properly?

  10. magander3

    Hi Alex,
    are all the network profiles selected in the reservation you are using and not only one?

    regards,
    Magnus

  11. Alex López  (@CoquiPR81)

    Hi, thanks for your response. Yes, I have 2 network profiles selected in reservation. I created relationships with custom .xml”s to design the dropdown selection & layout. It all works (selects correct network, etc.) but never actually grabs an IP from the selected network profile. Strange…can’t figure it out.

  12. magander3

    Hi,
    just to make sure. if you provision a VM and not use any network selection (just use the default network) in vCAC the VM get an IP address form an external DHCP?
    If you use network selection and select either the default one or another (both activated on the vCAC reservation) you’ll not get an IP address?
    Do you use the vCAC Network Profiles or external DHCP in both cases?

    thanks

  13. Alex López  (@CoquiPR81)

    Hi, yes you are correct. Using no custom network properties results in a DHCP address being assigned to the VM. Using custom network properties results in no DHCP address being assigned to the VM.

  14. magander3

    Hi, ok sounds strange. Can you email me via the author page and i’ll reply requisition a few print screens from your environment?

    thanks

    //Magnus

  15. lexone27

    OK email has been sent – awaiting your reply so I can provide screen shots. Thank you!

  16. Swaroop

    Hi Magnus,
    Thanks for this amazing piece of information. Just found out something strange while I was implementing this in the environment. I run on vCAC 6.1. I have got the Networks as drop down. If I provision VM by selecting the network in drop down, it takes IP from the particular network which is absolutely correct. When I view the VM details under Items tab in vCAC, in the Network tab I don’t see the IP of that VM. But in the vSphere, I see that VM has taken a correct IP. When I check the Network Profiles in the vCAC, I don’t see that status of that IP as “Allocated”.
    If I provison a VM without dropdowns for selecting network (conventional method I meant), it works fine and I can see the IP in the Network Profiles and In the Machine Information as well.
    Hope you can help me out on this!!

  17. magander3

    Hi,
    can you send me the build profile, property dictionary, property attribute config via the author page and i can have a look?

    //Magnus

  18. Swaroop

    Can I send you the screen shot? Can I mail to your Email-ID mentioned in your CV?

  19. magander3

    Yeah, that’ll be fine.

    //Magnus

  20. Swaroop

    I have mailed you the screenshots. Please have a look at it.

  21. magander3

    Gr8, give me an hour & and take a look //Magnus

  22. Ahmed Naguib

    What about the network paths, for example if I have three network profile, and each connected to a different path… Say I was able to click the check box – in reservation page – for the three network paths I have, and selected the correct network profile from the drop down list, beside each relevant network path.

    Will vcac assign automatically the VMs to the correct path, or I have to also add a specific custom property for this ?

  23. magander3

    Hi,
    really don’t know what exactly you mean. You can only connect the VirtualMachine.NetworkN.Name to one vCAC Network Path. You can add several Network Paths to a VM by adding several VirtualMachine.NetworkN.Name (just change N to 0 for the first one, to 1 for the second one and so on).

    vCAC Network Profiles can be used to determine from which internal vCAC Network Profile the VirtualMachine.NetworkN.Name will receive it’s IP address from.

    You donate need to use both these anymore in vRA 6.2, it’s enough with VirtualMachine.NetworkN.NetworkProfileName.
    See more here, http://vcdx56.com/2014/12/09/vcloud-automation-center-virtualmachine-network-property-definition-changes/

    //Magnus

  24. Darren

    Hi magander3

    Thank you for the article. Please could you elaborate on this further to include instructions how to rename a vRA 6.2 VM at time of provisioning to something that removes the compulsory machine prefix.

    Or better yet, how can make machine prefix a non-compulsory requirement?

    I am provisioning vApps from my vCloud Director endpoint using the vAppCloneWorkflow in the Blueprint, but I am forced to append a machine prefix onto the VM name, when this is not required, as vCloud automatically appends a GUID onto the name anyway, so do not need 001, 002, 003 appended to VM name.

    Thanks in advance
    Darren

  25. magander3

    Hi Darren,
    this is absolutely possible. you need to intercept the vRA provisioning and e.g. push the naming convention to vCO.
    If you need assistance with this i’m sure we can work something out but i will most likely not write a blog post about it any time soon.

    //Magnus

  26. Darren

    Thanks Magnus – that’s good news – I look forward to your blog post regarding the vRA VM renaming.

    The same should apply to the renaming of a vCloud vApp deployment – as when the vCloud vApp blueprint gets deployed, with its multiple component blueprints, it too is forced to use a machine prefix, when I would prefer a naming convention that does not increments numbers.

    Thanks
    Darren

  27. Manish

    Hi Magnus – Can i use property dictionary to edit the default size of primary base disk eg: C drive. The point is – I can edit the base volume while requesting from catalog but ofcourse VM gets provisioned with the blueprint defined size and not the size i edit while requesting VM. Thanks !

  1. Newsletter: January 18, 2014 | Notes from MWhite

    […] network choices in a drop down menu.  Other times it might be something else so it is good to have this information to […]

  2. vCloud Automation Center 6.0 –Creating Build Profiles, Custom Properties | All about Cloud Ecosystem based on VMware

    […] to learn to more on how to do this, please refer to an excellent blog by Magnus Andersson –>vcdx56.com. I’m regular reader of this excellent […]

  3. vCAC 6.0.x and vCO to rename a virtual machine | Chris Berry Blog

    […] The best way to set this up is to use a property dictionary. Here is a good blog post on how to do that. Just mimic this for what we’re doing. http://vcdx56.com/2014/01/14/vcloud-automation-center-network-selection-during-vm-request/ […]

  4. vCloud Automation Center 6.1 VirtualMachine.Network Property Definition changes | VCDX56

    […] A couple of moths back i wrote an article about how to select virtual machine (VM) network placement while deploying a VM via vCloud Automation Center (vCAC) soon to be renamed to vRealize Automation (vRA). You can find the blog post here. […]

Leave a Reply

Your email address will not be published. Required fields are marked *

You may use these HTML tags and attributes: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code class="" title="" data-url=""> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong> <pre class="" title="" data-url=""> <span class="" title="" data-url="">