During the early development of vSphere 6.0, one of the features that I got an early sneak preview of was the Content Library which originated from vCloud Director's Content Catalog capability and has now been pushed down into the core vSphere platform as part of VCD's "Convergence" plan.
Although there are some initial limitations with this first release of Content Library such as not being able to mount an ISO directly from the Content Library as example, which I do agree it should have just worked and not requiring a manual datastore browse for this operation to work. I know the Engineering team is aware of this as it was something our team had also provided feedback among other things, so hopefully this will be fixed very shortly.
Having said that, I do see a huge potential with the Content Library and all the interesting use cases it can enable not only for vSphere but also for other products such as vRealize Automation as well as vCloud Air. One area that caught my attention when I first heard about Content Library is the the fact that the publishing and subscription capability works over simple HTTP(s). I immediately had a light-bulb moment and thought would it not be cool if you could have a custom Content Library that would be hosted on some external cloud storage such as Amazon S3 as en example and be able to publish that so others could subscribe to it in their vSphere environment?
Fortunately, because Content Library works over standard HTTP(s) and with the help of one of the Content Library Engineers I was able to create my very own vGhetto Nested ESXi Template Content Library for both vSphere 6.0 and vCloud Directory based environments which is currently being hosted on Amazon S3.
- vSphere: https://s3-us-west-1.amazonaws.com/vghetto-content-library/lib.json
- vCD: https://s3-us-west-1.amazonaws.com/vghetto-content-library-vcd/lib.json
The library contains all of my Nested ESXi / VSAN OVF Templates that I have created over the years and by publishing them in in my public Content Library, anyone can now easily subscribe and pull down the latest OVF templates to deploy directly in their vSphere/vCD environment. You no longer have to manually download the OVFs and as I add new content, the Content Library will automatically synchronize the changes to your local environment.
The vGhetto Nested ESXi Template Content Library currently contains the following 7 OVF's which total to 1.43MB:
- Nested-ESXi-3-Node-VSAN-6.0-All-Flash-Template
- Nested-ESXi-3-Node-VSAN-6.0-Template
- Nested-ESXi-3-Node-VSAN-Template
- Nested-ESXi-32-Node-VSAN-Template (not available when subscribing from VCD)
- Nested-ESXi-6-Node-VSAN-6.0-FD-Template
- Nested-ESXi-64-Node-VSAN-6.0-Template (not available when subscribing from VCD)
- Nested-ESXi-VM-Template
Here are the instructions for subscribing to my vGhetto Content Library using the vSphere 6.0 Web Client:
Step 1 - In the main Home page, click on the Content Library icon
Step 2 - Create a new Content Library which will be used to subscribe to my vGhetto Content Library.
Step 3 - Select "Subscribed content library" and enter the following URL: https://s3-us-west-1.amazonaws.com/vghetto-content-library/lib.json and make sure to select "Download all library content immediately". There is currently a limitation in the way the metadata is read from OVFs that prevents the on-demand setting to be used when subscribing to 3rd party Content Libraries.
Step 4 - Select the storage which will be backing your Content Library. This can be either a local filesystem path on your vCenter Server or by using a vSphere Datastore.
Step 5 - If the new Content Library had been successfully created, the content will start to synchronize to your local system and once the OVF/VM icon appears, then you know the Nested ESXi / VSAN OVFs templates are ready to be deployed in your environment as seen in the screenshot below.
Note: You will notice that even though we are pulling down all seven OVF templates, they are only consume a measly 1.43MB as these are empty VMs shells and I am also using the OVF Dynamic Disks feature which allows you to specify the size of the VMDK upon deployment.
UPDATE (4/24) - It turns out that 3rd Party Content Libraries can also be subscribed from within vCloud Director but because it does not support Dynamic Disks, the synchronized will fail. I have created a separate library specifically optimized for vCD which you can find the URL at the top and you can then subscribe to my vGhetto Content Library as seen in the screenshot below. You will notice that the 32 and 64 Node VSAN Template is not available and the reason for this is that apparently there is a limitation in the number of elements it can parse.
This is a pretty powerful feature in my opinion and I can already see custom content libraries not only from VMware but also from our partner eco-systems providing their latest solutions (Virtual Appliances) as well as other file content as Content Library can store pretty much anything. In a future blog post, I will go through the details on how you can create your own custom Content Library, so stay tune. In the mean time, if you are using vSphere 6.0 and and would like to be able to quickly pull down the latest Nested ESXi / VSAN OVF templates, be sure to subscribe to my vGhetto Content Library!
Uto says
Hi,
When I tried adding the URL into a new content library, the Web Client gives an error saying "this method requires authentication".
William Lam says
Make sure you don't check "enable authentication", you should be able to just add it. Also, I don't know if you're trying to connect from a system that has internet access? If not, you'll need to set a proxy on your vCenter Server system.
aaronk says
How do you set proxy settings on the vCenter Appliance 6.0??
William Lam says
They can be configured by either setting up environmental variables or in the proxy configuration file. Here's a quick google on the instructions http://justintung.com/2013/04/25/how-to-configure-proxy-settings-in-linux/ This is something I've been meaning to write about, maybe if I get some time next week I'll put something together for both Windows VC / VCSA as these are going to be done at the OS level
xiaoting says
Indeed, it is wonderful! We just wanting to implement this tool. Looking forward your next post talking about how to create our own custom Content Library.
Tried to use the above template to create new vm, but it can not successfully boot up.
It said "Unable to load configuration file. Boot failed!"
Do you know how to get out of this problem?
Thanks.
Harley says
Awesome, thank you.
Carlos says
I was reviewing VS6 maximums and stopped at "5 max subscribers per library". I guess this is for the VC native CL exporter and you are not using that ?
William Lam says
That's correct and in fact, the 5 is a soft limit of what's been tested. It can probably do more and there are other ways to further optimize. I've been told by Content Library team there is an upcoming Technical Whitepaper on more details and best practices, so stay tune on that front. I've also asked to see if we can get the Config Max doc clarified to mention VC published libraries
FM says
Is there a specific version of vCD that this works with?
I get no errors when I added the catalog but when I deploy one of the vapps it comes up with no OS.
William Lam says
I believe it should work with vCD 5.x but I've only tested it with vCD 5.5 instance.
If you're able to get the OVF deployed, it means its working 🙂 There's no OS included in these templates, these are as described "templates" so you can then install ESXi on top of them without having to worry about creating your own ESXi VM shells with all the recommended settings.
FM says
Where can I find more info on Dynamic Disks and how vCD hates them?
William Lam says
I've written about Dynamic Disks, which you can find a post under my new "OVF/OVFTOOL" section of my blog http://www.virtuallyghetto.com/ovf
Polo Hurtado says
Hi William! Love your site. I attempted doing this, and I also got the "This Method Requires Authentication" error. I have tried restarting my vCenter 6 appliance, and the error remains. Do you have anything I can look at that could point me in the right direction? FWIW, I also attempted to create a Local library pointing to a Datastore...and got the same error message. Any clues would be welcome!
William Lam says
Hi Polo,
Somebody else reported a similar issue and turned out to be environmental. I don't have any authentication setup on the 3rd Party Content Library. Its a bit concerning that even a local library isn't working ... you may want try re-deploying your VC in case there were some issues
Polo Hurtado says
Hi William. Sorry for the late reply. I ended up building a nested environment (using your templates, actually) to test this with a new, fresh installation of the VCSA (my problem child was an upgraded installation). So now I have a new VCSA deployed, but I am seeing the same error message.
I deployed this extra appliance as an additional vCenter in the same SSO domain...so that is my next test. I will deploy a new VCSA, with a new SSO domain, and verify the Content Library issue.
If--as I suspect--that fixes the problem, do you have any pointers of where in my "real" installation of SSO I could have a problem? This particular environment has been up since vCenter 5, then 5.1, then 5.5 and now 6.0 without problems like this one. The AD it's tied to has been up for about five years, so I don't suspect issues in that side. In any case, I appreciate your time and your site and I will report back with what I find.
Josh says
I'm unable to create a local content library either. I get the same authentication warning as the others here.
William Lam says
Double check your connection and if you are using proxys, ensure they're working properly. You may also want to try another system. The last time some one ran into this was on their end after debugging it a bit more. There's no auth as mentioned in the earlier comments
Chris Kuhns says
Have you ever seen the Library Content Service up and vanish from the VCSA? I have been trying to add the content library for a month off and on, but I ended up finding that the service simply won't start. It's as if it doesn't exist in vCenter. I posted to the vCenter forum on VMware but never got a response.
William Lam says
I've not. If you're having issues, I would recommend filing an SR w/VMware Support
Brandon Fielding says
No integration with the Content Library and vRA. Disappointing......cool tool though.
Markus Kraus says
Thanks William. Awsome as usually!
Has someone tried the Import in vCD 8.1?
I got this error on all Templates:
Error on line 1 of document : Content is not allowed in prolog. Nested exception: Content is not allowed in prolog.
CesarOM says
William, Awesome article as always.
Have a short question, have you used nested virtualization on a Windows 10 box running vmware workstation 12 with 2 physical processors. The vm's running on the nested ESXi host are not booting anymore.
Have to say the following have changed, since I noticed this:
- Upgraded from Workstation 11 to Workstation 12
- Added a new physical processor and memory
Thanks for the input
Ajay says
The CL's are no more syncing the templates, unsure if its only me ?