There are a few components to executing scripts in a Windows Guest OS which I’m going to cover in this post. Those items are:
- Windows Guest Agent
- Custom Properties
Windows Guest Agent – UPDATED!
Note: Due to a bug in this version of the agent installer that prevents it from being properly removed from the guest machine I recommend you use the process I define in Automated Install of Windows Guest agent to install the agent. You can follow the article and automate the installation or perform the steps manually in your template to achieve the same result as outlined in this article, without the side affect of the agent staying resident on your deployed machines.
The Windows Guest Agent has a number of feature benefits that you receive if you utilize it. The Windows guest agent is a small agent that acts very similarly to the vCAC proxy agents. When it is installed you give it the name or IP address of the vCAC server. This allows it to check in with the server when it loads on a newly provisioned machine and determine if there is anything it needs to do. If the vCAC server has work for it to do it send the instructions and the agent executes the instructions on the local guest operating system. Once the guest agent is finished performing the work assigned the last process it executes is to remove itself from the guest. The guest agent comes with a number of pre-built functions, but also allows you to execute your own scripts. Some of the features available with the Windows Guest Agent are:
Disk Operations – Partition, Format, and mount disk that is added to the machine.
Execute Scripts – Execute scripts after the machine is provisioned.
Network Operations – Configure setting for additional network interfaces added to the machine.
Continue reading “vCloud Automation Center – vCAC 5.1 – Executing Scripts with the Windows Guest Agent”
To create a custom drop down menu that can be presented to users at request time we will be leveraging the Property Dictionary. The Property Dictionary gives us the ability to enhance and further customize the request experience. The Property Dictionary allows us to:
- Create Basic Drop Down Menu’s
- Create Context Sensative Drop Down Menu’s
- Create Drop Down Lists
- Create Checkboxes
- Create Date/Time inputs
- Create Noteboxes, TextBoxes, Integer inputs, links, password inputs and more.
In this example we are going to create a basic drop down menu that allows a user to select the folder their machine should be placed in inside vCenter from a list of available locations.
Continue reading “vCloud Automation Center – vCAC 5.1 – Creating Custom Drop Down Menu’s”
In this example we are going to configure a few different types of custom properties. The properties we are going to configure are:
- VMware.VirtualCenter.Folder – This property allows you to define the folder in vCenter that a virtual machine will be placed in. If the folder does no exists it will be created when a machine is crated to be placed in the folder.
- Cost.Center – This is not a reserved custom property, it’s one we are going to make up to attach a cost center to the machine request.
- Project.ID – This is not a reserved custom property, it’s one we are going to make up to attach a Project ID to the machine request. We are going to prompt the user to input this value as part of the request.
- Plugin.ADMachine.Cleanup.X – There are actually a few properties associated with this. The AD Cleanup wizard is a set of properties that allows you to configure what action to take in AD when a machine is destroyed. In my example I’m going to remove the machine record, however you can also configure it to move the machine to a specific OU and not delete it’s record.
Continue reading “vCloud Automation Center – vCAC 5.1 – Using Custom Properties”
vCAC utilizes custom properties in many different ways. They can be very useful if properly understood. To start with there are two high level classifications for custom properties. Those are:
- Reserved Custom Properties – These are properties that vCAC understands and utilizes as part of it’s operations. vCAC has hundreds of reserved custom properties that it utilizes. These can be explored further at the end of the vCAC 5.1 Operating Guide.
- Non-Reserved Custom Properties – These are properties that you can create on your own. These can simply be utilized to attach metadata to a machine, or they can be utilized within custom workflows and scripts.
Reserved Custom Properties
Reserved custom properties come in four different types:
- Internal Properties – Internal custom properties are for vCAC use. These properties hold information relevant to features within vCAC such as approvals which don’t leverage any external systems.
- External Properties – External custom properties are used for configuration outside vCAC. Properties that utilized to customize a provisioned machine are external custom properties. An example of this would be a property that defined the drive letter and label to be assigned to a disk inside a machine. (Note: If the values change on the provides machines they do not get updated in vCAC. The properties are utilized at provisioning time to perform the configuration only)
- Read-Only Properties – Read only custom properties represent values such as the UUID of a virtual machine that cannot be changed or altered on the virtual machine or within vCAC.
- Updated Properties – Updated custom properties represent items that can be changed and the updates reflected in vCAC. For example if the memory associated with a virtual machine were update through vCetner, when vCAC did it’s next docovery it would detect the change and update the property value for memory associated with the virtual machine.
Reserved custom properties are integral to the operation of vCAC. The properties are utilized by the built-in workflows to perform specific tasks as well as enable features. All machines in vCAC have a minimal set of properties that are attached to them for vCAC to be able to perform it’s functions. If we look at a vCenter virtual machine you will see these properties association with each one:
Continue reading “vCloud Automation Center – vCAC 5.1 – Custom Properties Demystified”
vCAC has a feature that can be enabled to provide support for Static IP address assignments of provisioned workloads. This Static IP Address feature allows you to create “Network Profiles” that you assign to your networks from which it assigns IP addresses to machines that are provisioned on to the network. vCAC handles IP address allocation in the following way:
- When a machine request is submitted it get placed on the appropriate reservation that is assigned to the group that can support the request.
- Once placed on the reservation it get’s assigned to a network. If the network has a “Network Profile” assigned to it the machine will receive the next available IP Address form the “Network Profile. If not no address will be assigned.
- As pat of the machine provisioning process you can execute “VMware Customization Specs” that perform the sysprep operation on the provisioned machine. When an IP address is assigned from a “Network Profile” vCAC instructs vCenter to override the customization spec with the IP information assigned to the machine. (When using VMware cloning either customization specifications” or the “vCAC Guest Agent” is required for static IP address assignments.)
Continue reading “vCloud Automation Center – vCAC 5.1 – Configure Static IP Address Support”
A Multi-Machine service is a Blueprint that is configured to deploy multiple blueprints/machines from one request. Essentially let’s say you have a blueprint that is configured to deploy a Windows 2008 Server with SQL, and you have another blueprint that is configured to deploy a Windows 2008 Server with an application installed such as vCAC. You can create a Multi-Machine service blueprint that contains both blueprints. You Multi-Machine service can be vCAC Server and when it’s requested it will deploy both blueprints each with their own configuration as well as overall multi-machine configuration that can be laid on top.
If you think about it vCAC can manage different hyperervisor such as vSphere through vCenter or vCD, Hyper-V, XenServer, it can manage Physical Servers, and external Amazon EC2 resources. So you can have individual blueprints configured to deploy to these different types of infrastructure. This gives you incredible flexibility. You could have a Multi-Machine service that has a blueprint that provisions an application server to a vSphere environment, a database server to a physical server, and multiple web servers to Amazon EC2. So let’s see how we configure a basic Multi-Machine Service.
Be sure that you have completed the steps in the below posts before configuring a multi-machine service:
First things first. We need at least two blueprints to be able to create a multi-machine service so let’s make a second blueprint. This can be done very easily by making an existing blueprint copyable. To do this perform the following:
Continue reading “vCloud Automation Center -vCAC 5.1 – Conifiguring Multi-Machine Services”
I’ve been getting asked a lot of question on how to execute scripts within Linux Guest Systems using vCAC. There are a few components to executing scripts in a Linux Guest OS which I’m going to cover in this post. Those items are:
- Linux Guest Agent
- Custom Properties
Linux Guest Agent
The Linux guest agent has a number of feature benefits that you receive if you utilize it. The Linux guest agent is a small agent that acts very similarly to the vCAC proxy agents. When it is installed you give it the name or IP address of the vCAC server. This allows it to check in with the server when it loads on a newly provisioned machine and determine if there is anything it needs to do. If the vCAC server has work for it to do it send the instructions and the agent executes the instructions on the local guest operating system. The guest agent comes with a number of pre-built scripts and functions, but also allows you to execute your own scripts. Some of the features available with the Linux Guest Agent are:
- Disk Operations – Partition, Format, and mount disk that is added to the machine.
- Execute Scripts – Execute scripts after the machine is provisioned.
- Network Operations – Configure setting for additional network interfaces added to the machine.
Continue reading “vCloud Automation Center – vCAC 5.1 – Executing Scripts with the Linux Guest Agent”
I have written a few articles that show you how to configure “Reservations” in vCAC. In this article I’m going to dig in to some details around “Reservations”, how they work, and the additional options that are available for them.
What are Reservations?
Reservations are a way for Enterprise Administrators to provide a subset of resources to the users within the organization. When a reservation is created it is assigned to a specific Provisioning Group and only a single Provisioning Group. They are a construct within vCAC and are not related to “Resource Pools” in vCenter. They can however be mapped to one which we will discuss. There are (3) primary types of Reservations:
- Virtual Reservations
- Cloud Reservations
- Physical Reservations
Virtual Reservations are used to allocate resources for the following:
- VMware vSphere
- VMware vCloud Director
- Hyper-V Hosts
- Hyper-V managed by SCVMM
- Xen Server
Continue reading “vCloud Automation Center – vCAC 5.1 – Reservations Demystified”
In my last post I covered how to connect vCAC to Amazon EC2 which I hope was useful for many it appears to have received a lot of attention. In this post I’m going to walk you through how to connect vCAC to vCenter. Be sure that you have completed the steps in the below posts before you connect to vCenter:
What were going to configure
In order to configure vSphere integration we are going to setup some additional components of vCAC as outlined below:
- Credentials -Credentials will be utilized by out endpoints to authenticate us to the infrastructure element managers that we are going to communicate with.
- End Point – Endpoints are how we manage connections from vCAC to other infrastructure elements in the environment. There are endpoints that allow us to communicate with EC2, vCenter, vCloud Director, vCenter Orchestrator, Hyper-V, NetApp Filers, as well as Physical Servers such as HP iLO, Dell iDrac, and Cisco UCS.
- Install the vSphere Proxy Agent – The vSphere proxy agent is like a DEM, only it has pre-programmed workflows that perform a specific function. In this case the function will be to communicate with vCenter. Proxy agents are a bit legacy and will hopefully be ported to the new DEM architecture in the future.
- Enterprise Group – Although we already created an Enterprise Group we are going to add vSphere Compute Resources to the group in this exercise. For more information on what Enterprise Groups are see my earlier article “vCloud Automation Center – Laying the foundation“.
- Reservations – A resource reservation is how we provide available resources to our provisioning groups. Resource Reservation are a one to one mapping to provisioning groups. Resource reservation will get created for any type of resources you want to make available to your groups. In this exercise we will be creating a virtual vSphere reservation.
- Global Blueprints – A Blueprint is really a service definition that details what the consumer can request and all the policies and configuration of that service. We will create a virtual blueprint that a consumer can request through the service catalog in this example. I will cover Blueprints in greater detail in another article.
Continue reading “vCloud Automation Center – vCAC 5.1 – Connecting to vCenter”
A few months ago I set out to build a home lab that I could use to run vSphere, vCD, View, vCAC, vCO, vCops, and all other grat management tools that VMware has as well as Hyper-V, XenServer, KVM, OpenStack, Citrix XenDesktop, XenPVS and just about anything else I could think of running. Initially I built a server with the following specs:
The Power House
- (1) ASUS KGPE-D16 Dual Socket AMD Motherboard
- (2) AMD Opteron 6320 2.8GHz 8-Core Processors
- 128GB Memory
- 800W Corsair PowerSupply
Continue reading “Home Lab capable of running just about anything you want”