-
Language:
English
-
Language:
English
Red Hat Training
A Red Hat training course is available for Red Hat Container Development Kit
Release Notes and Known Issues
Highlighted features and identified problems in Red Hat Container Development Kit 2.3
Robert Krátký
rkratky@redhat.com
devtools-docs@redhat.com
Abstract
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
- The Red Hat Container Development Kit 2.3 Release Notes and Known Issues contains information about the current release of the product as well as a list of known problems that users may encounter when using it.
- The Red Hat Container Development Kit 2.3 Installation Guide guide contains instructions for installing the Container Development Environment provided by Red Hat Container Development Kit on your chosen system.
- The Container Development Kit Getting Started Guide contains instructions on how to start using the Container Development Environment to develop Red Hat Enterprise Linux-based containers using tools and services such as OpenShift Container Platform, Docker, Eclipse, and various command-line tools.
- Report issues with Red Hat Container Development Kit or request new features using the CDK project at https://issues.jboss.org/projects/CDK.
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
Component | Version |
---|---|
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.2. libvirt Fails to Unlink Virtual Machine Image
On Red Hat Enterprise Linux 7.2, the vagrant destroy
command does not properly delete the virtual machine storage image. To work around this libvirt bug, you need to change the ownership of the image file and perform several steps using the virsh
command.
Deleting libvirt Images
Substitute vagrant_box_image.img
with the libvirt image file name used on your system in all steps of this procedure. Use the virsh vol-list default
command to list all images.
Change the ownership of the image file:
# chown root:root /var/lib/libvirt/images/vagrant_box_image.img
Output volume information:
# virsh vol-dumpxml vagrant_box_image.img --pool default
Delete the image:
This can be done in two alternative ways. Use the second one if the first one does not work.
Use the
vol-delete
command withvirsh
:# virsh vol-delete vagrant_box_image.img --pool default
Alternatively, delete the file directly and refresh the volume pool:
# rm /var/lib/libvirt/images/vagrant_box_image.img # virsh pool-refresh default
Restart the
libvirtd
daemon:# systemctl restart libvirtd
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
- See the Red Hat Container Development Kit 2.3 Installation Guide for installation instructions for all supported platforms (Linux, macOS, Windows).
- See the Troubleshooting chapter of the Red Hat Container Development Kit 2.3 Installation Guide for additional information about uninstallation issues.
- See the Container Development Kit Getting Started Guide for an overview of Container Development Kit features and for an introduction into the use of the Docker service and the OpenShift Container Platform platform.
- Report issues with Red Hat Container Development Kit or request new features using the CDK project at https://issues.jboss.org/projects/CDK.