Question about imagestreams in troubleshooting
gbraad opened this issue · 7 comments
Before being able to deploy the application, several imagestreams need to be available. For instance on minishift
this is needed before being able to build. In the troubleshooting I see:
$ oc login -u system:admin
$ oc create -n openshift -f 'https://raw.githubusercontent.com/jboss-openshift/application-templates/master/jboss-image-streams.json'
$ oc create -n openshift -f 'https://raw.githubusercontent.com/openshift/openshift-ansible/master/roles/openshift_examples/files/examples/v1.3/image-streams/image-streams-rhel7.json'
But this seems to be wrong. The last templates defines a lot of same imagestreams as the first file, and it also misses:
- fis-java-openshift
I had to use:
$ oc login -u system:admin
$ oc create -n openshift -f 'https://raw.githubusercontent.com/jboss-openshift/application-templates/master/jboss-image-streams.json'
$ oc create -n openshift -f 'https://raw.githubusercontent.com/jboss-fuse/application-templates/master/fis-image-streams.json'
Note: I think we need a blessed location for the imagestream templates. WDYT?
Hi,
AFAIK these are the blessed location for templates and there are no overlap between the the two (not sure why you think they define the same imagestreams).
I'm however not sure why we are not defining a imagestream for fis-java-openshift and how this has slip through all our tests.
@siamaksade can you have a look if we should add the fis-image-streams.json to the README.md
/ Thomas
@tqvarnst on a clean deployment of Minishift, I run:
oc create -n openshift -f 'https://raw.githubusercontent.com/jboss-openshift/application-templates/master/jboss-image-streams.json'
oc create -n openshift -f 'https://raw.githubusercontent.com/openshift/openshift-ansible/master/roles/openshift_examples/files/examples/v1.3/image-streams/image-streams-rhel7.json'
imagestream "jboss-webserver30-tomcat7-openshift" created
imagestream "jboss-webserver30-tomcat8-openshift" created
imagestream "jboss-eap64-openshift" created
imagestream "jboss-eap70-openshift" created
imagestream "jboss-decisionserver62-openshift" created
imagestream "jboss-decisionserver63-openshift" created
imagestream "jboss-processserver63-openshift" created
imagestream "jboss-datagrid65-openshift" created
imagestream "jboss-datagrid65-client-openshift" created
imagestream "jboss-datavirt63-openshift" created
imagestream "jboss-datavirt63-driver-openshift" created
imagestream "jboss-amq-62" created
imagestream "redhat-sso70-openshift" created
imagestream "redhat-sso71-openshift" created
imagestream "redhat-openjdk18-openshift" created
Error from server (AlreadyExists): imagestreams "ruby" already exists
Error from server (AlreadyExists): imagestreams "nodejs" already exists
Error from server (AlreadyExists): imagestreams "perl" already exists
Error from server (AlreadyExists): imagestreams "php" already exists
Error from server (AlreadyExists): imagestreams "python" already exists
Error from server (AlreadyExists): imagestreams "mysql" already exists
Error from server (AlreadyExists): imagestreams "mariadb" already exists
Error from server (AlreadyExists): imagestreams "postgresql" already exists
Error from server (AlreadyExists): imagestreams "mongodb" already exists
Error from server (AlreadyExists): imagestreams "redis" already exists
Error from server (AlreadyExists): imagestreams "jenkins" already exists
This is what I meant with overlap. But as you see, this does not include fuse. In Minishift we have to get them as follows: https://github.com/minishift/minishift/tree/master/addons/fuse-templates
- https://github.com/minishift/minishift/blob/master/addons/fuse-templates/fis-image-streams.json
- https://raw.githubusercontent.com/jboss-fuse/application-templates/master/fis-image-streams.json
We do not consider them as official in the jboss-openshift templates... or should we?
This is because minishift and OCP already has these images. Streams. That's why the README says to first delete them.
oc login -u system:admin
oc delete -n openshift -f 'https://raw.githubusercontent.com/jboss-openshift/application-templates/master/jboss-image-streams.json'
oc delete -n openshift -f 'https://raw.githubusercontent.com/openshift/openshift-ansible/master/roles/openshift_examples/files/examples/v1.3/image-streams/image-streams-rhel7.json'
oc create -n openshift -f 'https://raw.githubusercontent.com/jboss-openshift/application-templates/master/jboss-image-streams.json'
oc create -n openshift -f 'https://raw.githubusercontent.com/openshift/openshift-ansible/master/roles/openshift_examples/files/examples/v1.3/image-streams/image-streams-rhel7.json'
Still, the FIS one is missing. I had that problem as well and had to create the ImageStreams from that file "https://raw.githubusercontent.com/jboss-fuse/application-templates/master/fis-image-streams.json" as well.
I think this was both on OpenShift Origin 1.5 and OCP 3.5.
We need to document this somewhere (and probably not in the Troubleshooting section of the README, because it seems to be a mandatory step in the setup process).
I've added the FIS imagestream to the troubleshooting section for now.
ImageStreams in OpenShift are typically provided by an administrator of the environment and when you are rolling your own environment like with CDK, minishift etc then you are required to install these. However if you are using OCP then you might not even have sufficient rights to install these.
My suggestions is that we add a bullet in the pre-requisite with a link to a page that explains how to install the imagestream definitions. Additionally we could extend the provision-script to check if they are available.
@DuncanDoyle If you agree then we can close this and open a new issue to improve the installation process (which should also remove the instructions to use the template).
+1 for adding the imagestreams to the pre-reqs docs as well as looking into adding them during the provisioning
OK
We currently run this automated in CentOS CI using Minishift: https://ci.centos.org/job/minishift-pr/1167/ (part of the issue: minishift/minishift#986)
we will likely move away from using the imagestreams as currently documented.