Skip to content

Commit

Permalink
Adding first crack at transition notes
Browse files Browse the repository at this point in the history
  • Loading branch information
dizzyd committed Dec 17, 2009
1 parent 8f4dbf7 commit d05dd1b
Show file tree
Hide file tree
Showing 2 changed files with 142 additions and 0 deletions.
82 changes: 82 additions & 0 deletions TRANSITION
@@ -0,0 +1,82 @@
Notes on Riak Source Tree Restructuring
=======================================




Table of Contents
=================
1 Overview
2 Summary of changes
2.1 Building
2.2 Server scripts
2.2.1 riak_demo.escript
2.2.2 start-backup/restore/logger.sh
2.3 Configuration
2.3.1 riak-env.sh


1 Overview
~~~~~~~~~~~
The Riak source tree has undergone a major restructuring as part of a transition to a new
build tool -- rebar. This tool enforces OTP compliant directory structures for the riak
application and its dependencies and provides an easy-to-use wrapper around the new reltool
system available in Erlang R1303+. Using reltool makes it possible to construct a standalone
server instance that can used on machines without Erlang installed. This transition has also
enabled us to introduce a standardized script for starting/stopping and other server
management tasks.


2 Summary of changes
~~~~~~~~~~~~~~~~~~~~~

2.1 Building
=============
The source code can still be compiled using a single invocation of make at the top-level
$RIAK directory:

$ make

However, if you want a runnable, redistributable server you need to make sure the "rel"
target gets built:

$ make rel

This will place a full server install in the $RIAK/rel/riak directory. You can safely copy
this riak directory to any other machine with the SAME operating system and architecture and
run riak. See the README for more information about how to start/stop the server.

As an alternative to the "rel" target, if you are doing active development on the Riak
source code you may want to try the "devrel" target. This will generate three runnable nodes
in $RIAK/dev and symlink them in such a way that recompiles of the Riak source code
(i.e. simple invocation of "make") is automatically available to those nodes. These three nodes,
(dev1, dev2, dev2) are NOT suitable for redistribution. They simply make it easy to quickly test
changes to the Riak source code in a development environment.

2.2 Server scripts
===================
start-*.sh and debug-*.sh have all been replaced with the bin/riak and bin/riak-admin scripts
that are generated as part of the "rel" or "devrel" targets.

2.2.1 riak_demo.escript
------------------------
The functionality of this script is now available via:

$ bin/riak-admin test


2.2.2 start-backup/restore/logger.sh
-------------------------------------
The functionality of these scripts is now available via the bin/riak-admin script.

2.3 Configuration
==================
The config/ directory has been removed; you can now find default configuration in $RIAK/rel/overlay/etc
directory -- the app.config and vm.args files are copied from that location when running the "rel" or
"devrel" targets. If you already have run the release targets you can just edit the files in the
$RIAK/rel/riak/etc or $RIAK/dev/dev*/etc directories respectively.

2.3.1 riak-env.sh
------------------
This file has been replaced with vm.args.

60 changes: 60 additions & 0 deletions TRANSITION.org
@@ -0,0 +1,60 @@
#+OPTIONS: author:nil timestamp:nil

Notes on Riak Source Tree Restructuring

* Overview
The Riak source tree has undergone a major restructuring as part of a transition to a new
build tool -- rebar. This tool enforces OTP compliant directory structures for the riak
application and its dependencies and provides an easy-to-use wrapper around the new reltool
system available in Erlang R1303+. Using reltool makes it possible to construct a standalone
server instance that can used on machines without Erlang installed. This transition has also
enabled us to introduce a standardized script for starting/stopping and other server
management tasks.


* Summary of changes

** Building
The source code can still be compiled using a single invocation of make at the top-level
$RIAK directory:

$ make

However, if you want a runnable, redistributable server you need to make sure the "rel"
target gets built:

$ make rel

This will place a full server install in the $RIAK/rel/riak directory. You can safely copy
this riak directory to any other machine with the SAME operating system and architecture and
run riak. See the README for more information about how to start/stop the server.

As an alternative to the "rel" target, if you are doing active development on the Riak
source code you may want to try the "devrel" target. This will generate three runnable nodes
in $RIAK/dev and symlink them in such a way that recompiles of the Riak source code
(i.e. simple invocation of "make") is automatically available to those nodes. These three nodes,
(dev1, dev2, dev2) are NOT suitable for redistribution. They simply make it easy to quickly test
changes to the Riak source code in a development environment.

** Server scripts
start-*.sh and debug-*.sh have all been replaced with the bin/riak and bin/riak-admin scripts
that are generated as part of the "rel" or "devrel" targets.

*** riak_demo.escript
The functionality of this script is now available via:

$ bin/riak-admin test


*** start-backup/restore/logger.sh
The functionality of these scripts is now available via the bin/riak-admin script.

** Configuration
The config/ directory has been removed; you can now find default configuration in $RIAK/rel/overlay/etc
directory -- the app.config and vm.args files are copied from that location when running the "rel" or
"devrel" targets. If you already have run the release targets you can just edit the files in the
$RIAK/rel/riak/etc or $RIAK/dev/dev*/etc directories respectively.

*** riak-env.sh
This file has been replaced with vm.args.

0 comments on commit d05dd1b

Please sign in to comment.