Uploaded image for project: 'Couchbase Documentation'
  1. Couchbase Documentation
  2. DOC-112

Detailed steps on programmatically setting up and managing a cluster

    Details

    • Type: Improvement
    • Status: Open
    • Priority: Major
    • Resolution: Unresolved
    • Affects Version/s: None
    • Fix Version/s: tech-debt
    • Labels:
      None

      Description

      Need separate instructions for both Windows and Linux, and from the various SDK's

      Programmatically setting up a cluster to include installation, configuration of disk paths, memory quotas, buckets, views, xdcr, adding a node, rebalancing.

      This really falls into our desired "task based documentation" and is separate from just a list of the commands.

      I don't believe we currently have a single tool nor all the functionality through the various SDK's so there will need to be improvememts made (hence the other components).

      Perhaps it would be good for Anil to write a blog on.

      No reviews matched the request. Check your Options in the drop-down menu of this sections header.

        Activity

        Hide
        ingenthr Matt Ingenthron added a comment -

        I don't quite know what to do with this description. It ends with a request for a blog, so I think I'll reassign to Dipti and we'll work out what it means in our next docs meeting.

        Show
        ingenthr Matt Ingenthron added a comment - I don't quite know what to do with this description. It ends with a request for a blog, so I think I'll reassign to Dipti and we'll work out what it means in our next docs meeting.
        Hide
        ingenthr Matt Ingenthron added a comment -

        To discuss in the next docs meeting.

        Show
        ingenthr Matt Ingenthron added a comment - To discuss in the next docs meeting.
        Hide
        akurtzman Amy Kurtzman added a comment -

        If we don't have "all the functionality through the various SDKs" (as stated in the description), then we can't document this. This ticket is quite old. Do we have the functionality in the SDKs now? Could it be done through a combination of REST requests plus SDK API calls? Is this something we have committed to support developers in doing?

        Should this ticket be closed?

        Show
        akurtzman Amy Kurtzman added a comment - If we don't have "all the functionality through the various SDKs" (as stated in the description), then we can't document this. This ticket is quite old. Do we have the functionality in the SDKs now? Could it be done through a combination of REST requests plus SDK API calls? Is this something we have committed to support developers in doing? Should this ticket be closed?
        Hide
        perry Perry Krug added a comment -

        I agree that this wasn't very well described at first and I will attempt to do so better now...but this is not just a simple matter of documenting something that exists, but rather leading to SDK-level and server-level product enhancements as well as a comprehensive vision on how we want to provide this to customers. Either way, our customers are specifically asking for this information and we do not have it to provide them, so whatever form we decide to present it, it is still very much an open issues.

        The ultimate goal is to point a user at a set of documentation that explains how they would programmatically setup and manage a Couchbase Server cluster. The reasons for this range from automating a production deployment to allowing developers to manipulate their own deployments without having to go into our UI. We do officially support the usage of each of the various API's below in whatever capacity and features that are available for them.

        I can understand that this might not be fully under the control of the documentation team, but I would expect that they can make at least a skeleton of what information would need to be filled in and help own the process of filling it out. It's also certainly not on the critical path for 3.0, but in the same respect is relevant and missing for all versions of the software both past and future.

        The below functionality would need to be documented for:
        -Linux CLI
        -Windows CLI
        -Directly to the REST API
        -From each SDK (not all SDK's currently provide all the functionality...I would expect separate enhancement requests to be created and prioritized accordingly)

        The minimal functionality needing to be documented for each of the above is:
        -Headless installation of one or more Couchbase Server nodes
        -Setting of server quota
        -Setting of admin username and password
        -Adding node to cluster and rebalancing
        -Creating bucket
        -Applying and publishing design documents and views

        This minimal set is what would be required for an environment to provide a "template" for the setup of Couchbase Server.

        Nice-to-have functionality would be:
        -Retrieving statistics and configuration information (cluster, buckets, XDCR)
        -Configuring non-default disk paths for indexes and data directories
        -Editing a bucket after it is created
        -Deleting a bucket
        -Removing nodes from a cluster
        -Triggering failover of a node
        -Configuring XDCR
        -Configuring read-only user

        Show
        perry Perry Krug added a comment - I agree that this wasn't very well described at first and I will attempt to do so better now...but this is not just a simple matter of documenting something that exists, but rather leading to SDK-level and server-level product enhancements as well as a comprehensive vision on how we want to provide this to customers. Either way, our customers are specifically asking for this information and we do not have it to provide them, so whatever form we decide to present it, it is still very much an open issues. The ultimate goal is to point a user at a set of documentation that explains how they would programmatically setup and manage a Couchbase Server cluster. The reasons for this range from automating a production deployment to allowing developers to manipulate their own deployments without having to go into our UI. We do officially support the usage of each of the various API's below in whatever capacity and features that are available for them. I can understand that this might not be fully under the control of the documentation team, but I would expect that they can make at least a skeleton of what information would need to be filled in and help own the process of filling it out. It's also certainly not on the critical path for 3.0, but in the same respect is relevant and missing for all versions of the software both past and future. The below functionality would need to be documented for: -Linux CLI -Windows CLI -Directly to the REST API -From each SDK (not all SDK's currently provide all the functionality...I would expect separate enhancement requests to be created and prioritized accordingly) The minimal functionality needing to be documented for each of the above is: -Headless installation of one or more Couchbase Server nodes -Setting of server quota -Setting of admin username and password -Adding node to cluster and rebalancing -Creating bucket -Applying and publishing design documents and views This minimal set is what would be required for an environment to provide a "template" for the setup of Couchbase Server. Nice-to-have functionality would be: -Retrieving statistics and configuration information (cluster, buckets, XDCR) -Configuring non-default disk paths for indexes and data directories -Editing a bucket after it is created -Deleting a bucket -Removing nodes from a cluster -Triggering failover of a node -Configuring XDCR -Configuring read-only user
        Hide
        akurtzman Amy Kurtzman added a comment -

        Thanks, Perry. This is a great list of tasks to start with. We are currently looking at SDK developer guide content (to reorganize and add missing topics), so I can add them to the list of topics we want to cover in the guides.

        Show
        akurtzman Amy Kurtzman added a comment - Thanks, Perry. This is a great list of tasks to start with. We are currently looking at SDK developer guide content (to reorganize and add missing topics), so I can add them to the list of topics we want to cover in the guides.
        Hide
        perry Perry Krug added a comment -

        Sounds good. Keep in mind that the Linux/Windows/REST instructions are not SDK related and should go within the main server documentation. Perhaps we need separate bugs to track each area?

        Show
        perry Perry Krug added a comment - Sounds good. Keep in mind that the Linux/Windows/REST instructions are not SDK related and should go within the main server documentation. Perhaps we need separate bugs to track each area?
        Hide
        akurtzman Amy Kurtzman added a comment - - edited

        We might make subtasks of this one when we are ready to scope it. In the REST API it is more obvious and there are examples of how to do some of the tasks you mention (but I'm sure not task is covered adequately or at all). For example, I could easily find in the REST API docs how to create a bucket, but I could not find how to do that with the Java SDK (i.e. it might be there in Java, but if so it's not obvious).

        Show
        akurtzman Amy Kurtzman added a comment - - edited We might make subtasks of this one when we are ready to scope it. In the REST API it is more obvious and there are examples of how to do some of the tasks you mention (but I'm sure not task is covered adequately or at all). For example, I could easily find in the REST API docs how to create a bucket, but I could not find how to do that with the Java SDK (i.e. it might be there in Java, but if so it's not obvious).
        Hide
        akurtzman Amy Kurtzman added a comment -

        Revisiting this ticket: Current plan for this ticket is to break it up into multiple tickets for specific pieces. But that is a big task to assess what is already there and what needs to be added (for each SDK and other server documentation), so that won't happen until this ticket is scheduled into a doc sprint.

        Show
        akurtzman Amy Kurtzman added a comment - Revisiting this ticket: Current plan for this ticket is to break it up into multiple tickets for specific pieces. But that is a big task to assess what is already there and what needs to be added (for each SDK and other server documentation), so that won't happen until this ticket is scheduled into a doc sprint.

          People

          • Assignee:
            marija Marija Jovanovic
            Reporter:
            perry Perry Krug
          • Votes:
            0 Vote for this issue
            Watchers:
            5 Start watching this issue

            Dates

            • Created:
              Updated:

              Gerrit Reviews

              There are no open Gerrit changes