AnotherPassword
Enthusiast
Enthusiast

Using virtualMachineAddOrUpdateProperties to set IP information for VM using vRO 7.x

I have a blocking EB Subscription published.

Data/Lifecycle state/Lifecycle state name, Equals, “VMPSMasterWorkflow32.BuildingMachine“.

Data/Lifecycle state/Lifecycle state/State phase, Equals, PRE.
Data/Machine/Machine type, Equals, “Virtual Machine“.

It is attached to a workflow with 1 input 'payload' of type Properties and 1 output 'virtualMachineAddOrUpdateProperties' of type Properties. I use payload just to verifty that Iam receiving data.

I have a blueprint with a VM on it. Reservation policy's reservation has 1 network, a customization spec to join domain,clone from template, no Network properties, and 1 Custom property  Extensibility.Lifecycle.Properties.VMPSMasterWorkflow32.BuildingMachine with the value of * .

When I select the blueprint, I ge the payload in vRO and I can see properties so I know it is firing. I have read from an article using this method to set a customization spec name that I shoul d just be able to create an output paramater virtualMachineAddOrUpdateProperties and set the network in a scriptable task  information as so:

virtualMachineAddOrUpdateProperties = new Properties();
virtualMachineAddOrUpdateProperties.put("VirtualMachine.Network0.AddressType", 'Static');
virtualMachineAddOrUpdateProperties.put("VirtualMachine.Network0.Address", '10.7.128.28');
virtualMachineAddOrUpdateProperties.put("VirtualMachine.Network0.SubnetMask", '255.255.255.0');
virtualMachineAddOrUpdateProperties.put("VirtualMachine.Network0.Gateway", '10.7.128.3');
virtualMachineAddOrUpdateProperties.put("VirtualMachine.Network0.Name", '10.7.128.x');

I have the output parameter set and it DOES NOT update the IP, I just get an APIPA 169.x.x.x address.

Is it supposed to work this way in 7.x? Is the vCAC entity passed automatically to the workflow and I just use virtualMachineAddOrUpdateProperties/

thanks,

ds

0 Kudos
3 Replies
eservent
Enthusiast
Enthusiast

Hello AnotherPassword,

I use too EB Subscription event.

I do exactly the same (put VirtualMachine.Network0.Address etc.) and it works perfectly.

To be sure the problem isn't in EB, maybe you should try to trig a next State Event (eg. MachineProvisioned) and check the payload with the updated values.

The only difference I see with my workflow (but I'm not sure it's important), is the second Output parameter virtualMachineDeleteProperties (type Properties).

Else, I suppose the problem is more with the network device (maybe check it in the template) if it's not well configured.

Or just add/update this property : VMware.Network.Type - Value: VMXNET3, long time ago, it was usefull...

Emmanuel.

If my answer resolved or helped you, please mark it as Correct or Helpful to award points. Thank you! Emmanuel.
0 Kudos
ratheeshp1986
Contributor
Contributor

I am also trying to achieve same. Have you solved problem ?

0 Kudos
fsanchez298
Contributor
Contributor

@AnotherPassword Can you help me understand how you implemented the solution using virtualMachineAddorUpdateProperties?  Perhaps, provide sample script and diagram.  I am new to using vRA and done very little.

0 Kudos