@@ -82,6 +82,7 @@ type unpackHandler interface {
8282type copyActionStoreFunc func (log * logger.Logger , newHome string ) error
8383type copyRunDirectoryFunc func (log * logger.Logger , oldRunPath , newRunPath string ) error
8484type fileDirCopyFunc func (from , to string , opts ... copy.Options ) error
85+ type markUpgradeFunc func (log * logger.Logger , dataDirPath string , agent , previousAgent agentInstall , action * fleetapi.ActionUpgrade , upgradeDetails * details.Details , desiredOutcome UpgradeOutcome ) error
8586
8687// Types used to abstract stdlib functions
8788type mkdirAllFunc func (name string , perm fs.FileMode ) error
@@ -105,6 +106,7 @@ type Upgrader struct {
105106 detectFlavor func (topDir string , defaultFlavor string ) (string , error )
106107 copyActionStore copyActionStoreFunc
107108 copyRunDirectory copyRunDirectoryFunc
109+ markUpgrade markUpgradeFunc
108110}
109111
110112// IsUpgradeable when agent is installed and running as a service or flag was provided.
@@ -129,6 +131,7 @@ func NewUpgrader(log *logger.Logger, settings *artifact.Config, agentInfo info.A
129131 detectFlavor : install .UsedFlavor ,
130132 copyActionStore : copyActionStoreProvider (os .ReadFile , os .WriteFile ),
131133 copyRunDirectory : copyRunDirectoryProvider (os .MkdirAll , copy .Copy ),
134+ markUpgrade : markUpgradeProvider (UpdateActiveCommit , os .WriteFile ),
132135 }, nil
133136}
134137
@@ -231,8 +234,6 @@ func checkUpgrade(log *logger.Logger, currentVersion, newVersion agentVersion, m
231234 return nil
232235}
233236
234- var markUpgradeFunc = markUpgrade
235-
236237// Upgrade upgrades running agent, function returns shutdown callback that must be called by reexec.
237238func (u * Upgrader ) Upgrade (ctx context.Context , version string , sourceURI string , action * fleetapi.ActionUpgrade , det * details.Details , skipVerifyOverride bool , skipDefaultPgp bool , pgpBytes ... string ) (_ reexec.ShutdownCallbackFn , err error ) {
238239 u .log .Infow ("Upgrading agent" , "version" , version , "source_uri" , sourceURI )
@@ -389,7 +390,7 @@ func (u *Upgrader) Upgrade(ctx context.Context, version string, sourceURI string
389390 versionedHome : currentVersionedHome ,
390391 }
391392
392- if err := markUpgradeFunc (u .log ,
393+ if err := u . markUpgrade (u .log ,
393394 paths .Data (), // data dir to place the marker in
394395 current , // new agent version data
395396 previous , // old agent version data
0 commit comments