Co-authored-by: Mark Waite <mark.earl.waite@gmail.com>
Co-authored-by: Daniel Beck <1831569+daniel-beck@users.noreply.github.com>
Fix link from `/threadDump` to agent (#8143)
Since the transition to systemd, we no longer read the contents of
/etc/sysconfig/jenkins on Red Hat Enterprise Linux systems. The changes
that a user can make with systemd are either modifying the environment
variable or they are modifying a Java property. Since those two cases
are already covered, let's not mention the different ways of starting
the controller.
We don't actively promote the use of alternate web containers and
setting the environment variable in the web container admin tool is
already covered by the simpler statement that the environment variable
needs to be set.
We absolutely should not suggest that they modify the contents of the
jenkins.war file. That type of change will likely be erased on the
next upgrade.
https://github.com/jenkins-infra/jenkins.io/pull/6409 review process
showed this issue.
(cherry picked from commit ccfd725284)
* Ubuntu 18.04 end of life admin monitor
First prototype that includes a user interface and localized messages
with parameters to support the specific operating system.
* Use a base class for common features
Admin monitors are disabled and enabled by a user interface action.
There is not an obvious way to detect that a date has passed so that it
should be enabled again.
* Better comment
* Make the logging clearer
* Split pattern check to separate method
* Add a message to show after end of life
* Suppress most logging
* Minor logging improvements
* Use actual end of life date for Ubuntu 18.04
* Logger not needed
* Add Alpine 3.14 end of life admin monitor
* Add Alpine 3.15 end of life monitor
* Add Alpine 3.16 end of life monitor
* Add Alpine 3.17 end of life monitor
* Spotless cleanup
* Add Fedora 37, 38, and Red Hat 7
* More accurate regex to detect version
* Add Debian 10 end of life admin monitor
* Add a few tests
* Add another test
* Fix checkstyle violations
* Fix spotbugs warning
* Correct the copyright
* Make test viable on non-Linux machines
Do not depend on the existence of /etc/os-release
* Name the setup function more accurately
* Test a file with non-matching content
* Test the Alpine end of life admin monitors
* Add more tests
* Test Fedora 37 admin monitor
* Add RHEL 7 test
* Announce RHEL 7 early end of support immediately
* Use consistent logging calls
* Add Red Hat 8 to RHEL 7 as a test
* Use past date to report RHEL 7 end of life
* Remove Red Hat 8 from RHEL 7 end of life
* Log more information
* Display end of support date
Incorrect to declare end of support as the date when we begin warning
the user about end of life.
* Add descriptions of the admin monitors
* Use a better redirect URL
* Group admin monitors better by display name
* Remove unnused message.properties files
* Add description.jelly file
* Better description of the admin monitors
* Add endOfSupportDate getter
Needed for UI
* Fix minor indentation error
* Each monitor must be independently disabled
* Repurpose identifier for use in disabled property
Don't need the idenitfier anywhere except in the initial constructor
call that is later used to enable and disable the admin monitor.
* Add Red Hat 8 to RHEL 7 as a test
* Add os-release tests and data files
* Remove unused URL arg to constructor
* Reduce duplication in data
Easier to test with symbolic constants that are consistently named across
all the classes.
Includes tests of os-release files from each of the end of life operating systems
* Fix inaccurate comment
* Use constant for documentation URL
* Remove RHEL 8 from RHEL 8 Admin Monitor
* Fedora 36 security support ends 18 May 2023
* Fedora 37 support ends 15 Dec 2023
* Fix spelling error in description
* Read data file with UTF-8 character set
* Do not use extension point name in symbol
* Use single word 'Ignore' in button, not name of monitor
* Use a smaller layout for monitor name
* Include operating system version in RHEL 7 check
Includes a TODO comment to remove the RHEL 8 entry that I use for
testing and development
* Fix regex syntax error
* First prototype using a data file
* Start the conversion to a single monitor
* Latest experiments with end of life data as JSON
* More exploring and evolving
* Remove Alpine admin monitor
* Remove Fedora admin monitor
* Remove Debian admin monitor
* Remove Ubuntu admin monitor
* Throw IOException rather than check for null
IOException should be uncommon and mistakes should be detected by
automated tests
* Stop inheriting from EndOfLifeAdminMonitor
* Simplify initialization logic
Else clauses not required due to break.
* Add isActivated implementation
* Add setDisabled test method
* Minor formatting changes
* Test some additional methods
* Call super in constructor
* Minor updates from study of upstream class
* Format JSON data
* Fix formatting errors
* Fix assertion
* Better variable naming
* Explain the purpose of ignoreEndOfLife flag
* Remove unused import
* Store the pretty name, not the pattern
* Test pretty name with sample os-release data files
* Remove RedHat 7 specific monitor
* Set RHEL 8 end of life early for test
* Ongoing debugging
* Describe the monitor
* Honor start date
* Add pretty name as monitor attribute
* Add end of support date
* Remove earlier implementations
* Move end of life data
* Rename end of support to end of life
End of life is used throughout the monitor
* Improve message with after end of life date status
* Undo .gitignore change
* Rename effective date to end of life date
* Rename pretty name to operating system name
* More rename of prettyName
* Fix logging mistakes
* Add RHEL 8
* Default start date is 6 months before end of life
* Add operating system end of life patterns and dates
* Fix JSON file formatting
* Simplify logging code
* Better logging
* Add Alma and Rocky Linux tests and patterns
* Add methods to help test automation
* Remove unused methods
* Start warning RHEL 7 users immediately
* Suppress spotbugs traversal_in warning - false positive
* Throw IOException on bad data file
Fail tests quickly when a a bad data file is used
* Better exception message
* Correct RHEL 8 end of life date
* Enable isActivated test
* Increase test coverage
* Fix spelling error
Co-authored-by: Alexander Brandes <brandes.alexander@web.de>
* Remove non-breaking spaces from message
Non-breaking spaces are not recommended.
Co-authored-by: Tim Jacomb <21194782+timja@users.noreply.github.com>
* Rename class to match symbol
https://github.com/jenkinsci/jenkins/pull/7913/files#r1199814150
* Sort end of life data alphabetically
* Included OS query parameter and fragment in docs URL
The fragment may be useful in the future for analytics. Harmless to
send the fragment to www.jenkins.io and www.jenkins.io may be able to
make use of it to direct the reader to information that is specific to
their operating system.
* Scientific Linux 8 does not exist
* Remove fragment, only need query parameter
https://github.com/jenkinsci/jenkins/pull/7913#discussion_r1200991347
is the comment that prompted the improvement.
---------
Co-authored-by: Alexander Brandes <brandes.alexander@web.de>
Co-authored-by: Tim Jacomb <21194782+timja@users.noreply.github.com>
Co-authored-by: Alexander Brandes <mc.cache@web.de>
(cherry picked from commit ab06bf517c)
[JENKINS-71345] Revert "Add updates count badge to Updates sidebar item (#7084)"
The "Manage Jenkins" / "System" drop down menu includes the extra text
"undefined" at the end of each entry. This removes that change and
removes the updates count badge from the updates sidebar.
This reverts commit 291f5edcc5.
* Fix JENKINS-71160: "Tmp directories are hidden" alert icon.
JENKINS-71160: In the Workspace section of a Jenkins job, the icon URL reference of the "Tmp directories are hidden" alert is incorrect. It uses the old static 16x16 PING image instead of the SVG one.
* Update other icon too
---------
Co-authored-by: Alexander Brandes <mc.cache@web.de>
(cherry picked from commit c8ded5d4ec)
* [JENKINS-71139] Reproducing `XStream2` problem with NUL
* Arguably better to switch from “quirks” to XML 1.1 mode, failing during write not just read
(cherry picked from commit 458c6865d2)