Skip to content

Ansible collection to automate Red Hat OpenShift Container Platform management, including cluster deployment, testing, continuous integration, validiation, and certification.

License

Notifications You must be signed in to change notification settings

agurenko/ansible-collection-redhatci-ocp

 
 

Repository files navigation

Ansible Collection GitHub Last Commit GitHub Contributors Zuul RPM build Ansible Galaxy Publish DCI Merge Queue

RedHat CI OCP collection

This repository hosts the redhatci.ocp Ansible collection.

The collection includes Ansible roles and modules to help automate OpenShift Platform interactions, as well as the deployment, testing and continuous integration of the clusters or related components.

Important

Red Hat does not provide commercial support for the content of this collection

Installing the collection

Ansible Galaxy

ansible-galaxy collection install redhatci.ocp

RPM package

dnf -y install https://dl.fedoraproject.org/pub/epel/epel-release-latest-8.noarch.rpm
dnf -y install https://packages.distributed-ci.io/dci-release.el8.noarch.rpm
dnf -y install ansible-collection-redhatci-ocp

Roles

Name Description
redhatci.ocp.acm_hypershift Deployment of Hypershift (Hosted Control Planes) through ACM (Advanced Cluster Management).
redhatci.ocp.acm_setup Performs the Advanced Cluster Management (ACM) post-installation tasks
redhatci.ocp.acm_sno Deployment of SNO (Single Node OpenShift) instances using ACM (Advanced Cluster Management)
redhatci.ocp.acm_spoke_mgmt This role allows to perform multiple management operations related to a spoke cluster,e.g. attach a spoke cluster to a given hub cluster, or detach a spoke cluster from a given hub cluster.
redhatci.ocp.add_day2_node Adds as nodes to a pre-existing cluster using a pre-existing on-prem assisted installer instance.
redhatci.ocp.apply_nmstate Applies nmstate network configuration to a host.
redhatci.ocp.approve_csrs Checks for Cert Signing Requests in the pending state and approves them until nodes in the day2_workers group are present in the oc nodes output.
redhatci.ocp.boot_disk Reboots nodes to the disk based on its vendor.
redhatci.ocp.boot_iso Boots nodes to the provided ISO on its vendor.
redhatci.ocp.catalog_source A Role to deploy an OLM-based CatalogSource
redhatci.ocp.chart_verifier Executes the chart-verifier tool.
redhatci.ocp.check_resource Role to wait for the deployment of a given resource
redhatci.ocp.configure_ztp_gitops_apps Connects the OpenShift Gitops Operator to a remote Git repository to pull the SiteConfig and PolicyGenTemplate manifests.
redhatci.ocp.configure_ztp_gitops_repo Pushes the SiteConfig and PolicyGenTemplate manifests to the Git repository, thus triggering the Spoke Cluster deployment process.
redhatci.ocp.conserver Setup of conserver to log serial console.
redhatci.ocp.create_certification_project Creation of a container certification project
redhatci.ocp.create_cluster Creates a cluster definition in an on-prem assisted installer instance.
redhatci.ocp.create_day2_cluster Creates an add-hosts cluster definition in an on-prem assisted installer instance which can be used to add day2 nodes to the cluster.
redhatci.ocp.create_rhde_builder Create a VM ready for building RHDE images.
redhatci.ocp.create_vms Provisions libvirt network, storage pools and the KVM Nodes.
redhatci.ocp.create_helmchart Creation of a Helm Chart certification project
redhatci.ocp.create_pr Pull-Request handling for helm chart certification and operator bundle certification.
redhatci.ocp.deploy_cr Deploys a custom resource
redhatci.ocp.deprecated_api Extracts deprecated API calls in a cluster
redhatci.ocp.destroy_vms Destroys libvirt network, storage pools and the KVM Nodes and the network bridge connection.
redhatci.ocp.display_deployment_plan Displays the crucible deployment plan and waits for user confirmation.
redhatci.ocp.efi_boot_mgr Removes the non-active UEFI boot entries from OCP nodes.
redhatci.ocp.etcd_data Allows to query, encrypt or decrypt etcd data using the supported encryption types.
redhatci.ocp.example_cnf_deploy Deploys the example-cnf workload on top of an OpenShift cluster
redhatci.ocp.extract_openshift_installer Extracts openshift_installer binary from the release image.
redhatci.ocp.generate_agent_iso Creates the boot ISO using OpenShift_installer's agent sub-command
redhatci.ocp.generate_discovery_iso Creates the discovery ISO for a pre-existing cluster definition using a pre-existing on-prem assisted installer
redhatci.ocp.generate_manifests Generates the manifests required for OpenShift_installer's agent sub-command
redhatci.ocp.generate_ssh_key_pair Produces an ssh key pair
redhatci.ocp.get_image_hash Uses skopeo to produce a dictionary of image digests for images used in various playbooks.
redhatci.ocp.gitops_configure_repo Configures the SSH Git repo credentials for the openshift-gitops-operator to be able to connect to the repositories.
redhatci.ocp.fbc_catalog Create File Base Catalogs (FBC) for Operator Lifecycle Manager (OLM).
redhatci.ocp.get_logs_from_namespace Extracts multiple logs from pods and events in a Namespace.
redhatci.ocp.hco_setup Deploys and configures the hco-operator through the kubevirt-hyperconverged CRs.
redhatci.ocp.hostedbm This role allows to create hosted guest clusters with BM workers.
redhatci.ocp.include_components Create and attach DCI components to DCI jobs from git repositories, RPMs or commit URLs.
redhatci.ocp.insert_dns_records Setups dnsmasq (either directly or via NetworkManager) inserting the DNS A records required for OpenShift install.
redhatci.ocp.install_cluster Waits for nodes to be discovered by the on-prem assisted installer then then patches cluster networking and triggers the install process
redhatci.ocp.installer IPI installer
redhatci.ocp.install_operator_gitops Installs and configures the openshift-gitops-operator so it can be used for ZTP deployments. Installation is optional and may be skipped by setting the variable ```ioc_configure_only: true``
redhatci.ocp.jenkins_job_launcher Launch Jenkins jobs
redhatci.ocp.k8s_best_practices_certsuite Executes the Red Hat Best Practices Test Suite for Kubernetes tool.
redhatci.ocp.kvirt_vm Deployment of Kubevirt virtual machines.
redhatci.ocp.label_nodes Applies labels defined at inventory level to the OCP cluster nodes.
redhatci.ocp.manage_firewalld_zone Manage a FirewallD zone.
redhatci.ocp.merge_registry_creds Combines multiple registry credentials in JSON format passed as dictionaries
redhatci.ocp.metallb_setup Setup of the MetalLB operator in BGP mode.
redhatci.ocp.microshift_generate_iso Generate a MicroShift ISO image.
redhatci.ocp.mirror_catalog Mirrors a catalog and its related images.
redhatci.ocp.mirror_from_directory Mirror operators from a local directory into a container registry using the oc-mirror plugin.
redhatci.ocp.mirror_images Mirrors images from one repository to another.
redhatci.ocp.mirror_ocp_release Mirrors a given OpenShift release version to a given cache directory.
redhatci.ocp.monitor_agent_based_installer Tracks the progress of the agent based installation via openshift_installer
redhatci.ocp.monitor_cluster Tracks the progress of the cluster installation via an on-prem assisted installer
redhatci.ocp.monitor_host Tracks host status dusing the installation via an on-prem assisted installer and triggers a reboot to disk if needed
redhatci.ocp.mount_discovery_iso_for_pxe Extracts the required artifacts for a pxe boot from a discovery iso
redhatci.ocp.multibench_run Launch a crucible scenario on OCP
redhatci.ocp.nfs_external_storage Add NFS external storage provisioner to a cluster.
redhatci.ocp.node_prep Preparation for IPI installer
redhatci.ocp.ocp_add_users Add users to an OpenShift cluster through htpasswd Identity Provider.
redhatci.ocp.ocp_logging Enables the OCP logging subsystem.
redhatci.ocp.ocp_on_libvirt Creation of a libvirt environment to install OCP
redhatci.ocp.odf_setup Setup of OpenShift Data Foundation (ODF)
redhatci.ocp.olm_operator Deploys an OLM-based operator.
redhatci.ocp.opcap_tool Runs OPCAP tool to test the installation of the Openshift operators.
redhatci.ocp.openshift_cnf Generate an Openshift-cnf certification project.
redhatci.ocp.operator_sdk Setup Operator-SDK Scorecard test suite
redhatci.ocp.patch_cluster Patches definition of a cluster in an on-prem assisted installer.
redhatci.ocp.patch_host_config Patches host configuration in an on-prem assisted installer.
redhatci.ocp.populate_mirror_registry Copies the images required for installation to a local registry
redhatci.ocp.post_install Waits for the cluster to become operational then copies the kubeconfig and kubeadmin
redhatci.ocp.preflight Container and Operator certification through Preflight
redhatci.ocp.prereq_facts_check Patches host definition in pre-existing on-prem assisted installer
redhatci.ocp.process_kvm_nodes Creates and distributes kvm node specifications to vm hosts
redhatci.ocp.process_nmstate Renders nmstate from crucible network_config
redhatci.ocp.prune_catalog Create a pruned catalog, leaving only the specified operators.
redhatci.ocp.pyxis Interacts with Pyxis API to submit Preflight certification results
redhatci.ocp.redhat_tests Openshift End to End tests
redhatci.ocp.remove_ztp_gitops_resources Remove all GitOps related resources for a given spoke cluster, excepting the cluster namespace, which is not deleted because this will imply the spoke cluster is detached from the hub cluster.
redhatci.ocp.resources_to_components Creates DCI components based on Kubernetes resources
redhatci.ocp.rhoai Install the Red Hat OpenShift AI operators
redhatci.ocp.setup_assisted_installer Deploys an on-prem assisted installer
redhatci.ocp.setup_gitea Deployment of Gitea
redhatci.ocp.setup_http_store Sets up a web host which can be used to distribute iso's for boot_iso role
redhatci.ocp.setup_minio Deployment of Minio.
redhatci.ocp.setup_mirror_registry Deploys a local container registry
redhatci.ocp.setup_netobserv_stack Set up the OCP Network Observability subsystem
redhatci.ocp.setup_ntp Deploys chrony
redhatci.ocp.setup_selfsigned_cert Generates self signed SSL certs
redhatci.ocp.setup_sushy_tools deploys virtual redfish for kvm
redhatci.ocp.setup_tftp Deploys a TFTP server
redhatci.ocp.setup_vm_host_network Configures the network for vm hosts
redhatci.ocp.sideload_kernel Side-load a given realtime kernel onto an OpenShift SNO instance.
redhatci.ocp.sno_installer Deploy OCP SNO in a very opinionated fashion.
redhatci.ocp.sno_node_prep Preparation to deploy OCP SNO
redhatci.ocp.sos_report Generate SOS report from a list of OCP nodes.
redhatci.ocp.sriov_config Configure SR-IOV node policies and/or networks.
redhatci.ocp.storage_tester Storage Service tests during cluster upgrade
redhatci.ocp.upi_installer UPI Installer
redhatci.ocp.vbmc Setup Virtual BMC
redhatci.ocp.validate_dns_records Checks for the required dns entries for ingress and api VIPs
redhatci.ocp.validate_http_store Checks via a round trip that http store is functional
redhatci.ocp.validate_inventory Validates a crucible inventory
redhatci.ocp.vendors.dell Boots a dell iDRAC machine to iso or disk via redfish
redhatci.ocp.vendors.hpe Boots a hpe ilo machine to iso or disk via redfish
redhatci.ocp.vendors.kvm Boots a vm to iso or disk via redfish (sushy tools)
redhatci.ocp.vendors.lenovo Boots a lenovo machine to iso or disk via redfish
redhatci.ocp.vendors.pxe Boots a machine to pxe or disk via ipmi
redhatci.ocp.vendors.supermicro Boots a supermicro machine to iso or disk via redfish
redhatci.ocp.vendors.zt Boots a zt machine to iso or disk via redfish
redhatci.ocp.verify_tests Verification of tests based on rules

Plugins

Name Type Description
redhatci.ocp.junit2dict Filter Transforms a JUnit into a dictionary
redhatci.ocp.ocp_compatibility Filter Parse the deprecated and to-be-deprecated API after the workload installation
redhatci.ocp.regex_diff Filter Obtain differences between two lists
redhatci.ocp.get_compatible_rhocp_repo Module A module to find the latest available version of the RHOCP repository
redhatci.ocp.nmcli Module A modified module to manage networking based on community.general.nmcli

License

See roles or module documentation to find their license. This is a list of the different licenses used in this repository

About

Ansible collection to automate Red Hat OpenShift Container Platform management, including cluster deployment, testing, continuous integration, validiation, and certification.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • Jinja 55.2%
  • Python 35.3%
  • Shell 9.5%