Update: this article has been updated for vSphere 6.0 U2.
I would like to write a small series on Content Libraries as I think they are handy and useful. I will start by saying that I sat in a few meetings about Content Libraries while at VMware R&D and it was something that was important to me as I know it was important to customers. This is in fact the second try that you might know about. VMware talked about it, and even had an alpha / beta of it, but it was not quite right and was not released. What was released with vSphere 6 is much more useful then what was envisioned in the far past and that is a darn good thing. But is it ready for common use yet – you may be surprised? Lets get started with it.
BTW, this article will be updated as we get more vSphere updates. As we get those updates I hope we get some goodness for Content Libraries.
What is a Content Library?
A Content Library is a place to store templates, vApps, OVA / OVF, as well as other files. A Content Library (CL) can be local to one vC or subscribed across multiple vCenters. Even in a single vC environment it will provide value as a single place to store files, but in a multi – vCenter environment you will really be able to take advantage of a CL – think about it. One place to find a template, or a VA that you use often. This promotes consistency as well as better space management.
What does it look like?
In some ways it looks quite like you would expect. Meaning it is out of sight, until you need it – for the most part and then you only see a little for what you need. At least that is mostly true.
Working with a template that is stored in a Library?
You can create a VM from a template that is stored in the CL in a number of ways. You could go right into the CL and right click on the item and use it. But a more common or familiar way is to use the Action menu and select New Virtual Machine \ New VM from Library.
And while you might think the process from this point would be what you are used to that is NOT true. Behind the scenes of the Content Library it stores templates in OVF format. So creating a new VM from the template in the library is deploying a OVF. So, there is no good option for using a Customization Specification. Not good. Yes, you can – after deploy is complete – right click on the VM, select Guest OS and select Customize Guest OS. This is not the same Custom Specification wizard you are familiar with. It does allow you to select a custom specification but not modify. So this makes this feature – using a template in the CL not very useful. You can use it to deploy OVA you get form VMware but not much else! Unfortunately if you keep reading you will discover that using ISO out of the CL is not that useful either.
How do I get a template into a Library?
You would start in the VMs and Templates view.
Now you right – click on the template and you will see some new options.
Use the Clone to Library option.
This is an interesting screen. Fill in the typical info, and pick your library. But note the two options at the bottom? There is not much info I can find on them in the docs. But they make more sense when you realize that inside the library the template is stored in .OVF format and those two options are about OVF. I think in a single vC environment there is not need for those options.
This will take longer then importing the ISO, but you can watch the status in the Recent Tasks – as seen above.
Working with an ISO from a Library
Lets start in the vSphere Web Client and assign a Win2K12 ISO to a VM.
We Edit Settings on this VM.
We have selected Datastore ISO File and connected it. But where is the ISO file? That is where this lovely story falls to pieces.
We need to select the datastore, and look for the content library, which may be hard to find if you have more then one library.
Now – thank goodness that we have only one or two things in our library.
Which is the Win2K12 ISO?
OK. Found it.
We select it as per normal and we are good.
If we look in the VM we will see the ISO.
Important note: you do not see me shaking my head. It is clear to me that VMware missed a very normal and typical use case with using ISO in the Virtual Infrastructure. Maybe they did not miss it and it was prioritized very low for some reason. While I showed you something that worked, it is not really workable. If you have a multiple of libraries, and a multiple of things in each it will not work. You would be better off – until this is fixed – to continue doing ISO as you are doing them now. I will commit to bring this to the attention of VMware and hopefully share this frustration with them (update: they know).
How do I get an ISO into the Library?
We start at the Home page and access Content Libraries.
Once we see the list of Libraries – in our case only one so far called ISO.
We click on the Library (ISO) and we will be inside of it and see something like below.
We want to add an ISO that our users can use. So lets change to the Other Types area which makes more sense to add ISO to as compared to the Templates area where we are now.
Now that we are on the Other Types area we can use the Import button as seen above with the red arrow point at it.
I have selected in the screenshot above my Win2K12R2 ISO. I put some notes to help identify this ISO and we continue.
Before you know it we have an ISO in the library.
If you are curious what this ISO looks like in the storage location you can see below in the screenshots.
If you have a lot of things in your Content Library, or more than one CL you might have a very confusing path to find where things are.
If you click on the Library item – in this almost empty library it is the Win2K12 ISO, you will see additional options.
Under the Actions option you have a number of options.
As well you have the blue arrow for Export, and the green arrow is what we used to upload the ISO. Export could be used to pull the ISO down to your local desktop.
If you double-click on the item you will see more info.
BTW, there has been some industry chatter about only having templates and ISO type stuff in your library. Here is an example of that not being true.
I am uploading a cert to the library.
Install and configure of your first Content Library
You will need a vSphere 6 environment to start with. It is nice how in vSphere 6 everything is installed, which means we do not need to install the CL but rather create one and configure it. If you need help upgrading to vSphere 6 check out this article I wrote as it will help. You can find more info in the vSphere 6 docs in this section.
Creating a Content Library
We start at the Home page as seen below.
As seen above there is a Content Libraries option – lets select it.
Once selected we see the CL area but with no Libraries.
We can create our first CL by using the small weird looking icon as indicated with the red arrow above.
We add a name, and a description, and continue.
We are now at an important screen.
We are creating a Local content library, and we can decided to let other people use it now by selecting the Publish content library externally option. We can require a password if necessary. This is a 1.0 product so a single password is your choice, but I expect that to change in future versions. We are going to save the Subscribed content option for another article as it is a bit bigger subject! As I mentioned above we are doing the one vCenter option that I think many customers will start with.
So I have made the choices I need, and we continue.
What you can see here is that you can use a local file system or a datastore. The text on this screen is interesting. It sounds like to me if you wish to replicate the data you have in the CL you need to use a datastore. It also sounds like the use of datastore is optimized somehow(for cloning?) if you select a datastore. So I am using a datastore as you can see in the screen.
We see our summary and the Finish button. Once it is finished we can see something like below.
Now we have an empty library, we can start using it now, or we can advertise it with out users. I believe you will normally want to have one person or maybe one team, publishing to the library and have others consume.
You now know a lot more about Content Libraries – you can create them and move things up to them and consume as needed the content. You learned that using the CL for ISO is not as easy or useful as it needs to be – although I hope and believe that it will get better. You also learned that using deploy a VM from a template in the CL is not that useful at all. CL is in fact a 1.0 product and you cannot get all of the features into a 1.0 product that people need or want.
In summary, I would have to say that Content Libraries is a good start but not that useful yet. I feel bad that life at a start-up kept me from being very productive in the beta as I would have preferred to not write this blog, and report these serious shortcomings in beta.
Thanks for reading this far! As always I appreciate any comments or questions. I will keep this document current and update it as I learn more.
- 2/24/17 – added two articles (vSphere 6 CL related – one about deploying content, and one about distributing.
- 4/5/16 – updated for vSphere 6.0 U2, and for readability.
- 9/7/15 – An interesting article about the impact of configuration on synchronize times. Another article about efficiently deploying VMs – actually more about performance overall.
- 5/23/15 – Transfer Server Properties, which talks about some of the properties you can change around transferring files. Using Content Libraries is the parent of some useful information in the docs. Both of these are in odd locations one is VM and one is API.
- 3/28/15 1818 – someone heard my comments. All I can say is no comment.
=== END ===