def generate_auto_labels(self, base_labels, df_labels, plugin_labels): generated = {} all_labels = base_labels.copy() all_labels.update(df_labels) all_labels.update(plugin_labels) # build date dt = datetime.datetime.utcfromtimestamp(atomic_reactor_start_time) generated['build-date'] = dt.isoformat() # architecture - assuming host and image architecture is the same generated['architecture'], _ = get_docker_architecture(self.tasker) # build host docker_info = self.tasker.get_info() generated['com.redhat.build-host'] = docker_info['Name'] # VCS info vcs = self.workflow.source.get_vcs_info() if vcs: generated['vcs-type'] = vcs.vcs_type generated['vcs-url'] = vcs.vcs_url generated['vcs-ref'] = vcs.vcs_ref for lbl in self.auto_labels: if lbl not in generated: self.log.warning( "requested automatic label %r is not available", lbl) else: self.labels[lbl] = generated[lbl] self.log.info("automatic label %r is generated to %r", lbl, generated[lbl])
def generate_auto_labels(self, base_labels, df_labels, plugin_labels): generated = {} all_labels = base_labels.copy() all_labels.update(df_labels) all_labels.update(plugin_labels) # build date dt = datetime.datetime.utcfromtimestamp(atomic_reactor_start_time) generated['build-date'] = dt.isoformat() # architecture - assuming host and image architecture is the same generated['architecture'], _ = get_docker_architecture(self.tasker) # build host docker_info = self.tasker.get_info() generated['com.redhat.build-host'] = docker_info['Name'] # VCS info vcs = self.workflow.source.get_vcs_info() if vcs: generated['vcs-type'] = vcs.vcs_type generated['vcs-url'] = vcs.vcs_url generated['vcs-ref'] = vcs.vcs_ref for lbl in self.auto_labels: if lbl not in generated: self.log.warning("requested automatic label %r is not available", lbl) elif lbl in plugin_labels: self.log.info("label %r is set explicitly, not using generated value", lbl) else: self.labels[lbl] = generated[lbl] self.log.info("automatic label %r is generated to %r", lbl, generated[lbl])
def get_buildroot(build_id, tasker, osbs, rpms): """ Build the buildroot entry of the metadata. :param build_id: str, ocp build_id :param tasker: ContainerTasker instance :param osbs: OSBS instance :param rpms: bool, get rpms for components metadata :return: dict, partial metadata """ docker_info = tasker.get_info() host_arch, docker_version = get_docker_architecture(tasker) buildroot = { 'id': 1, 'host': { 'os': docker_info['OperatingSystem'], 'arch': host_arch, }, 'content_generator': { 'name': PROG, 'version': atomic_reactor_version, }, 'container': { 'type': 'docker', 'arch': os.uname()[4], }, 'tools': [{ 'name': tool['name'], 'version': tool['version'], } for tool in get_version_of_tools()] + [ { 'name': 'docker', 'version': docker_version, }, ], 'extra': { 'osbs': { 'build_id': build_id, 'builder_image_id': get_builder_image_id(build_id, osbs), } }, 'components': [], } if rpms: buildroot['components'] = get_rpms() return buildroot
def get_buildroot(self, build_id): """ Build the buildroot entry of the metadata. :return: dict, partial metadata """ docker_info = self.tasker.get_info() host_arch, docker_version = get_docker_architecture(self.tasker) buildroot = { 'id': 1, 'host': { 'os': docker_info['OperatingSystem'], 'arch': host_arch, }, 'content_generator': { 'name': PROG, 'version': atomic_reactor_version, }, 'container': { 'type': 'docker', 'arch': os.uname()[4], }, 'tools': [ { 'name': tool['name'], 'version': tool['version'], } for tool in get_version_of_tools()] + [ { 'name': 'docker', 'version': docker_version, }, ], 'components': self.get_rpms(), 'extra': { 'osbs': { 'build_id': build_id, 'builder_image_id': self.get_builder_image_id(), } }, } return buildroot
def generate_auto_labels(self, auto_labels): generated = {} # build date dt = datetime.datetime.fromtimestamp(atomic_reactor_start_time) generated['build-date'] = dt.isoformat() # architecture - assuming host and image architecture is the same generated['architecture'], _ = get_docker_architecture(self.tasker) # build host docker_info = self.tasker.get_info() generated['com.redhat.build-host'] = docker_info['Name'] # VCS info vcs = self.workflow.source.get_vcs_info() if vcs: generated['vcs-type'] = vcs.vcs_type generated['vcs-url'] = vcs.vcs_url generated['vcs-ref'] = vcs.vcs_ref for old, new in self.aliases.items(): self.log.info("old=%r new=%r", old, new) if new in generated and old not in generated: self.log.info("adding %r for compatibility", old) generated[old] = generated[new] for lbl in auto_labels: if lbl in self.labels: self.log.info( "label %r is set explicitly, not using generated value", lbl) continue if lbl in generated: self.labels[lbl] = generated[lbl] else: self.log.warning( "requested automatic label %r is not available", lbl)