示例#1
0
def main():
    # Reading arguments
    parser = argparse.ArgumentParser(description='lazylab command which delete reqested lab')
    parser.add_argument('lab_name', type=str, help='lab name')
    parser.add_argument('--verbose', '-v', action='count', default=0)
    args = parser.parse_args()
    
    # Getting lab_name
    lab_name = args.lab_name
    
    # Create a custom logger
    logger = logging.getLogger("lazylab")
    #Set level
    logger.setLevel(LOGGING_LEVEL[args.verbose])
    # Create logger handler
    logger_handler = logging.StreamHandler()
    # set format
    output_format = logging.Formatter('%(name)s - %(levelname)s - %(message)s')
    logger_handler.setFormatter(output_format)
    # set logger handler
    logger.addHandler(logger_handler)
    
    # Creating tasker object and reqesting deploy
    task = Tasker()
    logger.debug('Deleting lab')
    task.delete_lab(lab_name)
示例#2
0
 def test_save(self):
     old_lab_name = self.lab_name
     new_lab_name = self.lab_name
     SAVED_LAB_PATH = PATH_TO_MODULE + '/../test/'
     task = Tasker()
     task.save_lab(old_lab_name, new_lab_name, SAVED_LAB_PATH)
     path1 = LAB_CONFIG_PATH + old_lab_name + '.lazy'
     path2 = SAVED_LAB_PATH + new_lab_name + '.lazy'
     with zipfile.ZipFile(path1, 'r') as archive1, zipfile.ZipFile(path2, 'r') as archive2: 
         filelist1 = archive1.namelist() 
         filelist2 = archive2.namelist() 
         flag = (filelist1 == filelist2)
         for filename in filelist1: 
             with archive1.open(filename) as file1, archive2.open(filename) as file2: 
                 filestring1 = file1.read() 
                 filestring2 = file2.read() 
                 flag = flag and (filestring1 == filestring2) 
     self.assertTrue(flag)
     os.remove(path2)
     
     return 0
示例#3
0
def main():
    """ We need to completely rewrite this UI"""

    logger.info('starting main function')

    # Checking if argument is define and saving name of zip archive from one of arguments

    if len(sys.argv) == 1:
        print(
            'No argument :(\nPlease use one of this:\n  1.deploy\n  2.delete\n 3.save'
        )
        sys.exit(1)
    elif len(sys.argv) == 2:
        config_archive_location = PATH_TO_MODULE + '/labs/' + 'default' + '.lazy'
        lab_name = 'default'
    elif len(sys.argv) == 3:
        config_archive_location = PATH_TO_MODULE + '/labs/' + sys.argv[
            2] + '.lazy'
        lab_name = sys.argv[2]
    # else:
    # print('Too many arguments, please use:\n  1.deploy\n  2.delete\n as first argument and directory of configs as second')
    # exit(1)

    #Parsing arguments and working with manage objects
    if sys.argv[1] == 'deploy':
        logger.debug('Deploying lab')
        task = Tasker()
        task.deploy_lab(lab_name)

    elif sys.argv[1] == 'delete':
        logger.debug('Deleting lab')
        task = Tasker()
        task.delete_lab(lab_name)

    elif (sys.argv[1] == 'save') and (sys.argv[3] == 'as'):
        # Save configs
        logger.debug('saving lab')
        old_lab_name = sys.argv[2]
        new_lab_name = sys.argv[4]
        task = Tasker()
        task.save_lab(old_lab_name, new_lab_name)
    else:
        print(
            'Bad argument :(\nPlease use one of this:\n  1.deploy\n  2.delete')
        exit(1)
    exit(0)
示例#4
0
    def tearDown(self):
        task = Tasker()
        task.delete_lab('Juniper_vmx14')

        return 0
示例#5
0
 def setUp(self):
     self.lab_name = 'Juniper_vmx14'
     task = Tasker()
     task.deploy_lab(self.lab_name)