def __init__(self, tasker, workflow, pulp_registry_name, load_squashed_image=None, load_exported_image=None, image_names=None, pulp_secret_path=None, username=None, password=None, dockpulp_loglevel=None): """ constructor :param tasker: DockerTasker instance :param workflow: DockerBuildWorkflow instance :param pulp_registry_name: str, name of pulp registry to use, specified in /etc/dockpulp.conf :param load_squashed_image: obsolete name for load_exported_image, please don't use :param load_exported_image: bool, use exported tar instead of image from Docker :param image_names: list of additional image names :param pulp_secret_path: path to pulp.cer and pulp.key; $SOURCE_SECRET_PATH otherwise :param username: pulp username, used in preference to certificate and key :param password: pulp password, used in preference to certificate and key """ # call parent constructor super(PulpPushPlugin, self).__init__(tasker, workflow) self.pulp_registry_name = pulp_registry_name self.image_names = image_names if load_squashed_image is not None and load_exported_image is not None and \ (load_squashed_image != load_exported_image): raise RuntimeError( 'Can\'t use load_squashed_image and load_exported_image with different values' ) if load_squashed_image is not None: self.log.warning( 'load_squashed_image argument is obsolete and will be removed in a future version;' 'please use load_exported_image instead') self.load_exported_image = load_exported_image or load_squashed_image or False self.pulp_secret_path = pulp_secret_path self.username = username self.password = password found_self = False self.publish = True for plugin in self.workflow.postbuild_plugins_conf or []: if plugin['name'] == self.key: found_self = True continue if found_self and plugin['name'] == PulpSyncPlugin.key: self.publish = False break if dockpulp_loglevel is not None: logger = setup_logger(dockpulp.log) try: logger.setLevel(dockpulp_loglevel) except (ValueError, TypeError) as ex: self.log.error("Can't set provided log level %r: %r", dockpulp_loglevel, ex)
def __init__(self, tasker, workflow, pulp_registry_name, load_squashed_image=False, image_names=None, pulp_secret_path=None, username=None, password=None, dockpulp_loglevel=None): """ constructor :param tasker: DockerTasker instance :param workflow: DockerBuildWorkflow instance :param pulp_registry_name: str, name of pulp registry to use, specified in /etc/dockpulp.conf :param load_squashed_image: bool, when running squash plugin with `dont_load=True`, you may load the squashed tar with this switch :param image_names: list of additional image names :param pulp_secret_path: path to pulp.cer and pulp.key; $SOURCE_SECRET_PATH otherwise :param username: pulp username, used in preference to certificate and key :param password: pulp password, used in preference to certificate and key """ # call parent constructor super(PulpPushPlugin, self).__init__(tasker, workflow) self.pulp_registry_name = pulp_registry_name self.image_names = image_names self.load_squashed_image = load_squashed_image self.pulp_secret_path = pulp_secret_path self.username = username self.password = password if dockpulp_loglevel is not None: logger = setup_logger(dockpulp.log) try: logger.setLevel(dockpulp_loglevel) except (ValueError, TypeError) as ex: self.log.error("Can't set provided log level %s: %s", repr(dockpulp_loglevel), repr(ex))
def __init__(self, tasker, workflow, pulp_registry_name, docker_registry, delete_from_registry=False, pulp_secret_path=None, registry_secret_path=None, insecure_registry=None, dockpulp_loglevel=None, pulp_repo_prefix=None, publish=True): """ constructor :param tasker: DockerTasker instance :param workflow: DockerBuildWorkflow instance :param pulp_registry_name: str, name of pulp registry to use, specified in /etc/dockpulp.conf :param docker_registry: str, URL of docker registry to sync from including scheme e.g. https://registry.example.com :param delete_from_registry: bool, whether to delete the image from the docker v2 registry after sync :param pulp_secret_path: path to pulp.cer and pulp.key :param registry_secret_path: path to .dockercfg for the V2 registry :param insecure_registry: True if SSL validation should be skipped :param dockpulp_loglevel: int, logging level for dockpulp :param pulp_repo_prefix: str, prefix for pulp repo IDs """ # call parent constructor super(PulpSyncPlugin, self).__init__(tasker, workflow) self.pulp_registry_name = pulp_registry_name self.docker_registry = docker_registry self.pulp_secret_path = pulp_secret_path self.registry_secret_path = registry_secret_path self.insecure_registry = insecure_registry self.pulp_repo_prefix = pulp_repo_prefix if dockpulp_loglevel is not None: logger = dockpulp.setup_logger(dockpulp.log) try: logger.setLevel(dockpulp_loglevel) except (ValueError, TypeError) as ex: self.log.error("Can't set provided log level %r: %r", dockpulp_loglevel, ex) if delete_from_registry: self.log.error("will not delete from registry as instructed: " "not implemented") self.publish = ( publish and not are_plugins_in_order(self.workflow.postbuild_plugins_conf, self.key, PLUGIN_PULP_PUSH_KEY))
def __init__(self, tasker, workflow, pulp_registry_name, docker_registry, delete_from_registry=False, pulp_secret_path=None, registry_secret_path=None, insecure_registry=None, dockpulp_loglevel=None, pulp_repo_prefix=None, publish=True): """ constructor :param tasker: DockerTasker instance :param workflow: DockerBuildWorkflow instance :param pulp_registry_name: str, name of pulp registry to use, specified in /etc/dockpulp.conf :param docker_registry: str, URL of docker registry to sync from including scheme e.g. https://registry.example.com :param delete_from_registry: bool, whether to delete the image from the docker v2 registry after sync :param pulp_secret_path: path to pulp.cer and pulp.key :param registry_secret_path: path to .dockercfg for the V2 registry :param insecure_registry: True if SSL validation should be skipped :param dockpulp_loglevel: int, logging level for dockpulp :param pulp_repo_prefix: str, prefix for pulp repo IDs """ # call parent constructor super(PulpSyncPlugin, self).__init__(tasker, workflow) self.pulp_registry_name = pulp_registry_name self.docker_registry = docker_registry self.pulp_secret_path = pulp_secret_path self.registry_secret_path = registry_secret_path self.insecure_registry = insecure_registry self.pulp_repo_prefix = pulp_repo_prefix if dockpulp_loglevel is not None: logger = dockpulp.setup_logger(dockpulp.log) try: logger.setLevel(dockpulp_loglevel) except (ValueError, TypeError) as ex: self.log.error("Can't set provided log level %r: %r", dockpulp_loglevel, ex) if delete_from_registry: self.log.error("will not delete from registry as instructed: " "not implemented") self.publish = (publish and not are_plugins_in_order(self.workflow.postbuild_plugins_conf, self.key, PLUGIN_PULP_PUSH_KEY))
def __init__( self, tasker, workflow, pulp_registry_name, load_squashed_image=None, load_exported_image=None, image_names=None, pulp_secret_path=None, username=None, password=None, dockpulp_loglevel=None, ): """ constructor :param tasker: DockerTasker instance :param workflow: DockerBuildWorkflow instance :param pulp_registry_name: str, name of pulp registry to use, specified in /etc/dockpulp.conf :param load_squashed_image: obsolete name for load_exported_image, please don't use :param load_exported_image: bool, use exported tar instead of image from Docker :param image_names: list of additional image names :param pulp_secret_path: path to pulp.cer and pulp.key; $SOURCE_SECRET_PATH otherwise :param username: pulp username, used in preference to certificate and key :param password: pulp password, used in preference to certificate and key """ # call parent constructor super(PulpPushPlugin, self).__init__(tasker, workflow) self.pulp_registry_name = pulp_registry_name self.image_names = image_names if ( load_squashed_image is not None and load_exported_image is not None and (load_squashed_image != load_exported_image) ): raise RuntimeError("Can't use load_squashed_image and load_exported_image with different values") if load_squashed_image is not None: self.log.warning( "load_squashed_image argument is obsolete and will be removed in a future version;" "please use load_exported_image instead" ) self.load_exported_image = load_exported_image or load_squashed_image or False self.pulp_secret_path = pulp_secret_path self.username = username self.password = password if dockpulp_loglevel is not None: logger = setup_logger(dockpulp.log) try: logger.setLevel(dockpulp_loglevel) except (ValueError, TypeError) as ex: self.log.error("Can't set provided log level %s: %s", repr(dockpulp_loglevel), repr(ex))
def __init__(self, tasker, workflow, pulp_registry_name, load_squashed_image=None, load_exported_image=None, image_names=None, pulp_secret_path=None, username=None, password=None, dockpulp_loglevel=None): """ constructor :param tasker: DockerTasker instance :param workflow: DockerBuildWorkflow instance :param pulp_registry_name: str, name of pulp registry to use, specified in /etc/dockpulp.conf :param load_squashed_image: obsolete name for load_exported_image, please don't use :param load_exported_image: bool, use exported tar instead of image from Docker :param image_names: list of additional image names :param pulp_secret_path: path to pulp.cer and pulp.key; $SOURCE_SECRET_PATH otherwise :param username: pulp username, used in preference to certificate and key :param password: pulp password, used in preference to certificate and key """ # call parent constructor super(PulpPushPlugin, self).__init__(tasker, workflow) self.pulp_registry_name = pulp_registry_name self.image_names = image_names if load_squashed_image is not None and load_exported_image is not None and \ (load_squashed_image != load_exported_image): raise RuntimeError( 'Can\'t use load_squashed_image and load_exported_image with different values') if load_squashed_image is not None: self.log.warning( 'load_squashed_image argument is obsolete and will be removed in a future version;' 'please use load_exported_image instead') self.load_exported_image = load_exported_image or load_squashed_image or False self.pulp_secret_path = pulp_secret_path self.username = username self.password = password found_self = False self.publish = True for plugin in self.workflow.postbuild_plugins_conf or []: if plugin['name'] == self.key: found_self = True continue if found_self and plugin['name'] == PulpSyncPlugin.key: self.publish = False break if dockpulp_loglevel is not None: logger = setup_logger(dockpulp.log) try: logger.setLevel(dockpulp_loglevel) except (ValueError, TypeError) as ex: self.log.error("Can't set provided log level %r: %r", dockpulp_loglevel, ex)
def __init__(self, workflow, pulp_instance, log, pulp_secret_path=None, username=None, password=None, dockpulp_loglevel=None): self.workflow = workflow self.pulp_instance = pulp_instance self.pulp_secret_path = pulp_secret_path self.log = log # U/N & password has bigger prio than secret cert self.username = username self.password = password self.p = None if dockpulp_loglevel is not None: logger = setup_logger(dockpulp.log) try: logger.setLevel(dockpulp_loglevel) except (ValueError, TypeError) as ex: self.log.error("Can't set provided log level %r: %r", dockpulp_loglevel, ex)
def __init__(self, tasker, workflow, pulp_registry_name, docker_registry, delete_from_registry=False, pulp_secret_path=None, username=None, password=None, dockpulp_loglevel=None): """ constructor :param tasker: DockerTasker instance :param workflow: DockerBuildWorkflow instance :param pulp_registry_name: str, name of pulp registry to use, specified in /etc/dockpulp.conf :param docker_registry: str, URL of docker registry to sync from :param delete_from_registry: bool, whether to delete the image from the docker v2 registry after sync :param pulp_secret_path: path to pulp.cer and pulp.key :param username: pulp username, used in preference to certificate and key :param password: pulp password, used in preference to certificate and key """ # call parent constructor super(PulpSyncPlugin, self).__init__(tasker, workflow) self.pulp_registry_name = pulp_registry_name self.docker_registry = docker_registry self.pulp_secret_path = pulp_secret_path self.username = username self.password = password if dockpulp_loglevel is not None: logger = dockpulp.setup_logger(dockpulp.log) try: logger.setLevel(dockpulp_loglevel) except (ValueError, TypeError) as ex: self.log.error("Can't set provided log level %r: %r", dockpulp_loglevel, ex) if delete_from_registry: self.log.error("will not delete from registry as instructed: " "not implemented")
import requests import sys try: # Python 2.6 and earlier import simplejson as json except ImportError: if sys.version_info[0] > 2 or sys.version_info[1] > 6: import json else: # json on python 2.6 does not behave like simplejson raise import dockpulp log = dockpulp.setup_logger(dockpulp.log) def get_opts(): usage="""%prog [options] environment config.json Restore configuration to a Pulp environment based on a json dump.""" parser = OptionParser(usage=usage) parser.add_option('-d', '--debug', default=False, action='store_true', help='turn on debugging output') parser.add_option('-p', '--password', help='specify the account password') parser.add_option('-u', '--username', default='admin', help='provide an account besides "admin"') opts, args = parser.parse_args() if len(args) != 2: parser.error('Please specify an environment to restore and a json file') if not os.path.exists(args[1]): parser.error('Could not find %s' % args[1])
def __init__(self): if dockpulp: self.pulp_log = dockpulp.setup_logger(dockpulp.log) else: self.pulp_log = logging.getLogger(__name__)
import os.path import sys try: # Python 2.6 and earlier import simplejson as json except ImportError: if sys.version_info[0] > 2 or sys.version_info[1] > 6: import json else: # json on python 2.6 does not behave like simplejson raise import dockpulp log = dockpulp.setup_logger(dockpulp.log) def get_opts(): usage = """%prog [options] environment config.json Restore configuration to a Pulp environment based on a json dump.""" parser = OptionParser(usage=usage) parser.add_option('-d', '--debug', default=False, action='store_true', help='turn on debugging output') parser.add_option('-p', '--password', help='specify the account password') parser.add_option('-u', '--username', default='admin',