plugin-installation-manager-tool icon indicating copy to clipboard operation
plugin-installation-manager-tool copied to clipboard

List of available plugins is different between GUI and script

Open AssafKatz3 opened this issue 3 years ago • 8 comments

Version report

Jenkins and plugins versions report:

Jenkins: 2.289.2
OS: Linux - 3.10.0-1160.15.2.el7.x86_64
---
jaxb:2.3.0
ace-editor:1.1
ant:1.11
antisamy-markup-formatter:2.1
apache-httpcomponents-client-4-api:4.5.13-1.0
authentication-tokens:1.4
bootstrap4-api:4.6.0-3
bootstrap5-api:5.0.2-1
bouncycastle-api:2.21
branch-api:2.6.5
build-timeout:1.20
caffeine-api:2.9.1-23.v51c4e2c879c8
checks-api:1.7.2
cloudbees-folder:6.15
command-launcher:1.6
credentials-binding:1.27
credentials:2.5
display-url-api:2.3.5
docker-commons:1.17
docker-workflow:1.26
durable-task:1.38
echarts-api:5.1.2-3
email-ext:2.83
font-awesome-api:5.15.3-4
git-client:3.8.0
git-server:1.10
git:4.8.0
github-api:1.123
github-branch-source:2.11.1
github:1.33.1
gradle:1.37.1
handlebars:3.0.8
jackson2-api:2.12.4
jdk-tool:1.5
jjwt-api:0.11.2-9.c8b45b8bb173
jquery3-api:3.6.0-2
jsch:0.1.55.2
junit:1.51
ldap:2.7
lockable-resources:2.11
mailer:1.34
matrix-auth:2.6.8
matrix-project:1.19
momentjs:1.1.1
okhttp-api:3.14.9
pam-auth:1.6
pipeline-build-step:2.14
pipeline-github-lib:1.0
pipeline-graph-analysis:1.11
pipeline-input-step:2.12
pipeline-milestone-step:1.3.2
pipeline-model-api:1.8.5
pipeline-model-definition:1.8.5
pipeline-model-extensions:1.8.5
pipeline-rest-api:2.19
pipeline-stage-step:2.5
pipeline-stage-tags-metadata:1.8.5
pipeline-stage-view:2.19
pipeline-utility-steps:2.8.0
plain-credentials:1.7
plugin-util-api:2.4.0
popper-api:1.16.1-2
popper2-api:2.5.4-3
resource-disposer:0.16
scm-api:2.6.4
script-security:1.77
snakeyaml-api:1.29.1
ssh-credentials:1.19
ssh-slaves:1.32.0
sshd:3.1.0
structs:1.23
timestamper:1.13
token-macro:2.15
trilead-api:1.0.13
workflow-aggregator:2.6
workflow-api:2.46
workflow-basic-steps:2.23
workflow-cps-global-lib:2.21
workflow-cps:2.93
workflow-durable-task-step:2.39
workflow-job:2.41
workflow-multibranch:2.26
workflow-scm-step:2.13
workflow-step-api:2.24
workflow-support:3.8
ws-cleanup:0.39
  • What Operating System are you using (both controller, and any agents involved in the problem)?
See docker file below

Reproduction steps

  1. Buiild with Dockerfile
  2. Open JENKINS_URL/pluginManager and see: Possible updates
  3. Validate JENKINS_URL/pluginManager/advanced, the only filled value is Update Site=https://updates.jenkins.io/update-center.json.
  4. Run: jenkins-plugin-cli --available-updates

Results

Expected result:

Get a list of available updates like in GUI

Actual result:

No available updates

AssafKatz3 avatar Jul 25 '21 12:07 AssafKatz3

Available updates is based off of an input plugins file and not based off of what is installed, it assumes you’re managing all plugins in that file

timja avatar Jul 25 '21 12:07 timja

Available updates is based off of an input plugins file and not based off of what is installed, it assumes you’re managing all plugins in that file

Hi,

So I don't understand, how can (if any) I update all plugins to latest versions by this tool?

Thanks

AssafKatz3 avatar Jul 25 '21 13:07 AssafKatz3

This is the normal work flow: https://github.com/jenkinsci/docker#updating-plugins-file-preview

timja avatar Jul 25 '21 15:07 timja

This is the normal work flow: https://github.com/jenkinsci/docker#updating-plugins-file-preview

Hi,

Unfortunately, I create docker image for offline so it won't help me, at least as is :-( I will check if I can use the bash command in dockerfile.

Thanks

AssafKatz3 avatar Jul 25 '21 15:07 AssafKatz3

This is the normal work flow: https://github.com/jenkinsci/docker#updating-plugins-file-preview

Hi,

I checked and /usr/share/jenkins/ref/plugins.txt isn't existed at all, the documentation is wrong :-(... Moreover I used:

jenkins-plugin-cli --plugins ls /var/jenkins_home/plugins/*.jpi | xargs -I{} basename {} .jpi --available-updates

And still got "No available updates". Actually, I want to force upgrades of plugins that have been manually upgraded during the build, but the instructions in the link refer to case that I run the container, not build the image.

Thanks

AssafKatz3 avatar Jul 26 '21 06:07 AssafKatz3

Regardless of what's used for updating, this should be resolved. If another user installs a plugin via the UI, it won't be reflected in the cli, which affects using the cli to manage the instance via Infrastructure as Code or orchestration.

fostermi avatar Nov 19 '21 21:11 fostermi

If you're managing it via infra as code why is someone installing plugins via the UI?

timja avatar Nov 19 '21 21:11 timja

It also doesn't list plugins that are installed as dependencies of plugins that ARE installed via the CLI. For example "oic-auth" seems to install "JDK Tool Plugin" and "Oracle Java SE Development Kit Installer". The point is, its not in sync and makes it difficult to find dependencies. Installing a plugin via the cli that doesn't report its dependencies makes taking a diff impossible.

fostermi avatar Nov 19 '21 21:11 fostermi

We finally found workaround (that I forgot to document here..)

AssafKatz3 avatar Oct 11 '23 06:10 AssafKatz3