koushik_vmware
Enthusiast
Enthusiast

How to Bind a Blue Print property with Software Component Property in vRA7.2 ?

Hi All,

I have created a custom property in my Blue Print level ( not the machine level). Now I would like to bind this property to one of my software component's property.

Is that feasible/possible ? I know the machine level property can be binding with software component's property But I am not sure how BP level property can be binding with software component's property ? Please help.

Thanks,

0 Kudos
7 Replies
evil242
Enthusiast
Enthusiast

This has been extremely frustrating as I have properties that are entered at the Blueprint level that I would like to use at the software component level.

Or even more difficult, getting different values from a property saved in our multiple Business Groups to the software component.

One of the tasks we are trying to accomplish is using a software component to register a RHEL system under the requesting Business Group to the associated Red Hat Satellite Server Organization.  Something that would be easy if we could use properties from the Business Group.

It doesn't seem like the developers thought out that vRA would be used for multiple Business Groups in a single Tenant.

0 Kudos
richardtracy79
Contributor
Contributor

I posted this elsewhere but ti better suites this discussion: Re: Property Bindings between blueprint components

We're running vRA 7.3 and I have not been able to bind Blueprint level custom properties or property groups to VM level or software components within the blueprint. However, it can be bound from VM to software component, just not at Blueprint level that I can find.

Example: How to use Drop Down lists with vRA Software Components – VMtoCloud.com

I have read articles where custom properties can be sent to vRO via the service bus or event broker

http://www.thevirtualist.org/vra-event-broker-pass-basic-custom-properties-vro/

I'm assuming if this can be done, then you can pass the output back out to a XaaS component, then bind those properties to the VM or Software component

How to pass parameters between vRO7 (VMware vRealize Orchestrator) and vRA (VMware vRealize Automati...

It would be nice (and a lot easier) just to be able to bind variables at the Blueprint level.

What I can't figure out is how to bind VM Property Groups even at the software level.

0 Kudos
daphnissov
Immortal
Immortal

Property groups are just logical bundling of custom properties and not an identity in itself. You should be able to bind any contained custom properties to software component variables however.

richardtracy79
Contributor
Contributor

I've read that same thing. Whats the point of a property group then if can't use it anywhere? I've seen articles where property groups or add to a VM, but I'm seeing the binding action to the software component. Also Property groups allow me to set their value, where property definitions are set at the VM/software compenent level. again same problem I have now.

You wouldl think that ff you create a few custom property defintions, then build a property group for those definitions, then tie that property group to the VM level, then drag a software component (with properties) onto the VM, when you click the the bind button on one of the software properties; and type the VM name then  ~, there would be the properties, but there is no properties populated from the property group...

global_propertygroup-binding_options.png

i do see property_groups as an option but I'm not sure what to do with that. There is no sub section of that, that I know of.

0 Kudos
richardtracy79
Contributor
Contributor

OMG. I figured it out!!! It was right under my nose. So this must be a glitch in vRA or just not something they wanted it to do.

Property groups can be added to at Blueprints level or VM level and be bound to the software component level. The key is when clicking the bind button; it does not see those properties listed; however if you type it in manually (while bind option is checked). It won't auto complete for you but they do work. I have tested this by creating a simple powershell script that output the properties that are bound to the property group.

Example: Based on what level your working in for binding; I want my software component (Level 2) bound to the blueprint (Level 0). So my property group, with definitions, bind would be something like: company.property.definition.first. If I added the property group to the VM level (Level 1), I would need to type it in like: VMName~company.property.definition.first. Now again this will not prepopulate; I had to type them in. SInce I want all mine bound to the blueprint; i would use no ~.

global_propertygroup-binding-level0.png

You just have to remember the Name of the property definitions. MIne are pretty specific (no conflicts with vRA's builtin properties)

global_propertyname.png

The cool thing is my form is now simplier and you only need to fill in one page...now only if I can rearrange/remove the Description and Reason for Request text boxes. 

global_catalog_request_new.png

Here is the output of the software component (written in powershell)

global_powwrshell-output.png

I wish this was expained in the VMware's documentation. I assumed if the bind option did not see it, it couldn't be used. This was found by mistake by the way.

Hoepfully this helps someone out....Thanks for all your help

0 Kudos
daphnissov
Immortal
Immortal

So, just to clarify, you've attached a property group to the deployment, but you're actually binding the individual, contained properties to your software component's properties? In otherwords, you're still binding custom properties, they just happen to be exposed via a property group on the deployment (blueprint) object.

0 Kudos
richardtracy79
Contributor
Contributor

Correct, like you mentioned before the property group is a collection of property definitions. The only difference is the binding element does not populate the property definitions in the groups at any level nor does it populate the custom property definitions at the blueprint level. Typically you would check the Bind box, then start typing in the objects you would like to bind with, then ~ it, then type in the property it contains (or hit up/down arrow on keyboard)...this won't happen with property groups. So to bind them just type int he exact property name when binding. It would be nice if vRA populated all merged property groups so this task would be easier. 

0 Kudos