machi/prototype/demo-day-hack/file0_start_servers.escript

44 lines
1.5 KiB
Erlang
Raw Permalink Normal View History

Add file0_test.escript (and big squash) Small cleanups Small cleanups Refactoring argnames & order for more consistency Add server-side-calculated MD5 checksum + logging file:consult() style checksum management, too slow! 513K csums = 105 seconds, ouch Much faster checksum recording Add checksum_list. Alas, line-by-line I/O is slow, neh? Much faster checksum listing Add file0_verify_checksums.escript and supporting code Adjust escript +A and -smp flags Add file0_compare_filelists.escript First draft of file0_repair_server.escript First draft of file0_repair_server.escript, part 2 WIP of file0_repair_server.escript, part 3 WIP of file0_repair_server.escript, part 4 Basic repair works, it seems, hooray! When checksum file ordering is different, try a cheap(?) 'cmp' on sorted results instead Add README.md Initial import of szone_chash.erl Add file0_cc_make_projection.escript and supporting code Add file0_cc_map_prefix.escript and supporting code Change think-o: hash output is a chain, silly boy Add file0_cc_1file_write_redundant.escript and support Add file0_cc_read_client.escript and supporting code Add examples/servers.map & file0_start_servers.escript WIP: working on file0_cc_migrate_files.escript File migration finished, works, yay! Add basic 'what am I' docs to each script Add file0_server_daemon.escript Minor fixes Fix broken unit test Add basho_bench run() commands for append & read ops with projection Add to examples dir WIP: erasure coding hack, part 1 Fix broken unit test WIP: erasure coding hack, part 2 WIP: erasure coding hack, part 3, EC data write is finished! WIP: erasure coding hack, part 4, EC data read still in progress WIP: erasure coding hack, part 5, EC data read still in progress WIP: erasure coding hack, part 5b, EC data read still in progress WIP: erasure coding hack, EC data read finished! README update, part 1 README update, part 2 Oops, put back the printed ouput for file-write-client and 1file-write-redundant-client README update, part 3 Fix 'user' output bug in list-client Ugly hacks to get output/no-output from write clients Clean up minor output bugs Clean up minor output bugs, part 2 README update, part 4 Clean up minor output bugs, part 3 Clean up minor output bugs, part 5 Clean up minor output bugs, part 6 README update, part 6 README update, part 7 README update, part 7 README update, part 8 Final edits/fixes for demo day Fix another oops in the README/demo day script
2014-12-21 08:52:38 +00:00
#!/usr/bin/env escript
%% -*- erlang -*-
%%! +A 0 -smp disable -noinput -noshell
%% -------------------------------------------------------------------
%%
%% Copyright (c) 2007-2014 Basho Technologies, Inc. All Rights Reserved.
%%
%% This file is provided to you under the Apache License,
%% Version 2.0 (the "License"); you may not use this file
%% except in compliance with the License. You may obtain
%% a copy of the License at
%%
%% http://www.apache.org/licenses/LICENSE-2.0
%%
%% Unless required by applicable law or agreed to in writing,
%% software distributed under the License is distributed on an
%% "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
%% KIND, either express or implied. See the License for the
%% specific language governing permissions and limitations
%% under the License.
%%
%% -------------------------------------------------------------------
-module(file0_start_servers).
-compile(export_all).
-define(NO_MODULE, true).
-include("./file0.erl").
main([]) ->
io:format("Use: Demonstrate the commands required to start all servers on a host.\n"),
io:format("Args: ServerMapPath Host\n"),
erlang:halt(1);
main([ServerMapPath, HostStr]) ->
Host = list_to_binary(HostStr),
{ok, Map} = file:consult(ServerMapPath),
io:format("Run the following commands to start all servers:\n\n"),
[begin
DataDir = proplists:get_value(data_dir, Ps),
io:format(" file0_server.escript file0_server ~w ~s\n",
[Port, DataDir])
end || {{HostX, Port}, Ps} <- Map, HostX == Host].