Failed to get roles mapping error after manual ARD Hub 3.3 install
search cancel

Failed to get roles mapping error after manual ARD Hub 3.3 install

book

Article ID: 275010

calendar_today

Updated On:

Products

CA Agile Requirements Designer

Issue/Introduction

The following error comes up in ARD Hub after upgrading from 2.7 to 3.3:
INFO...Getting Flow Storage access token from Keycloak.
...
INFO...Getting roles mapping from IMS.
...
2023-09-26 14:09:53.661 ERROR [flow-storage,,] 10536 --- [ForkJoinPool.commonPool-worker-1] a.security.RolesMappingsProvider         : Failed to get roles mapping.
feign.FeignException$NotFound: [404 Not Found] during [GET] to [http://example-host:8080/ard/api/ims/v1/roles] [ImsClient#getRoleMappings(String)]: [<html><body><h1>Resource not found</h1></body></html>]
                at feign.FeignException.clientErrorStatus(FeignException.java:219) ~[feign-core-11.8.jar:na]
                at feign.FeignException.errorStatus(FeignException.java:194) ~[feign-core-11.8.jar:na]
                at feign.FeignException.errorStatus(FeignException.java:185) ~[feign-core-11.8.jar:na]
                at feign.codec.ErrorDecoder$Default.decode(ErrorDecoder.java:92) ~[feign-core-11.8.jar:na]
                at feign.AsyncResponseHandler.handleResponse(AsyncResponseHandler.java:96) ~[feign-core-11.8.jar:na]
                at feign.SynchronousMethodHandler.executeAndDecode(SynchronousMethodHandler.java:138) ~[feign-core-11.8.jar:na]
                at feign.SynchronousMethodHandler.invoke(SynchronousMethodHandler.java:89) ~[feign-core-11.8.jar:na]
                at feign.ReflectiveFeign$FeignInvocationHandler.invoke(ReflectiveFeign.java:100) ~[feign-core-11.8.jar:na]
                at jdk.proxy5/jdk.proxy5.$Proxy478.getRoleMappings(Unknown Source) ~[na:na]
                at ardflowstorage.security.RolesMappingsProvider.getRolesMappings(RolesMappingsProvider.java:92) ~[classes/:na]
                at net.jodah.failsafe.Functions.lambda$promiseOf$3(Functions.java:94) ~[failsafe-2.0.1.jar:2.0.1]
                at net.jodah.failsafe.internal.executor.RetryPolicyExecutor$1.call(RetryPolicyExecutor.java:104) ~[failsafe-2.0.1.jar:2.0.1]
                at net.jodah.failsafe.internal.executor.RetryPolicyExecutor.lambda$supplyAsync$1(RetryPolicyExecutor.java:136) ~[failsafe-2.0.1.jar:2.0.1]
                at net.jodah.failsafe.Functions.lambda$null$1(Functions.java:69) ~[failsafe-2.0.1.jar:2.0.1]
                at net.jodah.failsafe.internal.util.DelegatingScheduler.lambda$schedule$0(DelegatingScheduler.java:117) ~[failsafe-2.0.1.jar:2.0.1]
                at java.base/java.util.concurrent.ForkJoinTask$AdaptedCallable.exec(ForkJoinTask.java:1428) ~[na:na]
                at java.base/java.util.concurrent.ForkJoinTask.doExec(ForkJoinTask.java:373) ~[na:na]
                at java.base/java.util.concurrent.ForkJoinPool$WorkQueue.topLevelExec(ForkJoinPool.java:1182) ~[na:na]
                at java.base/java.util.concurrent.ForkJoinPool.scan(ForkJoinPool.java:1655) ~[na:na]
                at java.base/java.util.concurrent.ForkJoinPool.runWorker(ForkJoinPool.java:1622) ~[na:na]
                at java.base/java.util.concurrent.ForkJoinWorkerThread.run(ForkJoinWorkerThread.java:165) ~[na:na]

Environment

Release : 3.3

Resolution

Follow the instructions in:
https://techdocs.broadcom.com/us/en/ca-enterprise-software/devops/agile-requirements-designer/3-1/installing/install-ard-hub/upgrade-or-reconfigure-ard-hub.html

In addition, in keycloak.conf set both hostname-port and http-port to 9999:
hostname=<set to your hostname>
hostname-port=9999
http-port=9999

The following settings are commented out:
#hostname-url
#hostname-admin-url=
#http-host=

Then after running:

cd C:\keycloak-20.0.5\bin
set KEYCLOAK_HOME=C:\keycloak-20.0.5
set KEYCLOAK_ADDR=example-host
set KEYCLOAK_PORT=9999
set ARD_ADDR=example-host
set ARD_PORT=8080
set ARD_TEST_USERS=false
set JAVA_OPTS=--add-modules=java.se
set KEYCLOAK_ADMIN=admin
set KEYCLOAK_ADMIN_PASSWORD=example-password

kc.bat build 
kc.bat start

The output should then show the following line:
2023-10-13 11:47:28,496 INFO  [io.quarkus] (main) Keycloak 20.0.5 on JVM (powered by Quarkus 2.13.7.Final) started in 6.383s. Listening on: http://0.0.0.0:9999

The last line can be ignored: 
2023-10-13 11:47:28,530 ERROR [org.keycloak.services] (main) KC-SERVICES0010: Failed to add user 'admin' to realm 'master': user with username exists

Then tomcat service can be started and the flow-storage.log in C:\Users\test\.ard\logs should not show any errors.