def __init__(self, tasker, workflow, registries=None, group=True, goarch=None): """ constructor :param tasker: DockerTasker instance :param workflow: DockerBuildWorkflow instance :param registries: dict, keys are docker registries, values are dicts containing per-registry parameters. Params: * "secret" optional string - path to the secret, which stores login and password for remote registry :param group: bool, if true, create a manifest list; otherwise only add tags to amd64 image manifest :param goarch: dict, keys are platform, values are go language platform names """ # call parent constructor super(GroupManifestsPlugin, self).__init__(tasker, workflow) self.group = get_group_manifests(self.workflow, group) plat_des_fallback = [] for platform, architecture in (goarch or {}).items(): plat_dic = {'platform': platform, 'architecture': architecture} plat_des_fallback.append(plat_dic) platform_descriptors = get_platform_descriptors(self.workflow, plat_des_fallback) goarch_from_pd = {} for platform in platform_descriptors: goarch_from_pd[platform['platform']] = platform['architecture'] self.goarch = goarch_from_pd self.registries = get_registries(self.workflow, deepcopy(registries or {})) self.worker_registries = {}
def __init__(self, tasker, workflow, registries=None, group=True, goarch=None): """ constructor :param tasker: ContainerTasker instance :param workflow: DockerBuildWorkflow instance :param registries: dict, keys are docker registries, values are dicts containing per-registry parameters. Params: * "secret" optional string - path to the secret, which stores login and password for remote registry :param group: bool, if true, create a manifest list; otherwise only add tags to amd64 image manifest :param goarch: dict, keys are platform, values are go language platform names """ # call parent constructor super(GroupManifestsPlugin, self).__init__(tasker, workflow) self.group = get_group_manifests(self.workflow, group) plat_des_fallback = [] for platform, architecture in (goarch or {}).items(): plat_dic = {'platform': platform, 'architecture': architecture} plat_des_fallback.append(plat_dic) platform_descriptors = get_platform_descriptors(self.workflow, plat_des_fallback) goarch_from_pd = {} for platform in platform_descriptors: goarch_from_pd[platform['platform']] = platform['architecture'] self.goarch = goarch_from_pd self.manifest_util = ManifestUtil(self.workflow, registries, self.log) self.non_floating_images = None
def __init__(self, tasker, workflow, build_kwargs, platforms=None, osbs_client_config=None, worker_build_image=None, config_kwargs=None, find_cluster_retry_delay=FIND_CLUSTER_RETRY_DELAY, failure_retry_delay=FAILURE_RETRY_DELAY, max_cluster_fails=MAX_CLUSTER_FAILS, url=None, verify_ssl=True, use_auth=True, goarch=None): """ constructor :param tasker: ContainerTasker instance :param workflow: DockerBuildWorkflow instance :param build_kwargs: dict, keyword arguments for starting worker builds :param platforms: list<str>, platforms to build (used via utils.get_orchestrator_platforms()) :param osbs_client_config: str, path to directory containing osbs.conf :param worker_build_image: str, the builder image to use for worker builds (not used, image is inherited from the orchestrator) :param config_kwargs: dict, keyword arguments to override worker configuration :param find_cluster_retry_delay: the delay in seconds to try again reaching a cluster :param failure_retry_delay: the delay in seconds to try again starting a build :param max_cluster_fails: the maximum number of times a cluster can fail before being ignored :param goarch: dict, keys are platform, values are go language platform names """ super(OrchestrateBuildPlugin, self).__init__(tasker, workflow) self.platforms = get_platforms(self.workflow) self.build_kwargs = build_kwargs self.osbs_client_config_fallback = osbs_client_config self.config_kwargs = config_kwargs or {} self.adjust_build_kwargs() self.validate_arrangement_version() self.adjust_config_kwargs() self.reactor_config = get_config(self.workflow) self.find_cluster_retry_delay = find_cluster_retry_delay self.failure_retry_delay = failure_retry_delay self.max_cluster_fails = max_cluster_fails self.koji_upload_dir = generate_koji_upload_dir() self.fs_task_id = self.get_fs_task_id() self.release = self.get_release() self.plat_des_fallback = [] for plat, architecture in (goarch or {}).items(): plat_dic = {'platform': plat, 'architecture': architecture} self.plat_des_fallback.append(plat_dic) self.openshift_fallback = { 'url': url, 'insecure': not verify_ssl, 'auth': { 'enable': use_auth } } if worker_build_image: self.log.warning('worker_build_image is deprecated') self.worker_builds = [] self.namespace = get_build_json().get('metadata', {}).get('namespace', None) self.build_image_digests = {} # by platform self._openshift_session = None self.build_image_override = get_build_image_override(workflow, {}) self.platform_descriptors = get_platform_descriptors( self.workflow, self.plat_des_fallback)
def __init__(self, tasker, workflow, build_kwargs, platforms=None, osbs_client_config=None, worker_build_image=None, config_kwargs=None, find_cluster_retry_delay=FIND_CLUSTER_RETRY_DELAY, failure_retry_delay=FAILURE_RETRY_DELAY, max_cluster_fails=MAX_CLUSTER_FAILS, url=None, verify_ssl=True, use_auth=True, goarch=None): """ constructor :param tasker: DockerTasker instance :param workflow: DockerBuildWorkflow instance :param build_kwargs: dict, keyword arguments for starting worker builds :param platforms: list<str>, platforms to build (used via utils.get_orchestrator_platforms()) :param osbs_client_config: str, path to directory containing osbs.conf :param worker_build_image: str, the builder image to use for worker builds (not used, image is inherited from the orchestrator) :param config_kwargs: dict, keyword arguments to override worker configuration :param find_cluster_retry_delay: the delay in seconds to try again reaching a cluster :param failure_retry_delay: the delay in seconds to try again starting a build :param max_cluster_fails: the maximum number of times a cluster can fail before being ignored :param goarch: dict, keys are platform, values are go language platform names """ super(OrchestrateBuildPlugin, self).__init__(tasker, workflow) self.platforms = get_platforms(self.workflow) self.build_kwargs = build_kwargs self.osbs_client_config_fallback = osbs_client_config self.config_kwargs = config_kwargs or {} self.adjust_build_kwargs() self.validate_arrangement_version() self.adjust_config_kwargs() self.reactor_config = get_config(self.workflow) self.find_cluster_retry_delay = find_cluster_retry_delay self.failure_retry_delay = failure_retry_delay self.max_cluster_fails = max_cluster_fails self.koji_upload_dir = self.get_koji_upload_dir() self.fs_task_id = self.get_fs_task_id() self.release = self.get_release() self.plat_des_fallback = [] for plat, architecture in (goarch or {}).items(): plat_dic = {'platform': plat, 'architecture': architecture} self.plat_des_fallback.append(plat_dic) self.openshift_fallback = { 'url': url, 'insecure': not verify_ssl, 'auth': {'enable': use_auth} } if worker_build_image: self.log.warning('worker_build_image is deprecated') self.worker_builds = [] self.namespace = get_build_json().get('metadata', {}).get('namespace', None) self.build_image_digests = {} # by platform self._openshift_session = None self.build_image_override = get_build_image_override(workflow, {}) self.platform_descriptors = get_platform_descriptors(self.workflow, self.plat_des_fallback)