logo
  1. Michael Burke

    Tue 25 March 2025

    An Introduction to the DCI RHEL Agent

    An introduction to the DCI RHEL Agent's architecture, installation, and usage

    Read more
  2. Jorge Gallegos

    Tue 11 March 2025

    Agent-Based Install on LibVirt

    This blog post showcases the steps needed (with automated examples) to get an Agent-Based Installer (ABI) cluster in a Virtual Lab up and running

    Read more
  3. Ramon Perez

    Fri 22 November 2024

    Fully virtualized ZTP deployments with DCI

    This blog post will show you how you can deploy a fully virtualized ZTP environment, where both the hub and spoke cluster will be placed in virtual machines managed with KVM. For this purpose, DCI will be used as key continuous integration tool to support the installation of both the hub and spoke cluster. This is useful for quickly troubleshooting of issues, not depending on a full baremetal infrastructure for that. The differences between the deployment on baremetal and virtualized scenarios (even though DCI works seamlessly in both cases) will be presented, also highlighting the key aspects you need to have in mind when deploying this pipeline with virtual machines. Best practices and lessons learned will be also shared.

    Read more
  4. Nacho Silla

    Wed 23 October 2024

    GitOps-ZTP OCP deployments with DCI

    One of the OCP deployment use cases getting more attention lately is the GitOps-ZTP. This article describes how to use DCI to deploy an OCP cluster following this methodology.

    Read more
  5. Tatiana Krishtop, Gonzalo Reyero Ferreras

    Wed 25 September 2024

    Detecting To-Be-Removed APIs for Kubernetes Upgrade Readiness with Red Hat Best Practices Certification for k8s

    As Kubernetes continues to evolve, new features are introduced while older, deprecated APIs are phased out. This cycle ensures the platform remains cutting-edge, but it also presents a significant challenge during upgrades, especially for applications relying on deprecated APIs. In this post, we'll discuss Kubernetes upgrade readiness, the complexities of API deprecation, and how we can detect soon-to-be-removed APIs—both statically and dynamically invoked—using Red Hat Best Practices Certification for k8s.

    Read more
  6. Ramon Perez, Bill Peck, Tatiana Krishtop

    Tue 25 June 2024

    Addressing Challenges in Transitioning from IPI to ABI Installation

    In this post, we share how to deploy an entire Openshift Container Platform (OCP) cluster on a single baremetal server using the Assisted - Agent Based Installer (ABI) in a virtual environment with Libvirt VMs nodes. We highlight the benefits of ABI installation compared to the Installer Provisioner Infrastructure (IPI) installation that was our de-facto method.

    Read more
  7. Ramon Perez

    Thu 06 June 2024

    Directory structure built on OCP DCI agents

    This blog post aims to guide DCI users on locating the resources provided by our DCI agents (dci-openshift-agent, dci-openshift-app-agent, and dci-pipeline) on the server used to launch these agents. It also includes an explanation of each piece of installed code. Having this information clearly described is crucial for troubleshooting, as it helps users know where to look in the DCI agents' code.

    Read more
  8. Tony Garcia

    Fri 03 November 2023

    Image Digest Mirror Set (IDMS) support in DCI OpenShift Agents

    The DCI openshift agents bring transparent support to use the newly added Image Digest Mirror Sets (IDMS) in OpenShift. The main use of IDMS is in disconnected clusters. The IDMS provides the registry mirroring functionality for images that are not reachable due to network constraints.

    Read more
  9. Bill Peck

    Wed 25 October 2023

    OCP Assisted Install on Libvirt

    A step by step guide on how to setup DCI Openshift agent on libvirt with Assisted Installs.

    Read more
  10. Nacho Silla

    Wed 18 October 2023

    Disconnected Environments: How To

    A step by step guide on how to setup a DCI lab within a restricted network.

    Read more
  11. Ramon Perez

    Fri 06 October 2023

    Practical examples of dci-pipeline usage to speed up your OCP cluster testing

    This blog post presents practical examples of dci-pipeline usage that can be useful when dealing with testing and troubleshooting of OCP clusters and workloads deployed on top of it with DCI.

    Read more
  12. Nacho Silla

    Wed 04 October 2023

    Creating custom catalog listing discontinued certified operator releases

    A step-by-step guide on how to create a custom catalog source listing discontinued certified operator releases.

    Read more
  13. Charles Caporali

    Thu 21 September 2023

    Using performance profiles with DCI-openshift-agent

    This post gives an example of how to apply, using the DCI automation, a typical PerformanceProfile for a Telco use case.

    Read more
  14. Pierre Blanc

    Fri 15 September 2023

    Running your pipelines with podman with dci-pipeline-podman

    This short post will describe a new feature in DCI, the way to run dci-pipeline with a Podman container. We will see how it is easy to install, configure and use it.

    Read more
  15. Ramon Perez, Pierre Blanc

    Thu 14 September 2023

    Expand your dci-pipeline knowledge

    This blog post continues the overview of dci-pipeline and related testing tools, focusing on some useful features that can really help you when addressing testing and troubleshooting with DCI jobs.

    Read more
  16. Nacho Silla

    Sat 15 April 2023

    Disconnected Environments: Overview

    An introduction to DCI labs implementation of disconnected environments.

    Read more
  17. Tatiana Krishtop, Pierre Blanc

    Tue 21 March 2023

    Automating JUnit test result verification for large applications using Ansible filter-plugins

    We are addressing DevOps or QA engineers who run and validate heavy test suites with thousands of tests in every JUnit file. These engineers often feel tired from having to manually create a list of failed tests to send back to the developers. While automated validation can help, it's challenging to implement it for real-world needs, such as making sure all tests are working or that all tests beginning with 'network' are passing. In this post, we will showcase an Ansible role that automates this type of validation.

    Read more
  18. Ramon Perez, Manuel Rodriguez

    Thu 16 March 2023

    Networking Considerations for Distributed Deployment of Libvirt/KVM-Based OCP Clusters

    In previous blog posts, we have learned about the OCP on Libvirt project and the benefits it brings to us, with regards to the flexible deployment of OCP clusters where the nodes are virtual machines deployed on KVM. However, we have only covered the case of one single physical server. Can we use multiple physical servers to set up a lab with multiple, distributed deployment on Libvirt-based OCP clusters? The answer is yes! And we will explain the main requirements and challenges in terms of networking in this blog post.

    Read more
  19. Tatiana Krishtop

    Tue 28 February 2023

    Upgrading to OCP 4.12? Watch Out for Deprecated API in Your OpenShift Applications

    One of the main challenges during the workload migration to OCP-4.12 is the massive deprecation of beta APIs. In this post, we will discuss how to identify the APIs that are going to be deprecated and how DCI could simplify this task for you.

    Read more
  20. Charles Caporali

    Mon 30 January 2023

    Testing the storage services during an OCP upgrade

    The storage tester role, shipped in the DCI OpenShift Agent, allows the user to test a storage class behavior during an upgrade. It can be seen as an example of resilience testing that can be done with DCI on a cluster.

    Read more
  21. Pierre Blanc

    Thu 26 January 2023

    Start using dci-pipeline

    This post will describe what is a pipeline in the DCI world and how to use it step by step to create workflows in our testing environment.

    Read more
  22. Ramon Perez

    Fri 20 January 2023

    Mastering dci-check-change

    In previous blog posts, we have learned how to use dci-check-change to effectively test code changes on DCI agents. This blog post aims to bring this knowledge to the next level, learning about specific use cases that may be interesting for testing changes in particular scenarios.

    Read more
  23. Tatiana Krishtop, Ramon Perez

    Mon 09 January 2023

    Using DCI to Easily Install an OpenShift Libvirt Cluster on a Single Baremetal Server

    This post is a tutorial on how to install a standard three-masters and two-workers OpenShift cluster on one powerful baremetal server. The idea is to first create all required virtual machines and networks using libvirt KVM driver, and then install OpenShift on that virtual cluster using DCI.

    Read more
  24. Beto Rodriguez

    Thu 05 January 2023

    Using ACM to deploy SNO

    ACM is a tool that allows the deployment and management of OCP clusters and workloads on top of it. In this post, we will go through an example of how to use ACM to deploy an SNO instance in the DCI way.

    Read more
  25. Beto Rodriguez

    Thu 05 January 2023

    ACM integration in DCI

    ACM is a tool that allows deploying, and managing OCP clusters and workloads on top of it. Now the DCI Agent has the support to automate the creation of SNO instances by the integration of the ACM roles.

    Read more
  26. Beto Rodriguez, Ramon Perez, Tatiana Krishtop

    Thu 22 December 2022

    Exploring Certification Test Suites Integrated in DCI: A Comprehensive Review

    This post aims to provide an overview of the certification test suites integrated in DCI and help you plan your certification journey.

    Read more
  27. Manuel Rodriguez

    Fri 25 November 2022

    Troubleshoot pod traffic with nsenter and tcpdump tools

    When a pod fails to contact another network resource, logs might provide some hints, but sometimes the ultimate evidence of what is happening can be seen from a tcpdump packet capture; however, not all pods have tcpdump tools or even a shell to interact with. This blog post demonstrates how to use certain tools available in OpenShift and GNU/Linux to overcome those challenges and use tcpdump to validate network traffic in pods deployed on top of OpenShift clusters.

    Read more
  28. Bill Peck

    Wed 16 November 2022

    Using dci-check-change to test your changes

    The dci-openshift-agent is complex and any code changes could potentially break it. It's important that all code changes are tested. Since there are multiple ways to install OpenShift using the dci-openshift-agent it may take several test runs to properly verify. This blog post summarizes the different ways and environments used to test your code.

    Read more
  29. Ramon Perez

    Tue 15 November 2022

    Using DCI components in partner hooks

    DCI components are really useful for establishing efficient CI workflows with partner workloads. This blog post will cover the full workflow that a partner should follow, from creating the components to deploying DCI jobs using these components.

    Read more
  30. Charles Caporali

    Thu 27 October 2022

    Why using Quay for CI lab?

    Using the features of Quay to handle Access Management

    Read more
  31. Frédéric Lepied

    Fri 21 October 2022

    How to manage shared deployments in DCI

    dci-queue: a simple resource management system in DCI

    Read more
  32. Tatiana Krishtop

    Thu 20 October 2022

    Certification tests for OpenShift containers and operators: how to run with DCI

    This post has some practical information about running Preflight certification suites with DCI. You will learn how to run the tests, debug using log files, and submit the results for certification. All this is an embedded functionality offered by DCI.

    Read more
  33. Nacho Silla

    Fri 09 September 2022

    Using prefixes to operate multiple DCI environments

    Prefixes allow you to control the inventory and settings of different DCI environments from a single central directory. We hope this article will convince you of the convenience of using prefixes in your DCI labs and will serve as a solid foundation for you to start leveraging their potential.

    Read more
  34. Frédéric Lepied

    Thu 08 September 2022

    Naming capabilities for DCI jobs

    Good practices in naming for DCI jobs

    Read more
  35. Jorge Gallegos

    Sat 30 July 2022

    Setting up a virtual development environment for OCP agent

    Developing for the OCP ecosystem can be a daunting task, developing for the ecosystem that tests this can become even more so but, fear not, we have tried to make it as painless as possible.

    Read more
  36. Olivier Petit

    Fri 17 June 2022

    How to build your own DCI dashboard

    Everydays, Red Hat DCI platform runs hundreds of jobs from different teams and partners, with all our products, with different purposes: debugging, certifications, tests, daily activities, etc. You may need to build a dedicated dashboard to follow your own specific activity, display graphical results, study some specific data or identify specific job behaviors. For such requirements, Google spreadsheet can provide you facilities to implement your ideas in a few minutes. In this blog post, you will learn how to quickly build a dashboard with Google spreadsheet by requesting DCI data, getting it dynamically and sending a pdf report by email periodically.

    Read more
  37. Ramon Perez

    Fri 06 May 2022

    Running Red Hat Best Practices for Kubernetes test suite with dci-openshift-app-agent

    The dci-openshift-app-agent enables Cloud-Native Applications and Operators in OpenShift using the Red Hat Distributed CI service. It also includes the possibility of running a set of certification tools over the workloads deployed by this agent, including the Red Hat Best Practices for Kubernetes test suite (former CNF Cert Suite), which allows CNF Developers to test their CNFs readiness for certification. This blog post summarizes the main points to have in mind when running the certsuite with the dci-openshift-app-agent, also providing an example.

    Read more
  38. Tony Garcia

    Fri 29 April 2022

    How to automate DCI components creation

    Components are the artifacts used in a DCI job, these are the elements that distinguish jobs. They are the elements to be tested on each job. This post will discuss their use and an example of how to automate them to be continuously tested.

    Read more
  39. Manuel Rodriguez Hernandez

    Fri 22 April 2022

    SNO deployments with DCI under the hood

    Single Node OpenShift (SNO) was introduced officially in OCP 4.9, available documentation describes the ways to deploy it using Assisted Installer through the Red Hat portal in order to generate an ISO and install it using virtual media or ACM. This article illustrates how we leverage some of those features and highlights the most relevant aspects of the installation using DCI Openshift Agent.

    Read more
  40. Haïkel Guémar

    Mon 04 April 2022

    Introduction to the Red Hat Distributed CI Python API

    In a previous post, you have been introduced to Red Hat Distributed CI (DCI) infrastructure and how it enables Red Hat partners to integrate into Red Hat CI workflow. Now, we will be focusing on how to interact with DCI through the Python API.

    Read more
  41. Charles Caporali

    Mon 28 March 2022

    Customizable Ansible pipelines for Telco partners using DCI

    Openshift Cloud Platform is meant to be the standard for modern Telco infrastructure. One of the goals of the Telco Partner CI Lab team is to test the installation of Openshift with all the requirements needed for Telco workloads. For one of our main partners, it means installing/upgrading an Openshift platform, some extra operators to handle specific hardware like SRIOV cards, and external products for storage or load balancing needed to handle CNFs to reduce any risk.

    Read more
  42. Tony Garcia

    Fri 25 March 2022

    Gerrit for GitHub users

    Most, if not all of the Distributed CI repositories, including this blog, are hosted in softwarefactory-project.io. Gerrit is the tool used to integrate the changes to such repositories. On the other hand, GitHub is the most popular service to host and integrate changes these days, this makes most of the developers familiar with GitHub to a certain extent. As such, this article attempts to explain to developers/contributors how to use Gerrit from the perspective of someone already familiar with GitHub.

    Read more
  43. Yassine Lamgarchal

    Tue 22 February 2022

    Introduction to the Red Hat Distributed CI

    Red Hat provides mainly infrastructure software like RHEL, OpenShift or OpenStack. These are established technologies for our customers but also for our partners. In order to keep the software as stable as possible, Red Hat works on doing various Quality Assurance and Continuous Integration processes. In this article we are going to focus on one specifically. The CI workflow from the point of view of a Red Hat partner.

    Read more