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 2.3

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

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 2.3. 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 that results in virtual machines created from pre-configured Vagrant boxes and Vagrantfiles running on your local system.
  • 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 2.3 product.

2.1. Component Versions

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

Table 2.1. Container Development Kit, Component Versions

ComponentVersion

Docker

1.10.3

Docker API

1.22

Kubernetes

1.3.0

OpenShift Container Platform

3.3

2.2. VirtualBox Compatibility

Red Hat Container Development Kit 2.3 has been tested with VirtualBox 5.0.26 and higher, but it is known to not work correctly with VirtualBox 5.1.x. If you intend to use VirtualBox as your virtualization provider, and you already have VirtualBox 5.1.x installed, downgrade your installation to VirtualBox 5.0.26.

2.3. Vagrant Compatibility Matrix

The Container Development Environment provided by Container Development Kit is delivered in the form of a virtual machine that is administered by Vagrant. Not all versions of Vagrant work correctly with the Container Development Environment on all supported platforms. The following table shows version requirements for Vagrant based on the platform and hypervisor used.

Table 2.2. Vagrant Compatibility Matrix

 

Vagrant version

 

1.7.4

1.8.1

Microsoft Windows with VirtualBox

Microsoft Windows with Hyper-V

macOS with VirtualBox

Red Hat Enterprise Linux with libvirt

2.4. New Features

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

2.4.1. The install-cli Command of the Vagrant-service-manager Plugin Improved

The install-cli command provided by the Vagrant-service-manager plugin has been improved to offer the possibility to specify both a destination path for the client binaries it installs (using the --path option) and a specific version of the binaries (using the --cli-version option).

See the Container Development Kit Getting Started Guide for instructions on how to use these new options:

2.4.2. Proxy Support Improved when Using the Vagrant-service-manager Plugin

Previously, it was not possible to install client binaries on the host system using the install-cli command of the Vagrant-service-manager plugin when behind a proxy. With this update, support has been added for a seamless installation of client binaries for OpenShift Container Platform (oc) and Docker (docker) using the install-cli command of the Vagrant-service-manager plugin even when using Container Development Kit behind a proxy.

See the Red Hat Container Development Kit 2.3 Installation Guide for instructions on how to set up the Container Development Environment for behind a proxy using the Vagrant-service-manager plugin:

Chapter 3. Known Issues

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

3.1. General Issues

Issues affecting all supported platforms.

3.1.1. DNS service provided by xip.io only works with an Internet connection

DNS addressing provided by the external xip.io service is unavailable without a working Internet connection.

3.1.2. Red Hat Subscription Delay

After signing up for a Red Hat Developers account, you must wait approximately fifteen minutes to allow the new account information to propagate to the Red Hat Subscription Management system before the Container Development Environment can be registered.

3.1.3. The nodejs-4-rhel7 Container Image Does Not Work Behind Proxy

The nodejs-4-rhel7 Docker-formatted container image, which is available from the Red Hat Atomic Registry, does not work when the Container Development Environment is connected to the Internet through a proxy server.

3.1.4. Credentials Defined in Global Vagrantfile Ignored by vagrant-registration

To enable automatic registration of the Container Development Environment Vagrant box, credentials for to Red Hat Subscription must be defined in the Vagrantfiles that are supplied in the Red Hat Container Tools ZIP file. Credentials defined in the user’s global Vagrantfile in /home/<username>/.vagrant.d/ are ignored by the vagrant-registration plugin.

3.1.5. Certificate Error upon Log in to OpenShift

An insecure certificate causes an error when using oc login. Use the --insecure-skip-tls-verify=true option with the oc login command to prevent the warning about insecure connection.

3.1.6. Vagrant Reload Does Not Work behind Proxy

When using the Container Development Environment behind a proxy server, the vagrant reload command does not work properly, which results in OpenShift applications not loading. To avoid this issue, halt and restart your Container Development Environment Vagrant box using the vagrant halt and vagrant start commands.

3.1.7. Installation of Client Binaries Using vagrant-service-manager Does Not Support Relative Paths

Using the --path option with the install-cli command of the vagrant-service-manager plugin does not work as expected. The following error is shown:

# Binary now available at /path/to/CDK/2.3/components/rhel/rhel-ose/cli
# run binary as:
# oc <command>
export PATH=/path/to/CDK/2.3/components/rhel/rhel-ose:$PATH

# run following command to configure your shell:
# eval "$(VAGRANT_NO_COLOR=1 vagrant service-manager install-cli openshift --path cli | tr -d '\r')"

3.1.8. Vagrant Box Will Not Start if PROXY_USER or PROXY_PASSWORD Are Not Set

If either of the environment variables, PROXY_USER or PROXY_PASSWORD, is unset, the vagrant up command does not work as expected. If they are unset, Vagrant may also log many events more rapidly than expected. There are two workarounds:

  • Export the environment variables PROXY_USER and PROXY_PASSWD to an empty string.

    $ export PROXY_USER=''
    $ export PROXY_PASSWORD=''
  • Comment out the relevant parts of the Vagrantfile by inserting the # character at the beginning of each of these lines:

    config.registration.proxy = PROXY = ENV['PROXY']
    config.registration.proxyUser = PROXY_USER = ENV['PROXY_USER']                                    # if ENV.key?('PROXY_USER')
    config.registration.proxyPassword = PROXY_PASSWORD = ENV['PROXY_PASSWORD']    # if ENV.key?('PROXY_PASSWORD')

3.1.9. The Vagrant VM May Run Out of Space Unexpectedly

In some circumstances, the filesystem may become full more quickly than expected. This impact can be minimized by running oadm-prune periodically. Filesystems that fill up can have an additional volume added to the affected volume group, to extend the runtime of the system. As the filesystem becomes full, growing log files may also fill the remaining space.

3.1.10. The vagrant-service-manager Plugin Does Not Install the Correct Version of the oc Binary by Default

The install-cli command provided by the vagrant-service-manager plugin does not install the 1.3.1 version recommended for OpenShift Container Platform version 3.3.1.3, which is supplied by the Container Development Environment by default. The correct version can be installed using the following command:

$ vagrant service-manager install-cli openshift --cli-version 1.3.1

3.1.11. The Filesystem May Become Full After Several Days

In some circumstances, the filesystem may become full more quickly than expected. This impact can be minimized by running oadm-prune periodically. Filesystems that fill up can have an additional volume added to the affected volume group, to extend the runtime of the system. As the filesystem becomes full, growing log files may also the remaining space.

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 vagrant-registration Plugin on Cygwin Bash Does Not Hide Password

When the vagrant-registration plugin is used in interactive mode in the Cygwin Bash terminal, the entered password is visible in the standard input. The following warning will be printed:

Error! Your console doesn't support hiding input. We'll ask for
input again below, but we WILL NOT be able to hide input. If this
is a problem for you, ctrl-C to exit and fix your stdin.

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.

3.3.1. The docker Command Cannot Communicate with Container Development Kit

The /usr/bin/docker wrapper on Red Hat Enterprise Linux 7 overwrites the DOCKER_CERT_PATH environment variable, which means that the Docker client does not work properly with the Docker service provided by the Container Development Environment. To work around this issue, use directly the docker-current command.

3.3.3. Installation May Fail on Red Hat Enterprise Linux 7

Installing the vagrant-service-manager plugin may fail on Red Hat Enterprise Linux 7 due to missing dependencies. You can install the missing packages with:

# sudo yum -y install @'Development Tools'
# sudo yum -y install libvirt-devel rh-ruby22-ruby-devel

The Vagrant plugins should then be installed:

# vagrant plugin install vagrant-service-manager
# vagrant plugin install vagrant-registration vagrant-sshfs
# vagrant plugin list

3.3.4. Kubernetes Causes Openshift to Stop or Prevent Openshift From Starting

Kubernetes startup will cause the openshift service in a VM to stop. Starting openshift after Kubernetes may also fail with an error. This problem can be verified with the command vagrant service-manager status openshift.

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.