Red Hat

Red Hat

4 Dec · 4 min read

Challenge: To improve the services provided to the open-source operator community by improving, redesigning, and rebuilding their OperatorHub.io product

Solution: Migrated Continuous Integration pipelines from TravisCI to Github actions

User Group: Open-source Community

Red Hat, Inc., is an American software company that provides open-source software products to the enterprise community. The company was acquired by IBM in July 2019. Red Hat initially had success in distributing Linux itself, which was then known as "Red Hat Linux". Red Hat is the second largest contributor to the Kubernetes upstream project and the originator of many of its key functions, components, and related container technologies. 

Red Hat has been involved in open source communities for decades and provides them with support, enabling them to contribute useful technology, improve it and prepare it for the business. One of Red Hat's contributions to the open source community is OperatorHub.io, which contains many useful operators available to the open source community. 

Challenge

In 2018, Red Hat decided to improve the services provided to the open-source operator community by improving, redesigning, and rebuilding their OperatorHub.io product. Red Hat outsourced some of these tasks, but soon after the beginning of 2019, inconsistent deliveries from an external supplier suffered. 

Enter Hotovo

In this phase of the project, Hotovo was committed to expanding Red Hat's team capacity and ensuring stable delivery, which in turn resulted in improved development processes and the final product. 

OperatorHub.io is a community space containing multi-purpose operators that are created and uploaded by open-source community members. Our first responsibility and also challenge was to improve the appearance of the web interface and its front-end part. As the interface is used mainly by contributors of operators, it was highly important to keep it user-friendly, fast, and simple. 

Another important part of Hotovo’s team involvement was rebuilding the main pipelines responsible for the transition between the processes that operators have to proceed with, i.e. uploading, testing, verification, bug reporting, recommendations, and finally publishing. The active development of this part is over. Our current task is to monitor, maintain and support pipelines. 

The Additional task is to be helpful and available to connector creators. We review and test uploaded connectors, advise creators on what they could improve, or report connector deficiencies. After approval of the functionality of the connector, these are published free of charge on the OperatorHub.io community space for all visitors. 

2+ years of collaboration between Red Hat & Hotovo

We have improved the product page operatorhub.io, which serves as a catalog. It provides one-click product installation on the Kubernetes cluster for a variety of applications from databases, through comprehensive monitoring systems and cloud provider integration to big data solutions. 

We have also worked in the field of DevOps in the migration of backbone pipelines supplying products to end systems. Our pipelines consume the commits from contributors and deliver new or updated products directly to install systems that are capable of automatic updating. Processed and packaged products must pass through the quality gate. There, we have improved over time, enhanced this process, and integrated new tools to provide automated testing of commits. These pipelines have been written several times from scratch, when basic tools have changed, such as the changes from TravisCI to GitHub Actions. 

Another set of pipelines was migrated from Red Hat's internal systems to another system. These are the pipelines that consume commits from contributors and provide a catalog for operatorhub.io. 

Brief summary of the daily business process:

  • Support and improvement of the functions of our test pipeline, which serves as a quality gate, as well as simulation of the product operator's installation process on the customer's side, which captures not only delivery issues but also missing parts to meet quality levels.
  • Implementing new tools and features to release pipelines to accommodate changing requirements and product design on the Red Hat's side.
  • Helping contributors repair their products that have stopped our automatic tests at our quality gate.
  • Communicating with Red Hat developers and raising issues via particular tools.

Results

  • Migrated Continuous Integration pipelines from TravisCI to Github actions.
  • Pipelines are almost fully automated providing hints on quality gate steps to achieve a complete automation process.
  • Over time, the design and format of the product has changed several times. Our systems were seamlessly adapted and provided data for catalog and endpoint systems.
  • New internal tools written by Redhat have been integrated into the CI pipelines.
  • We brought new ideas and our own designs to the CI pipelines.

The Future of Red Hat & Hotovo collaboration

We are currently responsible for open-source and external Operator products. Because of the increased demand for CI pipelines delivering Operator products to systems and end users, we were invited to join Red Hat's internal team. 

Technology and Tools Used

  • NodeJS
  • Express
  • React
  • Openshift
  • Kubernetes
  • Docker
  • Podman
  • Buildah
  • Skopeo
  • Quay
  • Jenkins
  • TravisCI
  • GitHub Actions
  • Ansible
  • Python
  • Bash

Comment as

Login or comment as

0 comments