A Primer on vSphere Content Libraries

Hello all,

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.

Deploy1

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.

TemplateIn1

Now you right – click on the template and you will see some new options.

TemplateIn2

Use the Clone to Library option.

TemplateIn3

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.

NewImport

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.

UseISO1

We Edit Settings on this VM.

UseISO2

We have selected Datastore ISO File and connected it.  But where is the ISO file?  That is where this lovely story falls to pieces.

sad1

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.

sad2

Now – thank goodness that we have only one or two things in our library.

sad4

Which is the Win2K12 ISO?

OK.  Found it.

sad5

We select it as per normal and we are good.

If we look in the VM we will see the ISO.

sad6

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.

ISOUp1

Once we see the list of Libraries – in our case only one so far called ISO.

ISOUp2

We click on the Library (ISO) and we will be inside of it and see something like below.

ISOUp3

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.

ISOUp4

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.

ISOFileUp1

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.

LibraryISOItem

If you are curious what this ISO looks like in the storage location you can see below in the screenshots.

CLDS1

CLDS2

CLDS3

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.

Options

Under the Actions option you have a number of options.

Actions

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.

details

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.

cert

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.

vSphere 6 Home Page

vSphere 6 Home Page

As seen above there is a Content Libraries option – lets select it.

Once selected we see the CL area but with no Libraries.

Where are all the libraries?

Where are all the libraries?

We can create our first CL by using the small weird looking icon as indicated with the red arrow above.

First step in wizard to create a CL

First step in wizard to create a CL

We add a name, and a description, and continue.

We are now at an important screen.

Create3

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.

Create4

So I have made the choices I need, and we continue.

Create5

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.

Create6Summary

We see our summary and the Finish button. Once it is finished we can see something like below.

We have a library!

We have a library!

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.

Summary

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.

Update

  • 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.

Michael

=== END ===

Tagged with: ,
Posted in How To
26 comments on “A Primer on vSphere Content Libraries
  1. Philip Buckley-Mellor says:

    Great article Michael – thank you – I do have a question about one of our environments though. We have a vCenter (currently 5.5) that manages around 70-80 hosts that are split across 6 datacenters via some reasonable links (resiliant 3-10Gbps). This works great but I’m wondering how Content Libraries will work in this scenario. Currently we have FC-attached SANs and datastores at each site and each has an ‘.ISOs etc.’ DS that we manually copy templates/ISOs/vApps etc. to. As far as I can see Content Libraries are part of a vCenter and therefore I’d need to have vC’s at each site to make use of them. Is this a misunderstanding on my part? Thank you very much again, Phil.

    • HI Phil,

      You have what I consider a ‘common’ design of your infrastructure. I see a couple of ways that CL might work for you – even in fact using FC type replication. I will need to test and play more before I can really give you a good answer in terms of a potential design. However, yes, you will need a vC in each location. However, again, there is some design that might allow the answer to be no. Sorry but more testing is needed, and for that I need two features to be added that are not in the product yet but I hope will be out soon.

      Michael

  2. Bisti says:

    It is basically useless (CL) without template customization specs and ISOs mounted in this way.

  3. Philip Buckley-Mellor says:

    Thanks you, I can handle the product just not doing what I need just yet – I’m used to that 🙂 I was more concerned in case I’d misunderstood the product, so thank you.

  4. Glenn says:

    Hi Michael, is there a way to control the replication schedule with CL? In terms of I have a centralized IT that creates the templates and I want the templates to be in the CL for the virtual center that the EMEA folks use (as well as US CL). Can I limit speed or hours to get this template copied into remote CL, so I don’t kill my WAN?

    • Hi Glenn,

      I took a quick look and I found nothing to suggest it was possible to have a replication schedule or any sort of rate limiting. There is not really much known yet about Content Library. I think it has a bright future but it is missing key functionality to make it useful currently. I expect to see improvements in it soon that will make it useful. At that point I expect them to make improvements behind the scenes such as what you are asking about. While CL is in vSphere 6, it is more like a .8 product – not even 1.0 yet.

      Sorry not more help but be sure VMware is working on improving CL and I will update my article as I learn things I can share.

      Michael

  5. dragoncube says:

    “Maximum Bandwidth Consumption” property controls how much bandwidth Content Library consumes for all streaming transfers (includes sync, upload, download and instantiate/capture for some network configurations).

    http://pubs.vmware.com/vsphere-60/index.jsp?topic=%2Fcom.vmware.vsphere.vcenterhost.doc%2FGUID-D6CC67F8-B1FF-4299-A922-87DC62DBD2AE.html

    • Thanks for finding this, I looked without success so very happy you found this info. It is a good start on config but I think it needs work.

      Definitely it looks like there is more functionality to manage communications then I first thought. Curious to see how we might use this.

      Thanks again!

      Michael

  6. wowitsdave says:

    Hi, Michael,

    Thanks for this article. I’m looking for something one step further.

    When we put something in the content library, it creates a new copy, correct? I was curious if it synced deltas, like when we update a template.

    Thanks!

    • Hi there, yes, when you put something in the CL, it is a new copy.However I am not sure about how after that the replication is handled. I think – as a guess – it would sync deltas if it could. I will update this as I learn more.

      Michael

      • wowitsdave says:

        Appreciate it Michael. I don’t have anything definitive, but it looks like it just throws another copy in there and overwrites it. You update me, I’ll update you 🙂

  7. Mike says:

    Thank you for the informative write up. As for the direct deployment of VM’s from the Library, we can apply the Guest OS Customization to the cloned VM from a new menu option in the Web Client…so it’s just a change in process from the traditional customizable deployment method.
    ie. now we Deploy the VM from the Library, then we apply Guest OS Customization via Web Client

  8. Chris says:

    Hi
    Thanks for the article.
    Just one question:
    – do you know if it’s possible to change the datastore where the content library is located once is installed ? (imagine is full and you cannot enlarge it)

    Thanks
    Chris

    • Hi Chris,

      I was not able to find an answer for you. However, I do know that this is partially dependent on the storage and not the Content Library. Meaning if you storage can increase the size of where the library is I believe that the content library will use it. I need to work with content libraries in Update 2 and confirm things, and will update the article as I learn more. I will try to get a better answer for your question too.

      Michael

      • Chris says:

        Thanks Michael
        Another question if you have time. It seems the content library is not supported in Vrealize orchestrator, so your workflow cannot use templates hosted there.
        This is really weird.
        Let me know if you discover how to use the content library in Orchestrator.

        Thanks
        Chris

      • Will do. I seem to have lost some of my contacts when I left my last employer. But will work on this. A very good question you have.

        Michael

  9. xavier says:

    Hi Michael,
    Do you have any idea on the roadmap for the features to be added?
    I am interested in CL to implement it but it still looks a bit light at the moment.
    Thanks.

    • Hi Xavier,

      I am sorry to say I have no idea of the future. But, I do know that VMware is very interested in improving the CL so it can be use most or all of the time. I think we will see improvements in each of the future vSphere releases. But we will see.

      Michael

  10. Joe says:

    Michael,

    Curious if you heard back regarding the .ISO usability, do you know if they are fixing this soon seems like 6.0 U2 still is hard to navigate, would really like to make this easier for techs.

    • Hi Joe,

      I have not had time to revisit this issue. And I just got my lab up to 6.5 on the weekend. I think that all of my issues are solved in 6.5 but I have not been able to test that yet. It may take a week or two to get a chance to test. Sorry but things very busy right now.

      Michael

  11. Wayne says:

    Hi Michael,
    Does the CL datastore need to be masked (presented) to all the ESXi hosts in the respective vCenter for this to work correctly? For instance one vC has over 60 hosts and many clusters. We want the ability (using CLs) to deploy VMs to all of clusters so my thinking is the CL datastore needs to be visible by all the hosts. Is that incorrect thinking?

    Thank you for your time

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s

%d bloggers like this: