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.1

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

Red Hat Developer Group Documentation Team

Abstract

This document lists and briefly describes new and improved features of Red Hat Container Development Kit 3.1. 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.1 product.

2.1. Component Versions

Red Hat Container Development Kit 3.1 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.6.1

OpenShift Container Platform

3.6

2.2. VirtualBox Compatibility

Red Hat Container Development Kit 3.1 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.1. The new version also contains a number of bug fixes.

Red Hat Container Development Kit 3.1 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.1 contains the Minishift tool, a Red Hat Enterprise Linux 7 ISO, and the oc binary for interacting with OpenShift Container Platform.

2.3.1. Minishift

Red Hat Container Development Kit 3.1 is based on Minishift, a command-line tool to provision OpenShift locally for application developers to develop application for OpenShift. It supports all native hypervisors and some additional ones:

macOS
Linux
Windows

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

Red Hat Container Development Kit 3.1:

  • 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.1 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.1 Highlights

New Features:

  • You can now set Container Development Kit to cache OpenShift images after the first minishift start. This allows subsequent starts to use container images from the local cache without going to Red Hat Registry to download those images again. To enable caching, run minishift config set image-caching true. See Caching OpenShift Images for details.
  • A new apply sub command has been added to the minishift addons command to explicitly execute addons. See Using Minishift Add-ons, Apply for details.
  • The minishift start and minishift addons apply commands now support dynamic variables for applying the add-ons through the --addon-env flag. Users can also set persistent configuration values for this (for example, minishift config set). See Using Minishift Addons, Dynamic Variables for details.

Usability improvements:

  • Now you can just run minishift start to have that command interactively ask for username and password to register your Container Development Kit. If you provide the wrong username and password, you are allowed three attempts.
  • The new --skip-registration flag for minishft start skips registration at start time, while the new --skip-unregistration flag for minishift stop prevents Container Development Kit from being unregistered when it is stopped.
  • The new --follow flag for the minishift logs command lets you follow log messages for Container Development Kit as the come in.
  • New OpenJDK imagestream and templates have been added to Red Hat Container Development Kit 3.1. Developers can use the imagestream to develop Java microservices. See Add-on for openjdk imagestream and template.

Important bug fix:

Chapter 3. Known Issues

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

3.1. General Issues

Issues affecting all supported platforms.

3.1.1. Cached images can be slow

Using cached images created by minishift start --image-caching can sometimes be slower than downloading those images.

3.1.2. Metrics containers not deployed properly

The minishift start --metrics command fails to properly deploy metrics container images due to a problem with version tags on these images. The workaround is to use --ocp-tag v3.6. Despite using the same OCP version, this allows minishift start to pull metrics images properly.

3.1.3. Logging containers not deployed properly

The minishift start --logging command fails to properly deploy logging container images due to a problem with version tags on these images. The workaround is to use --ocp-tag v3.6. Despite using the same OCP version, this allows minishift start to pull logging images properly.

3.1.4. MINISHIFT_HOME directory rewritten on every run of minishift setup-cdk

The directory set in the MINISHIFT_HOME environment variable is rewritten whenever the minishift setup-cdk command is executed. Do not set it to a directory that contains data that cannot be discarded, such as your home directory. The minishift command displays a warning about the deletion of the directory.

3.1.5. Support for OpenShift v3.6 added

Support for --ocp-tag v3.6.0 was not originally available with Container Development Kit 3.1, so no version of OpenShift later than 3.5 could be used with CDK 3.1. For Container Development Kit 3.1.1, the default version of OpenShift is 3.6.173.0.5, so --ocp-tag is not needed to get OpenShift v3.6.

3.1.6. The "latest" tag not supported with --ocp-tag

The --ocp-tag flag for the minishift start command does not support the "latest" tag. Workaround: If you want to use any OCP image other than the default, you need to find the version number of the specific image you want and select that version. You can find the image using --ocp-tag help. The tag will be in the format: "v.X.Y.Z". Currently, no version later than the default 3.6.173.0.5 is available.

3.1.7. Typo in minishift openshift service command

The minishift openshift service outputs the word namsepace instead of namespace. This causes no functional problem.

3.1.8. Improper minishift ssh error message

When you exit from minishift ssh after executing a command that fails, Minishift will print an improper error message. Workaround: Ignore the error message, nothing bad happened. Here is an example:

~]$ 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.9. Improper warning from minishift setup-cdk command

On a fresh Container Development Kit 3.1.1 setup, when you execute minishift version the .minishift directory is created and default addons are automatically installed. After that, when you run the minishift setup-cdk command, you are warned the .minishift directory exists and that all data will be deleted, then asked if you want to continue. Workaround: Always type y to continue. The addons will be properly installed.

3.1.10. Wrong URL in minishift start -h output

Output from the minishift start -h command improperly identifies the URL for finding available OpenShift tags as follows:

Check the available tags in https://access.redhat.com/containers/#/registry.access.redhat.com/openshift3/ose/images (default "v3.6.173.0.5")

The proper URL is:

https://access.redhat.com/containers/?tab=tags#/registry.access.redhat.com/openshift3/ose

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. 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.2.2. Gow ssh utility causes error message in VM startup

Using the Gow (GNU on Windows) utility installer to install the SSH utility causes the following error message when SSH is invoked to start Container Development Kit virtual machine with VirtualBox on Windows 7:

0907 09:49:02.791900    3456 start.go:282] Error starting the VM: Error
creating the VM. Error creating machine: Error in driver during machine
creation: Too many retries waiting for SSH to be available.  Last error:
Maximum number of retries (60) exceeded. Retrying.

Despite this message, the VM started successfully.

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.