Podman basics cheat sheet

Podman basics cheat sheet

Here and elsewhere, we get a lot of questions about post-Docker container tools in Red Hat Enterprise Linux 7.6 and Red Hat Enterprise Linux 8 beta. Tools like podman, buildah, and skopeo enable you to create and manage rootless containers, which are containers that don’t require root access to be built and deployed. To help you master the basics, we’re happy to offer a new podman basics cheat sheet.

Continue reading “Podman basics cheat sheet”

Share
Red Hat CodeReady Workspaces 1.1: Release notes

Red Hat CodeReady Workspaces 1.1: Release notes

We are pleased to introduce Red Hat CodeReady Workspaces version 1.1, which provides a cloud developer workspace server and browser-based IDE built for teams and organizations. Red Hat CodeReady Workspaces 1.1 includes ready-to-use developer stacks for most of the popular programming languages, frameworks, and Red Hat technologies.

This version of Red Hat CodeReady Workspaces introduces:

  • Compatibility with Red Hat OpenShift 4.0
  • Installation in disconnected environments
  • Simplified configuration of OpenShift OAuth and cluster certificates

Red Hat CodeReady Workspaces 1.1 is available now in the Red Hat Container Catalog. You can install it on OpenShift Container Platform or OpenShift Dedicated, starting at version 3.11, by following the instructions in the Administration Guide.

Continue reading “Red Hat CodeReady Workspaces 1.1: Release notes”

Share
Build and deploy an API with Camel K on Red Hat OpenShift

Build and deploy an API with Camel K on Red Hat OpenShift

With the growing number of APIs and microservices, the time given to creating and integrating them has become shorter and shorter. That’s why we need an integration framework with tooling to quickly build an API and include capabilities for a full API life cycle. Camel K lets you build and deploy your API on Kubernetes or Red Hat OpenShift in less than a second. Unbelievable, isn’t it?

For those who are not familiar with it, Camel K is a subproject of Apache Camel with the target of building a lightweight runtime for running integration code directly on cloud platforms like Kubernetes and Red Hat OpenShift. It was inspired by serverless principles, and it will also target Knative shortly. The article by Nicola Ferraro will give you a good introduction.

In this article, I’ll show how to build an API with Camel K. For that, we will start first by designing our API using Apicurio Studio, which is based on the OpenAPI standard, and then we will provide the OpenAPI standard document to Camel K in order to implement the API and deploy it to Red Hat OpenShift.

Continue reading “Build and deploy an API with Camel K on Red Hat OpenShift”

Share
How to run systemd in a container

How to run systemd in a container

I have been talking about systemd in a container for a long time. Way back in 2014, I wrote “Running systemd within a Docker Container.” And, a couple of years later, I wrote another article, “Running systemd in a non-privileged container,” explaining how things hadn’t gotten much better. In that article, I stated, “Sadly, two years later if you google Docker systemd, this is still the article people see—it’s time for an update.” I also linked to a talk about how upstream Docker and upstream systemd would not compromise. In this article, I’ll look at the progress that’s been made and how Podman can help.

Continue reading “How to run systemd in a container”

Share
Using Quiver with AMQ on Red Hat OpenShift Container Platform

Using Quiver with AMQ on Red Hat OpenShift Container Platform

As part of the Red Hat UKI Professional Services team, I have worked with several customers who are implementing AMQ Broker on Red Hat OpenShift Container Platform (OCP). One question customers typically ask is, “How do we validate that the AMQ configuration is correct for our scenario?” Previously, I would have suggested one of the following:

These tools can give you indicators around:

  • Is the broker up and running? That is, can it receive/publish messages for this configuration?
  • Can the broker handle a certain performance characteristic? That is, what is my minimum publish rate per second for this configuration?
  • And much more.

The problem with these tools is that you cannot choose the client technology. This could lead to real-world differences and limited technology choices, which in turn might lead you down the wrong technology path. In other words:

  • Do you get the same performance from JMeter versus the AMQ clients you would use in production? Are you comparing like for like? Apples with apples?

So, what do I think is the answer? Quiver [1]. In this article, I’ll provide an overview and demo of using Quiver with Red Hat AMQ on Red Hat OpenShift.  If you’re looking for more information on Red Hat AMQ and how it can help, check out this webinar.

Continue reading “Using Quiver with AMQ on Red Hat OpenShift Container Platform”

Share
Red Hat OpenShift 4.0 Developer Preview on AWS: Up and running with Windows

Red Hat OpenShift 4.0 Developer Preview on AWS: Up and running with Windows

In a previous article, “OpenShift 4.0 Developer Preview on AWS is up and running” I included instructions for using macOS or Linux to install and manage your Red Hat OpenShift 4.0 cluster. Since I recently added a Windows 10 PC to my technology mix, I decided to try to use Windows as my only choice.

I was saddened to learn that the installer, openshift-install, isn’t available for Windows. But, like any developer who won’t be denied; I found a way.

Continue reading “Red Hat OpenShift 4.0 Developer Preview on AWS: Up and running with Windows”

Share
How to use the Linux perf tool to count software events

How to use the Linux perf tool to count software events

The Linux perf tool was originally written to allow access to the performance monitoring hardware that counts hardware events, such as instructions executed, processor cycles, and cache misses. However, it can also be used to count software events, which can be useful in gauging how frequently some part of the system software is executed.

Recently someone at Red Hat asked whether there was a way to get a count of system calls being executed on the system. The kernel has a predefined software trace point, raw_syscalls:sys_enter, which collects that exact information; it counts each time a system call is made. To use the trace point events, the perf command needs to be run as root.

Continue reading “How to use the Linux perf tool to count software events”

Share
Implicit function declarations: flex�s use of �reallocarray�

Implicit function declarations: flex’s use of “reallocarray”

Several months ago, I took over the maintenance of the flex package in Fedora and decided to kick the tires by rebasing the package in Fedora Rawhide. I downloaded and hashed the latest tarball at the time, flex-2.6.4, tweaked the spec file, and fired up a local build. Unfortunately, it failed with a SIGSEGV at build time:

./stage1flex -o stage1scan.c ./scan.l
make[2]: *** [Makefile:1695: stage1scan.c] Segmentation fault (core dumped)

Some debugging with gdb led me to the conclusion that the segmentation fault was the result of a block of memory returned from the reallocarray function being written to during flex initialization.  In this article, I’ll describe the issue further and explain changes made to address it.

Continue reading “Implicit function declarations: flex’s use of “reallocarray””

Share
Modern business logic tooling workshop, lab 3: Create a domain model

Modern business logic tooling workshop, lab 3: Create a domain model

Since starting to update my free online rules and process automation workshops that showcase how to get started using modern business logic tooling, we’ve come a long way with process automation. The updates started with moving from JBoss BPM to Red Hat Decision Manager and from JBoss BPM Suite to Red Hat Process Automation Manager.

The first lab update showed how to install Red Hat Decision Manager on your laptop, and the second lab showed how to create a new project.  This article highlights the newest lab update for Red Hat Process Automation Manager, where you’ll learn how to create a domain model.

Let’s take a look at the lab, shall we?

Continue reading “Modern business logic tooling workshop, lab 3: Create a domain model”

Share