SDP-625 #10

  • //
  • spec/
  • job/
  • SDP-625
  • View
  • Commits
  • Open Download .zip Download (4 KB)
# The form data below was edited by tom_tyler
# Perforce Workshop Jobs
#
#  Job:           The job name. 'new' generates a sequenced job number.
#
#  Status:        Job status; required field.  There is no enforced or
#                 promoted workflow for transition of jobs from one
#                 status to another, just a set of job status values
#                 for users to apply as they see fit.  Possible values:
#
#                 open - Issue is available to be worked on.
#
#                 inprogress - Active development is in progress.
#
#                 blocked - Issue cannot be implemented for some reason.
#
#                 fixed - Fixed, optional status to use before closed.
#                 
#                 closed - Issue has been dealt with definitively.
#
#                 punted - Decision made not to address the issue,
#                    possibly not ever.
#
#                 suspended - Decision made not to address the issue
#                    in the immediate future, but noting that it may
#                    have some merit and may be revisited later.
#
#                 duplicate - Duplicate of another issue that.
#
#                 obsolete - The need behind the request has become
#                    overcome by events.
#
#  Project:       The project this job is for. Required.
#
#  Severity:      [A/B/C] (A is highest)  Required.
#
#  ReportedBy     The user who created the job. Can be changed.
#
#  ReportedDate:  The date the job was created.  Automatic.
#
#  ModifiedBy:    The user who last modified this job. Automatic.
#
#  ModifiedDate:  The date this job was last modified. Automatic.
#
#  OwnedBy:       The owner, responsible for doing the job. Optional.
#
#  Description:   Description of the job.  Required.
#
#  DevNotes:      Developer's comments.  Optional.  Can be used to
#                 explain a status, e.g. for blocked, punted,
#                 obsolete or duplicate jobs.  May also provide
#                 additional information such as the earliest release
#                 in which a bug is known to exist.
#
# Component:      Projects may use this optional field to indicate
#                 which component of the project a givenjob is associated
#                 with.
#
#                 For the SDP, the list of components is defined in:
#                 //guest/perforce_software/sdp/tools/components.txt
#
#  Type:          Type of job [Bug/Feature/Problem].  Required.
#                 Feature and Bug are common terms.
#                 A Problem is suspected bug, or one without a clear
#                 understanding of exactly what is broken.
#
#  Release:       Release in which job is intended to be fixed.

Job:	SDP-625

Status:	closed

Project:	perforce-software-sdp

Severity:	B

ReportedBy:	tom_tyler

ReportedDate:	2021/03/24 19:25:14

ModifiedBy:	tom_tyler

ModifiedDate:	2022/03/26 19:55:01

OwnedBy:	tom_tyler

Description:
	upgrade.sh needs to bounce p4d for multi-instance patch-only upgrades.
	
	When a patch-only p4d upgrade is done in a multi-instance environment,
	the SDP upgrade.sh script will bounce only the p4d for the first
	instance.  For instances processed after the first, upgrade.sh does not
	realize that the subsequent instances require a bounce of the p4d
	service because the Major Version Symlink (e.g. 'p4d_2020.2_bin') is
	already correct and pointing to the latest patch binary.
	
	Correct behavior would be to do a 'p4 info' check against the live
	running p4d (or p4broker/p4p), and if it is different from version
	indicated by the symlink AND the service was up and running at
	the start of processing, bounce the service.
	
	The workaround is simply to bounce p4d manually for instances upgraded
	after the first.
	
	Digression: Long ago SDP was designed with the assumption that, on
	any given machine, if a p4d/p4broker/p4p binary was patched, all
	instances on that machine would commit to taking the patch at the
	next opportunity to bounce the service. This was done to encourage
	patch upgrades, while still retaining some flexibility in controlling
	when the upgrades are done. (This has always come with the caveat
	that an unplanned service restart will also cause the new binary to
	go live; that characteristic remains, and ultimately is deemed more of
	a Good Thing than a risk).
	
	Note that none of this applies to major version upgrades, which
	must always be explicitly selected on a per-instance basis.

Component:	core-unix

Type:	Bug
# Change User Description Committed
#10 default
#9 default
#8 default
#7 default
#6 default
#5 default
#4 default
#3 default
#2 default
#1 default