LGTM. Thanks, Jose
On Apr 16 15:19, Ilias Tsitsimpis wrote: > Signed-off-by: Ilias Tsitsimpis <[email protected]> > --- > lib/bootstrap.py | 1 + > lib/objects.py | 10 +++++++--- > src/Ganeti/Objects.hs | 1 + > test/hs/Test/Ganeti/Objects.hs | 3 ++- > 4 files changed, 11 insertions(+), 4 deletions(-) > > diff --git a/lib/bootstrap.py b/lib/bootstrap.py > index d77f13e..04c8043 100644 > --- a/lib/bootstrap.py > +++ b/lib/bootstrap.py > @@ -868,6 +868,7 @@ def InitConfig(version, cluster_config, > master_node_config, > nodes=nodes, > instances={}, > networks={}, > + disks={}, > serial_no=1, > ctime=now, mtime=now) > utils.WriteFile(cfg_file, > diff --git a/lib/objects.py b/lib/objects.py > index 6d10135..874951e 100644 > --- a/lib/objects.py > +++ b/lib/objects.py > @@ -405,19 +405,20 @@ class ConfigData(ConfigObject): > "nodegroups", > "instances", > "networks", > + "disks", > "serial_no", > ] + _TIMESTAMPS > > def ToDict(self, _with_private=False): > """Custom function for top-level config data. > > - This just replaces the list of instances, nodes and the cluster > - with standard python types. > + This just replaces the list of nodes, instances, nodegroups, > + networks, disks and the cluster with standard python types. > > """ > mydict = super(ConfigData, self).ToDict(_with_private=_with_private) > mydict["cluster"] = mydict["cluster"].ToDict() > - for key in "nodes", "instances", "nodegroups", "networks": > + for key in "nodes", "instances", "nodegroups", "networks", "disks": > mydict[key] = outils.ContainerToDicts(mydict[key]) > > return mydict > @@ -435,6 +436,7 @@ class ConfigData(ConfigObject): > obj.nodegroups = \ > outils.ContainerFromDicts(obj.nodegroups, dict, NodeGroup) > obj.networks = outils.ContainerFromDicts(obj.networks, dict, Network) > + obj.disks = outils.ContainerFromDicts(obj.disks, dict, Disk) > return obj > > def HasAnyDiskOfType(self, dev_type): > @@ -475,6 +477,8 @@ class ConfigData(ConfigObject): > self.networks = {} > for network in self.networks.values(): > network.UpgradeConfig() > + for disk in self.disks.values(): > + disk.UpgradeConfig() > > def _UpgradeEnabledDiskTemplates(self): > """Upgrade the cluster's enabled disk templates by inspecting the > currently > diff --git a/src/Ganeti/Objects.hs b/src/Ganeti/Objects.hs > index 020e518..3cf1ce8 100644 > --- a/src/Ganeti/Objects.hs > +++ b/src/Ganeti/Objects.hs > @@ -757,6 +757,7 @@ $(buildObject "ConfigData" "config" $ > , simpleField "nodegroups" [t| Container NodeGroup |] > , simpleField "instances" [t| Container Instance |] > , simpleField "networks" [t| Container Network |] > + , simpleField "disks" [t| Container Disk |] > ] > ++ timeStampFields > ++ serialFields) > diff --git a/test/hs/Test/Ganeti/Objects.hs b/test/hs/Test/Ganeti/Objects.hs > index bdad838..1a31b55 100644 > --- a/test/hs/Test/Ganeti/Objects.hs > +++ b/test/hs/Test/Ganeti/Objects.hs > @@ -296,6 +296,7 @@ genEmptyCluster ncount = do > else GenericContainer nodemap > continsts = GenericContainer Map.empty > networks = GenericContainer Map.empty > + disks = GenericContainer Map.empty > let contgroups = GenericContainer $ Map.singleton guuid grp > serial <- arbitrary > -- timestamp fields > @@ -303,7 +304,7 @@ genEmptyCluster ncount = do > mtime <- arbitrary > cluster <- resize 8 arbitrary > let c = ConfigData version cluster contnodes contgroups continsts networks > - ctime mtime serial > + disks ctime mtime serial > return c > > -- | FIXME: make an even simpler base version of creating a cluster. > -- > 1.9.1 > -- Jose Antonio Lopes Ganeti Engineering Google Germany GmbH Dienerstr. 12, 80331, München Registergericht und -nummer: Hamburg, HRB 86891 Sitz der Gesellschaft: Hamburg Geschäftsführer: Graham Law, Christine Elizabeth Flores Steuernummer: 48/725/00206 Umsatzsteueridentifikationsnummer: DE813741370
