From 88b92fe3f57c45d4c7b8e3e2b1286f73d8eaf87d Mon Sep 17 00:00:00 2001 From: Guido Trotter <ultrotter@google.com> Date: Wed, 15 Sep 2010 09:59:46 +0100 Subject: [PATCH] InitConfig: create nodegroups as well This patch also ensures that the initial configuration has all the needed UUIDs and that they are unique, by using a TemporaryReservationManager inside InitConfit to generate them. Signed-off-by: Guido Trotter <ultrotter@google.com> Reviewed-by: Iustin Pop <iustin@google.com> --- lib/bootstrap.py | 19 +++++++++++++++++-- 1 file changed, 17 insertions(+), 2 deletions(-) diff --git a/lib/bootstrap.py b/lib/bootstrap.py index 8a7ffdd7e..eca334914 100644 --- a/lib/bootstrap.py +++ b/lib/bootstrap.py @@ -43,6 +43,9 @@ from ganeti import bdev from ganeti import netutils from ganeti import backend +# ec_id for InitConfig's temporary reservation manager +_INITCONF_ECID = "initconfig-ecid" + def _InitSSHSetup(): """Setup the SSH configuration for the cluster. @@ -387,7 +390,6 @@ def InitCluster(cluster_name, mac_prefix, uid_pool=uid_pool, ctime=now, mtime=now, - uuid=utils.NewUUID(), maintain_node_health=maintain_node_health, drbd_usermode_helper=drbd_helper, default_iallocator=default_iallocator, @@ -432,13 +434,26 @@ def InitConfig(version, cluster_config, master_node_config, @param cfg_file: configuration file path """ + uuid_generator = config.TemporaryReservationManager() + cluster_config.uuid = uuid_generator.Generate([], utils.NewUUID, + _INITCONF_ECID) + master_node_config.uuid = uuid_generator.Generate([], utils.NewUUID, + _INITCONF_ECID) nodes = { master_node_config.name: master_node_config, } - + default_nodegroup = objects.NodeGroup( + uuid=uuid_generator.Generate([], utils.NewUUID, _INITCONF_ECID), + name="default", + members=[master_node_config.name], + ) + nodegroups = { + default_nodegroup.uuid: default_nodegroup, + } now = time.time() config_data = objects.ConfigData(version=version, cluster=cluster_config, + nodegroups=nodegroups, nodes=nodes, instances={}, serial_no=1, -- GitLab