- " directory") % constants.DATA_DIR)
-
- config_version = ReadFile(SSCONF_CONFIG_VERSION_PATH, "1.2").strip()
- logging.info("Found configuration version %s", config_version)
-
- config_data = serializer.LoadJson(ReadFile(CONFIG_DATA_PATH))
-
- # Ganeti 1.2?
- if config_version == "1.2":
- logging.info("Found a Ganeti 1.2 configuration")
-
- old_config_version = config_data["cluster"].get("config_version", None)
- logging.info("Found old configuration version %s", old_config_version)
- if old_config_version not in (3, ):
- raise Error("Unsupported configuration version: %s" %
- old_config_version)
-
- # Make sure no instance uses remote_raid1 anymore
- remote_raid1_instances = []
- for instance in config_data["instances"]:
- if instance["disk_template"] == "remote_raid1":
- remote_raid1_instances.append(instance["name"])
- if remote_raid1_instances:
- for name in remote_raid1_instances:
- logging.error("Instance %s still using remote_raid1 disk template")
- raise Error("Unable to convert configuration as long as there are"
- " instances using remote_raid1 disk template")
-
- # The configuration version will be stored in a ssconf file
- if 'config_version' in config_data['cluster']:
- del config_data['cluster']['config_version']
-
- # Build content of new known_hosts file
- cluster_name = ReadFile(SSCONF_CLUSTER_NAME_PATH).rstrip()
- cluster_key = config_data['cluster']['rsahostkeypub']
- known_hosts = "%s ssh-rsa %s\n" % (cluster_name, cluster_key)