Uploaded image for project: 'Couchbase Server'
  1. Couchbase Server
  2. MB-29847

Don't overwrite static_config every time Couchbase Server is upgraded

    XMLWordPrintable

Details

    • Improvement
    • Resolution: Unresolved
    • Major
    • backlog
    • 5.5.0
    • ns_server
    • None

    Description

      Right now we overwrite the static_config every time we upgrade Couchbase Server on a node.
      I assume this is so we get the new options added when we perform the upgrade (prime example is ipv6 in Vulcan).

      However, this approach makes maintaining Couchbase Server installations where you need to make modifications to static_config untenable for a few reasons:

      1. We only provide the ability to override certain settings via static_config, a non-exhaustive but commonly changed list:
        1. ipv6 - if you set this to true, you need to go in and set it to back to 'true' after every single upgrade.
        2. Custom log rotation - https://developer.couchbase.com/documentation/server/5.1/clustersetup/ui-logs.html
        3. Custom log levels - https://developer.couchbase.com/documentation/server/5.1/clustersetup/ui-logs.html
        4. Custom ports - https://developer.couchbase.com/documentation/server/5.1/install/install-ports.html
        5. Custom log directory - https://developer.couchbase.com/documentation/server/5.1/clustersetup/ui-logs.html
        6. Custom node names - https://developer.couchbase.com/documentation/server/5.1/install/rhel-multiple-instances.html
        7. Custom stats settings - https://developer.couchbase.com/documentation/server/current/monitoring/monitoring-stats-configuration.html
        8. SSL Cipher List
      2. This is not a generic config file, it is a file containing very specific erlang data structures, you might not be able to just programmatically 'add the setting back'. This is may be okay if we never ever change the structure of the file and you can work out the magic characters to remove and add, but we do actively change the file structure where needed. Getting this wrong will cause the whole file to get ignored.

      Either we need to not automatically overwrite the existing static_config file (ideally some erlang script to 'merge' the static_config?) or provide an alternative, more fool-proof method to set all of the settings that right now you can only do properly using static_config (not sureĀ /diag/eval counts).

      Attachments

        Issue Links

          Activity

            People

              dfinlay Dave Finlay
              matt.carabine Matt Carabine (Inactive)
              Votes:
              0 Vote for this issue
              Watchers:
              10 Start watching this issue

              Dates

                Created:
                Updated:

                PagerDuty