def GetArgs(): """ Gestione degli argomenti """ PARS = VcenterParams() parser = getBaseArgs(PARS) parser.add_argument( '-f', '--folder', required=False, action='store', default='/', help= 'Percorso assoluto della cartella sul datacenter contenente le VM per cui elencare tag e categorie.' ) parser.add_argument('-t', '--type', required=False, nargs='?', choices=['json', 'csv'], action='store', default='csv', help='Formato di output da utilizzare.') args = parser.parse_args() return args
def GetArgs(): """ Gestione degli argomenti """ PARS = VcenterParams() parser = getBaseArgs(PARS) parser.add_argument( '-f', '--folder', required=False, action='store', default='/', help= 'Percorso assoluto della cartella sul datacenter contenente le VM per cui elencare tag e categorie.' ) parser.add_argument( '--autosync', required=False, action='store', choices=['si', 'no'], default=None, help="Specifica se attivare o disattivare il sync dell'orologio") args = parser.parse_args() return args
def GetArgs(): """ Gestione degli argomenti """ PARS = VcenterParams() parser = getBaseArgs(PARS) parser.add_argument( '-n', '--vmname', required=True, action='store', help='Nome della VM per la quale impostare tag e categorie.') # type = lambda s : s.upper() parser.add_argument( '-t', '--tags', required=True, nargs='+', action='store', help= 'Elenco dei tag che devono essere associati alla macchina virtuale.') args = parser.parse_args() if args.user == 'sysadmin': args.password = PARS.SYSADMINPASSWORD return args
def GetArgs(): """ Gestione degli argomenti """ PARS = VcenterParams() parser = getBaseArgs(PARS) parser.add_argument('-i', '--ip', required=True, action='store', help='Ip da ricercare') args = parser.parse_args() return args
def GetArgs(): """ Gestione degli argomenti """ PARS = VcenterParams() parser = getBaseArgs(PARS) today = datetime.now() def_date = today.strftime(PARS.DATEFORMAT) subcommand = parser.add_subparsers(help='comando (help per aiuto)', dest="command") snap_create = subcommand.add_parser( 'create', help='Creazione snaphost (create help per aiuto)') snap_delete = subcommand.add_parser( 'delete', help='Cancellazione snaphost (delete help per aiuto)') snap_revert = subcommand.add_parser( 'revert', help='Revert snaphost (revert help per aiuto)') snap_create.add_argument( '-f', '--folder', required=True, action='store', help= 'Percorso assoluto della cartella sul datacenter contenente le VM per cui creare gli snapshot.' ) snap_create.add_argument( 'date', nargs='?', action='store', type=checkDate, default=def_date, help='Data da usare come nome degli snapshot (predefinita %s)' % def_date) snap_delete.add_argument( '-f', '--folder', required=True, action='store', help= 'Percorso assoluto della cartella sul datacenter contenente le VM da cui eliminare gli snapshot.' ) snap_delete.add_argument( 'date', action='store', type=checkDate, help='Data che verrà usata come nome per gli snapshot da eliminare.') snap_delete.add_argument( '-c', '--cascade', action='store_true', required=False, help= 'Se specificato verrà eliminato lo snapshot specificato e tutti gli snapshot dipendenti.' ) snap_revert.add_argument('date', action='store', type=checkDate, help='Data snapshot da ripristinare') snap_revert.add_argument( '-f', '--folder', required=True, action='store', help= 'Percorso assoluto della cartella sul datacenter contenente le VM da riportare allo snapshot specificato.' ) args = parser.parse_args() if args.user == 'sysadmin': args.password = PARS.SYSADMINPASSWORD return args
vms = [ vm for vm in vmdtc.getVirtualMachineList(folder=args.folder, recursive=False) ] except Exception, e: sys.stderr.write(str(e)) sys.exit(1) if not vms: sys.stderr.write( "Attenzione: nessuna Macchina virtuale trovata nella cartella %s\n" % args.folder) sys.exit(1) snap_name = args.date.strftime(VcenterParams().DATEFORMAT) snap_list = getSnapshotsListFromVm(vms, snap_name) try: if args.command == 'create': if len(snap_list) > 0: raise RuntimeError( "Lo snapshot %s è già presente su una o più delle VM selezionate.\n" % snap_name) vms.sort(key=lambda vm: vm.name, reverse=True) powerVm(vms, 'shutdown') createSnapshot(vms, snap_name) powerVm(vms, 'on')
def GetArgs(): """ Gestione degli argomenti """ PARS = VcenterParams() parser = getBaseArgs(PARS) parser.add_argument( '-f', '--folder', required=False, action='store', default='/', help= 'Percorso assoluto della cartella sul datacenter contenente le VM per cui elencare tag e categorie.' ) subcommand = parser.add_subparsers(help='azione (help per aiuto)', dest="action") verify = subcommand.add_parser( 'verify', help= 'Verifica che le VM abbiano correttamente assegnati i TAG (verify help per aiuto)' ) update = subcommand.add_parser( 'update', help= 'Aggiorna i file host_vars di Ansible per ciascuna VM (update help per aiuto)' ) verify.add_argument( '-t', '--tags', required=False, nargs='+', action='store', default=MANDATORY_CATEGORY, type=lambda s: s.upper(), help= 'Elenco dei tag che devono essere assegnati a ciascuna VM (predefinito %s).' % MANDATORY_CATEGORY) update.add_argument( '-t', '--tags', required=False, nargs='+', action='store', default=HOST_VARS_CATEGORY, type=lambda s: s.upper(), help= 'Elenco dei tag che devono essere inseriti nel file host_vars di Ansible se presenti (predefinito %s).' % HOST_VARS_CATEGORY) args = parser.parse_args() if args.user == 'sysadmin': args.password = PARS.SYSADMINPASSWORD return args