skip to Main Content

I Installed Docker, Docker Compose and then Jenkins on CentOS 8. Seems Jenkins is installed correctly. However I could see the message Jenkins appears to be offline and get an exception as mentioned below. I changed the URL https://updates.jenkins.io/update-center.json in hudson.model.UpdateCenter.xml from https to http. Still the exception reappears. Plugins are not getting upgraded.

Any help on this is appreciated. Thanks.

Exception:

$: docker logs -f jenkins

Running from: /usr/share/jenkins/jenkins.war

webroot: EnvVars.masterEnvVars.get("JENKINS_HOME")

2020-05-16 07:08:57.939+0000 [id=1]     INFO    org.eclipse.jetty.util.log.Log#initialized: Logging initialized @4453ms to org.eclipse.jetty.util.log.JavaUtilLog

2020-05-16 07:09:02.052+0000 [id=1]     INFO    winstone.Logger#logInternal: Beginning extraction from war file

2020-05-16 07:09:04.197+0000 [id=1]     WARNING o.e.j.s.handler.ContextHandler#setContextPath: Empty contextPath

2020-05-16 07:09:04.990+0000 [id=1]     INFO    org.eclipse.jetty.server.Server#doStart: jetty-9.4.27.v20200227; built: 2020-02-27T18:37:21.340Z; git: a304fd9f351f337e7c0e2a7c28878dd536149c6c; jvm 1.8.0_242-b08

2020-05-16 07:09:12.128+0000 [id=1]     INFO    o.e.j.w.StandardDescriptorProcessor#visitServlet: NO JSP Support for /, did not find org.eclipse.jetty.jsp.JettyJspServlet

2020-05-16 07:09:12.439+0000 [id=1]     INFO    o.e.j.s.s.DefaultSessionIdManager#doStart: DefaultSessionIdManager workerName=node0

2020-05-16 07:09:12.439+0000 [id=1]     INFO    o.e.j.s.s.DefaultSessionIdManager#doStart: No SessionScavenger set, using defaults

2020-05-16 07:09:12.476+0000 [id=1]     INFO    o.e.j.server.session.HouseKeeper#startScavenging: node0 Scavenging every 600000ms

2020-05-16 07:09:14.143+0000 [id=1]     INFO    hudson.WebAppMain#contextInitialized: Jenkins home directory: /var/jenkins_home found at: EnvVars.masterEnvVars.get("JENKINS_HOME")

2020-05-16 07:09:14.794+0000 [id=1]     INFO    o.e.j.s.handler.ContextHandler#doStart: Started w.@2235eaab{Jenkins v2.237,/,file:///var/jenkins_home/war/,AVAILABLE}{/var/jenkins_home/war}

2020-05-16 07:09:14.871+0000 [id=1]     INFO    o.e.j.server.AbstractConnector#doStart: Started ServerConnector@5315b42e{HTTP/1.1, (http/1.1)}{0.0.0.0:8080}

2020-05-16 07:09:14.872+0000 [id=1]     INFO    org.eclipse.jetty.server.Server#doStart: Started @21390ms

2020-05-16 07:09:14.881+0000 [id=20]    INFO    winstone.Logger#logInternal: Winstone Servlet Engine running: controlPort=disabled

2020-05-16 07:09:18.067+0000 [id=26]    INFO    jenkins.InitReactorRunner$1#onAttained: Started initialization

2020-05-16 07:09:18.316+0000 [id=25]    INFO    jenkins.InitReactorRunner$1#onAttained: Listed all plugins

2020-05-16 07:09:22.668+0000 [id=26]    INFO    jenkins.InitReactorRunner$1#onAttained: Prepared all plugins

2020-05-16 07:09:22.694+0000 [id=26]    INFO    jenkins.InitReactorRunner$1#onAttained: Started all plugins

2020-05-16 07:09:22.881+0000 [id=25]    INFO    jenkins.InitReactorRunner$1#onAttained: Augmented all extensions

2020-05-16 07:09:24.037+0000 [id=25]    INFO    jenkins.InitReactorRunner$1#onAttained: System config loaded
2020-05-16 07:09:24.037+0000 [id=25]    INFO    jenkins.InitReactorRunner$1#onAttained: System config adapted
2020-05-16 07:09:24.037+0000 [id=25]    INFO    jenkins.InitReactorRunner$1#onAttained: Loaded all jobs
2020-05-16 07:09:24.038+0000 [id=26]    INFO    jenkins.InitReactorRunner$1#onAttained: Configuration for all jobs updated
2020-05-16 07:09:24.194+0000 [id=39]    INFO    hudson.model.AsyncPeriodicWork#lambda$doRun$0: Started Download metadata
2020-05-16 07:09:24.255+0000 [id=39]    INFO    hudson.util.Retrier#start: Attempt #1 to do the action check updates server
2020-05-16 07:09:27.052+0000 [id=25]    INFO    o.s.c.s.AbstractApplicationContext#prepareRefresh: Refreshing org.springframework.web.context.support.StaticWebApplicationContext@6069d6b7: display name [Root WebApplicationContext]; startup date [Sat May 16 07:09:27 UTC 2020]; root of context hierarchy
2020-05-16 07:09:27.053+0000 [id=25]    INFO    o.s.c.s.AbstractApplicationContext#obtainFreshBeanFactory: Bean factory for application context [org.springframework.web.context.support.StaticWebApplicationContext@6069d6b7]: org.springframework.beans.factory.support.DefaultListableBeanFactory@6481ce76
2020-05-16 07:09:27.084+0000 [id=25]    INFO    o.s.b.f.s.DefaultListableBeanFactory#preInstantiateSingletons: Pre-instantiating singletons in org.springframework.beans.factory.support.DefaultListableBeanFactory@6481ce76: defining beans [authenticationManager]; root of factory hierarchy
2020-05-16 07:09:27.739+0000 [id=25]    INFO    o.s.c.s.AbstractApplicationContext#prepareRefresh: Refreshing org.springframework.web.context.support.StaticWebApplicationContext@3b4860bb: display name [Root WebApplicationContext]; startup date [Sat May 16 07:09:27 UTC 2020]; root of context hierarchy
2020-05-16 07:09:27.739+0000 [id=25]    INFO    o.s.c.s.AbstractApplicationContext#obtainFreshBeanFactory: Bean factory for application context [org.springframework.web.context.support.StaticWebApplicationContext@3b4860bb]: org.springframework.beans.factory.support.DefaultListableBeanFactory@5c405df3
2020-05-16 07:09:27.747+0000 [id=25]    INFO    o.s.b.f.s.DefaultListableBeanFactory#preInstantiateSingletons: Pre-instantiating singletons in org.springframework.beans.factory.support.DefaultListableBeanFactory@5c405df3: defining beans [filter,legacy]; root of factory hierarchy
2020-05-16 07:09:27.955+0000 [id=25]    INFO    jenkins.InitReactorRunner$1#onAttained: Completed initialization
2020-05-16 07:09:28.492+0000 [id=19]    INFO    hudson.WebAppMain$3#run: Jenkins is fully up and running
***2020-05-16 07:09:44.531+0000 [id=39]    INFO    hudson.util.Retrier#start: The attempt #1 to do the action check updates server failed with an allowed exception:
java.net.UnknownHostException: updates.jenkins.io***
        at java.net.AbstractPlainSocketImpl.connect(AbstractPlainSocketImpl.java:184)
        at java.net.SocksSocketImpl.connect(SocksSocketImpl.java:392)
        at java.net.Socket.connect(Socket.java:607)
        at sun.net.NetworkClient.doConnect(NetworkClient.java:175)
        at sun.net.www.http.HttpClient.openServer(HttpClient.java:463)
        at sun.net.www.http.HttpClient.openServer(HttpClient.java:558)
        at sun.net.www.http.HttpClient.<init>(HttpClient.java:242)
        at sun.net.www.http.HttpClient.New(HttpClient.java:339)
        at sun.net.www.http.HttpClient.New(HttpClient.java:357)
        at sun.net.www.protocol.http.HttpURLConnection.getNewHttpClient(HttpURLConnection.java:1226)
        at sun.net.www.protocol.http.HttpURLConnection.plainConnect0(HttpURLConnection.java:1162)
        at sun.net.www.protocol.http.HttpURLConnection.plainConnect(HttpURLConnection.java:1056)
        at sun.net.www.protocol.http.HttpURLConnection.connect(HttpURLConnection.java:990)
        at sun.net.www.protocol.http.HttpURLConnection.getInputStream0(HttpURLConnection.java:1570)
        at sun.net.www.protocol.http.HttpURLConnection.getInputStream(HttpURLConnection.java:1498)
        at hudson.model.DownloadService.loadJSON(DownloadService.java:114)
        at hudson.model.UpdateSite.updateDirectlyNow(UpdateSite.java:212)
        at hudson.model.UpdateSite.updateDirectlyNow(UpdateSite.java:207)
        at hudson.PluginManager.checkUpdatesServer(PluginManager.java:1767)
        at hudson.util.Retrier.start(Retrier.java:63)
        at hudson.PluginManager.doCheckUpdatesServer(PluginManager.java:1738)
        at jenkins.DailyCheck.execute(DailyCheck.java:93)
        at hudson.model.AsyncPeriodicWork.lambda$doRun$0(AsyncPeriodicWork.java:100)
        at java.lang.Thread.run(Thread.java:748)
2020-05-16 07:09:44.536+0000 [id=39]    INFO    hudson.util.Retrier#start: Calling the listener of the allowed exception 'updates.jenkins.io' at the attempt #1 to do the action check updates server
2020-05-16 07:09:44.544+0000 [id=39]    INFO    hudson.util.Retrier#start: Attempted the action check updates server for 1 time(s) with no success
2020-05-16 07:09:44.547+0000 [id=39]    SEVERE  hudson.PluginManager#doCheckUpdatesServer: Error checking update sites for 1 attempt(s). Last exception was: UnknownHostException: updates.jenkins.io
2020-05-16 07:09:44.566+0000 [id=39]    INFO    hudson.model.AsyncPeriodicWork#lambda$doRun$0: Finished Download metadata. 20,358 ms
2020-05-16 07:10:31.488+0000 [id=56]    INFO    hudson.model.AsyncPeriodicWork#lambda$doRun$0: Started Periodic background build discarder
2020-05-16 07:10:31.492+0000 [id=56]    INFO    hudson.model.AsyncPeriodicWork#lambda$doRun$0: Finished Periodic background build discarder. 2 ms

2

Answers


  1. I got the same exception with Kubernetes environment.
    My Setup:
    -Docker CE
    -Kubernetes

    Deployment of Jenkins:

    deployment.apps/jenkins created

    persistentvolume/jenkins created

    persistentvolumeclaim/jenkins-claim created

    serviceaccount/jenkins created

    role.rbac.authorization.k8s.io/jenkins created

    rolebinding.rbac.authorization.k8s.io/jenkins created

    service/jenkins created

    In the pod’s log, I could saw this

    2020-06-19 05:04:12.590+0000 [id=39] INFO hudson.util.Retrier#start: The attempt #1 to do the action check updates server failed with an allowed exception:

    java.net.UnknownHostException: updates.jenkins.io
            at java.net.AbstractPlainSocketImpl.connect(AbstractPlainSocketImpl.java:184)
            at java.net.SocksSocketImpl.connect(SocksSocketImpl.java:392)
            at java.net.Socket.connect(Socket.java:607)
            at sun.security.ssl.SSLSocketImpl.connect(SSLSocketImpl.java:666)
            at sun.net.NetworkClient.doConnect(NetworkClient.java:175)
            at sun.net.www.http.HttpClient.openServer(HttpClient.java:463)
            at sun.net.www.http.HttpClient.openServer(HttpClient.java:558)
            at sun.net.www.protocol.https.HttpsClient.<init>(HttpsClient.java:264)
            at sun.net.www.protocol.https.HttpsClient.New(HttpsClient.java:367)
            at sun.net.www.protocol.https.AbstractDelegateHttpsURLConnection.getNewHttpClient(AbstractDelegateHttpsURLConnection.java:191)
            at sun.net.www.protocol.http.HttpURLConnection.plainConnect0(HttpURLConnection.java:1162)
            at sun.net.www.protocol.http.HttpURLConnection.plainConnect(HttpURLConnection.java:1056)
            at sun.net.www.protocol.https.AbstractDelegateHttpsURLConnection.connect(AbstractDelegateHttpsURLConnection.java:177)
            at sun.net.www.protocol.http.HttpURLConnection.getInputStream0(HttpURLConnection.java:1570)
            at sun.net.www.protocol.http.HttpURLConnection.getInputStream(HttpURLConnection.java:1498)
            at sun.net.www.protocol.https.HttpsURLConnectionImpl.getInputStream(HttpsURLConnectionImpl.java:268)
            at hudson.model.DownloadService.loadJSON(DownloadService.java:114)
            at hudson.model.UpdateSite.updateDirectlyNow(UpdateSite.java:212)
            at hudson.model.UpdateSite.updateDirectlyNow(UpdateSite.java:207)
            at hudson.PluginManager.checkUpdatesServer(PluginManager.java:1767)
            at hudson.util.Retrier.start(Retrier.java:63)
            at hudson.PluginManager.doCheckUpdatesServer(PluginManager.java:1738)
            at jenkins.DailyCheck.execute(DailyCheck.java:93)
            at hudson.model.AsyncPeriodicWork.lambda$doRun$0(AsyncPeriodicWork.java:100)
            at java.lang.Thread.run(Thread.java:748)
    
    <b>2020-06-19 05:04:12.591+0000 [id=39]    INFO    hudson.util.Retrier#start: Calling the listener of the allowed exception 'updates.jenkins.io' at the attempt #1 to do the action check updates server</b>
    
    2020-06-19 05:04:12.593+0000 [id=39]    INFO    hudson.util.Retrier#start: Attempted the action check updates server for 1 time(s) with no success
    2020-06-19 05:04:12.594+0000 [id=39]    SEVERE  hudson.PluginManager#doCheckUpdatesServer: Error checking update sites for 1 attempt(s). Last exception was: UnknownHostException: updates.jenkins.io
    2020-06-19 05:04:12.597+0000 [id=39]    INFO    hudson.model.AsyncPeriodicWork#lambda$doRun$0: Finished Download metadata. 20,180 ms
    

    After some time if logs are fetched, you’d see the token for first time Jenkins setup.
    get the token and in my case, I had to do a port-forward to 8080.

    • Once you access Jenkins on the browser, fill in the token and see if Jenkins is offline.
      if it is, goto manage Jenkins then advanced tab, scroll down and locate the update.jenkins.io URL at last.

    • Here you just need to click on submit without tempering anything and apply.

    • Now check for the updates in the plugins

    • If this does not work then you can choose HTTP over HTTPS for updates.jenkins.io URL in the same advanced section and submit, apply the changes. Again check for updates in plugins.

    • If above 2 don’t work then it is very much possible you’d have to configure the proxy settings of Jenkins so that Jenkins instance can reach to internet.
      The exception is simply saying that Jenkins instance could not fetch the available plugins/updates from updates.jenkins.io site since it can not resolve the URL.

    The main idea here is to resolve the URL.
    There are a couple of issues related to this URL exception on git issue trackers as well.
    Guess you’ve just hit the common issue.

    In my case I had to consider https://kubernetes.io/docs/tasks/debug-application-cluster/dns-debugging-resolution/ for proper debugging of dns.

    I guess you can check if you have the network interface with nameserver 8.8.8.8 or the /etc/resolve.conf has the same.

    Login or Signup to reply.
  2. After trying different things, these commands worked for me:

    Disable and stop the firewall on my Centos Host

    sudo systemctl disable firewalld
    sudo systemctl stop firewalld
    

    Then, restart docker

    sudo service docker restart
    
    Login or Signup to reply.
Please signup or login to give your own answer.
Back To Top
Search