Don Schenck

Recent Posts

How to run Red Hat CodeReady Containers on Windows 10 Enterprise

How to run Red Hat CodeReady Containers on Windows 10 Enterprise

Red Hat CodeReady Containers allows you to spin up a small Red Hat OpenShift cluster on your local PC, with the need for a server, a cloud, or a team of operations people. For developers who want to get started immediately with cloud-native development, containers, and Kubernetes (as well as OpenShift), it’s a simple and slick tool. It runs on macOS, Linux, and all versions of Windows 10.

Except for Windows 10 Enterprise.

Which I painfully learned.

Because I lazily didn’t pay attention to the documentation.

OK, so I’m the only developer who glosses over documentation. Fortunately for you, I struggled and managed to get CRC running on my Windows 10 Enterprise notebook computer, and this article explains what is involved to get it working. So, in a sense, you’re welcome that I’m lazy.

Continue reading “How to run Red Hat CodeReady Containers on Windows 10 Enterprise”

Share
How to install the CouchbaseDB Operator for Red Hat OpenShift on your laptop using Red Hat CodeReady Containers and Red Hat Marketplace

How to install the CouchbaseDB Operator for Red Hat OpenShift on your laptop using Red Hat CodeReady Containers and Red Hat Marketplace

Red Hat Marketplace is an online store of sorts, where you can choose the software that you want to install and run on your Red Hat OpenShift cluster. The analogy is a phone app store, where you select an app, and it’s automagically installed on your phone. With Marketplace, you simply register your cluster(s), select the software that you want, and it is installed for you. It could not be easier.

In this article, I show you how to install Couchbase Server Enterprise Edition on an OpenShift cluster. In my case, the cluster is running on Fedora 32 using Red Hat CodeReady Containers (CRC). Couchbase Server Enterprise Edition is currently available as a free trial, and CRC is also available at zero cost. This setup offers a no-risk way to try containers, Kubernetes, OpenShift, and, in this case, Couchbase. This is definitely “developers playing around with the software”-level stuff.

Continue reading “How to install the CouchbaseDB Operator for Red Hat OpenShift on your laptop using Red Hat CodeReady Containers and Red Hat Marketplace”

Share
How to fix .NET Core’s ‘Unable to obtain lock file access’ error on Red Hat OpenShift

How to fix .NET Core’s ‘Unable to obtain lock file access’ error on Red Hat OpenShift

Well, it finally happened. Despite the added assurances of working with containers and Kubernetes, the old “It works on my machine” scenario reared its ugly head in my .NET Core (C#) code. The image that I created worked fine on my local PC—a Fedora 32 machine—but it crashed when I tried running it in my Red Hat OpenShift cluster.

The error was “Unable to obtain lock file access on /tmp/NuGetScratch.” Let’s take a quick look at what happened, and then I’ll explain how I fixed it.

Identity issues

After a lot of web searching and a discussion with a Red Hat .NET Core engineer, I discovered the underlying problem. It turns out that within a container, the identity used to initially run the program (using the dotnet run command) must be the same for subsequent users.

The problem might be easy to understand, but what’s the solution?

Continue reading “How to fix .NET Core’s ‘Unable to obtain lock file access’ error on Red Hat OpenShift”

Share
Build a Go application using OpenShift Pipelines

Build a Go application using OpenShift Pipelines

Go is an increasingly popular programming language, and frequently chosen for developing command-line utilities. Many tools used with Kubernetes and Red Hat OpenShift are written in Go, including the command-line interfaces (CLIs) for Tekton (tkn), OpenShift (oc), and Kubernetes (kubectl). Also, developers can compile Go to a single executable for a broad range of operating systems. As a result, it’s easy to develop and desk-test applications before putting them into containers and running those containers in OpenShift.

In a meta sort of way, this is an article about a tutorial, where I show you how to build and deliver a small Go RESTful service using OpenShift Pipelines. You could just jump to the tutorial now, but I suggest reading this article first. I’ll quickly introduce the working environment for the tutorial, and I’ll explain my logic for setting up the tutorial the way that I did.

Continue reading “Build a Go application using OpenShift Pipelines”

Share
Editing, debugging, and GitHub in Red Hat CodeReady Workspaces 2

Editing, debugging, and GitHub in Red Hat CodeReady Workspaces 2

In a previous article, I showed how to get Red Hat CodeReady Workspaces 2.0 (CRW) up and running with a workspace available for use. This time, we will go through the edit-debug-push (to GitHub) cycle. This walk-through will simulate a real-life development effort.

To start, you’ll need to fork a GitHub repository. The Quote Of The Day repo contains a microservice written in Go that we’ll use for this article. Don’t worry if you’ve never worked with Go. This is a simple program and we’ll only change one line of code.

After you fork the repo, make note of (or copy) your fork’s URL. We’ll be using that information in a moment.

Continue reading “Editing, debugging, and GitHub in Red Hat CodeReady Workspaces 2”

Share
Managing development environments with Red Hat CodeReady Workspaces 2

Managing development environments with Red Hat CodeReady Workspaces 2

The release of Red Hat CodeReady Workspaces 2.0 (CRW) brings changes. Based on Eclipse Che 7 and the Theia online editor, CRW 2.0 frees the developer from the confines of a specially configured PC in favor of multiple specially configured workspaces. Imagine having a separate work environment for each language, version, tools and more, all available from a browser. This article discusses some of the features of CRW.

Continue reading “Managing development environments with Red Hat CodeReady Workspaces 2”

Share
CodeReady Workspaces devfile, demystified

CodeReady Workspaces devfile, demystified

With the exciting advent of CodeReady Workspaces (CRW) 2.0 comes some important changes. Based on the upstream project Eclipse Che 7, CRW brings even more of the “Infrastructure as Code” idea to fruition. Workspaces mimic the environment of a PC, an operating system, programming language support, the tools needed, and an editor. The real power comes by defining a workspace using a YAML file—a text file that can be stored and versioned in a source control system such as Git. This file, called devfile.yaml, is powerful and complex. This article will attempt to demystify the devfile.

Continue reading “CodeReady Workspaces devfile, demystified”

Share
Fixing the oc and Red Hat OpenShift install “not downloaded” error on macOS

Fixing the oc and Red Hat OpenShift install “not downloaded” error on macOS

I recently decided to use my macOS machine to create a Red Hat OpenShift cluster. After downloading the openshift-install command-line tool and running it, however, I received the following error:

(Yes, I know the above error is related to the oc command, but it also threw the error and, after I fixed the openshift-install command, I was unable to “unfix” it.)

Continue reading “Fixing the oc and Red Hat OpenShift install “not downloaded” error on macOS”

Share
Using a MySQL database in your Red Hat OpenShift application

Using a MySQL database in your Red Hat OpenShift application

Creating a MySQL database in Red Hat OpenShift is useful for developers, there’s no doubt about that. But, once the database is ready, with tables and data, how do you use the data in your application? Is there some special magic when using Red Hat OpenShift? What about the fact that pod names can change? This article will walk you through the steps necessary to access a MySQL database that is running in your OpenShift cluster.

Continue reading “Using a MySQL database in your Red Hat OpenShift application”

Share