Uploaded image for project: 'Migration Platform'
  1. Migration Platform
  2. MIG-1656

CMAs should provide better checks for network problems

    XMLWordPrintable

Details

    • 35
    • Our product teams collect and evaluate feedback from a number of different sources. To learn more about how we use customer feedback in the planning process, check out our new feature policy.

    Description

      Summary

      With MIG-1210 resolved, there are still cases where CMAs error when it cannot reach a particular endpoint described in IP addresses and domains for Atlassian cloud products.

      For customers that use custom java cacerts truststores, CMAs should be more proactive to detect problems and provide better error messages to the customer.

      There are various errors that appear when a CMA cannot access an endpoint.

      Caused by: javax.net.ssl.SSLHandshakeException: PKIX path building failed: sun.security.provider.certpath.SunCertPathBuilderException: unable to find valid certification path to requested target
      	at java.base/sun.security.ssl.Alert.createSSLException(Unknown Source)
      	at java.base/sun.security.ssl.TransportContext.fatal(Unknown Source)
      	at java.base/sun.security.ssl.TransportContext.fatal(Unknown Source)
      	at java.base/sun.security.ssl.TransportContext.fatal(Unknown Source)
      	at java.base/sun.security.ssl.CertificateMessage$T13CertificateConsumer.checkServerCerts(Unknown Source)
      	at java.base/sun.security.ssl.CertificateMessage$T13CertificateConsumer.onConsumeCertificate(Unknown Source)
      	at java.base/sun.security.ssl.CertificateMessage$T13CertificateConsumer.consume(Unknown Source)
      	at java.base/sun.security.ssl.SSLHandshake.consume(Unknown Source)
      	at java.base/sun.security.ssl.HandshakeContext.dispatch(Unknown Source)
      	at java.base/sun.security.ssl.HandshakeContext.dispatch(Unknown Source)
      	at java.base/sun.security.ssl.TransportContext.dispatch(Unknown Source)
      	at java.base/sun.security.ssl.SSLTransport.decode(Unknown Source)
      	at java.base/sun.security.ssl.SSLSocketImpl.decode(Unknown Source)
      	at java.base/sun.security.ssl.SSLSocketImpl.readHandshakeRecord(Unknown Source)
      	at java.base/sun.security.ssl.SSLSocketImpl.startHandshake(Unknown Source)
      	at java.base/sun.security.ssl.SSLSocketImpl.startHandshake(Unknown Source)
      	at okhttp3.internal.connection.RealConnection.connectTls(RealConnection.kt:379)
      	at okhttp3.internal.connection.RealConnection.establishProtocol(RealConnection.kt:337)
      	at okhttp3.internal.connection.RealConnection.connect(RealConnection.kt:209)
      	at okhttp3.internal.connection.ExchangeFinder.findConnection(ExchangeFinder.kt:226)
      	at okhttp3.internal.connection.ExchangeFinder.findHealthyConnection(ExchangeFinder.kt:106)
      	at okhttp3.internal.connection.ExchangeFinder.find(ExchangeFinder.kt:74)
      	at okhttp3.internal.connection.RealCall.initExchange$okhttp(RealCall.kt:255)
      	at okhttp3.internal.connection.ConnectInterceptor.intercept(ConnectInterceptor.kt:32)
      	at okhttp3.internal.http.RealInterceptorChain.proceed(RealInterceptorChain.kt:109)
      	at okhttp3.internal.cache.CacheInterceptor.intercept(CacheInterceptor.kt:95)
      	at okhttp3.internal.http.RealInterceptorChain.proceed(RealInterceptorChain.kt:109)
      	at okhttp3.internal.http.BridgeInterceptor.intercept(BridgeInterceptor.kt:83)
      	at okhttp3.internal.http.RealInterceptorChain.proceed(RealInterceptorChain.kt:109)
      	at okhttp3.internal.http.RetryAndFollowUpInterceptor.intercept(RetryAndFollowUpInterceptor.kt:76)
      	at okhttp3.internal.http.RealInterceptorChain.proceed(RealInterceptorChain.kt:109)
      	at com.atlassian.migration.agent.media.impl.MediaAuthInterceptor.intercept(MediaAuthInterceptor.java:31)
      	at okhttp3.internal.http.RealInterceptorChain.proceed(RealInterceptorChain.kt:109)
      	at com.atlassian.migration.agent.service.impl.UserAgentInterceptor.intercept(UserAgentInterceptor.java:58)
      	at okhttp3.internal.http.RealInterceptorChain.proceed(RealInterceptorChain.kt:109)
      	at okhttp3.internal.connection.RealCall.getResponseWithInterceptorChain$okhttp(RealCall.kt:201)
      	at okhttp3.internal.connection.RealCall.execute(RealCall.kt:154)
      	at com.atlassian.migration.agent.okhttp.HttpService.callImpl(HttpService.java:157)
      	... 22 more
      Caused by: sun.security.validator.ValidatorException: PKIX path building failed: sun.security.provider.certpath.SunCertPathBuilderException: unable to find valid certification path to requested target
      	at java.base/sun.security.validator.PKIXValidator.doBuild(Unknown Source)
      	at java.base/sun.security.validator.PKIXValidator.engineValidate(Unknown Source)
      	at java.base/sun.security.validator.Validator.validate(Unknown Source)
      	at java.base/sun.security.ssl.X509TrustManagerImpl.checkTrusted(Unknown Source)
      	at java.base/sun.security.ssl.X509TrustManagerImpl.checkServerTrusted(Unknown Source)
      	... 56 more
      Caused by: sun.security.provider.certpath.SunCertPathBuilderException: unable to find valid certification path to requested target
      	at java.base/sun.security.provider.certpath.SunCertPathBuilder.build(Unknown Source)
      	at java.base/sun.security.provider.certpath.SunCertPathBuilder.engineBuild(Unknown Source)
      	at java.base/java.security.cert.CertPathBuilder.build(Unknown Source)
      	... 61 more
      

      Suggestion

      Complete additional network connectivity checks earlier in the migration process and present better error messages when failures occur.

      Workaround

      1. Make sure your Jira or Confluence instance has is allowed to reach the JCMA or CCMA endpoints as described in IP addresses and domains for Atlassian cloud products
      2. If you use custom Java cacerts files, make sure the following domain certificates are trusted:
        1. *.atlassian.com
        2. *.atlassian.net
        3. *.s3.amazonaws.com
        4. *.s3-us-west-2.amazonaws.com

      Attachments

        Issue Links

          Activity

            People

              Unassigned Unassigned
              6c05774b4db4 Carl Adolfson
              Votes:
              3 Vote for this issue
              Watchers:
              9 Start watching this issue

              Dates

                Created:
                Updated: