Red Hat Training

A Red Hat training course is available for Red Hat Container Development Kit

Release Notes and Known Issues

Red Hat Container Development Kit 3.0

Highlighted features and identified problems in Red Hat Container Development Kit 3.0

Robert Krátký

Red Hat Developer Group Documentation Team

Abstract

This document lists and briefly describes new and improved features of Red Hat Container Development Kit 3.0. It also contains information about potential problems you may encounter while using the software. Where possible, workarounds are described for identified issues.

Chapter 1. Introducing Red Hat Container Development Kit

Red Hat Container Development Kit is a platform for developing containerized applications — it is a set of tools that enables developers to quickly and easily set up an environment for developing and testing containerized applications on the Red Hat Enterprise Linux platform.

  • Container Development Kit provides a personal Container Development Environment you can install on your own laptop, desktop, or server system. The Container Development Environment is provided in the form of a Red Hat Enterprise Linux virtual machine. The Container Development Environment itself can also be installed in a virtual machine.
  • Container Development Kit includes the same container-development and run-time tools used to create and deploy containers for large data centers.
  • Container Development Kit offers an easy installation method based on the Minishift tool.
  • Container Development Kit is available for Microsoft Windows, Mac OS X, and Linux operating systems, thus allowing developers to use their favorite platform while producing applications ready to be deployed in the Red Hat Enterprise Linux ecosystem.

Container Development Kit is a part of the Red Hat Developers program, which provides tools, resources, and support for developers who wish to utilize Red Hat solutions and products to create applications, both locally and in the cloud. For additional information and to register to become a part of the program, visit developers.redhat.com.

1.1. Understanding Container Development Kit Documentation

Chapter 2. Release Notes

This section documents the most important features and bug fixes in the Red Hat Container Development Kit 3.0 product.

2.1. Component Versions

Red Hat Container Development Kit 3.0 is shipped with the following versions of the main components:

Table 2.1. Container Development Kit, Component Versions

ComponentVersion

Docker

1.12.6

Docker API

1.24

Kubernetes

1.5.2

OpenShift Container Platform

3.5

2.2. VirtualBox Compatibility

Red Hat Container Development Kit 3.0 has been tested with VirtualBox 5.1.14 and higher, but it is known to not work correctly with VirtualBox 5.1.11 or older. If you intend to use VirtualBox as your virtualization provider, and you already have VirtualBox 5.1.11 or older installed, upgrade your installation to VirtualBox 5.1.12.

2.3. New Features

This section highlights some of the new features offered by Red Hat Container Development Kit 3.0. The new version also contains a number of bug fixes.

Red Hat Container Development Kit 3.0 is a new version of Container Development Kit, which has completely different components as compared to Container Development Kit 2.x. Red Hat Container Development Kit 3.0 contains the Minishift tool, a Red Hat Enterprise Linux 7 ISO, and the oc binary for interactying with OpenShift Container Platform.

2.3.1. Minishift

Red Hat Container Development Kit 3.0 introduces Minishift, a new command-line tool to provision OpenShift locally for application developers to develop application for OpenShift. It supports all native hypervisors:

  • libvirt/KVM on Red Hat Enterprise Linux
  • xhyve on macOS
  • Hyper-V on Microsoft Windows

Aditionaly, VirtualBox can also be used on all platforms.

2.3.2. Red Hat Container Development Kit 3.0 compared to Container Development Kit 2.x

Red Hat Container Development Kit 3.0:

  • Is easier to install
  • Has no dependancy on Vagrant
  • Is only 400MB in size, which is 60% less than Container Development Kit 2.x
  • Has fewer components to install — just a single binary

Red Hat Container Development Kit 3.0 offers improved user experience:

  • A single command-line tool, minishift, for interacting with the Container Development Environment
  • Shorter start time

2.3.3. Red Hat Container Development Kit 3.0 Highlights

  • Ability to use add-ons (experimental). See Minishift Add-ons.
  • The oc-env command for displaying how to configure your host shell for working with the OpenShift Container Platform instance provided by the Container Development Environment.
  • The docker-env command for displaying how to configure your host shell for working with the Docker instance provided by the Container Development Environment.
  • The config command for modifying Minishift configuration properties. With this command, users can change OpenShift master configuration.
  • A registry for Docker-formatted container images integrated in OpenShift for speeding up local development workflow.
  • Possibility to choose a specific OpenShift version to run using minishift start --openshift-version <version>.
  • A persistant OpenShift across Minishift stop and start.

Chapter 3. Known Issues

This section describes issues that users of Red Hat Container Development Kit 3.0 may encounter, as well as possible workarounds for these issues.

3.1. General Issues

Issues affecting all supported platforms.

3.1.1. Metrics Do Not Work

The minishift start --metrics command does not work due to a permission issue with cassandra pod. Please note that this feature is considered experimental. There is no workaround at this time.

3.1.2. The Command minishift ssh Returns an Error

The command minishift ssh returns an error value and prints a message if exiting ssh after an error. This error appears to not affect any other functionality, and may be safely ignored.

~]$ minishift ssh
Last login: Tue Apr  4 09:24:43 2017 from 192.168.42.1
[~]$ mistake
-bash: mistake: command not found
~]$ exit
logout
E0404 09:31:11.723209    5180 ssh.go:38] Cannot establish SSH connection to the VM:  exit status 127

3.1.3. Installing and Enabling Local Addons Gives Extra Error Message

Installing and simultaneously enabling local minishift addons results in an error message printed. In some cases, the addon will be installed and enabled and the error may be safely ignored.

~]$ `minishift addons install addons/expose-registry --enable`
Unable to enable add-on registry: Unable to find addon registry in addon directory /Users/CDK/.minishift/addons

3.2. Issues on Microsoft Windows

This section describes issues that only affect users using Container Development Kit on a Microsoft Windows host system.

3.2.1. Unable to Run Minishift on Microsoft Windows 10 with Hyper-V when ssh.exe is not on PATH

Users need to have ssh.exe in their path before using minishift with Hyper-V. The Golang ssh implementation does not work in Microsoft Windows, so users will need to install that via another method. Installing Red Hat JBoss Developer Studio is a solution, to provide cygwin’s ssh. If using Cygwin, users need to have its /bin directory in their PATH variable, for ssh to be available. Container Development Kit users who do not install Red Hat JBoss Developer Studio may instead install install mingw as a workaround.

3.2.2. Minishift oc-env Command Modifies PATH Incorrectly

The minishift oc-env command used in CMD on Windows returns a command which removes everything except the oc binary from path. The workaround is to run oc-env, and then add a semicolon ";" to the end of SET command returned by oc-env.

C:\Users\CDK> SET PATH=C:\Users\CDK\.minishift\cache\oc\v3.5.5.8;%PATH%
C:\Users\CDK> echo %PATH%
C:\Users\CDK\.minishift\cache\oc\v3.5.5.8;%PATH%

3.2.3. The minishift openshift config set Command Does Not Work as Expected

Microsoft Windows CMD and PowerShell have problems with parsing JSON into minishift openshift config set command. Special attention needed from user when using this command on Windows. The workaround is to use exact and verified example commands as mentioned on github.

C:\Users\CDK> minishift openshift config set --patch '{"corsAllowedOrigins": [".*"]}'
The specified patch need to be valid JSON.

The workaround for Microsoft Windows CMD environments is to escape the quotes so that the JSON is correctly parsed:

C:\Users\CDK> minishift.exe openshift config set --patch "{\"routingConfig\": {\"subdomain\": \"192.168.99.101.nip.io\"}}"

For Powershell v2 environments on Microsoft Windows, the workaround is to use a variable to store the JSON code:

C:\Users\CDK\minishift> $json='{\"routingConfig\": {\"subdomain\": \"192.168.99.101.nip.io\"}}'
C:\Users\CDK\minishift> echo $jason
{\"routingConfig\": {\"subdomain\": \"192.168.99.101.nip.io\"}}
C:\Users\CDK\minishift> minishift.exe openshift config set --patch $jason
Patching OpenShift configuration /var/lib/origin/openshift.local.config/master/master-config.yaml with {"routingConfig": {"subdomain": "192.168.99.101.nip.io"}}
Restarting OpenShift

3.3. Issues on Red Hat Enterprise Linux

This section describes issues that only affect users using Container Development Kit on a Red Hat Enterprise Linux host system.

Chapter 4. Additional Resources

Legal Notice

Copyright © 2017 Red Hat, Inc.
The text of and illustrations in this document are licensed by Red Hat under a Creative Commons Attribution–Share Alike 3.0 Unported license ("CC-BY-SA"). An explanation of CC-BY-SA is available at http://creativecommons.org/licenses/by-sa/3.0/. In accordance with CC-BY-SA, if you distribute this document or an adaptation of it, you must provide the URL for the original version.
Red Hat, as the licensor of this document, waives the right to enforce, and agrees not to assert, Section 4d of CC-BY-SA to the fullest extent permitted by applicable law.
Red Hat, Red Hat Enterprise Linux, the Shadowman logo, JBoss, OpenShift, Fedora, the Infinity logo, and RHCE are trademarks of Red Hat, Inc., registered in the United States and other countries.
Linux® is the registered trademark of Linus Torvalds in the United States and other countries.
Java® is a registered trademark of Oracle and/or its affiliates.
XFS® is a trademark of Silicon Graphics International Corp. or its subsidiaries in the United States and/or other countries.
MySQL® is a registered trademark of MySQL AB in the United States, the European Union and other countries.
Node.js® is an official trademark of Joyent. Red Hat Software Collections is not formally related to or endorsed by the official Joyent Node.js open source or commercial project.
The OpenStack® Word Mark and OpenStack logo are either registered trademarks/service marks or trademarks/service marks of the OpenStack Foundation, in the United States and other countries and are used with the OpenStack Foundation's permission. We are not affiliated with, endorsed or sponsored by the OpenStack Foundation, or the OpenStack community.
All other trademarks are the property of their respective owners.