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”
Usually most people go straight for connecting vCAC to vCenter, but I have decided to connect to Amazon EC2 first. I’m doing this for a few reasons, but mainly because anyone reading this has access to EC2. All you really need is any computer with a Desktop Virtualization tool like VMware workstation and you can test vCAC with Amazon EC2. If you don’t have an Amazon AWWS account go to http://aws.amazon.com and sign-up.
Signing up for Amazon AWS is free and what’s even better is you can also provision “Micro.Instances” for free for an entire year as long as you stay within these guidelines. The basics are this:
- 750 Hours of Linux/Windows Micro Instance Usage per month. (613Mb Memory). This is enough to run a single micro instance for the whole month.
- 750 Hours of Elastic Load Balancing plus 15GB of data processing
- 30GB of Elastic Block Storage
- 5GB of S3 Storage with 20,000 Get requests and 2,000 Put requests
- And some other goodies…..
You can run more than one micro instance at a time as long as the consecutive run time of your machines doesn’t go over 750 hours a month. Once you provision an instance it automatically counts as 15 minutes used. I don’t bother trying to calculate by the 15 minutes so the way I look at it is I can perform 750 provisioning tests per month if each test is less than an hour.
Continue reading “vCloud Automation Center – vCAC 5.1 – Amazon EC2 Configuration”
Before we really start to dig into the fun stuff we need to dig a footing and lay a foundation to build on. In this article I’m going to create an “Enterprise Group“, a few “Machine Prefixes“, and create a “Provisioning Group“. For those not familiar with these let me explain:
Enterprise Groups contain “Enterprise Administrators” and “Compute Resources”. When you create an “Enterprise Group” you will give it a name, assign those that will be the “Enterprise Administrators” and select the “Compute Resources” that they manage. The general concept of the “Enterprise Groups” is let’s say you have a group of administrators that is responsible for managing infrastructure in North America, but you also have a separate group of administrators that is responsible for managing infrastructure in Europe. You can create (2) “Enterprise Groups” one for NA and one for EMEA and in the groups you can map the appropriate administrators to the “Compute Resources” they manage. This allows you to separate access to the infrastructure to the appropriate admins.
Provisioning groups contain your users of the infrastructure. These are the users that will make requests for servers or applications and consume resources that are provided by the ‘Enterprise Groups” Provisioning Groups have a few roles that make them up. The roles are:
- Group Manager Role – The PGMs oversea the group, can access all the machines in the group, can publish blueprints to the groups, can work on behalf of the group users, approve requests made by their users and other groups based administration functions.
- Support User Role- This role is intended for your help desk organization. The role allows the assigned user(s) to work on behalf of the groups users to aid in troubleshooting machine issues.
- User Role – These are the consumers. The users are the consumers of the servers, applications, and resources in your environment. They can only gain access to what has been provided to the group(s) that they belong to.
Continue reading “vCloud Automation Center – vCAC 5.1 – Laying the foundation”