v1.3.0

@sanmiguel sanmiguel released this Sep 15, 2016 · 37 commits to master since this release

Versions:

Change highlights:

  • IMPORTANT Persistent volumes/Data dir: the path for this is now $(executor-dir)/data, to avoid the contents of any of the artifacts over-writing the symlink Mesos creates for the persistent volume inside the executor's directory. The Executor is currently hard-coded to use this path. In future versions, this will be configurable. If you need to use this path in your custom Riak config, it is accessible via the data_dir template variable.
  • Riak config: No longer always require a riak.conf to be set for Riak TS clusters: instead, no default riak.conf is provided and we use the one that ships with the Riak you install. If you wish to customise the config that is used for your cluster, you can still do so in the same way (instructions here), but be aware that it is necessary for the executor to override the configuration items contained in this file.
  • We now only supply artifacts built using Mesos-1.0.0 protobuf definitions: these are fully backwards compatible with older Mesos versions, so there is no need for the e.g. Mesos-0.28.1-specific artifacts.
  • Derive the hostname and role values from the framework-name by default. These can be set from your config.json but it is not necessary to do so.

Full change details:

Scheduler:

  • #91 Inspect the riak archive for the path under which it will extract, and pass that to the executor.
  • #89 new default values for .riak.hostname and .riak.role derived from .riak.framework-name if unset in config.json
  • #84 #87 : Rework how config files for Riak are managed: no longer do we automatically set a default config file, and we allow the config files to be deleted once set.
    Note that for this to be compatible with Executor versions before 1.5.0, you MUST set a config and advanced-config file for your clusters.
    IMPORTANT: if you upgrade to this release and use a custom configuration, you must change your riak.conf so that it sets platform_data_dir = ../../data. If you use the default config that ships with the scheduler, this has been updated already.
  • #85 Move persistent volume path; ensure no archive contents clobber PV path
    If you are running a Riak cluster on Mesos with a previous version of this scheduler and want to update, do not simply update the config.json, reinstall the scheduler and perform a riak-mesos cluster restart: this will lead to data loss.
    Instead, you will need to update the config.json and reinstall the scheduler, then slowly migrate your cluster to new nodes, allowing transfers to finish before removing each old node.
    For a much more in-depth write-up of the procedure, see here: https://gist.github.com/sanmiguel/aa06f1e6026601677af2ced87c6a35f9#file-live-upgrade-procedure-sh
    If in doubt, please contact us via the issues.
  • #81 Adds backwards compatible upgrade to erl_mesos v1.0.0
  • #80 Add CONTRIBUTING.md: an initial guide to working with the code in this project
    A note on erl_mesos: the upgrade here extends the underlying protobuf definitions to those from mesos-1.0.0, but does not yet use any 1.0.0-specific functionality. This release should be compatible with earlier versions of mesos without problem: if you encounter an issue, please report it.
  • #82 Fix order of archive extraction in executor

Executor:

  • #34 New supported variable from TaskData: RiakRootPath - the location to look for Riak config files under
  • #34 Add erlpmd_patches-rel variant, to work with official rel Riak packages.
  • #34 Automatically calculate the data_dir from the RiakRootPath value
  • #33 Upgrade to erl_mesos v1.0.0 which uses mesos-1.0.0 protobufs (backwards compatible with mesos-0.28.x)
  • #31 No longer expect the Scheduler to have a configuration file with all the right template variables in the right places. Now, we either use the config file that shipped with our Riak node, or one from the Scheduler if it's set. Once that's in place, we append riak-mesos.conf to the end, which contains all of the settings we MUST control in a Mesos environment (ports, data location etc)

Version 1.0-rc2

@drewkerrigan drewkerrigan released this May 27, 2016 · 115 commits to master since this release

version bumps