def VEImageSync(request): from f5_image_prep.ve_image_sync import VEImageSync as veis def delete_image(): GlanceLib(get_creds()).glance_client.images.delete(TEST_IMG.id) request.addfinalizer(delete_image) creds = get_creds() work_dir = sys.path[0] return veis(creds, BIGIPFILE, work_dir)
def VEImageSync(request, set_env_vars, glanceclientmanager): from f5_image_prep.ve_image_sync import VEImageSync as veis set_env_vars def delete_image(): glanceclientmanager.images.delete(TEST_IMG.id) request.addfinalizer(delete_image) creds = get_creds() work_dir = sys.path[0] return veis(creds, BIGIPFILE, STARTUP_SCRIPT, work_dir)
'''Entry into syncing VE image to glance.''' prepped_image = self._patch_image() img_model = self._upload_image_to_glance(prepped_image) print('\n\nImage Model:\n') print(img_model) return img_model if __name__ == "__main__": parser = argparse.ArgumentParser() parser.add_argument( '-i', '--imagefile', help='Location (local or otherwise) to VE image file.', required=True ) parser.add_argument( '-w', '--workingdirectory', default="%s" % os.environ['HOME'], help='Directory to save working files.' ) args = parser.parse_args() creds = get_creds() ve_image_sync = VEImageSync( creds, args.imagefile, workdir=args.workingdirectory ) ve_image_sync.sync_image()
def test_image_sync(VEImageSync): global TEST_IMG TEST_IMG = VEImageSync.sync_image() imgs = GlanceLib(get_creds()).glance_client.images.list() assert TEST_IMG.id in [img.id for img in imgs]
def delete_image(): GlanceLib(get_creds()).glance_client.images.delete(TEST_IMG.id)
if __name__ == "__main__": parser = argparse.ArgumentParser() parser.add_argument('-i', '--imagefile', help='Location (local or otherwise) to VE image file.', required=True) parser.add_argument('-w', '--working-directory', default="%s" % os.environ['HOME'], help='Directory to save working files.') parser.add_argument( '-s', '--startup-script-package', default=STARTUPSCRIPTPKG, help='Startup script tarball which will be injected into the VE.') parser.add_argument('-p', '--public-image', dest='public_image', action='store_true', help='Glance image can be public or non-public.') args = parser.parse_args() creds = get_creds() ve_image_sync = VEImageSync(creds, args.imagefile, args.startup_script_package, public_image=args.public_image, workdir=args.working_directory) ve_image_sync.sync_image()