ktdreyer / ktdreyer.koji_ansible / 0.0.450 / module / koji_tag Create and manage Koji tags Authors: unknown preview | supported by communityktdreyer.koji_ansible.koji_tag (0.0.450) — module
Install with ansible-galaxy collection install ktdreyer.koji_ansible:==0.0.450
collections: - name: ktdreyer.koji_ansible version: 0.0.450
Create and manage Koji tags
- 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
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.