Revision 81a49123

b/lib/config.py
646 646

  
647 647
    instance.serial_no = 1
648 648
    self._config_data.instances[instance.name] = instance
649
    self._config_data.cluster.serial_no += 1
649 650
    self._UnlockedReleaseDRBDMinors(instance.name)
650 651
    self._WriteConfig()
651 652

  
......
680 681
    if instance_name not in self._config_data.instances:
681 682
      raise errors.ConfigurationError("Unknown instance '%s'" % instance_name)
682 683
    del self._config_data.instances[instance_name]
684
    self._config_data.cluster.serial_no += 1
683 685
    self._WriteConfig()
684 686

  
685 687
  @locking.ssynchronized(_config_lock)
......
1064 1066

  
1065 1067
    """
1066 1068
    fn = "\n".join
1069
    instance_names = utils.NiceSort(self._UnlockedGetInstanceList())
1067 1070
    node_names = utils.NiceSort(self._UnlockedGetNodeList())
1068 1071
    node_info = [self._UnlockedGetNodeInfo(name) for name in node_names]
1069 1072

  
1073
    instance_data = fn(instance_names)
1070 1074
    off_data = fn(node.name for node in node_info if node.offline)
1075
    on_data = fn(node.name for node in node_info if not node.offline)
1071 1076
    mc_data = fn(node.name for node in node_info if node.master_candidate)
1072 1077
    node_data = fn(node_names)
1073 1078

  
......
1081 1086
      constants.SS_MASTER_NODE: cluster.master_node,
1082 1087
      constants.SS_NODE_LIST: node_data,
1083 1088
      constants.SS_OFFLINE_NODES: off_data,
1089
      constants.SS_ONLINE_NODES: on_data,
1090
      constants.SS_INSTANCE_LIST: instance_data,
1084 1091
      constants.SS_RELEASE_VERSION: constants.RELEASE_VERSION,
1085 1092
      }
1086 1093

  
b/lib/constants.py
422 422
SS_MASTER_NODE = "master_node"
423 423
SS_NODE_LIST = "node_list"
424 424
SS_OFFLINE_NODES = "offline_nodes"
425
SS_ONLINE_NODES = "online_nodes"
426
SS_INSTANCE_LIST = "instance_list"
425 427
SS_RELEASE_VERSION = "release_version"
426 428

  
427 429
# cluster wide default parameters
b/lib/ssconf.py
133 133
    constants.SS_MASTER_NODE,
134 134
    constants.SS_NODE_LIST,
135 135
    constants.SS_OFFLINE_NODES,
136
    constants.SS_ONLINE_NODES,
137
    constants.SS_INSTANCE_LIST,
136 138
    constants.SS_RELEASE_VERSION,
137 139
    )
138 140
  _MAX_SIZE = 131072
......
189 191
      for name, value in values.iteritems():
190 192
        if value and not value.endswith("\n"):
191 193
          value += "\n"
192
        utils.WriteFile(self.KeyToFilename(name), data=value)
194
        utils.WriteFile(self.KeyToFilename(name), data=value, mode=0444)
193 195
    finally:
194 196
      ssconf_lock.Unlock()
195 197

  
b/scripts/gnt-cluster
187 187
  @return: the desired exit code
188 188

  
189 189
  """
190
  op = opcodes.OpRedistributeConf()
190
  op = opcodes.OpRedistributeConfig()
191 191
  SubmitOrSend(op, opts)
192 192
  return 0
193 193

  

Also available in: Unified diff