aerogearcatalog / keycloak-apb

Apache License 2.0
3 stars 21 forks source link

failed to provision keycloak after fetching the latest version of keycloak-apb #48

Open wei-lee opened 6 years ago

wei-lee commented 6 years ago

After I pulled the latest version of the keycloak-apb (image id: 63c6097e356a) from docker hub I can't provision Keycloak any more.

Getting this error:

TASK [provision-keycloak-apb : Label the service instance with the service name] ***
fatal: [localhost]: FAILED! => {"changed": true, "cmd": "oc label serviceinstance 'dh-keycloak-apb-9wws4' serviceName=keycloak --namespace=myproject", "delta": "0:00:00.279335", "end": "2018-02-19 16:21:25.600093", "msg": "non-zero return code", "rc": 1, "start": "2018-02-19 16:21:25.320758", "stderr": "Error from server (Forbidden): User \"system:serviceaccount:dh-keycloak-apb-prov-c5ghp:apb-ecd4e151-e89e-4202-8fc0-af5cba6b6d35\" cannot patch serviceinstances.servicecatalog.k8s.io in the namespace \"myproject\": User \"system:serviceaccount:dh-keycloak-apb-prov-c5ghp:apb-ecd4e151-e89e-4202-8fc0-af5cba6b6d35\" cannot \"patch\" \"serviceinstances.servicecatalog.k8s.io\" with name \"dh-keycloak-apb-9wws4\" in project \"myproject\" (patch serviceinstances.servicecatalog.k8s.io dh-keycloak-apb-9wws4)", "stderr_lines": ["Error from server (Forbidden): User \"system:serviceaccount:dh-keycloak-apb-prov-c5ghp:apb-ecd4e151-e89e-4202-8fc0-af5cba6b6d35\" cannot patch serviceinstances.servicecatalog.k8s.io in the namespace \"myproject\": User \"system:serviceaccount:dh-keycloak-apb-prov-c5ghp:apb-ecd4e151-e89e-4202-8fc0-af5cba6b6d35\" cannot \"patch\" \"serviceinstances.servicecatalog.k8s.io\" with name \"dh-keycloak-apb-9wws4\" in project \"myproject\" (patch serviceinstances.servicecatalog.k8s.io dh-keycloak-apb-9wws4)"], "stdout": "", "stdout_lines": []}
    to retry, use: --limit @/opt/apb/actions/provision.retry
wei-lee commented 6 years ago

@maleck13 any idea?

maleck13 commented 6 years ago

Not off the top of my head. Looks like a problem with the service account though. How are you bringing up OpenShift. @pb82 provisioned earlier with no issues

pb82 commented 6 years ago

@wei-lee did you build the APB locally or did you use the one from dockerhub? I built and pushed latest master to my local registry and that worked.

wei-lee commented 6 years ago

@pb82 I was using the one from dockerhub. I can try build it locally.

wei-lee commented 6 years ago

@pb82 It is working after I build the apb locally. But it is still a problem for anyone else want to use it from docker hub though.

pb82 commented 6 years ago

@wei-lee we don't push those images manually, we rely on the automated build feature of Dockerhub. I have a feeling that it doesn't work or doesn't work well with apbs. Certainly something we have to look into.

philbrookes commented 6 years ago

for readability, the formatted error:

{
    "changed": true,
    "cmd": "oc label serviceinstance 'dh-keycloak-apb-9wws4' serviceName=keycloak --namespace=myproject",
    "delta": "0:00:00.279335",
    "end": "2018-02-19 16:21:25.600093",
    "msg": "non-zero return code",
    "rc": 1,
    "start": "2018-02-19 16:21:25.320758",
    "stderr": "Error from server (Forbidden): User \"system:serviceaccount:dh-keycloak-apb-prov-c5ghp:apb-ecd4e151-e89e-4202-8fc0-af5cba6b6d35\" cannot patch serviceinstances.servicecatalog.k8s.io in the namespace \"myproject\": User \"system:serviceaccount:dh-keycloak-apb-prov-c5ghp:apb-ecd4e151-e89e-4202-8fc0-af5cba6b6d35\" cannot \"patch\" \"serviceinstances.servicecatalog.k8s.io\" with name \"dh-keycloak-apb-9wws4\" in project \"myproject\" (patch serviceinstances.servicecatalog.k8s.io dh-keycloak-apb-9wws4)",
    "stderr_lines": ["Error from server (Forbidden): User \"system:serviceaccount:dh-keycloak-apb-prov-c5ghp:apb-ecd4e151-e89e-4202-8fc0-af5cba6b6d35\" cannot patch serviceinstances.servicecatalog.k8s.io in the namespace \"myproject\": User \"system:serviceaccount:dh-keycloak-apb-prov-c5ghp:apb-ecd4e151-e89e-4202-8fc0-af5cba6b6d35\" cannot \"patch\" \"serviceinstances.servicecatalog.k8s.io\" with name \"dh-keycloak-apb-9wws4\" in project \"myproject\" (patch serviceinstances.servicecatalog.k8s.io dh-keycloak-apb-9wws4)"],
    "stdout": "",
    "stdout_lines": []
}
philbrookes commented 6 years ago

This works ok on minishift with the mobile-core plugin enabled.

secondsun commented 6 years ago

I am having this issue too, and I have pushed locally.

secondsun commented 6 years ago

Error message "Error from server (Forbidden): User \"system:serviceaccount:dh-keycloak-apb-prov-k2kzf:apb-9eece14c-079e-473b-8239-1bdac5dc91a2\" cannot patch serviceinstances.servicecatalog.k8s.io in the namespace \"myproject\": User \"system:serviceaccount:dh-keycloak-apb-prov-k2kzf:apb-9eece14c-079e-473b-8239-1bdac5dc91a2\" cannot \"patch\" \"serviceinstances.servicecatalog.k8s.io\" with name \"dh-keycloak-apb-j5txh\" in project \"myproject\" (patch serviceinstances.servicecatalog.k8s.io dh-keycloak-apb-j5txh)"

secondsun commented 6 years ago

I'm having this same issue with the metrics APB too

secondsun commented 6 years ago
Looks like adding this 
- apiGroups:
  - servicecatalog.k8s.io
  attributeRestrictions: null
  resources:
  - serviceinstances
  verbs:
  - patch

via oc edit clusterroles edit and oc edit clusterroles admin helps.

secondsun commented 6 years ago

Spoke too soon. It will deploy the keycloak and postgres pods, but the (mobile)service still fails.

{
  "attempts": 1,
  "changed": true,
  "cmd": "oc get pods -n 'myproject' -o jsonpath='{.items[?(@.spec.containers[*].name==\"keycloak\")].metadata.name}'",
  "delta": "0:00:00.888204",
  "end": "2018-03-06 22:22:26.236634",
  "msg": "non-zero return code",
  "rc": 1,
  "start": "2018-03-06 22:22:25.348430",
  "stderr": "error: error executing jsonpath \"{.items[?(@.spec.containers[*].name==\\\"keycloak\\\")].metadata.name}\": can only compare one element at a time",
  "stderr_lines": [
    "error: error executing jsonpath \"{.items[?(@.spec.containers[*].name==\\\"keycloak\\\")].metadata.name}\": can only compare one element at a time"
  ],
  "stdout": "Error executing template: can only compare one element at a time. Printing more information for debugging the template:\n\ttemplate was:\n\t\t{.items[?(@.spec.containers[*].name==\"keycloak\")].metadata.name}\n\tobject given to jsonpath engine was:\n\t\tmap[string]interface {}{\"kind\":\"List\", \"apiVersion\":\"v1\", \"metadata\":map[string]interface {}{\"selfLink\":\"\", \"resourceVersion\":\"\"}, \"items\":[]interface {}{map[string]interface {}{\"kind\":\"Pod\", \"metadata\":map[string]interface {}{\"annotations\":map[string]interface {}{\"openshift.io\/deployment.name\":\"grafana-1\", \"openshift.io\/scc\":\"restricted\"}, \"labels\":map[string]interface {}{\"openshift.io\/deployer-pod-for.name\":\"grafana-1\"}, \"name\":\"grafana-1-deploy\", \"namespace\":\"myproject\", \"resourceVersion\":\"2932\", \"selfLink\":\"\/api\/v1\/namespaces\/myproject\/pods\/grafana-1-deploy\", \"creationTimestamp\":\"2018-03-06T22:22:18Z\", \"ownerReferences\":[]interface {}{map[string]interface {}{\"kind\":\"ReplicationController\", \"name\":\"grafana-1\", \"uid\":\"d4e0c40a-218c-11e8-9431-08606e691c32\", \"apiVersion\":\"v1\"}}, \"uid\":\"d4e3518f-218c-11e8-9431-08606e691c32\"}, \"spec\":map[string]interface {}{\"containers\":[]interface {}{map[string]interface {}{\"name\":\"deployment\", \"securityContext\":map[string]interface {}{\"capabilities\":map[string]interface {}{\"drop\":[]interface {}{\"KILL\", \"MKNOD\", \"SETGID\", \"SETUID\"}}, \"privileged\":false, \"runAsUser\":1000080000, \"seLinuxOptions\":map[string]interface {}{\"level\":\"s0:c9,c4\"}}, \"env\":[]interface {}{map[string]interface {}{\"name\":\"KUBERNETES_MASTER\", \"value\":\"https:\/\/127.0.0.1:8443\"}, map[string]interface {}{\"name\":\"OPENSHIFT_MASTER\", \"value\":\"https:\/\/127.0.0.1:8443\"}, map[string]interface {}{\"name\":\"BEARER_TOKEN_FILE\", \"value\":\"\/var\/run\/secrets\/kubernetes.io\/serviceaccount\/token\"}, map[string]interface {}{\"name\":\"OPENSHIFT_CA_DATA\", \"value\":\"-----BEGIN CERTIFICATE-----\\nMIIC6jCCAdKgAwIBAgIBATANBgkqhkiG9w0BAQsFADAmMSQwIgYDVQQDDBtvcGVu\\nc2hpZnQtc2lnbmVyQDE1MjAzNzQ0OTYwHhcNMTgwMzA2MjIxNDU1WhcNMjMwMzA1\\nMjIxNDU2WjAmMSQwIgYDVQQDDBtvcGVuc2hpZnQtc2lnbmVyQDE1MjAzNzQ0OTYw\\nggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQDE5kud80NbC+EvKOVqazY4\\nBbSOWTTy7NfwUMG0w6pORn93Wk60nY9rxOSJN+6t4meH9WOrYPQdndxwV5voceW+\\nkoQnSY49F7aJ33dPB+XJKSJHE9ilvxOU72gGgly0lBb4VZThDMar89jUPaTZOmnZ\\nCeChCt8npOXPy9bdGItJXNFeRQg0j7l8EW5z1aN\/bS\/cERDHYJbkFHeHz+WGg3fS\\nuf1UvLRQLwxHUrtuCwOUdQ3LF9IKV4AWUUApC9HtILyjZHzmLV3afC6y\/gPpNns6\\nT\/wqS\/UHJgDJMbniifCyIAijh7OfYH8DqsnPUl9gt82fnPcabaxm9HxnuInqT83V\\nAgMBAAGjIzAhMA4GA1UdDwEB\/wQEAwICpDAPBgNVHRMBAf8EBTADAQH\/MA0GCSqG\\nSIb3DQEBCwUAA4IBAQBFz2Kj3Talfe\/bGJF1vmP6jOPdiSwx5pLiYTNOgb77B0gK\\nN64gIU2Lb+vyb7XRHgykqTewguqWQEFF\/0J\/Bo5VJ\/UJpWsGhTMgO+Ae5flZHSyC\\nOWA7Pfn9i\/\/8lm46NXVkxoBxT0Y3AQcOnKwQ6fSUPBOgNxMVI53+Wqfz+\/tc8pPy\\nyol97DSqCSVojUSLL5BbBYRXkXcw++b5tPRnuyBNyHXTegBnKTi3YvSkW1GqRfXa\\nRzXdlSh1Z9mAQyfUkcIDDbd22AXbjtUuWiR5LJeBqBlGLPrkCsex5xxySOi9ggJU\\nbHTyUKYDGY3XdUn5M4RCuKyRKsiY2wS+PogDUhEt\\n-----END CERTIFICATE-----\\n\"}, map[string]interface {}{\"name\":\"OPENSHIFT_DEPLOYMENT_NAME\", \"value\":\"grafana-1\"}, map[string]interface {}{\"name\":\"OPENSHIFT_DEPLOYMENT_NAMESPACE\", \"value\":\"myproject\"}}, \"image\":\"openshift\/origin-deployer:v3.7.1\", \"terminationMessagePath\":\"\/dev\/termination-log\", \"terminationMessagePolicy\":\"File\", \"volumeMounts\":[]interface {}{map[string]interface {}{\"name\":\"deployer-token-wh59l\", \"readOnly\":true, \"mountPath\":\"\/var\/run\/secrets\/kubernetes.io\/serviceaccount\"}}, \"imagePullPolicy\":\"IfNotPresent\", \"resources\":map[string]interface {}{}}}, \"dnsPolicy\":\"ClusterFirst\", \"nodeName\":\"localhost\", \"restartPolicy\":\"Never\", \"schedulerName\":\"default-scheduler\", \"volumes\":[]interface {}{map[string]interface {}{\"name\":\"deployer-token-wh59l\", \"secret\":map[string]interface {}{\"defaultMode\":420, \"secretName\":\"deployer-token-wh59l\"}}}, \"activeDeadlineSeconds\":21600, \"securityContext\":map[string]interface {}{\"fsGroup\":1000080000, \"seLinuxOptions\":map[string]interface {}{\"level\":\"s0:c9,c4\"}}, \"serviceAccount\":\"deployer\", \"serviceAccountName\":\"deployer\", \"terminationGracePeriodSeconds\":10, \"imagePullSecrets\":[]interface {}{map[string]interface {}{\"name\":\"deployer-dockercfg-fdn57\"}}}, \"status\":map[string]interface {}{\"conditions\":[]interface {}{map[string]interface {}{\"lastProbeTime\":interface {}(nil), \"lastTransitionTime\":\"2018-03-06T22:22:18Z\", \"status\":\"True\", \"type\":\"Initialized\"}, map[string]interface {}{\"type\":\"Ready\", \"lastProbeTime\":interface {}(nil), \"lastTransitionTime\":\"2018-03-06T22:22:20Z\", \"status\":\"True\"}, map[string]interface {}{\"lastProbeTime\":interface {}(nil), \"lastTransitionTime\":\"2018-03-06T22:22:18Z\", \"status\":\"True\", \"type\":\"PodScheduled\"}}, \"containerStatuses\":[]interface {}{map[string]interface {}{\"name\":\"deployment\", \"ready\":true, \"restartCount\":0, \"state\":map[string]interface {}{\"running\":map[string]interface {}{\"startedAt\":\"2018-03-06T22:22:20Z\"}}, \"containerID\":\"docker:\/\/e4bcb986db8595364c2f63313e641f5d00f37e0cd33bf17553a69e1997705306\", \"image\":\"docker.io\/openshift\/origin-deployer:v3.7.1\", \"imageID\":\"docker-pullable:\/\/docker.io\/openshift\/origin-deployer@sha256:064c3ba908fe9f7b4a22373bde98167789292de3670d48b05ef665748d1cadea\", \"lastState\":map[string]interface {}{}}}, \"hostIP\":\"10.1.10.101\", \"phase\":\"Running\", \"podIP\":\"172.17.0.10\", \"qosClass\":\"BestEffort\", \"startTime\":\"2018-03-06T22:22:18Z\"}, \"apiVersion\":\"v1\"}, map[string]interface {}{\"metadata\":map[string]interface {}{\"generateName\":\"grafana-1-\", \"labels\":map[string]interface {}{\"app\":\"grafana\", \"deployment\":\"grafana-1\", \"deploymentconfig\":\"grafana\", \"service\":\"prometheus\"}, \"selfLink\":\"\/api\/v1\/namespaces\/myproject\/pods\/grafana-1-wg8gl\", \"uid\":\"d61ebfc2-218c-11e8-9431-08606e691c32\", \"annotations\":map[string]interface {}{\"kubernetes.io\/created-by\":\"{\\\"kind\\\":\\\"SerializedReference\\\",\\\"apiVersion\\\":\\\"v1\\\",\\\"reference\\\":{\\\"kind\\\":\\\"ReplicationController\\\",\\\"namespace\\\":\\\"myproject\\\",\\\"name\\\":\\\"grafana-1\\\",\\\"uid\\\":\\\"d4e0c40a-218c-11e8-9431-08606e691c32\\\",\\\"apiVersion\\\":\\\"v1\\\",\\\"resourceVersion\\\":\\\"2938\\\"}}\\n\", \"openshift.io\/deployment-config.latest-version\":\"1\", \"openshift.io\/deployment-config.name\":\"grafana\", \"openshift.io\/deployment.name\":\"grafana-1\", \"openshift.io\/scc\":\"restricted\"}, \"creationTimestamp\":\"2018-03-06T22:22:20Z\", \"ownerReferences\":[]interface {}{map[string]interface {}{\"kind\":\"ReplicationController\", \"name\":\"grafana-1\", \"uid\":\"d4e0c40a-218c-11e8-9431-08606e691c32\", \"apiVersion\":\"v1\", \"blockOwnerDeletion\":true, \"controller\":true}}, \"resourceVersion\":\"2998\", \"name\":\"grafana-1-wg8gl\", \"namespace\":\"myproject\"}, \"spec\":map[string]interface {}{\"serviceAccount\":\"oauth-proxy\", \"serviceAccountName\":\"oauth-proxy\", \"terminationGracePeriodSeconds\":30, \"containers\":[]interface {}{map[string]interface {}{\"terminationMessagePath\":\"\/dev\/termination-log\", \"name\":\"grafana-oauth-proxy\", \"image\":\"docker.io\/openshift\/oauth-proxy:v1.1.0\", \"imagePullPolicy\":\"IfNotPresent\", \"ports\":[]interface {}{map[string]interface {}{\"containerPort\":4181, \"name\":\"public\", \"protocol\":\"TCP\"}}, \"resources\":map[string]interface {}{}, \"securityContext\":map[string]interface {}{\"capabilities\":map[string]interface {}{\"drop\":[]interface {}{\"KILL\", \"MKNOD\", \"SETGID\", \"SETUID\"}}, \"privileged\":false, \"runAsUser\":1000080000, \"seLinuxOptions\":map[string]interface {}{\"level\":\"s0:c9,c4\"}}, \"terminationMessagePolicy\":\"File\", \"volumeMounts\":[]interface {}{map[string]interface {}{\"name\":\"oauth-proxy-token-wrzgh\", \"readOnly\":true, \"mountPath\":\"\/var\/run\/secrets\/kubernetes.io\/serviceaccount\"}}, \"args\":[]interface {}{\"--provider=openshift\", \"--openshift-service-account=oauth-proxy\", \"--upstream=http:\/\/localhost:3000\", \"--openshift-sar={\\\"namespace\\\":\\\"myproject\\\",\\\"resource\\\":\\\"deploymentconfigs\\\",\\\"name\\\":\\\"prometheus\\\",\\\"verb\\\":\\\"update\\\"}\", \"--http-address=0.0.0.0:4181\", \"--https-address=\", \"--cookie-secret=SECRET\"}}, map[string]interface {}{\"resources\":map[string]interface {}{}, \"terminationMessagePath\":\"\/dev\/termination-log\", \"volumeMounts\":[]interface {}{map[string]interface {}{\"mountPath\":\"\/etc\/grafana\", \"name\":\"grafana-ini-configmap-volume\"}, map[string]interface {}{\"mountPath\":\"\/etc\/grafana\/conf\/provisioning\/datasources\", \"name\":\"grafana-datasources-configmap-volume\"}, map[string]interface {}{\"mountPath\":\"\/etc\/grafana\/conf\/provisioning\/dashboards\", \"name\":\"grafana-dashboards-providers-configmap-volume\"}, map[string]interface {}{\"mountPath\":\"\/etc\/grafana-dashboards\", \"name\":\"grafana-dashboards-configmap-volume\"}, map[string]interface {}{\"mountPath\":\"\/var\/lib\/grafana\", \"name\":\"grafana-data\"}, map[string]interface {}{\"mountPath\":\"\/var\/log\/grafana\", \"name\":\"grafana-log\"}, map[string]interface {}{\"mountPath\":\"\/var\/run\/secrets\/kubernetes.io\/serviceaccount\", \"name\":\"oauth-proxy-token-wrzgh\", \"readOnly\":true}}, \"name\":\"grafana\", \"imagePullPolicy\":\"Always\", \"ports\":[]interface {}{map[string]interface {}{\"containerPort\":3000, \"protocol\":\"TCP\"}}, \"securityContext\":map[string]interface {}{\"privileged\":false, \"runAsUser\":1000080000, \"seLinuxOptions\":map[string]interface {}{\"level\":\"s0:c9,c4\"}, \"capabilities\":map[string]interface {}{\"drop\":[]interface {}{\"KILL\", \"MKNOD\", \"SETGID\", \"SETUID\"}}}, \"terminationMessagePolicy\":\"File\", \"image\":\"docker.io\/aerogearcatalog\/grafana:latest\"}}, \"dnsPolicy\":\"ClusterFirst\", \"restartPolicy\":\"Always\", \"securityContext\":map[string]interface {}{\"fsGroup\":1000080000, \"seLinuxOptions\":map[string]interface {}{\"level\":\"s0:c9,c4\"}}, \"imagePullSecrets\":[]interface {}{map[string]interface {}{\"name\":\"oauth-proxy-dockercfg-xxrgh\"}}, \"nodeName\":\"localhost\", \"schedulerName\":\"default-scheduler\", \"volumes\":[]interface {}{map[string]interface {}{\"configMap\":map[string]interface {}{\"defaultMode\":420, \"name\":\"grafana-ini-configmap\"}, \"name\":\"grafana-ini-configmap-volume\"}, map[string]interface {}{\"configMap\":map[string]interface {}{\"defaultMode\":420, \"name\":\"grafana-datasources-configmap\"}, \"name\":\"grafana-datasources-configmap-volume\"}, map[string]interface {}{\"name\":\"grafana-dashboards-configmap-volume\", \"configMap\":map[string]interface {}{\"defaultMode\":420, \"name\":\"grafana-dashboards-configmap\"}}, map[string]interface {}{\"configMap\":map[string]interface {}{\"defaultMode\":420, \"name\":\"grafana-dashboards-providers-configmap\"}, \"name\":\"grafana-dashboards-providers-configmap-volume\"}, map[string]interface {}{\"name\":\"grafana-data\", \"persistentVolumeClaim\":map[string]interface {}{\"claimName\":\"grafana-claim\"}}, map[string]interface {}{\"emptyDir\":map[string]interface {}{}, \"name\":\"grafana-log\"}, map[string]interface {}{\"name\":\"oauth-proxy-token-wrzgh\", \"secret\":map[string]interface {}{\"defaultMode\":420, \"secretName\":\"oauth-proxy-token-wrzgh\"}}}}, \"status\":map[string]interface {}{\"startTime\":\"2018-03-06T22:22:20Z\", \"conditions\":[]interface {}{map[string]interface {}{\"lastProbeTime\":interface {}(nil), \"lastTransitionTime\":\"2018-03-06T22:22:20Z\", \"status\":\"True\", \"type\":\"Initialized\"}, map[string]interface {}{\"lastProbeTime\":interface {}(nil), \"lastTransitionTime\":\"2018-03-06T22:22:25Z\", \"status\":\"True\", \"type\":\"Ready\"}, map[string]interface {}{\"lastProbeTime\":interface {}(nil), \"lastTransitionTime\":\"2018-03-06T22:22:20Z\", \"status\":\"True\", \"type\":\"PodScheduled\"}}, \"containerStatuses\":[]interface {}{map[string]interface {}{\"containerID\":\"docker:\/\/7e63fd47df62501fde744d8624fa0c5a6c37540f8cae86020d5054c7251ee349\", \"image\":\"docker.io\/aerogearcatalog\/grafana:latest\", \"imageID\":\"docker-pullable:\/\/docker.io\/aerogearcatalog\/grafana@sha256:74ac825456926d1cab960787d98daa25746aa0af16feaff20f68aa35bf903da0\", \"lastState\":map[string]interface {}{}, \"name\":\"grafana\", \"ready\":true, \"restartCount\":0, \"state\":map[string]interface {}{\"running\":map[string]interface {}{\"startedAt\":\"2018-03-06T22:22:25Z\"}}}, map[string]interface {}{\"containerID\":\"docker:\/\/496320e1f11fa820ecdd35aa43092f7d7af80d9859daa916268514e837d55f04\", \"image\":\"docker.io\/openshift\/oauth-proxy:v1.1.0\", \"imageID\":\"docker-pullable:\/\/docker.io\/openshift\/oauth-proxy@sha256:731c1fdad1de4bf68ae9eece5e99519f063fd8d9990da312082b4c995c4e4e33\", \"lastState\":map[string]interface {}{}, \"name\":\"grafana-oauth-proxy\", \"ready\":true, \"restartCount\":0, \"state\":map[string]interface {}{\"running\":map[string]interface {}{\"startedAt\":\"2018-03-06T22:22:23Z\"}}}}, \"hostIP\":\"10.1.10.101\", \"phase\":\"Running\", \"podIP\":\"172.17.0.14\", \"qosClass\":\"BestEffort\"}, \"apiVersion\":\"v1\", \"kind\":\"Pod\"}, map[string]interface {}{\"apiVersion\":\"v1\", \"kind\":\"Pod\", \"metadata\":map[string]interface {}{\"name\":\"keycloak-1-bd64z\", \"namespace\":\"myproject\", \"ownerReferences\":[]interface {}{map[string]interface {}{\"blockOwnerDeletion\":true, \"controller\":true, \"kind\":\"ReplicationController\", \"name\":\"keycloak-1\", \"uid\":\"d4e5a3c6-218c-11e8-9431-08606e691c32\", \"apiVersion\":\"v1\"}}, \"uid\":\"d640f6bd-218c-11e8-9431-08606e691c32\", \"creationTimestamp\":\"2018-03-06T22:22:20Z\", \"generateName\":\"keycloak-1-\", \"labels\":map[string]interface {}{\"app\":\"keycloak\", \"deployment\":\"keycloak-1\", \"deploymentconfig\":\"keycloak\", \"service\":\"keycloak\"}, \"resourceVersion\":\"2992\", \"selfLink\":\"\/api\/v1\/namespaces\/myproject\/pods\/keycloak-1-bd64z\", \"annotations\":map[string]interface {}{\"openshift.io\/deployment-config.name\":\"keycloak\", \"openshift.io\/deployment.name\":\"keycloak-1\", \"openshift.io\/scc\":\"restricted\", \"kubernetes.io\/created-by\":\"{\\\"kind\\\":\\\"SerializedReference\\\",\\\"apiVersion\\\":\\\"v1\\\",\\\"reference\\\":{\\\"kind\\\":\\\"ReplicationController\\\",\\\"namespace\\\":\\\"myproject\\\",\\\"name\\\":\\\"keycloak-1\\\",\\\"uid\\\":\\\"d4e5a3c6-218c-11e8-9431-08606e691c32\\\",\\\"apiVersion\\\":\\\"v1\\\",\\\"resourceVersion\\\":\\\"2951\\\"}}\\n\", \"openshift.io\/deployment-config.latest-version\":\"1\"}}, \"spec\":map[string]interface {}{\"containers\":[]interface {}{map[string]interface {}{\"terminationMessagePolicy\":\"File\", \"volumeMounts\":[]interface {}{map[string]interface {}{\"subPath\":\"providers\/\", \"mountPath\":\"\/opt\/jboss\/keycloak\/providers\/\", \"name\":\"keycloak-metrics\"}, map[string]interface {}{\"mountPath\":\"\/var\/run\/secrets\/kubernetes.io\/serviceaccount\", \"name\":\"default-token-7g6b5\", \"readOnly\":true}}, \"env\":[]interface {}{map[string]interface {}{\"name\":\"KEYCLOAK_USER\", \"value\":\"admin\"}, map[string]interface {}{\"value\":\"admin\", \"name\":\"KEYCLOAK_PASSWORD\"}, map[string]interface {}{\"name\":\"PROXY_ADDRESS_FORWARDING\", \"value\":\"true\"}, map[string]interface {}{\"name\":\"POSTGRES_USER\", \"valueFrom\":map[string]interface {}{\"secretKeyRef\":map[string]interface {}{\"key\":\"database-user\", \"name\":\"keycloak-postgres\"}}}, map[string]interface {}{\"name\":\"POSTGRES_PASSWORD\", \"valueFrom\":map[string]interface {}{\"secretKeyRef\":map[string]interface {}{\"key\":\"database-password\", \"name\":\"keycloak-postgres\"}}}, map[string]interface {}{\"name\":\"POSTGRES_DATABASE\", \"valueFrom\":map[string]interface {}{\"secretKeyRef\":map[string]interface {}{\"key\":\"database-name\", \"name\":\"keycloak-postgres\"}}}}, \"imagePullPolicy\":\"IfNotPresent\", \"resources\":map[string]interface {}{}, \"securityContext\":map[string]interface {}{\"capabilities\":map[string]interface {}{\"drop\":[]interface {}{\"KILL\", \"MKNOD\", \"SETGID\", \"SETUID\"}}, \"privileged\":false, \"runAsUser\":1000080000, \"seLinuxOptions\":map[string]interface {}{\"level\":\"s0:c9,c4\"}}, \"image\":\"docker.io\/jboss\/keycloak-openshift:3.4.3.Final\", \"name\":\"keycloak\", \"ports\":[]interface {}{map[string]interface {}{\"protocol\":\"TCP\", \"containerPort\":8080}}, \"terminationMessagePath\":\"\/dev\/termination-log\"}}, \"imagePullSecrets\":[]interface {}{map[string]interface {}{\"name\":\"default-dockercfg-6brgt\"}}, \"serviceAccount\":\"default\", \"serviceAccountName\":\"default\", \"terminationGracePeriodSeconds\":30, \"volumes\":[]interface {}{map[string]interface {}{\"name\":\"keycloak-metrics\", \"persistentVolumeClaim\":map[string]interface {}{\"claimName\":\"keycloak-metrics\"}}, map[string]interface {}{\"name\":\"default-token-7g6b5\", \"secret\":map[string]interface {}{\"defaultMode\":420, \"secretName\":\"default-token-7g6b5\"}}}, \"dnsPolicy\":\"ClusterFirst\", \"nodeName\":\"localhost\", \"restartPolicy\":\"Always\", \"schedulerName\":\"default-scheduler\", \"securityContext\":map[string]interface {}{\"fsGroup\":1000080000, \"seLinuxOptions\":map[string]interface {}{\"level\":\"s0:c9,c4\"}}}, \"status\":map[string]interface {}{\"startTime\":\"2018-03-06T22:22:20Z\", \"conditions\":[]interface {}{map[string]interface {}{\"type\":\"Initialized\", \"lastProbeTime\":interface {}(nil), \"lastTransitionTime\":\"2018-03-06T22:22:20Z\", \"status\":\"True\"}, map[string]interface {}{\"lastTransitionTime\":\"2018-03-06T22:22:24Z\", \"status\":\"True\", \"type\":\"Ready\", \"lastProbeTime\":interface {}(nil)}, map[string]interface {}{\"lastProbeTime\":interface {}(nil), \"lastTransitionTime\":\"2018-03-06T22:22:20Z\", \"status\":\"True\", \"type\":\"PodScheduled\"}}, \"containerStatuses\":[]interface {}{map[string]interface {}{\"imageID\":\"docker-pullable:\/\/docker.io\/jboss\/keycloak-openshift@sha256:94da2135980a96794e25eda4fba95fc0c03afa2ff36d2d451b13233d55e5e2df\", \"lastState\":map[string]interface {}{}, \"name\":\"keycloak\", \"ready\":true, \"restartCount\":0, \"state\":map[string]interface {}{\"running\":map[string]interface {}{\"startedAt\":\"2018-03-06T22:22:24Z\"}}, \"containerID\":\"docker:\/\/dce81006f7f1063df55947f6f0d43b1f9b5340219a88003d8f9b869ec2ba9522\", \"image\":\"docker.io\/jboss\/keycloak-openshift:3.4.3.Final\"}}, \"hostIP\":\"10.1.10.101\", \"phase\":\"Running\", \"podIP\":\"172.17.0.15\", \"qosClass\":\"BestEffort\"}}, map[string]interface {}{\"status\":map[string]interface {}{\"conditions\":[]interface {}{map[string]interface {}{\"lastTransitionTime\":\"2018-03-06T22:22:18Z\", \"status\":\"True\", \"type\":\"Initialized\", \"lastProbeTime\":interface {}(nil)}, map[string]interface {}{\"lastProbeTime\":interface {}(nil), \"lastTransitionTime\":\"2018-03-06T22:22:21Z\", \"status\":\"True\", \"type\":\"Ready\"}, map[string]interface {}{\"status\":\"True\", \"type\":\"PodScheduled\", \"lastProbeTime\":interface {}(nil), \"lastTransitionTime\":\"2018-03-06T22:22:18Z\"}}, \"containerStatuses\":[]interface {}{map[string]interface {}{\"lastState\":map[string]interface {}{}, \"name\":\"deployment\", \"ready\":true, \"restartCount\":0, \"state\":map[string]interface {}{\"running\":map[string]interface {}{\"startedAt\":\"2018-03-06T22:22:20Z\"}}, \"containerID\":\"docker:\/\/eb1b180e9a809d7a7d4783fce40b627e2ef6509e14fa14e9487c616a68f45914\", \"image\":\"docker.io\/openshift\/origin-deployer:v3.7.1\", \"imageID\":\"docker-pullable:\/\/docker.io\/openshift\/origin-deployer@sha256:064c3ba908fe9f7b4a22373bde98167789292de3670d48b05ef665748d1cadea\"}}, \"hostIP\":\"10.1.10.101\", \"phase\":\"Running\", \"podIP\":\"172.17.0.13\", \"qosClass\":\"BestEffort\", \"startTime\":\"2018-03-06T22:22:18Z\"}, \"apiVersion\":\"v1\", \"kind\":\"Pod\", \"metadata\":map[string]interface {}{\"labels\":map[string]interface {}{\"openshift.io\/deployer-pod-for.name\":\"keycloak-1\"}, \"namespace\":\"myproject\", \"ownerReferences\":[]interface {}{map[string]interface {}{\"apiVersion\":\"v1\", \"kind\":\"ReplicationController\", \"name\":\"keycloak-1\", \"uid\":\"d4e5a3c6-218c-11e8-9431-08606e691c32\"}}, \"selfLink\":\"\/api\/v1\/namespaces\/myproject\/pods\/keycloak-1-deploy\", \"annotations\":map[string]interface {}{\"openshift.io\/deployment.name\":\"keycloak-1\", \"openshift.io\/scc\":\"restricted\"}, \"creationTimestamp\":\"2018-03-06T22:22:18Z\", \"uid\":\"d4ea1380-218c-11e8-9431-08606e691c32\", \"name\":\"keycloak-1-deploy\", \"resourceVersion\":\"2977\"}, \"spec\":map[string]interface {}{\"dnsPolicy\":\"ClusterFirst\", \"nodeName\":\"localhost\", \"restartPolicy\":\"Never\", \"serviceAccountName\":\"deployer\", \"terminationGracePeriodSeconds\":10, \"activeDeadlineSeconds\":21600, \"containers\":[]interface {}{map[string]interface {}{\"env\":[]interface {}{map[string]interface {}{\"name\":\"KUBERNETES_MASTER\", \"value\":\"https:\/\/127.0.0.1:8443\"}, map[string]interface {}{\"name\":\"OPENSHIFT_MASTER\", \"value\":\"https:\/\/127.0.0.1:8443\"}, map[string]interface {}{\"name\":\"BEARER_TOKEN_FILE\", \"value\":\"\/var\/run\/secrets\/kubernetes.io\/serviceaccount\/token\"}, map[string]interface {}{\"name\":\"OPENSHIFT_CA_DATA\", \"value\":\"-----BEGIN CERTIFICATE-----\\nMIIC6jCCAdKgAwIBAgIBATANBgkqhkiG9w0BAQsFADAmMSQwIgYDVQQDDBtvcGVu\\nc2hpZnQtc2lnbmVyQDE1MjAzNzQ0OTYwHhcNMTgwMzA2MjIxNDU1WhcNMjMwMzA1\\nMjIxNDU2WjAmMSQwIgYDVQQDDBtvcGVuc2hpZnQtc2lnbmVyQDE1MjAzNzQ0OTYw\\nggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQDE5kud80NbC+EvKOVqazY4\\nBbSOWTTy7NfwUMG0w6pORn93Wk60nY9rxOSJN+6t4meH9WOrYPQdndxwV5voceW+\\nkoQnSY49F7aJ33dPB+XJKSJHE9ilvxOU72gGgly0lBb4VZThDMar89jUPaTZOmnZ\\nCeChCt8npOXPy9bdGItJXNFeRQg0j7l8EW5z1aN\/bS\/cERDHYJbkFHeHz+WGg3fS\\nuf1UvLRQLwxHUrtuCwOUdQ3LF9IKV4AWUUApC9HtILyjZHzmLV3afC6y\/gPpNns6\\nT\/wqS\/UHJgDJMbniifCyIAijh7OfYH8DqsnPUl9gt82fnPcabaxm9HxnuInqT83V\\nAgMBAAGjIzAhMA4GA1UdDwEB\/wQEAwICpDAPBgNVHRMBAf8EBTADAQH\/MA0GCSqG\\nSIb3DQEBCwUAA4IBAQBFz2Kj3Talfe\/bGJF1vmP6jOPdiSwx5pLiYTNOgb77B0gK\\nN64gIU2Lb+vyb7XRHgykqTewguqWQEFF\/0J\/Bo5VJ\/UJpWsGhTMgO+Ae5flZHSyC\\nOWA7Pfn9i\/\/8lm46NXVkxoBxT0Y3AQcOnKwQ6fSUPBOgNxMVI53+Wqfz+\/tc8pPy\\nyol97DSqCSVojUSLL5BbBYRXkXcw++b5tPRnuyBNyHXTegBnKTi3YvSkW1GqRfXa\\nRzXdlSh1Z9mAQyfUkcIDDbd22AXbjtUuWiR5LJeBqBlGLPrkCsex5xxySOi9ggJU\\nbHTyUKYDGY3XdUn5M4RCuKyRKsiY2wS+PogDUhEt\\n-----END CERTIFICATE-----\\n\"}, map[string]interface {}{\"value\":\"keycloak-1\", \"name\":\"OPENSHIFT_DEPLOYMENT_NAME\"}, map[string]interface {}{\"name\":\"OPENSHIFT_DEPLOYMENT_NAMESPACE\", \"value\":\"myproject\"}}, \"image\":\"openshift\/origin-deployer:v3.7.1\", \"resources\":map[string]interface {}{}, \"securityContext\":map[string]interface {}{\"capabilities\":map[string]interface {}{\"drop\":[]interface {}{\"KILL\", \"MKNOD\", \"SETGID\", \"SETUID\"}}, \"privileged\":false, \"runAsUser\":1000080000, \"seLinuxOptions\":map[string]interface {}{\"level\":\"s0:c9,c4\"}}, \"terminationMessagePath\":\"\/dev\/termination-log\", \"terminationMessagePolicy\":\"File\", \"volumeMounts\":[]interface {}{map[string]interface {}{\"readOnly\":true, \"mountPath\":\"\/var\/run\/secrets\/kubernetes.io\/serviceaccount\", \"name\":\"deployer-token-wh59l\"}}, \"imagePullPolicy\":\"IfNotPresent\", \"name\":\"deployment\"}}, \"imagePullSecrets\":[]interface {}{map[string]interface {}{\"name\":\"deployer-dockercfg-fdn57\"}}, \"schedulerName\":\"default-scheduler\", \"securityContext\":map[string]interface {}{\"fsGroup\":1000080000, \"seLinuxOptions\":map[string]interface {}{\"level\":\"s0:c9,c4\"}}, \"serviceAccount\":\"deployer\", \"volumes\":[]interface {}{map[string]interface {}{\"name\":\"deployer-token-wh59l\", \"secret\":map[string]interface {}{\"defaultMode\":420, \"secretName\":\"deployer-token-wh59l\"}}}}}, map[string]interface {}{\"apiVersion\":\"v1\", \"kind\":\"Pod\", \"metadata\":map[string]interface {}{\"annotations\":map[string]interface {}{\"kubernetes.io\/created-by\":\"{\\\"kind\\\":\\\"SerializedReference\\\",\\\"apiVersion\\\":\\\"v1\\\",\\\"reference\\\":{\\\"kind\\\":\\\"ReplicationController\\\",\\\"namespace\\\":\\\"myproject\\\",\\\"name\\\":\\\"postgres-1\\\",\\\"uid\\\":\\\"c0225168-218c-11e8-9431-08606e691c32\\\",\\\"apiVersion\\\":\\\"v1\\\",\\\"resourceVersion\\\":\\\"2811\\\"}}\\n\", \"openshift.io\/deployment-config.latest-version\":\"1\", \"openshift.io\/deployment-config.name\":\"postgres\", \"openshift.io\/deployment.name\":\"postgres-1\", \"openshift.io\/scc\":\"restricted\"}, \"creationTimestamp\":\"2018-03-06T22:21:45Z\", \"uid\":\"c1041842-218c-11e8-9431-08606e691c32\", \"generateName\":\"postgres-1-\", \"labels\":map[string]interface {}{\"app\":\"keycloak\", \"deployment\":\"postgres-1\", \"deploymentconfig\":\"postgres\", \"name\":\"postgres\"}, \"name\":\"postgres-1-mt8bw\", \"namespace\":\"myproject\", \"ownerReferences\":[]interface {}{map[string]interface {}{\"apiVersion\":\"v1\", \"blockOwnerDeletion\":true, \"controller\":true, \"kind\":\"ReplicationController\", \"name\":\"postgres-1\", \"uid\":\"c0225168-218c-11e8-9431-08606e691c32\"}}, \"resourceVersion\":\"2845\", \"selfLink\":\"\/api\/v1\/namespaces\/myproject\/pods\/postgres-1-mt8bw\"}, \"spec\":map[string]interface {}{\"serviceAccountName\":\"default\", \"containers\":[]interface {}{map[string]interface {}{\"image\":\"centos\/postgresql-95-centos7:9.5\", \"livenessProbe\":map[string]interface {}{\"timeoutSeconds\":1, \"failureThreshold\":3, \"initialDelaySeconds\":30, \"periodSeconds\":10, \"successThreshold\":1, \"tcpSocket\":map[string]interface {}{\"port\":5432}}, \"terminationMessagePolicy\":\"File\", \"env\":[]interface {}{map[string]interface {}{\"name\":\"POSTGRESQL_USER\", \"valueFrom\":map[string]interface {}{\"secretKeyRef\":map[string]interface {}{\"key\":\"database-user\", \"name\":\"keycloak-postgres\"}}}, map[string]interface {}{\"name\":\"POSTGRESQL_PASSWORD\", \"valueFrom\":map[string]interface {}{\"secretKeyRef\":map[string]interface {}{\"key\":\"database-password\", \"name\":\"keycloak-postgres\"}}}, map[string]interface {}{\"valueFrom\":map[string]interface {}{\"secretKeyRef\":map[string]interface {}{\"key\":\"database-name\", \"name\":\"keycloak-postgres\"}}, \"name\":\"POSTGRESQL_DATABASE\"}}, \"imagePullPolicy\":\"IfNotPresent\", \"name\":\"postgresql\", \"ports\":[]interface {}{map[string]interface {}{\"containerPort\":5432, \"protocol\":\"TCP\"}}, \"readinessProbe\":map[string]interface {}{\"exec\":map[string]interface {}{\"command\":[]interface {}{\"\/bin\/sh\", \"-i\", \"-c\", \"psql -h 127.0.0.1 -U $POSTGRESQL_USER -q -d $POSTGRESQL_DATABASE -c 'SELECT 1'\"}}, \"failureThreshold\":3, \"initialDelaySeconds\":5, \"periodSeconds\":10, \"successThreshold\":1, \"timeoutSeconds\":1}, \"resources\":map[string]interface {}{\"limits\":map[string]interface {}{\"memory\":\"512Mi\"}, \"requests\":map[string]interface {}{\"memory\":\"512Mi\"}}, \"securityContext\":map[string]interface {}{\"seLinuxOptions\":map[string]interface {}{\"level\":\"s0:c9,c4\"}, \"capabilities\":map[string]interface {}{\"drop\":[]interface {}{\"KILL\", \"MKNOD\", \"SETGID\", \"SETUID\"}}, \"privileged\":false, \"runAsUser\":1000080000}, \"terminationMessagePath\":\"\/dev\/termination-log\", \"volumeMounts\":[]interface {}{map[string]interface {}{\"mountPath\":\"\/var\/lib\/pgsql\/data\", \"name\":\"postgres-data\"}, map[string]interface {}{\"mountPath\":\"\/var\/run\/secrets\/kubernetes.io\/serviceaccount\", \"name\":\"default-token-7g6b5\", \"readOnly\":true}}}}, \"dnsPolicy\":\"ClusterFirst\", \"imagePullSecrets\":[]interface {}{map[string]interface {}{\"name\":\"default-dockercfg-6brgt\"}}, \"nodeName\":\"localhost\", \"restartPolicy\":\"Always\", \"securityContext\":map[string]interface {}{\"fsGroup\":1000080000, \"seLinuxOptions\":map[string]interface {}{\"level\":\"s0:c9,c4\"}}, \"serviceAccount\":\"default\", \"schedulerName\":\"default-scheduler\", \"terminationGracePeriodSeconds\":30, \"volumes\":[]interface {}{map[string]interface {}{\"name\":\"postgres-data\", \"persistentVolumeClaim\":map[string]interface {}{\"claimName\":\"postgres\"}}, map[string]interface {}{\"name\":\"default-token-7g6b5\", \"secret\":map[string]interface {}{\"defaultMode\":420, \"secretName\":\"default-token-7g6b5\"}}}}, \"status\":map[string]interface {}{\"conditions\":[]interface {}{map[string]interface {}{\"lastProbeTime\":interface {}(nil), \"lastTransitionTime\":\"2018-03-06T22:21:45Z\", \"status\":\"True\", \"type\":\"Initialized\"}, map[string]interface {}{\"lastProbeTime\":interface {}(nil), \"lastTransitionTime\":\"2018-03-06T22:21:51Z\", \"status\":\"True\", \"type\":\"Ready\"}, map[string]interface {}{\"lastProbeTime\":interface {}(nil), \"lastTransitionTime\":\"2018-03-06T22:21:45Z\", \"status\":\"True\", \"type\":\"PodScheduled\"}}, \"containerStatuses\":[]interface {}{map[string]interface {}{\"restartCount\":0, \"state\":map[string]interface {}{\"running\":map[string]interface {}{\"startedAt\":\"2018-03-06T22:21:46Z\"}}, \"containerID\":\"docker:\/\/5acb808a2471c005023c964f6a0225160abf59460d35fc17b2a414408ef0f429\", \"image\":\"docker.io\/centos\/postgresql-95-centos7:9.5\", \"imageID\":\"docker-pullable:\/\/docker.io\/centos\/postgresql-95-centos7@sha256:e8fc8cf805a82b0e8cad5d821fda68d908ad3a7268a27e15e48d36c608d49117\", \"lastState\":map[string]interface {}{}, \"name\":\"postgresql\", \"ready\":true}}, \"hostIP\":\"10.1.10.101\", \"phase\":\"Running\", \"podIP\":\"172.17.0.12\", \"qosClass\":\"Burstable\", \"startTime\":\"2018-03-06T22:21:45Z\"}}, map[string]interface {}{\"kind\":\"Pod\", \"metadata\":map[string]interface {}{\"labels\":map[string]interface {}{\"service\":\"prometheus\", \"app\":\"prometheus\", \"deployment\":\"prometheus-1\", \"deploymentconfig\":\"prometheus\"}, \"namespace\":\"myproject\", \"ownerReferences\":[]interface {}{map[string]interface {}{\"apiVersion\":\"v1\", \"blockOwnerDeletion\":true, \"controller\":true, \"kind\":\"ReplicationController\", \"name\":\"prometheus-1\", \"uid\":\"b3f1c1a5-218c-11e8-9431-08606e691c32\"}}, \"resourceVersion\":\"2751\", \"uid\":\"b4c71b51-218c-11e8-9431-08606e691c32\", \"annotations\":map[string]interface {}{\"openshift.io\/scc\":\"restricted\", \"kubernetes.io\/created-by\":\"{\\\"kind\\\":\\\"SerializedReference\\\",\\\"apiVersion\\\":\\\"v1\\\",\\\"reference\\\":{\\\"kind\\\":\\\"ReplicationController\\\",\\\"namespace\\\":\\\"myproject\\\",\\\"name\\\":\\\"prometheus-1\\\",\\\"uid\\\":\\\"b3f1c1a5-218c-11e8-9431-08606e691c32\\\",\\\"apiVersion\\\":\\\"v1\\\",\\\"resourceVersion\\\":\\\"2714\\\"}}\\n\", \"openshift.io\/deployment-config.latest-version\":\"1\", \"openshift.io\/deployment-config.name\":\"prometheus\", \"openshift.io\/deployment.name\":\"prometheus-1\"}, \"generateName\":\"prometheus-1-\", \"name\":\"prometheus-1-mxwgw\", \"selfLink\":\"\/api\/v1\/namespaces\/myproject\/pods\/prometheus-1-mxwgw\", \"creationTimestamp\":\"2018-03-06T22:21:24Z\"}, \"spec\":map[string]interface {}{\"terminationGracePeriodSeconds\":30, \"volumes\":[]interface {}{map[string]interface {}{\"configMap\":map[string]interface {}{\"defaultMode\":420, \"name\":\"prometheus-configmap\"}, \"name\":\"prometheus-configmap-volume\"}, map[string]interface {}{\"name\":\"prometheus-volume-1\", \"persistentVolumeClaim\":map[string]interface {}{\"claimName\":\"prometheus-claim\"}}, map[string]interface {}{\"name\":\"oauth-proxy-token-wrzgh\", \"secret\":map[string]interface {}{\"defaultMode\":420, \"secretName\":\"oauth-proxy-token-wrzgh\"}}}, \"containers\":[]interface {}{map[string]interface {}{\"image\":\"docker.io\/openshift\/oauth-proxy:v1.1.0\", \"securityContext\":map[string]interface {}{\"seLinuxOptions\":map[string]interface {}{\"level\":\"s0:c9,c4\"}, \"capabilities\":map[string]interface {}{\"drop\":[]interface {}{\"KILL\", \"MKNOD\", \"SETGID\", \"SETUID\"}}, \"privileged\":false, \"runAsUser\":1000080000}, \"ports\":[]interface {}{map[string]interface {}{\"containerPort\":4180, \"name\":\"public\", \"protocol\":\"TCP\"}}, \"resources\":map[string]interface {}{}, \"terminationMessagePath\":\"\/dev\/termination-log\", \"terminationMessagePolicy\":\"File\", \"volumeMounts\":[]interface {}{map[string]interface {}{\"mountPath\":\"\/var\/run\/secrets\/kubernetes.io\/serviceaccount\", \"name\":\"oauth-proxy-token-wrzgh\", \"readOnly\":true}}, \"args\":[]interface {}{\"--provider=openshift\", \"--openshift-service-account=oauth-proxy\", \"--upstream=http:\/\/localhost:9090\", \"--openshift-sar={\\\"namespace\\\":\\\"myproject\\\",\\\"resource\\\":\\\"deploymentconfigs\\\",\\\"name\\\":\\\"prometheus\\\",\\\"verb\\\":\\\"update\\\"}\", \"--http-address=0.0.0.0:4180\", \"--https-address=\", \"--cookie-secret=SECRET\"}, \"imagePullPolicy\":\"IfNotPresent\", \"name\":\"prometheus-oauth-proxy\"}, map[string]interface {}{\"imagePullPolicy\":\"Always\", \"name\":\"prometheus\", \"terminationMessagePath\":\"\/dev\/termination-log\", \"terminationMessagePolicy\":\"File\", \"volumeMounts\":[]interface {}{map[string]interface {}{\"name\":\"prometheus-configmap-volume\", \"mountPath\":\"\/etc\/prometheus\"}, map[string]interface {}{\"mountPath\":\"\/prometheus\", \"name\":\"prometheus-volume-1\"}, map[string]interface {}{\"mountPath\":\"\/var\/run\/secrets\/kubernetes.io\/serviceaccount\", \"name\":\"oauth-proxy-token-wrzgh\", \"readOnly\":true}}, \"image\":\"registry.access.redhat.com\/openshift3\/prometheus:latest\", \"ports\":[]interface {}{map[string]interface {}{\"containerPort\":9090, \"protocol\":\"TCP\"}}, \"resources\":map[string]interface {}{}, \"securityContext\":map[string]interface {}{\"seLinuxOptions\":map[string]interface {}{\"level\":\"s0:c9,c4\"}, \"capabilities\":map[string]interface {}{\"drop\":[]interface {}{\"KILL\", \"MKNOD\", \"SETGID\", \"SETUID\"}}, \"privileged\":false, \"runAsUser\":1000080000}}}, \"nodeName\":\"localhost\", \"securityContext\":map[string]interface {}{\"fsGroup\":1000080000, \"seLinuxOptions\":map[string]interface {}{\"level\":\"s0:c9,c4\"}}, \"serviceAccount\":\"oauth-proxy\", \"serviceAccountName\":\"oauth-proxy\", \"dnsPolicy\":\"ClusterFirst\", \"imagePullSecrets\":[]interface {}{map[string]interface {}{\"name\":\"oauth-proxy-dockercfg-xxrgh\"}}, \"restartPolicy\":\"Always\", \"schedulerName\":\"default-scheduler\"}, \"status\":map[string]interface {}{\"podIP\":\"172.17.0.11\", \"qosClass\":\"BestEffort\", \"startTime\":\"2018-03-06T22:21:24Z\", \"conditions\":[]interface {}{map[string]interface {}{\"lastProbeTime\":interface {}(nil), \"lastTransitionTime\":\"2018-03-06T22:21:24Z\", \"status\":\"True\", \"type\":\"Initialized\"}, map[string]interface {}{\"lastProbeTime\":interface {}(nil), \"lastTransitionTime\":\"2018-03-06T22:21:29Z\", \"status\":\"True\", \"type\":\"Ready\"}, map[string]interface {}{\"type\":\"PodScheduled\", \"lastProbeTime\":interface {}(nil), \"lastTransitionTime\":\"2018-03-06T22:21:24Z\", \"status\":\"True\"}}, \"containerStatuses\":[]interface {}{map[string]interface {}{\"restartCount\":0, \"state\":map[string]interface {}{\"running\":map[string]interface {}{\"startedAt\":\"2018-03-06T22:21:28Z\"}}, \"containerID\":\"docker:\/\/effad20b8c2cd6475778faebd49b5732095559a561cfe7228973e42f0cae275d\", \"image\":\"registry.access.redhat.com\/openshift3\/prometheus:latest\", \"imageID\":\"docker-pullable:\/\/registry.access.redhat.com\/openshift3\/prometheus@sha256:ec12c1f84b7e2e013da74ab9f68e131df57226593eb306ccae4eaa4224ee4daf\", \"lastState\":map[string]interface {}{}, \"name\":\"prometheus\", \"ready\":true}, map[string]interface {}{\"image\":\"docker.io\/openshift\/oauth-proxy:v1.1.0\", \"imageID\":\"docker-pullable:\/\/docker.io\/openshift\/oauth-proxy@sha256:731c1fdad1de4bf68ae9eece5e99519f063fd8d9990da312082b4c995c4e4e33\", \"lastState\":map[string]interface {}{}, \"name\":\"prometheus-oauth-proxy\", \"ready\":true, \"restartCount\":0, \"state\":map[string]interface {}{\"running\":map[string]interface {}{\"startedAt\":\"2018-03-06T22:21:26Z\"}}, \"containerID\":\"docker:\/\/a604da2d607dd24c896efaa091af2a35df52470d7cbf20759758abe456221e6c\"}}, \"hostIP\":\"10.1.10.101\", \"phase\":\"Running\"}, \"apiVersion\":\"v1\"}}}",
  "stdout_lines": [
    "Error executing template: can only compare one element at a time. Printing more information for debugging the template:",
    "\ttemplate was:",
    "\t\t{.items[?(@.spec.containers[*].name==\"keycloak\")].metadata.name}",
    "\tobject given to jsonpath engine was:",
    "\t\tmap[string]interface {}{\"kind\":\"List\", \"apiVersion\":\"v1\", \"metadata\":map[string]interface {}{\"selfLink\":\"\", \"resourceVersion\":\"\"}, \"items\":[]interface {}{map[string]interface {}{\"kind\":\"Pod\", \"metadata\":map[string]interface {}{\"annotations\":map[string]interface {}{\"openshift.io\/deployment.name\":\"grafana-1\", \"openshift.io\/scc\":\"restricted\"}, \"labels\":map[string]interface {}{\"openshift.io\/deployer-pod-for.name\":\"grafana-1\"}, \"name\":\"grafana-1-deploy\", \"namespace\":\"myproject\", \"resourceVersion\":\"2932\", \"selfLink\":\"\/api\/v1\/namespaces\/myproject\/pods\/grafana-1-deploy\", \"creationTimestamp\":\"2018-03-06T22:22:18Z\", \"ownerReferences\":[]interface {}{map[string]interface {}{\"kind\":\"ReplicationController\", \"name\":\"grafana-1\", \"uid\":\"d4e0c40a-218c-11e8-9431-08606e691c32\", \"apiVersion\":\"v1\"}}, \"uid\":\"d4e3518f-218c-11e8-9431-08606e691c32\"}, \"spec\":map[string]interface {}{\"containers\":[]interface {}{map[string]interface {}{\"name\":\"deployment\", \"securityContext\":map[string]interface {}{\"capabilities\":map[string]interface {}{\"drop\":[]interface {}{\"KILL\", \"MKNOD\", \"SETGID\", \"SETUID\"}}, \"privileged\":false, \"runAsUser\":1000080000, \"seLinuxOptions\":map[string]interface {}{\"level\":\"s0:c9,c4\"}}, \"env\":[]interface {}{map[string]interface {}{\"name\":\"KUBERNETES_MASTER\", \"value\":\"https:\/\/127.0.0.1:8443\"}, map[string]interface {}{\"name\":\"OPENSHIFT_MASTER\", \"value\":\"https:\/\/127.0.0.1:8443\"}, map[string]interface {}{\"name\":\"BEARER_TOKEN_FILE\", \"value\":\"\/var\/run\/secrets\/kubernetes.io\/serviceaccount\/token\"}, map[string]interface {}{\"name\":\"OPENSHIFT_CA_DATA\", \"value\":\"-----BEGIN CERTIFICATE-----\\nMIIC6jCCAdKgAwIBAgIBATANBgkqhkiG9w0BAQsFADAmMSQwIgYDVQQDDBtvcGVu\\nc2hpZnQtc2lnbmVyQDE1MjAzNzQ0OTYwHhcNMTgwMzA2MjIxNDU1WhcNMjMwMzA1\\nMjIxNDU2WjAmMSQwIgYDVQQDDBtvcGVuc2hpZnQtc2lnbmVyQDE1MjAzNzQ0OTYw\\nggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQDE5kud80NbC+EvKOVqazY4\\nBbSOWTTy7NfwUMG0w6pORn93Wk60nY9rxOSJN+6t4meH9WOrYPQdndxwV5voceW+\\nkoQnSY49F7aJ33dPB+XJKSJHE9ilvxOU72gGgly0lBb4VZThDMar89jUPaTZOmnZ\\nCeChCt8npOXPy9bdGItJXNFeRQg0j7l8EW5z1aN\/bS\/cERDHYJbkFHeHz+WGg3fS\\nuf1UvLRQLwxHUrtuCwOUdQ3LF9IKV4AWUUApC9HtILyjZHzmLV3afC6y\/gPpNns6\\nT\/wqS\/UHJgDJMbniifCyIAijh7OfYH8DqsnPUl9gt82fnPcabaxm9HxnuInqT83V\\nAgMBAAGjIzAhMA4GA1UdDwEB\/wQEAwICpDAPBgNVHRMBAf8EBTADAQH\/MA0GCSqG\\nSIb3DQEBCwUAA4IBAQBFz2Kj3Talfe\/bGJF1vmP6jOPdiSwx5pLiYTNOgb77B0gK\\nN64gIU2Lb+vyb7XRHgykqTewguqWQEFF\/0J\/Bo5VJ\/UJpWsGhTMgO+Ae5flZHSyC\\nOWA7Pfn9i\/\/8lm46NXVkxoBxT0Y3AQcOnKwQ6fSUPBOgNxMVI53+Wqfz+\/tc8pPy\\nyol97DSqCSVojUSLL5BbBYRXkXcw++b5tPRnuyBNyHXTegBnKTi3YvSkW1GqRfXa\\nRzXdlSh1Z9mAQyfUkcIDDbd22AXbjtUuWiR5LJeBqBlGLPrkCsex5xxySOi9ggJU\\nbHTyUKYDGY3XdUn5M4RCuKyRKsiY2wS+PogDUhEt\\n-----END CERTIFICATE-----\\n\"}, map[string]interface {}{\"name\":\"OPENSHIFT_DEPLOYMENT_NAME\", \"value\":\"grafana-1\"}, map[string]interface {}{\"name\":\"OPENSHIFT_DEPLOYMENT_NAMESPACE\", \"value\":\"myproject\"}}, \"image\":\"openshift\/origin-deployer:v3.7.1\", \"terminationMessagePath\":\"\/dev\/termination-log\", \"terminationMessagePolicy\":\"File\", \"volumeMounts\":[]interface {}{map[string]interface {}{\"name\":\"deployer-token-wh59l\", \"readOnly\":true, \"mountPath\":\"\/var\/run\/secrets\/kubernetes.io\/serviceaccount\"}}, \"imagePullPolicy\":\"IfNotPresent\", \"resources\":map[string]interface {}{}}}, \"dnsPolicy\":\"ClusterFirst\", \"nodeName\":\"localhost\", \"restartPolicy\":\"Never\", \"schedulerName\":\"default-scheduler\", \"volumes\":[]interface {}{map[string]interface {}{\"name\":\"deployer-token-wh59l\", \"secret\":map[string]interface {}{\"defaultMode\":420, \"secretName\":\"deployer-token-wh59l\"}}}, \"activeDeadlineSeconds\":21600, \"securityContext\":map[string]interface {}{\"fsGroup\":1000080000, \"seLinuxOptions\":map[string]interface {}{\"level\":\"s0:c9,c4\"}}, \"serviceAccount\":\"deployer\", \"serviceAccountName\":\"deployer\", \"terminationGracePeriodSeconds\":10, \"imagePullSecrets\":[]interface {}{map[string]interface {}{\"name\":\"deployer-dockercfg-fdn57\"}}}, \"status\":map[string]interface {}{\"conditions\":[]interface {}{map[string]interface {}{\"lastProbeTime\":interface {}(nil), \"lastTransitionTime\":\"2018-03-06T22:22:18Z\", \"status\":\"True\", \"type\":\"Initialized\"}, map[string]interface {}{\"type\":\"Ready\", \"lastProbeTime\":interface {}(nil), \"lastTransitionTime\":\"2018-03-06T22:22:20Z\", \"status\":\"True\"}, map[string]interface {}{\"lastProbeTime\":interface {}(nil), \"lastTransitionTime\":\"2018-03-06T22:22:18Z\", \"status\":\"True\", \"type\":\"PodScheduled\"}}, \"containerStatuses\":[]interface {}{map[string]interface {}{\"name\":\"deployment\", \"ready\":true, \"restartCount\":0, \"state\":map[string]interface {}{\"running\":map[string]interface {}{\"startedAt\":\"2018-03-06T22:22:20Z\"}}, \"containerID\":\"docker:\/\/e4bcb986db8595364c2f63313e641f5d00f37e0cd33bf17553a69e1997705306\", \"image\":\"docker.io\/openshift\/origin-deployer:v3.7.1\", \"imageID\":\"docker-pullable:\/\/docker.io\/openshift\/origin-deployer@sha256:064c3ba908fe9f7b4a22373bde98167789292de3670d48b05ef665748d1cadea\", \"lastState\":map[string]interface {}{}}}, \"hostIP\":\"10.1.10.101\", \"phase\":\"Running\", \"podIP\":\"172.17.0.10\", \"qosClass\":\"BestEffort\", \"startTime\":\"2018-03-06T22:22:18Z\"}, \"apiVersion\":\"v1\"}, map[string]interface {}{\"metadata\":map[string]interface {}{\"generateName\":\"grafana-1-\", \"labels\":map[string]interface {}{\"app\":\"grafana\", \"deployment\":\"grafana-1\", \"deploymentconfig\":\"grafana\", \"service\":\"prometheus\"}, \"selfLink\":\"\/api\/v1\/namespaces\/myproject\/pods\/grafana-1-wg8gl\", \"uid\":\"d61ebfc2-218c-11e8-9431-08606e691c32\", \"annotations\":map[string]interface {}{\"kubernetes.io\/created-by\":\"{\\\"kind\\\":\\\"SerializedReference\\\",\\\"apiVersion\\\":\\\"v1\\\",\\\"reference\\\":{\\\"kind\\\":\\\"ReplicationController\\\",\\\"namespace\\\":\\\"myproject\\\",\\\"name\\\":\\\"grafana-1\\\",\\\"uid\\\":\\\"d4e0c40a-218c-11e8-9431-08606e691c32\\\",\\\"apiVersion\\\":\\\"v1\\\",\\\"resourceVersion\\\":\\\"2938\\\"}}\\n\", \"openshift.io\/deployment-config.latest-version\":\"1\", \"openshift.io\/deployment-config.name\":\"grafana\", \"openshift.io\/deployment.name\":\"grafana-1\", \"openshift.io\/scc\":\"restricted\"}, \"creationTimestamp\":\"2018-03-06T22:22:20Z\", \"ownerReferences\":[]interface {}{map[string]interface {}{\"kind\":\"ReplicationController\", \"name\":\"grafana-1\", \"uid\":\"d4e0c40a-218c-11e8-9431-08606e691c32\", \"apiVersion\":\"v1\", \"blockOwnerDeletion\":true, \"controller\":true}}, \"resourceVersion\":\"2998\", \"name\":\"grafana-1-wg8gl\", \"namespace\":\"myproject\"}, \"spec\":map[string]interface {}{\"serviceAccount\":\"oauth-proxy\", \"serviceAccountName\":\"oauth-proxy\", \"terminationGracePeriodSeconds\":30, \"containers\":[]interface {}{map[string]interface {}{\"terminationMessagePath\":\"\/dev\/termination-log\", \"name\":\"grafana-oauth-proxy\", \"image\":\"docker.io\/openshift\/oauth-proxy:v1.1.0\", \"imagePullPolicy\":\"IfNotPresent\", \"ports\":[]interface {}{map[string]interface {}{\"containerPort\":4181, \"name\":\"public\", \"protocol\":\"TCP\"}}, \"resources\":map[string]interface {}{}, \"securityContext\":map[string]interface {}{\"capabilities\":map[string]interface {}{\"drop\":[]interface {}{\"KILL\", \"MKNOD\", \"SETGID\", \"SETUID\"}}, \"privileged\":false, \"runAsUser\":1000080000, \"seLinuxOptions\":map[string]interface {}{\"level\":\"s0:c9,c4\"}}, \"terminationMessagePolicy\":\"File\", \"volumeMounts\":[]interface {}{map[string]interface {}{\"name\":\"oauth-proxy-token-wrzgh\", \"readOnly\":true, \"mountPath\":\"\/var\/run\/secrets\/kubernetes.io\/serviceaccount\"}}, \"args\":[]interface {}{\"--provider=openshift\", \"--openshift-service-account=oauth-proxy\", \"--upstream=http:\/\/localhost:3000\", \"--openshift-sar={\\\"namespace\\\":\\\"myproject\\\",\\\"resource\\\":\\\"deploymentconfigs\\\",\\\"name\\\":\\\"prometheus\\\",\\\"verb\\\":\\\"update\\\"}\", \"--http-address=0.0.0.0:4181\", \"--https-address=\", \"--cookie-secret=SECRET\"}}, map[string]interface {}{\"resources\":map[string]interface {}{}, \"terminationMessagePath\":\"\/dev\/termination-log\", \"volumeMounts\":[]interface {}{map[string]interface {}{\"mountPath\":\"\/etc\/grafana\", \"name\":\"grafana-ini-configmap-volume\"}, map[string]interface {}{\"mountPath\":\"\/etc\/grafana\/conf\/provisioning\/datasources\", \"name\":\"grafana-datasources-configmap-volume\"}, map[string]interface {}{\"mountPath\":\"\/etc\/grafana\/conf\/provisioning\/dashboards\", \"name\":\"grafana-dashboards-providers-configmap-volume\"}, map[string]interface {}{\"mountPath\":\"\/etc\/grafana-dashboards\", \"name\":\"grafana-dashboards-configmap-volume\"}, map[string]interface {}{\"mountPath\":\"\/var\/lib\/grafana\", \"name\":\"grafana-data\"}, map[string]interface {}{\"mountPath\":\"\/var\/log\/grafana\", \"name\":\"grafana-log\"}, map[string]interface {}{\"mountPath\":\"\/var\/run\/secrets\/kubernetes.io\/serviceaccount\", \"name\":\"oauth-proxy-token-wrzgh\", \"readOnly\":true}}, \"name\":\"grafana\", \"imagePullPolicy\":\"Always\", \"ports\":[]interface {}{map[string]interface {}{\"containerPort\":3000, \"protocol\":\"TCP\"}}, \"securityContext\":map[string]interface {}{\"privileged\":false, \"runAsUser\":1000080000, \"seLinuxOptions\":map[string]interface {}{\"level\":\"s0:c9,c4\"}, \"capabilities\":map[string]interface {}{\"drop\":[]interface {}{\"KILL\", \"MKNOD\", \"SETGID\", \"SETUID\"}}}, \"terminationMessagePolicy\":\"File\", \"image\":\"docker.io\/aerogearcatalog\/grafana:latest\"}}, \"dnsPolicy\":\"ClusterFirst\", \"restartPolicy\":\"Always\", \"securityContext\":map[string]interface {}{\"fsGroup\":1000080000, \"seLinuxOptions\":map[string]interface {}{\"level\":\"s0:c9,c4\"}}, \"imagePullSecrets\":[]interface {}{map[string]interface {}{\"name\":\"oauth-proxy-dockercfg-xxrgh\"}}, \"nodeName\":\"localhost\", \"schedulerName\":\"default-scheduler\", \"volumes\":[]interface {}{map[string]interface {}{\"configMap\":map[string]interface {}{\"defaultMode\":420, \"name\":\"grafana-ini-configmap\"}, \"name\":\"grafana-ini-configmap-volume\"}, map[string]interface {}{\"configMap\":map[string]interface {}{\"defaultMode\":420, \"name\":\"grafana-datasources-configmap\"}, \"name\":\"grafana-datasources-configmap-volume\"}, map[string]interface {}{\"name\":\"grafana-dashboards-configmap-volume\", \"configMap\":map[string]interface {}{\"defaultMode\":420, \"name\":\"grafana-dashboards-configmap\"}}, map[string]interface {}{\"configMap\":map[string]interface {}{\"defaultMode\":420, \"name\":\"grafana-dashboards-providers-configmap\"}, \"name\":\"grafana-dashboards-providers-configmap-volume\"}, map[string]interface {}{\"name\":\"grafana-data\", \"persistentVolumeClaim\":map[string]interface {}{\"claimName\":\"grafana-claim\"}}, map[string]interface {}{\"emptyDir\":map[string]interface {}{}, \"name\":\"grafana-log\"}, map[string]interface {}{\"name\":\"oauth-proxy-token-wrzgh\", \"secret\":map[string]interface {}{\"defaultMode\":420, \"secretName\":\"oauth-proxy-token-wrzgh\"}}}}, \"status\":map[string]interface {}{\"startTime\":\"2018-03-06T22:22:20Z\", \"conditions\":[]interface {}{map[string]interface {}{\"lastProbeTime\":interface {}(nil), \"lastTransitionTime\":\"2018-03-06T22:22:20Z\", \"status\":\"True\", \"type\":\"Initialized\"}, map[string]interface {}{\"lastProbeTime\":interface {}(nil), \"lastTransitionTime\":\"2018-03-06T22:22:25Z\", \"status\":\"True\", \"type\":\"Ready\"}, map[string]interface {}{\"lastProbeTime\":interface {}(nil), \"lastTransitionTime\":\"2018-03-06T22:22:20Z\", \"status\":\"True\", \"type\":\"PodScheduled\"}}, \"containerStatuses\":[]interface {}{map[string]interface {}{\"containerID\":\"docker:\/\/7e63fd47df62501fde744d8624fa0c5a6c37540f8cae86020d5054c7251ee349\", \"image\":\"docker.io\/aerogearcatalog\/grafana:latest\", \"imageID\":\"docker-pullable:\/\/docker.io\/aerogearcatalog\/grafana@sha256:74ac825456926d1cab960787d98daa25746aa0af16feaff20f68aa35bf903da0\", \"lastState\":map[string]interface {}{}, \"name\":\"grafana\", \"ready\":true, \"restartCount\":0, \"state\":map[string]interface {}{\"running\":map[string]interface {}{\"startedAt\":\"2018-03-06T22:22:25Z\"}}}, map[string]interface {}{\"containerID\":\"docker:\/\/496320e1f11fa820ecdd35aa43092f7d7af80d9859daa916268514e837d55f04\", \"image\":\"docker.io\/openshift\/oauth-proxy:v1.1.0\", \"imageID\":\"docker-pullable:\/\/docker.io\/openshift\/oauth-proxy@sha256:731c1fdad1de4bf68ae9eece5e99519f063fd8d9990da312082b4c995c4e4e33\", \"lastState\":map[string]interface {}{}, \"name\":\"grafana-oauth-proxy\", \"ready\":true, \"restartCount\":0, \"state\":map[string]interface {}{\"running\":map[string]interface {}{\"startedAt\":\"2018-03-06T22:22:23Z\"}}}}, \"hostIP\":\"10.1.10.101\", \"phase\":\"Running\", \"podIP\":\"172.17.0.14\", \"qosClass\":\"BestEffort\"}, \"apiVersion\":\"v1\", \"kind\":\"Pod\"}, map[string]interface {}{\"apiVersion\":\"v1\", \"kind\":\"Pod\", \"metadata\":map[string]interface {}{\"name\":\"keycloak-1-bd64z\", \"namespace\":\"myproject\", \"ownerReferences\":[]interface {}{map[string]interface {}{\"blockOwnerDeletion\":true, \"controller\":true, \"kind\":\"ReplicationController\", \"name\":\"keycloak-1\", \"uid\":\"d4e5a3c6-218c-11e8-9431-08606e691c32\", \"apiVersion\":\"v1\"}}, \"uid\":\"d640f6bd-218c-11e8-9431-08606e691c32\", \"creationTimestamp\":\"2018-03-06T22:22:20Z\", \"generateName\":\"keycloak-1-\", \"labels\":map[string]interface {}{\"app\":\"keycloak\", \"deployment\":\"keycloak-1\", \"deploymentconfig\":\"keycloak\", \"service\":\"keycloak\"}, \"resourceVersion\":\"2992\", \"selfLink\":\"\/api\/v1\/namespaces\/myproject\/pods\/keycloak-1-bd64z\", \"annotations\":map[string]interface {}{\"openshift.io\/deployment-config.name\":\"keycloak\", \"openshift.io\/deployment.name\":\"keycloak-1\", \"openshift.io\/scc\":\"restricted\", \"kubernetes.io\/created-by\":\"{\\\"kind\\\":\\\"SerializedReference\\\",\\\"apiVersion\\\":\\\"v1\\\",\\\"reference\\\":{\\\"kind\\\":\\\"ReplicationController\\\",\\\"namespace\\\":\\\"myproject\\\",\\\"name\\\":\\\"keycloak-1\\\",\\\"uid\\\":\\\"d4e5a3c6-218c-11e8-9431-08606e691c32\\\",\\\"apiVersion\\\":\\\"v1\\\",\\\"resourceVersion\\\":\\\"2951\\\"}}\\n\", \"openshift.io\/deployment-config.latest-version\":\"1\"}}, \"spec\":map[string]interface {}{\"containers\":[]interface {}{map[string]interface {}{\"terminationMessagePolicy\":\"File\", \"volumeMounts\":[]interface {}{map[string]interface {}{\"subPath\":\"providers\/\", \"mountPath\":\"\/opt\/jboss\/keycloak\/providers\/\", \"name\":\"keycloak-metrics\"}, map[string]interface {}{\"mountPath\":\"\/var\/run\/secrets\/kubernetes.io\/serviceaccount\", \"name\":\"default-token-7g6b5\", \"readOnly\":true}}, \"env\":[]interface {}{map[string]interface {}{\"name\":\"KEYCLOAK_USER\", \"value\":\"admin\"}, map[string]interface {}{\"value\":\"admin\", \"name\":\"KEYCLOAK_PASSWORD\"}, map[string]interface {}{\"name\":\"PROXY_ADDRESS_FORWARDING\", \"value\":\"true\"}, map[string]interface {}{\"name\":\"POSTGRES_USER\", \"valueFrom\":map[string]interface {}{\"secretKeyRef\":map[string]interface {}{\"key\":\"database-user\", \"name\":\"keycloak-postgres\"}}}, map[string]interface {}{\"name\":\"POSTGRES_PASSWORD\", \"valueFrom\":map[string]interface {}{\"secretKeyRef\":map[string]interface {}{\"key\":\"database-password\", \"name\":\"keycloak-postgres\"}}}, map[string]interface {}{\"name\":\"POSTGRES_DATABASE\", \"valueFrom\":map[string]interface {}{\"secretKeyRef\":map[string]interface {}{\"key\":\"database-name\", \"name\":\"keycloak-postgres\"}}}}, \"imagePullPolicy\":\"IfNotPresent\", \"resources\":map[string]interface {}{}, \"securityContext\":map[string]interface {}{\"capabilities\":map[string]interface {}{\"drop\":[]interface {}{\"KILL\", \"MKNOD\", \"SETGID\", \"SETUID\"}}, \"privileged\":false, \"runAsUser\":1000080000, \"seLinuxOptions\":map[string]interface {}{\"level\":\"s0:c9,c4\"}}, \"image\":\"docker.io\/jboss\/keycloak-openshift:3.4.3.Final\", \"name\":\"keycloak\", \"ports\":[]interface {}{map[string]interface {}{\"protocol\":\"TCP\", \"containerPort\":8080}}, \"terminationMessagePath\":\"\/dev\/termination-log\"}}, \"imagePullSecrets\":[]interface {}{map[string]interface {}{\"name\":\"default-dockercfg-6brgt\"}}, \"serviceAccount\":\"default\", \"serviceAccountName\":\"default\", \"terminationGracePeriodSeconds\":30, \"volumes\":[]interface {}{map[string]interface {}{\"name\":\"keycloak-metrics\", \"persistentVolumeClaim\":map[string]interface {}{\"claimName\":\"keycloak-metrics\"}}, map[string]interface {}{\"name\":\"default-token-7g6b5\", \"secret\":map[string]interface {}{\"defaultMode\":420, \"secretName\":\"default-token-7g6b5\"}}}, \"dnsPolicy\":\"ClusterFirst\", \"nodeName\":\"localhost\", \"restartPolicy\":\"Always\", \"schedulerName\":\"default-scheduler\", \"securityContext\":map[string]interface {}{\"fsGroup\":1000080000, \"seLinuxOptions\":map[string]interface {}{\"level\":\"s0:c9,c4\"}}}, \"status\":map[string]interface {}{\"startTime\":\"2018-03-06T22:22:20Z\", \"conditions\":[]interface {}{map[string]interface {}{\"type\":\"Initialized\", \"lastProbeTime\":interface {}(nil), \"lastTransitionTime\":\"2018-03-06T22:22:20Z\", \"status\":\"True\"}, map[string]interface {}{\"lastTransitionTime\":\"2018-03-06T22:22:24Z\", \"status\":\"True\", \"type\":\"Ready\", \"lastProbeTime\":interface {}(nil)}, map[string]interface {}{\"lastProbeTime\":interface {}(nil), \"lastTransitionTime\":\"2018-03-06T22:22:20Z\", \"status\":\"True\", \"type\":\"PodScheduled\"}}, \"containerStatuses\":[]interface {}{map[string]interface {}{\"imageID\":\"docker-pullable:\/\/docker.io\/jboss\/keycloak-openshift@sha256:94da2135980a96794e25eda4fba95fc0c03afa2ff36d2d451b13233d55e5e2df\", \"lastState\":map[string]interface {}{}, \"name\":\"keycloak\", \"ready\":true, \"restartCount\":0, \"state\":map[string]interface {}{\"running\":map[string]interface {}{\"startedAt\":\"2018-03-06T22:22:24Z\"}}, \"containerID\":\"docker:\/\/dce81006f7f1063df55947f6f0d43b1f9b5340219a88003d8f9b869ec2ba9522\", \"image\":\"docker.io\/jboss\/keycloak-openshift:3.4.3.Final\"}}, \"hostIP\":\"10.1.10.101\", \"phase\":\"Running\", \"podIP\":\"172.17.0.15\", \"qosClass\":\"BestEffort\"}}, map[string]interface {}{\"status\":map[string]interface {}{\"conditions\":[]interface {}{map[string]interface {}{\"lastTransitionTime\":\"2018-03-06T22:22:18Z\", \"status\":\"True\", \"type\":\"Initialized\", \"lastProbeTime\":interface {}(nil)}, map[string]interface {}{\"lastProbeTime\":interface {}(nil), \"lastTransitionTime\":\"2018-03-06T22:22:21Z\", \"status\":\"True\", \"type\":\"Ready\"}, map[string]interface {}{\"status\":\"True\", \"type\":\"PodScheduled\", \"lastProbeTime\":interface {}(nil), \"lastTransitionTime\":\"2018-03-06T22:22:18Z\"}}, \"containerStatuses\":[]interface {}{map[string]interface {}{\"lastState\":map[string]interface {}{}, \"name\":\"deployment\", \"ready\":true, \"restartCount\":0, \"state\":map[string]interface {}{\"running\":map[string]interface {}{\"startedAt\":\"2018-03-06T22:22:20Z\"}}, \"containerID\":\"docker:\/\/eb1b180e9a809d7a7d4783fce40b627e2ef6509e14fa14e9487c616a68f45914\", \"image\":\"docker.io\/openshift\/origin-deployer:v3.7.1\", \"imageID\":\"docker-pullable:\/\/docker.io\/openshift\/origin-deployer@sha256:064c3ba908fe9f7b4a22373bde98167789292de3670d48b05ef665748d1cadea\"}}, \"hostIP\":\"10.1.10.101\", \"phase\":\"Running\", \"podIP\":\"172.17.0.13\", \"qosClass\":\"BestEffort\", \"startTime\":\"2018-03-06T22:22:18Z\"}, \"apiVersion\":\"v1\", \"kind\":\"Pod\", \"metadata\":map[string]interface {}{\"labels\":map[string]interface {}{\"openshift.io\/deployer-pod-for.name\":\"keycloak-1\"}, \"namespace\":\"myproject\", \"ownerReferences\":[]interface {}{map[string]interface {}{\"apiVersion\":\"v1\", \"kind\":\"ReplicationController\", \"name\":\"keycloak-1\", \"uid\":\"d4e5a3c6-218c-11e8-9431-08606e691c32\"}}, \"selfLink\":\"\/api\/v1\/namespaces\/myproject\/pods\/keycloak-1-deploy\", \"annotations\":map[string]interface {}{\"openshift.io\/deployment.name\":\"keycloak-1\", \"openshift.io\/scc\":\"restricted\"}, \"creationTimestamp\":\"2018-03-06T22:22:18Z\", \"uid\":\"d4ea1380-218c-11e8-9431-08606e691c32\", \"name\":\"keycloak-1-deploy\", \"resourceVersion\":\"2977\"}, \"spec\":map[string]interface {}{\"dnsPolicy\":\"ClusterFirst\", \"nodeName\":\"localhost\", \"restartPolicy\":\"Never\", \"serviceAccountName\":\"deployer\", \"terminationGracePeriodSeconds\":10, \"activeDeadlineSeconds\":21600, \"containers\":[]interface {}{map[string]interface {}{\"env\":[]interface {}{map[string]interface {}{\"name\":\"KUBERNETES_MASTER\", \"value\":\"https:\/\/127.0.0.1:8443\"}, map[string]interface {}{\"name\":\"OPENSHIFT_MASTER\", \"value\":\"https:\/\/127.0.0.1:8443\"}, map[string]interface {}{\"name\":\"BEARER_TOKEN_FILE\", \"value\":\"\/var\/run\/secrets\/kubernetes.io\/serviceaccount\/token\"}, map[string]interface {}{\"name\":\"OPENSHIFT_CA_DATA\", \"value\":\"-----BEGIN CERTIFICATE-----\\nMIIC6jCCAdKgAwIBAgIBATANBgkqhkiG9w0BAQsFADAmMSQwIgYDVQQDDBtvcGVu\\nc2hpZnQtc2lnbmVyQDE1MjAzNzQ0OTYwHhcNMTgwMzA2MjIxNDU1WhcNMjMwMzA1\\nMjIxNDU2WjAmMSQwIgYDVQQDDBtvcGVuc2hpZnQtc2lnbmVyQDE1MjAzNzQ0OTYw\\nggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQDE5kud80NbC+EvKOVqazY4\\nBbSOWTTy7NfwUMG0w6pORn93Wk60nY9rxOSJN+6t4meH9WOrYPQdndxwV5voceW+\\nkoQnSY49F7aJ33dPB+XJKSJHE9ilvxOU72gGgly0lBb4VZThDMar89jUPaTZOmnZ\\nCeChCt8npOXPy9bdGItJXNFeRQg0j7l8EW5z1aN\/bS\/cERDHYJbkFHeHz+WGg3fS\\nuf1UvLRQLwxHUrtuCwOUdQ3LF9IKV4AWUUApC9HtILyjZHzmLV3afC6y\/gPpNns6\\nT\/wqS\/UHJgDJMbniifCyIAijh7OfYH8DqsnPUl9gt82fnPcabaxm9HxnuInqT83V\\nAgMBAAGjIzAhMA4GA1UdDwEB\/wQEAwICpDAPBgNVHRMBAf8EBTADAQH\/MA0GCSqG\\nSIb3DQEBCwUAA4IBAQBFz2Kj3Talfe\/bGJF1vmP6jOPdiSwx5pLiYTNOgb77B0gK\\nN64gIU2Lb+vyb7XRHgykqTewguqWQEFF\/0J\/Bo5VJ\/UJpWsGhTMgO+Ae5flZHSyC\\nOWA7Pfn9i\/\/8lm46NXVkxoBxT0Y3AQcOnKwQ6fSUPBOgNxMVI53+Wqfz+\/tc8pPy\\nyol97DSqCSVojUSLL5BbBYRXkXcw++b5tPRnuyBNyHXTegBnKTi3YvSkW1GqRfXa\\nRzXdlSh1Z9mAQyfUkcIDDbd22AXbjtUuWiR5LJeBqBlGLPrkCsex5xxySOi9ggJU\\nbHTyUKYDGY3XdUn5M4RCuKyRKsiY2wS+PogDUhEt\\n-----END CERTIFICATE-----\\n\"}, map[string]interface {}{\"value\":\"keycloak-1\", \"name\":\"OPENSHIFT_DEPLOYMENT_NAME\"}, map[string]interface {}{\"name\":\"OPENSHIFT_DEPLOYMENT_NAMESPACE\", \"value\":\"myproject\"}}, \"image\":\"openshift\/origin-deployer:v3.7.1\", \"resources\":map[string]interface {}{}, \"securityContext\":map[string]interface {}{\"capabilities\":map[string]interface {}{\"drop\":[]interface {}{\"KILL\", \"MKNOD\", \"SETGID\", \"SETUID\"}}, \"privileged\":false, \"runAsUser\":1000080000, \"seLinuxOptions\":map[string]interface {}{\"level\":\"s0:c9,c4\"}}, \"terminationMessagePath\":\"\/dev\/termination-log\", \"terminationMessagePolicy\":\"File\", \"volumeMounts\":[]interface {}{map[string]interface {}{\"readOnly\":true, \"mountPath\":\"\/var\/run\/secrets\/kubernetes.io\/serviceaccount\", \"name\":\"deployer-token-wh59l\"}}, \"imagePullPolicy\":\"IfNotPresent\", \"name\":\"deployment\"}}, \"imagePullSecrets\":[]interface {}{map[string]interface {}{\"name\":\"deployer-dockercfg-fdn57\"}}, \"schedulerName\":\"default-scheduler\", \"securityContext\":map[string]interface {}{\"fsGroup\":1000080000, \"seLinuxOptions\":map[string]interface {}{\"level\":\"s0:c9,c4\"}}, \"serviceAccount\":\"deployer\", \"volumes\":[]interface {}{map[string]interface {}{\"name\":\"deployer-token-wh59l\", \"secret\":map[string]interface {}{\"defaultMode\":420, \"secretName\":\"deployer-token-wh59l\"}}}}}, map[string]interface {}{\"apiVersion\":\"v1\", \"kind\":\"Pod\", \"metadata\":map[string]interface {}{\"annotations\":map[string]interface {}{\"kubernetes.io\/created-by\":\"{\\\"kind\\\":\\\"SerializedReference\\\",\\\"apiVersion\\\":\\\"v1\\\",\\\"reference\\\":{\\\"kind\\\":\\\"ReplicationController\\\",\\\"namespace\\\":\\\"myproject\\\",\\\"name\\\":\\\"postgres-1\\\",\\\"uid\\\":\\\"c0225168-218c-11e8-9431-08606e691c32\\\",\\\"apiVersion\\\":\\\"v1\\\",\\\"resourceVersion\\\":\\\"2811\\\"}}\\n\", \"openshift.io\/deployment-config.latest-version\":\"1\", \"openshift.io\/deployment-config.name\":\"postgres\", \"openshift.io\/deployment.name\":\"postgres-1\", \"openshift.io\/scc\":\"restricted\"}, \"creationTimestamp\":\"2018-03-06T22:21:45Z\", \"uid\":\"c1041842-218c-11e8-9431-08606e691c32\", \"generateName\":\"postgres-1-\", \"labels\":map[string]interface {}{\"app\":\"keycloak\", \"deployment\":\"postgres-1\", \"deploymentconfig\":\"postgres\", \"name\":\"postgres\"}, \"name\":\"postgres-1-mt8bw\", \"namespace\":\"myproject\", \"ownerReferences\":[]interface {}{map[string]interface {}{\"apiVersion\":\"v1\", \"blockOwnerDeletion\":true, \"controller\":true, \"kind\":\"ReplicationController\", \"name\":\"postgres-1\", \"uid\":\"c0225168-218c-11e8-9431-08606e691c32\"}}, \"resourceVersion\":\"2845\", \"selfLink\":\"\/api\/v1\/namespaces\/myproject\/pods\/postgres-1-mt8bw\"}, \"spec\":map[string]interface {}{\"serviceAccountName\":\"default\", \"containers\":[]interface {}{map[string]interface {}{\"image\":\"centos\/postgresql-95-centos7:9.5\", \"livenessProbe\":map[string]interface {}{\"timeoutSeconds\":1, \"failureThreshold\":3, \"initialDelaySeconds\":30, \"periodSeconds\":10, \"successThreshold\":1, \"tcpSocket\":map[string]interface {}{\"port\":5432}}, \"terminationMessagePolicy\":\"File\", \"env\":[]interface {}{map[string]interface {}{\"name\":\"POSTGRESQL_USER\", \"valueFrom\":map[string]interface {}{\"secretKeyRef\":map[string]interface {}{\"key\":\"database-user\", \"name\":\"keycloak-postgres\"}}}, map[string]interface {}{\"name\":\"POSTGRESQL_PASSWORD\", \"valueFrom\":map[string]interface {}{\"secretKeyRef\":map[string]interface {}{\"key\":\"database-password\", \"name\":\"keycloak-postgres\"}}}, map[string]interface {}{\"valueFrom\":map[string]interface {}{\"secretKeyRef\":map[string]interface {}{\"key\":\"database-name\", \"name\":\"keycloak-postgres\"}}, \"name\":\"POSTGRESQL_DATABASE\"}}, \"imagePullPolicy\":\"IfNotPresent\", \"name\":\"postgresql\", \"ports\":[]interface {}{map[string]interface {}{\"containerPort\":5432, \"protocol\":\"TCP\"}}, \"readinessProbe\":map[string]interface {}{\"exec\":map[string]interface {}{\"command\":[]interface {}{\"\/bin\/sh\", \"-i\", \"-c\", \"psql -h 127.0.0.1 -U $POSTGRESQL_USER -q -d $POSTGRESQL_DATABASE -c 'SELECT 1'\"}}, \"failureThreshold\":3, \"initialDelaySeconds\":5, \"periodSeconds\":10, \"successThreshold\":1, \"timeoutSeconds\":1}, \"resources\":map[string]interface {}{\"limits\":map[string]interface {}{\"memory\":\"512Mi\"}, \"requests\":map[string]interface {}{\"memory\":\"512Mi\"}}, \"securityContext\":map[string]interface {}{\"seLinuxOptions\":map[string]interface {}{\"level\":\"s0:c9,c4\"}, \"capabilities\":map[string]interface {}{\"drop\":[]interface {}{\"KILL\", \"MKNOD\", \"SETGID\", \"SETUID\"}}, \"privileged\":false, \"runAsUser\":1000080000}, \"terminationMessagePath\":\"\/dev\/termination-log\", \"volumeMounts\":[]interface {}{map[string]interface {}{\"mountPath\":\"\/var\/lib\/pgsql\/data\", \"name\":\"postgres-data\"}, map[string]interface {}{\"mountPath\":\"\/var\/run\/secrets\/kubernetes.io\/serviceaccount\", \"name\":\"default-token-7g6b5\", \"readOnly\":true}}}}, \"dnsPolicy\":\"ClusterFirst\", \"imagePullSecrets\":[]interface {}{map[string]interface {}{\"name\":\"default-dockercfg-6brgt\"}}, \"nodeName\":\"localhost\", \"restartPolicy\":\"Always\", \"securityContext\":map[string]interface {}{\"fsGroup\":1000080000, \"seLinuxOptions\":map[string]interface {}{\"level\":\"s0:c9,c4\"}}, \"serviceAccount\":\"default\", \"schedulerName\":\"default-scheduler\", \"terminationGracePeriodSeconds\":30, \"volumes\":[]interface {}{map[string]interface {}{\"name\":\"postgres-data\", \"persistentVolumeClaim\":map[string]interface {}{\"claimName\":\"postgres\"}}, map[string]interface {}{\"name\":\"default-token-7g6b5\", \"secret\":map[string]interface {}{\"defaultMode\":420, \"secretName\":\"default-token-7g6b5\"}}}}, \"status\":map[string]interface {}{\"conditions\":[]interface {}{map[string]interface {}{\"lastProbeTime\":interface {}(nil), \"lastTransitionTime\":\"2018-03-06T22:21:45Z\", \"status\":\"True\", \"type\":\"Initialized\"}, map[string]interface {}{\"lastProbeTime\":interface {}(nil), \"lastTransitionTime\":\"2018-03-06T22:21:51Z\", \"status\":\"True\", \"type\":\"Ready\"}, map[string]interface {}{\"lastProbeTime\":interface {}(nil), \"lastTransitionTime\":\"2018-03-06T22:21:45Z\", \"status\":\"True\", \"type\":\"PodScheduled\"}}, \"containerStatuses\":[]interface {}{map[string]interface {}{\"restartCount\":0, \"state\":map[string]interface {}{\"running\":map[string]interface {}{\"startedAt\":\"2018-03-06T22:21:46Z\"}}, \"containerID\":\"docker:\/\/5acb808a2471c005023c964f6a0225160abf59460d35fc17b2a414408ef0f429\", \"image\":\"docker.io\/centos\/postgresql-95-centos7:9.5\", \"imageID\":\"docker-pullable:\/\/docker.io\/centos\/postgresql-95-centos7@sha256:e8fc8cf805a82b0e8cad5d821fda68d908ad3a7268a27e15e48d36c608d49117\", \"lastState\":map[string]interface {}{}, \"name\":\"postgresql\", \"ready\":true}}, \"hostIP\":\"10.1.10.101\", \"phase\":\"Running\", \"podIP\":\"172.17.0.12\", \"qosClass\":\"Burstable\", \"startTime\":\"2018-03-06T22:21:45Z\"}}, map[string]interface {}{\"kind\":\"Pod\", \"metadata\":map[string]interface {}{\"labels\":map[string]interface {}{\"service\":\"prometheus\", \"app\":\"prometheus\", \"deployment\":\"prometheus-1\", \"deploymentconfig\":\"prometheus\"}, \"namespace\":\"myproject\", \"ownerReferences\":[]interface {}{map[string]interface {}{\"apiVersion\":\"v1\", \"blockOwnerDeletion\":true, \"controller\":true, \"kind\":\"ReplicationController\", \"name\":\"prometheus-1\", \"uid\":\"b3f1c1a5-218c-11e8-9431-08606e691c32\"}}, \"resourceVersion\":\"2751\", \"uid\":\"b4c71b51-218c-11e8-9431-08606e691c32\", \"annotations\":map[string]interface {}{\"openshift.io\/scc\":\"restricted\", \"kubernetes.io\/created-by\":\"{\\\"kind\\\":\\\"SerializedReference\\\",\\\"apiVersion\\\":\\\"v1\\\",\\\"reference\\\":{\\\"kind\\\":\\\"ReplicationController\\\",\\\"namespace\\\":\\\"myproject\\\",\\\"name\\\":\\\"prometheus-1\\\",\\\"uid\\\":\\\"b3f1c1a5-218c-11e8-9431-08606e691c32\\\",\\\"apiVersion\\\":\\\"v1\\\",\\\"resourceVersion\\\":\\\"2714\\\"}}\\n\", \"openshift.io\/deployment-config.latest-version\":\"1\", \"openshift.io\/deployment-config.name\":\"prometheus\", \"openshift.io\/deployment.name\":\"prometheus-1\"}, \"generateName\":\"prometheus-1-\", \"name\":\"prometheus-1-mxwgw\", \"selfLink\":\"\/api\/v1\/namespaces\/myproject\/pods\/prometheus-1-mxwgw\", \"creationTimestamp\":\"2018-03-06T22:21:24Z\"}, \"spec\":map[string]interface {}{\"terminationGracePeriodSeconds\":30, \"volumes\":[]interface {}{map[string]interface {}{\"configMap\":map[string]interface {}{\"defaultMode\":420, \"name\":\"prometheus-configmap\"}, \"name\":\"prometheus-configmap-volume\"}, map[string]interface {}{\"name\":\"prometheus-volume-1\", \"persistentVolumeClaim\":map[string]interface {}{\"claimName\":\"prometheus-claim\"}}, map[string]interface {}{\"name\":\"oauth-proxy-token-wrzgh\", \"secret\":map[string]interface {}{\"defaultMode\":420, \"secretName\":\"oauth-proxy-token-wrzgh\"}}}, \"containers\":[]interface {}{map[string]interface {}{\"image\":\"docker.io\/openshift\/oauth-proxy:v1.1.0\", \"securityContext\":map[string]interface {}{\"seLinuxOptions\":map[string]interface {}{\"level\":\"s0:c9,c4\"}, \"capabilities\":map[string]interface {}{\"drop\":[]interface {}{\"KILL\", \"MKNOD\", \"SETGID\", \"SETUID\"}}, \"privileged\":false, \"runAsUser\":1000080000}, \"ports\":[]interface {}{map[string]interface {}{\"containerPort\":4180, \"name\":\"public\", \"protocol\":\"TCP\"}}, \"resources\":map[string]interface {}{}, \"terminationMessagePath\":\"\/dev\/termination-log\", \"terminationMessagePolicy\":\"File\", \"volumeMounts\":[]interface {}{map[string]interface {}{\"mountPath\":\"\/var\/run\/secrets\/kubernetes.io\/serviceaccount\", \"name\":\"oauth-proxy-token-wrzgh\", \"readOnly\":true}}, \"args\":[]interface {}{\"--provider=openshift\", \"--openshift-service-account=oauth-proxy\", \"--upstream=http:\/\/localhost:9090\", \"--openshift-sar={\\\"namespace\\\":\\\"myproject\\\",\\\"resource\\\":\\\"deploymentconfigs\\\",\\\"name\\\":\\\"prometheus\\\",\\\"verb\\\":\\\"update\\\"}\", \"--http-address=0.0.0.0:4180\", \"--https-address=\", \"--cookie-secret=SECRET\"}, \"imagePullPolicy\":\"IfNotPresent\", \"name\":\"prometheus-oauth-proxy\"}, map[string]interface {}{\"imagePullPolicy\":\"Always\", \"name\":\"prometheus\", \"terminationMessagePath\":\"\/dev\/termination-log\", \"terminationMessagePolicy\":\"File\", \"volumeMounts\":[]interface {}{map[string]interface {}{\"name\":\"prometheus-configmap-volume\", \"mountPath\":\"\/etc\/prometheus\"}, map[string]interface {}{\"mountPath\":\"\/prometheus\", \"name\":\"prometheus-volume-1\"}, map[string]interface {}{\"mountPath\":\"\/var\/run\/secrets\/kubernetes.io\/serviceaccount\", \"name\":\"oauth-proxy-token-wrzgh\", \"readOnly\":true}}, \"image\":\"registry.access.redhat.com\/openshift3\/prometheus:latest\", \"ports\":[]interface {}{map[string]interface {}{\"containerPort\":9090, \"protocol\":\"TCP\"}}, \"resources\":map[string]interface {}{}, \"securityContext\":map[string]interface {}{\"seLinuxOptions\":map[string]interface {}{\"level\":\"s0:c9,c4\"}, \"capabilities\":map[string]interface {}{\"drop\":[]interface {}{\"KILL\", \"MKNOD\", \"SETGID\", \"SETUID\"}}, \"privileged\":false, \"runAsUser\":1000080000}}}, \"nodeName\":\"localhost\", \"securityContext\":map[string]interface {}{\"fsGroup\":1000080000, \"seLinuxOptions\":map[string]interface {}{\"level\":\"s0:c9,c4\"}}, \"serviceAccount\":\"oauth-proxy\", \"serviceAccountName\":\"oauth-proxy\", \"dnsPolicy\":\"ClusterFirst\", \"imagePullSecrets\":[]interface {}{map[string]interface {}{\"name\":\"oauth-proxy-dockercfg-xxrgh\"}}, \"restartPolicy\":\"Always\", \"schedulerName\":\"default-scheduler\"}, \"status\":map[string]interface {}{\"podIP\":\"172.17.0.11\", \"qosClass\":\"BestEffort\", \"startTime\":\"2018-03-06T22:21:24Z\", \"conditions\":[]interface {}{map[string]interface {}{\"lastProbeTime\":interface {}(nil), \"lastTransitionTime\":\"2018-03-06T22:21:24Z\", \"status\":\"True\", \"type\":\"Initialized\"}, map[string]interface {}{\"lastProbeTime\":interface {}(nil), \"lastTransitionTime\":\"2018-03-06T22:21:29Z\", \"status\":\"True\", \"type\":\"Ready\"}, map[string]interface {}{\"type\":\"PodScheduled\", \"lastProbeTime\":interface {}(nil), \"lastTransitionTime\":\"2018-03-06T22:21:24Z\", \"status\":\"True\"}}, \"containerStatuses\":[]interface {}{map[string]interface {}{\"restartCount\":0, \"state\":map[string]interface {}{\"running\":map[string]interface {}{\"startedAt\":\"2018-03-06T22:21:28Z\"}}, \"containerID\":\"docker:\/\/effad20b8c2cd6475778faebd49b5732095559a561cfe7228973e42f0cae275d\", \"image\":\"registry.access.redhat.com\/openshift3\/prometheus:latest\", \"imageID\":\"docker-pullable:\/\/registry.access.redhat.com\/openshift3\/prometheus@sha256:ec12c1f84b7e2e013da74ab9f68e131df57226593eb306ccae4eaa4224ee4daf\", \"lastState\":map[string]interface {}{}, \"name\":\"prometheus\", \"ready\":true}, map[string]interface {}{\"image\":\"docker.io\/openshift\/oauth-proxy:v1.1.0\", \"imageID\":\"docker-pullable:\/\/docker.io\/openshift\/oauth-proxy@sha256:731c1fdad1de4bf68ae9eece5e99519f063fd8d9990da312082b4c995c4e4e33\", \"lastState\":map[string]interface {}{}, \"name\":\"prometheus-oauth-proxy\", \"ready\":true, \"restartCount\":0, \"state\":map[string]interface {}{\"running\":map[string]interface {}{\"startedAt\":\"2018-03-06T22:21:26Z\"}}, \"containerID\":\"docker:\/\/a604da2d607dd24c896efaa091af2a35df52470d7cbf20759758abe456221e6c\"}}, \"hostIP\":\"10.1.10.101\", \"phase\":\"Running\"}, \"apiVersion\":\"v1\"}}}"
  ]
}
secondsun commented 6 years ago

image

secondsun commented 6 years ago

Here is the log output for the metrics apb which also, ultimately, failed

+ [[ provision --extra-vars {"GRAFANA_STORAGE_SIZE":10,"POSTGRES_STORAGE_SIZE":10,"POSTGRES_USER":"user","PROMETHEUS_STORAGE_SIZE":10,"_apb_plan_id":"default","_apb_service_class_id":"9623d53183cc78619f888ea8499c678e","_apb_service_instance_id":"d05c4a1e-410b-40fb-b3fd-1f40a28de82e","cluster":"openshift","namespace":"myproject"} == *\s\2\i\/\a\s\s\e\m\b\l\e* ]]
+ ACTION=provision
+ shift
+ playbooks=/opt/apb/actions
+ CREDS=/var/tmp/bind-creds
+ TEST_RESULT=/var/tmp/test-result
+ whoami
+ '[' -w /etc/passwd ']'
++ id -u
+ echo 'apb:x:1000150000:0:apb user:/opt/apb:/sbin/nologin'
+ set +x
+ [[ -e /opt/apb/actions/provision.yaml ]]
+ [[ -e /opt/apb/actions/provision.yml ]]
+ ANSIBLE_ROLES_PATH=/etc/ansible/roles:/opt/ansible/roles
+ ansible-playbook /opt/apb/actions/provision.yml --extra-vars '{"GRAFANA_STORAGE_SIZE":10,"POSTGRES_STORAGE_SIZE":10,"POSTGRES_USER":"user","PROMETHEUS_STORAGE_SIZE":10,"_apb_plan_id":"default","_apb_service_class_id":"9623d53183cc78619f888ea8499c678e","_apb_service_instance_id":"d05c4a1e-410b-40fb-b3fd-1f40a28de82e","cluster":"openshift","namespace":"myproject"}'
 [WARNING]: Could not match supplied host pattern, ignoring: all
 [WARNING]: provided hosts list is empty, only localhost is available
PLAY [metrics-apb playbook to provision the application] ***********************
TASK [ansible.kubernetes-modules : Install latest openshift client] ************
skipping: [localhost]
TASK [ansibleplaybookbundle.asb-modules : debug] *******************************
skipping: [localhost]
TASK [provision-metrics-apb : Get the name of the service instance] ************
changed: [localhost]
TASK [provision-metrics-apb : Label the service instance with the service name] ***
changed: [localhost]
TASK [provision-metrics-apb : Give default user view permissions] **************
changed: [localhost]
TASK [provision-metrics-apb : Create OAuth Proxy Serviceaccount yaml] **********
changed: [localhost]
TASK [provision-metrics-apb : Create OAuth Proxy Serviceaccount] ***************
changed: [localhost]
TASK [provision-metrics-apb : include_tasks] ***********************************
included: /opt/ansible/roles/provision-metrics-apb/tasks/provision-prometheus.yml for localhost
TASK [provision-metrics-apb : Create Prometheus config from template] **********
changed: [localhost]
TASK [provision-metrics-apb : Create config-map from Prometheus config] ********
changed: [localhost]
TASK [provision-metrics-apb : Prometheus PVC] **********************************
changed: [localhost]
TASK [provision-metrics-apb : create prometheus deployment config] *************
changed: [localhost]
TASK [provision-metrics-apb : create prometheus service] ***********************
changed: [localhost]
TASK [provision-metrics-apb : create internal prometheus service] **************
changed: [localhost]
TASK [provision-metrics-apb : create prometheus route] *************************
changed: [localhost]
TASK [provision-metrics-apb : Create prometheus secret yaml file] **************
changed: [localhost]
TASK [provision-metrics-apb : Create prometheus secret] ************************
changed: [localhost]
TASK [provision-metrics-apb : Wait for all prometheus containers to become ready] ***
changed: [localhost]
TASK [provision-metrics-apb : include_tasks] ***********************************
included: /opt/ansible/roles/provision-metrics-apb/tasks/provision-grafana.yml for localhost
TASK [provision-metrics-apb : Create Grafana config from template] *************
changed: [localhost]
TASK [provision-metrics-apb : Create Grafana datasource config from template] ***
changed: [localhost]
TASK [provision-metrics-apb : Create config-map from Grafana ini config] *******
changed: [localhost]
TASK [provision-metrics-apb : Create config-map from datasources config] *******
changed: [localhost]
TASK [provision-metrics-apb : Create config-map from dashboards provider config] ***
changed: [localhost]
TASK [provision-metrics-apb : Create config-map from dashboards config] ********
changed: [localhost]
TASK [provision-metrics-apb : Grafana PVC] *************************************
changed: [localhost]
TASK [provision-metrics-apb : create grafana deployment config] ****************
changed: [localhost]
TASK [provision-metrics-apb : create grafana service] **************************
changed: [localhost]
TASK [provision-metrics-apb : create internal grafana service] *****************
changed: [localhost]
TASK [provision-metrics-apb : create grafana route] ****************************
changed: [localhost]
TASK [provision-metrics-apb : Wait for all grafana containers to become ready] ***
FAILED - RETRYING: Wait for all grafana containers to become ready (30 retries left).
changed: [localhost]
TASK [provision-metrics-apb : include_tasks] ***********************************
included: /opt/ansible/roles/provision-metrics-apb/tasks/provision-app-metrics.yml for localhost
TASK [provision-metrics-apb : Postgresql PVC] **********************************
changed: [localhost]
TASK [provision-metrics-apb : create postgres deployment config] ***************
An exception occurred during task execution. To see the full traceback, use -vvv. The error was: TypeError: __init__() got an unexpected keyword argument 'persistentVolumeClaim'
fatal: [localhost]: FAILED! => {"changed": false, "module_stderr": "Traceback (most recent call last):\n  File \"/tmp/ansible_cuHbkN/ansible_module_openshift_v1_deployment_config.py\", line 687, in <module>\n    main()\n  File \"/tmp/ansible_cuHbkN/ansible_module_openshift_v1_deployment_config.py\", line 681, in main\n    module.execute_module()\n  File \"/tmp/ansible_cuHbkN/ansible_modlib.zip/ansible/module_utils/k8s_common.py\", line 220, in execute_module\n  File \"/usr/lib/python2.7/site-packages/openshift/helper/ansible.py\", line 208, in object_from_params\n    self.__set_obj_attribute(obj, prop_path, param_value, param_name)\n  File \"/usr/lib/python2.7/site-packages/openshift/helper/ansible.py\", line 389, in __set_obj_attribute\n    setattr(obj, prop_name, self.__set_obj_attribute(sub_obj, property_path, param_value, param_name))\n  File \"/usr/lib/python2.7/site-packages/openshift/helper/ansible.py\", line 389, in __set_obj_attribute\n    setattr(obj, prop_name, self.__set_obj_attribute(sub_obj, property_path, param_value, param_name))\n  File \"/usr/lib/python2.7/site-packages/openshift/helper/ansible.py\", line 389, in __set_obj_attribute\n    setattr(obj, prop_name, self.__set_obj_attribute(sub_obj, property_path, param_value, param_name))\n  File \"/usr/lib/python2.7/site-packages/openshift/helper/ansible.py\", line 381, in __set_obj_attribute\n    self.__compare_obj_list(getattr(obj, prop_name), param_value, obj_type, param_name)\n  File \"/usr/lib/python2.7/site-packages/openshift/helper/ansible.py\", line 554, in __compare_obj_list\n    obj = self.model_class_from_name(obj_class)(**item)\nTypeError: __init__() got an unexpected keyword argument 'persistentVolumeClaim'\n", "module_stdout": "", "msg": "MODULE FAILURE", "rc": 0}
    to retry, use: --limit @/opt/apb/actions/provision.retry
PLAY RECAP *********************************************************************
localhost                  : ok=31   changed=28   unreachable=0    failed=1   
+ EXIT_CODE=2
+ set +ex
+ '[' -f /var/tmp/test-result ']'
+ exit 2
secondsun commented 6 years ago

oc version for the curious

oc v3.7.0-rc.0+e92d5c5
kubernetes v1.7.6+a08f5eeb62
features: Basic-Auth GSSAPI Kerberos SPNEGO

Server https://192.168.37.1:8443
openshift v3.7.1+a8deba5-34
kubernetes v1.7.6+a08f5eeb62
secondsun commented 6 years ago

OK, maybe coincidence, but this pr : https://github.com/aerogearcatalog/metrics-apb/pull/34 made matrics work for me.

maleck13 commented 6 years ago

Looking at removing the need to label the service instance. Which should solve this problem all round

secondsun commented 6 years ago

@maleck13 I'm still getting the label issue on KeyCloak on a fresh minishift install. Has that change been pushed to the dockerhub repo?

david-martin commented 6 years ago

@secondsun going to try reproduce this with a project that already has ups & metrics (to see if there's some conflict)

maleck13 commented 6 years ago

provisioned from fresh minishift off master of addon had no issues provisioning keycloak

david-martin commented 6 years ago

@secondsun see #73 for fix for the most recent problem you mentioned. Is there something else in this issue thats still a problem?