Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

https://updates.jenkins.io/current/latest/jenkins.war returns 404 #3927

Closed
alextu opened this issue Jan 30, 2024 · 7 comments
Closed

https://updates.jenkins.io/current/latest/jenkins.war returns 404 #3927

alextu opened this issue Jan 30, 2024 · 7 comments

Comments

@alextu
Copy link

alextu commented Jan 30, 2024

Service(s)

get.jenkins.io, Update center

Summary

We've recently changed Jenkins download URLs to https://updates.jenkins.io/ because get.jenkins.io returned 404 at the time, see jenkinsci/gradle-plugin#387.
It looks like like now https://updates.jenkins.io/current/latest/jenkins.war returns 404 should we go back to get.jenkins.io based URLs ?

Reproduction steps

curl -I -L https://updates.jenkins.io/current/latest/jenkins.war

HTTP/2 302
date: Tue, 30 Jan 2024 14:51:04 GMT
server: Apache
location: https://updates.jenkins.io/download/war/2.443/jenkins.war
content-type: text/html; charset=iso-8859-1

HTTP/2 302
date: Tue, 30 Jan 2024 14:51:05 GMT
server: Apache
location: https://get.jenkins.io/war/2.443/jenkins.war
content-type: text/html; charset=iso-8859-1

HTTP/2 404
date: Tue, 30 Jan 2024 14:51:05 GMT
content-type: text/plain; charset=utf-8
content-length: 10
x-content-type-options: nosniff
strict-transport-security: max-age=2592000; includeSubDomains; preload
@alextu alextu added the triage Incoming issues that need review label Jan 30, 2024
@MarkEWaite
Copy link

MarkEWaite commented Jan 30, 2024

Thanks for reporting the issue @alextu .

The Jenkins update center, https://updates.jenkins.io/ includes a page https://updates.jenkins.io/latest/ that lists the preferred download links for the latest releases. For jenkins.war, that download link is https://updates.jenkins.io/latest/jenkins.war .

The list of mirrors for a specific download link can be viewed by appending ?mirrorlist to the preferred download link. Currently that will redirect to get.jenkins.io like this:

Unfortunately, something is wrong with the preferred link to the latest release of Jenkins core

We'll need to investigate further in order to understand what went wrong with the 2.443 release. That release was built a few hours ago.

@lemeurherve
Copy link
Member

lemeurherve commented Jan 30, 2024

Looking into it, there is an error mounting the volumes in the release job pod:

Mounting command: mount                                                                                                                                                                                                                            
Mounting arguments: -t cifs -o dir_mode=0777,file_mode=0777,uid=1000,gid=1000,mfsymlinks,nobrl,actimeo=30,nosharesock,<masked> //prodjenkinsreleases.file.core.windows.net/mirrorbits /var/lib/kubelet/plugins/kubernetes.io/csi/file.csi.azure.com
/f5fe83d0cef11484xxxxxxbf58c3f958fa8bd9ca1a24ad9d1bd9524e1432c/globalmount                                                                                                                                                                      
Output: mount error: could not resolve address for prodjenkinsreleases.file.core.windows.net: Unknown error                                                                                                                                        
                                                                                                                                                                                                                                                   
Please refer to http://aka.ms/filemounterror for possible causes and solutions for mount errors.                                                                                                                                                   
  Warning  FailedMount  113s (x7 over 2m56s)  kubelet  MountVolume.MountDevice failed for volume "website-core-packages" : rpc error: code = Internal desc = volume(website-core-packages) mount //prodjenkinsreleases.file.core.windows.net/websit
e on /var/lib/kubelet/plugins/kubernetes.io/csi/file.csi.azure.com/a39f6c9618d704c0e13853726ddddf02c40e7ff3f44cc97c3d235ab6899d6f/globalmount failed with mount failed: exit status 1                                                            
Mounting command: mount                                                                                                                                                                                                                            
Mounting arguments: -t cifs -o dir_mode=0777,file_mode=0777,uid=1000,gid=1000,mfsymlinks,nobrl,actimeo=30,nosharesock,<masked> //prodjenkinsreleases.file.core.windows.net/website /var/lib/kubelet/plugins/kubernetes.io/csi/file.csi.azure.com/a3
9f6c9618d704c0eddddd60f02c40e7ff3f44cc97c3d235ab6899d6f/globalmount                                                                                                                                                                         
Output: mount error: could not resolve address for prodjenkinsreleases.file.core.windows.net: Unknown error                                                                                                                                        
                                                                                                                                                                                                                                                   
Please refer to http://aka.ms/filemounterror for possible causes and solutions for mount errors.                                                                                                                                                   
  Warning  FailedMount  54s                  kubelet  Unable to attach or mount volumes: unmounted volumes=[website-core-packages binary-core-packages], unattached volumes=[website-core-packages workspace-volume kube-api-access-gxr8l binary-co
e-packages[]: timed out waiting for the condition                                                                                                                                                                                                  
  Warning  FailedMount  49s (x5 over 2m57s)  kubelet  MountVolume.MountDevice failed for volume "binary-core-packages" : rpc error: code = Internal desc = volume(binary-core-packages) mount //prodjenkinsreleases.file.core.windows.net/mirrorbit
s on /var/lib/kubelet/plugins/kubernetes.io/csi/file.csi.azure.com/f5fe83d0cef11484xxxxxxbf58c3f958fa8bd9ca1a24ad9d1bd9524e1432c/globalmount failed with mount failed: exit status 1                                                            
Mounting command: mount                                                                                                                                                                                                                            
Mounting arguments: -t cifs -o dir_mode=0777,file_mode=0777,uid=1000,gid=1000,mfsymlinks,nobrl,nosharesock,actimeo=30,<masked> //prodjenkinsreleases.file.core.windows.net/mirrorbits /var/lib/kubelet/plugins/kubernetes.io/csi/file.csi.azure.com
/f5fe83d0cef11484xxxxxxbf58c3f958fa8bd9ca1a24ad9d1bd9524e1432c/globalmount                                                                                                                                                                      
Output: mount error: could not resolve address for prodjenkinsreleases.file.core.windows.net: Unknown error                                                                                                                                        
                                                                                                                                                                                                                                                   
Please refer to http://aka.ms/filemounterror for possible causes and solutions for mount errors.                                                                                                                                                   
  Warning  FailedMount  48s (x2 over 2m56s)  kubelet  MountVolume.MountDevice failed for volume "website-core-packages" : rpc error: code = Internal desc = volume(website-core-packages) mount //prodjenkinsreleases.file.core.windows.net/website
 on /var/lib/kubelet/plugins/kubernetes.io/csi/file.csi.azure.com/f5fe83d0cef11484xxxxxxbf58c3f958fa8bd9ca1a24ad9d1bd9524e1432c/globalmount failed with mount failed: exit status 1                                                             
Mounting command: mount                                                                                                                                                                                                                            
Mounting arguments: -t cifs -o dir_mode=0777,file_mode=0777,uid=1000,gid=1000,mfsymlinks,nobrl,nosharesock,actimeo=30,<masked> //prodjenkinsreleases.file.core.windows.net/website /var/lib/kubelet/plugins/kubernetes.io/csi/file.csi.azure.com/a3
f5fe83d0cef11484xxxxxxbf58c3f958fa8bd9ca1a24ad9d1bd9524e1432c/globalmount                                                                                                                                                                         
Output: mount error: could not resolve address for prodjenkinsreleases.file.core.windows.net: Unknown error                                                                                                                                        
                                                                                                                                                                                                                                                   
Please refer to http://aka.ms/filemounterror for possible causes and solutions for mount errors.

@lemeurherve
Copy link
Member

Incident opened: jenkins-infra/status#468

@lemeurherve
Copy link
Member

The storage account which seem to have been previously used in the Release Core process has been deleted since last Friday: #3917 (comment)

Trying to recreate the missing website File Share in the get.jenkins.io storage account where the mirrorbits File Share is now, and to set it up to be accessible and used by release.ci.jenkins.io agents.

@lemeurherve
Copy link
Member

Issue finally resolved, I'll post a complete report tomorrow.

@lemeurherve lemeurherve self-assigned this Jan 30, 2024
@lemeurherve lemeurherve removed the triage Incoming issues that need review label Jan 30, 2024
@lemeurherve lemeurherve unpinned this issue Jan 30, 2024
@alextu
Copy link
Author

alextu commented Jan 31, 2024

Thanks! I'll let you close this issue then

lemeurherve added a commit to jenkins-infra/azure that referenced this issue Jan 31, 2024
… storage account (#613)

This PR adds release.ci.jenkins.io subnet to `getjenkinsio` storage
account's allowed virtual nets, and adds `Storage Account Contributor`
role assignment to privatek8s's service principal.

Ref:
- jenkins-infra/helpdesk#3927
@lemeurherve
Copy link
Member

lemeurherve commented Jan 31, 2024

The storage account which seem to have been previously used in the Release Core process has been deleted since last Friday: #3917 (comment)

Trying to recreate the missing website File Share in the get.jenkins.io storage account where the mirrorbits File Share is now, and to set it up to be accessible and used by release.ci.jenkins.io agents.

Summary of steps we've took to fix the issue:

With that in place, the Release Core Packaging job resumed as it managed to spawn a pod with the correct access to the mirrorbits and website File Shares.

To check the changes reapplied today as code, I've tested a replay on release.ci.jenkins.io with success:

pipeline {
  agent {
    kubernetes {
      yamlFile 'PodTemplates.d/package-linux.yaml'
    }
  }

  stages {
    stage('Test') {
      steps {
        echo 'OK'
      }
    }
  }
}

Note: this issue underlined that there was a remnant issue with the PV in privatek8s cluster, the env-release chart we're using has prodreleasecore as default value for the storage account's resource group but AFAIK this value was never set in our releases: https://github.com/jenkins-infra/helm-charts/blob/004051b7d1fb52cb8d90d5c2f147984764b9b4a5/charts/env-jenkins-release/values.yaml#L8

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

3 participants