Uploaded image for project: 'Virtual Infrastructure Deployment'
  1. Virtual Infrastructure Deployment
  2. VID-801

There should be a way to configure VID's "portal app_password"

XMLWordPrintable

    • Icon: Story Story
    • Resolution: Unresolved
    • Icon: Medium Medium
    • Honolulu Release
    • None
    • None
    • None

      we have a process mis-match on how the VID application password is set in Portal and in VID. Right now its not synched (or at least it can get out of synch very easily)

       

      Result: For a long time vid is getting 401 Unauthorized response from PORTAL when requesting GET https://portal-app:8443/ONAPPORTAL/auxapi/v3/getSessionSlotCheckInterval . See stack-trace below.

       

      request can pass correctly if VID’s fn_app.app_password in the DB is set in according with line #73 of kubernetes/portal/charts/portal-mariadb/resources/config/mariadb/oom_updates.sql:

        72 -- vid  73 update fn_app set app_username='Default', app_password='2VxipM8Z3SETg32m3Gp0FvKS6zZ2uCbCw46WDyK6T5E=', ueb_key='2Re7Pvdkgw5aeAUD', auth_central = 'Y' , auth_namespace = 'org.onap.vid' where app_id = 6;
      

       

      There are two problems here, each one with a separate solution:

      (1) there is no way to configure VID's value beside manually updating the DB value.

      • solution: offer a user-configuration for VID that will use a certain value. namely: ENV variable will be provided, and VID will persist the value in it's fn_app.app_password DB record.

       

      (2) VID/Portal has no mechanized flow to keep synced.

      • solution: offer a configuration path in OOM that will sync VID and PORATL. here it's one of the best case of using "common.secret" template from Krzyzstof: create a secret on VID side that will also be used by Portal.

       

       

      Stack trace:

      12:37:20.927 [https-openssl-nio-8443-exec-9] ERROR org.onap.portalsdk.core.onboarding.crossapi.SessionCommunicationService - getSessionSlotCheckInterval failed to read stream
      java.io.IOException: Server returned HTTP response code: 401 for URL: https://portal-app:8443/ONAPPORTAL/auxapi/v3/getSessionSlotCheckInterval
              at sun.reflect.GeneratedConstructorAccessor141.newInstance(Unknown Source)
              at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45)
              at java.lang.reflect.Constructor.newInstance(Constructor.java:423)
              at sun.net.www.protocol.http.HttpURLConnection$10.run(HttpURLConnection.java:1944)
              at sun.net.www.protocol.http.HttpURLConnection$10.run(HttpURLConnection.java:1939)
              at java.security.AccessController.doPrivileged(Native Method)
              at sun.net.www.protocol.http.HttpURLConnection.getChainedException(HttpURLConnection.java:1938)
              at sun.net.www.protocol.http.HttpURLConnection.getInputStream0(HttpURLConnection.java:1508)
              at sun.net.www.protocol.http.HttpURLConnection.getInputStream(HttpURLConnection.java:1492)
              at sun.net.www.protocol.https.HttpsURLConnectionImpl.getInputStream(HttpsURLConnectionImpl.java:263)
              at org.onap.portalsdk.core.onboarding.crossapi.SessionCommunicationService.getSessionSlotCheckInterval(SessionCommunicationService.java:92)
              at org.onap.portalsdk.core.onboarding.listener.PortalTimeoutHandler$SessionComm.fetchSessionSlotCheckInterval(PortalTimeoutHandler.java:84)
              at org.onap.portalsdk.core.onboarding.listener.PortalTimeoutHandler.synchronizeSessionForLastMinuteRequests(PortalTimeoutHandler.java:349)
              at org.onap.portalsdk.core.onboarding.listener.PortalTimeoutHandler.handleSessionUpdatesNative(PortalTimeoutHandler.java:310)
              at org.onap.portalsdk.core.interceptor.ResourceInterceptor.handleSessionUpdates(ResourceInterceptor.java:152)
              at org.onap.portalsdk.core.interceptor.ResourceInterceptor.preHandle(ResourceInterceptor.java:121)
              at org.springframework.web.servlet.HandlerExecutionChain.applyPreHandle(HandlerExecutionChain.java:136)
              at org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:1034)
              at org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:942)
              at org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:1005)
              at org.springframework.web.servlet.FrameworkServlet.doGet(FrameworkServlet.java:897)
              at javax.servlet.http.HttpServlet.service(HttpServlet.java:634)
              at org.springframework.web.servlet.FrameworkServlet.service(FrameworkServlet.java:882)
              at javax.servlet.http.HttpServlet.service(HttpServlet.java:741)
              at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:231)
              at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166)
              at org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:53)
              at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:193)
              at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166)
              at org.onap.vid.controller.filter.PromiseEcompRequestIdFilter.doFilter(PromiseEcompRequestIdFilter.java:62)
              at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:193)
              at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166)
              at org.onap.vid.controller.filter.TempFilterForCORS.doFilter(TempFilterForCORS.java:66)
              at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:193)
              at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166)
              at org.onap.portalapp.filter.SecurityXssFilter.doFilterInternal(SecurityXssFilter.java:104)
              at org.springframework.web.filter.OncePerRequestFilter.doFilter(OncePerRequestFilter.java:118)
              at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:193)
              at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:166)
              at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:200)
              at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:96)
              at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:490)
              at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:139)
              at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:92)
              at org.apache.catalina.valves.AbstractAccessLogValve.invoke(AbstractAccessLogValve.java:678)
              at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:74)
              at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:343)
              at org.apache.coyote.http11.Http11Processor.service(Http11Processor.java:408)
              at org.apache.coyote.AbstractProcessorLight.process(AbstractProcessorLight.java:66)
              at org.apache.coyote.AbstractProtocol$ConnectionHandler.process(AbstractProtocol.java:836)
              at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1839)
              at org.apache.tomcat.util.net.SocketProcessorBase.run(SocketProcessorBase.java:49)
              at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)
              at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
              at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61)
              at java.lang.Thread.run(Thread.java:748)
      Caused by: java.io.IOException: Server returned HTTP response code: 401 for URL: https://portal-app:8443/ONAPPORTAL/auxapi/v3/getSessionSlotCheckInterval
              at sun.net.www.protocol.http.HttpURLConnection.getInputStream0(HttpURLConnection.java:1894)
              at sun.net.www.protocol.http.HttpURLConnection.getInputStream(HttpURLConnection.java:1492)
              at java.net.HttpURLConnection.getResponseCode(HttpURLConnection.java:480)
              at sun.net.www.protocol.https.HttpsURLConnectionImpl.getResponseCode(HttpsURLConnectionImpl.java:347)
              at org.onap.portalsdk.core.onboarding.crossapi.SessionCommunicationService.getSessionSlotCheckInterval(SessionCommunicationService.java:85)
              ... 45 common frames omitted
       

       

       

            ikram ikram
            ittays ittays
            Votes:
            0 Vote for this issue
            Watchers:
            1 Start watching this issue

              Created:
              Updated:
              Resolved: