-
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 3.2
Robin Owen
kowen@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 based on the Minishift tool.
- Container Development Kit is available for the Microsoft Windows, macOS, 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 3.2 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 Container Development Kit Getting Started Guide contains instructions on how to install and 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 3.2 product.
2.1. Component Versions
Red Hat Container Development Kit 3.2 is shipped with the following versions of the main components:
Table 2.1. Container Development Kit, Component Versions
Component | Version |
---|---|
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.2 has been tested with VirtualBox 5.1.14 and higher, but is known to not work correctly with VirtualBox 5.1.11 or older. Ensure that you have VirtualBox 5.1.12 or higher if you intend to use VirtualBox as your virtualization provider.
2.3. New Features
This section highlights some of the new features offered by Red Hat Container Development Kit 3.2. The new version also contains a number of bug fixes.
Red Hat Container Development Kit 3.2 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.2 contains the Minishift tool, a Red Hat Enterprise Linux 7 ISO, and the oc
(OpenShift client) binary for interacting with OpenShift Container Platform.
2.3.1. Minishift
Red Hat Container Development Kit 3.2 is based on Minishift, a command-line tool to provision OpenShift locally for application developers. It supports all native hypervisors and some additional ones:
- macOS
- xhyve (default)
- VirtualBox
- Linux
- KVM (default)
- VirtualBox
- Windows
- Hyper-V (default)
- VirtualBox
2.3.2. New Features
- Multiple instances of Minishift can be created with the profiles feature. Profiles can be created with their own configuration for specific use cases. Profiles may run in parallel or one at a time. See CDK Profiles for more information.
- Each add-on can have information about which OpenShift version it supports. See OpenShift-Version Semantics for more information.
-
Add-ons can be removed and uninstalled with the
minishift addons remove
andminishift addons uninstall
commands. See Removing Add-ons and Uninstalling Add-ons for more information. -
oc
version 3.7 may be used instead of the defaultoc
version 3.6. CDK cannot download this binary automatically, but it can be downloaded and installed manually. See CDK cannot download theoc
binary for OpenShift Container Platform 3.7 for more information.
2.3.3. Technology Previews
Support for these features falls under the Technology Preview Features Support Scope.
- A new 'che' add-on is now provided. This add-on runs Eclipse Che on top of a CDK-provisioned OpenShift cluster with a single command. See the Che add-on README file for more information.
- You can assign a static IP to the CDK VM on Hyper-V. CDK will be in an unusable state if the IP of the VM changes after Minishift is started. See Assign IP address to Hyper-V for more information.
2.3.4. Usability Improvements
-
The
minishift openshift service
command now accepts-u
as a short alternative to the--url
flag. See Minishift GitHub Issue #928. -
The
--memory
flag forminishift start
now also accepts values in gigabytes. See Minishift GitHub Issue #1149. -
The
minishift start
command now provides more information. See Minishift GitHub Issue #485. -
The
minishift status
command has been extended to provide more details. This includes the status of the active CDK VM, the name of the active profile, OpenShift status and version information, and the percentage of VM disk usage.
Chapter 3. Known Issues
This section describes issues that users of Red Hat Container Development Kit 3.2 may encounter, as well as possible workarounds for these issues.
3.1. General Issues
Issues affecting all supported platforms.
3.1.1. Running minishift setup-cdk
with --profile
prevents creation of the default profile
Running minishift --profile <name> setup-cdk
without an existing MINISHIFT_HOME
(~/.minishift by default) prevents the setup-cdk
command from creating the default minishift profile. This will cause further problems, as CDK expects the default profile to be present.
Workaround: Do not use the global --profile
flag with minishift setup-cdk
. Always run minishift setup-cdk
before any other command for a new installation of CDK.
3.1.2. CDK cannot download the oc
binary for OpenShift Container Platform 3.7
Currently, CDK cannot automatically download the oc
binary for OpenShift Container Platform 3.7. However, you may manually download the oc
3.7 binary to use it. To do so, follow these steps:
-
Ensure that you have run
minishift setup-cdk
. -
Manually download the
oc
binary for OpenShift Container Platform 3.7 from https://mirror.openshift.com/pub/openshift-v3/clients/. -
Place the downloaded
oc
binary in the existing directory foroc
in MINISHIFT_HOME/cache/oc/v3.6.173.0.21/. Run CDK with the
--ocp-tag
flag with the exact version of theoc
3.7 binary. Example:$ minishift setup-cdk $ curl -O https://mirror.openshift.com/pub/openshift-v3/clients/3.7.9/linux/oc.tar.gz $ tar -zxvf oc.tar.gz $ cp oc ~/.minishift/cache/oc/v3.6.173.0.21 $ minishift start --ocp-tag v3.7.9
When creating new profiles, CDK extracts the v3.6.173.0.21 oc
binary from minishift
rather than copying the oc
binary placed in the cache. You must manually add the oc
3.7 binary to the cache for each profile to use OpenShift Container Platform 3.7. Use the following for each profile making use of the oc
3.7 binary:
-
Set the active profile via
minishift profile set <profile-name>
. Follow the previous procedure using MINISHIFT_HOME/profiles/<profile-name>/cache/oc/v3.6.173.0.21/ as the cached
oc
location. Example:$ minishift profile set example $ minishift setup-cdk $ cp oc ~/.minishift/profiles/example/cache/oc/v3.6.173.0.21 $ minishift start --ocp-tag v3.7.9
The --ocp-tag
flag for minishift start
expects version information in a specific format. Ensure that you prepend the oc
version with "v" and replace any dashes with periods for use with the --ocp-tag
flag. For example, if your oc
version is 3.7.0-0.198.0, use the following:
$ minishift start --ocp-tag v3.7.0.0.198.0
3.1.3. Unable to get information from minishift openshift registry
if minishift start
fails on the first attempt
The minishift start
command only creates the MINISHIFT_HOME/.machines/<vm_name>_kubeconfig file the first time a Minishift VM is started. If the minishift start
procedure fails for any reason, this file may not be created. Running minishift start
again will not create this file. This causes issues with the minishift openshift registry
and minishift openshift service
commands.
Workaround: Run minishift delete
followed by minishift start
to create the required file.
3.1.4. Red Hat password is printed in plain text if registration fails
The command used for registration during minishift start
is printed to the console if the registration process fails. This command contains the given Red Hat user name and password in plain text.
Example output:
Error to register VM: ssh command error: command : sudo -E subscription-manager register --auto-attach --username user@redhat.com --password 'xxxxxxxx' err : exit status 1 output : Registering to: subscription.rhsm.redhat.com:443/subscription The system has been registered with ID: 9bf93a9c-3615-428d-953d-70803121ebf7
3.1.5. minishift version
creates the MINISHIFT_HOME
directory
Calling the minishift version
command before running minishift setup-cdk
causes the default MINISHIFT_HOME
directory (~/.minishift) to be created. This leads to minishift setup-cdk
prompting for confirmation to overwrite the contents of MINISHIFT_HOME
.
Workaround: Type y
to confirm. This warning may be ignored.
3.1.6. The "latest" tag is 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".
3.2. Issues on Linux
This section describes CDK issues that affect users on a Linux host.
3.2.1. minishift start
fails on systems with a non-English locale
This issue is related to the KVM hypervisor. The VirtualBox hypervisor is not affected.
The pre-flight check used by minishift start
will fail if the operating system’s locale is not English. This is due to the check for active libvirt networks testing for English-specific text.
Workaround: Export LC_ALL=C
to the shell environment of Linux:
$ export LC_ALL=C $ minishift start
3.3. Issues on Microsoft Windows
This section describes CDK issues that affect users on a Microsoft Windows host.
3.3.1. Windows Command Prompt and PowerShell improperly parse JSON patches for the minishift openshift config set
command
Windows Command Prompt and PowerShell have problems with parsing JSON into the minishift openshift config set
command. Special attention is required when using this command on Windows.
The workaround for Windows Command Prompt environments is to escape the quotes so that the JSON content is correctly parsed:
C:\Users\CDK> minishift.exe openshift config set --patch "{\"routingConfig\": {\"subdomain\": \"192.168.99.101.nip.io\"}}"
The workaround for Windows PowerShell environments is to use a variable to store the JSON content:
PS C:\Users\CDK> $json='{\"routingConfig\": {\"subdomain\": \"192.168.99.101.nip.io\"}}' PS C:\Users\CDK> echo $json {\"routingConfig\": {\"subdomain\": \"192.168.99.101.nip.io\"}} PS C:\Users\CDK> minishift.exe openshift config set --patch $json Patching OpenShift configuration /var/lib/origin/openshift.local.config/master/master-config.yaml with {"routingConfig": {"subdomain": "192.168.99.101.nip.io"}}
3.3.2. minishift openshift config set --patch
may fail on some Windows 7 and 10 hosts
The reason for this failure is currently unknown.
Workaround: Configure the OpenShift cluster from inside of the provisioned VM using minishift ssh
:
C:\Users\CDK> minishift.exe ssh [docker@minishift ~]$ docker exec -t origin /usr/bin/openshift ex config patch /var/lib/origin/openshift.local.config/master/master-config.yaml --patch='<json-to-be-applied-to-the-cluster>'
Chapter 4. Additional Resources
- See the Container Development Kit Getting Started Guide for an overview of Container Development Kit features and an introduction to the use of the Docker service and OpenShift Container Platform.
- Report issues with Red Hat Container Development Kit or request new features using the CDK project at https://issues.jboss.org/projects/CDK.