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()
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
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()
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
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()
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()
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()
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()
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()
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()