VMware Cloud Community
JGSheppard
Contributor
Contributor

Catalog Request Issues: Return Disk Size, CPU, Memory Information (after selecting VM)

Hello,

I am trying to figure out how to have some specs of a VM returned within the catalog item request for the end user to view before the end user inputs additional catalog information. This will allow the end user to make a more informed decision before inputting additional catalog information. 

Examples:

    - End user selects a Catalog Item to Increase Disk Size -> End user selects VM from within Catalog Item Request -> End user is able to view returned current disk names and disk sizes of VM in Catalog Item Request before selecting how much space to increase by

    - End user selects a Catalog Item to Increase vCPU  -> End user selects VM from within Catalog Item Request -> End user is able to view returned current vCPU of VM in Catalog Request before selecting how much space to increase by

I have tried Data Binding, and Predefined List of Elements in the Presentation tab in Orchestrator, but I am not able to get values to return to the vRA Catalog. I have also attempted to create a custom action but still am not getting proper returns.

Has anyone come across this issue or have completed any similar tasks?

8 Replies
eoinbyrne
Expert
Expert

Is this an XaaS Request form? If so then you're generally better off to convert data values to strings in the vRO JS code as it makes presentation simple and more reliable.

Also, based on your logical flow you have a contextual dependency between the VM selection the CPU count - meaning that you need do the following after the VM is chosen

- Locate vCAC VM entry for the named VM

OR

- Locate the VC VM entry for the named VM

Whichever you do, you need that object to get the sizing data which you will return for display.

When I do this in XaaS forms I usually use the "External Value" option to execute a vRO action which will return either a string or an array of strings (depending on what control I'm feeding). The vRO action can accept parameters from the form so you can write your action to accept a VM object (or name) and the handle the rest for you to get the CPU count

Reply
0 Kudos
JGSheppard
Contributor
Contributor

Hello, that is correct, this is an XaaS Request form. Also, there is a contextual dependency between the VM selection the CPU count.

 

So in input field #1, the VM value is entered. Next, I would create field #2 with a vRO action attached as its value, and have that action return a value? And the value will be displayed in field #2? 

 

Also, "The vRO action can accept parameters from the form so you can write your action to accept a VM object (or name) and the handle the rest for you to get the CPU count"

    - How would I pass the input entered from field #1 into the action in field #2?

Reply
0 Kudos
eoinbyrne
Expert
Expert

This is how I generally do this

pastedImage_0.png

The action listed takes a string value and if you choose Field as the source for the parameter you can use the value entered for another field

JGSheppard
Contributor
Contributor

Sounds good. Thanks for your reply!
Reply
0 Kudos
JGSheppard
Contributor
Contributor

So the Action I use in vRO works fine, but whenever I try to link it as an external value and Map external value parameter input to the VM, I receive errors.
Reply
0 Kudos
eoinbyrne
Expert
Expert

The action supporting the data fields there must be throwing an error perhaps? You'll need to tail the file

/var/log/vco/appserver/scripting.log

while the action runs to see what is happening.

Make sure your actions have System.log calls in them to trace the activity

Reply
0 Kudos
JGSheppard
Contributor
Contributor

Odd, it seems to work when the field in the catalog is a drop down menu. Close enough, thanks!
Reply
0 Kudos
xian_
Expert
Expert

What data type does your action return? Have you tried to return a string?

Reply
0 Kudos