anchor.diff:  
   -module(ns_online_config_upgrader).
   
  +-include("cut.hrl").
   -include("ns_common.hrl").
   
   -export([upgrade_config/1]).
  
positive.code:     Maps = [{S, ns_cluster_membership:service_nodes(Config, ActiveNodes, S)} ||
                  S <- Services],
      [{set, {service_map, Service}, Map} || {Service, Map} <- Maps].
  
  upgrade_config_from_4_6_to_5_0(Config) ->
      ?log_info("Performing online config upgrade to 5.0 version"),
      [{delete, roles_definitions} | menelaus_users:config_upgrade() ++
           ns_bucket:config_upgrade_to_50(Config)].
  
  upgrade_config_from_5_0_to_5_1(Config) ->
      ?log_info("Performing online config upgrade to 5.1 version"),
      ns_ssl_services_setup:upgrade_client_cert_auth_to_51(Config) ++
          ns_bucket:config_upgrade_to_51(Config).
  
  upgrade_config_from_5_1_to_vulcan(Config) ->
      ?log_info("Performing online config upgrade to Vulcan"),
      menelaus_web_auto_failover:config_upgrade_to_vulcan(Config) ++
          query_settings_manager:config_upgrade_to_vulcan() ++
          eventing_settings_manager:config_upgrade_to_vulcan() ++
          ns_bucket:config_upgrade_to_vulcan(Config).
  
negative.code:     true = (NewVersion =< ?LATEST_VERSION_NUM),
  
      ok = ns_config:upgrade_config_explicitly(
             do_upgrade_config(_, NewVersion)).
  
  do_upgrade_config(Config, FinalVersion) ->
      case ns_config:search(Config, cluster_compat_version) of
  