Categories

Openshift – Day 1 – Formation

[root@workstation ~]# cat playbook.yml

– name: “Guided Exercise: Preparing for Installation”
hosts: nodes
remote_user: root
vars:
local_docker: “workstation.lab.example.com:5000”
docker_cert: /etc/pki/tls/certs/example.com.crt
tasks:
– block:
– name: Create /root/.ssh (if necessary)
file:
path: /root/.ssh
mode: 0700
owner: root
group: root
state: directory
when: inventory_hostname in groups[‘masters’]

– name: Copy lab_rsa to /root/.ssh/id_rsa
copy:
src: /home/student/.ssh/lab_rsa
dest: /root/.ssh/id_rsa
mode: 0600
owner: root
group: root
force: no
when: inventory_hostname in groups[‘masters’]

– name: Copy lab_rsa.pub to /root/.ssh/id_rsa.pub
copy:
src: /home/student/.ssh/lab_rsa.pub
dest: /root/.ssh/id_rsa.pub
mode: 0644
owner: root
group: root
force: no
when: inventory_hostname in groups[‘masters’]

– name: Deploy ssh key to root at all nodes
authorized_key:
user: root
key: “{{ lookup(‘file’, ‘/home/student/.ssh/lab_rsa.pub’) }}”

always:
– name: Stop and disable firewalld
service:
name: firewalld
state: stopped
enabled: false

tags:
– install_prep
– install_and_fetch
– install_ocp

# The docker_cert variable is set at the beginning of this play and
# it should point to the same file specified in the “certificate”
# line of /etc/docker-distribution/registry/config.yml.
– block:
– name: Install docker
yum:
name: docker
state: latest

– name: Customize /etc/sysconfig/docker
copy:
src: files/docker
dest: /etc/sysconfig/docker
notify:
– stop-docker
– remove-docker-files
– start-docker

– name: Customize /etc/sysconfig/docker-storage-setup
copy:
src: /home/student/DO280/labs/install-preparing/docker-storage-setup
dest: /etc/sysconfig/docker-storage-setup

– name: Verify existence of /dev/docker-vg/docker-pool
command: “/usr/bin/ls /dev/docker-vg/docker-pool”

rescue:
– name: Run docker-storage-setup
command: /usr/bin/docker-storage-setup

always:
– name: Copy {{ docker_cert }} to /etc/pki/ca-trust/source/anchors/
copy:
src: “{{ docker_cert }}”
dest: /etc/pki/ca-trust/source/anchors/
notify:
– update-ca-trust extract

– name: Start and enable docker
service:
name: docker
state: started
enabled: true

tags:
– install_prep
– install_and_fetch
– install_ocp

handlers:
– name: stop-docker
service:
name: docker
state: stopped

– name: remove-docker-files
# These files cannot be removed if docker.service is running.
command: “/usr/bin/rm -rf /var/lib/docker/*”

– name: start-docker
service:
name: docker
state: started

– name: update-ca-trust extract
command: “/usr/bin/update-ca-trust extract”

#################################################################

– name: “Guided Exercise: Installing Packages and Fetching Images”
hosts: nodes
remote_user: root
tasks:
# The docker-python package isn’t required for class, but it is necessary
# in order to use the docker_image module.
– name: Install required packages
yum:
name: “{{ item }}”
state: latest
with_items:
– atomic-openshift-docker-excluder
– atomic-openshift-excluder
– atomic-openshift-utils
– bind-utils
– bridge-utils
– docker-python
– git
– iptables-services
– net-tools
– wget
tags:
– install_and_fetch
– install_ocp

– name: “Pull docker images from workstation.lab.example.com:5000”
docker_image:
name: “{{ item }}”
pull: true
with_items:
– “workstation.lab.example.com:5000/openshift3/ose-haproxy-router:v3.4.0.39”
– “workstation.lab.example.com:5000/openshift3/ose-deployer:v3.4.0.39”
– “workstation.lab.example.com:5000/openshift3/ose-sti-builder:v3.4.0.39”
– “workstation.lab.example.com:5000/openshift3/ose-pod:v3.4.0.39”
– “workstation.lab.example.com:5000/openshift3/ose-docker-registry:v3.4.0.39”
– “workstation.lab.example.com:5000/openshift3/ose-docker-builder:v3.4.0.39”
– “workstation.lab.example.com:5000/openshift3/php-55-rhel7:latest”
#- “workstation.lab.example.com:5000/openshift3/php-55-rhel7:5.5-47”
– “workstation.lab.example.com:5000/openshift3/nodejs-010-rhel7:latest”
#- “workstation.lab.example.com:5000/openshift3/nodejs-010-rhel7:0.10-47”
– “workstation.lab.example.com:5000/openshift3/mysql-55-rhel7:latest”
#- “workstation.lab.example.com:5000/openshift3/mysql-55-rhel7:5.5-35”
– “workstation.lab.example.com:5000/jboss-eap-6/eap64-openshift:1.4”
– “workstation.lab.example.com:5000/jboss-eap-7/eap70-openshift:1.4”
– “workstation.lab.example.com:5000/openshift/hello-openshift:latest”
– “workstation.lab.example.com:5000/openshift3/registry-console:3.3”
tags:
– install_and_fetch
– install_ocp

#################################################################

– name: “Guided Exercise: Running the Installer”
hosts: nodes
remote_user: root
tasks:
– name: Create /root/.config/openshift/
file:
path: /root/.config/openshift
owner: root
group: root
mode: 0755
state: directory
recurse: yes
when: inventory_hostname in groups[‘masters’]
tags:
– install_ocp

– name: Populate /root/.config/openshift/installer.cfg.yml
copy:
src: files/installer.cfg.yml
dest: /root/.config/openshift/installer.cfg.yml
when: inventory_hostname in groups[‘masters’]
tags:
– install_ocp

– name: Modify the template for registry-console.yaml
lineinfile:
dest: /usr/share/ansible/openshift-ansible/roles/openshift_hosted_templates/files/v1.4/enterprise/registry-console.yaml
regexp: ‘    value: “registry.access.redhat.com/openshift3/”‘
line: ‘    value: “workstation.lab.example.com:5000/openshift3/”‘
backup: yes
when: inventory_hostname in groups[‘masters’]
tags:
– install_ocp

# When running atomic-openshift-installer, if this step
# hasn’t been completed, the installer will indicate that it
# is unable to install some required packages. The packages do
# exist, but they have been excluded.
– name: Remove OpenShift package exclusions
command: “/usr/sbin/atomic-openshift-excluder unexclude”
tags:
– install_ocp

– name: Run atomic-openshift-installer
command: “/usr/bin/atomic-openshift-installer -u -c /root/.config/openshift/installer.cfg.yml install”
when: inventory_hostname in groups[‘masters’]
tags:
– install_ocp

#################################################################

– name: “Guided Exercise: Completing Postinstallation Tasks (part 1)”
hosts: nodes
remote_user: root
tasks:
– block:
– name: Check for OCP Installation (Post Installation part 1)
service:
name: atomic-openshift-master
state: started
enabled: true
when: inventory_hostname in groups[‘masters’]

– name: Push /etc/sysconfig/docker again
copy:
src: files/docker
dest: /etc/sysconfig/docker
notify: restart-docker

– name: Exclude OpenShift packages from updates
command: “/usr/sbin/atomic-openshift-excluder exclude”

rescue:
– name: Failed OCP Install Check (Post Installation)
debug:
msg: “OpenShift Container Platform needs to be installed first. You may need to reset your master and node hosts and then run: ansible-playbook playbook –tags ‘install_ocp'”

tags:
– post_install
– config_auth

handlers:
– name: restart-docker
service:
name: docker
state: restarted

#################################################################

– name: “Guided Exercise: Completing Postinstallation Tasks (part 2)”
hosts: masters
remote_user: root
tasks:
– block:
– name: Check for OCP Installation (Post Installation part 2)
service:
name: atomic-openshift-master
state: started
enabled: true

# Something happens during this automated process where the pod
# for the registry-console doesn’t come up. To deal with this
# problem I created correct-registry.sh to see if the
# registry-console pod is stuck. If it is stuck, the script
# will delete the existing registry-console pods and recreate
# them by modifying the registry-console deployment config.
– name: Create /root/bin (if necessary)
file:
path: /root/bin
mode: 0755
owner: root
group: root
state: directory

– name: Copy correct-registry.sh script
copy:
src: files/correct-registry.sh
dest: /root/bin/
mode: 0755
owner: root
group: root

– name: Run /root/bin/correct-registry.sh
shell: /root/bin/correct-registry.sh

– name: Edit RHEL7 Image Streams
copy:
src: files/image-streams-rhel7.json
dest: /usr/share/openshift/examples/image-streams/image-streams-rhel7.json
notify:
– delete_openshift_is
– create_rhel7_is
– create_jboss_is

– name: Edit JBoss Image Streams
copy:
src: files/jboss-image-streams.json
dest: /usr/share/openshift/examples/xpaas-streams/jboss-image-streams.json
notify:
– delete_openshift_is
– create_rhel7_is
– create_jboss_is

rescue:
– name: Failed OCP Install Check (Post Installation)
debug:
msg: “OpenShift Container Platform needs to be installed first. You may need to reset your master and node hosts and then run: ansible-playbook playbook –tags ‘install_ocp'”

tags:
– post_install
– config_auth

handlers:
– name: delete_openshift_is
command: “/usr/bin/oc delete is -n openshift –all”

– name: create_rhel7_is
command: “/usr/bin/oc create -f /usr/share/openshift/examples/image-streams/image-streams-rhel7.json -n openshift”

– name: create_jboss_is
command: “/usr/bin/oc create -f /usr/share/openshift/examples/xpaas-streams/jboss-image-streams.json -n openshift”

#################################################################

– name: “Guided Exercise: Configuring Authentication”
hosts: masters
remote_user: root
vars:
passwd_file: /etc/origin/openshift-passwd
users:
– name: developer
password: openshift
– name: student
password: redhat
– name: testuser
password: redhat
tasks:
– block:
– name: Check for OCP Installation (Configure Authentication)
service:
name: atomic-openshift-master
state: started
enabled: true

– name: Install httpd-tools
yum:
name: httpd-tools
state: latest

– name: Allow oc and web access for users
htpasswd:
path: “{{ passwd_file }}”
name: “{{ item.name }}”
password: “{{ item.password }}”
state: present
create: yes
with_items: “{{ users }}”

– name: Change master-config.yaml to use HTPasswdPasswordIdentifyProvider
copy:
src: files/master-config.yaml
dest: /etc/origin/master/master-config.yaml
notify: restart_openshift_master

rescue:
– name: Failed OCP Install Check (Configure Authentication)
debug:
msg: “OpenShift Container Platform needs to be installed first. You may need to reset your master and node hosts and then run: ansible-playbook playbook –tags ‘install_ocp'”

tags:
– config_auth

handlers:
– name: restart_openshift_master
service:
name: atomic-openshift-master
state: restarted

#################################################################

– name: Changes made in Chapter 3
hosts: workstation.lab.example.com
remote_user: root
tasks:
– name: Install atomic-openshift-clients
yum:
name: atomic-openshift-clients
state: latest
tags:
– ch03

– name: Create /home/student/.kube
file:
path: /home/student/.kube
state: directory
owner: student
group: student
mode: 0755
tags:
– ch03

– name: Populate student oc infomation
copy:
src: files/student-oc-config
dest: /home/student/.kube/config
owner: student
group: student
mode: 0600
tags:
– ch03

#################################################################
[root@workstation ~]#


root@master fetch]# ls
fetch.bash
[root@master fetch]# more fetch.bash
#!/bin/bash

# OSE 3 containerized services images
# Needs version because the private repo do not have “:latest” tags
for image in \
openshift3/ose-haproxy-router openshift3/ose-deployer openshift3/ose-sti-builder  \
openshift3/ose-pod openshift3/ose-docker-registry openshift3/ose-docker-builder
do docker pull $image:v3.4.0.39; done

# OSE 3 runtime images
for image in \
openshift3/php-55-rhel7 openshift3/nodejs-010-rhel7 openshift3/mysql-55-rhel7 \
jboss-eap-6/eap64-openshift openshift3/registry-console:3.3 jboss-eap-7/eap70-openshift:1.4
do docker pull $image; done

# sample images
for image in \
openshift/hello-openshift
do docker pull $image; done
[root@master fetch]#


root@master ~]# docker images
REPOSITORY                                                        TAG                 IMAGE ID            CREATED             SIZE
workstation.lab.example.com:5000/jboss-eap-7/eap70-openshift      1.4                 c064abfe4c94        10 weeks ago        1.212 GB
workstation.lab.example.com:5000/openshift/hello-openshift        latest              c97dc9654e88        3 months ago        5.635 MB
workstation.lab.example.com:5000/openshift3/ose-sti-builder       v3.4.0.39           a92e7263eed7        3 months ago        604.5 MB
workstation.lab.example.com:5000/openshift3/ose-haproxy-router    v3.4.0.39           d6c17004c16c        3 months ago        621.3 MB
workstation.lab.example.com:5000/openshift3/ose-docker-builder    v3.4.0.39           161c05f56506        3 months ago        604.5 MB
workstation.lab.example.com:5000/openshift3/ose-deployer          v3.4.0.39           16b04bd97cf7        3 months ago        604.5 MB
workstation.lab.example.com:5000/openshift3/ose-docker-registry   v3.4.0.39           ad19b4c7468a        3 months ago        684.3 MB
workstation.lab.example.com:5000/openshift3/php-55-rhel7          latest              2d6fbdfafa33        3 months ago        568.9 MB
workstation.lab.example.com:5000/openshift3/nodejs-010-rhel7      latest              226d0b1b7987        3 months ago        430.2 MB
workstation.lab.example.com:5000/openshift3/ose-pod               v3.4.0.39           d3056432d706        3 months ago        205 MB
workstation.lab.example.com:5000/openshift3/mysql-55-rhel7        latest              ba57c96b99e5        3 months ago        345.9 MB
workstation.lab.example.com:5000/rhel7                            latest              e4b79d4d89ab        3 months ago        192.5 MB
workstation.lab.example.com:5000/jboss-eap-6/eap64-openshift      latest              edfdce7d9b26        4 months ago        1.183 GB
workstation.lab.example.com:5000/openshift3/registry-console      3.3                 4e4249b19c71        4 months ago        224.8 MB
[root@master ~]#

 

OSE = OpenShift Enterprise


[root@workstation ~]# more README-ansible.txt
This Ansible playbook is not designed to correct any type of mistake that you
may have made. The following commands will work from /home/student on
workstation if you have reset both the master and node hosts. The following
commands *may* work even if you haven’t reset the master and node hosts.

Some additional troubleshooting tips are listed below.

For the end state of “Guided Exercise: Preparing for Installation”
$ ansible-playbook playbook.yml –tags “install_prep”

For the end state of “Guided Exercise: Installing Packages and Fetching Images”
$ ansible-playbook playbook.yml –tags “install_and_fetch”

For the end state of “Guided Exercise: Running the Installer”
NOTE: This will *not* correct an incorrectly installed OCP installation.
NOTE: Running this tag more than once will likely cause a good OCP
installation to break.
$ ansible-playbook playbook.yml –tags “install_ocp”

For the end state of “Guided Exercise: Completing Postinstallation Tasks”
NOTE: This tag requires a working installation of OCP.
$ ansible-playbook playbook.yml –tags “post_install”

For the end state of “Guided Exercise: Configuring Authentication”
NOTE: This tag requires a working installation of OCP.
$ ansible-playbook playbook.yml –tags “config_auth”

Chapter 3 installs atomic-openshift-clients on the workstation machine and has
student use “oc login -u student -p redhat”. Using the tag “ch03” will install
this package and configure it so that student won’t need to specify the
server (https://master.lab.example.com:8443).
$ ansible-playbook playbook.yml –tags “ch03″

For the end state of chapter 3, run the playbook without any tags.
$ ansible-playbook playbook.yml

================================================================================
Additional Troubleshooting Tips
================================================================================
1. Problems with ssh keys
================================================================================
This playbook assumes that you have generated ssh keys on the master host
and have distributed those keys to both master.lab.example.com and
node.lab.example.com. If you haven’t done that, run the following commands:

[root@master ~]# ssh-keygen -f /root/.ssh/id_rsa -N ”
[root@master ~]# ssh-copy-id root@master.lab.example.com
[root@master ~]# ssh-copy-id root@node.lab.example.com

================================================================================
2. Problems with docker-storage-setup
================================================================================
If you are having problems with docker-storage-setup (possibly because you
manually typed /etc/sysconfig/docker-storage-setup and made a mistake or
maybe you started the docker service prior to running docker-storage-setup),
try the following:

# systemctl stop docker (stop the docker service)
# rm -rf /var/lib/docker/* (remove any files previously created by docker)
# vgremove docker-vg (remove the docker-vg volume group if it exists)
# pvremove /dev/vdb1 (make sure /dev/vdb1 isn’t considered a physical volume)
# fdisk /dev/vdb (remove /dev/vdb1 with “d” and then save your changes with “w”)
# partprobe /dev/vdb (make sure the kernel is aware of the partition changes)

Add the line (WIPE_SIGNATURES=true) to /etc/sysconfig/docker-storage-setup
so that the file has the following contents:
DEVS=/dev/vdb
VG=docker-vg
SETUP_LVM_THIN_POOL=yes
WIPE_SIGNATURES=true

# docker-storage-setup (try running docker-storage-setup again)

If the docker-storage-setup command completes successfully, go back and modify
/etc/sysconfig/docker-storage-setup to remove the “WIPE_SIGNATURES=true” line
from the file. This will ensure that it doesn’t cause additional problems with
the Ansible playbook.

================================================================================
3. Problems with OpenShift Container Platform Installation
================================================================================
Using this Ansible playbook with the tags “install_ocp”, “post_install”, or
“config_auth” will not fix or correct a bad installation. You might first try
running “atomic-openshift-installer uninstall” from the master host and then
try running the Ansible playbook. If that doesn’t work, reset both the master
and node hosts and then try running the Ansible playbook again.

================================================================================
[root@workstation ~]#


[root@master ~]# oc get pods
NAME                       READY     STATUS    RESTARTS   AGE
docker-registry-6-r4c1f    1/1       Running   0          9m
hello-openshift-1-81bfr    1/1       Running   0          4m
registry-console-2-51jwd   1/1       Running   0          9m
router-1-bztq8             1/1       Running   0          9m
[root@master ~]# oc delete all -l app=hello-openshift
imagestream “hello-openshift” deleted
deploymentconfig “hello-openshift” deleted
route “hello-openshift” deleted
service “hello-openshift” deleted
pod “hello-openshift-1-81bfr” deleted
[root@master ~]# oc get pods
NAME                       READY     STATUS    RESTARTS   AGE
docker-registry-6-r4c1f    1/1       Running   0          9m
registry-console-2-51jwd   1/1       Running   0          9m
router-1-bztq8             1/1       Running   0          9m
[root@master ~]# oc delete is -n openshift –all
imagestream “dotnet” deleted
imagestream “fis-java-openshift” deleted
imagestream “fis-karaf-openshift” deleted
imagestream “jboss-amq-62” deleted
imagestream “jboss-datagrid65-openshift” deleted
imagestream “jboss-datavirt63-openshift” deleted
imagestream “jboss-decisionserver62-openshift” deleted
imagestream “jboss-decisionserver63-openshift” deleted
imagestream “jboss-eap64-openshift” deleted
imagestream “jboss-eap70-openshift” deleted
imagestream “jboss-processserver63-openshift” deleted
imagestream “jboss-webserver30-tomcat7-openshift” deleted
imagestream “jboss-webserver30-tomcat8-openshift” deleted
imagestream “jenkins” deleted
imagestream “mariadb” deleted
imagestream “mongodb” deleted
imagestream “mysql” deleted
imagestream “nodejs” deleted
imagestream “perl” deleted
imagestream “php” deleted
imagestream “postgresql” deleted
imagestream “python” deleted
imagestream “redhat-sso70-openshift” deleted
imagestream “ruby” deleted
[root@master ~]# docker images
REPOSITORY                                                        TAG                 IMAGE ID            CREATED             SIZE
workstation.lab.example.com:5000/jboss-eap-7/eap70-openshift      1.4                 c064abfe4c94        10 weeks ago        1.212 GB
workstation.lab.example.com:5000/openshift/hello-openshift        latest              c97dc9654e88        3 months ago        5.635 MB
workstation.lab.example.com:5000/openshift3/ose-sti-builder       v3.4.0.39           a92e7263eed7        3 months ago        604.5 MB
workstation.lab.example.com:5000/openshift3/ose-haproxy-router    v3.4.0.39           d6c17004c16c        3 months ago        621.3 MB
workstation.lab.example.com:5000/openshift3/ose-docker-builder    v3.4.0.39           161c05f56506        3 months ago        604.5 MB
workstation.lab.example.com:5000/openshift3/ose-deployer          v3.4.0.39           16b04bd97cf7        3 months ago        604.5 MB
workstation.lab.example.com:5000/openshift3/ose-docker-registry   v3.4.0.39           ad19b4c7468a        3 months ago        684.3 MB
workstation.lab.example.com:5000/openshift3/php-55-rhel7          latest              2d6fbdfafa33        3 months ago        568.9 MB
workstation.lab.example.com:5000/openshift3/nodejs-010-rhel7      latest              226d0b1b7987        3 months ago        430.2 MB
workstation.lab.example.com:5000/openshift3/ose-pod               v3.4.0.39           d3056432d706        3 months ago        205 MB
workstation.lab.example.com:5000/openshift3/mysql-55-rhel7        latest              ba57c96b99e5        3 months ago        345.9 MB
workstation.lab.example.com:5000/rhel7                            latest              e4b79d4d89ab        3 months ago        192.5 MB
workstation.lab.example.com:5000/jboss-eap-6/eap64-openshift      latest              edfdce7d9b26        4 months ago        1.183 GB
workstation.lab.example.com:5000/openshift3/registry-console      3.3                 4e4249b19c71        4 months ago        224.8 MB
[root@master ~]# oc create -f \
> /root/DO280/labs/install/image-streams-rhel7.json -n openshift
imagestream “ruby” created
imagestream “nodejs” created
imagestream “perl” created
imagestream “php” created
imagestream “python” created
imagestream “mysql” created
imagestream “mariadb” created
imagestream “postgresql” created
imagestream “mongodb” created
imagestream “jenkins” created
[root@master ~]# more /root/DO280/labs/install/image-streams-rhel7.json
{
“kind”: “ImageStreamList”,
“apiVersion”: “v1”,
“metadata”: {},
“items”: [
{
“kind”: “ImageStream”,
“apiVersion”: “v1”,
“metadata”: {
“name”: “ruby”,
“annotations”: {
“openshift.io/display-name”: “Ruby”
}
},
“spec”: {
“tags”: [
{
“name”: “latest”,
“annotations”: {
“openshift.io/display-name”: “Ruby (Latest)”,
“description”: “Build and run Ruby applications on RHEL 7. For more information about using this builder image, including OpenS
hift considerations, see https://github.com/sclorg/s2i-ruby-container/tree/master/2.3/README.md.\n\nWARNING: By selecting this tag, your appl
ication will automatically update to use the latest version of Ruby available on OpenShift, including major versions updates.”,
“iconClass”: “icon-ruby”,
“tags”: “builder,ruby”,
“supports”: “ruby”,
“sampleRepo”: “https://github.com/openshift/ruby-ex.git”
},
“from”: {
“kind”: “ImageStreamTag”,
“name”: “2.3”
}
},
{
“name”: “2.0”,
“annotations”: {
“openshift.io/display-name”: “Ruby 2.0”,
“description”: “Build and run Ruby 2.0 applications on RHEL 7. For more information about using this builder image, including O
penShift considerations, see https://github.com/sclorg/s2i-ruby-container/tree/master/2.0/README.md.”,
“iconClass”: “icon-ruby”,
“tags”: “builder,ruby”,
“supports”: “ruby:2.0,ruby”,
“version”: “2.0”,
“sampleRepo”: “https://github.com/openshift/ruby-ex.git”
},
“from”: {
“kind”: “DockerImage”,
“name”: “workstation.lab.example.com:5000/openshift3/ruby-20-rhel7:latest”
}
},
{
“name”: “2.2”,
“annotations”: {
“openshift.io/display-name”: “Ruby 2.2”,
“description”: “Build and run Ruby 2.2 applications on RHEL 7. For more information about using this builder image, including O
penShift considerations, see https://github.com/sclorg/s2i-ruby-container/tree/master/2.2/README.md.”,
“iconClass”: “icon-ruby”,
“tags”: “builder,ruby”,
“supports”: “ruby:2.2,ruby”,
“version”: “2.2”,
“sampleRepo”: “https://github.com/openshift/ruby-ex.git”
},
“from”: {
“kind”: “DockerImage”,
“name”: “workstation.lab.example.com:5000/rhscl/ruby-22-rhel7:latest”
}
},
{
“name”: “2.3”,
“annotations”: {
“openshift.io/display-name”: “Ruby 2.3”,
“description”: “Build and run Ruby 2.3 applications on RHEL 7. For more information about using this builder image, including O
penShift considerations, see https://github.com/sclorg/s2i-ruby-container/blob/master/2.3/README.md.”,
“iconClass”: “icon-ruby”,
“tags”: “builder,ruby”,
“supports”: “ruby:2.3,ruby”,
“version”: “2.3”,
“sampleRepo”: “https://github.com/openshift/ruby-ex.git”
},
“from”: {
“kind”: “DockerImage”,
“name”: “workstation.lab.example.com:5000/rhscl/ruby-23-rhel7:latest”
}
}
]
}
},
{
“kind”: “ImageStream”,
“apiVersion”: “v1”,
“metadata”: {
“name”: “nodejs”,
“annotations”: {
“openshift.io/display-name”: “Node.js”
}
},
“spec”: {
“tags”: [
{
“name”: “latest”,
“annotations”: {
“openshift.io/display-name”: “Node.js (Latest)”,
“description”: “Build and run Node.js applications on RHEL 7. For more information about using this builder image, including Op
enShift considerations, see https://github.com/sclorg/s2i-nodejs-container/blob/master/4/README.md.\n\nWARNING: By selecting this tag, your a
pplication will automatically update to use the latest version of Node.js available on OpenShift, including major versions updates.”,
“iconClass”: “icon-nodejs”,
“tags”: “builder,nodejs”,
“supports”:”nodejs”,
“sampleRepo”: “https://github.com/openshift/nodejs-ex.git”
},
“from”: {
“kind”: “ImageStreamTag”,
“name”: “4”
}
},
{
“name”: “0.10”,
“annotations”: {
“openshift.io/display-name”: “Node.js 0.10”,
“description”: “Build and run Node.js 0.10 applications on RHEL 7. For more information about using this builder image, includi
ng OpenShift considerations, see https://github.com/sclorg/s2i-nodejs-container/blob/master/0.10/README.md.”,
“iconClass”: “icon-nodejs”,
“tags”: “builder,nodejs”,
“supports”:”nodejs:0.10,nodejs:0.1,nodejs”,
“version”: “0.10”,
“sampleRepo”: “https://github.com/openshift/nodejs-ex.git”
},
“from”: {
“kind”: “DockerImage”,
“name”: “workstation.lab.example.com:5000/openshift3/nodejs-010-rhel7:latest”
}
},
{
“name”: “4”,
“annotations”: {
“openshift.io/display-name”: “Node.js 4”,
“description”: “Build and run Node.js 4 applications on RHEL 7. For more information about using this builder image, including
OpenShift considerations, see https://github.com/sclorg/s2i-nodejs-container/blob/master/4/README.md.”,
“iconClass”: “icon-nodejs”,
“tags”: “builder,nodejs”,
“supports”:”nodejs:4,nodejs”,
“version”: “4”,
“sampleRepo”: “https://github.com/openshift/nodejs-ex.git”
},
“from”: {
“kind”: “DockerImage”,
“name”: “workstation.lab.example.com:5000/rhscl/nodejs-4-rhel7:latest”
}
}
]
}
},
{
“kind”: “ImageStream”,
“apiVersion”: “v1”,
“metadata”: {
“name”: “perl”,
“annotations”: {
“openshift.io/display-name”: “Perl”
}
},
“spec”: {
“tags”: [
{
“name”: “latest”,
“annotations”: {
“openshift.io/display-name”: “Perl (Latest)”,
“description”: “Build and run Perl applications on RHEL 7. For more information about using this builder image, including OpenS
hift considerations, see https://github.com/sclorg/s2i-perl-container/blob/master/5.20/README.md.\n\nWARNING: By selecting this tag, your app
lication will automatically update to use the latest version of Perl available on OpenShift, including major versions updates.”,
“iconClass”: “icon-perl”,
“tags”: “builder,perl”,
“supports”:”perl”,
“sampleRepo”: “https://github.com/openshift/dancer-ex.git”
},
“from”: {
“kind”: “ImageStreamTag”,
“name”: “5.20”
}
},
{
“name”: “5.16”,
“annotations”: {
“openshift.io/display-name”: “Perl 5.16”,
“description”: “Build and run Perl 5.16 applications on RHEL 7. For more information about using this builder image, including
OpenShift considerations, see https://github.com/sclorg/s2i-perl-container/blob/master/5.16/README.md.”,
“iconClass”: “icon-perl”,
“tags”: “builder,perl”,
“supports”:”perl:5.16,perl”,
“version”: “5.16”,
“sampleRepo”: “https://github.com/openshift/dancer-ex.git”
},
“from”: {
“kind”: “DockerImage”,
“name”: “workstation.lab.example.com:5000/openshift3/perl-516-rhel7:latest”
}
},
{
“name”: “5.20”,
“annotations”: {
“openshift.io/display-name”: “Perl 5.20”,
“description”: “Build and run Perl 5.20 applications on RHEL 7. For more information about using this builder image, including
OpenShift considerations, see https://github.com/sclorg/s2i-perl-container/blob/master/5.20/README.md.”,
“iconClass”: “icon-perl”,
“tags”: “builder,perl”,
“supports”:”perl:5.20,perl”,
“version”: “5.20”,
“sampleRepo”: “https://github.com/openshift/dancer-ex.git”
},
“from”: {
“kind”: “DockerImage”,
“name”: “workstation.lab.example.com:5000/rhscl/perl-520-rhel7:latest”
}

}
]
}
},
{
“kind”: “ImageStream”,
“apiVersion”: “v1”,
“metadata”: {
“name”: “php”,
“annotations”: {
“openshift.io/display-name”: “PHP”
}
},
“spec”: {
“tags”: [
{
“name”: “latest”,
“annotations”: {
“openshift.io/display-name”: “PHP (Latest)”,
“description”: “Build and run PHP applications on RHEL 7. For more information about using this builder image, including OpenSh
ift considerations, see https://github.com/sclorg/s2i-php-container/blob/master/5.6/README.md.\n\nWARNING: By selecting this tag, your applic
ation will automatically update to use the latest version of PHP available on OpenShift, including major versions updates.”,
“iconClass”: “icon-php”,
“tags”: “builder,php”,
“supports”:”php”,
“sampleRepo”: “https://github.com/openshift/cakephp-ex.git”
},
“from”: {
“kind”: “ImageStreamTag”,
“name”: “5.6”
}
},
{
“name”: “5.5”,
“annotations”: {
“openshift.io/display-name”: “PHP 5.5”,
“description”: “Build and run PHP 5.5 applications on RHEL 7. For more information about using this builder image, including Op
enShift considerations, see https://github.com/sclorg/s2i-php-container/blob/master/5.5/README.md.”,
“iconClass”: “icon-php”,
“tags”: “builder,php”,
“supports”:”php:5.5,php”,
“version”: “5.5”,
“sampleRepo”: “https://github.com/openshift/cakephp-ex.git”
},
“from”: {
“kind”: “DockerImage”,
“name”: “workstation.lab.example.com:5000/openshift3/php-55-rhel7:latest”
}
},
{
“name”: “5.6”,
“annotations”: {
“openshift.io/display-name”: “PHP 5.6”,
“description”: “Build and run PHP 5.6 applications on RHEL 7. For more information about using this builder image, including Op
enShift considerations, see https://github.com/sclorg/s2i-php-container/blob/master/5.6/README.md.”,
“iconClass”: “icon-php”,
“tags”: “builder,php”,
“supports”:”php:5.6,php”,
“version”: “5.6”,
“sampleRepo”: “https://github.com/openshift/cakephp-ex.git”
},
“from”: {
“kind”: “DockerImage”,
“name”: “workstation.lab.example.com:5000/rhscl/php-56-rhel7:latest”
}
}
]
}
},
{
“kind”: “ImageStream”,
“apiVersion”: “v1”,
“metadata”: {
“name”: “python”,
“annotations”: {
“openshift.io/display-name”: “Python”
}
},
“spec”: {
“tags”: [
{
“name”: “latest”,
“annotations”: {
“openshift.io/display-name”: “Python (Latest)”,
“description”: “Build and run Python applications on RHEL 7. For more information about using this builder image, including Ope
nShift considerations, see https://github.com/sclorg/s2i-python-container/blob/master/3.5/README.md.\n\nWARNING: By selecting this tag, your
application will automatically update to use the latest version of Python available on OpenShift, including major versions updates.”,
“iconClass”: “icon-python”,
“tags”: “builder,python”,
“supports”:”python”,
“sampleRepo”: “https://github.com/openshift/django-ex.git”
},
“from”: {
“kind”: “ImageStreamTag”,
“name”: “3.5”
}
},
{
“name”: “3.3”,
“annotations”: {
“openshift.io/display-name”: “Python 3.3”,
“description”: “Build and run Python 3.3 applications on RHEL 7. For more information about using this builder image, including
OpenShift considerations, see https://github.com/sclorg/s2i-python-container/blob/master/3.3/README.md.”,
“iconClass”: “icon-python”,
“tags”: “builder,python”,
“supports”:”python:3.3,python”,
“version”: “3.3”,
“sampleRepo”: “https://github.com/openshift/django-ex.git”
},
“from”: {
“kind”: “DockerImage”,
“name”: “workstation.lab.example.com:5000/openshift3/python-33-rhel7:latest”
}
},
{
“name”: “2.7”,
“annotations”: {
“openshift.io/display-name”: “Python 2.7”,
“description”: “Build and run Python 2.7 applications on RHEL 7. For more information about using this builder image, including
OpenShift considerations, see https://github.com/sclorg/s2i-python-container/blob/master/2.7/README.md.”,
“iconClass”: “icon-python”,
“tags”: “builder,python”,
“supports”:”python:2.7,python”,
“version”: “2.7”,
“sampleRepo”: “https://github.com/openshift/django-ex.git”
},
“from”: {
“kind”: “DockerImage”,
“name”: “workstation.lab.example.com:5000/rhscl/python-27-rhel7:latest”
}
},
{
“name”: “3.4”,
“annotations”: {
“openshift.io/display-name”: “Python 3.4”,
“description”: “Build and run Python 3.4 applications on RHEL 7. For more information about using this builder image, including
OpenShift considerations, see https://github.com/sclorg/s2i-python-container/blob/master/3.4/README.md.”,
“iconClass”: “icon-python”,
“tags”: “builder,python”,
“supports”:”python:3.4,python”,
“version”: “3.4”,
“sampleRepo”: “https://github.com/openshift/django-ex.git”
},
“from”: {
“kind”: “DockerImage”,
“name”: “workstation.lab.example.com:5000/rhscl/python-34-rhel7:latest”
}
},
{
“name”: “3.5”,
“annotations”: {
“openshift.io/display-name”: “Python 3.5”,
“description”: “Build and run Python 3.5 applications on RHEL 7. For more information about using this builder image, including
OpenShift considerations, see https://github.com/sclorg/s2i-python-container/blob/master/3.5/README.md.”,
“iconClass”: “icon-python”,
“tags”: “builder,python”,
“supports”:”python:3.5,python”,
“version”: “3.5”,
“sampleRepo”: “https://github.com/openshift/django-ex.git”
},
“from”: {
“kind”: “DockerImage”,
“name”: “workstation.lab.example.com:5000/rhscl/python-35-rhel7:latest”
}
}
]
}
},
{
“kind”: “ImageStream”,
“apiVersion”: “v1”,
“metadata”: {
“name”: “mysql”,
“annotations”: {
“openshift.io/display-name”: “MySQL”
}
},
“spec”: {
“tags”: [
{
“name”: “latest”,
“annotations”: {
“openshift.io/display-name”: “MySQL (Latest)”,
“description”: “Provides a MySQL 5.5 database on RHEL 7. For more information about using this database image, including OpenSh
ift considerations, see https://github.com/sclorg/mysql-container/tree/master/5.5/README.md.”,
“iconClass”: “icon-mysql-database”,
“tags”: “mysql”
},
“from”: {
“kind”: “ImageStreamTag”,
“name”: “5.5”
}
},
{
“name”: “5.5”,
“annotations”: {
“openshift.io/display-name”: “MySQL 5.5”,
“description”: “Provides a MySQL 5.5 database on RHEL 7. For more information about using this database image, including OpenSh
ift considerations, see https://github.com/sclorg/mysql-container/tree/master/5.5/README.md.”,
“iconClass”: “icon-mysql-database”,
“tags”: “mysql”,
“version”: “5.5”
},
“from”: {
“kind”: “DockerImage”,
“name”: “workstation.lab.example.com:5000/openshift3/mysql-55-rhel7:latest”
}
}
]
}
},
{
“kind”: “ImageStream”,
“apiVersion”: “v1”,
“metadata”: {
“name”: “mariadb”,
“annotations”: {
“openshift.io/display-name”: “MariaDB”
}
},
“spec”: {
“tags”: [
{
“name”: “latest”,
“annotations”: {
“openshift.io/display-name”: “MariaDB (Latest)”,
“description”: “Provides a MariaDB database on RHEL 7. For more information about using this database image, including OpenShif
t considerations, see https://github.com/sclorg/mariadb-container/tree/master/10.1/README.md.\n\nWARNING: By selecting this tag, your applica
tion will automatically update to use the latest version of MariaDB available on OpenShift, including major versions updates.”,
“iconClass”: “icon-mariadb”,
“tags”: “mariadb”
},
“from”: {
“kind”: “ImageStreamTag”,
“name”: “10.1”
}
},
{
“name”: “10.1”,
“annotations”: {
“openshift.io/display-name”: “MariaDB 10.1”,
“description”: “Provides a MariaDB 10.1 database on RHEL 7. For more information about using this database image, including Ope
nShift considerations, see https://github.com/sclorg/mariadb-container/tree/master/10.1/README.md.”,
“iconClass”: “icon-mariadb”,
“tags”: “mariadb”,
“version”: “10.1”
},
“from”: {
“kind”: “DockerImage”,
“name”: “workstation.lab.example.com:5000/rhscl/mariadb-101-rhel7:latest”
}
}
]
}
},
{
“kind”: “ImageStream”,
“apiVersion”: “v1”,
“metadata”: {
“name”: “postgresql”,
“annotations”: {
“openshift.io/display-name”: “PostgreSQL”
}
},
“spec”: {
“tags”: [
{
“name”: “latest”,
“annotations”: {
“openshift.io/display-name”: “PostgreSQL (Latest)”,
“description”: “Provides a PostgreSQL database on RHEL 7. For more information about using this database image, including OpenS
hift considerations, see https://github.com/sclorg/postgresql-container/tree/master/9.5.\n\nWARNING: By selecting this tag, your application
will automatically update to use the latest version of PostgreSQL available on OpenShift, including major versions updates.”,
“iconClass”: “icon-postgresql”,
“tags”: “postgresql”
},
“from”: {
“kind”: “ImageStreamTag”,
“name”: “9.5”
}
},
{
“name”: “9.2”,
“annotations”: {
“openshift.io/display-name”: “PostgreSQL 9.2”,
“description”: “Provides a PostgreSQL 9.2 database on RHEL 7. For more information about using this database image, including O
penShift considerations, see https://github.com/sclorg/postgresql-container/tree/master/9.2.”,
“iconClass”: “icon-postgresql”,
“tags”: “postgresql”,
“version”: “9.2”
},
“from”: {
“kind”: “DockerImage”,
“name”: “workstation.lab.example.com:5000/openshift3/postgresql-92-rhel7:latest”
}
},
{
“name”: “9.4”,
“annotations”: {
“openshift.io/display-name”: “PostgreSQL 9.4”,
“description”: “Provides a PostgreSQL 9.4 database on RHEL 7. For more information about using this database image, including O
penShift considerations, see https://github.com/sclorg/postgresql-container/tree/master/9.4.”,
“iconClass”: “icon-postgresql”,
“tags”: “postgresql”,
“version”: “9.4”
},
“from”: {
“kind”: “DockerImage”,
“name”: “workstation.lab.example.com:5000/rhscl/postgresql-94-rhel7:latest”
}
},
{
“name”: “9.5”,
“annotations”: {
“openshift.io/display-name”: “PostgreSQL 9.5”,
“description”: “Provides a PostgreSQL 9.5 database on RHEL 7. For more information about using this database image, including O
penShift considerations, see https://github.com/sclorg/postgresql-container/tree/master/9.5.”,
“iconClass”: “icon-postgresql”,
“tags”: “postgresql”,
“version”: “9.5”
},
“from”: {
“kind”: “DockerImage”,
“name”: “workstation.lab.example.com:5000/rhscl/postgresql-95-rhel7:latest”
}
}
]
}
},
{
“kind”: “ImageStream”,
“apiVersion”: “v1”,
“metadata”: {
“name”: “mongodb”,
“annotations”: {
“openshift.io/display-name”: “MongoDB”
}
},
“spec”: {
“tags”: [
{
“name”: “latest”,
“annotations”: {
“openshift.io/display-name”: “MongoDB (Latest)”,
“description”: “Provides a MongoDB database on RHEL 7. For more information about using this database image, including OpenShif
t considerations, see https://github.com/sclorg/mongodb-container/tree/master/3.2/README.md.\n\nWARNING: By selecting this tag, your applicat
ion will automatically update to use the latest version of MongoDB available on OpenShift, including major versions updates.”,
“iconClass”: “icon-mongodb”,
“tags”: “mongodb”
},
“from”: {
“kind”: “ImageStreamTag”,
“name”: “3.2”
}
},
{
“name”: “2.4”,
“annotations”: {
“openshift.io/display-name”: “MongoDB 2.4”,
“description”: “Provides a MongoDB 2.4 database on RHEL 7. For more information about using this database image, including Open
Shift considerations, see https://github.com/sclorg/mongodb-container/tree/master/2.4/README.md.”,
“iconClass”: “icon-mongodb”,
“tags”: “mongodb”,
“version”: “2.4”
},
“from”: {
“kind”: “DockerImage”,
“name”: “workstation.lab.example.com:5000/openshift3/mongodb-24-rhel7:latest”
}
},
{
“name”: “2.6”,
“annotations”: {
“openshift.io/display-name”: “MongoDB 2.6”,
“description”: “Provides a MongoDB 2.6 database on RHEL 7. For more information about using this database image, including Open
Shift considerations, see https://github.com/sclorg/mongodb-container/tree/master/2.6/README.md.”,
“iconClass”: “icon-mongodb”,
“tags”: “mongodb”,
“version”: “2.6”
},
“from”: {
“kind”: “DockerImage”,
“name”: “workstation.lab.example.com:5000/rhscl/mongodb-26-rhel7:latest”
}
},
{
“name”: “3.2”,
“annotations”: {
“openshift.io/display-name”: “MongoDB 3.2”,
“description”: “Provides a MongoDB 3.2 database on RHEL 7. For more information about using this database image, including Open
Shift considerations, see https://github.com/sclorg/mongodb-container/tree/master/3.2/README.md.”,
“iconClass”: “icon-mongodb”,
“tags”: “mongodb”,
“version”: “3.2”
},
“from”: {
“kind”: “DockerImage”,
“name”: “workstation.lab.example.com:5000/rhscl/mongodb-32-rhel7:latest”
}
}
]
}
},
{
“kind”: “ImageStream”,
“apiVersion”: “v1”,
“metadata”: {
“name”: “jenkins”,
“annotations”: {
“openshift.io/display-name”: “Jenkins”
}
},
“spec”: {
“tags”: [
{
“name”: “latest”,
“annotations”: {
“openshift.io/display-name”: “Jenkins (Latest)”,
“description”: “Provides a Jenkins server on RHEL 7. For more information about using this container image, including OpenShift
considerations, see https://github.com/openshift/jenkins/blob/master/README.md.\n\nWARNING: By selecting this tag, your application will aut
omatically update to use the latest version of Jenkins available on OpenShift, including major versions updates.”,
“iconClass”: “icon-jenkins”,
“tags”: “jenkins”
},
“from”: {
“kind”: “ImageStreamTag”,
“name”: “2”
}
},
{
“name”: “1”,
“annotations”: {
“openshift.io/display-name”: “Jenkins 1.X”,
“description”: “Provides a Jenkins 1.X server on RHEL 7. For more information about using this container image, including OpenS
hift considerations, see https://github.com/openshift/jenkins/blob/master/README.md.”,
“iconClass”: “icon-jenkins”,
“tags”: “jenkins”,
“version”: “1.x”
},
“from”: {
“kind”: “DockerImage”,
“name”: “workstation.lab.example.com:5000/openshift3/jenkins-1-rhel7:latest”
}
},
{
“name”: “2”,
“annotations”: {
“openshift.io/display-name”: “Jenkins 2.X”,
“description”: “Provides a Jenkins 2.X server on RHEL 7. For more information about using this container image, including OpenS
hift considerations, see https://github.com/openshift/jenkins/blob/master/README.md.”,
“iconClass”: “icon-jenkins”,
“tags”: “jenkins”,
“version”: “2.x”
},
“from”: {
“kind”: “DockerImage”,
“name”: “workstation.lab.example.com:5000/openshift3/jenkins-2-rhel7:latest”
}
}
]
}
}
]
}
[root@master ~]#