From 264a0670a85e4a8b36ddd17a38cbb8b2ec718946 Mon Sep 17 00:00:00 2001 From: John Burwell Date: Wed, 19 Dec 2012 17:26:38 -0500 Subject: [PATCH] - [CLOUDSTACK-509] S3-backed Secondary Storage - Adds S3 configuration support to Marvin - Moves configuration of global options to occur creation of zones since the values of global options impact the configuration and zone enablement processes --- tools/marvin/marvin/deployDataCenter.py | 21 ++++++++++++++++++++- 1 file changed, 20 insertions(+), 1 deletion(-) diff --git a/tools/marvin/marvin/deployDataCenter.py b/tools/marvin/marvin/deployDataCenter.py index 7bdd9751c16..ba124cbced4 100644 --- a/tools/marvin/marvin/deployDataCenter.py +++ b/tools/marvin/marvin/deployDataCenter.py @@ -414,10 +414,29 @@ class deployDataCenters(): updateCfg.value = config.value self.apiClient.updateConfiguration(updateCfg) + def copyAttributesToCommand(self, source, command): + + map(lambda attr : setattr(command, attr, getattr(source, attr, None)), + filter(lambda attr : not attr.startswith("__") and + attr not in [ "required", "isAsync" ], dir(command))) + + + def configureS3(self, s3): + + if s3 is None: + return + + command = addS3.addS3Cmd() + + self.copyAttributesToCommand(s3, command) + + self.apiClient.addS3(command) + def deploy(self): self.loadCfg() - self.createZones(self.config.zones) self.updateConfiguration(self.config.globalConfig) + self.createZones(self.config.zones) + self.configureS3(self.config.s3) if __name__ == "__main__":