All,

There has been steady work on a new concept in Ambari for 2.4.0 - the Version 
Definition File, or VDF.

For some time, registering repositories for Rolling/Express upgrade involves 
specifying the version (by hand) and providing the base-urls for the 
repositories (by hand).  This is not a very favorable user experience, and 
indeed has forced a lot of workarounds in code to ensure correctness of what 
the user sets as values.  On top of that, we continue to use the service 
versions defined on the stack, which may not actually match what is being 
installed out of a repository.

The goal of the VDF is to provide a way to describe a specific version of a 
stack that makes registering new versions less error prone and more accurate.  
We have had success using this file for registering repositories, and work is 
underway to also use this mechanism during cluster install as well.

The VDF contains 3 major sections:

  *   Release Information. things like display name, readable version 
information, some package details (for wildcard use during install), ability to 
set release notes url, etc.
  *   Manifest.  Lists all services and their correct versions that are 
available for the repositories.
  *   Repositories.  List the repositories that apply for that version.  These 
may be changed to use local repositories, but what is available in the file is 
what is known for that version.

There is a python script available that generates VDF files; it is located in 
contrib/version-builder.

>From an API standpoint, the previous functionality is still intact, so anyone 
>using those APIs can still register versions the way they were - they just 
>don't have the benefits that the VDF provides for them.

Thanks,
Nate

Reply via email to