From 0fd252208a0fa3809bb188b995c8b75ef6f6ab98 Mon Sep 17 00:00:00 2001 From: Garret Alfert Date: Fri, 11 Oct 2013 17:32:30 +0200 Subject: [PATCH] Install and configure Riak CS on Travis --- .travis.yml | 4 +- .travis/install_riakcs.sh | 32 +++++++++ .travis/riak.app.config | 135 +++++++++++++++++++++++++++++++++++ .travis/riak.vm.args | 10 +++ .travis/riakcs.app.config | 65 +++++++++++++++++ .travis/riakcs.vm.args | 8 +++ .travis/stanchion.app.config | 29 ++++++++ .travis/stanchion.vm.args | 8 +++ 8 files changed, 290 insertions(+), 1 deletion(-) create mode 100644 .travis/install_riakcs.sh create mode 100644 .travis/riak.app.config create mode 100644 .travis/riak.vm.args create mode 100644 .travis/riakcs.app.config create mode 100644 .travis/riakcs.vm.args create mode 100644 .travis/stanchion.app.config create mode 100644 .travis/stanchion.vm.args diff --git a/.travis.yml b/.travis.yml index 4f62619..1dacf1e 100644 --- a/.travis.yml +++ b/.travis.yml @@ -2,11 +2,13 @@ language: ruby rvm: - 1.9.2 - 1.9.3 -services: riak +before_install: + - sh .travis/install_riakcs.sh before_script: - cp config.yml.example config.yml script: rake test notifications: + email: false webhooks: urls: - http://hook-juggler.heroku.com/hooks/travis diff --git a/.travis/install_riakcs.sh b/.travis/install_riakcs.sh new file mode 100644 index 0000000..7535d7c --- /dev/null +++ b/.travis/install_riakcs.sh @@ -0,0 +1,32 @@ +#!/bin/bash + +curl http://apt.basho.com/gpg/basho.apt.key | sudo apt-key add - +sudo bash -c "echo deb http://apt.basho.com $(lsb_release -sc) main > /etc/apt/sources.list.d/basho.list" +sudo apt-get update + +sudo apt-get install -o Dpkg::Options::="--force-confnew" -q -y riak=1.4.2-1 +sudo apt-get install -q -y riak-cs=1.4.1-1 +sudo apt-get install -q -y stanchion=1.4.1-1 + +sudo bash -c "echo '127.0.0.1 cs.example.com' >> /etc/hosts" + +sudo cp .travis/riak.app.config /etc/riak/app.config +sudo cp .travis/riak.vm.args /etc/riak/vm.args +sudo cp .travis/riakcs.app.config /etc/riak-cs/app.config +sudo cp .travis/riakcs.vm.args /etc/riak-cs/vm.args +sudo cp .travis/stanchion.app.config /etc/stanchion/app.config +sudo cp .travis/stanchion.vm.args /etc/stanchion/vm.args + +sudo service riak start +sudo service riak-cs start +sudo service stanchion start + +sleep 4 + +curl -H 'Content-Type: application/json' -X POST http://localhost:8080/riak-cs/user --data '{"email":"admin@5apps.com", "name":"admin"}' -o cs_admin_credentials.json +cat cs_admin_credentials.json + +curl -H 'Content-Type: application/json' -X POST http://localhost:8080/riak-cs/user --data '{"email":"liquorcabinet@5apps.com", "name":"liquor cabinet"}' -o cs_credentials.json +cat cs_credentials.json + +echo "\nFinished" diff --git a/.travis/riak.app.config b/.travis/riak.app.config new file mode 100644 index 0000000..08ecd02 --- /dev/null +++ b/.travis/riak.app.config @@ -0,0 +1,135 @@ +[ + {kernel, [ + {inet_dist_listen_max, 7999}, + {inet_dist_listen_min, 6000} + ]}, + {lager, [ + {crash_log, "/var/log/riak/crash.log"}, + {crash_log_count, 5}, + {crash_log_date, "$D0"}, + {crash_log_msg_size, 65536}, + {crash_log_size, 10485760}, + {error_logger_hwm, 100}, + {error_logger_redirect, true}, + {handlers, [ + {lager_file_backend, [ + {"/var/log/riak/error.log", error, 10485760, "$D0", 5}, + {"/var/log/riak/console.log", info, 10485760, "$D0", 5} + ]} + ]} + ]}, + {merge_index, [ + {buffer_rollover_size, 1048576}, + {data_root, "/var/lib/riak/merge_index"}, + {max_compact_segments, 20} + ]}, + {riak_api, [ + {pb, [ + {"127.0.0.1", 8087} + ]}, + {pb_backlog, 128} + ]}, + {riak_control, [ + {admin, true}, + {auth, userlist}, + {enabled, false}, + {userlist, [ + {"user", "pass"} + ]} + ]}, + {riak_core, [ + {cluster_mgr, {"127.0.0.1", 9085}}, + {default_bucket_props, [ + {allow_mult, true} + ]}, + {dtrace_support, false}, + {handoff_port, 8099}, + {http, [ + {"127.0.0.1", 8098} + ]}, + {platform_bin_dir, "/usr/sbin"}, + {platform_data_dir, "/var/lib/riak"}, + {platform_etc_dir, "/etc/riak"}, + {platform_lib_dir, "/usr/lib/riak"}, + {platform_log_dir, "/var/log/riak"}, + {ring_creation_size, 64}, + {ring_state_dir, "/var/lib/riak/ring"} + ]}, + {riak_jmx, [ + {enabled, false} + ]}, + {riak_kv, [ + {add_paths, [ + "/usr/lib/riak-cs/lib/riak_cs-1.4.1/ebin" + ]}, + {anti_entropy, {on, [ + ]}}, + {anti_entropy_build_limit, {1, 3600000}}, + {anti_entropy_concurrency, 2}, + {anti_entropy_data_dir, "/var/lib/riak/anti_entropy"}, + {anti_entropy_expire, 604800000}, + {anti_entropy_leveldb_opts, [ + {write_buffer_size, 4194304}, + {max_open_files, 20} + ]}, + {anti_entropy_tick, 15000}, + {fsm_limit, 50000}, + {hook_js_vm_count, 2}, + {http_url_encoding, on}, + {js_max_vm_mem, 8}, + {js_thread_stack, 16}, + {listkeys_backpressure, true}, + {map_js_vm_count, 8}, + {mapred_2i_pipe, true}, + {mapred_name, "mapred"}, + {multi_backend, [ + {be_default, riak_kv_eleveldb_backend, [ + {cache_size, 4194304}, + {data_root, "/var/lib/riak/leveldb"}, + {max_open_files, 50} + ]}, + {be_blocks, riak_kv_bitcask_backend, [ + {data_root, "/var/lib/riak/bitcask"} + ]} + ]}, + {multi_backend_default, be_default}, + {multi_backend_prefix_list, [ + {<<"0b:">>, be_blocks} + ]}, + {object_format, v1}, + {reduce_js_vm_count, 6}, + {storage_backend, riak_cs_kv_multi_backend}, + {vnode_vclocks, true} + ]}, + {riak_repl, [ + {data_root, "/var/lib/riak/riak_repl"} + ]}, + {riak_search, [ + {enabled, false} + ]}, + {riak_sysmon, [ + {busy_dist_port, true}, + {busy_port, true}, + {gc_ms_limit, 0}, + {heap_word_limit, 40111000}, + {port_limit, 2}, + {process_limit, 30} + ]}, + {sasl, [ + {sasl_error_logger, false} + ]}, + {snmp, [ + {agent, [ + {config, [ + {dir, "/etc/riak/snmp/agent/conf"}, + {force_load, true} + ]}, + {db_dir, "/var/lib/riak/snmp/agent/db"}, + {net_if, [ + {options, [ + {bind_to, true} + ]} + ]} + ]} + ]} +]. diff --git a/.travis/riak.vm.args b/.travis/riak.vm.args new file mode 100644 index 0000000..7f23f81 --- /dev/null +++ b/.travis/riak.vm.args @@ -0,0 +1,10 @@ ++A 64 ++K true ++W w +-env ERL_CRASH_DUMP /var/log/riak/erl_crash.dump +-env ERL_FULLSWEEP_AFTER 0 +-env ERL_MAX_ETS_TABLES 256000 +-env ERL_MAX_PORTS 64000 +-name riak@127.0.0.1 +-setcookie riak +-smp enable diff --git a/.travis/riakcs.app.config b/.travis/riakcs.app.config new file mode 100644 index 0000000..6fa56ee --- /dev/null +++ b/.travis/riakcs.app.config @@ -0,0 +1,65 @@ +[ + {lager, [ + {crash_log, "/var/log/riak-cs/crash.log"}, + {crash_log_count, 5}, + {crash_log_date, "$D0"}, + {crash_log_msg_size, 65536}, + {crash_log_size, 10485760}, + {error_logger_redirect, true}, + {handlers, [ + {lager_file_backend, [ + {"/var/log/riak-cs/error.log", error, 10485760, "$D0", 5}, + {"/var/log/riak-cs/console.log", info, 10485760, "$D0", 5} + ]} + ]} + ]}, + {riak_cs, [ + {access_archive_period, 3600}, + {access_archiver_max_backlog, 2}, + {access_log_flush_factor, 1}, + {access_log_flush_size, 1000000}, + {admin_key, "secret"}, + {admin_secret, "secret"}, + {anonymous_user_creation, true}, + {auth_module, riak_cs_s3_auth}, + {connection_pools, [ + {bucket_list_pool, {5, 0}}, + {request_pool, {128, 0}} + ]}, + {cs_ip, "127.0.0.1"}, + {cs_port, 8080}, + {cs_root_host, "cs.example.com"}, + {cs_version, 10300}, + {dtrace_support, false}, + {fold_objects_for_list_keys, false}, + {gc_interval, 900}, + {gc_retry_interval, 21600}, + {leeway_seconds, 86400}, + {n_val_1_get_requests, true}, + {rewrite_module, riak_cs_s3_rewrite}, + {riak_ip, "127.0.0.1"}, + {riak_pb_port, 8087}, + {stanchion_ip, "127.0.0.1"}, + {stanchion_port, 8085}, + {stanchion_ssl, false}, + {storage_archive_period, 86400}, + {storage_schedule, [ + ]}, + {trust_x_forwarded_for, false}, + {usage_request_limit, 744} + ]}, + {sasl, [ + {sasl_error_logger, false}, + {utc_log, true} + ]}, + {webmachine, [ + {log_handlers, [ + {riak_cs_access_log_handler, [ + ]}, + {webmachine_log_handler, [ + "/var/log/riak-cs" + ]} + ]}, + {server_name, "Riak CS"} + ]} +]. diff --git a/.travis/riakcs.vm.args b/.travis/riakcs.vm.args new file mode 100644 index 0000000..fd4917f --- /dev/null +++ b/.travis/riakcs.vm.args @@ -0,0 +1,8 @@ ++A 64 ++K true ++W w +-env ERL_CRASH_DUMP /var/log/riak-cs/erl_crash.dump +-env ERL_FULLSWEEP_AFTER 0 +-env ERL_MAX_PORTS 4096 +-name riak-cs@127.0.0.1 +-setcookie riak-cs diff --git a/.travis/stanchion.app.config b/.travis/stanchion.app.config new file mode 100644 index 0000000..eec2790 --- /dev/null +++ b/.travis/stanchion.app.config @@ -0,0 +1,29 @@ +[ + {lager, [ + {crash_log, "/var/log/stanchion/crash.log"}, + {crash_log_count, 5}, + {crash_log_date, "$D0"}, + {crash_log_msg_size, 65536}, + {crash_log_size, 10485760}, + {error_logger_redirect, true}, + {handlers, [ + {lager_file_backend, [ + {"/var/log/stanchion/error.log", error, 10485760, "$D0", 5}, + {"/var/log/stanchion/console.log", info, 10485760, "$D0", 5} + ]} + ]} + ]}, + {sasl, [ + {sasl_error_logger, false}, + {utc_log, true} + ]}, + {stanchion, [ + {admin_key, "secret"}, + {admin_secret, "secret"}, + {auth_bypass, false}, + {riak_ip, "127.0.0.1"}, + {riak_pb_port, 8087}, + {stanchion_ip, "127.0.0.1"}, + {stanchion_port, 8085} + ]} +]. diff --git a/.travis/stanchion.vm.args b/.travis/stanchion.vm.args new file mode 100644 index 0000000..57b6a52 --- /dev/null +++ b/.travis/stanchion.vm.args @@ -0,0 +1,8 @@ ++A 64 ++K true ++W w +-env ERL_CRASH_DUMP /var/log/stanchion/erl_crash.dump +-env ERL_FULLSWEEP_AFTER 0 +-env ERL_MAX_PORTS 4096 +-name stanchion@127.0.0.1 +-setcookie stanchion