DataStax Developer Blog

OpsCenter Auto-updating Definitions

By Mike Bulman -  February 28, 2014 | 0 Comments

OpsCenter uses information in definition files in order to support functionality such as provisioning and configuring nodes for multiple versions of DSE and Cassandra. These definition files are located in OpsCenter’s configuration directory, so that they can be modified independently of OpsCenter itself. Previously, in order to support a newer version of DSE a new version of OpsCenter had to be released, which contained updates to these definitions.

Automatic Updates

In OpsCenter 4.1, we’ve introduced automatic updating for definition files. This means new versions of DSE and DSC may be instantly supported, without requiring upgrading OpsCenter, or any other user action.

By default, OpsCenter will check for updates every hour, and automatically pull down any that are available. This interval can be configured, or turned off completely. Full details can be found in our documentation.

Manual Updates

If automatic updates just aren’t your thing, you can make an API call directly to OpsCenter to have it check and download any updates:

curl -X POST http://my.opscenter.host:8888/rc/definition/update

This will return “true” if an update was applied, and “false” if no update was found. This can be called whether automatic updates are enabled or not.

If OpsCenter does not have access to the internet, you can apply definition updates manually by unpacking the remote tarball into the definitions directory. The tarball is located at https://opscenter.datastax.com/definitions/4.1.0/definition_files.tgz (replace 4.1.0 with your current version of OpsCenter)

Technical Details

Definitions are hosted in a central repository located at https://opscenter.datastax.com.

OpsCenter compares a remote checksum with the version it has to determine if an update is available. The remote checksum URL is based on the current version of OpsCenter, and will look something like: https://opscenter.datastax.com/definitions/4.1.0/version.md5.

If an update is found, a remote file named definition_files.tgz is downloaded and applied to the definition directory mentioned above. There is a rollback mechanism in the event that the download fails, or any other errors occur while unpacking the definitions.

Basic steps in the process are logged in opscenterd.log at INFO, and full details are logged at DEBUG.

The Future

Going forward we plan to utilize these definition files for more functionality within OpsCenter, so that we can take advantage of pushing updates to users without requiring an upgrade.

If you haven’t downloaded OpsCenter 4.1 yet, go grab it from our Download page.



Leave a Reply

Your email address will not be published. Required fields are marked *

You may use these HTML tags and attributes: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>