ambari-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Nate Cole <>
Subject New Concept: Version Definition File
Date Wed, 06 Apr 2016 12:59:27 GMT

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


  • Unnamed multipart/alternative (inline, None, 0 bytes)
View raw message