ktdreyer.koji_ansible.koji_tag (0.0.450) — module

Create and manage Koji tags

Authors: unknown

preview | supported by community

Install collection

Install with ansible-galaxy collection install ktdreyer.koji_ansible:==0.0.450


Add to requirements.yml

  collections:
    - name: ktdreyer.koji_ansible
      version: 0.0.450

Description

Create and manage Koji tags


Requirements

Usage examples

  • Success
    Steampunk Spotter scan finished with no errors, warnings or hints.
- name: create a main koji tag and candidate tag
  hosts: localhost
  tasks:
    - name: Create a main product koji tag
      koji_tag:
        koji: kojidev
        name: ceph-3.1-rhel-7
        arches: x86_64
        state: present
        packages:
          kdreyer:
            - ansible
            - ceph
            - ceph-ansible

    - name: Create a candidate koji tag
      koji_tag:
        koji: kojidev
        name: ceph-3.1-rhel-7-candidate
        state: present
        inheritance:
        - parent: ceph-3.1-rhel-7
          priority: 0

    - name: Create a tag that uses an external repo
      koji_tag:
        koji: kojidev
        name: storage7-ceph-nautilus-el7-build
        state: present
        external_repos:
        - repo: centos7-cr
          priority: 5

    - name: Create a tag that uses comps groups
      koji_tag:
        name: foo-el7-build
        groups:
          srpm-build:
            - rpm-build
            - fedpkg

Inputs

    
name:
    description:
    - The name of the Koji tag to create and manage.
    required: true

perm:
    description:
    - permission (string or int) for this Koji tag.

extra:
    description:
    - set any extra parameters on this tag.

arches:
    description:
    - space-separated string of arches this Koji tag supports.
    - Note, the order in which you specify architectures does matter in a few subtle cases.
      For example, the SRPM that Koji includes in the build is the one built on the first
      arch in this list. Likewise, rpmdiff compares RPMs built on the first arch with
      RPMs built on other arches.

groups:
    description:
    - A tag's "groups" tell Koji what packages will be present in the tag's buildroot.
      For example, the "build" group defines the packages that Koji will put into a "build"
      task's buildroot. You may set other package groups on a tag as well, like "srpm-build"
      or "applicance-build".
    - This should be a dict of groups and packages to set for this tag. Each dict key
      will be the name of the group. Each dict value should be a list of package names
      to include in the comps for this group.
    - If a group or package defined in this field is already applicable for a tag due
      to inheritance, Koji will not allow it to be added to the tag, but will instead
      silently ignore it. Conversely, groups and packages that are inherited in this field
      are not removed if they are left unspecified. Therefore, this field will only have
      an effect if it includes groups and packages that are unique to this tag (i.e.,
      not inherited).
    - This does not support advanced comps group operations, like configuring extra options
      on groups, or blocking packages in groups. If you need that level of control over
      comps groups, you will need to import a full comps XML file, outside of this Ansible
      module.

locked:
    choices:
    - true
    - false
    default: false
    description:
    - whether to lock this tag or not.

packages:
    description:
    - dict of package owners and the a lists of packages each owner maintains.
    - If you omit this "packages" setting, Ansible will not edit the existing package
      list for this tag. For example, if you have another system that already manages
      the package list for this tag, you may want to omit this setting in Ansible. https://github.com/project-ncl/causeway
      is one example of a system that independently manages the package lists for individual
      Koji tags.
    - If you explicitly set "packages" to an empty dict, Ansible will remove all the packages
      defined on this tag.

inheritance:
    description:
    - A list of parents for this tag. Each parent list item must have a "parent" tag name
      and a "priority". Optionally you may specify "maxdepth", "intransitive", "noconfig",
      "pkg_filter" settings for each parent. For more information about these settings,
      see the M(koji_tag_inheritance) module documentation.
    - If you omit this "inheritance" setting, Ansible will not modify any of inheritance
      for this tag.
    - If you explicitly set "inheritance" to an empty list, Ansible will remove all the
      parents for this tag.

maven_support:
    choices:
    - true
    - false
    default: false
    description:
    - whether Maven repos should be generated for the tag.

external_repos:
    description:
    - list of Koji external repos to set for this tag. Each element of the list should
      have a "repo" (the external repo name) and "priority" (integer). You may optionally
      set a "merge_mode" for this external repo ("koji", "simple", or "bare"). For backwards
      compatibility, if you do not set a "merge_mode" and the external repository already
      exists at the given priority, then Ansible will not edit the existing merge mode.

blocked_packages:
    description:
    - The list of packages to block in this tag. Each blocked package must be present
      in the tag directly or inherited through this tag's parent(s).
    - If you omit this "blocked_packages" setting, Ansible will not edit the existing
      blocked packages for this tag. For example, if you have already manually blocked
      packages with "koji block-pkg", you may want to omit this setting in Ansible until
      you've captured the exact list of already-blocked packages in Ansible.
    - If you explicitly set "blocked_packages" to an empty list, Ansible will remove all
      the package blocks for this tag.

maven_include_all:
    choices:
    - true
    - false
    default: false
    description:
    - include every build in this tag (including multiple versions of the same package)
      in the Maven repo.