[MB-7323] couchbase-cli does not allow to set index_path separately from data path( --node-init-data-path sets for both data and index paths) Created: 03/Dec/12  Updated: 05/Apr/13  Resolved: 14/Mar/13

Status: Closed
Project: Couchbase Server
Component/s: tools
Affects Version/s: 2.0
Fix Version/s: 2.1.0
Security Level: Public

Type: Bug Priority: Major
Reporter: Andrei Baranouski Assignee: Bin Cui
Resolution: Duplicate Votes: 1
Labels: 2.0-release-notes
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified


 Description   
now we can set only --node-init-data-path, for example:

./couchbase-cli node-init -c localhost:8091 -u Administrator -p password --node-init-data-path=/tmp

at the same time we can set via rest API different or separate values:

[root@cen-2708 bin]# curl -i --data "path=%2Ftmp%2Fa&index_path=%2Ftmp%2Fb" "http://Administrator:password@10.3.121.68:8091/nodes/self/controller/settings"
HTTP/1.1 200 OK
Server: Couchbase Server 2.0.0-11302012A-toy-community
Pragma: no-cache
Date: Mon, 03 Dec 2012 15:32:30 GMT
Content-Length: 0
Cache-Control: no-cache

[root@cen-2708 bin]# curl -i --data "index_path=%2Ftmp%2Fc" "http://Administrator:password@10.3.121.68:8091/nodes/self/controller/settings"
HTTP/1.1 200 OK
Server: Couchbase Server 2.0.0-11302012A-toy-community
Pragma: no-cache
Date: Mon, 03 Dec 2012 15:32:39 GMT
Content-Length: 0
Cache-Control: no-cache

note, that bug 'MB-7257 All data will be deleted when change Data Files path on online server' is still opened

./couchbase-cli -h
couchbase-cli - command-line cluster administration tool

usage: couchbase-cli COMMAND CLUSTER [OPTIONS]

COMMAND:
  server-list list all servers in a cluster
  server-info show details on one server
  server-add add one or more servers to the cluster
  server-readd readd a server that was failed over
  rebalance start a cluster rebalancing
  rebalance-stop stop current cluster rebalancing
  rebalance-status show status of current cluster rebalancing
  failover failover one or more servers
  cluster-init set the username,password and port of the cluster
  node-init set node specific parameters
  bucket-list list all buckets in a cluster
  bucket-create add a new bucket to the cluster
  bucket-edit modify an existing bucket
  bucket-delete delete an existing bucket
  bucket-flush flush a given bucket
  help show longer usage/help and examples

CLUSTER:
  --cluster=HOST[:PORT] or -c HOST[:PORT]

OPTIONS:
  -u USERNAME, --user=USERNAME admin username of the cluster
  -p PASSWORD, --password=PASSWORD admin password of the cluster
  -o KIND, --output=KIND KIND is json or standard
  -d, --debug

server-add OPTIONS:
  --server-add=HOST[:PORT] server to be added
  --server-add-username=USERNAME admin username for the
                                    server to be added
  --server-add-password=PASSWORD admin password for the
                                    server to be added

server-readd OPTIONS:
  --server-add=HOST[:PORT] server to be added
  --server-add-username=USERNAME admin username for the
                                    server to be added
  --server-add-password=PASSWORD admin password for the
                                    server to be added

rebalance OPTIONS:
  --server-add* see server-add OPTIONS
  --server-remove=HOST[:PORT] the server to be removed

failover OPTIONS:
  --server-failover=HOST[:PORT] server to failover

cluster-init OPTIONS:
  --cluster-init-username=USER new admin username
  --cluster-init-password=PASSWORD new admin password
  --cluster-init-port=PORT new cluster REST/http port
  --cluster-init-ramsize=RAMSIZEMB per node ram quota in MB

node-init OPTIONS:
  --node-init-data-path=PATH per node path to store data

bucket-* OPTIONS:
  --bucket=BUCKETNAME bucket to act on
  --bucket-type=TYPE memcached or couchbase
  --bucket-port=PORT supports ASCII protocol and is auth-less
  --bucket-password=PASSWORD standard port, exclusive with bucket-port
  --bucket-ramsize=RAMSIZEMB ram quota in MB
  --bucket-replica=COUNT replication count

The default PORT number is 8091.

EXAMPLES:
  List servers in a cluster:
    couchbase-cli server-list -c 192.168.0.1:8091

  Server information:
    couchbase-cli server-info -c 192.168.0.1:8091

  Add a node to a cluster, but do not rebalance:
    couchbase-cli server-add -c 192.168.0.1:8091 \
       --server-add=192.168.0.2:8091 \
       --server-add-username=Administrator \
       --server-add-password=password

  Add a node to a cluster and rebalance:
    couchbase-cli rebalance -c 192.168.0.1:8091 \
       --server-add=192.168.0.2:8091 \
       --server-add-username=Administrator \
       --server-add-password=password

  Remove a node from a cluster and rebalance:
    couchbase-cli rebalance -c 192.168.0.1:8091 \
       --server-remove=192.168.0.2:8091

  Remove and add nodes from/to a cluster and rebalance:
    couchbase-cli rebalance -c 192.168.0.1:8091 \
      --server-remove=192.168.0.2 \
      --server-add=192.168.0.4 \
      --server-add-username=Administrator \
      --server-add-password=password

  Stop the current rebalancing:
    couchbase-cli rebalance-stop -c 192.168.0.1:8091

  Change the username, password, port and ram quota:
    couchbase-cli cluster-init -c 192.168.0.1:8091 \
       --cluster-init-username=Administrator \
       --cluster-init-password=password \
       --cluster-init-port=8080 \
       --cluster-init-ramsize=300

  Change the data path:
     couchbase-cli node-init -c 192.168.0.1:8091 \
       --node-init-data-path=/tmp

  List buckets in a cluster:
    couchbase-cli bucket-list -c 192.168.0.1:8091

  Create a new dedicated port couchbase bucket:
    couchbase-cli bucket-create -c 192.168.0.1:8091 \
       --bucket=test_bucket \
       --bucket-type=couchbase \
       --bucket-port=11222 \
       --bucket-ramsize=200 \
       --bucket-replica=1

  Create a new sasl memcached bucket:
    couchbase-cli bucket-create -c 192.168.0.1:8091 \
       --bucket=test_bucket \
       --bucket-type=memcached \
       --bucket-password=password \
       --bucket-ramsize=200

  Modify a dedicated port bucket:
    couchbase-cli bucket-edit -c 192.168.0.1:8091 \
       --bucket=test_bucket \
       --bucket-port=11222 \
       --bucket-ramsize=400

  Delete a bucket:
    couchbase-cli bucket-delete -c 192.168.0.1:8091 \
       --bucket=test_bucket




 Comments   
Comment by Farshid Ghods (Inactive) [ 03/Dec/12 ]
2.0 users can use REST api for making the change
Comment by Farshid Ghods (Inactive) [ 04/Dec/12 ]
needs to be added to documentation
Comment by MC Brown (Inactive) [ 05/Dec/12 ]
Documentation has been updated with the limitation with the command-line tool, and supported parameters for the REST API.
Comment by kzeller [ 05/Dec/12 ]
Added to RN: The couchbase command line tool, <command>couchbase-cli</command> does not
        enable you to set <command>index_path</command> as a separate parameter as
        <command>data_path</command>. The former contains indexed data from defined
        views functions, while the later contains keys, metadata, and JSON documents.
        You can however use the REST-API to do this.


Comment by MC Brown (Inactive) [ 10/Dec/12 ]
Docs limitation has been updated; handing back
Comment by Farshid Ghods (Inactive) [ 28/Dec/12 ]
couchbase-cli need to be updated and allow users to modify such settings
Comment by Bin Cui [ 25/Feb/13 ]
http://review.couchbase.org/#/c/24802/
Comment by Anil Kumar [ 14/Mar/13 ]
MB-7372
Comment by Maria McDuff [ 05/Apr/13 ]
MB-7372
Generated at Sun Apr 20 05:48:52 CDT 2014 using JIRA 5.2.4#845-sha1:c9f4cc41abe72fb236945343a1f485c2c844dac9.