Exemplo n.º 1
0
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
Exemplo n.º 2
0
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)

    """
Exemplo n.º 3
0
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





    """    
Exemplo n.º 4
0
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 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
Exemplo n.º 6
0
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

    """