]
Marián Labuda commented on JBIDE-22193:
---------------------------------------
I am not sure if we cant consider this one as "done". It is true, one can deploy
docker image from docker connection of CDK to OpenShift, but on the other hand, any docker
connection outside of CDK won't work. This is not only related to CDK but also to
remote OSE instances, where docker registries are self-signed - it won't work there
either and I don't think it is ok, because if I would be a developer trying to deploy
local existing docker image, I would not definitely build it on remote docker where I
would have no access to the image except the access via deployed image to that same
OpenShift instance. Please correct fix version to partially done and create follow up JIRA
for outstanding issue of insecure registries.
Can't deploy locally built docker images
----------------------------------------
Key: JBIDE-22193
URL:
https://issues.jboss.org/browse/JBIDE-22193
Project: Tools (JBoss Tools)
Issue Type: Bug
Components: docker, openshift, upstream
Affects Versions: 4.3.1.Final
Reporter: Fred Bricon
Assignee: Xavier Coulon
Priority: Critical
Fix For: 4.4.0.Final
I can't deploy locally built docker images, pushed to the CDK docker registry, to
OpenShift
Trying to adapt the steps from
https://github.com/redhat-developer-tooling/openshift-vagrant#how-to-run-...
to Eclipse, I can't seem to be able to deploy anything
Here's what the CLI generates from
{quote}
eval "$(vagrant service-manager env docker)"
$ oc login 10.1.2.2:8443 -u openshift-dev -p devel
Login successful.
$ oc new-project my-ghost
Now using project "my-ghost" on server "https://10.1.2.2:8443".
$ docker pull ghost
$ docker tag ghost hub.openshift.rhel-cdk.10.1.2.2.xip.io/my-ghost/ghost
$ docker login -u openshift-dev -p `oc whoami -t` -e foo(a)bar.com
hub.openshift.rhel-cdk.10.1.2.2.xip.io
$ docker push hub.openshift.rhel-cdk.10.1.2.2.xip.io/my-ghost/ghost
$ oc new-app --image-stream=ghost --name=ghost
$ oc expose service ghost --hostname=my-ghost-blog.rhel-cdk.10.1.2.2.xip.io
{quote}
Deployment Config
{noformat}
{
"kind" : "DeploymentConfig",
"apiVersion" : "v1",
"metadata" : {
"name" : "ghost",
"namespace" : "my-ghost",
"selfLink" :
"/oapi/v1/namespaces/my-ghost/deploymentconfigs/ghost",
"uid" : "a7dafee5-03c8-11e6-82b7-525400ac6ae1",
"resourceVersion" : "29849",
"creationTimestamp" : "2016-04-16T11:45:02Z",
"labels" : {"app" : "ghost"},
"annotations" : {"openshift.io/generated-by" :
"OpenShiftNewApp"}
},
"spec" : {
"strategy" : {
"type" : "Rolling",
"rollingParams" : {
"updatePeriodSeconds" : 1,
"intervalSeconds" : 1,
"timeoutSeconds" : 600,
"maxUnavailable" : "25%",
"maxSurge" : "25%"
}
},
"triggers" : [
{"type" : "ConfigChange"},
{
"type" : "ImageChange",
"imageChangeParams" : {
"automatic" : true,
"containerNames" : ["ghost"],
"from" : {
"kind" : "ImageStreamTag",
"namespace" : "my-ghost",
"name" : "ghost:latest"
},
"lastTriggeredImage" :
"172.30.178.20:5000/my-ghost/ghost@sha256:80590e45ef133a256906c454c8a20ae5e9b89773f6b452871ecf622001c836e8"
}
}
],
"replicas" : 1,
"selector" : {
"app" : "ghost",
"deploymentconfig" : "ghost"
},
"template" : {
"metadata" : {
"labels" : {
"app" : "ghost",
"deploymentconfig" : "ghost"
},
"annotations" : {
"openshift.io/container.ghost.image.entrypoint" :
"[\"/entrypoint.sh\",\"npm\",\"start\"]",
"openshift.io/generated-by" : "OpenShiftNewApp"
}
},
"spec" : {
"volumes" : [{"name" : "ghost-volume-1"}],
"containers" : [{
"name" : "ghost",
"image" :
"172.30.178.20:5000/my-ghost/ghost@sha256:80590e45ef133a256906c454c8a20ae5e9b89773f6b452871ecf622001c836e8",
"ports" : [{
"containerPort" : 2368,
"protocol" : "TCP"
}],
"volumeMounts" : [{
"name" : "ghost-volume-1",
"mountPath" : "/var/lib/ghost"
}],
"terminationMessagePath" :
"/dev/termination-log",
"imagePullPolicy" : "Always"
}],
"restartPolicy" : "Always",
"terminationGracePeriodSeconds" : 30,
"dnsPolicy" : "ClusterFirst"
}
}
},
"status" : {
"latestVersion" : 1,
"details" : {"causes" : [{"type" :
"ConfigChange"}]}
}
}
{noformat}
Image Stream
{noformat}
{
"kind" : "ImageStream",
"apiVersion" : "v1",
"metadata" : {
"name" : "ghost",
"namespace" : "my-ghost",
"selfLink" :
"/oapi/v1/namespaces/my-ghost/imagestreams/ghost",
"uid" : "98a32494-03c8-11e6-82b7-525400ac6ae1",
"resourceVersion" : "29842",
"creationTimestamp" : "2016-04-16T11:44:37Z",
"annotations" : {"openshift.io/image.dockerRepositoryCheck" :
"2016-04-16T11:44:37Z"}
},
"status" : {
"dockerImageRepository" :
"172.30.178.20:5000/my-ghost/ghost",
"tags" : [{
"tag" : "latest",
"items" : [{
"created" : "2016-04-16T11:44:37Z",
"dockerImageReference" :
"172.30.178.20:5000/my-ghost/ghost@sha256:80590e45ef133a256906c454c8a20ae5e9b89773f6b452871ecf622001c836e8",
"image" :
"sha256:80590e45ef133a256906c454c8a20ae5e9b89773f6b452871ecf622001c836e8"
}]
}]
}
}
{noformat}
When following these steps in Eclipse, no deployment occurs. Going to the web console et
clicking deploy on the Deployment, no image is found to deploy.
{quote}
- Clone
https://github.com/burrsutter/cdk_helloworlds/
- import java/wildflyswarm_helloworld as a Maven Project
- Run a Maven build (Run As > Maven > package)
- Edit Dockerfile: replace `FROM rhel7` with `FROM centos`
- right click on Dockerfile > Run As > Docker Image build
- Select `CDK Server Adapter at localhost` connection
- Repository Name : hub.openshift.rhel-cdk.10.1.2.2.xip.io/fredo/swarm
- from OpenShift explorer, create a fredo project
- In OpenShift explorer, right-click the fredo project and Deploy Docker Image...
- select hub.openshift.rhel-cdk.10.1.2.2.xip.io/fredo/swarm:latest for the image
- swarm as resource name
- click next
- Deployment configuration & scalability page displays, click next
- click add route button, click finish
- resources are created, but no deployment happens
{quote}
Here are the resources created from Eclipse:
Deployment Config
{noformat}
{
"metadata" : {
"name" : "swarm",
"namespace" : "fredo",
"selfLink" :
"/oapi/v1/namespaces/fredo/deploymentconfigs/swarm",
"uid" : "2e9d1df4-03cc-11e6-82b7-525400ac6ae1",
"resourceVersion" : "30206",
"creationTimestamp" : "2016-04-16T12:10:17Z",
"labels" : {"deploymentconfig" : "swarm"},
"annotations" : {"openshift.io/generated-by" :
"jbosstools-openshift"}
},
"spec" : {
"strategy" : {
"type" : "Rolling",
"rollingParams" : {
"updatePeriodSeconds" : 1,
"intervalSeconds" : 1,
"timeoutSeconds" : 600,
"maxUnavailable" : "25%",
"maxSurge" : "25%"
}
},
"triggers" : [
{"type" : "ConfigChange"},
{
"type" : "ImageChange",
"imageChangeParams" : {
"automatic" : true,
"containerNames" : ["swarm"],
"from" : {
"kind" : "ImageStreamTag",
"name" : "swarm:latest"
}
}
}
],
"replicas" : 1,
"selector" : {"deploymentconfig" : "swarm"},
"template" : {
"metadata" : {"labels" : {"deploymentconfig" :
"swarm"}},
"spec" : {
"containers" : [{
"name" : "swarm",
"image" : "fredo/swarm:latest",
"ports" : [{
"name" : "8080-tcp",
"containerPort" : 8080,
"protocol" : "TCP"
}],
"terminationMessagePath" :
"/dev/termination-log",
"imagePullPolicy" : "Always"
}],
"restartPolicy" : "Always",
"terminationGracePeriodSeconds" : 30,
"dnsPolicy" : "ClusterFirst"
}
}
},
"apiVersion" : "v1",
"kind" : "DeploymentConfig"
}
{noformat}
Image Stream
{noformat}
{
"metadata" : {
"name" : "swarm",
"namespace" : "fredo",
"selfLink" : "/oapi/v1/namespaces/fredo/imagestreams/swarm",
"uid" : "2e42dfc8-03cc-11e6-82b7-525400ac6ae1",
"resourceVersion" : "30202",
"creationTimestamp" : "2016-04-16T12:10:16Z",
"annotations" : {"openshift.io/generated-by" :
"jbosstools-openshift"}
},
"spec" : {"dockerImageRepository" :
"hub.openshift.rhel-cdk.10.1.2.2.xip.io/fredo/swarm"},
"status" : {"dockerImageRepository" :
"172.30.178.20:5000/fredo/swarm"},
"apiVersion" : "v1",
"kind" : "ImageStream"
}
{noformat}