A BOSH release for Riak and Riak CS.
Make sure to run ./update
(to update git submodules) before creating the release.
This project is based on BrianMMcClain/riak-release.
- First create the release, naming it
cf-riak-cs
. - Then upload the release.
- Finally make sure you have uploaded the appropriate stemcell for your deployment (either vsphere or warden)
-
Create a stub file called
riak-cs-lite-stub.yml
that contains your director UUID (which you can get from runningbosh status
):director_uuid: your-director-guid-here
-
Generate the manifest:
./generate_deployment_manifest warden riak-cs-lite-stub.yml > riak-cs-lite.yml
To tweak the deployment settings, you can modify the resulting fileriak-cs-lite.yml
. -
To deploy:
bosh deployment riak-cs-lite.yml && bosh deploy
-
Create a stub file called
riak-cs-vsphere-stub.yml
that contains your director UUID (which you can get from runningbosh status
). It also needs your network settings, with 6 static IPs and 6+ dynamic IPs, like this:director_uuid: your-director-guid-here networks: - name: riak-cs-network subnets: - cloud_properties: name: VM Network # name of vsphere network dns: - 8.8.8.8 gateway: 10.0.0.1 range: 10.0.0.0/24 reserved: # IPs that bosh should not use inside your subnet range - 10.0.0.2-10.0.0.99 - 10.0.0.115-10.0.0.254 static: - 10.0.0.100 - 10.0.0.101 - 10.0.0.102 - 10.0.0.103 - 10.0.0.104 - 10.0.0.105
-
Generate the manifest:
./generate_deployment_manifest vsphere riak-cs-vsphere-stub.yml > riak-cs-vsphere.yml
To tweak the deployment settings, you can modify the resulting fileriak-cs-vsphere.yml
. -
To deploy:
bosh deployment riak-cs-vsphere.yml && bosh deploy
First register the broker using the cf
CLI. You have to be logged in as an admin, and the IP of the broker will likely be different on vsphere (use bosh vms
to find it if necessary)
cf create-service-broker riakcs admin admin http://10.244.3.22:8080
Then make the service plan public.
We have not tested changing the structure of a live cluster, e.g. changing the seed node.
Instructions for running the cf-service-acceptance tests:
- Install
go
by following the directions found here - Set environment variables
export CF_COLOR=false
andexport CF_VERBOSE_OUTPUT=true
- Update
cf-riak-cs-release/test/cf-service-acceptance-tests/integration_config.json
with the domain of the Cloud Foundry you wish to test against. NOTE: this should not includehttp://
orhttps://
. E.g. for bosh-lite this might be10.244.0.34.xip.io
. cd
intocf-riak-cs-release/test/cf-service-acceptance-tests/
- Target and log into your CF instance, e.g.
cf login -a http://api.10.244.0.34.xip.io -u admin -p admin
- Run
CONFIG=/Users/pivotal/workspace/cf-riak-cs-release/test/cf-service-acceptance-tests/integration_config.json bin/test
See Bosh Blobstore for blobstore configuration.
To update a blob:
- Remove its entry from
config/blobs.yml
- Remove the cached blob from
.blobs/
(you can find it by checking the symlink inblobs/<package>/
) - Copy the new blob file into
blobs/<package>/
- Upload the new blob:
bosh upload blobs
Clone the riak repository, check out the desired tag, and make dist
.
The resulting tar.gz
file can be found in the working directory.
Clone the riak_cs repository, check out the desired tag, and make package.src
.
The resulting tar.gz
file can be found in the package/
directory.
Clone the stanchion repository, check out the desired tag, and make package.src
.
The resulting tar.gz
file can be found in the package/
directory.
TODO - verify where the git
, and erlang
tarfiles came from.
- The settings for the Riak job in this release are configured with options suggested by Basho for deploying Riak in a Riak CS cluster. We could add an option to configure Riak for standalone operation (when a manifest includes only Riak but not Riak CS)