@@ -13,19 +13,29 @@ import (
1313 "github.com/pkg/errors"
1414)
1515
16+ var (
17+ fnServiceDisable = service .Disable
18+ fnServiceDeRegister = service .DeRegister
19+ fnServiceEnable = service .Enable
20+ fnServiceIsEnabled = service .IsEnabled
21+ fnServiceIsInstalled = service .IsInstalled
22+ fnServiceRegister = service .Register
23+ fnServiceStart = service .Start
24+ )
25+
1626// Updates the service definition if any immediate run command service exists.
1727// The action is skipped if the service has already been upgraded.
1828func Update (ctx * log.Context , h types.HandlerEnvironment , extName string , seqNum int , extensionEvents * extensionevents.ExtensionEventManager ) (int , error ) {
1929 ctx .Log ("message" , "updating immediate run command" )
20- isInstalled , err := service . IsInstalled (ctx )
30+ isInstalled , err := fnServiceIsInstalled (ctx )
2131 if err != nil {
2232 errMessage := fmt .Sprintf ("Failed to check if any runcommand service is installed: %v" , err )
2333 extensionEvents .LogErrorEvent ("immediateupdate" , errMessage )
2434 return constants .FileSystem_CreateDataDirectoryFailed , errors .Wrap (err , "failed to check if any runcommand service is installed" )
2535 }
2636
2737 if isInstalled {
28- err = service . Register (ctx , extensionEvents )
38+ err = fnServiceRegister (ctx , extensionEvents )
2939 if err != nil {
3040 errMessage := fmt .Sprintf ("Failed to upgrade run command service: %v" , err )
3141 extensionEvents .LogErrorEvent ("immediateupdate" , errMessage )
@@ -37,23 +47,23 @@ func Update(ctx *log.Context, h types.HandlerEnvironment, extName string, seqNum
3747}
3848
3949func Disable (ctx * log.Context , h types.HandlerEnvironment , extName string , seqNum int , extensionEvents * extensionevents.ExtensionEventManager ) (int , error ) {
40- isInstalled , err := service . IsInstalled (ctx )
50+ isInstalled , err := fnServiceIsInstalled (ctx )
4151 if err != nil {
4252 errMessage := fmt .Sprintf ("Failed to check if runcommand service is installed: %v" , err )
4353 extensionEvents .LogErrorEvent ("immediatedisable" , errMessage )
4454 return constants .ExitCode_DisableInstalledServiceFailed , errors .Wrap (err , "failed to check if runcommand service is installed" )
4555 }
4656
4757 if isInstalled {
48- isEnabled , err := service . IsEnabled (ctx )
58+ isEnabled , err := fnServiceIsEnabled (ctx )
4959 if err != nil {
5060 errMessage := fmt .Sprintf ("Failed to check if service is enabled: %v" , err )
5161 extensionEvents .LogErrorEvent ("immediatedisable" , errMessage )
5262 return constants .ExitCode_InstallServiceFailed , errors .Wrap (err , "failed to check if service is enabled" )
5363 }
5464
5565 if isEnabled {
56- err := service . Disable (ctx , extensionEvents )
66+ err := fnServiceDisable (ctx , extensionEvents )
5767 if err != nil {
5868 errMessage := fmt .Sprintf ("Failed to disable run command service: %v" , err )
5969 extensionEvents .LogErrorEvent ("immediatedisable" , errMessage )
@@ -75,19 +85,19 @@ func Install() (int, error) {
7585
7686func Uninstall (ctx * log.Context , h types.HandlerEnvironment , extName string , seqNum int , extensionEvents * extensionevents.ExtensionEventManager ) (int , error ) {
7787 ctx .Log ("message" , "proceeding to uninstall immediate run command" )
78- isInstalled , err := service . IsInstalled (ctx )
88+ isInstalled , err := fnServiceIsInstalled (ctx )
7989 if err != nil {
8090 errMessage := fmt .Sprintf ("Failed to check if runcommand service is installed: %v" , err )
8191 extensionEvents .LogErrorEvent ("immediatedisable" , errMessage )
8292 return constants .FileSystem_RemoveDataDirectoryFailed , errors .Wrap (err , "failed to check if runcommand service is installed" )
8393 }
8494
8595 if isInstalled {
86- error := service . DeRegister (ctx , extensionEvents )
87- if error != nil {
88- errMessage := fmt .Sprintf ("Failed to uninstall run command service: %v" , error )
96+ err2 := fnServiceDeRegister (ctx , extensionEvents )
97+ if err2 != nil {
98+ errMessage := fmt .Sprintf ("Failed to uninstall run command service: %v" , err2 )
8999 extensionEvents .LogErrorEvent ("immediatedisable" , errMessage )
90- return constants .ExitCode_UninstallInstalledServiceFailed , errors .Wrap (err , "failed to uninstall run command service" )
100+ return constants .ExitCode_UninstallInstalledServiceFailed , errors .Wrap (err2 , "failed to uninstall run command service" )
91101 }
92102 }
93103 return constants .ExitCode_Okay , nil
@@ -96,37 +106,37 @@ func Uninstall(ctx *log.Context, h types.HandlerEnvironment, extName string, seq
96106func Enable (ctx * log.Context , h types.HandlerEnvironment , extName string , seqNum int , cfg handlersettings.HandlerSettings , extensionEvents * extensionevents.ExtensionEventManager ) (int , error ) {
97107 // If installService == true, then install RunCommand as a service
98108 if cfg .InstallAsService () {
99- isInstalled , err2 := service . IsInstalled (ctx )
109+ isInstalled , err2 := fnServiceIsInstalled (ctx )
100110 if err2 != nil {
101111 ctx .Log ("message" , "could not check if service is already installed. Proceeding to overwrite configuration file to make sure it gets installed." )
102112 extensionEvents .LogErrorEvent ("immediateenable" , "could not check if service is already installed. Proceeding to overwrite configuration file to make sure it gets installed." )
103113 }
104114
105115 if ! isInstalled {
106- err3 := service . Register (ctx , extensionEvents )
116+ err3 := fnServiceRegister (ctx , extensionEvents )
107117 if err3 != nil {
108118 errMessage := fmt .Sprintf ("Failed to install RunCommand as a service: %v" , err3 )
109119 extensionEvents .LogErrorEvent ("immediateenable" , errMessage )
110120 return constants .Immediate_CouldNotStartService , err3
111121 }
112122 } else {
113- isEnabled , err3 := service . IsEnabled (ctx )
123+ isEnabled , err3 := fnServiceIsEnabled (ctx )
114124 if err3 != nil {
115125 errMessage := fmt .Sprintf ("Failed to check if service is already enabled: %v" , err3 )
116126 extensionEvents .LogErrorEvent ("immediateenable" , errMessage )
117127 return constants .Immediate_CouldNotCheckServiceAlreadyEnabled , vmextension .NewErrorWithClarification (constants .Immediate_CouldNotCheckServiceAlreadyEnabled , errors .Wrap (err3 , errMessage ))
118128 }
119129
120130 if ! isEnabled {
121- err4 := service . Enable (ctx , extensionEvents )
131+ err4 := fnServiceEnable (ctx , extensionEvents )
122132
123133 if err4 != nil {
124134 errMessage := fmt .Sprintf ("Failed to enable service: %v" , err4 )
125135 extensionEvents .LogErrorEvent ("immediateenable" , errMessage )
126136 return constants .Immediate_EnableServiceFailed , vmextension .NewErrorWithClarification (constants .Immediate_EnableServiceFailed , errors .Wrap (err4 , errMessage ))
127137 }
128138
129- err5 := service . Start (ctx , extensionEvents )
139+ err5 := fnServiceStart (ctx , extensionEvents )
130140
131141 if err5 != nil {
132142 errMessage := fmt .Sprintf ("Failed to start service: %v" , err5 )
0 commit comments