@@ -123,7 +123,7 @@ func (APIImplementor) GetBIOSSerialNumber() (string, error) {
123123func (impl APIImplementor ) GetService (name string ) (* ServiceInfo , error ) {
124124 service , err := impl .serviceFactory .GetService (name )
125125 if err != nil {
126- return nil , fmt .Errorf ("failed to get service %s: %w" , name , err )
126+ return nil , fmt .Errorf ("failed to get service %s. error : %w" , name , err )
127127 }
128128
129129 displayName , err := cim .GetServiceDisplayName (service )
@@ -152,7 +152,7 @@ func (impl APIImplementor) StartService(name string) error {
152152 startService := func (service cim.ServiceInterface ) error {
153153 retVal , err := service .StartService ()
154154 if err != nil || (retVal != startServiceErrorCodeAccepted && retVal != startServiceErrorCodeAlreadyRunning ) {
155- return fmt .Errorf ("error starting service name %s. return value: %d, error: %v " , name , retVal , err )
155+ return fmt .Errorf ("error starting service name %s. return value: %d, error: %w " , name , retVal , err )
156156 }
157157 return nil
158158 }
@@ -173,12 +173,12 @@ func (impl APIImplementor) StartService(name string) error {
173173
174174 service , err := impl .serviceFactory .GetService (name )
175175 if err != nil {
176- return err
176+ return fmt . Errorf ( "failed to get service %s. error: %w" , name , err )
177177 }
178178
179179 state , err := impl .serviceManager .WaitUntilServiceState (service , startService , serviceRunningCheck , serviceStateCheckInternal , serviceStateCheckTimeout )
180180 if err != nil && ! errors .Is (err , errTimedOut ) {
181- return err
181+ return fmt . Errorf ( "failed to wait for service %s state change. error: %w" , name , err )
182182 }
183183
184184 if state != serviceStateRunning {
@@ -197,28 +197,28 @@ func (impl APIImplementor) stopSingleService(name string) (bool, error) {
197197 dependentRunning = true
198198 return fmt .Errorf ("error stopping service %s as dependent services are not stopped" , name )
199199 }
200- return fmt .Errorf ("error stopping service %s. return value: %d, error: %v " , name , retVal , err )
200+ return fmt .Errorf ("error stopping service %s. return value: %d, error: %w " , name , retVal , err )
201201 }
202202 return nil
203203 }
204204 serviceStoppedCheck := func (service cim.ServiceInterface , state string ) (bool , string , error ) {
205205 err := service .Refresh ()
206206 if err != nil {
207- return false , "" , err
207+ return false , "" , fmt . Errorf ( "error refresh service %s instance. error: %w" , name , err )
208208 }
209209
210210 newState , err := cim .GetServiceState (service )
211211 if err != nil {
212- return false , state , err
212+ return false , state , fmt . Errorf ( "error getting service %s state. error: %w" , name , err )
213213 }
214214
215215 klog .V (6 ).Infof ("service (%v) state check: %s => %s" , service , state , newState )
216- return newState == serviceStateStopped , newState , err
216+ return newState == serviceStateStopped , newState , nil
217217 }
218218
219219 service , err := impl .serviceFactory .GetService (name )
220220 if err != nil {
221- return dependentRunning , err
221+ return dependentRunning , fmt . Errorf ( "failed to get service %s. error: %w" , name , err )
222222 }
223223
224224 state , err := impl .serviceManager .WaitUntilServiceState (service , stopService , serviceStoppedCheck , serviceStateCheckInternal , serviceStateCheckTimeout )
@@ -235,8 +235,11 @@ func (impl APIImplementor) stopSingleService(name string) (bool, error) {
235235
236236func (impl APIImplementor ) StopService (name string , force bool ) error {
237237 dependentRunning , err := impl .stopSingleService (name )
238- if err == nil || ! dependentRunning || ! force {
239- return err
238+ if err == nil {
239+ return nil
240+ }
241+ if ! dependentRunning || ! force {
242+ return fmt .Errorf ("failed to stop service %s. error: %w" , name , err )
240243 }
241244
242245 serviceNames , err := impl .serviceManager .GetDependentsForService (name )
@@ -247,7 +250,7 @@ func (impl APIImplementor) StopService(name string, force bool) error {
247250 for _ , serviceName := range serviceNames {
248251 _ , err = impl .stopSingleService (serviceName )
249252 if err != nil {
250- return err
253+ return fmt . Errorf ( "failed to stop service %s. error: %w" , name , err )
251254 }
252255 }
253256
@@ -261,15 +264,15 @@ type ServiceManagerImpl struct {
261264func (impl ServiceManagerImpl ) WaitUntilServiceState (service cim.ServiceInterface , stateTransition stateTransitionFunc , stateCheck stateCheckFunc , interval time.Duration , timeout time.Duration ) (string , error ) {
262265 done , state , err := stateCheck (service , "" )
263266 if err != nil {
264- return state , err
267+ return state , fmt . Errorf ( "service %v state check failed: %w" , service , err )
265268 }
266269 if done {
267- return state , err
270+ return state , nil
268271 }
269272
270273 // Perform transition if not already in desired state
271274 if err := stateTransition (service ); err != nil {
272- return state , err
275+ return state , fmt . Errorf ( "service %v state transition failed: %w" , service , err )
273276 }
274277
275278 ticker := time .NewTicker (interval )
@@ -283,7 +286,7 @@ func (impl ServiceManagerImpl) WaitUntilServiceState(service cim.ServiceInterfac
283286 klog .V (6 ).Infof ("Checking service (%v) state..." , service )
284287 done , state , err = stateCheck (service , state )
285288 if err != nil {
286- return state , fmt .Errorf ("check failed: %w" , err )
289+ return state , fmt .Errorf ("service %v state check failed: %w" , service , err )
287290 }
288291 if done {
289292 klog .V (6 ).Infof ("service (%v) state is %s and transition done." , service , state )
@@ -303,7 +306,7 @@ func (impl ServiceManagerImpl) GetDependentsForService(name string) ([]string, e
303306
304307 service , err := impl .serviceFactory .GetService (name )
305308 if err != nil {
306- return serviceNames , err
309+ return serviceNames , fmt . Errorf ( "failed to get service %s. error: %w" , name , err )
307310 }
308311
309312 servicesToCheck = append (servicesToCheck , service )
@@ -314,12 +317,12 @@ func (impl ServiceManagerImpl) GetDependentsForService(name string) ([]string, e
314317
315318 serviceName , err := cim .GetServiceName (service )
316319 if err != nil {
317- return serviceNames , err
320+ return serviceNames , fmt . Errorf ( "error getting service name %v. error: %w" , service , err )
318321 }
319322
320323 currentState , err := cim .GetServiceState (service )
321324 if err != nil {
322- return serviceNames , err
325+ return serviceNames , fmt . Errorf ( "error getting service %s state. error: %w" , serviceName , err )
323326 }
324327
325328 if currentState != serviceStateRunning {
@@ -332,7 +335,7 @@ func (impl ServiceManagerImpl) GetDependentsForService(name string) ([]string, e
332335
333336 dependents , err := service .GetDependents ()
334337 if err != nil {
335- return serviceNames , err
338+ return serviceNames , fmt . Errorf ( "error getting service %s dependents. error: %w" , serviceName , err )
336339 }
337340
338341 servicesToCheck = append (servicesToCheck , dependents ... )
0 commit comments