You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@couchdb.apache.org by ro...@apache.org on 2015/09/10 21:12:13 UTC

[1/2] couchdb-setup git commit: fix enable_cluster_http for admin-party clusters

Repository: couchdb-setup
Updated Branches:
  refs/heads/wizard-admin.party [created] 20ac682c0


fix enable_cluster_http for admin-party clusters


Project: http://git-wip-us.apache.org/repos/asf/couchdb-setup/repo
Commit: http://git-wip-us.apache.org/repos/asf/couchdb-setup/commit/2d3da674
Tree: http://git-wip-us.apache.org/repos/asf/couchdb-setup/tree/2d3da674
Diff: http://git-wip-us.apache.org/repos/asf/couchdb-setup/diff/2d3da674

Branch: refs/heads/wizard-admin.party
Commit: 2d3da67489212ee9fdfc1f512a5f7e4b71114cca
Parents: ff19be1
Author: Robert Kowalski <ro...@apache.org>
Authored: Fri Jul 31 17:04:23 2015 +0200
Committer: Robert Kowalski <ro...@apache.org>
Committed: Thu Sep 10 20:36:00 2015 +0200

----------------------------------------------------------------------
 src/setup.erl         | 21 +++++++++++-----
 test/t-admin-party.sh | 60 ++++++++++++++++++++++++++++++++++++++++++++++
 2 files changed, 75 insertions(+), 6 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/couchdb-setup/blob/2d3da674/src/setup.erl
----------------------------------------------------------------------
diff --git a/src/setup.erl b/src/setup.erl
index 2118349..aa2da56 100644
--- a/src/setup.erl
+++ b/src/setup.erl
@@ -69,14 +69,23 @@ enable_cluster(Options) ->
             enable_cluster_http(Options)
     end.
 
+get_remote_request_options(Options) ->
+    case couch_util:get_value(remote_current_user, Options, undefined) of
+        undefined ->
+            [];
+        _ ->
+            [
+                {basic_auth, {
+                    binary_to_list(couch_util:get_value(remote_current_user, Options)),
+                    binary_to_list(couch_util:get_value(remote_current_password, Options))
+                }}
+            ]
+    end.
+
 enable_cluster_http(Options) ->
     % POST to nodeB/_setup
-    RequestOptions = [
-        {basic_auth, {
-            binary_to_list(couch_util:get_value(remote_current_user, Options)),
-            binary_to_list(couch_util:get_value(remote_current_password, Options))
-        }}
-    ],
+
+    RequestOptions = get_remote_request_options(Options),
 
     Body = ?JSON_ENCODE({[
         {<<"action">>, <<"enable_cluster">>},

http://git-wip-us.apache.org/repos/asf/couchdb-setup/blob/2d3da674/test/t-admin-party.sh
----------------------------------------------------------------------
diff --git a/test/t-admin-party.sh b/test/t-admin-party.sh
new file mode 100755
index 0000000..3c94917
--- /dev/null
+++ b/test/t-admin-party.sh
@@ -0,0 +1,60 @@
+#!/bin/sh -ex
+# Licensed 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.
+
+HEADERS="-HContent-Type:application/json"
+# show cluster state:
+curl 127.0.0.1:15986/_nodes/_all_docs
+
+# Enable Cluster on node A
+curl 127.0.0.1:15984/_cluster_setup -d '{"action":"enable_cluster","username":"a","password":"b","bind_address":"0.0.0.0"}' $HEADERS
+
+# Add node B on node A
+curl a:b@127.0.0.1:15984/_cluster_setup -d '{"action":"add_node","username":"a","password":"b","host":"127.0.0.1","port":25984}' $HEADERS
+
+# Enable Cluster on node B
+curl a:b@127.0.0.1:15984/_cluster_setup -d '{"action":"enable_cluster","remote_node":"127.0.0.1","port":"25984","username":"a","password":"b","bind_address":"0.0.0.0"}' $HEADERS
+
+# Show cluster state:
+curl a:b@127.0.0.1:15986/_nodes/_all_docs
+
+# Show db doesn’t exist on node A
+curl a:b@127.0.0.1:15984/foo
+
+# Show db doesn’t exist on node B
+curl a:b@127.0.0.1:25984/foo
+
+# Create database (on node A)
+curl -X PUT a:b@127.0.0.1:15984/foo
+
+# Show db does exist on node A
+curl a:b@127.0.0.1:15984/foo
+
+# Show db does exist on node B
+curl a:b@127.0.0.1:25984/foo
+
+# Finish cluster
+curl a:b@127.0.0.1:15984/_cluster_setup -d '{"action":"finish_cluster"}' $HEADERS
+
+# Show system dbs exist on node A
+curl a:b@127.0.0.1:15984/_users
+curl a:b@127.0.0.1:15984/_replicator
+curl a:b@127.0.0.1:15984/_metadata
+curl a:b@127.0.0.1:15984/_global_changes
+
+# Show system dbs exist on node B
+curl a:b@127.0.0.1:25984/_users
+curl a:b@127.0.0.1:25984/_replicator
+curl a:b@127.0.0.1:25984/_metadata
+curl a:b@127.0.0.1:25984/_global_changes
+
+echo "YAY ALL GOOD"


[2/2] couchdb-setup git commit: fix badarg error

Posted by ro...@apache.org.
fix badarg error


Project: http://git-wip-us.apache.org/repos/asf/couchdb-setup/repo
Commit: http://git-wip-us.apache.org/repos/asf/couchdb-setup/commit/20ac682c
Tree: http://git-wip-us.apache.org/repos/asf/couchdb-setup/tree/20ac682c
Diff: http://git-wip-us.apache.org/repos/asf/couchdb-setup/diff/20ac682c

Branch: refs/heads/wizard-admin.party
Commit: 20ac682c00d9ef5039c31370b2784067f19da070
Parents: 2d3da67
Author: Robert Kowalski <ro...@apache.org>
Authored: Thu Sep 10 21:08:39 2015 +0200
Committer: Robert Kowalski <ro...@apache.org>
Committed: Thu Sep 10 21:08:39 2015 +0200

----------------------------------------------------------------------
 src/setup.erl | 6 ++++--
 1 file changed, 4 insertions(+), 2 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/couchdb-setup/blob/20ac682c/src/setup.erl
----------------------------------------------------------------------
diff --git a/src/setup.erl b/src/setup.erl
index aa2da56..91c7ed3 100644
--- a/src/setup.erl
+++ b/src/setup.erl
@@ -147,8 +147,10 @@ enable_cluster_int(Options, no) ->
     case Port of
         undefined ->
             ok;
-        Port ->
-            config:set("httpd", "port", integer_to_list(Port))
+        Port when is_binary(Port) ->
+            config:set("httpd", "port", binary_to_list(Port));
+        Port when is_integer(Port) ->
+            config:set_integer("httpd", "port", Port)
     end,
     couch_log:notice("Enable Cluster: ~p~n", [Options]).
     %cluster_state:set(enabled).