class cm_shell_inventory: """opt_example class""" def info_cm_shell_inventory(self): print "%20s =" % "DBNAME", self.inventory_name def activate_cm_shell_inventory(self): self.register_command_topic('cloud','inventory') # # BUG this needs to be done not in activate # self.inventory_name = "test" # port number is missing # should be imported from cloudmesh_server.yaml db = connect(self.inventory_name) self.inventory = Inventory() pass @command def do_inventory(self, args, arguments): """ Usage: inventory clean inventory create image DESCRIPTION inventory create server [dynamic] DESCRIPTION inventory create service [dynamic] DESCRIPTION inventory exists server NAME inventory exists service NAME inventory inventory print inventory info [--cluster=CLUSTER] [--server=SERVER] inventory list [--cluster=CLUSTER] [--server=SERVER] inventory server NAME inventory service NAME Manages the inventory clean cleans the inventory server define servers Arguments: DESCRIPTION The hostlist"i[009-011],i[001-002]" NAME The name of a service or server Options: v verbose mode """ #if arguments["v"]: log.info(arguments) log.info(args) if args == "": log.info("print inventory") if arguments["clean"]: log.info("clean the inventory") return if arguments["print"]: log.info("print the inventory") r = self.inventory.find({}) for e in r: pprint(e) return if arguments["info"]: print print "Inventory Information" print "---------------------" print if not (arguments["--cluster"] or arguments["--server"]): print self.inventory.info() print if arguments["--cluster"] and not arguments["--server"]: name = arguments["--cluster"] r = self.inventory.cluster(name) pprint(r) return for kind in ["server", "service", "image"]: if arguments["info"] and arguments[kind]: name = arguments["NAME"] kind = arguments[kind] self.inventory.print_kind(serv, name) return if arguments["create"] and arguments["server"]: hostlist = arguments["DESCRIPTION"] log.info("create servers" + hostlist) return if arguments["create"] and arguments["service"]: hostlist = arguments["DESCRIPTION"] log.info("create services" + hostlist) return if arguments["exists"] and arguments["server"]: name = arguments["NAME"] if self.inventory.exists("server", name): print "true" else: print "false" return if arguments["exists"] and arguments["service"]: name = arguments["NAME"] if self.inventory.exists("service", name): print "true" else: print "false" return
class Test_Inventory: def setup(self): self.cluster = "bravo" self.name = "b010" self.inventory = Inventory() self.inventory.clear() self.inventory.generate() print("GENERATION COMPLETE") def tearDown(self): pass def test_clear(self): HEADING() self.inventory.clear() def test_find(self): HEADING() r = self.inventory.find({}) print(r.count()) assert r.count > 0 def test_host(self): HEADING() data = self.inventory.host(self.name) pprint(data) def test_list(self): HEADING() data = self.inventory.hostlist(self.cluster) # pprint(data) def test_combine(self): attribute = "cm_temp" value = "32" print("SET ATTRIBUTE") print(70 * '=') data = self.inventory.set_attribute(self.name, attribute, value) print(70 * '=') print(data) print("GET ATTRIBUTE") data = self.inventory.get_attribute(self.name, attribute) print(data) data = self.inventory.host(self.name) pprint(data) def test_set(self): HEADING() """ data = self.inventory.find({'cm_id': self.name}) for e in data: pprint (e) """ print(70 * '=') """ print "BEFORE" data = self.inventory.host(self.name) pprint(data) """ attribute = "cm_temp" value = "32" print("SET ATTRIBUTE") print(70 * '=') data = self.inventory.set_attribute(self.name, attribute, value) print(70 * '=') print(data) print("GET ATTRIBUTE") data = self.inventory.get_attribute(self.name, attribute) print(data) def test_i066(self): HEADING() name = "i066" attribute = "cm_doesnotexist" print("GET ATTRIBUTE") data = self.inventory.get_attribute(name, attribute) print(data) """
class Test_Inventory: def setup(self): self.cluster = "bravo" self.name = "b010" self.inventory = Inventory() self.inventory.clear() self.inventory.generate() print "GENERATION COMPLETE" def tearDown(self): pass def test_bootspec(self): self.inventory.generate_bootspec() specs = self.inventory.find ({'cm_type': "inventory", 'cm_key': 'bootspec', 'cm_kind': 'bootspec'}) print specs.count() for spec in specs: print '#', 70 * "-" print '#', spec['cm_id'] print '#', 70 * "-" pprint (spec) assert True def test_getspec(self): self.inventory.generate_bootspec() spec = self.inventory.get_bootspec('ubuntu-2013-07-b') pprint (spec) assert True def test_clear(self): HEADING() self.inventory.clear() def test_find(self): HEADING() r = self.inventory.find ({}) print r.count() assert r.count > 0 def test_host(self): HEADING() data = self.inventory.host(self.name) pprint(data) def test_list(self): HEADING() data = self.inventory.hostlist(self.cluster) # pprint(data) def test_combine(self): attribute = "cm_temp" value = "32" print "SET ATTRIBUTE" print 70 * '=' data = self.inventory.set_attribute(self.name, attribute, value) print 70 * '=' print data print "GET ATTRIBUTE" data = self.inventory.get_attribute(self.name, attribute) print data data = self.inventory.host(self.name) pprint(data) def test_set(self): HEADING() """ data = self.inventory.find({'cm_id': self.name}) for e in data: pprint (e) """ print 70 * '=' """ print "BEFORE" data = self.inventory.host(self.name) pprint(data) """ attribute = "cm_temp" value = "32" print "SET ATTRIBUTE" print 70 * '=' data = self.inventory.set_attribute(self.name, attribute, value) print 70 * '=' print data print "GET ATTRIBUTE" data = self.inventory.get_attribute(self.name, attribute) print data def test_i066(self): HEADING() name = "i066" attribute = "cm_doesnotexist" print "GET ATTRIBUTE" data = self.inventory.get_attribute(name, attribute) print data """
class cm_shell_inventory: """opt_example class""" def info_cm_shell_inventory(self): print "%20s =" % "DBNAME", self.inventory_name def activate_cm_shell_inventory(self): self.register_command_topic('cloud', 'inventory') # # BUG this needs to be done not in activate # self.inventory_name = "test" # port number is missing # should be imported from cloudmesh_server.yaml db = connect(self.inventory_name) self.inventory = Inventory() pass @command def do_inventory(self, args, arguments): """ Usage: inventory clean inventory create image DESCRIPTION inventory create server [dynamic] DESCRIPTION inventory create service [dynamic] DESCRIPTION inventory exists server NAME inventory exists service NAME inventory inventory print inventory info [--cluster=CLUSTER] [--server=SERVER] inventory list [--cluster=CLUSTER] [--server=SERVER] inventory server NAME inventory service NAME Manages the inventory clean cleans the inventory server define servers Arguments: DESCRIPTION The hostlist"i[009-011],i[001-002]" NAME The name of a service or server Options: v verbose mode """ #if arguments["v"]: log.info(arguments) log.info(args) if args == "": log.info("print inventory") if arguments["clean"]: log.info("clean the inventory") return if arguments["print"]: log.info("print the inventory") r = self.inventory.find({}) for e in r: pprint(e) return if arguments["info"]: print print "Inventory Information" print "---------------------" print if not (arguments["--cluster"] or arguments["--server"]): print self.inventory.info() print if arguments["--cluster"] and not arguments["--server"]: name = arguments["--cluster"] r = self.inventory.cluster(name) pprint(r) return for kind in ["server", "service", "image"]: if arguments["info"] and arguments[kind]: name = arguments["NAME"] kind = arguments[kind] self.inventory.print_kind(serv, name) return if arguments["create"] and arguments["server"]: hostlist = arguments["DESCRIPTION"] log.info("create servers" + hostlist) return if arguments["create"] and arguments["service"]: hostlist = arguments["DESCRIPTION"] log.info("create services" + hostlist) return if arguments["exists"] and arguments["server"]: name = arguments["NAME"] if self.inventory.exists("server", name): print "true" else: print "false" return if arguments["exists"] and arguments["service"]: name = arguments["NAME"] if self.inventory.exists("service", name): print "true" else: print "false" return
class Test_Inventory: def setup(self): self.cluster = "bravo" self.name = "b010" self.inventory = Inventory() self.inventory.clear() self.inventory.generate() print "GENERATION COMPLETE" def tearDown(self): pass def test_bootspec(self): self.inventory.generate_bootspec() specs = self.inventory.find({ 'cm_type': "inventory", 'cm_key': 'bootspec', 'cm_kind': 'bootspec' }) print specs.count() for spec in specs: print '#', 70 * "-" print '#', spec['cm_id'] print '#', 70 * "-" pprint(spec) assert True def test_getspec(self): self.inventory.generate_bootspec() spec = self.inventory.get_bootspec('ubuntu-2013-07-b') pprint(spec) assert True def test_clear(self): HEADING() self.inventory.clear() def test_find(self): HEADING() r = self.inventory.find({}) print r.count() assert r.count > 0 def test_host(self): HEADING() data = self.inventory.host(self.name) pprint(data) def test_list(self): HEADING() data = self.inventory.hostlist(self.cluster) # pprint(data) def test_combine(self): attribute = "cm_temp" value = "32" print "SET ATTRIBUTE" print 70 * '=' data = self.inventory.set_attribute(self.name, attribute, value) print 70 * '=' print data print "GET ATTRIBUTE" data = self.inventory.get_attribute(self.name, attribute) print data data = self.inventory.host(self.name) pprint(data) def test_set(self): HEADING() """ data = self.inventory.find({'cm_id': self.name}) for e in data: pprint (e) """ print 70 * '=' """ print "BEFORE" data = self.inventory.host(self.name) pprint(data) """ attribute = "cm_temp" value = "32" print "SET ATTRIBUTE" print 70 * '=' data = self.inventory.set_attribute(self.name, attribute, value) print 70 * '=' print data print "GET ATTRIBUTE" data = self.inventory.get_attribute(self.name, attribute) print data def test_i066(self): HEADING() name = "i066" attribute = "cm_doesnotexist" print "GET ATTRIBUTE" data = self.inventory.get_attribute(name, attribute) print data """