VMware Cloud Community
jasper9890
Enthusiast
Enthusiast

Dynamic type weirdness on items page listing

This may be a bug, though I wouldn't rule out human error...

So i figured out how to create basic dynamic types in vRA 7.0.1.   I have the "DynamicTypesManager.makeObject" step in the find by ID WF.   Which is invoked by my workflow that the XaaS blueprint calls via the "DynamicTypesManager.getObject" step.   So far it appears to be working fine.  When I request the item from catalog, it shows up in the items list.  However i've noticed two issues.

1st Issue - the properties of the DT come from a rest api that the FindById wf calls.  It shows them correctly on the item details page (even when they change in the external system that has the rest API).  BUT, they don't seem to change on the items listing because I set up resource actions based on some of the fields (like target criteria of FIELDNAME=SOMETHING). For example one of the fields is a status field.  When the DT object is first instantiated status is set to "Building", but later it us updated in the 3rd party system to "Complete"   I see complete on the details page, BUT if i set the target criteria to only show the action when status=Complete, it does NOT show.  It only shows if i flip it to status=Building.   Which makes me think wherever the DT objects are stored in vCO they don't get updated when the items page is refreshed?  How can you invoke that?   Sorry that's a bit confusing to explain..

2nd Issue - May be related to the above... I noticed in the inventory view of vCO for dynamtic types.  I see the namespace i created with the two brackets { }  but nothing is populated underneath it.   Does that mean something is wrong with how I am setting up my objects?

Thanks for ANY help you can give!

0 Kudos
4 Replies
jasper9890
Enthusiast
Enthusiast

Bump...  Still haven't figured it out

0 Kudos
rmav01
Enthusiast
Enthusiast

Hi Jasper,

Just some thoughts as I have recently worked with Dynamic Types with our vRA instance. For your first issue are you talking about what is shown on the dynamic type item list view (Items >> Dynamic Types >> YourDT)? If so, what is shown on the list view is bound to the 'name' argument on the DynamicTypesManager.makeObject call you are making on your findById wrapper method. Does the value you put in 'name' change at all when the findById call is triggered during different parts of the provisioned object's lifecycle? Try changing the name value to see if it makes any difference. I haven't tested this out personally, but hopefully vRA is going off the ID of the object and can dynamically tweak what is shown on the list view between findById calls like it does within the details view. If it doesn't change then chances are vRA is just taking a snapshot of the object during instantiation for reporting purposes.

For your second question if you're only one dynamic type deep like our setup, then it will not show up as an object in vCO. I think you need to instantiate the other methods (findAll, hasChildrenInrelation, findRelation) as well as have a hierarchy in order for it to appear like you expect it in vCO.

My gripe on all of this is that there isn't a lot of documentation from VMware around ANY of this. Dynamic types to me seems like the most powerful feature in vRA along with the Event Broker. The pubs document is only like 3 paragraphs long and there are a handful of vCO team articles floating around from 2014. Might be a good blog topic *wink* *wink*. Smiley Happy

0 Kudos
cdecanini_
VMware Employee
VMware Employee

I am not sure how vRA update the items view and how often from vRO. You can certainly check when your findbyId workflow is called. Maybe it is called only from the details view each time you open it and not as often in the items tab since this would make 1 call for each item each time you open this view which in some cases is not desirable.

I am not sure if there is a setting in vRA to change this behavior. If you do not make progress you may want to open a support call to ask more information on the update process.

And for the second question it was already answered but basically you need to have at least defined a 2 level object hierarchy (I.E objectsFolder - folder) and have defined the findrelation and has children in relation.

Christophe.

If my answer resolved or helped you, please mark it as Correct or Helpful to award points. Thank you! Visit http://www.vcoteam.info & http://blogs.vmware.com/orchestrator for vCenter Orchestrator tips and tutorials - @vCOTeam on Twitter
0 Kudos
cdecanini_
VMware Employee
VMware Employee

BTW for performance reasons it would make sense the items tab gets refreshed using findAll instead of findById but I do not think it is the case. You can just check which ones of your workflows get called to confirm this.

If my answer resolved or helped you, please mark it as Correct or Helpful to award points. Thank you! Visit http://www.vcoteam.info & http://blogs.vmware.com/orchestrator for vCenter Orchestrator tips and tutorials - @vCOTeam on Twitter
0 Kudos