logo
  1. 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
  2. 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
  3. 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
  4. 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
  5. 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
  6. 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
  7. 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
  8. 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
  9. 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
  10. 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
  11. 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
  12. 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
  13. 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
  14. 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
  15. Frédéric Lepied

    Thu 08 September 2022

    Naming capabilities for DCI jobs

    Good practices in naming for DCI jobs

    Read more
  16. 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
  17. 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
  18. 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
  19. 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