[JBoss JIRA] (JBIDE-24897) add fabric8 analytics feature to jbosstools and devstudio (optional feature, new Central connector)
by Vojtech Prusa (JIRA)
[ https://issues.jboss.org/browse/JBIDE-24897?page=com.atlassian.jira.plugi... ]
Vojtech Prusa commented on JBIDE-24897:
---------------------------------------
[~maxandersen] No sorry, jenkins.fabric8analytics+osiotest(a)redhat.com is account name, used email for this account is fabric8analytics.osiotest(a)yahoo.com , I will cc you in email conversation about this.
> add fabric8 analytics feature to jbosstools and devstudio (optional feature, new Central connector)
> ---------------------------------------------------------------------------------------------------
>
> Key: JBIDE-24897
> URL: https://issues.jboss.org/browse/JBIDE-24897
> Project: Tools (JBoss Tools)
> Issue Type: Bug
> Components: fabric8
> Affects Versions: 4.5.2.AM2
> Reporter: Nick Boldt
> Assignee: Nick Boldt
> Fix For: 4.5.3.AM1
>
> Attachments: fabric8-connector.png, stack analysis.mp4, stack report 20180119.png
>
>
> Once authentication (to access Fabric8 Analytics API) is fixed we can add this to JBoss Tools and devstudio. cc: [~gbatra]
> Assuming we also want to create a Central connector to advertise this optional feature.
> In future we could also consider adding a Marketplace connector (separate from JBT/devstudio), if that's desired. cc: [~maxandersen] [~adisakala]
> Sources: https://github.com/fabric8-analytics/fabric8-analytics-devstudio-plugin
> Affected:
> * https://github.com/jbdevstudio/jbdevstudio-product (category.xml, feature.xml)
> * https://github.com/jbosstools/jbosstools-build-sites (category.xml)
> * https://github.com/jbosstools/jbosstools-discovery (plugin.xml x 2, plus new icon if applicable?)
--
This message was sent by Atlassian JIRA
(v7.5.0#75005)
6 years, 5 months
[JBoss JIRA] (JBIDE-25611) Server adapter: timeouts when starting into "Debug" on OpenShift Online
by Andre Dietisheim (JIRA)
[ https://issues.jboss.org/browse/JBIDE-25611?page=com.atlassian.jira.plugi... ]
Andre Dietisheim edited comment on JBIDE-25611 at 1/26/18 6:17 AM:
-------------------------------------------------------------------
I get even more confused than I was before. What above failed all day long now seems to magically work. I can deploy and debug an app that I created via a nodejs:builder image.
The case where I create an app via template "nodejs-mongo-persitent" now fails with a different error:
!image-2018-01-26-00-49-39-691.png!
It now doesn't get the docker image labels that indicate where to deploy to within the pod. The issue is caused by unexpectedly shaped resources:
The tooling tries to retrieve the deployment config where it would find the deployment change triggers which holds the docker image uri. There are 2 strategies to get the dc from the service, both fail.
* [Strategy 1)|https://github.com/jbosstools/jbosstools-openshift/blob/master/plugins...] get dc name from selector "deploymentconfig" in service. Fails because there's no such selector
{code}
"selector" : {"name" : "nodejs-mongo-persistent"},
{code}
* [Strategy 2)|https://github.com/jbosstools/jbosstools-openshift/blob/master/plugins...] get dc by hopping svc -> rc -> pod -> dc. This fails because the rc is found but the pods matching the rc are not. The reason for this is that pod#labels [dont match|https://github.com/jbosstools/jbosstools-openshift/blob/master/plug...] the rc#replicaSelectors
** rc#replicaSelector
{code}
{deploymentconfig=nodejs-mongo-persistent, name=nodejs-mongo-persistent,
deployment=nodejs-mongo-persistent-1}
{code}
** pod#labels
{code}
{deploymentconfig=nodejs, deployment=nodejs-3}
{code}
** the rc:
{code}
{
"metadata" : {
"name" : "nodejs-3-vgqdt",
"generateName" : "nodejs-3-",
"namespace" : "adietish-stage",
"selfLink" : "/api/v1/namespaces/adietish-stage/pods/nodejs-3-vgqdt",
"uid" : "38778443-0229-11e8-b468-02d7377a4b17",
"resourceVersion" : "840363887",
"creationTimestamp" : "2018-01-25T23:41:09Z",
"labels" : {
"deployment" : "nodejs-3",
"deploymentconfig" : "nodejs"
},
"annotations" : {
"kubernetes.io/created-by" : "{\"kind\":\"SerializedReference\",\"apiVersion\":\"v1\",\"reference\":{\"kind\":\"ReplicationController\",\"namespace\":\"adietish-stage\",\"name\":\"nodejs-3\",\"uid\":\"c80559ee-0228-11e8-b468-02d7377a4b17\",\"apiVersion\":\"v1\",\"resourceVersion\":\"838522089\"}}\n",
"kubernetes.io/limit-ranger" : "LimitRanger plugin set: cpu, memory request for container nodejs; cpu, memory limit for container nodejs",
"openshift.io/deployment-config.latest-version" : "3",
"openshift.io/deployment-config.name" : "nodejs",
"openshift.io/deployment.name" : "nodejs-3",
"openshift.io/scc" : "restricted"
}
},
"spec" : {
"volumes" : [{
"name" : "default-token-k92bn",
"secret" : {
"secretName" : "default-token-k92bn",
"defaultMode" : 420
}
}],
"containers" : [{
"name" : "nodejs",
"image" : "172.30.98.11:5000/adietish-stage/nodejs@sha256:246763270f6d67ff3c31fab2e65be181822ff7f0811c376c73857622bbedafe8",
"ports" : [
{
"name" : "8080-tcp",
"containerPort" : 8080,
"protocol" : "TCP"
},
{
"name" : "debug",
"containerPort" : 5858,
"protocol" : "TCP"
}
],
"env" : [
{
"name" : "DEBUG_PORT",
"value" : "5858"
},
{
"name" : "DEV_MODE",
"value" : "true"
}
],
"resources" : {
"limits" : {
"cpu" : "1",
"memory" : "512Mi"
},
"requests" : {
"cpu" : "60m",
"memory" : "307Mi"
}
},
"volumeMounts" : [{
"name" : "default-token-k92bn",
"readOnly" : true,
"mountPath" : "/var/run/secrets/kubernetes.io/serviceaccount"
}],
"terminationMessagePath" : "/dev/termination-log",
"terminationMessagePolicy" : "File",
"imagePullPolicy" : "Always",
"securityContext" : {
"capabilities" : {"drop" : [
"KILL",
"MKNOD",
"NET_RAW",
"SETGID",
"SETUID"
]},
"privileged" : false,
"seLinuxOptions" : {"level" : "s0:c147,c129"},
"runAsUser" : 1021720000
}
}],
"restartPolicy" : "Always",
"terminationGracePeriodSeconds" : 30,
"dnsPolicy" : "ClusterFirst",
"nodeSelector" : {"type" : "compute"},
"serviceAccountName" : "default",
"serviceAccount" : "default",
"nodeName" : "ip-172-31-69-160.us-east-2.compute.internal",
"securityContext" : {
"seLinuxOptions" : {"level" : "s0:c147,c129"},
"fsGroup" : 1021720000
},
"imagePullSecrets" : [{"name" : "default-dockercfg-nstt4"}],
"schedulerName" : "default-scheduler"
},
"status" : {
"phase" : "Pending",
"conditions" : [
{
"type" : "Initialized",
"status" : "True",
"lastTransitionTime" : "2018-01-25T23:41:09Z"
},
{
"type" : "Ready",
"status" : "False",
"lastTransitionTime" : "2018-01-25T23:41:09Z",
"reason" : "ContainersNotReady",
"message" : "containers with unready status: [nodejs]"
},
{
"type" : "PodScheduled",
"status" : "True",
"lastTransitionTime" : "2018-01-25T23:41:09Z"
}
],
"hostIP" : "172.31.69.160",
"podIP" : "10.128.100.151",
"startTime" : "2018-01-25T23:41:09Z",
"containerStatuses" : [{
"name" : "nodejs",
"state" : {"waiting" : {
"reason" : "ImagePullBackOff",
"message" : "Back-off pulling image \"172.30.98.11:5000/adietish-stage/nodejs@sha256:246763270f6d67ff3c31fab2e65be181822ff7f0811c376c73857622bbedafe8\""
}},
"lastState" : {},
"ready" : false,
"restartCount" : 0,
"image" : "172.30.98.11:5000/adietish-stage/nodejs@sha256:246763270f6d67ff3c31fab2e65be181822ff7f0811c376c73857622bbedafe8",
"imageID" : ""
}],
"qosClass" : "Burstable"
},
"kind" : "Pod",
"apiVersion" : "v1"
}
{code}
** the pod:
{code}
{
"metadata" : {
"name" : "nodejs-mongo-persistent-1",
"namespace" : "adietish-stage",
"selfLink" : "/api/v1/namespaces/adietish-stage/replicationcontrollers/nodejs-mongo-persistent-1",
"uid" : "58827554-0229-11e8-b468-02d7377a4b17",
"resourceVersion" : "838552703",
"generation" : 3,
"creationTimestamp" : "2018-01-25T23:42:03Z",
"labels" : {
"openshift.io/deployment-config.name" : "nodejs-mongo-persistent",
"template" : "nodejs-mongo-persistent"
},
"annotations" : {
"kubectl.kubernetes.io/desired-replicas" : "1",
"openshift.io/deployer-pod.completed-at" : "2018-01-25 23:52:06 +0000 UTC",
"openshift.io/deployer-pod.created-at" : "2018-01-25 23:42:04 +0000 UTC",
"openshift.io/deployer-pod.name" : "nodejs-mongo-persistent-1-deploy",
"openshift.io/deployment-config.latest-version" : "1",
"openshift.io/deployment-config.name" : "nodejs-mongo-persistent",
"openshift.io/deployment.phase" : "Failed",
"openshift.io/deployment.replicas" : "0",
"openshift.io/deployment.status-reason" : "config change",
"openshift.io/encoded-deployment-config" : "{\"kind\":\"DeploymentConfig\",\"apiVersion\":\"v1\",\"metadata\":{\"name\":\"nodejs-mongo-persistent\",\"namespace\":\"adietish-stage\",\"selfLink\":\"/apis/apps.openshift.io/v1/namespaces/adietish-stage/deploymentconfigs/nodejs-mongo-persistent\",\"uid\":\"49f1c655-0229-11e8-b468-02d7377a4b17\",\"resourceVersion\":\"838525030\",\"generation\":2,\"creationTimestamp\":\"2018-01-25T23:41:39Z\",\"labels\":{\"template\":\"nodejs-mongo-persistent\"},\"annotations\":{\"description\":\"Defines how to deploy the application server\",\"template.alpha.openshift.io/wait-for-ready\":\"true\"}},\"spec\":{\"strategy\":{\"type\":\"Recreate\",\"recreateParams\":{\"timeoutSeconds\":600},\"resources\":{},\"activeDeadlineSeconds\":21600},\"triggers\":[{\"type\":\"ImageChange\",\"imageChangeParams\":{\"automatic\":true,\"containerNames\":[\"nodejs-mongo-persistent\"],\"from\":{\"kind\":\"ImageStreamTag\",\"namespace\":\"adietish-stage\",\"name\":\"nodejs-mongo-persistent:latest\"},\"lastTriggeredImage\":\"172.30.98.11:5000/adietish-stage/nodejs-mongo-persistent@sha256:1f588995c3ed053bf5d548518094347c7fe4b41595cb7c452bb0f5469e69922d\"}},{\"type\":\"ConfigChange\"}],\"replicas\":1,\"test\":false,\"selector\":{\"name\":\"nodejs-mongo-persistent\"},\"template\":{\"metadata\":{\"name\":\"nodejs-mongo-persistent\",\"creationTimestamp\":null,\"labels\":{\"name\":\"nodejs-mongo-persistent\"}},\"spec\":{\"containers\":[{\"name\":\"nodejs-mongo-persistent\",\"image\":\"172.30.98.11:5000/adietish-stage/nodejs-mongo-persistent@sha256:1f588995c3ed053bf5d548518094347c7fe4b41595cb7c452bb0f5469e69922d\",\"ports\":[{\"containerPort\":8080,\"protocol\":\"TCP\"}],\"env\":[{\"name\":\"DATABASE_SERVICE_NAME\",\"value\":\"mongodb\"},{\"name\":\"MONGODB_USER\",\"valueFrom\":{\"secretKeyRef\":{\"name\":\"nodejs-mongo-persistent\",\"key\":\"database-user\"}}},{\"name\":\"MONGODB_PASSWORD\",\"valueFrom\":{\"secretKeyRef\":{\"name\":\"nodejs-mongo-persistent\",\"key\":\"database-password\"}}},{\"name\":\"MONGODB_DATABASE\",\"value\":\"sampledb\"},{\"name\":\"MONGODB_ADMIN_PASSWORD\",\"valueFrom\":{\"secretKeyRef\":{\"name\":\"nodejs-mongo-persistent\",\"key\":\"database-admin-password\"}}}],\"resources\":{\"limits\":{\"memory\":\"512Mi\"}},\"livenessProbe\":{\"httpGet\":{\"path\":\"/pagecount\",\"port\":8080,\"scheme\":\"HTTP\"},\"initialDelaySeconds\":30,\"timeoutSeconds\":3,\"periodSeconds\":10,\"successThreshold\":1,\"failureThreshold\":3},\"readinessProbe\":{\"httpGet\":{\"path\":\"/pagecount\",\"port\":8080,\"scheme\":\"HTTP\"},\"initialDelaySeconds\":3,\"timeoutSeconds\":3,\"periodSeconds\":10,\"successThreshold\":1,\"failureThreshold\":3},\"terminationMessagePath\":\"/dev/termination-log\",\"terminationMessagePolicy\":\"File\",\"imagePullPolicy\":\"IfNotPresent\"}],\"restartPolicy\":\"Always\",\"terminationGracePeriodSeconds\":30,\"dnsPolicy\":\"ClusterFirst\",\"securityContext\":{},\"schedulerName\":\"default-scheduler\"}}},\"status\":{\"latestVersion\":1,\"observedGeneration\":2,\"replicas\":0,\"updatedReplicas\":0,\"availableReplicas\":0,\"unavailableReplicas\":0,\"details\":{\"message\":\"config change\",\"causes\":[{\"type\":\"ConfigChange\"}]},\"conditions\":[{\"type\":\"Available\",\"status\":\"False\",\"lastUpdateTime\":\"2018-01-25T23:41:39Z\",\"lastTransitionTime\":\"2018-01-25T23:41:39Z\",\"message\":\"Deployment config does not have minimum availability.\"}]}}\n"
},
"ownerReferences" : [{
"apiVersion" : "apps.openshift.io/v1",
"kind" : "DeploymentConfig",
"name" : "nodejs-mongo-persistent",
"uid" : "49f1c655-0229-11e8-b468-02d7377a4b17",
"controller" : true,
"blockOwnerDeletion" : true
}]
},
"spec" : {
"replicas" : 0,
"selector" : {
"deployment" : "nodejs-mongo-persistent-1",
"deploymentconfig" : "nodejs-mongo-persistent",
"name" : "nodejs-mongo-persistent"
},
"template" : {
"metadata" : {
"labels" : {
"deployment" : "nodejs-mongo-persistent-1",
"deploymentconfig" : "nodejs-mongo-persistent",
"name" : "nodejs-mongo-persistent"
},
"annotations" : {
"openshift.io/deployment-config.latest-version" : "1",
"openshift.io/deployment-config.name" : "nodejs-mongo-persistent",
"openshift.io/deployment.name" : "nodejs-mongo-persistent-1"
}
},
"spec" : {
"containers" : [{
"name" : "nodejs-mongo-persistent",
"image" : "172.30.98.11:5000/adietish-stage/nodejs-mongo-persistent@sha256:1f588995c3ed053bf5d548518094347c7fe4b41595cb7c452bb0f5469e69922d",
"ports" : [{
"containerPort" : 8080,
"protocol" : "TCP"
}],
"env" : [
{
"name" : "DATABASE_SERVICE_NAME",
"value" : "mongodb"
},
{
"name" : "MONGODB_USER",
"valueFrom" : {"secretKeyRef" : {
"name" : "nodejs-mongo-persistent",
"key" : "database-user"
}}
},
{
"name" : "MONGODB_PASSWORD",
"valueFrom" : {"secretKeyRef" : {
"name" : "nodejs-mongo-persistent",
"key" : "database-password"
}}
},
{
"name" : "MONGODB_DATABASE",
"value" : "sampledb"
},
{
"name" : "MONGODB_ADMIN_PASSWORD",
"valueFrom" : {"secretKeyRef" : {
"name" : "nodejs-mongo-persistent",
"key" : "database-admin-password"
}}
}
],
"resources" : {"limits" : {"memory" : "512Mi"}},
"livenessProbe" : {
"httpGet" : {
"path" : "/pagecount",
"port" : 8080,
"scheme" : "HTTP"
},
"initialDelaySeconds" : 30,
"timeoutSeconds" : 3,
"periodSeconds" : 10,
"successThreshold" : 1,
"failureThreshold" : 3
},
"readinessProbe" : {
"httpGet" : {
"path" : "/pagecount",
"port" : 8080,
"scheme" : "HTTP"
},
"initialDelaySeconds" : 3,
"timeoutSeconds" : 3,
"periodSeconds" : 10,
"successThreshold" : 1,
"failureThreshold" : 3
},
"terminationMessagePath" : "/dev/termination-log",
"terminationMessagePolicy" : "File",
"imagePullPolicy" : "IfNotPresent"
}],
"restartPolicy" : "Always",
"terminationGracePeriodSeconds" : 30,
"dnsPolicy" : "ClusterFirst",
"securityContext" : {},
"schedulerName" : "default-scheduler"
}
}
},
"status" : {
"replicas" : 0,
"observedGeneration" : 3
},
"kind" : "ReplicationController",
"apiVersion" : "v1"
{code}
was (Author: adietish):
I get even more confused than I was before. What above failed all day long now seems to magically work. I can deploy and debug an app that I created via a nodejs:builder image.
The case where I create an app via template "nodejs-mongo-persitent" now fails with a different error:
!image-2018-01-26-00-49-39-691.png!
It now doesn't get the docker image labels that indicate where to deploy to within the pod. The issue is caused by unexpectedly shaped resources:
The tooling tries to retrieve the deployment config where it would find the deployment change triggers which holds the docker image uri. There are 2 strategies to get the dc from the service, both fail.
* [Strategy 1)|https://github.com/jbosstools/jbosstools-openshift/blob/master/plugins...] get dc name from selector "deploymentconfig" in service. Fails because there's no such selector
{code}
"selector" : {"name" : "nodejs-mongo-persistent"},
{code}
* [Strategy 2)|https://github.com/jbosstools/jbosstools-openshift/blob/master/plugins...] get dc by hopping svc -> rc -> pod -> dc. This fails because the rc is found but the pods matching the rc are not. The reason for this is that pod#labels [dont match|https://github.com/jbosstools/jbosstools-openshift/blob/master/plug...] the rc#replicaSelectors
** rc#replicaSelector
{code}
{deploymentconfig=nodejs-mongo-persistent, name=nodejs-mongo-persistent, {code}
deployment=nodejs-mongo-persistent-1}
{code}
** pod#labels
{code}
{deploymentconfig=nodejs, deployment=nodejs-3}
{code}
** the rc:
{code}
{
"metadata" : {
"name" : "nodejs-3-vgqdt",
"generateName" : "nodejs-3-",
"namespace" : "adietish-stage",
"selfLink" : "/api/v1/namespaces/adietish-stage/pods/nodejs-3-vgqdt",
"uid" : "38778443-0229-11e8-b468-02d7377a4b17",
"resourceVersion" : "840363887",
"creationTimestamp" : "2018-01-25T23:41:09Z",
"labels" : {
"deployment" : "nodejs-3",
"deploymentconfig" : "nodejs"
},
"annotations" : {
"kubernetes.io/created-by" : "{\"kind\":\"SerializedReference\",\"apiVersion\":\"v1\",\"reference\":{\"kind\":\"ReplicationController\",\"namespace\":\"adietish-stage\",\"name\":\"nodejs-3\",\"uid\":\"c80559ee-0228-11e8-b468-02d7377a4b17\",\"apiVersion\":\"v1\",\"resourceVersion\":\"838522089\"}}\n",
"kubernetes.io/limit-ranger" : "LimitRanger plugin set: cpu, memory request for container nodejs; cpu, memory limit for container nodejs",
"openshift.io/deployment-config.latest-version" : "3",
"openshift.io/deployment-config.name" : "nodejs",
"openshift.io/deployment.name" : "nodejs-3",
"openshift.io/scc" : "restricted"
}
},
"spec" : {
"volumes" : [{
"name" : "default-token-k92bn",
"secret" : {
"secretName" : "default-token-k92bn",
"defaultMode" : 420
}
}],
"containers" : [{
"name" : "nodejs",
"image" : "172.30.98.11:5000/adietish-stage/nodejs@sha256:246763270f6d67ff3c31fab2e65be181822ff7f0811c376c73857622bbedafe8",
"ports" : [
{
"name" : "8080-tcp",
"containerPort" : 8080,
"protocol" : "TCP"
},
{
"name" : "debug",
"containerPort" : 5858,
"protocol" : "TCP"
}
],
"env" : [
{
"name" : "DEBUG_PORT",
"value" : "5858"
},
{
"name" : "DEV_MODE",
"value" : "true"
}
],
"resources" : {
"limits" : {
"cpu" : "1",
"memory" : "512Mi"
},
"requests" : {
"cpu" : "60m",
"memory" : "307Mi"
}
},
"volumeMounts" : [{
"name" : "default-token-k92bn",
"readOnly" : true,
"mountPath" : "/var/run/secrets/kubernetes.io/serviceaccount"
}],
"terminationMessagePath" : "/dev/termination-log",
"terminationMessagePolicy" : "File",
"imagePullPolicy" : "Always",
"securityContext" : {
"capabilities" : {"drop" : [
"KILL",
"MKNOD",
"NET_RAW",
"SETGID",
"SETUID"
]},
"privileged" : false,
"seLinuxOptions" : {"level" : "s0:c147,c129"},
"runAsUser" : 1021720000
}
}],
"restartPolicy" : "Always",
"terminationGracePeriodSeconds" : 30,
"dnsPolicy" : "ClusterFirst",
"nodeSelector" : {"type" : "compute"},
"serviceAccountName" : "default",
"serviceAccount" : "default",
"nodeName" : "ip-172-31-69-160.us-east-2.compute.internal",
"securityContext" : {
"seLinuxOptions" : {"level" : "s0:c147,c129"},
"fsGroup" : 1021720000
},
"imagePullSecrets" : [{"name" : "default-dockercfg-nstt4"}],
"schedulerName" : "default-scheduler"
},
"status" : {
"phase" : "Pending",
"conditions" : [
{
"type" : "Initialized",
"status" : "True",
"lastTransitionTime" : "2018-01-25T23:41:09Z"
},
{
"type" : "Ready",
"status" : "False",
"lastTransitionTime" : "2018-01-25T23:41:09Z",
"reason" : "ContainersNotReady",
"message" : "containers with unready status: [nodejs]"
},
{
"type" : "PodScheduled",
"status" : "True",
"lastTransitionTime" : "2018-01-25T23:41:09Z"
}
],
"hostIP" : "172.31.69.160",
"podIP" : "10.128.100.151",
"startTime" : "2018-01-25T23:41:09Z",
"containerStatuses" : [{
"name" : "nodejs",
"state" : {"waiting" : {
"reason" : "ImagePullBackOff",
"message" : "Back-off pulling image \"172.30.98.11:5000/adietish-stage/nodejs@sha256:246763270f6d67ff3c31fab2e65be181822ff7f0811c376c73857622bbedafe8\""
}},
"lastState" : {},
"ready" : false,
"restartCount" : 0,
"image" : "172.30.98.11:5000/adietish-stage/nodejs@sha256:246763270f6d67ff3c31fab2e65be181822ff7f0811c376c73857622bbedafe8",
"imageID" : ""
}],
"qosClass" : "Burstable"
},
"kind" : "Pod",
"apiVersion" : "v1"
}
{code}
** the pod:
{code}
{
"metadata" : {
"name" : "nodejs-mongo-persistent-1",
"namespace" : "adietish-stage",
"selfLink" : "/api/v1/namespaces/adietish-stage/replicationcontrollers/nodejs-mongo-persistent-1",
"uid" : "58827554-0229-11e8-b468-02d7377a4b17",
"resourceVersion" : "838552703",
"generation" : 3,
"creationTimestamp" : "2018-01-25T23:42:03Z",
"labels" : {
"openshift.io/deployment-config.name" : "nodejs-mongo-persistent",
"template" : "nodejs-mongo-persistent"
},
"annotations" : {
"kubectl.kubernetes.io/desired-replicas" : "1",
"openshift.io/deployer-pod.completed-at" : "2018-01-25 23:52:06 +0000 UTC",
"openshift.io/deployer-pod.created-at" : "2018-01-25 23:42:04 +0000 UTC",
"openshift.io/deployer-pod.name" : "nodejs-mongo-persistent-1-deploy",
"openshift.io/deployment-config.latest-version" : "1",
"openshift.io/deployment-config.name" : "nodejs-mongo-persistent",
"openshift.io/deployment.phase" : "Failed",
"openshift.io/deployment.replicas" : "0",
"openshift.io/deployment.status-reason" : "config change",
"openshift.io/encoded-deployment-config" : "{\"kind\":\"DeploymentConfig\",\"apiVersion\":\"v1\",\"metadata\":{\"name\":\"nodejs-mongo-persistent\",\"namespace\":\"adietish-stage\",\"selfLink\":\"/apis/apps.openshift.io/v1/namespaces/adietish-stage/deploymentconfigs/nodejs-mongo-persistent\",\"uid\":\"49f1c655-0229-11e8-b468-02d7377a4b17\",\"resourceVersion\":\"838525030\",\"generation\":2,\"creationTimestamp\":\"2018-01-25T23:41:39Z\",\"labels\":{\"template\":\"nodejs-mongo-persistent\"},\"annotations\":{\"description\":\"Defines how to deploy the application server\",\"template.alpha.openshift.io/wait-for-ready\":\"true\"}},\"spec\":{\"strategy\":{\"type\":\"Recreate\",\"recreateParams\":{\"timeoutSeconds\":600},\"resources\":{},\"activeDeadlineSeconds\":21600},\"triggers\":[{\"type\":\"ImageChange\",\"imageChangeParams\":{\"automatic\":true,\"containerNames\":[\"nodejs-mongo-persistent\"],\"from\":{\"kind\":\"ImageStreamTag\",\"namespace\":\"adietish-stage\",\"name\":\"nodejs-mongo-persistent:latest\"},\"lastTriggeredImage\":\"172.30.98.11:5000/adietish-stage/nodejs-mongo-persistent@sha256:1f588995c3ed053bf5d548518094347c7fe4b41595cb7c452bb0f5469e69922d\"}},{\"type\":\"ConfigChange\"}],\"replicas\":1,\"test\":false,\"selector\":{\"name\":\"nodejs-mongo-persistent\"},\"template\":{\"metadata\":{\"name\":\"nodejs-mongo-persistent\",\"creationTimestamp\":null,\"labels\":{\"name\":\"nodejs-mongo-persistent\"}},\"spec\":{\"containers\":[{\"name\":\"nodejs-mongo-persistent\",\"image\":\"172.30.98.11:5000/adietish-stage/nodejs-mongo-persistent@sha256:1f588995c3ed053bf5d548518094347c7fe4b41595cb7c452bb0f5469e69922d\",\"ports\":[{\"containerPort\":8080,\"protocol\":\"TCP\"}],\"env\":[{\"name\":\"DATABASE_SERVICE_NAME\",\"value\":\"mongodb\"},{\"name\":\"MONGODB_USER\",\"valueFrom\":{\"secretKeyRef\":{\"name\":\"nodejs-mongo-persistent\",\"key\":\"database-user\"}}},{\"name\":\"MONGODB_PASSWORD\",\"valueFrom\":{\"secretKeyRef\":{\"name\":\"nodejs-mongo-persistent\",\"key\":\"database-password\"}}},{\"name\":\"MONGODB_DATABASE\",\"value\":\"sampledb\"},{\"name\":\"MONGODB_ADMIN_PASSWORD\",\"valueFrom\":{\"secretKeyRef\":{\"name\":\"nodejs-mongo-persistent\",\"key\":\"database-admin-password\"}}}],\"resources\":{\"limits\":{\"memory\":\"512Mi\"}},\"livenessProbe\":{\"httpGet\":{\"path\":\"/pagecount\",\"port\":8080,\"scheme\":\"HTTP\"},\"initialDelaySeconds\":30,\"timeoutSeconds\":3,\"periodSeconds\":10,\"successThreshold\":1,\"failureThreshold\":3},\"readinessProbe\":{\"httpGet\":{\"path\":\"/pagecount\",\"port\":8080,\"scheme\":\"HTTP\"},\"initialDelaySeconds\":3,\"timeoutSeconds\":3,\"periodSeconds\":10,\"successThreshold\":1,\"failureThreshold\":3},\"terminationMessagePath\":\"/dev/termination-log\",\"terminationMessagePolicy\":\"File\",\"imagePullPolicy\":\"IfNotPresent\"}],\"restartPolicy\":\"Always\",\"terminationGracePeriodSeconds\":30,\"dnsPolicy\":\"ClusterFirst\",\"securityContext\":{},\"schedulerName\":\"default-scheduler\"}}},\"status\":{\"latestVersion\":1,\"observedGeneration\":2,\"replicas\":0,\"updatedReplicas\":0,\"availableReplicas\":0,\"unavailableReplicas\":0,\"details\":{\"message\":\"config change\",\"causes\":[{\"type\":\"ConfigChange\"}]},\"conditions\":[{\"type\":\"Available\",\"status\":\"False\",\"lastUpdateTime\":\"2018-01-25T23:41:39Z\",\"lastTransitionTime\":\"2018-01-25T23:41:39Z\",\"message\":\"Deployment config does not have minimum availability.\"}]}}\n"
},
"ownerReferences" : [{
"apiVersion" : "apps.openshift.io/v1",
"kind" : "DeploymentConfig",
"name" : "nodejs-mongo-persistent",
"uid" : "49f1c655-0229-11e8-b468-02d7377a4b17",
"controller" : true,
"blockOwnerDeletion" : true
}]
},
"spec" : {
"replicas" : 0,
"selector" : {
"deployment" : "nodejs-mongo-persistent-1",
"deploymentconfig" : "nodejs-mongo-persistent",
"name" : "nodejs-mongo-persistent"
},
"template" : {
"metadata" : {
"labels" : {
"deployment" : "nodejs-mongo-persistent-1",
"deploymentconfig" : "nodejs-mongo-persistent",
"name" : "nodejs-mongo-persistent"
},
"annotations" : {
"openshift.io/deployment-config.latest-version" : "1",
"openshift.io/deployment-config.name" : "nodejs-mongo-persistent",
"openshift.io/deployment.name" : "nodejs-mongo-persistent-1"
}
},
"spec" : {
"containers" : [{
"name" : "nodejs-mongo-persistent",
"image" : "172.30.98.11:5000/adietish-stage/nodejs-mongo-persistent@sha256:1f588995c3ed053bf5d548518094347c7fe4b41595cb7c452bb0f5469e69922d",
"ports" : [{
"containerPort" : 8080,
"protocol" : "TCP"
}],
"env" : [
{
"name" : "DATABASE_SERVICE_NAME",
"value" : "mongodb"
},
{
"name" : "MONGODB_USER",
"valueFrom" : {"secretKeyRef" : {
"name" : "nodejs-mongo-persistent",
"key" : "database-user"
}}
},
{
"name" : "MONGODB_PASSWORD",
"valueFrom" : {"secretKeyRef" : {
"name" : "nodejs-mongo-persistent",
"key" : "database-password"
}}
},
{
"name" : "MONGODB_DATABASE",
"value" : "sampledb"
},
{
"name" : "MONGODB_ADMIN_PASSWORD",
"valueFrom" : {"secretKeyRef" : {
"name" : "nodejs-mongo-persistent",
"key" : "database-admin-password"
}}
}
],
"resources" : {"limits" : {"memory" : "512Mi"}},
"livenessProbe" : {
"httpGet" : {
"path" : "/pagecount",
"port" : 8080,
"scheme" : "HTTP"
},
"initialDelaySeconds" : 30,
"timeoutSeconds" : 3,
"periodSeconds" : 10,
"successThreshold" : 1,
"failureThreshold" : 3
},
"readinessProbe" : {
"httpGet" : {
"path" : "/pagecount",
"port" : 8080,
"scheme" : "HTTP"
},
"initialDelaySeconds" : 3,
"timeoutSeconds" : 3,
"periodSeconds" : 10,
"successThreshold" : 1,
"failureThreshold" : 3
},
"terminationMessagePath" : "/dev/termination-log",
"terminationMessagePolicy" : "File",
"imagePullPolicy" : "IfNotPresent"
}],
"restartPolicy" : "Always",
"terminationGracePeriodSeconds" : 30,
"dnsPolicy" : "ClusterFirst",
"securityContext" : {},
"schedulerName" : "default-scheduler"
}
}
},
"status" : {
"replicas" : 0,
"observedGeneration" : 3
},
"kind" : "ReplicationController",
"apiVersion" : "v1"
{code}
> Server adapter: timeouts when starting into "Debug" on OpenShift Online
> -----------------------------------------------------------------------
>
> Key: JBIDE-25611
> URL: https://issues.jboss.org/browse/JBIDE-25611
> Project: Tools (JBoss Tools)
> Issue Type: Bug
> Components: openshift
> Affects Versions: 4.5.2.Final
> Reporter: Andre Dietisheim
> Assignee: Andre Dietisheim
> Fix For: 4.5.3.AM1
>
> Attachments: error-waiting-for-new-pod.png, image-2018-01-24-18-58-29-159.png, image-2018-01-25-10-49-09-369.png, image-2018-01-26-00-49-39-691.png, pod-ports-cdk.png, pod-ports-online.png, port-missing.png
>
>
> # ASSERT: have an account on OpenShift Online
> # EXEC: create a new application via template nodejs-mongo-persistent
> # EXEC: have the project imported into the workspace and the server adapter for it created
> # ASSERT: you have a new server adapter for your app in state [stopped]
> # EXEC: start the adapter into "Debug"
> Result:
> The adapter takes a lot of time to start but wont succeed eventually. You get the following error dialog:
> !error-waiting-for-new-pod.png!
> In the Eclipse log you'll find the following:
> {code}
> org.eclipse.core.runtime.CoreException: Failed to detect new deployed Pod for nodejs-mongo-persistent
> at org.jboss.tools.openshift.internal.core.server.debug.OpenShiftDebugMode.waitFor(OpenShiftDebugMode.java:403)
> at org.jboss.tools.openshift.internal.core.server.debug.OpenShiftDebugMode.waitForNewPod(OpenShiftDebugMode.java:395)
> at org.jboss.tools.openshift.internal.core.server.debug.OpenShiftDebugMode.getPod(OpenShiftDebugMode.java:226)
> at org.jboss.tools.openshift.internal.core.server.debug.OpenShiftDebugMode.execute(OpenShiftDebugMode.java:170)
> at org.jboss.tools.openshift.core.server.behavior.OpenShiftLaunchController.launch(OpenShiftLaunchController.java:100)
> at org.jboss.ide.eclipse.as.wtp.core.server.launch.ControllableServerLaunchConfiguration.launch(ControllableServerLaunchConfiguration.java:52)
> at org.eclipse.debug.internal.core.LaunchConfiguration.launch(LaunchConfiguration.java:885)
> at org.eclipse.debug.internal.core.LaunchConfiguration.launch(LaunchConfiguration.java:739)
> at org.eclipse.debug.internal.core.LaunchConfiguration.launch(LaunchConfiguration.java:731)
> at org.eclipse.wst.server.core.internal.Server.startImpl2(Server.java:3566)
> at org.eclipse.wst.server.core.internal.Server.startImpl(Server.java:3502)
> at org.eclipse.wst.server.core.internal.Server$StartJob.run(Server.java:377)
> at org.eclipse.core.internal.jobs.Worker.run(Worker.java:56)
> {code}
--
This message was sent by Atlassian JIRA
(v7.5.0#75005)
6 years, 5 months
[JBoss JIRA] (JBIDE-25611) Server adapter: timeouts when starting into "Debug" on OpenShift Online
by Andre Dietisheim (JIRA)
[ https://issues.jboss.org/browse/JBIDE-25611?page=com.atlassian.jira.plugi... ]
Andre Dietisheim edited comment on JBIDE-25611 at 1/26/18 6:17 AM:
-------------------------------------------------------------------
I get even more confused than I was before. What above failed all day long now seems to magically work. I can deploy and debug an app that I created via a nodejs:builder image.
The case where I create an app via template "nodejs-mongo-persitent" now fails with a different error:
!image-2018-01-26-00-49-39-691.png!
It now doesn't get the docker image labels that indicate where to deploy to within the pod. The issue is caused by unexpectedly shaped resources:
The tooling tries to retrieve the deployment config where it would find the deployment change triggers which holds the docker image uri. There are 2 strategies to get the dc from the service, both fail.
* [Strategy 1)|https://github.com/jbosstools/jbosstools-openshift/blob/master/plugins...] get dc name from selector "deploymentconfig" in service. Fails because there's no such selector
{code}
"selector" : {"name" : "nodejs-mongo-persistent"},
{code}
* [Strategy 2)|https://github.com/jbosstools/jbosstools-openshift/blob/master/plugins...] get dc by hopping svc -> rc -> pod -> dc. This fails because the rc is found but the pods matching the rc are not. The reason for this is that pod#labels [dont match|https://github.com/jbosstools/jbosstools-openshift/blob/master/plug...] the rc#replicaSelectors
** rc#replicaSelector
{code}
{deploymentconfig=nodejs-mongo-persistent, name=nodejs-mongo-persistent, deployment=nodejs-mongo-persistent-1}
{code}
** pod#labels
{code}
{deploymentconfig=nodejs, deployment=nodejs-3}
{code}
** the rc:
{code}
{
"metadata" : {
"name" : "nodejs-3-vgqdt",
"generateName" : "nodejs-3-",
"namespace" : "adietish-stage",
"selfLink" : "/api/v1/namespaces/adietish-stage/pods/nodejs-3-vgqdt",
"uid" : "38778443-0229-11e8-b468-02d7377a4b17",
"resourceVersion" : "840363887",
"creationTimestamp" : "2018-01-25T23:41:09Z",
"labels" : {
"deployment" : "nodejs-3",
"deploymentconfig" : "nodejs"
},
"annotations" : {
"kubernetes.io/created-by" : "{\"kind\":\"SerializedReference\",\"apiVersion\":\"v1\",\"reference\":{\"kind\":\"ReplicationController\",\"namespace\":\"adietish-stage\",\"name\":\"nodejs-3\",\"uid\":\"c80559ee-0228-11e8-b468-02d7377a4b17\",\"apiVersion\":\"v1\",\"resourceVersion\":\"838522089\"}}\n",
"kubernetes.io/limit-ranger" : "LimitRanger plugin set: cpu, memory request for container nodejs; cpu, memory limit for container nodejs",
"openshift.io/deployment-config.latest-version" : "3",
"openshift.io/deployment-config.name" : "nodejs",
"openshift.io/deployment.name" : "nodejs-3",
"openshift.io/scc" : "restricted"
}
},
"spec" : {
"volumes" : [{
"name" : "default-token-k92bn",
"secret" : {
"secretName" : "default-token-k92bn",
"defaultMode" : 420
}
}],
"containers" : [{
"name" : "nodejs",
"image" : "172.30.98.11:5000/adietish-stage/nodejs@sha256:246763270f6d67ff3c31fab2e65be181822ff7f0811c376c73857622bbedafe8",
"ports" : [
{
"name" : "8080-tcp",
"containerPort" : 8080,
"protocol" : "TCP"
},
{
"name" : "debug",
"containerPort" : 5858,
"protocol" : "TCP"
}
],
"env" : [
{
"name" : "DEBUG_PORT",
"value" : "5858"
},
{
"name" : "DEV_MODE",
"value" : "true"
}
],
"resources" : {
"limits" : {
"cpu" : "1",
"memory" : "512Mi"
},
"requests" : {
"cpu" : "60m",
"memory" : "307Mi"
}
},
"volumeMounts" : [{
"name" : "default-token-k92bn",
"readOnly" : true,
"mountPath" : "/var/run/secrets/kubernetes.io/serviceaccount"
}],
"terminationMessagePath" : "/dev/termination-log",
"terminationMessagePolicy" : "File",
"imagePullPolicy" : "Always",
"securityContext" : {
"capabilities" : {"drop" : [
"KILL",
"MKNOD",
"NET_RAW",
"SETGID",
"SETUID"
]},
"privileged" : false,
"seLinuxOptions" : {"level" : "s0:c147,c129"},
"runAsUser" : 1021720000
}
}],
"restartPolicy" : "Always",
"terminationGracePeriodSeconds" : 30,
"dnsPolicy" : "ClusterFirst",
"nodeSelector" : {"type" : "compute"},
"serviceAccountName" : "default",
"serviceAccount" : "default",
"nodeName" : "ip-172-31-69-160.us-east-2.compute.internal",
"securityContext" : {
"seLinuxOptions" : {"level" : "s0:c147,c129"},
"fsGroup" : 1021720000
},
"imagePullSecrets" : [{"name" : "default-dockercfg-nstt4"}],
"schedulerName" : "default-scheduler"
},
"status" : {
"phase" : "Pending",
"conditions" : [
{
"type" : "Initialized",
"status" : "True",
"lastTransitionTime" : "2018-01-25T23:41:09Z"
},
{
"type" : "Ready",
"status" : "False",
"lastTransitionTime" : "2018-01-25T23:41:09Z",
"reason" : "ContainersNotReady",
"message" : "containers with unready status: [nodejs]"
},
{
"type" : "PodScheduled",
"status" : "True",
"lastTransitionTime" : "2018-01-25T23:41:09Z"
}
],
"hostIP" : "172.31.69.160",
"podIP" : "10.128.100.151",
"startTime" : "2018-01-25T23:41:09Z",
"containerStatuses" : [{
"name" : "nodejs",
"state" : {"waiting" : {
"reason" : "ImagePullBackOff",
"message" : "Back-off pulling image \"172.30.98.11:5000/adietish-stage/nodejs@sha256:246763270f6d67ff3c31fab2e65be181822ff7f0811c376c73857622bbedafe8\""
}},
"lastState" : {},
"ready" : false,
"restartCount" : 0,
"image" : "172.30.98.11:5000/adietish-stage/nodejs@sha256:246763270f6d67ff3c31fab2e65be181822ff7f0811c376c73857622bbedafe8",
"imageID" : ""
}],
"qosClass" : "Burstable"
},
"kind" : "Pod",
"apiVersion" : "v1"
}
{code}
** the pod:
{code}
{
"metadata" : {
"name" : "nodejs-mongo-persistent-1",
"namespace" : "adietish-stage",
"selfLink" : "/api/v1/namespaces/adietish-stage/replicationcontrollers/nodejs-mongo-persistent-1",
"uid" : "58827554-0229-11e8-b468-02d7377a4b17",
"resourceVersion" : "838552703",
"generation" : 3,
"creationTimestamp" : "2018-01-25T23:42:03Z",
"labels" : {
"openshift.io/deployment-config.name" : "nodejs-mongo-persistent",
"template" : "nodejs-mongo-persistent"
},
"annotations" : {
"kubectl.kubernetes.io/desired-replicas" : "1",
"openshift.io/deployer-pod.completed-at" : "2018-01-25 23:52:06 +0000 UTC",
"openshift.io/deployer-pod.created-at" : "2018-01-25 23:42:04 +0000 UTC",
"openshift.io/deployer-pod.name" : "nodejs-mongo-persistent-1-deploy",
"openshift.io/deployment-config.latest-version" : "1",
"openshift.io/deployment-config.name" : "nodejs-mongo-persistent",
"openshift.io/deployment.phase" : "Failed",
"openshift.io/deployment.replicas" : "0",
"openshift.io/deployment.status-reason" : "config change",
"openshift.io/encoded-deployment-config" : "{\"kind\":\"DeploymentConfig\",\"apiVersion\":\"v1\",\"metadata\":{\"name\":\"nodejs-mongo-persistent\",\"namespace\":\"adietish-stage\",\"selfLink\":\"/apis/apps.openshift.io/v1/namespaces/adietish-stage/deploymentconfigs/nodejs-mongo-persistent\",\"uid\":\"49f1c655-0229-11e8-b468-02d7377a4b17\",\"resourceVersion\":\"838525030\",\"generation\":2,\"creationTimestamp\":\"2018-01-25T23:41:39Z\",\"labels\":{\"template\":\"nodejs-mongo-persistent\"},\"annotations\":{\"description\":\"Defines how to deploy the application server\",\"template.alpha.openshift.io/wait-for-ready\":\"true\"}},\"spec\":{\"strategy\":{\"type\":\"Recreate\",\"recreateParams\":{\"timeoutSeconds\":600},\"resources\":{},\"activeDeadlineSeconds\":21600},\"triggers\":[{\"type\":\"ImageChange\",\"imageChangeParams\":{\"automatic\":true,\"containerNames\":[\"nodejs-mongo-persistent\"],\"from\":{\"kind\":\"ImageStreamTag\",\"namespace\":\"adietish-stage\",\"name\":\"nodejs-mongo-persistent:latest\"},\"lastTriggeredImage\":\"172.30.98.11:5000/adietish-stage/nodejs-mongo-persistent@sha256:1f588995c3ed053bf5d548518094347c7fe4b41595cb7c452bb0f5469e69922d\"}},{\"type\":\"ConfigChange\"}],\"replicas\":1,\"test\":false,\"selector\":{\"name\":\"nodejs-mongo-persistent\"},\"template\":{\"metadata\":{\"name\":\"nodejs-mongo-persistent\",\"creationTimestamp\":null,\"labels\":{\"name\":\"nodejs-mongo-persistent\"}},\"spec\":{\"containers\":[{\"name\":\"nodejs-mongo-persistent\",\"image\":\"172.30.98.11:5000/adietish-stage/nodejs-mongo-persistent@sha256:1f588995c3ed053bf5d548518094347c7fe4b41595cb7c452bb0f5469e69922d\",\"ports\":[{\"containerPort\":8080,\"protocol\":\"TCP\"}],\"env\":[{\"name\":\"DATABASE_SERVICE_NAME\",\"value\":\"mongodb\"},{\"name\":\"MONGODB_USER\",\"valueFrom\":{\"secretKeyRef\":{\"name\":\"nodejs-mongo-persistent\",\"key\":\"database-user\"}}},{\"name\":\"MONGODB_PASSWORD\",\"valueFrom\":{\"secretKeyRef\":{\"name\":\"nodejs-mongo-persistent\",\"key\":\"database-password\"}}},{\"name\":\"MONGODB_DATABASE\",\"value\":\"sampledb\"},{\"name\":\"MONGODB_ADMIN_PASSWORD\",\"valueFrom\":{\"secretKeyRef\":{\"name\":\"nodejs-mongo-persistent\",\"key\":\"database-admin-password\"}}}],\"resources\":{\"limits\":{\"memory\":\"512Mi\"}},\"livenessProbe\":{\"httpGet\":{\"path\":\"/pagecount\",\"port\":8080,\"scheme\":\"HTTP\"},\"initialDelaySeconds\":30,\"timeoutSeconds\":3,\"periodSeconds\":10,\"successThreshold\":1,\"failureThreshold\":3},\"readinessProbe\":{\"httpGet\":{\"path\":\"/pagecount\",\"port\":8080,\"scheme\":\"HTTP\"},\"initialDelaySeconds\":3,\"timeoutSeconds\":3,\"periodSeconds\":10,\"successThreshold\":1,\"failureThreshold\":3},\"terminationMessagePath\":\"/dev/termination-log\",\"terminationMessagePolicy\":\"File\",\"imagePullPolicy\":\"IfNotPresent\"}],\"restartPolicy\":\"Always\",\"terminationGracePeriodSeconds\":30,\"dnsPolicy\":\"ClusterFirst\",\"securityContext\":{},\"schedulerName\":\"default-scheduler\"}}},\"status\":{\"latestVersion\":1,\"observedGeneration\":2,\"replicas\":0,\"updatedReplicas\":0,\"availableReplicas\":0,\"unavailableReplicas\":0,\"details\":{\"message\":\"config change\",\"causes\":[{\"type\":\"ConfigChange\"}]},\"conditions\":[{\"type\":\"Available\",\"status\":\"False\",\"lastUpdateTime\":\"2018-01-25T23:41:39Z\",\"lastTransitionTime\":\"2018-01-25T23:41:39Z\",\"message\":\"Deployment config does not have minimum availability.\"}]}}\n"
},
"ownerReferences" : [{
"apiVersion" : "apps.openshift.io/v1",
"kind" : "DeploymentConfig",
"name" : "nodejs-mongo-persistent",
"uid" : "49f1c655-0229-11e8-b468-02d7377a4b17",
"controller" : true,
"blockOwnerDeletion" : true
}]
},
"spec" : {
"replicas" : 0,
"selector" : {
"deployment" : "nodejs-mongo-persistent-1",
"deploymentconfig" : "nodejs-mongo-persistent",
"name" : "nodejs-mongo-persistent"
},
"template" : {
"metadata" : {
"labels" : {
"deployment" : "nodejs-mongo-persistent-1",
"deploymentconfig" : "nodejs-mongo-persistent",
"name" : "nodejs-mongo-persistent"
},
"annotations" : {
"openshift.io/deployment-config.latest-version" : "1",
"openshift.io/deployment-config.name" : "nodejs-mongo-persistent",
"openshift.io/deployment.name" : "nodejs-mongo-persistent-1"
}
},
"spec" : {
"containers" : [{
"name" : "nodejs-mongo-persistent",
"image" : "172.30.98.11:5000/adietish-stage/nodejs-mongo-persistent@sha256:1f588995c3ed053bf5d548518094347c7fe4b41595cb7c452bb0f5469e69922d",
"ports" : [{
"containerPort" : 8080,
"protocol" : "TCP"
}],
"env" : [
{
"name" : "DATABASE_SERVICE_NAME",
"value" : "mongodb"
},
{
"name" : "MONGODB_USER",
"valueFrom" : {"secretKeyRef" : {
"name" : "nodejs-mongo-persistent",
"key" : "database-user"
}}
},
{
"name" : "MONGODB_PASSWORD",
"valueFrom" : {"secretKeyRef" : {
"name" : "nodejs-mongo-persistent",
"key" : "database-password"
}}
},
{
"name" : "MONGODB_DATABASE",
"value" : "sampledb"
},
{
"name" : "MONGODB_ADMIN_PASSWORD",
"valueFrom" : {"secretKeyRef" : {
"name" : "nodejs-mongo-persistent",
"key" : "database-admin-password"
}}
}
],
"resources" : {"limits" : {"memory" : "512Mi"}},
"livenessProbe" : {
"httpGet" : {
"path" : "/pagecount",
"port" : 8080,
"scheme" : "HTTP"
},
"initialDelaySeconds" : 30,
"timeoutSeconds" : 3,
"periodSeconds" : 10,
"successThreshold" : 1,
"failureThreshold" : 3
},
"readinessProbe" : {
"httpGet" : {
"path" : "/pagecount",
"port" : 8080,
"scheme" : "HTTP"
},
"initialDelaySeconds" : 3,
"timeoutSeconds" : 3,
"periodSeconds" : 10,
"successThreshold" : 1,
"failureThreshold" : 3
},
"terminationMessagePath" : "/dev/termination-log",
"terminationMessagePolicy" : "File",
"imagePullPolicy" : "IfNotPresent"
}],
"restartPolicy" : "Always",
"terminationGracePeriodSeconds" : 30,
"dnsPolicy" : "ClusterFirst",
"securityContext" : {},
"schedulerName" : "default-scheduler"
}
}
},
"status" : {
"replicas" : 0,
"observedGeneration" : 3
},
"kind" : "ReplicationController",
"apiVersion" : "v1"
{code}
was (Author: adietish):
I get even more confused than I was before. What above failed all day long now seems to magically work. I can deploy and debug an app that I created via a nodejs:builder image.
The case where I create an app via template "nodejs-mongo-persitent" now fails with a different error:
!image-2018-01-26-00-49-39-691.png!
It now doesn't get the docker image labels that indicate where to deploy to within the pod. The issue is caused by unexpectedly shaped resources:
The tooling tries to retrieve the deployment config where it would find the deployment change triggers which holds the docker image uri. There are 2 strategies to get the dc from the service, both fail.
* [Strategy 1)|https://github.com/jbosstools/jbosstools-openshift/blob/master/plugins...] get dc name from selector "deploymentconfig" in service. Fails because there's no such selector
{code}
"selector" : {"name" : "nodejs-mongo-persistent"},
{code}
* [Strategy 2)|https://github.com/jbosstools/jbosstools-openshift/blob/master/plugins...] get dc by hopping svc -> rc -> pod -> dc. This fails because the rc is found but the pods matching the rc are not. The reason for this is that pod#labels [dont match|https://github.com/jbosstools/jbosstools-openshift/blob/master/plug...] the rc#replicaSelectors
** rc#replicaSelector
{code}
{deploymentconfig=nodejs-mongo-persistent, name=nodejs-mongo-persistent,
deployment=nodejs-mongo-persistent-1}
{code}
** pod#labels
{code}
{deploymentconfig=nodejs, deployment=nodejs-3}
{code}
** the rc:
{code}
{
"metadata" : {
"name" : "nodejs-3-vgqdt",
"generateName" : "nodejs-3-",
"namespace" : "adietish-stage",
"selfLink" : "/api/v1/namespaces/adietish-stage/pods/nodejs-3-vgqdt",
"uid" : "38778443-0229-11e8-b468-02d7377a4b17",
"resourceVersion" : "840363887",
"creationTimestamp" : "2018-01-25T23:41:09Z",
"labels" : {
"deployment" : "nodejs-3",
"deploymentconfig" : "nodejs"
},
"annotations" : {
"kubernetes.io/created-by" : "{\"kind\":\"SerializedReference\",\"apiVersion\":\"v1\",\"reference\":{\"kind\":\"ReplicationController\",\"namespace\":\"adietish-stage\",\"name\":\"nodejs-3\",\"uid\":\"c80559ee-0228-11e8-b468-02d7377a4b17\",\"apiVersion\":\"v1\",\"resourceVersion\":\"838522089\"}}\n",
"kubernetes.io/limit-ranger" : "LimitRanger plugin set: cpu, memory request for container nodejs; cpu, memory limit for container nodejs",
"openshift.io/deployment-config.latest-version" : "3",
"openshift.io/deployment-config.name" : "nodejs",
"openshift.io/deployment.name" : "nodejs-3",
"openshift.io/scc" : "restricted"
}
},
"spec" : {
"volumes" : [{
"name" : "default-token-k92bn",
"secret" : {
"secretName" : "default-token-k92bn",
"defaultMode" : 420
}
}],
"containers" : [{
"name" : "nodejs",
"image" : "172.30.98.11:5000/adietish-stage/nodejs@sha256:246763270f6d67ff3c31fab2e65be181822ff7f0811c376c73857622bbedafe8",
"ports" : [
{
"name" : "8080-tcp",
"containerPort" : 8080,
"protocol" : "TCP"
},
{
"name" : "debug",
"containerPort" : 5858,
"protocol" : "TCP"
}
],
"env" : [
{
"name" : "DEBUG_PORT",
"value" : "5858"
},
{
"name" : "DEV_MODE",
"value" : "true"
}
],
"resources" : {
"limits" : {
"cpu" : "1",
"memory" : "512Mi"
},
"requests" : {
"cpu" : "60m",
"memory" : "307Mi"
}
},
"volumeMounts" : [{
"name" : "default-token-k92bn",
"readOnly" : true,
"mountPath" : "/var/run/secrets/kubernetes.io/serviceaccount"
}],
"terminationMessagePath" : "/dev/termination-log",
"terminationMessagePolicy" : "File",
"imagePullPolicy" : "Always",
"securityContext" : {
"capabilities" : {"drop" : [
"KILL",
"MKNOD",
"NET_RAW",
"SETGID",
"SETUID"
]},
"privileged" : false,
"seLinuxOptions" : {"level" : "s0:c147,c129"},
"runAsUser" : 1021720000
}
}],
"restartPolicy" : "Always",
"terminationGracePeriodSeconds" : 30,
"dnsPolicy" : "ClusterFirst",
"nodeSelector" : {"type" : "compute"},
"serviceAccountName" : "default",
"serviceAccount" : "default",
"nodeName" : "ip-172-31-69-160.us-east-2.compute.internal",
"securityContext" : {
"seLinuxOptions" : {"level" : "s0:c147,c129"},
"fsGroup" : 1021720000
},
"imagePullSecrets" : [{"name" : "default-dockercfg-nstt4"}],
"schedulerName" : "default-scheduler"
},
"status" : {
"phase" : "Pending",
"conditions" : [
{
"type" : "Initialized",
"status" : "True",
"lastTransitionTime" : "2018-01-25T23:41:09Z"
},
{
"type" : "Ready",
"status" : "False",
"lastTransitionTime" : "2018-01-25T23:41:09Z",
"reason" : "ContainersNotReady",
"message" : "containers with unready status: [nodejs]"
},
{
"type" : "PodScheduled",
"status" : "True",
"lastTransitionTime" : "2018-01-25T23:41:09Z"
}
],
"hostIP" : "172.31.69.160",
"podIP" : "10.128.100.151",
"startTime" : "2018-01-25T23:41:09Z",
"containerStatuses" : [{
"name" : "nodejs",
"state" : {"waiting" : {
"reason" : "ImagePullBackOff",
"message" : "Back-off pulling image \"172.30.98.11:5000/adietish-stage/nodejs@sha256:246763270f6d67ff3c31fab2e65be181822ff7f0811c376c73857622bbedafe8\""
}},
"lastState" : {},
"ready" : false,
"restartCount" : 0,
"image" : "172.30.98.11:5000/adietish-stage/nodejs@sha256:246763270f6d67ff3c31fab2e65be181822ff7f0811c376c73857622bbedafe8",
"imageID" : ""
}],
"qosClass" : "Burstable"
},
"kind" : "Pod",
"apiVersion" : "v1"
}
{code}
** the pod:
{code}
{
"metadata" : {
"name" : "nodejs-mongo-persistent-1",
"namespace" : "adietish-stage",
"selfLink" : "/api/v1/namespaces/adietish-stage/replicationcontrollers/nodejs-mongo-persistent-1",
"uid" : "58827554-0229-11e8-b468-02d7377a4b17",
"resourceVersion" : "838552703",
"generation" : 3,
"creationTimestamp" : "2018-01-25T23:42:03Z",
"labels" : {
"openshift.io/deployment-config.name" : "nodejs-mongo-persistent",
"template" : "nodejs-mongo-persistent"
},
"annotations" : {
"kubectl.kubernetes.io/desired-replicas" : "1",
"openshift.io/deployer-pod.completed-at" : "2018-01-25 23:52:06 +0000 UTC",
"openshift.io/deployer-pod.created-at" : "2018-01-25 23:42:04 +0000 UTC",
"openshift.io/deployer-pod.name" : "nodejs-mongo-persistent-1-deploy",
"openshift.io/deployment-config.latest-version" : "1",
"openshift.io/deployment-config.name" : "nodejs-mongo-persistent",
"openshift.io/deployment.phase" : "Failed",
"openshift.io/deployment.replicas" : "0",
"openshift.io/deployment.status-reason" : "config change",
"openshift.io/encoded-deployment-config" : "{\"kind\":\"DeploymentConfig\",\"apiVersion\":\"v1\",\"metadata\":{\"name\":\"nodejs-mongo-persistent\",\"namespace\":\"adietish-stage\",\"selfLink\":\"/apis/apps.openshift.io/v1/namespaces/adietish-stage/deploymentconfigs/nodejs-mongo-persistent\",\"uid\":\"49f1c655-0229-11e8-b468-02d7377a4b17\",\"resourceVersion\":\"838525030\",\"generation\":2,\"creationTimestamp\":\"2018-01-25T23:41:39Z\",\"labels\":{\"template\":\"nodejs-mongo-persistent\"},\"annotations\":{\"description\":\"Defines how to deploy the application server\",\"template.alpha.openshift.io/wait-for-ready\":\"true\"}},\"spec\":{\"strategy\":{\"type\":\"Recreate\",\"recreateParams\":{\"timeoutSeconds\":600},\"resources\":{},\"activeDeadlineSeconds\":21600},\"triggers\":[{\"type\":\"ImageChange\",\"imageChangeParams\":{\"automatic\":true,\"containerNames\":[\"nodejs-mongo-persistent\"],\"from\":{\"kind\":\"ImageStreamTag\",\"namespace\":\"adietish-stage\",\"name\":\"nodejs-mongo-persistent:latest\"},\"lastTriggeredImage\":\"172.30.98.11:5000/adietish-stage/nodejs-mongo-persistent@sha256:1f588995c3ed053bf5d548518094347c7fe4b41595cb7c452bb0f5469e69922d\"}},{\"type\":\"ConfigChange\"}],\"replicas\":1,\"test\":false,\"selector\":{\"name\":\"nodejs-mongo-persistent\"},\"template\":{\"metadata\":{\"name\":\"nodejs-mongo-persistent\",\"creationTimestamp\":null,\"labels\":{\"name\":\"nodejs-mongo-persistent\"}},\"spec\":{\"containers\":[{\"name\":\"nodejs-mongo-persistent\",\"image\":\"172.30.98.11:5000/adietish-stage/nodejs-mongo-persistent@sha256:1f588995c3ed053bf5d548518094347c7fe4b41595cb7c452bb0f5469e69922d\",\"ports\":[{\"containerPort\":8080,\"protocol\":\"TCP\"}],\"env\":[{\"name\":\"DATABASE_SERVICE_NAME\",\"value\":\"mongodb\"},{\"name\":\"MONGODB_USER\",\"valueFrom\":{\"secretKeyRef\":{\"name\":\"nodejs-mongo-persistent\",\"key\":\"database-user\"}}},{\"name\":\"MONGODB_PASSWORD\",\"valueFrom\":{\"secretKeyRef\":{\"name\":\"nodejs-mongo-persistent\",\"key\":\"database-password\"}}},{\"name\":\"MONGODB_DATABASE\",\"value\":\"sampledb\"},{\"name\":\"MONGODB_ADMIN_PASSWORD\",\"valueFrom\":{\"secretKeyRef\":{\"name\":\"nodejs-mongo-persistent\",\"key\":\"database-admin-password\"}}}],\"resources\":{\"limits\":{\"memory\":\"512Mi\"}},\"livenessProbe\":{\"httpGet\":{\"path\":\"/pagecount\",\"port\":8080,\"scheme\":\"HTTP\"},\"initialDelaySeconds\":30,\"timeoutSeconds\":3,\"periodSeconds\":10,\"successThreshold\":1,\"failureThreshold\":3},\"readinessProbe\":{\"httpGet\":{\"path\":\"/pagecount\",\"port\":8080,\"scheme\":\"HTTP\"},\"initialDelaySeconds\":3,\"timeoutSeconds\":3,\"periodSeconds\":10,\"successThreshold\":1,\"failureThreshold\":3},\"terminationMessagePath\":\"/dev/termination-log\",\"terminationMessagePolicy\":\"File\",\"imagePullPolicy\":\"IfNotPresent\"}],\"restartPolicy\":\"Always\",\"terminationGracePeriodSeconds\":30,\"dnsPolicy\":\"ClusterFirst\",\"securityContext\":{},\"schedulerName\":\"default-scheduler\"}}},\"status\":{\"latestVersion\":1,\"observedGeneration\":2,\"replicas\":0,\"updatedReplicas\":0,\"availableReplicas\":0,\"unavailableReplicas\":0,\"details\":{\"message\":\"config change\",\"causes\":[{\"type\":\"ConfigChange\"}]},\"conditions\":[{\"type\":\"Available\",\"status\":\"False\",\"lastUpdateTime\":\"2018-01-25T23:41:39Z\",\"lastTransitionTime\":\"2018-01-25T23:41:39Z\",\"message\":\"Deployment config does not have minimum availability.\"}]}}\n"
},
"ownerReferences" : [{
"apiVersion" : "apps.openshift.io/v1",
"kind" : "DeploymentConfig",
"name" : "nodejs-mongo-persistent",
"uid" : "49f1c655-0229-11e8-b468-02d7377a4b17",
"controller" : true,
"blockOwnerDeletion" : true
}]
},
"spec" : {
"replicas" : 0,
"selector" : {
"deployment" : "nodejs-mongo-persistent-1",
"deploymentconfig" : "nodejs-mongo-persistent",
"name" : "nodejs-mongo-persistent"
},
"template" : {
"metadata" : {
"labels" : {
"deployment" : "nodejs-mongo-persistent-1",
"deploymentconfig" : "nodejs-mongo-persistent",
"name" : "nodejs-mongo-persistent"
},
"annotations" : {
"openshift.io/deployment-config.latest-version" : "1",
"openshift.io/deployment-config.name" : "nodejs-mongo-persistent",
"openshift.io/deployment.name" : "nodejs-mongo-persistent-1"
}
},
"spec" : {
"containers" : [{
"name" : "nodejs-mongo-persistent",
"image" : "172.30.98.11:5000/adietish-stage/nodejs-mongo-persistent@sha256:1f588995c3ed053bf5d548518094347c7fe4b41595cb7c452bb0f5469e69922d",
"ports" : [{
"containerPort" : 8080,
"protocol" : "TCP"
}],
"env" : [
{
"name" : "DATABASE_SERVICE_NAME",
"value" : "mongodb"
},
{
"name" : "MONGODB_USER",
"valueFrom" : {"secretKeyRef" : {
"name" : "nodejs-mongo-persistent",
"key" : "database-user"
}}
},
{
"name" : "MONGODB_PASSWORD",
"valueFrom" : {"secretKeyRef" : {
"name" : "nodejs-mongo-persistent",
"key" : "database-password"
}}
},
{
"name" : "MONGODB_DATABASE",
"value" : "sampledb"
},
{
"name" : "MONGODB_ADMIN_PASSWORD",
"valueFrom" : {"secretKeyRef" : {
"name" : "nodejs-mongo-persistent",
"key" : "database-admin-password"
}}
}
],
"resources" : {"limits" : {"memory" : "512Mi"}},
"livenessProbe" : {
"httpGet" : {
"path" : "/pagecount",
"port" : 8080,
"scheme" : "HTTP"
},
"initialDelaySeconds" : 30,
"timeoutSeconds" : 3,
"periodSeconds" : 10,
"successThreshold" : 1,
"failureThreshold" : 3
},
"readinessProbe" : {
"httpGet" : {
"path" : "/pagecount",
"port" : 8080,
"scheme" : "HTTP"
},
"initialDelaySeconds" : 3,
"timeoutSeconds" : 3,
"periodSeconds" : 10,
"successThreshold" : 1,
"failureThreshold" : 3
},
"terminationMessagePath" : "/dev/termination-log",
"terminationMessagePolicy" : "File",
"imagePullPolicy" : "IfNotPresent"
}],
"restartPolicy" : "Always",
"terminationGracePeriodSeconds" : 30,
"dnsPolicy" : "ClusterFirst",
"securityContext" : {},
"schedulerName" : "default-scheduler"
}
}
},
"status" : {
"replicas" : 0,
"observedGeneration" : 3
},
"kind" : "ReplicationController",
"apiVersion" : "v1"
{code}
> Server adapter: timeouts when starting into "Debug" on OpenShift Online
> -----------------------------------------------------------------------
>
> Key: JBIDE-25611
> URL: https://issues.jboss.org/browse/JBIDE-25611
> Project: Tools (JBoss Tools)
> Issue Type: Bug
> Components: openshift
> Affects Versions: 4.5.2.Final
> Reporter: Andre Dietisheim
> Assignee: Andre Dietisheim
> Fix For: 4.5.3.AM1
>
> Attachments: error-waiting-for-new-pod.png, image-2018-01-24-18-58-29-159.png, image-2018-01-25-10-49-09-369.png, image-2018-01-26-00-49-39-691.png, pod-ports-cdk.png, pod-ports-online.png, port-missing.png
>
>
> # ASSERT: have an account on OpenShift Online
> # EXEC: create a new application via template nodejs-mongo-persistent
> # EXEC: have the project imported into the workspace and the server adapter for it created
> # ASSERT: you have a new server adapter for your app in state [stopped]
> # EXEC: start the adapter into "Debug"
> Result:
> The adapter takes a lot of time to start but wont succeed eventually. You get the following error dialog:
> !error-waiting-for-new-pod.png!
> In the Eclipse log you'll find the following:
> {code}
> org.eclipse.core.runtime.CoreException: Failed to detect new deployed Pod for nodejs-mongo-persistent
> at org.jboss.tools.openshift.internal.core.server.debug.OpenShiftDebugMode.waitFor(OpenShiftDebugMode.java:403)
> at org.jboss.tools.openshift.internal.core.server.debug.OpenShiftDebugMode.waitForNewPod(OpenShiftDebugMode.java:395)
> at org.jboss.tools.openshift.internal.core.server.debug.OpenShiftDebugMode.getPod(OpenShiftDebugMode.java:226)
> at org.jboss.tools.openshift.internal.core.server.debug.OpenShiftDebugMode.execute(OpenShiftDebugMode.java:170)
> at org.jboss.tools.openshift.core.server.behavior.OpenShiftLaunchController.launch(OpenShiftLaunchController.java:100)
> at org.jboss.ide.eclipse.as.wtp.core.server.launch.ControllableServerLaunchConfiguration.launch(ControllableServerLaunchConfiguration.java:52)
> at org.eclipse.debug.internal.core.LaunchConfiguration.launch(LaunchConfiguration.java:885)
> at org.eclipse.debug.internal.core.LaunchConfiguration.launch(LaunchConfiguration.java:739)
> at org.eclipse.debug.internal.core.LaunchConfiguration.launch(LaunchConfiguration.java:731)
> at org.eclipse.wst.server.core.internal.Server.startImpl2(Server.java:3566)
> at org.eclipse.wst.server.core.internal.Server.startImpl(Server.java:3502)
> at org.eclipse.wst.server.core.internal.Server$StartJob.run(Server.java:377)
> at org.eclipse.core.internal.jobs.Worker.run(Worker.java:56)
> {code}
--
This message was sent by Atlassian JIRA
(v7.5.0#75005)
6 years, 5 months
[JBoss JIRA] (JBIDE-25611) Server adapter: timeouts when starting into "Debug" on OpenShift Online
by Andre Dietisheim (JIRA)
[ https://issues.jboss.org/browse/JBIDE-25611?page=com.atlassian.jira.plugi... ]
Andre Dietisheim edited comment on JBIDE-25611 at 1/26/18 6:16 AM:
-------------------------------------------------------------------
I get even more confused than I was before. What above failed all day long now seems to magically work. I can deploy and debug an app that I created via a nodejs:builder image.
The case where I create an app via template "nodejs-mongo-persitent" now fails with a different error:
!image-2018-01-26-00-49-39-691.png!
It now doesn't get the docker image labels that indicate where to deploy to within the pod. The issue is caused by unexpectedly shaped resources:
The tooling tries to retrieve the deployment config where it would find the deployment change triggers which holds the docker image uri. There are 2 strategies to get the dc from the service, both fail.
* [Strategy 1)|https://github.com/jbosstools/jbosstools-openshift/blob/master/plugins...] get dc name from selector "deploymentconfig" in service. Fails because there's no such selector
{code}
"selector" : {"name" : "nodejs-mongo-persistent"},
{code}
* [Strategy 2)|https://github.com/jbosstools/jbosstools-openshift/blob/master/plugins...] get dc by hopping svc -> rc -> pod -> dc. This fails because the rc is found but the pods matching the rc are not. The reason for this is that pod#labels [dont match|https://github.com/jbosstools/jbosstools-openshift/blob/master/plug...] the rc#replicaSelectors
** rc#replicaSelector
{code}
{deploymentconfig=nodejs-mongo-persistent, name=nodejs-mongo-persistent, {code}
deployment=nodejs-mongo-persistent-1}
{code}
** pod#labels
{code}
{deploymentconfig=nodejs, deployment=nodejs-3}
{code}
** the rc:
{code}
{
"metadata" : {
"name" : "nodejs-3-vgqdt",
"generateName" : "nodejs-3-",
"namespace" : "adietish-stage",
"selfLink" : "/api/v1/namespaces/adietish-stage/pods/nodejs-3-vgqdt",
"uid" : "38778443-0229-11e8-b468-02d7377a4b17",
"resourceVersion" : "840363887",
"creationTimestamp" : "2018-01-25T23:41:09Z",
"labels" : {
"deployment" : "nodejs-3",
"deploymentconfig" : "nodejs"
},
"annotations" : {
"kubernetes.io/created-by" : "{\"kind\":\"SerializedReference\",\"apiVersion\":\"v1\",\"reference\":{\"kind\":\"ReplicationController\",\"namespace\":\"adietish-stage\",\"name\":\"nodejs-3\",\"uid\":\"c80559ee-0228-11e8-b468-02d7377a4b17\",\"apiVersion\":\"v1\",\"resourceVersion\":\"838522089\"}}\n",
"kubernetes.io/limit-ranger" : "LimitRanger plugin set: cpu, memory request for container nodejs; cpu, memory limit for container nodejs",
"openshift.io/deployment-config.latest-version" : "3",
"openshift.io/deployment-config.name" : "nodejs",
"openshift.io/deployment.name" : "nodejs-3",
"openshift.io/scc" : "restricted"
}
},
"spec" : {
"volumes" : [{
"name" : "default-token-k92bn",
"secret" : {
"secretName" : "default-token-k92bn",
"defaultMode" : 420
}
}],
"containers" : [{
"name" : "nodejs",
"image" : "172.30.98.11:5000/adietish-stage/nodejs@sha256:246763270f6d67ff3c31fab2e65be181822ff7f0811c376c73857622bbedafe8",
"ports" : [
{
"name" : "8080-tcp",
"containerPort" : 8080,
"protocol" : "TCP"
},
{
"name" : "debug",
"containerPort" : 5858,
"protocol" : "TCP"
}
],
"env" : [
{
"name" : "DEBUG_PORT",
"value" : "5858"
},
{
"name" : "DEV_MODE",
"value" : "true"
}
],
"resources" : {
"limits" : {
"cpu" : "1",
"memory" : "512Mi"
},
"requests" : {
"cpu" : "60m",
"memory" : "307Mi"
}
},
"volumeMounts" : [{
"name" : "default-token-k92bn",
"readOnly" : true,
"mountPath" : "/var/run/secrets/kubernetes.io/serviceaccount"
}],
"terminationMessagePath" : "/dev/termination-log",
"terminationMessagePolicy" : "File",
"imagePullPolicy" : "Always",
"securityContext" : {
"capabilities" : {"drop" : [
"KILL",
"MKNOD",
"NET_RAW",
"SETGID",
"SETUID"
]},
"privileged" : false,
"seLinuxOptions" : {"level" : "s0:c147,c129"},
"runAsUser" : 1021720000
}
}],
"restartPolicy" : "Always",
"terminationGracePeriodSeconds" : 30,
"dnsPolicy" : "ClusterFirst",
"nodeSelector" : {"type" : "compute"},
"serviceAccountName" : "default",
"serviceAccount" : "default",
"nodeName" : "ip-172-31-69-160.us-east-2.compute.internal",
"securityContext" : {
"seLinuxOptions" : {"level" : "s0:c147,c129"},
"fsGroup" : 1021720000
},
"imagePullSecrets" : [{"name" : "default-dockercfg-nstt4"}],
"schedulerName" : "default-scheduler"
},
"status" : {
"phase" : "Pending",
"conditions" : [
{
"type" : "Initialized",
"status" : "True",
"lastTransitionTime" : "2018-01-25T23:41:09Z"
},
{
"type" : "Ready",
"status" : "False",
"lastTransitionTime" : "2018-01-25T23:41:09Z",
"reason" : "ContainersNotReady",
"message" : "containers with unready status: [nodejs]"
},
{
"type" : "PodScheduled",
"status" : "True",
"lastTransitionTime" : "2018-01-25T23:41:09Z"
}
],
"hostIP" : "172.31.69.160",
"podIP" : "10.128.100.151",
"startTime" : "2018-01-25T23:41:09Z",
"containerStatuses" : [{
"name" : "nodejs",
"state" : {"waiting" : {
"reason" : "ImagePullBackOff",
"message" : "Back-off pulling image \"172.30.98.11:5000/adietish-stage/nodejs@sha256:246763270f6d67ff3c31fab2e65be181822ff7f0811c376c73857622bbedafe8\""
}},
"lastState" : {},
"ready" : false,
"restartCount" : 0,
"image" : "172.30.98.11:5000/adietish-stage/nodejs@sha256:246763270f6d67ff3c31fab2e65be181822ff7f0811c376c73857622bbedafe8",
"imageID" : ""
}],
"qosClass" : "Burstable"
},
"kind" : "Pod",
"apiVersion" : "v1"
}
{code}
** the pod:
{code}
{
"metadata" : {
"name" : "nodejs-mongo-persistent-1",
"namespace" : "adietish-stage",
"selfLink" : "/api/v1/namespaces/adietish-stage/replicationcontrollers/nodejs-mongo-persistent-1",
"uid" : "58827554-0229-11e8-b468-02d7377a4b17",
"resourceVersion" : "838552703",
"generation" : 3,
"creationTimestamp" : "2018-01-25T23:42:03Z",
"labels" : {
"openshift.io/deployment-config.name" : "nodejs-mongo-persistent",
"template" : "nodejs-mongo-persistent"
},
"annotations" : {
"kubectl.kubernetes.io/desired-replicas" : "1",
"openshift.io/deployer-pod.completed-at" : "2018-01-25 23:52:06 +0000 UTC",
"openshift.io/deployer-pod.created-at" : "2018-01-25 23:42:04 +0000 UTC",
"openshift.io/deployer-pod.name" : "nodejs-mongo-persistent-1-deploy",
"openshift.io/deployment-config.latest-version" : "1",
"openshift.io/deployment-config.name" : "nodejs-mongo-persistent",
"openshift.io/deployment.phase" : "Failed",
"openshift.io/deployment.replicas" : "0",
"openshift.io/deployment.status-reason" : "config change",
"openshift.io/encoded-deployment-config" : "{\"kind\":\"DeploymentConfig\",\"apiVersion\":\"v1\",\"metadata\":{\"name\":\"nodejs-mongo-persistent\",\"namespace\":\"adietish-stage\",\"selfLink\":\"/apis/apps.openshift.io/v1/namespaces/adietish-stage/deploymentconfigs/nodejs-mongo-persistent\",\"uid\":\"49f1c655-0229-11e8-b468-02d7377a4b17\",\"resourceVersion\":\"838525030\",\"generation\":2,\"creationTimestamp\":\"2018-01-25T23:41:39Z\",\"labels\":{\"template\":\"nodejs-mongo-persistent\"},\"annotations\":{\"description\":\"Defines how to deploy the application server\",\"template.alpha.openshift.io/wait-for-ready\":\"true\"}},\"spec\":{\"strategy\":{\"type\":\"Recreate\",\"recreateParams\":{\"timeoutSeconds\":600},\"resources\":{},\"activeDeadlineSeconds\":21600},\"triggers\":[{\"type\":\"ImageChange\",\"imageChangeParams\":{\"automatic\":true,\"containerNames\":[\"nodejs-mongo-persistent\"],\"from\":{\"kind\":\"ImageStreamTag\",\"namespace\":\"adietish-stage\",\"name\":\"nodejs-mongo-persistent:latest\"},\"lastTriggeredImage\":\"172.30.98.11:5000/adietish-stage/nodejs-mongo-persistent@sha256:1f588995c3ed053bf5d548518094347c7fe4b41595cb7c452bb0f5469e69922d\"}},{\"type\":\"ConfigChange\"}],\"replicas\":1,\"test\":false,\"selector\":{\"name\":\"nodejs-mongo-persistent\"},\"template\":{\"metadata\":{\"name\":\"nodejs-mongo-persistent\",\"creationTimestamp\":null,\"labels\":{\"name\":\"nodejs-mongo-persistent\"}},\"spec\":{\"containers\":[{\"name\":\"nodejs-mongo-persistent\",\"image\":\"172.30.98.11:5000/adietish-stage/nodejs-mongo-persistent@sha256:1f588995c3ed053bf5d548518094347c7fe4b41595cb7c452bb0f5469e69922d\",\"ports\":[{\"containerPort\":8080,\"protocol\":\"TCP\"}],\"env\":[{\"name\":\"DATABASE_SERVICE_NAME\",\"value\":\"mongodb\"},{\"name\":\"MONGODB_USER\",\"valueFrom\":{\"secretKeyRef\":{\"name\":\"nodejs-mongo-persistent\",\"key\":\"database-user\"}}},{\"name\":\"MONGODB_PASSWORD\",\"valueFrom\":{\"secretKeyRef\":{\"name\":\"nodejs-mongo-persistent\",\"key\":\"database-password\"}}},{\"name\":\"MONGODB_DATABASE\",\"value\":\"sampledb\"},{\"name\":\"MONGODB_ADMIN_PASSWORD\",\"valueFrom\":{\"secretKeyRef\":{\"name\":\"nodejs-mongo-persistent\",\"key\":\"database-admin-password\"}}}],\"resources\":{\"limits\":{\"memory\":\"512Mi\"}},\"livenessProbe\":{\"httpGet\":{\"path\":\"/pagecount\",\"port\":8080,\"scheme\":\"HTTP\"},\"initialDelaySeconds\":30,\"timeoutSeconds\":3,\"periodSeconds\":10,\"successThreshold\":1,\"failureThreshold\":3},\"readinessProbe\":{\"httpGet\":{\"path\":\"/pagecount\",\"port\":8080,\"scheme\":\"HTTP\"},\"initialDelaySeconds\":3,\"timeoutSeconds\":3,\"periodSeconds\":10,\"successThreshold\":1,\"failureThreshold\":3},\"terminationMessagePath\":\"/dev/termination-log\",\"terminationMessagePolicy\":\"File\",\"imagePullPolicy\":\"IfNotPresent\"}],\"restartPolicy\":\"Always\",\"terminationGracePeriodSeconds\":30,\"dnsPolicy\":\"ClusterFirst\",\"securityContext\":{},\"schedulerName\":\"default-scheduler\"}}},\"status\":{\"latestVersion\":1,\"observedGeneration\":2,\"replicas\":0,\"updatedReplicas\":0,\"availableReplicas\":0,\"unavailableReplicas\":0,\"details\":{\"message\":\"config change\",\"causes\":[{\"type\":\"ConfigChange\"}]},\"conditions\":[{\"type\":\"Available\",\"status\":\"False\",\"lastUpdateTime\":\"2018-01-25T23:41:39Z\",\"lastTransitionTime\":\"2018-01-25T23:41:39Z\",\"message\":\"Deployment config does not have minimum availability.\"}]}}\n"
},
"ownerReferences" : [{
"apiVersion" : "apps.openshift.io/v1",
"kind" : "DeploymentConfig",
"name" : "nodejs-mongo-persistent",
"uid" : "49f1c655-0229-11e8-b468-02d7377a4b17",
"controller" : true,
"blockOwnerDeletion" : true
}]
},
"spec" : {
"replicas" : 0,
"selector" : {
"deployment" : "nodejs-mongo-persistent-1",
"deploymentconfig" : "nodejs-mongo-persistent",
"name" : "nodejs-mongo-persistent"
},
"template" : {
"metadata" : {
"labels" : {
"deployment" : "nodejs-mongo-persistent-1",
"deploymentconfig" : "nodejs-mongo-persistent",
"name" : "nodejs-mongo-persistent"
},
"annotations" : {
"openshift.io/deployment-config.latest-version" : "1",
"openshift.io/deployment-config.name" : "nodejs-mongo-persistent",
"openshift.io/deployment.name" : "nodejs-mongo-persistent-1"
}
},
"spec" : {
"containers" : [{
"name" : "nodejs-mongo-persistent",
"image" : "172.30.98.11:5000/adietish-stage/nodejs-mongo-persistent@sha256:1f588995c3ed053bf5d548518094347c7fe4b41595cb7c452bb0f5469e69922d",
"ports" : [{
"containerPort" : 8080,
"protocol" : "TCP"
}],
"env" : [
{
"name" : "DATABASE_SERVICE_NAME",
"value" : "mongodb"
},
{
"name" : "MONGODB_USER",
"valueFrom" : {"secretKeyRef" : {
"name" : "nodejs-mongo-persistent",
"key" : "database-user"
}}
},
{
"name" : "MONGODB_PASSWORD",
"valueFrom" : {"secretKeyRef" : {
"name" : "nodejs-mongo-persistent",
"key" : "database-password"
}}
},
{
"name" : "MONGODB_DATABASE",
"value" : "sampledb"
},
{
"name" : "MONGODB_ADMIN_PASSWORD",
"valueFrom" : {"secretKeyRef" : {
"name" : "nodejs-mongo-persistent",
"key" : "database-admin-password"
}}
}
],
"resources" : {"limits" : {"memory" : "512Mi"}},
"livenessProbe" : {
"httpGet" : {
"path" : "/pagecount",
"port" : 8080,
"scheme" : "HTTP"
},
"initialDelaySeconds" : 30,
"timeoutSeconds" : 3,
"periodSeconds" : 10,
"successThreshold" : 1,
"failureThreshold" : 3
},
"readinessProbe" : {
"httpGet" : {
"path" : "/pagecount",
"port" : 8080,
"scheme" : "HTTP"
},
"initialDelaySeconds" : 3,
"timeoutSeconds" : 3,
"periodSeconds" : 10,
"successThreshold" : 1,
"failureThreshold" : 3
},
"terminationMessagePath" : "/dev/termination-log",
"terminationMessagePolicy" : "File",
"imagePullPolicy" : "IfNotPresent"
}],
"restartPolicy" : "Always",
"terminationGracePeriodSeconds" : 30,
"dnsPolicy" : "ClusterFirst",
"securityContext" : {},
"schedulerName" : "default-scheduler"
}
}
},
"status" : {
"replicas" : 0,
"observedGeneration" : 3
},
"kind" : "ReplicationController",
"apiVersion" : "v1"
{code}
was (Author: adietish):
I get even more confused than I was before. What above failed all day long now seems to magically work. I can deploy and debug an app that I created via a nodejs:builder image.
The case where I create an app via template "nodejs-mongo-persitent" now fails with a different error:
!image-2018-01-26-00-49-39-691.png!
It now doesn't get the docker image labels that indicate where to deploy to within the pod. The issue is caused by unexpectedly shaped resources:
The tooling tries to retrieve the deployment config where it would find the deployment change triggers which holds the docker image uri. There are 2 strategies to get the dc from the service, both fail.
* [Strategy 1)|https://github.com/jbosstools/jbosstools-openshift/blob/master/plugins...] get dc name from selector "deploymentconfig" in service. Fails because there's no such selector
{code}
"selector" : {"name" : "nodejs-mongo-persistent"},
{code}
* [Strategy 2)|https://github.com/jbosstools/jbosstools-openshift/blob/master/plugins...] get dc by hopping svc -> rc -> pod -> dc. This fails because the rc is found but the pods matching the rc are not. The reason for this is that pod#labels [dont match|https://github.com/jbosstools/jbosstools-openshift/blob/master/plug...] the rc#replicaSelectors
** the rc:
{code}
{
"metadata" : {
"name" : "nodejs-3-vgqdt",
"generateName" : "nodejs-3-",
"namespace" : "adietish-stage",
"selfLink" : "/api/v1/namespaces/adietish-stage/pods/nodejs-3-vgqdt",
"uid" : "38778443-0229-11e8-b468-02d7377a4b17",
"resourceVersion" : "840363887",
"creationTimestamp" : "2018-01-25T23:41:09Z",
"labels" : {
"deployment" : "nodejs-3",
"deploymentconfig" : "nodejs"
},
"annotations" : {
"kubernetes.io/created-by" : "{\"kind\":\"SerializedReference\",\"apiVersion\":\"v1\",\"reference\":{\"kind\":\"ReplicationController\",\"namespace\":\"adietish-stage\",\"name\":\"nodejs-3\",\"uid\":\"c80559ee-0228-11e8-b468-02d7377a4b17\",\"apiVersion\":\"v1\",\"resourceVersion\":\"838522089\"}}\n",
"kubernetes.io/limit-ranger" : "LimitRanger plugin set: cpu, memory request for container nodejs; cpu, memory limit for container nodejs",
"openshift.io/deployment-config.latest-version" : "3",
"openshift.io/deployment-config.name" : "nodejs",
"openshift.io/deployment.name" : "nodejs-3",
"openshift.io/scc" : "restricted"
}
},
"spec" : {
"volumes" : [{
"name" : "default-token-k92bn",
"secret" : {
"secretName" : "default-token-k92bn",
"defaultMode" : 420
}
}],
"containers" : [{
"name" : "nodejs",
"image" : "172.30.98.11:5000/adietish-stage/nodejs@sha256:246763270f6d67ff3c31fab2e65be181822ff7f0811c376c73857622bbedafe8",
"ports" : [
{
"name" : "8080-tcp",
"containerPort" : 8080,
"protocol" : "TCP"
},
{
"name" : "debug",
"containerPort" : 5858,
"protocol" : "TCP"
}
],
"env" : [
{
"name" : "DEBUG_PORT",
"value" : "5858"
},
{
"name" : "DEV_MODE",
"value" : "true"
}
],
"resources" : {
"limits" : {
"cpu" : "1",
"memory" : "512Mi"
},
"requests" : {
"cpu" : "60m",
"memory" : "307Mi"
}
},
"volumeMounts" : [{
"name" : "default-token-k92bn",
"readOnly" : true,
"mountPath" : "/var/run/secrets/kubernetes.io/serviceaccount"
}],
"terminationMessagePath" : "/dev/termination-log",
"terminationMessagePolicy" : "File",
"imagePullPolicy" : "Always",
"securityContext" : {
"capabilities" : {"drop" : [
"KILL",
"MKNOD",
"NET_RAW",
"SETGID",
"SETUID"
]},
"privileged" : false,
"seLinuxOptions" : {"level" : "s0:c147,c129"},
"runAsUser" : 1021720000
}
}],
"restartPolicy" : "Always",
"terminationGracePeriodSeconds" : 30,
"dnsPolicy" : "ClusterFirst",
"nodeSelector" : {"type" : "compute"},
"serviceAccountName" : "default",
"serviceAccount" : "default",
"nodeName" : "ip-172-31-69-160.us-east-2.compute.internal",
"securityContext" : {
"seLinuxOptions" : {"level" : "s0:c147,c129"},
"fsGroup" : 1021720000
},
"imagePullSecrets" : [{"name" : "default-dockercfg-nstt4"}],
"schedulerName" : "default-scheduler"
},
"status" : {
"phase" : "Pending",
"conditions" : [
{
"type" : "Initialized",
"status" : "True",
"lastTransitionTime" : "2018-01-25T23:41:09Z"
},
{
"type" : "Ready",
"status" : "False",
"lastTransitionTime" : "2018-01-25T23:41:09Z",
"reason" : "ContainersNotReady",
"message" : "containers with unready status: [nodejs]"
},
{
"type" : "PodScheduled",
"status" : "True",
"lastTransitionTime" : "2018-01-25T23:41:09Z"
}
],
"hostIP" : "172.31.69.160",
"podIP" : "10.128.100.151",
"startTime" : "2018-01-25T23:41:09Z",
"containerStatuses" : [{
"name" : "nodejs",
"state" : {"waiting" : {
"reason" : "ImagePullBackOff",
"message" : "Back-off pulling image \"172.30.98.11:5000/adietish-stage/nodejs@sha256:246763270f6d67ff3c31fab2e65be181822ff7f0811c376c73857622bbedafe8\""
}},
"lastState" : {},
"ready" : false,
"restartCount" : 0,
"image" : "172.30.98.11:5000/adietish-stage/nodejs@sha256:246763270f6d67ff3c31fab2e65be181822ff7f0811c376c73857622bbedafe8",
"imageID" : ""
}],
"qosClass" : "Burstable"
},
"kind" : "Pod",
"apiVersion" : "v1"
}
{code}
** the pod:
{code}
{
"metadata" : {
"name" : "nodejs-mongo-persistent-1",
"namespace" : "adietish-stage",
"selfLink" : "/api/v1/namespaces/adietish-stage/replicationcontrollers/nodejs-mongo-persistent-1",
"uid" : "58827554-0229-11e8-b468-02d7377a4b17",
"resourceVersion" : "838552703",
"generation" : 3,
"creationTimestamp" : "2018-01-25T23:42:03Z",
"labels" : {
"openshift.io/deployment-config.name" : "nodejs-mongo-persistent",
"template" : "nodejs-mongo-persistent"
},
"annotations" : {
"kubectl.kubernetes.io/desired-replicas" : "1",
"openshift.io/deployer-pod.completed-at" : "2018-01-25 23:52:06 +0000 UTC",
"openshift.io/deployer-pod.created-at" : "2018-01-25 23:42:04 +0000 UTC",
"openshift.io/deployer-pod.name" : "nodejs-mongo-persistent-1-deploy",
"openshift.io/deployment-config.latest-version" : "1",
"openshift.io/deployment-config.name" : "nodejs-mongo-persistent",
"openshift.io/deployment.phase" : "Failed",
"openshift.io/deployment.replicas" : "0",
"openshift.io/deployment.status-reason" : "config change",
"openshift.io/encoded-deployment-config" : "{\"kind\":\"DeploymentConfig\",\"apiVersion\":\"v1\",\"metadata\":{\"name\":\"nodejs-mongo-persistent\",\"namespace\":\"adietish-stage\",\"selfLink\":\"/apis/apps.openshift.io/v1/namespaces/adietish-stage/deploymentconfigs/nodejs-mongo-persistent\",\"uid\":\"49f1c655-0229-11e8-b468-02d7377a4b17\",\"resourceVersion\":\"838525030\",\"generation\":2,\"creationTimestamp\":\"2018-01-25T23:41:39Z\",\"labels\":{\"template\":\"nodejs-mongo-persistent\"},\"annotations\":{\"description\":\"Defines how to deploy the application server\",\"template.alpha.openshift.io/wait-for-ready\":\"true\"}},\"spec\":{\"strategy\":{\"type\":\"Recreate\",\"recreateParams\":{\"timeoutSeconds\":600},\"resources\":{},\"activeDeadlineSeconds\":21600},\"triggers\":[{\"type\":\"ImageChange\",\"imageChangeParams\":{\"automatic\":true,\"containerNames\":[\"nodejs-mongo-persistent\"],\"from\":{\"kind\":\"ImageStreamTag\",\"namespace\":\"adietish-stage\",\"name\":\"nodejs-mongo-persistent:latest\"},\"lastTriggeredImage\":\"172.30.98.11:5000/adietish-stage/nodejs-mongo-persistent@sha256:1f588995c3ed053bf5d548518094347c7fe4b41595cb7c452bb0f5469e69922d\"}},{\"type\":\"ConfigChange\"}],\"replicas\":1,\"test\":false,\"selector\":{\"name\":\"nodejs-mongo-persistent\"},\"template\":{\"metadata\":{\"name\":\"nodejs-mongo-persistent\",\"creationTimestamp\":null,\"labels\":{\"name\":\"nodejs-mongo-persistent\"}},\"spec\":{\"containers\":[{\"name\":\"nodejs-mongo-persistent\",\"image\":\"172.30.98.11:5000/adietish-stage/nodejs-mongo-persistent@sha256:1f588995c3ed053bf5d548518094347c7fe4b41595cb7c452bb0f5469e69922d\",\"ports\":[{\"containerPort\":8080,\"protocol\":\"TCP\"}],\"env\":[{\"name\":\"DATABASE_SERVICE_NAME\",\"value\":\"mongodb\"},{\"name\":\"MONGODB_USER\",\"valueFrom\":{\"secretKeyRef\":{\"name\":\"nodejs-mongo-persistent\",\"key\":\"database-user\"}}},{\"name\":\"MONGODB_PASSWORD\",\"valueFrom\":{\"secretKeyRef\":{\"name\":\"nodejs-mongo-persistent\",\"key\":\"database-password\"}}},{\"name\":\"MONGODB_DATABASE\",\"value\":\"sampledb\"},{\"name\":\"MONGODB_ADMIN_PASSWORD\",\"valueFrom\":{\"secretKeyRef\":{\"name\":\"nodejs-mongo-persistent\",\"key\":\"database-admin-password\"}}}],\"resources\":{\"limits\":{\"memory\":\"512Mi\"}},\"livenessProbe\":{\"httpGet\":{\"path\":\"/pagecount\",\"port\":8080,\"scheme\":\"HTTP\"},\"initialDelaySeconds\":30,\"timeoutSeconds\":3,\"periodSeconds\":10,\"successThreshold\":1,\"failureThreshold\":3},\"readinessProbe\":{\"httpGet\":{\"path\":\"/pagecount\",\"port\":8080,\"scheme\":\"HTTP\"},\"initialDelaySeconds\":3,\"timeoutSeconds\":3,\"periodSeconds\":10,\"successThreshold\":1,\"failureThreshold\":3},\"terminationMessagePath\":\"/dev/termination-log\",\"terminationMessagePolicy\":\"File\",\"imagePullPolicy\":\"IfNotPresent\"}],\"restartPolicy\":\"Always\",\"terminationGracePeriodSeconds\":30,\"dnsPolicy\":\"ClusterFirst\",\"securityContext\":{},\"schedulerName\":\"default-scheduler\"}}},\"status\":{\"latestVersion\":1,\"observedGeneration\":2,\"replicas\":0,\"updatedReplicas\":0,\"availableReplicas\":0,\"unavailableReplicas\":0,\"details\":{\"message\":\"config change\",\"causes\":[{\"type\":\"ConfigChange\"}]},\"conditions\":[{\"type\":\"Available\",\"status\":\"False\",\"lastUpdateTime\":\"2018-01-25T23:41:39Z\",\"lastTransitionTime\":\"2018-01-25T23:41:39Z\",\"message\":\"Deployment config does not have minimum availability.\"}]}}\n"
},
"ownerReferences" : [{
"apiVersion" : "apps.openshift.io/v1",
"kind" : "DeploymentConfig",
"name" : "nodejs-mongo-persistent",
"uid" : "49f1c655-0229-11e8-b468-02d7377a4b17",
"controller" : true,
"blockOwnerDeletion" : true
}]
},
"spec" : {
"replicas" : 0,
"selector" : {
"deployment" : "nodejs-mongo-persistent-1",
"deploymentconfig" : "nodejs-mongo-persistent",
"name" : "nodejs-mongo-persistent"
},
"template" : {
"metadata" : {
"labels" : {
"deployment" : "nodejs-mongo-persistent-1",
"deploymentconfig" : "nodejs-mongo-persistent",
"name" : "nodejs-mongo-persistent"
},
"annotations" : {
"openshift.io/deployment-config.latest-version" : "1",
"openshift.io/deployment-config.name" : "nodejs-mongo-persistent",
"openshift.io/deployment.name" : "nodejs-mongo-persistent-1"
}
},
"spec" : {
"containers" : [{
"name" : "nodejs-mongo-persistent",
"image" : "172.30.98.11:5000/adietish-stage/nodejs-mongo-persistent@sha256:1f588995c3ed053bf5d548518094347c7fe4b41595cb7c452bb0f5469e69922d",
"ports" : [{
"containerPort" : 8080,
"protocol" : "TCP"
}],
"env" : [
{
"name" : "DATABASE_SERVICE_NAME",
"value" : "mongodb"
},
{
"name" : "MONGODB_USER",
"valueFrom" : {"secretKeyRef" : {
"name" : "nodejs-mongo-persistent",
"key" : "database-user"
}}
},
{
"name" : "MONGODB_PASSWORD",
"valueFrom" : {"secretKeyRef" : {
"name" : "nodejs-mongo-persistent",
"key" : "database-password"
}}
},
{
"name" : "MONGODB_DATABASE",
"value" : "sampledb"
},
{
"name" : "MONGODB_ADMIN_PASSWORD",
"valueFrom" : {"secretKeyRef" : {
"name" : "nodejs-mongo-persistent",
"key" : "database-admin-password"
}}
}
],
"resources" : {"limits" : {"memory" : "512Mi"}},
"livenessProbe" : {
"httpGet" : {
"path" : "/pagecount",
"port" : 8080,
"scheme" : "HTTP"
},
"initialDelaySeconds" : 30,
"timeoutSeconds" : 3,
"periodSeconds" : 10,
"successThreshold" : 1,
"failureThreshold" : 3
},
"readinessProbe" : {
"httpGet" : {
"path" : "/pagecount",
"port" : 8080,
"scheme" : "HTTP"
},
"initialDelaySeconds" : 3,
"timeoutSeconds" : 3,
"periodSeconds" : 10,
"successThreshold" : 1,
"failureThreshold" : 3
},
"terminationMessagePath" : "/dev/termination-log",
"terminationMessagePolicy" : "File",
"imagePullPolicy" : "IfNotPresent"
}],
"restartPolicy" : "Always",
"terminationGracePeriodSeconds" : 30,
"dnsPolicy" : "ClusterFirst",
"securityContext" : {},
"schedulerName" : "default-scheduler"
}
}
},
"status" : {
"replicas" : 0,
"observedGeneration" : 3
},
"kind" : "ReplicationController",
"apiVersion" : "v1"
{code}
> Server adapter: timeouts when starting into "Debug" on OpenShift Online
> -----------------------------------------------------------------------
>
> Key: JBIDE-25611
> URL: https://issues.jboss.org/browse/JBIDE-25611
> Project: Tools (JBoss Tools)
> Issue Type: Bug
> Components: openshift
> Affects Versions: 4.5.2.Final
> Reporter: Andre Dietisheim
> Assignee: Andre Dietisheim
> Fix For: 4.5.3.AM1
>
> Attachments: error-waiting-for-new-pod.png, image-2018-01-24-18-58-29-159.png, image-2018-01-25-10-49-09-369.png, image-2018-01-26-00-49-39-691.png, pod-ports-cdk.png, pod-ports-online.png, port-missing.png
>
>
> # ASSERT: have an account on OpenShift Online
> # EXEC: create a new application via template nodejs-mongo-persistent
> # EXEC: have the project imported into the workspace and the server adapter for it created
> # ASSERT: you have a new server adapter for your app in state [stopped]
> # EXEC: start the adapter into "Debug"
> Result:
> The adapter takes a lot of time to start but wont succeed eventually. You get the following error dialog:
> !error-waiting-for-new-pod.png!
> In the Eclipse log you'll find the following:
> {code}
> org.eclipse.core.runtime.CoreException: Failed to detect new deployed Pod for nodejs-mongo-persistent
> at org.jboss.tools.openshift.internal.core.server.debug.OpenShiftDebugMode.waitFor(OpenShiftDebugMode.java:403)
> at org.jboss.tools.openshift.internal.core.server.debug.OpenShiftDebugMode.waitForNewPod(OpenShiftDebugMode.java:395)
> at org.jboss.tools.openshift.internal.core.server.debug.OpenShiftDebugMode.getPod(OpenShiftDebugMode.java:226)
> at org.jboss.tools.openshift.internal.core.server.debug.OpenShiftDebugMode.execute(OpenShiftDebugMode.java:170)
> at org.jboss.tools.openshift.core.server.behavior.OpenShiftLaunchController.launch(OpenShiftLaunchController.java:100)
> at org.jboss.ide.eclipse.as.wtp.core.server.launch.ControllableServerLaunchConfiguration.launch(ControllableServerLaunchConfiguration.java:52)
> at org.eclipse.debug.internal.core.LaunchConfiguration.launch(LaunchConfiguration.java:885)
> at org.eclipse.debug.internal.core.LaunchConfiguration.launch(LaunchConfiguration.java:739)
> at org.eclipse.debug.internal.core.LaunchConfiguration.launch(LaunchConfiguration.java:731)
> at org.eclipse.wst.server.core.internal.Server.startImpl2(Server.java:3566)
> at org.eclipse.wst.server.core.internal.Server.startImpl(Server.java:3502)
> at org.eclipse.wst.server.core.internal.Server$StartJob.run(Server.java:377)
> at org.eclipse.core.internal.jobs.Worker.run(Worker.java:56)
> {code}
--
This message was sent by Atlassian JIRA
(v7.5.0#75005)
6 years, 5 months
[JBoss JIRA] (JBIDE-25611) Server adapter: timeouts when starting into "Debug" on OpenShift Online
by Andre Dietisheim (JIRA)
[ https://issues.jboss.org/browse/JBIDE-25611?page=com.atlassian.jira.plugi... ]
Andre Dietisheim edited comment on JBIDE-25611 at 1/26/18 6:14 AM:
-------------------------------------------------------------------
I get even more confused than I was before. What above failed all day long now seems to magically work. I can deploy and debug an app that I created via a nodejs:builder image.
The case where I create an app via template "nodejs-mongo-persitent" now fails with a different error:
!image-2018-01-26-00-49-39-691.png!
It now doesn't get the docker image labels that indicate where to deploy to within the pod. The issue is caused by unexpectedly shaped resources:
The tooling tries to retrieve the deployment config where it would find the deployment change triggers which holds the docker image uri. There are 2 strategies to get the dc from the service, both fail.
* [Strategy 1)|https://github.com/jbosstools/jbosstools-openshift/blob/master/plugins...] get dc name from selector "deploymentconfig" in service. Fails because there's no such selector
{code}
"selector" : {"name" : "nodejs-mongo-persistent"},
{code}
* [Strategy 2)|https://github.com/jbosstools/jbosstools-openshift/blob/master/plugins...] get dc by hopping svc -> rc -> pod -> dc. This fails because the rc is found but the pods matching the rc are not. The reason for this is that pod#labels [dont match|https://github.com/jbosstools/jbosstools-openshift/blob/master/plug...] the rc#replicaSelectors
** the rc:
{code}
{
"metadata" : {
"name" : "nodejs-3-vgqdt",
"generateName" : "nodejs-3-",
"namespace" : "adietish-stage",
"selfLink" : "/api/v1/namespaces/adietish-stage/pods/nodejs-3-vgqdt",
"uid" : "38778443-0229-11e8-b468-02d7377a4b17",
"resourceVersion" : "840363887",
"creationTimestamp" : "2018-01-25T23:41:09Z",
"labels" : {
"deployment" : "nodejs-3",
"deploymentconfig" : "nodejs"
},
"annotations" : {
"kubernetes.io/created-by" : "{\"kind\":\"SerializedReference\",\"apiVersion\":\"v1\",\"reference\":{\"kind\":\"ReplicationController\",\"namespace\":\"adietish-stage\",\"name\":\"nodejs-3\",\"uid\":\"c80559ee-0228-11e8-b468-02d7377a4b17\",\"apiVersion\":\"v1\",\"resourceVersion\":\"838522089\"}}\n",
"kubernetes.io/limit-ranger" : "LimitRanger plugin set: cpu, memory request for container nodejs; cpu, memory limit for container nodejs",
"openshift.io/deployment-config.latest-version" : "3",
"openshift.io/deployment-config.name" : "nodejs",
"openshift.io/deployment.name" : "nodejs-3",
"openshift.io/scc" : "restricted"
}
},
"spec" : {
"volumes" : [{
"name" : "default-token-k92bn",
"secret" : {
"secretName" : "default-token-k92bn",
"defaultMode" : 420
}
}],
"containers" : [{
"name" : "nodejs",
"image" : "172.30.98.11:5000/adietish-stage/nodejs@sha256:246763270f6d67ff3c31fab2e65be181822ff7f0811c376c73857622bbedafe8",
"ports" : [
{
"name" : "8080-tcp",
"containerPort" : 8080,
"protocol" : "TCP"
},
{
"name" : "debug",
"containerPort" : 5858,
"protocol" : "TCP"
}
],
"env" : [
{
"name" : "DEBUG_PORT",
"value" : "5858"
},
{
"name" : "DEV_MODE",
"value" : "true"
}
],
"resources" : {
"limits" : {
"cpu" : "1",
"memory" : "512Mi"
},
"requests" : {
"cpu" : "60m",
"memory" : "307Mi"
}
},
"volumeMounts" : [{
"name" : "default-token-k92bn",
"readOnly" : true,
"mountPath" : "/var/run/secrets/kubernetes.io/serviceaccount"
}],
"terminationMessagePath" : "/dev/termination-log",
"terminationMessagePolicy" : "File",
"imagePullPolicy" : "Always",
"securityContext" : {
"capabilities" : {"drop" : [
"KILL",
"MKNOD",
"NET_RAW",
"SETGID",
"SETUID"
]},
"privileged" : false,
"seLinuxOptions" : {"level" : "s0:c147,c129"},
"runAsUser" : 1021720000
}
}],
"restartPolicy" : "Always",
"terminationGracePeriodSeconds" : 30,
"dnsPolicy" : "ClusterFirst",
"nodeSelector" : {"type" : "compute"},
"serviceAccountName" : "default",
"serviceAccount" : "default",
"nodeName" : "ip-172-31-69-160.us-east-2.compute.internal",
"securityContext" : {
"seLinuxOptions" : {"level" : "s0:c147,c129"},
"fsGroup" : 1021720000
},
"imagePullSecrets" : [{"name" : "default-dockercfg-nstt4"}],
"schedulerName" : "default-scheduler"
},
"status" : {
"phase" : "Pending",
"conditions" : [
{
"type" : "Initialized",
"status" : "True",
"lastTransitionTime" : "2018-01-25T23:41:09Z"
},
{
"type" : "Ready",
"status" : "False",
"lastTransitionTime" : "2018-01-25T23:41:09Z",
"reason" : "ContainersNotReady",
"message" : "containers with unready status: [nodejs]"
},
{
"type" : "PodScheduled",
"status" : "True",
"lastTransitionTime" : "2018-01-25T23:41:09Z"
}
],
"hostIP" : "172.31.69.160",
"podIP" : "10.128.100.151",
"startTime" : "2018-01-25T23:41:09Z",
"containerStatuses" : [{
"name" : "nodejs",
"state" : {"waiting" : {
"reason" : "ImagePullBackOff",
"message" : "Back-off pulling image \"172.30.98.11:5000/adietish-stage/nodejs@sha256:246763270f6d67ff3c31fab2e65be181822ff7f0811c376c73857622bbedafe8\""
}},
"lastState" : {},
"ready" : false,
"restartCount" : 0,
"image" : "172.30.98.11:5000/adietish-stage/nodejs@sha256:246763270f6d67ff3c31fab2e65be181822ff7f0811c376c73857622bbedafe8",
"imageID" : ""
}],
"qosClass" : "Burstable"
},
"kind" : "Pod",
"apiVersion" : "v1"
}
{code}
** the pod:
{code}
{
"metadata" : {
"name" : "nodejs-mongo-persistent-1",
"namespace" : "adietish-stage",
"selfLink" : "/api/v1/namespaces/adietish-stage/replicationcontrollers/nodejs-mongo-persistent-1",
"uid" : "58827554-0229-11e8-b468-02d7377a4b17",
"resourceVersion" : "838552703",
"generation" : 3,
"creationTimestamp" : "2018-01-25T23:42:03Z",
"labels" : {
"openshift.io/deployment-config.name" : "nodejs-mongo-persistent",
"template" : "nodejs-mongo-persistent"
},
"annotations" : {
"kubectl.kubernetes.io/desired-replicas" : "1",
"openshift.io/deployer-pod.completed-at" : "2018-01-25 23:52:06 +0000 UTC",
"openshift.io/deployer-pod.created-at" : "2018-01-25 23:42:04 +0000 UTC",
"openshift.io/deployer-pod.name" : "nodejs-mongo-persistent-1-deploy",
"openshift.io/deployment-config.latest-version" : "1",
"openshift.io/deployment-config.name" : "nodejs-mongo-persistent",
"openshift.io/deployment.phase" : "Failed",
"openshift.io/deployment.replicas" : "0",
"openshift.io/deployment.status-reason" : "config change",
"openshift.io/encoded-deployment-config" : "{\"kind\":\"DeploymentConfig\",\"apiVersion\":\"v1\",\"metadata\":{\"name\":\"nodejs-mongo-persistent\",\"namespace\":\"adietish-stage\",\"selfLink\":\"/apis/apps.openshift.io/v1/namespaces/adietish-stage/deploymentconfigs/nodejs-mongo-persistent\",\"uid\":\"49f1c655-0229-11e8-b468-02d7377a4b17\",\"resourceVersion\":\"838525030\",\"generation\":2,\"creationTimestamp\":\"2018-01-25T23:41:39Z\",\"labels\":{\"template\":\"nodejs-mongo-persistent\"},\"annotations\":{\"description\":\"Defines how to deploy the application server\",\"template.alpha.openshift.io/wait-for-ready\":\"true\"}},\"spec\":{\"strategy\":{\"type\":\"Recreate\",\"recreateParams\":{\"timeoutSeconds\":600},\"resources\":{},\"activeDeadlineSeconds\":21600},\"triggers\":[{\"type\":\"ImageChange\",\"imageChangeParams\":{\"automatic\":true,\"containerNames\":[\"nodejs-mongo-persistent\"],\"from\":{\"kind\":\"ImageStreamTag\",\"namespace\":\"adietish-stage\",\"name\":\"nodejs-mongo-persistent:latest\"},\"lastTriggeredImage\":\"172.30.98.11:5000/adietish-stage/nodejs-mongo-persistent@sha256:1f588995c3ed053bf5d548518094347c7fe4b41595cb7c452bb0f5469e69922d\"}},{\"type\":\"ConfigChange\"}],\"replicas\":1,\"test\":false,\"selector\":{\"name\":\"nodejs-mongo-persistent\"},\"template\":{\"metadata\":{\"name\":\"nodejs-mongo-persistent\",\"creationTimestamp\":null,\"labels\":{\"name\":\"nodejs-mongo-persistent\"}},\"spec\":{\"containers\":[{\"name\":\"nodejs-mongo-persistent\",\"image\":\"172.30.98.11:5000/adietish-stage/nodejs-mongo-persistent@sha256:1f588995c3ed053bf5d548518094347c7fe4b41595cb7c452bb0f5469e69922d\",\"ports\":[{\"containerPort\":8080,\"protocol\":\"TCP\"}],\"env\":[{\"name\":\"DATABASE_SERVICE_NAME\",\"value\":\"mongodb\"},{\"name\":\"MONGODB_USER\",\"valueFrom\":{\"secretKeyRef\":{\"name\":\"nodejs-mongo-persistent\",\"key\":\"database-user\"}}},{\"name\":\"MONGODB_PASSWORD\",\"valueFrom\":{\"secretKeyRef\":{\"name\":\"nodejs-mongo-persistent\",\"key\":\"database-password\"}}},{\"name\":\"MONGODB_DATABASE\",\"value\":\"sampledb\"},{\"name\":\"MONGODB_ADMIN_PASSWORD\",\"valueFrom\":{\"secretKeyRef\":{\"name\":\"nodejs-mongo-persistent\",\"key\":\"database-admin-password\"}}}],\"resources\":{\"limits\":{\"memory\":\"512Mi\"}},\"livenessProbe\":{\"httpGet\":{\"path\":\"/pagecount\",\"port\":8080,\"scheme\":\"HTTP\"},\"initialDelaySeconds\":30,\"timeoutSeconds\":3,\"periodSeconds\":10,\"successThreshold\":1,\"failureThreshold\":3},\"readinessProbe\":{\"httpGet\":{\"path\":\"/pagecount\",\"port\":8080,\"scheme\":\"HTTP\"},\"initialDelaySeconds\":3,\"timeoutSeconds\":3,\"periodSeconds\":10,\"successThreshold\":1,\"failureThreshold\":3},\"terminationMessagePath\":\"/dev/termination-log\",\"terminationMessagePolicy\":\"File\",\"imagePullPolicy\":\"IfNotPresent\"}],\"restartPolicy\":\"Always\",\"terminationGracePeriodSeconds\":30,\"dnsPolicy\":\"ClusterFirst\",\"securityContext\":{},\"schedulerName\":\"default-scheduler\"}}},\"status\":{\"latestVersion\":1,\"observedGeneration\":2,\"replicas\":0,\"updatedReplicas\":0,\"availableReplicas\":0,\"unavailableReplicas\":0,\"details\":{\"message\":\"config change\",\"causes\":[{\"type\":\"ConfigChange\"}]},\"conditions\":[{\"type\":\"Available\",\"status\":\"False\",\"lastUpdateTime\":\"2018-01-25T23:41:39Z\",\"lastTransitionTime\":\"2018-01-25T23:41:39Z\",\"message\":\"Deployment config does not have minimum availability.\"}]}}\n"
},
"ownerReferences" : [{
"apiVersion" : "apps.openshift.io/v1",
"kind" : "DeploymentConfig",
"name" : "nodejs-mongo-persistent",
"uid" : "49f1c655-0229-11e8-b468-02d7377a4b17",
"controller" : true,
"blockOwnerDeletion" : true
}]
},
"spec" : {
"replicas" : 0,
"selector" : {
"deployment" : "nodejs-mongo-persistent-1",
"deploymentconfig" : "nodejs-mongo-persistent",
"name" : "nodejs-mongo-persistent"
},
"template" : {
"metadata" : {
"labels" : {
"deployment" : "nodejs-mongo-persistent-1",
"deploymentconfig" : "nodejs-mongo-persistent",
"name" : "nodejs-mongo-persistent"
},
"annotations" : {
"openshift.io/deployment-config.latest-version" : "1",
"openshift.io/deployment-config.name" : "nodejs-mongo-persistent",
"openshift.io/deployment.name" : "nodejs-mongo-persistent-1"
}
},
"spec" : {
"containers" : [{
"name" : "nodejs-mongo-persistent",
"image" : "172.30.98.11:5000/adietish-stage/nodejs-mongo-persistent@sha256:1f588995c3ed053bf5d548518094347c7fe4b41595cb7c452bb0f5469e69922d",
"ports" : [{
"containerPort" : 8080,
"protocol" : "TCP"
}],
"env" : [
{
"name" : "DATABASE_SERVICE_NAME",
"value" : "mongodb"
},
{
"name" : "MONGODB_USER",
"valueFrom" : {"secretKeyRef" : {
"name" : "nodejs-mongo-persistent",
"key" : "database-user"
}}
},
{
"name" : "MONGODB_PASSWORD",
"valueFrom" : {"secretKeyRef" : {
"name" : "nodejs-mongo-persistent",
"key" : "database-password"
}}
},
{
"name" : "MONGODB_DATABASE",
"value" : "sampledb"
},
{
"name" : "MONGODB_ADMIN_PASSWORD",
"valueFrom" : {"secretKeyRef" : {
"name" : "nodejs-mongo-persistent",
"key" : "database-admin-password"
}}
}
],
"resources" : {"limits" : {"memory" : "512Mi"}},
"livenessProbe" : {
"httpGet" : {
"path" : "/pagecount",
"port" : 8080,
"scheme" : "HTTP"
},
"initialDelaySeconds" : 30,
"timeoutSeconds" : 3,
"periodSeconds" : 10,
"successThreshold" : 1,
"failureThreshold" : 3
},
"readinessProbe" : {
"httpGet" : {
"path" : "/pagecount",
"port" : 8080,
"scheme" : "HTTP"
},
"initialDelaySeconds" : 3,
"timeoutSeconds" : 3,
"periodSeconds" : 10,
"successThreshold" : 1,
"failureThreshold" : 3
},
"terminationMessagePath" : "/dev/termination-log",
"terminationMessagePolicy" : "File",
"imagePullPolicy" : "IfNotPresent"
}],
"restartPolicy" : "Always",
"terminationGracePeriodSeconds" : 30,
"dnsPolicy" : "ClusterFirst",
"securityContext" : {},
"schedulerName" : "default-scheduler"
}
}
},
"status" : {
"replicas" : 0,
"observedGeneration" : 3
},
"kind" : "ReplicationController",
"apiVersion" : "v1"
{code}
was (Author: adietish):
I get even more confused than I was before. What above failed all day long now seems to magically work. I can deploy and debug an app that I created via a nodejs:builder image.
The case where I create an app via template "nodejs-mongo-persitent" now fails with a different error:
!image-2018-01-26-00-49-39-691.png!
It now doesn't get the docker image labels that indicate where to deploy to within the pod. The issue is caused by unexpectedly shaped resources:
The tooling tries to retrieve the deployment config where it would find the deployment change triggers which holds the docker image uri. There are 2 strategies to get the dc from the service, both fail.
* [Strategy 1)|https://github.com/jbosstools/jbosstools-openshift/blob/master/plugins...] get dc name from selector "deploymentconfig" in service. Fails because there's no such selector
{code}
"selector" : {"name" : "nodejs-mongo-persistent"},
{code}
* [Strategy 2)|https://github.com/jbosstools/jbosstools-openshift/blob/master/plugins...] get dc by hopping svc -> rc -> pod -> dc. This fails because the rc is found but the pods matching the rc are not. The reason for this is that pod#labels [dont match|https://github.com/jbosstools/jbosstools-openshift/blob/master/plug...] the rc#replicaSelectors
the rc:
{code}
{
"metadata" : {
"name" : "nodejs-3-vgqdt",
"generateName" : "nodejs-3-",
"namespace" : "adietish-stage",
"selfLink" : "/api/v1/namespaces/adietish-stage/pods/nodejs-3-vgqdt",
"uid" : "38778443-0229-11e8-b468-02d7377a4b17",
"resourceVersion" : "840363887",
"creationTimestamp" : "2018-01-25T23:41:09Z",
"labels" : {
"deployment" : "nodejs-3",
"deploymentconfig" : "nodejs"
},
"annotations" : {
"kubernetes.io/created-by" : "{\"kind\":\"SerializedReference\",\"apiVersion\":\"v1\",\"reference\":{\"kind\":\"ReplicationController\",\"namespace\":\"adietish-stage\",\"name\":\"nodejs-3\",\"uid\":\"c80559ee-0228-11e8-b468-02d7377a4b17\",\"apiVersion\":\"v1\",\"resourceVersion\":\"838522089\"}}\n",
"kubernetes.io/limit-ranger" : "LimitRanger plugin set: cpu, memory request for container nodejs; cpu, memory limit for container nodejs",
"openshift.io/deployment-config.latest-version" : "3",
"openshift.io/deployment-config.name" : "nodejs",
"openshift.io/deployment.name" : "nodejs-3",
"openshift.io/scc" : "restricted"
}
},
"spec" : {
"volumes" : [{
"name" : "default-token-k92bn",
"secret" : {
"secretName" : "default-token-k92bn",
"defaultMode" : 420
}
}],
"containers" : [{
"name" : "nodejs",
"image" : "172.30.98.11:5000/adietish-stage/nodejs@sha256:246763270f6d67ff3c31fab2e65be181822ff7f0811c376c73857622bbedafe8",
"ports" : [
{
"name" : "8080-tcp",
"containerPort" : 8080,
"protocol" : "TCP"
},
{
"name" : "debug",
"containerPort" : 5858,
"protocol" : "TCP"
}
],
"env" : [
{
"name" : "DEBUG_PORT",
"value" : "5858"
},
{
"name" : "DEV_MODE",
"value" : "true"
}
],
"resources" : {
"limits" : {
"cpu" : "1",
"memory" : "512Mi"
},
"requests" : {
"cpu" : "60m",
"memory" : "307Mi"
}
},
"volumeMounts" : [{
"name" : "default-token-k92bn",
"readOnly" : true,
"mountPath" : "/var/run/secrets/kubernetes.io/serviceaccount"
}],
"terminationMessagePath" : "/dev/termination-log",
"terminationMessagePolicy" : "File",
"imagePullPolicy" : "Always",
"securityContext" : {
"capabilities" : {"drop" : [
"KILL",
"MKNOD",
"NET_RAW",
"SETGID",
"SETUID"
]},
"privileged" : false,
"seLinuxOptions" : {"level" : "s0:c147,c129"},
"runAsUser" : 1021720000
}
}],
"restartPolicy" : "Always",
"terminationGracePeriodSeconds" : 30,
"dnsPolicy" : "ClusterFirst",
"nodeSelector" : {"type" : "compute"},
"serviceAccountName" : "default",
"serviceAccount" : "default",
"nodeName" : "ip-172-31-69-160.us-east-2.compute.internal",
"securityContext" : {
"seLinuxOptions" : {"level" : "s0:c147,c129"},
"fsGroup" : 1021720000
},
"imagePullSecrets" : [{"name" : "default-dockercfg-nstt4"}],
"schedulerName" : "default-scheduler"
},
"status" : {
"phase" : "Pending",
"conditions" : [
{
"type" : "Initialized",
"status" : "True",
"lastTransitionTime" : "2018-01-25T23:41:09Z"
},
{
"type" : "Ready",
"status" : "False",
"lastTransitionTime" : "2018-01-25T23:41:09Z",
"reason" : "ContainersNotReady",
"message" : "containers with unready status: [nodejs]"
},
{
"type" : "PodScheduled",
"status" : "True",
"lastTransitionTime" : "2018-01-25T23:41:09Z"
}
],
"hostIP" : "172.31.69.160",
"podIP" : "10.128.100.151",
"startTime" : "2018-01-25T23:41:09Z",
"containerStatuses" : [{
"name" : "nodejs",
"state" : {"waiting" : {
"reason" : "ImagePullBackOff",
"message" : "Back-off pulling image \"172.30.98.11:5000/adietish-stage/nodejs@sha256:246763270f6d67ff3c31fab2e65be181822ff7f0811c376c73857622bbedafe8\""
}},
"lastState" : {},
"ready" : false,
"restartCount" : 0,
"image" : "172.30.98.11:5000/adietish-stage/nodejs@sha256:246763270f6d67ff3c31fab2e65be181822ff7f0811c376c73857622bbedafe8",
"imageID" : ""
}],
"qosClass" : "Burstable"
},
"kind" : "Pod",
"apiVersion" : "v1"
}
{code}
the pod:
{code}
{
"metadata" : {
"name" : "nodejs-mongo-persistent-1",
"namespace" : "adietish-stage",
"selfLink" : "/api/v1/namespaces/adietish-stage/replicationcontrollers/nodejs-mongo-persistent-1",
"uid" : "58827554-0229-11e8-b468-02d7377a4b17",
"resourceVersion" : "838552703",
"generation" : 3,
"creationTimestamp" : "2018-01-25T23:42:03Z",
"labels" : {
"openshift.io/deployment-config.name" : "nodejs-mongo-persistent",
"template" : "nodejs-mongo-persistent"
},
"annotations" : {
"kubectl.kubernetes.io/desired-replicas" : "1",
"openshift.io/deployer-pod.completed-at" : "2018-01-25 23:52:06 +0000 UTC",
"openshift.io/deployer-pod.created-at" : "2018-01-25 23:42:04 +0000 UTC",
"openshift.io/deployer-pod.name" : "nodejs-mongo-persistent-1-deploy",
"openshift.io/deployment-config.latest-version" : "1",
"openshift.io/deployment-config.name" : "nodejs-mongo-persistent",
"openshift.io/deployment.phase" : "Failed",
"openshift.io/deployment.replicas" : "0",
"openshift.io/deployment.status-reason" : "config change",
"openshift.io/encoded-deployment-config" : "{\"kind\":\"DeploymentConfig\",\"apiVersion\":\"v1\",\"metadata\":{\"name\":\"nodejs-mongo-persistent\",\"namespace\":\"adietish-stage\",\"selfLink\":\"/apis/apps.openshift.io/v1/namespaces/adietish-stage/deploymentconfigs/nodejs-mongo-persistent\",\"uid\":\"49f1c655-0229-11e8-b468-02d7377a4b17\",\"resourceVersion\":\"838525030\",\"generation\":2,\"creationTimestamp\":\"2018-01-25T23:41:39Z\",\"labels\":{\"template\":\"nodejs-mongo-persistent\"},\"annotations\":{\"description\":\"Defines how to deploy the application server\",\"template.alpha.openshift.io/wait-for-ready\":\"true\"}},\"spec\":{\"strategy\":{\"type\":\"Recreate\",\"recreateParams\":{\"timeoutSeconds\":600},\"resources\":{},\"activeDeadlineSeconds\":21600},\"triggers\":[{\"type\":\"ImageChange\",\"imageChangeParams\":{\"automatic\":true,\"containerNames\":[\"nodejs-mongo-persistent\"],\"from\":{\"kind\":\"ImageStreamTag\",\"namespace\":\"adietish-stage\",\"name\":\"nodejs-mongo-persistent:latest\"},\"lastTriggeredImage\":\"172.30.98.11:5000/adietish-stage/nodejs-mongo-persistent@sha256:1f588995c3ed053bf5d548518094347c7fe4b41595cb7c452bb0f5469e69922d\"}},{\"type\":\"ConfigChange\"}],\"replicas\":1,\"test\":false,\"selector\":{\"name\":\"nodejs-mongo-persistent\"},\"template\":{\"metadata\":{\"name\":\"nodejs-mongo-persistent\",\"creationTimestamp\":null,\"labels\":{\"name\":\"nodejs-mongo-persistent\"}},\"spec\":{\"containers\":[{\"name\":\"nodejs-mongo-persistent\",\"image\":\"172.30.98.11:5000/adietish-stage/nodejs-mongo-persistent@sha256:1f588995c3ed053bf5d548518094347c7fe4b41595cb7c452bb0f5469e69922d\",\"ports\":[{\"containerPort\":8080,\"protocol\":\"TCP\"}],\"env\":[{\"name\":\"DATABASE_SERVICE_NAME\",\"value\":\"mongodb\"},{\"name\":\"MONGODB_USER\",\"valueFrom\":{\"secretKeyRef\":{\"name\":\"nodejs-mongo-persistent\",\"key\":\"database-user\"}}},{\"name\":\"MONGODB_PASSWORD\",\"valueFrom\":{\"secretKeyRef\":{\"name\":\"nodejs-mongo-persistent\",\"key\":\"database-password\"}}},{\"name\":\"MONGODB_DATABASE\",\"value\":\"sampledb\"},{\"name\":\"MONGODB_ADMIN_PASSWORD\",\"valueFrom\":{\"secretKeyRef\":{\"name\":\"nodejs-mongo-persistent\",\"key\":\"database-admin-password\"}}}],\"resources\":{\"limits\":{\"memory\":\"512Mi\"}},\"livenessProbe\":{\"httpGet\":{\"path\":\"/pagecount\",\"port\":8080,\"scheme\":\"HTTP\"},\"initialDelaySeconds\":30,\"timeoutSeconds\":3,\"periodSeconds\":10,\"successThreshold\":1,\"failureThreshold\":3},\"readinessProbe\":{\"httpGet\":{\"path\":\"/pagecount\",\"port\":8080,\"scheme\":\"HTTP\"},\"initialDelaySeconds\":3,\"timeoutSeconds\":3,\"periodSeconds\":10,\"successThreshold\":1,\"failureThreshold\":3},\"terminationMessagePath\":\"/dev/termination-log\",\"terminationMessagePolicy\":\"File\",\"imagePullPolicy\":\"IfNotPresent\"}],\"restartPolicy\":\"Always\",\"terminationGracePeriodSeconds\":30,\"dnsPolicy\":\"ClusterFirst\",\"securityContext\":{},\"schedulerName\":\"default-scheduler\"}}},\"status\":{\"latestVersion\":1,\"observedGeneration\":2,\"replicas\":0,\"updatedReplicas\":0,\"availableReplicas\":0,\"unavailableReplicas\":0,\"details\":{\"message\":\"config change\",\"causes\":[{\"type\":\"ConfigChange\"}]},\"conditions\":[{\"type\":\"Available\",\"status\":\"False\",\"lastUpdateTime\":\"2018-01-25T23:41:39Z\",\"lastTransitionTime\":\"2018-01-25T23:41:39Z\",\"message\":\"Deployment config does not have minimum availability.\"}]}}\n"
},
"ownerReferences" : [{
"apiVersion" : "apps.openshift.io/v1",
"kind" : "DeploymentConfig",
"name" : "nodejs-mongo-persistent",
"uid" : "49f1c655-0229-11e8-b468-02d7377a4b17",
"controller" : true,
"blockOwnerDeletion" : true
}]
},
"spec" : {
"replicas" : 0,
"selector" : {
"deployment" : "nodejs-mongo-persistent-1",
"deploymentconfig" : "nodejs-mongo-persistent",
"name" : "nodejs-mongo-persistent"
},
"template" : {
"metadata" : {
"labels" : {
"deployment" : "nodejs-mongo-persistent-1",
"deploymentconfig" : "nodejs-mongo-persistent",
"name" : "nodejs-mongo-persistent"
},
"annotations" : {
"openshift.io/deployment-config.latest-version" : "1",
"openshift.io/deployment-config.name" : "nodejs-mongo-persistent",
"openshift.io/deployment.name" : "nodejs-mongo-persistent-1"
}
},
"spec" : {
"containers" : [{
"name" : "nodejs-mongo-persistent",
"image" : "172.30.98.11:5000/adietish-stage/nodejs-mongo-persistent@sha256:1f588995c3ed053bf5d548518094347c7fe4b41595cb7c452bb0f5469e69922d",
"ports" : [{
"containerPort" : 8080,
"protocol" : "TCP"
}],
"env" : [
{
"name" : "DATABASE_SERVICE_NAME",
"value" : "mongodb"
},
{
"name" : "MONGODB_USER",
"valueFrom" : {"secretKeyRef" : {
"name" : "nodejs-mongo-persistent",
"key" : "database-user"
}}
},
{
"name" : "MONGODB_PASSWORD",
"valueFrom" : {"secretKeyRef" : {
"name" : "nodejs-mongo-persistent",
"key" : "database-password"
}}
},
{
"name" : "MONGODB_DATABASE",
"value" : "sampledb"
},
{
"name" : "MONGODB_ADMIN_PASSWORD",
"valueFrom" : {"secretKeyRef" : {
"name" : "nodejs-mongo-persistent",
"key" : "database-admin-password"
}}
}
],
"resources" : {"limits" : {"memory" : "512Mi"}},
"livenessProbe" : {
"httpGet" : {
"path" : "/pagecount",
"port" : 8080,
"scheme" : "HTTP"
},
"initialDelaySeconds" : 30,
"timeoutSeconds" : 3,
"periodSeconds" : 10,
"successThreshold" : 1,
"failureThreshold" : 3
},
"readinessProbe" : {
"httpGet" : {
"path" : "/pagecount",
"port" : 8080,
"scheme" : "HTTP"
},
"initialDelaySeconds" : 3,
"timeoutSeconds" : 3,
"periodSeconds" : 10,
"successThreshold" : 1,
"failureThreshold" : 3
},
"terminationMessagePath" : "/dev/termination-log",
"terminationMessagePolicy" : "File",
"imagePullPolicy" : "IfNotPresent"
}],
"restartPolicy" : "Always",
"terminationGracePeriodSeconds" : 30,
"dnsPolicy" : "ClusterFirst",
"securityContext" : {},
"schedulerName" : "default-scheduler"
}
}
},
"status" : {
"replicas" : 0,
"observedGeneration" : 3
},
"kind" : "ReplicationController",
"apiVersion" : "v1"
{code}
> Server adapter: timeouts when starting into "Debug" on OpenShift Online
> -----------------------------------------------------------------------
>
> Key: JBIDE-25611
> URL: https://issues.jboss.org/browse/JBIDE-25611
> Project: Tools (JBoss Tools)
> Issue Type: Bug
> Components: openshift
> Affects Versions: 4.5.2.Final
> Reporter: Andre Dietisheim
> Assignee: Andre Dietisheim
> Fix For: 4.5.3.AM1
>
> Attachments: error-waiting-for-new-pod.png, image-2018-01-24-18-58-29-159.png, image-2018-01-25-10-49-09-369.png, image-2018-01-26-00-49-39-691.png, pod-ports-cdk.png, pod-ports-online.png, port-missing.png
>
>
> # ASSERT: have an account on OpenShift Online
> # EXEC: create a new application via template nodejs-mongo-persistent
> # EXEC: have the project imported into the workspace and the server adapter for it created
> # ASSERT: you have a new server adapter for your app in state [stopped]
> # EXEC: start the adapter into "Debug"
> Result:
> The adapter takes a lot of time to start but wont succeed eventually. You get the following error dialog:
> !error-waiting-for-new-pod.png!
> In the Eclipse log you'll find the following:
> {code}
> org.eclipse.core.runtime.CoreException: Failed to detect new deployed Pod for nodejs-mongo-persistent
> at org.jboss.tools.openshift.internal.core.server.debug.OpenShiftDebugMode.waitFor(OpenShiftDebugMode.java:403)
> at org.jboss.tools.openshift.internal.core.server.debug.OpenShiftDebugMode.waitForNewPod(OpenShiftDebugMode.java:395)
> at org.jboss.tools.openshift.internal.core.server.debug.OpenShiftDebugMode.getPod(OpenShiftDebugMode.java:226)
> at org.jboss.tools.openshift.internal.core.server.debug.OpenShiftDebugMode.execute(OpenShiftDebugMode.java:170)
> at org.jboss.tools.openshift.core.server.behavior.OpenShiftLaunchController.launch(OpenShiftLaunchController.java:100)
> at org.jboss.ide.eclipse.as.wtp.core.server.launch.ControllableServerLaunchConfiguration.launch(ControllableServerLaunchConfiguration.java:52)
> at org.eclipse.debug.internal.core.LaunchConfiguration.launch(LaunchConfiguration.java:885)
> at org.eclipse.debug.internal.core.LaunchConfiguration.launch(LaunchConfiguration.java:739)
> at org.eclipse.debug.internal.core.LaunchConfiguration.launch(LaunchConfiguration.java:731)
> at org.eclipse.wst.server.core.internal.Server.startImpl2(Server.java:3566)
> at org.eclipse.wst.server.core.internal.Server.startImpl(Server.java:3502)
> at org.eclipse.wst.server.core.internal.Server$StartJob.run(Server.java:377)
> at org.eclipse.core.internal.jobs.Worker.run(Worker.java:56)
> {code}
--
This message was sent by Atlassian JIRA
(v7.5.0#75005)
6 years, 5 months
[JBoss JIRA] (JBIDE-25611) Server adapter: timeouts when starting into "Debug" on OpenShift Online
by Andre Dietisheim (JIRA)
[ https://issues.jboss.org/browse/JBIDE-25611?page=com.atlassian.jira.plugi... ]
Andre Dietisheim edited comment on JBIDE-25611 at 1/26/18 6:11 AM:
-------------------------------------------------------------------
I get even more confused than I was before. What above failed all day long now seems to magically work. I can deploy and debug an app that I created via a nodejs:builder image.
The case where I create an app via template "nodejs-mongo-persitent" now fails with a different error:
!image-2018-01-26-00-49-39-691.png!
It now doesn't get the docker image labels that indicate where to deploy to within the pod. The issue is caused by unexpectedly shaped resources:
The tooling tries to retrieve the deployment config where it would find the deployment change triggers which holds the docker image uri. There are 2 strategies to get the dc from the service, both fail.
* [Strategy 1)|https://github.com/jbosstools/jbosstools-openshift/blob/master/plugins...] get dc name from selector "deploymentconfig" in service. Fails because there's no such selector
{code}
"selector" : {"name" : "nodejs-mongo-persistent"},
{code}
* [Strategy 2)|https://github.com/jbosstools/jbosstools-openshift/blob/master/plugins...] get dc by hopping svc -> rc -> pod -> dc. This fails because the rc is found but the pods matching the rc are not. The reason for this is that pod#labels [dont match|https://github.com/jbosstools/jbosstools-openshift/blob/master/plug...] the rc#replicaSelectors
the rc:
{code}
{
"metadata" : {
"name" : "nodejs-3-vgqdt",
"generateName" : "nodejs-3-",
"namespace" : "adietish-stage",
"selfLink" : "/api/v1/namespaces/adietish-stage/pods/nodejs-3-vgqdt",
"uid" : "38778443-0229-11e8-b468-02d7377a4b17",
"resourceVersion" : "840363887",
"creationTimestamp" : "2018-01-25T23:41:09Z",
"labels" : {
"deployment" : "nodejs-3",
"deploymentconfig" : "nodejs"
},
"annotations" : {
"kubernetes.io/created-by" : "{\"kind\":\"SerializedReference\",\"apiVersion\":\"v1\",\"reference\":{\"kind\":\"ReplicationController\",\"namespace\":\"adietish-stage\",\"name\":\"nodejs-3\",\"uid\":\"c80559ee-0228-11e8-b468-02d7377a4b17\",\"apiVersion\":\"v1\",\"resourceVersion\":\"838522089\"}}\n",
"kubernetes.io/limit-ranger" : "LimitRanger plugin set: cpu, memory request for container nodejs; cpu, memory limit for container nodejs",
"openshift.io/deployment-config.latest-version" : "3",
"openshift.io/deployment-config.name" : "nodejs",
"openshift.io/deployment.name" : "nodejs-3",
"openshift.io/scc" : "restricted"
}
},
"spec" : {
"volumes" : [{
"name" : "default-token-k92bn",
"secret" : {
"secretName" : "default-token-k92bn",
"defaultMode" : 420
}
}],
"containers" : [{
"name" : "nodejs",
"image" : "172.30.98.11:5000/adietish-stage/nodejs@sha256:246763270f6d67ff3c31fab2e65be181822ff7f0811c376c73857622bbedafe8",
"ports" : [
{
"name" : "8080-tcp",
"containerPort" : 8080,
"protocol" : "TCP"
},
{
"name" : "debug",
"containerPort" : 5858,
"protocol" : "TCP"
}
],
"env" : [
{
"name" : "DEBUG_PORT",
"value" : "5858"
},
{
"name" : "DEV_MODE",
"value" : "true"
}
],
"resources" : {
"limits" : {
"cpu" : "1",
"memory" : "512Mi"
},
"requests" : {
"cpu" : "60m",
"memory" : "307Mi"
}
},
"volumeMounts" : [{
"name" : "default-token-k92bn",
"readOnly" : true,
"mountPath" : "/var/run/secrets/kubernetes.io/serviceaccount"
}],
"terminationMessagePath" : "/dev/termination-log",
"terminationMessagePolicy" : "File",
"imagePullPolicy" : "Always",
"securityContext" : {
"capabilities" : {"drop" : [
"KILL",
"MKNOD",
"NET_RAW",
"SETGID",
"SETUID"
]},
"privileged" : false,
"seLinuxOptions" : {"level" : "s0:c147,c129"},
"runAsUser" : 1021720000
}
}],
"restartPolicy" : "Always",
"terminationGracePeriodSeconds" : 30,
"dnsPolicy" : "ClusterFirst",
"nodeSelector" : {"type" : "compute"},
"serviceAccountName" : "default",
"serviceAccount" : "default",
"nodeName" : "ip-172-31-69-160.us-east-2.compute.internal",
"securityContext" : {
"seLinuxOptions" : {"level" : "s0:c147,c129"},
"fsGroup" : 1021720000
},
"imagePullSecrets" : [{"name" : "default-dockercfg-nstt4"}],
"schedulerName" : "default-scheduler"
},
"status" : {
"phase" : "Pending",
"conditions" : [
{
"type" : "Initialized",
"status" : "True",
"lastTransitionTime" : "2018-01-25T23:41:09Z"
},
{
"type" : "Ready",
"status" : "False",
"lastTransitionTime" : "2018-01-25T23:41:09Z",
"reason" : "ContainersNotReady",
"message" : "containers with unready status: [nodejs]"
},
{
"type" : "PodScheduled",
"status" : "True",
"lastTransitionTime" : "2018-01-25T23:41:09Z"
}
],
"hostIP" : "172.31.69.160",
"podIP" : "10.128.100.151",
"startTime" : "2018-01-25T23:41:09Z",
"containerStatuses" : [{
"name" : "nodejs",
"state" : {"waiting" : {
"reason" : "ImagePullBackOff",
"message" : "Back-off pulling image \"172.30.98.11:5000/adietish-stage/nodejs@sha256:246763270f6d67ff3c31fab2e65be181822ff7f0811c376c73857622bbedafe8\""
}},
"lastState" : {},
"ready" : false,
"restartCount" : 0,
"image" : "172.30.98.11:5000/adietish-stage/nodejs@sha256:246763270f6d67ff3c31fab2e65be181822ff7f0811c376c73857622bbedafe8",
"imageID" : ""
}],
"qosClass" : "Burstable"
},
"kind" : "Pod",
"apiVersion" : "v1"
}
{code}
the pod:
{code}
{
"metadata" : {
"name" : "nodejs-mongo-persistent-1",
"namespace" : "adietish-stage",
"selfLink" : "/api/v1/namespaces/adietish-stage/replicationcontrollers/nodejs-mongo-persistent-1",
"uid" : "58827554-0229-11e8-b468-02d7377a4b17",
"resourceVersion" : "838552703",
"generation" : 3,
"creationTimestamp" : "2018-01-25T23:42:03Z",
"labels" : {
"openshift.io/deployment-config.name" : "nodejs-mongo-persistent",
"template" : "nodejs-mongo-persistent"
},
"annotations" : {
"kubectl.kubernetes.io/desired-replicas" : "1",
"openshift.io/deployer-pod.completed-at" : "2018-01-25 23:52:06 +0000 UTC",
"openshift.io/deployer-pod.created-at" : "2018-01-25 23:42:04 +0000 UTC",
"openshift.io/deployer-pod.name" : "nodejs-mongo-persistent-1-deploy",
"openshift.io/deployment-config.latest-version" : "1",
"openshift.io/deployment-config.name" : "nodejs-mongo-persistent",
"openshift.io/deployment.phase" : "Failed",
"openshift.io/deployment.replicas" : "0",
"openshift.io/deployment.status-reason" : "config change",
"openshift.io/encoded-deployment-config" : "{\"kind\":\"DeploymentConfig\",\"apiVersion\":\"v1\",\"metadata\":{\"name\":\"nodejs-mongo-persistent\",\"namespace\":\"adietish-stage\",\"selfLink\":\"/apis/apps.openshift.io/v1/namespaces/adietish-stage/deploymentconfigs/nodejs-mongo-persistent\",\"uid\":\"49f1c655-0229-11e8-b468-02d7377a4b17\",\"resourceVersion\":\"838525030\",\"generation\":2,\"creationTimestamp\":\"2018-01-25T23:41:39Z\",\"labels\":{\"template\":\"nodejs-mongo-persistent\"},\"annotations\":{\"description\":\"Defines how to deploy the application server\",\"template.alpha.openshift.io/wait-for-ready\":\"true\"}},\"spec\":{\"strategy\":{\"type\":\"Recreate\",\"recreateParams\":{\"timeoutSeconds\":600},\"resources\":{},\"activeDeadlineSeconds\":21600},\"triggers\":[{\"type\":\"ImageChange\",\"imageChangeParams\":{\"automatic\":true,\"containerNames\":[\"nodejs-mongo-persistent\"],\"from\":{\"kind\":\"ImageStreamTag\",\"namespace\":\"adietish-stage\",\"name\":\"nodejs-mongo-persistent:latest\"},\"lastTriggeredImage\":\"172.30.98.11:5000/adietish-stage/nodejs-mongo-persistent@sha256:1f588995c3ed053bf5d548518094347c7fe4b41595cb7c452bb0f5469e69922d\"}},{\"type\":\"ConfigChange\"}],\"replicas\":1,\"test\":false,\"selector\":{\"name\":\"nodejs-mongo-persistent\"},\"template\":{\"metadata\":{\"name\":\"nodejs-mongo-persistent\",\"creationTimestamp\":null,\"labels\":{\"name\":\"nodejs-mongo-persistent\"}},\"spec\":{\"containers\":[{\"name\":\"nodejs-mongo-persistent\",\"image\":\"172.30.98.11:5000/adietish-stage/nodejs-mongo-persistent@sha256:1f588995c3ed053bf5d548518094347c7fe4b41595cb7c452bb0f5469e69922d\",\"ports\":[{\"containerPort\":8080,\"protocol\":\"TCP\"}],\"env\":[{\"name\":\"DATABASE_SERVICE_NAME\",\"value\":\"mongodb\"},{\"name\":\"MONGODB_USER\",\"valueFrom\":{\"secretKeyRef\":{\"name\":\"nodejs-mongo-persistent\",\"key\":\"database-user\"}}},{\"name\":\"MONGODB_PASSWORD\",\"valueFrom\":{\"secretKeyRef\":{\"name\":\"nodejs-mongo-persistent\",\"key\":\"database-password\"}}},{\"name\":\"MONGODB_DATABASE\",\"value\":\"sampledb\"},{\"name\":\"MONGODB_ADMIN_PASSWORD\",\"valueFrom\":{\"secretKeyRef\":{\"name\":\"nodejs-mongo-persistent\",\"key\":\"database-admin-password\"}}}],\"resources\":{\"limits\":{\"memory\":\"512Mi\"}},\"livenessProbe\":{\"httpGet\":{\"path\":\"/pagecount\",\"port\":8080,\"scheme\":\"HTTP\"},\"initialDelaySeconds\":30,\"timeoutSeconds\":3,\"periodSeconds\":10,\"successThreshold\":1,\"failureThreshold\":3},\"readinessProbe\":{\"httpGet\":{\"path\":\"/pagecount\",\"port\":8080,\"scheme\":\"HTTP\"},\"initialDelaySeconds\":3,\"timeoutSeconds\":3,\"periodSeconds\":10,\"successThreshold\":1,\"failureThreshold\":3},\"terminationMessagePath\":\"/dev/termination-log\",\"terminationMessagePolicy\":\"File\",\"imagePullPolicy\":\"IfNotPresent\"}],\"restartPolicy\":\"Always\",\"terminationGracePeriodSeconds\":30,\"dnsPolicy\":\"ClusterFirst\",\"securityContext\":{},\"schedulerName\":\"default-scheduler\"}}},\"status\":{\"latestVersion\":1,\"observedGeneration\":2,\"replicas\":0,\"updatedReplicas\":0,\"availableReplicas\":0,\"unavailableReplicas\":0,\"details\":{\"message\":\"config change\",\"causes\":[{\"type\":\"ConfigChange\"}]},\"conditions\":[{\"type\":\"Available\",\"status\":\"False\",\"lastUpdateTime\":\"2018-01-25T23:41:39Z\",\"lastTransitionTime\":\"2018-01-25T23:41:39Z\",\"message\":\"Deployment config does not have minimum availability.\"}]}}\n"
},
"ownerReferences" : [{
"apiVersion" : "apps.openshift.io/v1",
"kind" : "DeploymentConfig",
"name" : "nodejs-mongo-persistent",
"uid" : "49f1c655-0229-11e8-b468-02d7377a4b17",
"controller" : true,
"blockOwnerDeletion" : true
}]
},
"spec" : {
"replicas" : 0,
"selector" : {
"deployment" : "nodejs-mongo-persistent-1",
"deploymentconfig" : "nodejs-mongo-persistent",
"name" : "nodejs-mongo-persistent"
},
"template" : {
"metadata" : {
"labels" : {
"deployment" : "nodejs-mongo-persistent-1",
"deploymentconfig" : "nodejs-mongo-persistent",
"name" : "nodejs-mongo-persistent"
},
"annotations" : {
"openshift.io/deployment-config.latest-version" : "1",
"openshift.io/deployment-config.name" : "nodejs-mongo-persistent",
"openshift.io/deployment.name" : "nodejs-mongo-persistent-1"
}
},
"spec" : {
"containers" : [{
"name" : "nodejs-mongo-persistent",
"image" : "172.30.98.11:5000/adietish-stage/nodejs-mongo-persistent@sha256:1f588995c3ed053bf5d548518094347c7fe4b41595cb7c452bb0f5469e69922d",
"ports" : [{
"containerPort" : 8080,
"protocol" : "TCP"
}],
"env" : [
{
"name" : "DATABASE_SERVICE_NAME",
"value" : "mongodb"
},
{
"name" : "MONGODB_USER",
"valueFrom" : {"secretKeyRef" : {
"name" : "nodejs-mongo-persistent",
"key" : "database-user"
}}
},
{
"name" : "MONGODB_PASSWORD",
"valueFrom" : {"secretKeyRef" : {
"name" : "nodejs-mongo-persistent",
"key" : "database-password"
}}
},
{
"name" : "MONGODB_DATABASE",
"value" : "sampledb"
},
{
"name" : "MONGODB_ADMIN_PASSWORD",
"valueFrom" : {"secretKeyRef" : {
"name" : "nodejs-mongo-persistent",
"key" : "database-admin-password"
}}
}
],
"resources" : {"limits" : {"memory" : "512Mi"}},
"livenessProbe" : {
"httpGet" : {
"path" : "/pagecount",
"port" : 8080,
"scheme" : "HTTP"
},
"initialDelaySeconds" : 30,
"timeoutSeconds" : 3,
"periodSeconds" : 10,
"successThreshold" : 1,
"failureThreshold" : 3
},
"readinessProbe" : {
"httpGet" : {
"path" : "/pagecount",
"port" : 8080,
"scheme" : "HTTP"
},
"initialDelaySeconds" : 3,
"timeoutSeconds" : 3,
"periodSeconds" : 10,
"successThreshold" : 1,
"failureThreshold" : 3
},
"terminationMessagePath" : "/dev/termination-log",
"terminationMessagePolicy" : "File",
"imagePullPolicy" : "IfNotPresent"
}],
"restartPolicy" : "Always",
"terminationGracePeriodSeconds" : 30,
"dnsPolicy" : "ClusterFirst",
"securityContext" : {},
"schedulerName" : "default-scheduler"
}
}
},
"status" : {
"replicas" : 0,
"observedGeneration" : 3
},
"kind" : "ReplicationController",
"apiVersion" : "v1"
{code}
was (Author: adietish):
I get even more confused than I was before. What above failed all day long now seems to magically work. I can deploy and debug an app that I created via a nodejs:builder image.
The case where I create an app via template "nodejs-mongo-persitent" now fails with a different error:
!image-2018-01-26-00-49-39-691.png!
It now doesn't get the docker image labels that indicates where to deploy to within the pod. As far as I remember the deployment path is only available once the image stream is imported. Online seems very low on resources (far less than all other variants), so this could be some timing issue.
> Server adapter: timeouts when starting into "Debug" on OpenShift Online
> -----------------------------------------------------------------------
>
> Key: JBIDE-25611
> URL: https://issues.jboss.org/browse/JBIDE-25611
> Project: Tools (JBoss Tools)
> Issue Type: Bug
> Components: openshift
> Affects Versions: 4.5.2.Final
> Reporter: Andre Dietisheim
> Assignee: Andre Dietisheim
> Fix For: 4.5.3.AM1
>
> Attachments: error-waiting-for-new-pod.png, image-2018-01-24-18-58-29-159.png, image-2018-01-25-10-49-09-369.png, image-2018-01-26-00-49-39-691.png, pod-ports-cdk.png, pod-ports-online.png, port-missing.png
>
>
> # ASSERT: have an account on OpenShift Online
> # EXEC: create a new application via template nodejs-mongo-persistent
> # EXEC: have the project imported into the workspace and the server adapter for it created
> # ASSERT: you have a new server adapter for your app in state [stopped]
> # EXEC: start the adapter into "Debug"
> Result:
> The adapter takes a lot of time to start but wont succeed eventually. You get the following error dialog:
> !error-waiting-for-new-pod.png!
> In the Eclipse log you'll find the following:
> {code}
> org.eclipse.core.runtime.CoreException: Failed to detect new deployed Pod for nodejs-mongo-persistent
> at org.jboss.tools.openshift.internal.core.server.debug.OpenShiftDebugMode.waitFor(OpenShiftDebugMode.java:403)
> at org.jboss.tools.openshift.internal.core.server.debug.OpenShiftDebugMode.waitForNewPod(OpenShiftDebugMode.java:395)
> at org.jboss.tools.openshift.internal.core.server.debug.OpenShiftDebugMode.getPod(OpenShiftDebugMode.java:226)
> at org.jboss.tools.openshift.internal.core.server.debug.OpenShiftDebugMode.execute(OpenShiftDebugMode.java:170)
> at org.jboss.tools.openshift.core.server.behavior.OpenShiftLaunchController.launch(OpenShiftLaunchController.java:100)
> at org.jboss.ide.eclipse.as.wtp.core.server.launch.ControllableServerLaunchConfiguration.launch(ControllableServerLaunchConfiguration.java:52)
> at org.eclipse.debug.internal.core.LaunchConfiguration.launch(LaunchConfiguration.java:885)
> at org.eclipse.debug.internal.core.LaunchConfiguration.launch(LaunchConfiguration.java:739)
> at org.eclipse.debug.internal.core.LaunchConfiguration.launch(LaunchConfiguration.java:731)
> at org.eclipse.wst.server.core.internal.Server.startImpl2(Server.java:3566)
> at org.eclipse.wst.server.core.internal.Server.startImpl(Server.java:3502)
> at org.eclipse.wst.server.core.internal.Server$StartJob.run(Server.java:377)
> at org.eclipse.core.internal.jobs.Worker.run(Worker.java:56)
> {code}
--
This message was sent by Atlassian JIRA
(v7.5.0#75005)
6 years, 5 months
[JBoss JIRA] (JBIDE-25665) It is not possible to update from 4.5.1. to 4.5.2.Final using Check for Update
by Lukáš Valach (JIRA)
[ https://issues.jboss.org/browse/JBIDE-25665?page=com.atlassian.jira.plugi... ]
Lukáš Valach commented on JBIDE-25665:
--------------------------------------
Great, thank you Nick.
The p2.inf have to be listed in build.properties, I prepared this change in this PR \[1\].
\[1\] https://github.com/jbosstools/jbosstools-webservices/pull/286
I also had problem with baseline check:
{code}
[ERROR] Failed to execute goal org.eclipse.tycho.extras:tycho-p2-extras-plugin:1.0.0:compare-version-with-baselines (default) on project org.jboss.tools.ws.jaxrs.ui: Only qualifier changed for (org.jboss.tools.ws.jaxrs.ui/2.0.0.v20180126-0743). Expected to have bigger x.y.z than what is available in baseline (2.0.0.v20180105-1426) -> [Help 1]
{code}
I am not sure if you want to increase version of all plugins to 2.0.1, if so, I prepared this change in second PR \[2\].
\[2\] https://github.com/jbosstools/jbosstools-webservices/pull/287
And there is result:
!CheckForUpdates_after_fix.png|thumbnail!
> It is not possible to update from 4.5.1. to 4.5.2.Final using Check for Update
> ------------------------------------------------------------------------------
>
> Key: JBIDE-25665
> URL: https://issues.jboss.org/browse/JBIDE-25665
> Project: Tools (JBoss Tools)
> Issue Type: Bug
> Components: build
> Affects Versions: 4.5.2.Final
> Reporter: Lukáš Valach
> Assignee: Nick Boldt
> Fix For: 4.5.3.AM1
>
> Attachments: CheckForUpdates.png, CheckForUpdates_after_fix.png
>
>
> It is not possible to update to 4.5.2.Final using "Check for Update". Check for Update is not able to find any remedy for this conflict:
> {code}
> Cannot complete the install because of a conflicting dependency.
> Software being installed: JBoss JAX-RS Tools 2.0.0.v20180105-1426 (org.jboss.tools.ws.jaxrs.feature.feature.group 2.0.0.v20180105-1426)
> Software currently installed: JBoss WebServices Tools 1.9.101.v20170822-1704 (org.jboss.tools.ws.feature.feature.group 1.9.101.v20170822-1704)
> Only one of the following can be installed at once:
> JBoss WebServices Tools 2.0.0.v20180105-1426 (org.jboss.tools.ws.ui 2.0.0.v20180105-1426)
> JBoss WebServices Tools 1.9.101.v20170822-1704 (org.jboss.tools.ws.ui 1.9.101.v20170822-1704)
> Cannot satisfy dependency:
> From: JBoss WebServices Tools 1.9.101.v20170822-1704 (org.jboss.tools.ws.feature.feature.group 1.9.101.v20170822-1704)
> To: org.jboss.tools.ws.ui [1.9.101.v20170822-1704]
> Cannot satisfy dependency:
> From: JBoss JAX-RS Tools 2.0.0.v20180105-1426 (org.jboss.tools.ws.jaxrs.feature.feature.group 2.0.0.v20180105-1426)
> To: org.jboss.tools.ws.ui [2.0.0.v20180105-1426]
> {code}
> !CheckForUpdates.png|thumbnail!
> It is maybe caused by separation of SOAP from jbosstools-webservices (JBIDE-24880).
> This process is routinely tested and the test passed on Friday/Monday, but unfortunately I made a mistake. I installed JBT 4.5.1 from Eclipse Marketplace, then I added staging update site and executed Check for Update which passed without any problems. But I didn't realize that JBT 4.5.1 added stable update site for 4.5.1, which was used together with 4.5.2 update site, so it was able to resolve that conflict. So I apologize for this issue.
--
This message was sent by Atlassian JIRA
(v7.5.0#75005)
6 years, 5 months
[JBoss JIRA] (JBIDE-25665) It is not possible to update from 4.5.1. to 4.5.2.Final using Check for Update
by Lukáš Valach (JIRA)
[ https://issues.jboss.org/browse/JBIDE-25665?page=com.atlassian.jira.plugi... ]
Lukáš Valach updated JBIDE-25665:
---------------------------------
Attachment: CheckForUpdates_after_fix.png
> It is not possible to update from 4.5.1. to 4.5.2.Final using Check for Update
> ------------------------------------------------------------------------------
>
> Key: JBIDE-25665
> URL: https://issues.jboss.org/browse/JBIDE-25665
> Project: Tools (JBoss Tools)
> Issue Type: Bug
> Components: build
> Affects Versions: 4.5.2.Final
> Reporter: Lukáš Valach
> Assignee: Nick Boldt
> Fix For: 4.5.3.AM1
>
> Attachments: CheckForUpdates.png, CheckForUpdates_after_fix.png
>
>
> It is not possible to update to 4.5.2.Final using "Check for Update". Check for Update is not able to find any remedy for this conflict:
> {code}
> Cannot complete the install because of a conflicting dependency.
> Software being installed: JBoss JAX-RS Tools 2.0.0.v20180105-1426 (org.jboss.tools.ws.jaxrs.feature.feature.group 2.0.0.v20180105-1426)
> Software currently installed: JBoss WebServices Tools 1.9.101.v20170822-1704 (org.jboss.tools.ws.feature.feature.group 1.9.101.v20170822-1704)
> Only one of the following can be installed at once:
> JBoss WebServices Tools 2.0.0.v20180105-1426 (org.jboss.tools.ws.ui 2.0.0.v20180105-1426)
> JBoss WebServices Tools 1.9.101.v20170822-1704 (org.jboss.tools.ws.ui 1.9.101.v20170822-1704)
> Cannot satisfy dependency:
> From: JBoss WebServices Tools 1.9.101.v20170822-1704 (org.jboss.tools.ws.feature.feature.group 1.9.101.v20170822-1704)
> To: org.jboss.tools.ws.ui [1.9.101.v20170822-1704]
> Cannot satisfy dependency:
> From: JBoss JAX-RS Tools 2.0.0.v20180105-1426 (org.jboss.tools.ws.jaxrs.feature.feature.group 2.0.0.v20180105-1426)
> To: org.jboss.tools.ws.ui [2.0.0.v20180105-1426]
> {code}
> !CheckForUpdates.png|thumbnail!
> It is maybe caused by separation of SOAP from jbosstools-webservices (JBIDE-24880).
> This process is routinely tested and the test passed on Friday/Monday, but unfortunately I made a mistake. I installed JBT 4.5.1 from Eclipse Marketplace, then I added staging update site and executed Check for Update which passed without any problems. But I didn't realize that JBT 4.5.1 added stable update site for 4.5.1, which was used together with 4.5.2 update site, so it was able to resolve that conflict. So I apologize for this issue.
--
This message was sent by Atlassian JIRA
(v7.5.0#75005)
6 years, 5 months
[JBoss JIRA] (JBIDE-25442) Add possibility to be notified when user logs in into OSIO
by Jeff MAURY (JIRA)
[ https://issues.jboss.org/browse/JBIDE-25442?page=com.atlassian.jira.plugi... ]
Jeff MAURY updated JBIDE-25442:
-------------------------------
Fix Version/s: 4.5.2.Final
(was: 4.5.x)
> Add possibility to be notified when user logs in into OSIO
> ----------------------------------------------------------
>
> Key: JBIDE-25442
> URL: https://issues.jboss.org/browse/JBIDE-25442
> Project: Tools (JBoss Tools)
> Issue Type: Feature Request
> Components: openshift
> Affects Versions: 4.5.2.AM1
> Reporter: Lucia Jelinkova
> Assignee: Jeff MAURY
> Labels: OSIO
> Fix For: 4.5.2.Final
>
>
> I have the following scenario I'd like to implement with OSIO login. I am not sure if it is currently possible or it would need some additional implementation.
> The Fabric8 analytics plugin for Eclipse uses LSP server that needs OSIO token to work. The current implementation asks user for the token on the first open of pom.xml file and then every time the LSP server needs to be started (meaning on every open of any pom.xml file). This approach brings some disadvantages - e.g. user might cancel the login window and then he has manually re-enable the server on Fabric8 preference page. Not to mention that the login window out of the nowhere is quite disturbing.
> I would like to change it so that the user logs in into OSIO (via toolbutton or preference page) and then the LSP server is notified about the login and starts working. This would prevent the "login popup" problem and I think it would bring better user experience.
> So, is there a way to get notifications about login/logout into OSIO at the moment? Would you agree to implement this feature into OSIO Eclipse plugin?
--
This message was sent by Atlassian JIRA
(v7.5.0#75005)
6 years, 5 months