1. Ramon Perez

    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

    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

    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

    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

    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. Manuel Rodriguez

    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
  7. Ramon Perez

    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
  8. Tony Garcia

    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