]
Sebastian Laskawiec commented on JGRP-2502:
-------------------------------------------
[~filippe.spolti] If you're asking specifically about Keycloak, than you can specify
{{docker run --network host -it quay.io/keycloak/keycloak:latest -c standalone.xml}}.
If the KUBERNETES_NAMESPACE is not set the default value is the
"default" namespace
------------------------------------------------------------------------------------
Key: JGRP-2502
URL:
https://issues.redhat.com/browse/JGRP-2502
Project: JGroups
Issue Type: Bug
Affects Versions: 5.0.4
Reporter: Filippe Spolti
Assignee: Sebastian Laskawiec
Priority: Minor
If no namespace is set it defaults to the "default" ocp namespace which will
case the warn as described in the log message below:
{code:java}
WARN [org.jgroups.protocols.kubernetes.KUBE_PING] (thread-9,ee,hdm78-kieserver-1-nggcf)
failed getting JSON response from Kubernetes
Client[masterUrl=https://172.30.0.1:443/api/v1, headers={Authorization=#MASKED:937#},
connectTimeout=5000, readTimeout=30000, operationAttempts=3, operationSleep=1000,
streamProvider=org.jgroups.protocols.kubernetes.stream.TokenStreamProvider@69991c01] for
cluster [ee], namespace [default], labels [null]; encountered [java.lang.Exception: 3
attempt(s) with a 1000ms sleep to execute [OpenStream] failed. Last failure was
[java.io.IOException: Server returned HTTP response code: 403 for URL:
https://172.30.0.1:443/api/v1/namespaces/default/pods]]
{code}
IMHO the default namespace should not be used in this case since this namespace should
not be used to deploy applications.
If the namespace is not set it means that we do not want to enable the clustering
feature, as the namespace is set if the namespace is not set, this condition [1] is not
satisfied and the configuration will proceed.
Another problem found in the tests is that, if we do set the KUBERNETES_NAMESPACE with no
value, it will detect that the env has an value and will try to use a blank namespace:
{code:java}
failed getting JSON response from Kubernetes
Client[masterUrl=https://172.30.0.1:443/api/v1 , headers={Authorization=#MASKED:874#},
connectTimeout=5000, readTimeout=30000, operationAttempts=3, operationSleep=1000,
streamProvider=org.jgroups.protocols.kubernetes.stream.TokenStreamProvider@17978314] for
cluster [ee], namespace [], labels [null]; encountered [java.lang.Exception: 3 attempt(s)
with a 1000ms sleep to execute [OpenStream] failed. Last failure was [java.io.IOException:
Server returned HTTP response code: 403 for URL:
https://172.30.0.1:443/api/v1/pods ]]
{code}
[1]
- https://github.com/jgroups-extras/jgroups-kubernetes/blob/master/src/main/java/org/jgroups/protocols/kubernetes/KUBE_PING.java#L145