Пример #1
0
    def main(self):
        if self.args.version:
            from nodepool.version import version_info as npc_version_info
            print "Nodepool version: %s" % npc_version_info.version_string()
            return(0)

        self.pool = nodepool.NodePool(self.args.config)
        config = self.pool.loadConfig()
        self.pool.reconfigureDatabase(config)
        self.pool.setConfig(config)
        self.args.func()
Пример #2
0
    def create_parser(self):
        parser = argparse.ArgumentParser(description=self.app_description)

        parser.add_argument('-l',
                            dest='logconfig',
                            help='path to log config file')

        parser.add_argument('--version',
                            action='version',
                            version=npd_version_info.version_string())

        return parser
Пример #3
0
    def main(self):
        self.parse_arguments()

        if self.args.version:
            from nodepool.version import version_info as npc_version_info
            print "Nodepool version: %s" % npc_version_info.version_string()
            return (0)

        self.pool = nodepool.NodePool(self.args.config)
        config = self.pool.loadConfig()
        self.pool.reconfigureDatabase(config)
        self.pool.setConfig(config)
        self.args.func()
Пример #4
0
    def create_parser(self):
        parser = argparse.ArgumentParser(
            description=self.app_description,
            formatter_class=argparse.ArgumentDefaultsHelpFormatter)

        parser.add_argument('-l',
                            dest='logconfig',
                            help='path to log config file')

        parser.add_argument('--version',
                            action='version',
                            version=npd_version_info.version_string())

        return parser
Пример #5
0
def main():
    npd = NodePoolDaemon()
    npd.parse_arguments()

    if npd.args.version:
        from nodepool.version import version_info as npd_version_info
        print "Nodepool version: %s" % npd_version_info.version_string()
        return (0)

    pid = pid_file_module.TimeoutPIDLockFile(npd.args.pidfile, 10)

    if npd.args.nodaemon:
        npd.main()
    else:
        with daemon.DaemonContext(pidfile=pid):
            npd.main()
Пример #6
0
def main():
    npd = NodePoolDaemon()
    npd.parse_arguments()

    if npd.args.version:
        from nodepool.version import version_info as npd_version_info
        print "Nodepool version: %s" % npd_version_info.version_string()
        return(0)

    pid = pid_file_module.TimeoutPIDLockFile(npd.args.pidfile, 10)

    if npd.args.nodaemon:
        npd.main()
    else:
        with daemon.DaemonContext(pidfile=pid):
            npd.main()
Пример #7
0
    def parse_arguments(self):
        parser = argparse.ArgumentParser(description="Node pool.")
        parser.add_argument("-c", dest="config", default="/etc/nodepool/nodepool.yaml", help="path to config file")
        parser.add_argument(
            "--version", action="version", version=npc_version_info.version_string(), help="show version"
        )
        parser.add_argument("--debug", dest="debug", action="store_true", help="show DEBUG level logging")

        subparsers = parser.add_subparsers(
            title="commands", description="valid commands", dest="command", help="additional help"
        )

        cmd_list = subparsers.add_parser("list", help="list nodes")
        cmd_list.set_defaults(func=self.list)
        cmd_image_list = subparsers.add_parser("image-list", help="list images from providers")
        cmd_image_list.set_defaults(func=self.image_list)

        cmd_dib_image_list = subparsers.add_parser("dib-image-list", help="list images built with diskimage-builder")
        cmd_dib_image_list.set_defaults(func=self.dib_image_list)

        cmd_image_update = subparsers.add_parser("image-update", help="rebuild the image and upload to provider")
        cmd_image_update.add_argument("provider", help="provider name (`all` for uploading to all providers)")
        cmd_image_update.add_argument("image", help="image name")
        cmd_image_update.set_defaults(func=self.image_update)

        cmd_image_build = subparsers.add_parser("image-build", help="build image using diskimage-builder")
        cmd_image_build.add_argument("image", help="image name")
        cmd_image_build.set_defaults(func=self.image_build)

        cmd_alien_list = subparsers.add_parser("alien-list", help="list nodes not accounted for by nodepool")
        cmd_alien_list.set_defaults(func=self.alien_list)
        cmd_alien_list.add_argument("provider", help="provider name", nargs="?")

        cmd_alien_image_list = subparsers.add_parser(
            "alien-image-list", help="list images not accounted for by nodepool"
        )
        cmd_alien_image_list.set_defaults(func=self.alien_image_list)
        cmd_alien_image_list.add_argument("provider", help="provider name", nargs="?")

        cmd_hold = subparsers.add_parser("hold", help="place a node in the HOLD state")
        cmd_hold.set_defaults(func=self.hold)
        cmd_hold.add_argument("id", help="node id")

        cmd_delete = subparsers.add_parser("delete", help="place a node in the DELETE state")
        cmd_delete.set_defaults(func=self.delete)
        cmd_delete.add_argument("id", help="node id")
        cmd_delete.add_argument("--now", action="store_true", help="delete the node in the foreground")

        cmd_image_delete = subparsers.add_parser("image-delete", help="delete an image")
        cmd_image_delete.set_defaults(func=self.image_delete)
        cmd_image_delete.add_argument("id", help="image id")

        cmd_dib_image_delete = subparsers.add_parser(
            "dib-image-delete", help="delete image built with diskimage-builder"
        )
        cmd_dib_image_delete.set_defaults(func=self.dib_image_delete)
        cmd_dib_image_delete.add_argument("id", help="dib image id")

        cmd_image_upload = subparsers.add_parser("image-upload", help="upload an image to a provider ")
        cmd_image_upload.set_defaults(func=self.image_upload)
        cmd_image_upload.add_argument(
            "provider", help="provider name (`all` for uploading to all providers)", nargs="?", default="all"
        )
        cmd_image_upload.add_argument("image", help="image name")

        cmd_config_validate = subparsers.add_parser("config-validate", help="Validate configuration file")
        cmd_config_validate.set_defaults(func=self.config_validate)

        self.args = parser.parse_args()
Пример #8
0
    def parse_arguments(self):
        parser = argparse.ArgumentParser(description='Node pool.')
        parser.add_argument('-c', dest='config',
                            default='/etc/nodepool/nodepool.yaml',
                            help='path to config file')
        parser.add_argument('--version', action='version',
                            version=npc_version_info.version_string(),
                            help='show version')
        parser.add_argument('--debug', dest='debug', action='store_true',
                            help='show DEBUG level logging')

        subparsers = parser.add_subparsers(title='commands',
                                           description='valid commands',
                                           dest='command',
                                           help='additional help')

        cmd_list = subparsers.add_parser('list', help='list nodes')
        cmd_list.set_defaults(func=self.list)
        cmd_image_list = subparsers.add_parser(
            'image-list', help='list images from providers')
        cmd_image_list.set_defaults(func=self.image_list)

        cmd_dib_image_list = subparsers.add_parser(
            'dib-image-list',
            help='list images built with diskimage-builder')
        cmd_dib_image_list.set_defaults(func=self.dib_image_list)

        cmd_image_update = subparsers.add_parser(
            'image-update',
            help='rebuild the image and upload to provider')
        cmd_image_update.add_argument(
            'provider',
            help='provider name (`all` for uploading to all providers)')
        cmd_image_update.add_argument('image', help='image name')
        cmd_image_update.set_defaults(func=self.image_update)

        cmd_image_build = subparsers.add_parser(
            'image-build',
            help='build image using diskimage-builder')
        cmd_image_build.add_argument('image', help='image name')
        cmd_image_build.set_defaults(func=self.image_build)

        cmd_alien_list = subparsers.add_parser(
            'alien-list',
            help='list nodes not accounted for by nodepool')
        cmd_alien_list.set_defaults(func=self.alien_list)
        cmd_alien_list.add_argument('provider', help='provider name',
                                    nargs='?')

        cmd_alien_image_list = subparsers.add_parser(
            'alien-image-list',
            help='list images not accounted for by nodepool')
        cmd_alien_image_list.set_defaults(func=self.alien_image_list)
        cmd_alien_image_list.add_argument('provider', help='provider name',
                                          nargs='?')

        cmd_hold = subparsers.add_parser(
            'hold',
            help='place a node in the HOLD state')
        cmd_hold.set_defaults(func=self.hold)
        cmd_hold.add_argument('id', help='node id')

        cmd_delete = subparsers.add_parser(
            'delete',
            help='place a node in the DELETE state')
        cmd_delete.set_defaults(func=self.delete)
        cmd_delete.add_argument('id', help='node id')
        cmd_delete.add_argument('--now',
                                action='store_true',
                                help='delete the node in the foreground')

        cmd_image_delete = subparsers.add_parser(
            'image-delete',
            help='delete an image')
        cmd_image_delete.set_defaults(func=self.image_delete)
        cmd_image_delete.add_argument('id', help='image id')

        cmd_dib_image_delete = subparsers.add_parser(
            'dib-image-delete',
            help='delete image built with diskimage-builder')
        cmd_dib_image_delete.set_defaults(func=self.dib_image_delete)
        cmd_dib_image_delete.add_argument('id', help='dib image id')

        cmd_image_upload = subparsers.add_parser(
            'image-upload',
            help='upload an image to a provider ')
        cmd_image_upload.set_defaults(func=self.image_upload)
        cmd_image_upload.add_argument(
            'provider',
            help='provider name (`all` for uploading to all providers)',
            nargs='?', default='all')
        cmd_image_upload.add_argument('image', help='image name')

        cmd_config_validate = subparsers.add_parser(
            'config-validate',
            help='Validate configuration file')
        cmd_config_validate.set_defaults(func=self.config_validate)

        self.args = parser.parse_args()
Пример #9
0
    def parse_arguments(self):
        parser = argparse.ArgumentParser(description='Node pool.')
        parser.add_argument('-c',
                            dest='config',
                            default='/etc/nodepool/nodepool.yaml',
                            help='path to config file')
        parser.add_argument('-s',
                            dest='secure',
                            default='/etc/nodepool/secure.conf',
                            help='path to secure file')
        parser.add_argument('-l',
                            dest='logconfig',
                            help='path to log config file')
        parser.add_argument('--version',
                            action='version',
                            version=npc_version_info.version_string(),
                            help='show version')
        parser.add_argument('--debug',
                            dest='debug',
                            action='store_true',
                            help='show DEBUG level logging')

        subparsers = parser.add_subparsers(title='commands',
                                           description='valid commands',
                                           dest='command',
                                           help='additional help')

        cmd_list = subparsers.add_parser('list', help='list nodes')
        cmd_list.set_defaults(func=self.list)
        cmd_image_list = subparsers.add_parser(
            'image-list', help='list images from providers')
        cmd_image_list.set_defaults(func=self.image_list)

        cmd_dib_image_list = subparsers.add_parser(
            'dib-image-list', help='list images built with diskimage-builder')
        cmd_dib_image_list.set_defaults(func=self.dib_image_list)

        cmd_image_build = subparsers.add_parser(
            'image-build', help='build image using diskimage-builder')
        cmd_image_build.add_argument('image', help='image name')
        cmd_image_build.set_defaults(func=self.image_build)

        cmd_alien_list = subparsers.add_parser(
            'alien-list', help='list nodes not accounted for by nodepool')
        cmd_alien_list.set_defaults(func=self.alien_list)
        cmd_alien_list.add_argument('provider',
                                    help='provider name',
                                    nargs='?')

        cmd_alien_image_list = subparsers.add_parser(
            'alien-image-list',
            help='list images not accounted for by nodepool')
        cmd_alien_image_list.set_defaults(func=self.alien_image_list)
        cmd_alien_image_list.add_argument('provider',
                                          help='provider name',
                                          nargs='?')

        cmd_hold = subparsers.add_parser('hold',
                                         help='place a node in the HOLD state')
        cmd_hold.set_defaults(func=self.hold)
        cmd_hold.add_argument('id', help='node id')
        cmd_hold.add_argument('--reason',
                              help='Optional reason this node is held')

        cmd_delete = subparsers.add_parser(
            'delete', help='place a node in the DELETE state')
        cmd_delete.set_defaults(func=self.delete)
        cmd_delete.add_argument('id', help='node id')
        cmd_delete.add_argument('--now',
                                action='store_true',
                                help='delete the node in the foreground')

        cmd_image_delete = subparsers.add_parser('image-delete',
                                                 help='delete an image')
        cmd_image_delete.set_defaults(func=self.image_delete)
        cmd_image_delete.add_argument('--provider',
                                      help='provider name',
                                      required=True)
        cmd_image_delete.add_argument('--image',
                                      help='image name',
                                      required=True)
        cmd_image_delete.add_argument('--upload-id',
                                      help='image upload id',
                                      required=True)
        cmd_image_delete.add_argument('--build-id',
                                      help='image build id',
                                      required=True)

        cmd_dib_image_delete = subparsers.add_parser(
            'dib-image-delete',
            help='delete image built with diskimage-builder')
        cmd_dib_image_delete.set_defaults(func=self.dib_image_delete)
        cmd_dib_image_delete.add_argument('id', help='dib image id')

        cmd_config_validate = subparsers.add_parser(
            'config-validate', help='Validate configuration file')
        cmd_config_validate.set_defaults(func=self.config_validate)

        cmd_job_list = subparsers.add_parser('job-list', help='list jobs')
        cmd_job_list.set_defaults(func=self.job_list)

        cmd_job_create = subparsers.add_parser('job-create', help='create job')
        cmd_job_create.add_argument('name', help='job name')
        cmd_job_create.add_argument(
            '--hold-on-failure',
            help='number of nodes to hold when this job fails')
        cmd_job_create.set_defaults(func=self.job_create)

        cmd_job_delete = subparsers.add_parser('job-delete', help='delete job')
        cmd_job_delete.set_defaults(func=self.job_delete)
        cmd_job_delete.add_argument('id', help='job id')

        self.args = parser.parse_args()
Пример #10
0
    def parse_arguments(self):
        parser = argparse.ArgumentParser(description='Node pool.')
        parser.add_argument('-c',
                            dest='config',
                            default='/etc/nodepool/nodepool.yaml',
                            help='path to config file')
        parser.add_argument('-s',
                            dest='secure',
                            default='/etc/nodepool/secure.conf',
                            help='path to secure file')
        parser.add_argument('--version',
                            action='version',
                            version=npc_version_info.version_string(),
                            help='show version')
        parser.add_argument('--debug',
                            dest='debug',
                            action='store_true',
                            help='show DEBUG level logging')

        subparsers = parser.add_subparsers(title='commands',
                                           description='valid commands',
                                           dest='command',
                                           help='additional help')

        cmd_list = subparsers.add_parser('list', help='list nodes')
        cmd_list.set_defaults(func=self.list)
        cmd_image_list = subparsers.add_parser(
            'image-list', help='list images from providers')
        cmd_image_list.set_defaults(func=self.image_list)

        cmd_dib_image_list = subparsers.add_parser(
            'dib-image-list', help='list images built with diskimage-builder')
        cmd_dib_image_list.set_defaults(func=self.dib_image_list)

        cmd_image_update = subparsers.add_parser(
            'image-update', help='rebuild the image and upload to provider')
        cmd_image_update.add_argument(
            'provider',
            help='provider name (`all` for uploading to all providers)')
        cmd_image_update.add_argument('image', help='image name')
        cmd_image_update.set_defaults(func=self.image_update)

        cmd_image_build = subparsers.add_parser(
            'image-build', help='build image using diskimage-builder')
        cmd_image_build.add_argument('image', help='image name')
        cmd_image_build.set_defaults(func=self.image_build)

        cmd_alien_list = subparsers.add_parser(
            'alien-list', help='list nodes not accounted for by nodepool')
        cmd_alien_list.set_defaults(func=self.alien_list)
        cmd_alien_list.add_argument('provider',
                                    help='provider name',
                                    nargs='?')

        cmd_alien_image_list = subparsers.add_parser(
            'alien-image-list',
            help='list images not accounted for by nodepool')
        cmd_alien_image_list.set_defaults(func=self.alien_image_list)
        cmd_alien_image_list.add_argument('provider',
                                          help='provider name',
                                          nargs='?')

        cmd_hold = subparsers.add_parser('hold',
                                         help='place a node in the HOLD state')
        cmd_hold.set_defaults(func=self.hold)
        cmd_hold.add_argument('id', help='node id')

        cmd_delete = subparsers.add_parser(
            'delete', help='place a node in the DELETE state')
        cmd_delete.set_defaults(func=self.delete)
        cmd_delete.add_argument('id', help='node id')
        cmd_delete.add_argument('--now',
                                action='store_true',
                                help='delete the node in the foreground')

        cmd_image_delete = subparsers.add_parser('image-delete',
                                                 help='delete an image')
        cmd_image_delete.set_defaults(func=self.image_delete)
        cmd_image_delete.add_argument('id', help='image id')

        cmd_dib_image_delete = subparsers.add_parser(
            'dib-image-delete',
            help='delete image built with diskimage-builder')
        cmd_dib_image_delete.set_defaults(func=self.dib_image_delete)
        cmd_dib_image_delete.add_argument('id', help='dib image id')

        cmd_image_upload = subparsers.add_parser(
            'image-upload', help='upload an image to a provider ')
        cmd_image_upload.set_defaults(func=self.image_upload)
        cmd_image_upload.add_argument(
            'provider',
            help='provider name (`all` for uploading to all providers)',
            nargs='?',
            default='all')
        cmd_image_upload.add_argument('image', help='image name')

        cmd_config_validate = subparsers.add_parser(
            'config-validate', help='Validate configuration file')
        cmd_config_validate.set_defaults(func=self.config_validate)

        self.args = parser.parse_args()