@@ -73,7 +73,7 @@ def __init__(self, *args, **kwargs):
73
73
super (susChkSrv , self ).__init__ (* args , ** kwargs )
74
74
method = "init"
75
75
episode = getEpisode ()
76
- self .logTimestamp (self , method , episode , "init called" )
76
+ self .logTimestamp (method , episode , "init called" )
77
77
78
78
# read settings from global.ini
79
79
# read sustkover_timeout
@@ -87,12 +87,12 @@ def __init__(self, *args, **kwargs):
87
87
isValidAction = (self .action_on_lost in ["ignore" , "fence" , "kill" , "stop" , "firstStopThenKill" ])
88
88
if not isValidAction :
89
89
msg = "Invalid action_on_lost {}. Fallback to 'ignore'" .format (self .action_on_lost )
90
- self .logTimestamp (self , method , episode , msg )
90
+ self .logTimestamp (method , episode , msg )
91
91
self .tracer .info (msg )
92
92
self .action_on_lost = "ignore_fallback"
93
93
else :
94
94
msg = "action_on_lost not configured. Fallback to 'ignore'"
95
- self .logTimestamp (self , method , episode , msg )
95
+ self .logTimestamp (method , episode , msg )
96
96
self .tracer .info (msg )
97
97
self .action_on_lost = "ignore_default"
98
98
if self .config .hasKey ("kill_signal" ):
@@ -101,7 +101,7 @@ def __init__(self, *args, **kwargs):
101
101
self .killSignal = "9"
102
102
# TODO: logging the signal parameter, but only if it is the kill action
103
103
msg = "{}.{}() version {}, parameter info: action_on_lost={} stop_timeout={} kill_signal={}" .format (self .__class__ .__name__ , method , SRHookVersion , self .action_on_lost , self .stop_timeout , self .killSignal )
104
- self .logTimestamp (self , method , episode , msg )
104
+ self .logTimestamp (method , episode , msg )
105
105
self .tracer .info (msg )
106
106
# TODO: use action specific init messages (e.g. for stop also report stop_timeout)
107
107
self .takeover_active = False
@@ -133,9 +133,9 @@ def srServiceStateChanged(self, ParamDict, **kwargs):
133
133
msg1 = "{0} version {1}. Method {2} method called." .format (SRHookName , SRHookVersion , method )
134
134
msg2 = "{0} {1} method called with Dict={2}" .format (SRHookName , method , ParamDict )
135
135
msg3 = "{0} {1} method called with SAPSYSTEMNAME={2}" .format (SRHookName , method , mySID )
136
- self .logTimestamp (self , method , episode , msg1 )
137
- self .logTimestamp (self , method , episode , msg2 )
138
- self .logTimestamp (self , method , episode , msg3 )
136
+ self .logTimestamp (method , episode , msg1 )
137
+ self .logTimestamp (method , episode , msg2 )
138
+ self .logTimestamp (method , episode , msg3 )
139
139
self .tracer .info (msg1 )
140
140
self .tracer .info (msg2 )
141
141
self .tracer .info (msg3 )
@@ -153,7 +153,7 @@ def srServiceStateChanged(self, ParamDict, **kwargs):
153
153
154
154
# log service_name, service_port, service_status, service_previous_status, database_id, database_name, database_status, daemon_status
155
155
msg = "srv:{0}-{1}-{2}-{3} db:{4}-{5}-{6} daem:{7}" .format (service , port , status , previousStatus , databaseName , databaseId , databaseStatus , daemonStatus )
156
- self .logTimestamp (self , method , episode , msg )
156
+ self .logTimestamp (method , episode , msg )
157
157
self .tracer .info (msg )
158
158
159
159
# analysis, if the event looks like an dying indexserver (LOST)
@@ -177,54 +177,54 @@ def srServiceStateChanged(self, ParamDict, **kwargs):
177
177
#
178
178
if (isIndexserver and serviceRestart and daemonActive and databaseActive ):
179
179
msg = "LOST: indexserver event looks like a lost indexserver (status={})" .format (status )
180
- self .logTimestamp (self , method , episode , msg )
180
+ self .logTimestamp (method , episode , msg )
181
181
self .tracer .info (msg )
182
182
isLostIndexserver = True
183
183
eventKnown = True
184
184
if (isIndexserver and serviceActive and daemonActive and databaseActive ):
185
185
if self .takeover_active :
186
186
msg = "TAKEOVER: indexserver event looks like a takeover event"
187
- self .logTimestamp (self , method , episode , msg )
187
+ self .logTimestamp (method , episode , msg )
188
188
self .tracer .info (msg )
189
189
else :
190
190
msg = "LOST: indexserver event looks like a lost indexserver (indexserver started)"
191
- self .logTimestamp (self , method , episode , msg )
191
+ self .logTimestamp (method , episode , msg )
192
192
self .tracer .info (msg )
193
193
eventKnown = True
194
194
# TODO: this event (LOST/started) seems also to come, if a sr_takeover is been processed (using preTakeover() and postTakeover() to mark this event?)
195
195
if (isIndexserver and serviceStopping and daemonStop ):
196
196
msg = "STOP: indexserver event looks like graceful instance stop"
197
- self .logTimestamp (self , method , episode , msg )
197
+ self .logTimestamp (method , episode , msg )
198
198
self .tracer .info (msg )
199
199
eventKnown = True
200
200
if (isIndexserver and serviceDown and daemonStop ):
201
201
msg = "STOP: indexserver event looks like graceful instance stop (indexserver stopped)"
202
202
self .tracer .info (msg )
203
- self .logTimestamp (self , method , episode , msg )
203
+ self .logTimestamp (method , episode , msg )
204
204
eventKnown = True
205
205
if (isIndexserver and serviceStopping and daemonActive and databaseStop ):
206
206
msg = "STOP: indexserver event looks like graceful tenant stop"
207
- self .logTimestamp (self , method , episode , msg )
207
+ self .logTimestamp (method , episode , msg )
208
208
self .tracer .info (msg )
209
209
eventKnown = True
210
210
if (isIndexserver and serviceDown and daemonActive and databaseStop ):
211
211
msg = "STOP: indexserver event looks like graceful tenant stop (indexserver stopped)"
212
- self .logTimestamp (self , method , episode , msg )
212
+ self .logTimestamp (method , episode , msg )
213
213
self .tracer .info (msg )
214
214
eventKnown = True
215
215
if (isIndexserver and serviceRestart and daemonStarting and databaseActive ):
216
216
msg = "START: indexserver event looks like graceful tenant start"
217
- self .logTimestamp (self , method , episode , msg )
217
+ self .logTimestamp (method , episode , msg )
218
218
self .tracer .info (msg )
219
219
eventKnown = True
220
220
if (isIndexserver and serviceActive and daemonStarting and databaseActive ):
221
221
msg = "START: indexserver event looks like graceful tenant start (indexserver started)"
222
- self .logTimestamp (self , method , episode , msg )
222
+ self .logTimestamp (method , episode , msg )
223
223
self .tracer .info (msg )
224
224
eventKnown = True
225
225
if (isIndexserver and not eventKnown ):
226
226
msg = "DBG: version={},serviceRestart={}, serviceStop={}, serviceDown={}, daemonActive={}, daemonStop={}, daemonStarting={}, databaseActive={}, databaseStop={}" .format (SRHookVersion , serviceRestart , serviceStop , serviceDown , daemonActive , daemonStop , daemonStarting , databaseActive , databaseStop )
227
- self .logTimestamp (self , method , episode , msg )
227
+ self .logTimestamp (method , episode , msg )
228
228
self .tracer .info (msg )
229
229
# event on secondary, if HA1 tenant is stopped on primary
230
230
# DBG: version=0.2.7,serviceRestart=True, serviceStop=True, serviceDown=False, daemonActive=True, daemonStop=False, daemonStarting=False, databaseActive=False, databaseStop=False
@@ -235,31 +235,31 @@ def srServiceStateChanged(self, ParamDict, **kwargs):
235
235
#
236
236
if (isLostIndexserver and (self .action_on_lost in ["ignore" , "ignore_fallback" , "ignore_default" ])):
237
237
msg = "LOST: event ignored. action_on_lost={}" .format (self .action_on_lost )
238
- self .logTimestamp (self , method , episode , msg )
238
+ self .logTimestamp (method , episode , msg )
239
239
self .tracer .info (msg )
240
240
if (isLostIndexserver and self .action_on_lost == "fence" ):
241
241
msg = "LOST: fence node. action_on_lost={}" .format (self .action_on_lost )
242
- self .logTimestamp (self , method , episode , msg )
242
+ self .logTimestamp (method , episode , msg )
243
243
self .tracer .info (msg )
244
244
tout_cmd = ""
245
245
action_cmd = "sudo /usr/sbin/SAPHanaSR-hookHelper --sid={0} --case=fenceMe" .format (mySID )
246
246
cmdrc = os .WEXITSTATUS (os .system ("sleep {}; {} {}" .format ("5" , tout_cmd , action_cmd )))
247
247
# DONE add fence code here
248
248
if (isLostIndexserver and self .action_on_lost == "kill" ):
249
249
msg = "LOST: kill instance. action_on_lost={} signal={}" .format (self .action_on_lost , self .killSignal )
250
- self .logTimestamp (self , method , episode , msg )
250
+ self .logTimestamp (method , episode , msg )
251
251
self .tracer .info (msg )
252
252
tout_cmd = ""
253
253
action_cmd = "HDB kill-{}" .format (self .killSignal )
254
254
# doing a short sleep before killing all SAP HANA processes to allow nameserver to write the already sent log messages
255
255
cmdrc = os .WEXITSTATUS (os .system ("sleep {}; {} {}" .format ("5" , tout_cmd , action_cmd )))
256
256
# the following message will most-likely also be lost, if we use signal 9
257
257
msg = "LOST: killed instance. action_on_lost={}" .format (self .action_on_lost )
258
- self .logTimestamp (self , method , episode , msg )
258
+ self .logTimestamp (method , episode , msg )
259
259
# DONE: hardcoded 5 here to be moved to a self.sleep_before_action (or however it will be named)
260
260
if (isLostIndexserver and self .action_on_lost == "stop" ):
261
261
msg = "LOST: stop instance. action_on_lost={}" .format (self .action_on_lost )
262
- self .logTimestamp (self , method , episode , msg )
262
+ self .logTimestamp (method , episode , msg )
263
263
self .tracer .info (msg )
264
264
tout_cmd = "timeout {}" .format (self .stop_timeout )
265
265
# action_cmd = "HDB stop"
@@ -271,7 +271,7 @@ def srServiceStateChanged(self, ParamDict, **kwargs):
271
271
# this code could be removed at any time without notice
272
272
# the code does not promise that it will be part of any product later
273
273
msg = "LOST: firstStopThenKill instance. action_on_lost={}" .format (self .action_on_lost )
274
- self .logTimestamp (self , method , episode , msg )
274
+ self .logTimestamp (method , episode , msg )
275
275
self .tracer .info (msg )
276
276
action_cmd = "/usr/sbin/SAPHanaSR-hookHelper --sid={} --ino={} --case=firstStopThenKill" .format (mySID , self .ino )
277
277
cmdrc = os .WEXITSTATUS (os .system ("sleep {}; {}" .format ("5" , action_cmd )))
@@ -280,7 +280,7 @@ def srServiceStateChanged(self, ParamDict, **kwargs):
280
280
# this code could be removed at any time without notice
281
281
# the code does not promise that it will be part of any product later
282
282
msg = "LOST: set cluster attribute. action_on_lost={} is currently not implemented" .format (self .action_on_lost )
283
- self .logTimestamp (self , method , episode , msg )
283
+ self .logTimestamp (method , episode , msg )
284
284
self .tracer .info (msg )
285
285
# TODO add attribute code here
286
286
return 0
0 commit comments