add pcu_name to pcufailed_notice
[monitor.git] / monitor / wrapper / emailTxt.py
1 #
2 # Copyright (c) 2004  The Trustees of Princeton University (Trustees).
3 #
4 # Faiyaz Ahmed <faiyaza@cs.princeton.edu>
5 #
6 # $Id: emailTxt.py,v 1.10 2007/08/29 17:26:50 soltesz Exp $
7
8
9
10 # This file contains the texts of the automatically generated
11 # emails sent to techs and PIs
12 #
13
14 class mailtxt:
15
16         thankyou=("""Thank you for helping maintain your PlanetLab nodes - %(loginbase)s""",
17         """
18 While monitoring your site, we noticed that the following nodes *improved*
19 their states:
20
21 %(hostname_list)s  
22 Often, system administration is a thankless job, but not today. :-)
23
24 Thank you!
25   -- %(plc_name)s (%(support_email)s)
26
27 Legend:
28 PROD-      This state is the production state where the node can contact PlanetLab, 
29            and install slices from users.
30 DEBUG-     This state designates a node that could not boot successfully.
31 OLDBOOTCD- This state corresponds to the situation where an oldbootcd prevented 
32            the normal operation of the node.
33 ERROR-     This is an error state, where there is absolutely no contact 
34            with PlanetLab.
35         """)
36
37 #############################################################################
38 #############################################################################
39 #############################################################################
40
41         pcumissing_notice =("""There is no PCU available to reboot %(hostname)s""",
42 """We've noticed that there is no PCU associated with %(hostname)s, so we could 
43 not reboot it ourselves.
44
45 By taking a few moments now to register your PCU for this host, you will save
46 time in the future the next time we need to reboot this machine, because we
47 will be able to do so without disturbing you.
48
49     http://%(plc_hostname)s/registerwizard/index.php
50
51 The registration is very quick.  All we need are: PCU hostname, IP, username, 
52 and password.  Then, choose which node to associate it with, and we will take 
53 care of the rest.
54
55 Thank you very much for your help,
56   -- %(plc_name)s (%(support_email)s)
57 """)
58
59         pcuerror_notice=("""Please help us configure your PCU: %(pcu_name)s""",
60 """During our standard monitoring of your site we noticed that the following
61 PCU is misconfigured:
62
63     %(pcu_name)s
64         %(pcu_errors)s
65 You can learn more details about the problem by visiting the link below.
66
67     https://%(monitor_hostname)s/monitor/pcuview?loginbase=%(loginbase)s
68
69 We would like to save you time by taking care of as many administrative situations for your site's machines as possible without disturbing you.  Errors like these prevent us from being able to remotely administer your machines, and so we must solicit your help using messages like these.
70
71 So, any help and time that you can offer now to help us remotely administer your machines will pay off for you in the future.
72
73 Thank you very much for your help,
74   -- %(plc_name)s (%(support_email)s)
75 """)
76
77         pcufailed_notice =("""Could not use PCU to reboot %(hostname)s""",
78
79 """We tried to use the PCU registered for %(hostname)s, but for some reason the host did not come back online.  This may be for several reasons, and you can learn more by visiting this link:
80
81     %(pcu_name)s
82
83     https://%(monitor_hostname)s/monitor/pcuview?loginbase=%(loginbase)s
84
85 We need your help resolving this issue in a few ways:  
86
87  1. First, we need your help rebooting %(hostname)s.  Because the above PCU does 
88     not appear to work, please manually reboot this machine.  If it turns out 
89     that there is a problem with the PCU configuration, we can help you
90     resolve that independently.
91
92  2. If it is possible, please correct the above PCU problem, or let us know
93     what steps you are taking.  By enabling us to take administrative actions
94     automatically without your intervention, you will save time in the future 
95     the next time we need to reboot this machine, because we will be able to 
96     do so without disturbing you.
97
98  3. If there is nothing apparently wrong with the PCU, or the mapping between
99     the PCU and the host, then there is likely a problem with our bootstrap
100     software on your machine.  To help us, please make a note of any text on
101     the console and report it to mailto:%(support_email)s .  An example
102     might be that the console hangs waiting for a module to unload.  The last
103     reported name or any error messages on the screen would be very helpful.
104
105 If the PCU is up and running, but behind a firewall, please make it accessible
106 from address block 128.112.139.0/24.  You can confirm that this is the address
107 space from which the %(plc_name)s servers run.
108
109 Thank you very much for your help,
110   -- %(plc_name)s (%(support_email)s)
111 """)
112
113         online_notice=("""Host %(hostname)s is online""",
114         """
115 This notice is simply to let you know that:
116     %(hostname)s
117
118 is online and operational.  
119
120     http://%(monitor_hostname)s/monitor/pcuview?loginbase=%(loginbase)s
121
122 Thank you very much for your help!
123   -- %(plc_name)s (%(support_email)s)
124         """)
125         test_notice=("""Host %(hostname)s is testing""",
126         """
127 This notice is simply to test whether notices work.
128     %(hostname)s
129
130 Thank you very much for your help!
131         """)
132         retry_bootman=("""Running BootManager on %(hostname)s""",
133         """
134 This notice is simply to let you know that:
135     %(hostname)s
136
137 appears stuck in a debug mode.  To try to correct this, we're trying to rerun BootManager.py.  
138 If any action is needed from you, you will recieve additional notices.  Thank you!
139         """)
140         firewall_notice=("""Host %(hostname)s blocked by a firewall""",
141         """
142 This notice is simply to let you know that:
143     %(hostname)s
144
145 has some ports that appear to be blocked, making the node unusable.  While
146 some ports are open, a fully functional node needs all ports accessible at all
147 times.  Please see the following for the list of requirements for hosting a
148 node:
149
150     http://www.planet-lab.org/hosting
151
152 We will consider the node 'DOWN' until the ports are unblocked.
153
154 Please investigate and let us know if there's anything we can do to help get
155 it back on-line.  You can see more information about the current status of
156 this host here:
157
158     http://%(monitor_hostname)s/monitor/pcuview?loginbase=%(loginbase)s
159
160 Thank you very much for your help,
161   -- %(plc_name)s (%(support_email)s)
162         """)
163         down_notice=("""Host %(hostname)s is down""",
164         """
165 This notice is simply to let you know that:
166     %(hostname)s
167
168 is down, disconnected from the network and/or non-operational.  
169
170 Please investigate, and let us know if there's anything we can do to help get
171 it back on-line.  You can see more information about the current status of
172 this host here:
173
174     http://%(monitor_hostname)s/monitor/pcuview?loginbase=%(loginbase)s
175
176 Thank you very much for your help,
177   -- %(plc_name)s (%(support_email)s)
178         """)
179
180         clear_penalty=("""All privileges restored to site %(loginbase)s""",
181         """
182 This notice is to let you know that any privileges previously reduced at your 
183 site have been restored: %(penalty_level)s.
184
185 All privileges are restored.  You may create slices again, and if your 
186 slices were disabled, please allow up to 30 minutes for them to return to 
187 enabled.
188
189     http://%(monitor_hostname)s/monitor/pcuview?loginbase=%(loginbase)s
190
191 Thank you very much for your help,
192   -- %(plc_name)s (%(support_email)s)
193
194 Legend:
195
196   0  - no penalties applied
197   1  - site is disabled.  no new slices can be created.
198   2+ - all existing slices will be disabled.
199         """)
200
201         increase_penalty=("""Privilege reduced for site %(loginbase)s""",
202         """
203 This notice is to let you know that the privileges granted to your site as
204 a participating member of Planetlab have reduced: %(penalty_level)s.
205
206 Your privileges will be reduced corresponding to the legend below.  To 
207 restore these privileges, please return at least two machines to working 
208 state.
209
210     http://%(monitor_hostname)s/monitor/pcuview?loginbase=%(loginbase)s
211
212 Thank you very much for your help,
213   -- %(plc_name)s (%(support_email)s)
214   
215 Legend:
216
217   0  - no penalty applied
218   1  - site is disabled.  no new slices can be created.
219   2+ - all existing slices will be disabled.
220         """)
221
222         newbootcd_notice=("""Host %(hostname)s needs a new BootImage""", """
223 We noticed the following node has an out-dated BootImage: 
224
225     %(hostname)s  
226
227 This usually implies that you need to update the BootImage and node
228 configuration file stored on the read-only media (either the all-in-one ISO
229 CD, floppy disk, or write-protected USB stick).
230
231 You can do this by walking through the steps of the registration wizard, and
232 downloading a new BootImage for your machine.
233
234     https://%(plc_hostname)s/registerwizard/index.php
235
236 Thank you for your help,
237   -- %(plc_name)s (%(support_email)s)
238 """)
239
240         noblockdevice_notice=("""Cannot Detect Disks on %(hostname)s""", 
241 """As part of PlanetLab node monitoring, we noticed that we were not able to detect any hard disks in your machine.  
242
243     %(hostname)s  
244
245 This may be the case for a number of reasons:
246     * the hardware is very new and needs a new driver,
247     * the hardware is very old is no longer supported,
248     * the hard disk was physically removed, 
249     * the hard disk cable is loose or disconnected,
250
251 Please help us investigate and let us know if there's anything that we can do to assist in getting your machine up and running again.
252
253 Thank you for your help,
254   -- %(plc_name)s (%(support_email)s)
255 """)
256
257         newalphacd_notice=("""New Boot Images for %(hostname)s""", 
258 """As part of PlanetLab node monitoring, we noticed that we were not able to recognize all the hardware in your machine.  This means that either it is so new that it needs a new BootCD, or that it is so old that it is no longer supported.
259
260     %(hostname)s  
261
262 To make this process as simple as possible, we have created All-in-One boot images that include the node configuration file.  
263
264 The only step that you need to take is to choose which media you prefer, either CD ISO, or USB image for each host.
265
266 %(url_list)s
267
268 Instructions to burn or copy these All-in-One images to the appropriate media are available in the Technical Contact's Guide.
269
270     https://%(plc_hostname)s/doc/guides/bootcdsetup
271
272 If your node returns to normal operation after following these directions, then there's no need to respond to this message.  However, if there are any console messages relating to the node's failure, please report them to PlanetLab support (%(support_email)s) so we can help resolve the issue.  Including this message in your reply will help us coordinate our records with the actions you've taken.  
273
274 Thank you for your help,
275   -- %(plc_name)s (%(support_email)s)
276 """)
277
278
279         # TODO: need reminder versions for repeats...
280         #newdown=[newdown_one, newdown_two, newdown_three]
281         #newbootcd=[newbootcd_one, newbootcd_two, newbootcd_three]
282         #newalphacd=[newalphacd_one, newalphacd_one, newalphacd_one]
283         #newthankyou=[thankyou,thankyou,thankyou]
284         #pcuthankyou=[pcuthankyou_one,pcuthankyou_one,pcuthankyou_one]
285         #pcutonodemapping=[pcutonodemapping_one, pcutonodemapping_one, pcutonodemapping_one]
286         #pcudown=[pcudown_one, pcudown_one, pcudown_one]
287
288         unknownsequence_notice = ("""Unrecognized Error on PlanetLab host %(hostname)s""", 
289                                            """
290 While trying to automatically recover this machine:
291
292     http://%(plc_hostname)s/db/nodes/index.php?pattern=%(hostname)s
293     https://%(monitor_hostname)s/monitor/pcuview?hostname=%(hostname)s
294
295 We encountered an unknown situation.  Please re-code to handle, or manually intervene to repair this host.
296
297 Abbreviated BootManager Sequence:
298
299     %(sequence)s
300
301 BootManager.log output follows:
302 ---------------------------------------------------------
303 %(bmlog)s
304 """       )
305
306
307         minimalhardware_notice = ("""Hardware requirements not met on PlanetLab host %(hostname)s""", 
308                                            """
309 While trying to automatically recover this machine:
310
311     http://%(plc_hostname)s/db/nodes/index.php?pattern=%(hostname)s
312
313 We encountered an failed hardware requirement.  Please look at the log below to determine the exact nature of the failure, either Disk, CPU, Network, or Mimial RAM was not satisfied.
314
315 If your machine does not meet the current hardware specifications for a PlanetLab node (http://%(plc_hostname)s/hardware), please upgrade it to meet the current recommended configuration.  
316
317 If you believe this message is an error, please email %(support_email)s explaining the problem.  You may need to create an updated Boot Image that includes drivers for your hardware.
318
319 Thank you,
320  - PlanetLab Support
321
322 BootManager.log output follows:
323 ---------------------------------------------------------
324 %(bmlog)s
325 """       )
326
327         baddisk_notice = ("""Bad Disk on PlanetLab node %(hostname)s""", 
328                            """As part of PlanetLab node monitoring, we noticed %(hostname)s has a number of disk or media related I/O errors, that prevent it from either booting or reliably running as a PlanetLab node.
329
330 Please verify the integrity of the disk, and order a replacement if needed.  If you need to schedule downtime for the node, please let us know at %(support_email)s. 
331
332 Thanks.
333
334   -- %(plc_name)s (%(support_email)s)
335
336 The output of `dmesg` follows:
337 -------------------------------------------------------------------------
338
339 %(log)s
340 """)
341
342
343         nodeconfig_notice=(""" Please Update Configuration file for PlanetLab node %(hostname)s""", 
344 """As part of PlanetLab node monitoring, we noticed %(hostname)s has an out-dated plnode.txt file.  
345
346 Either our boot scripts cannot find it because the boot media is corrupted, or it has no NODE_ID or a mis-matched HOSTNAME.  This can happen either due to a configuration mistake at your site, with bad information entered into our database, or after a necessary software upgrade.  To resolve the issue we require your assistance.  All that is needed is to visit:
347
348     https://%(plc_hostname)s/db/nodes/index.php?pattern=%(hostname)s
349
350 Then double check the network settings for your host.
351
352 Then, select, "Download -> Download ISO image for %(hostname)s" menu.  This will generate a new All-in-one BootImage file for your node.  Copy this file to the appropriate read-only media, and reboot the machine.
353
354 There is no need to respond to this message. If you're able to update the boot image without difficulty and your node returns to normal operation, please accept our thanks.  However, if there are any console messages relating to the node's failure, please report them to PlanetLab support (%(support_email)s) so we can help resolve the issue. 
355
356 Thank you for your help,
357   -- %(plc_name)s (%(support_email)s)
358 """)
359
360         baddns_notice=("""Planetlab node down: broken DNS configuration for %(hostname)s""", 
361 """As part of PlanetLab node monitoring, we noticed the DNS servers used by the following machine(s) are not responding to queries.
362
363     %(hostname)s 
364
365 The conseuqnece of this is that the node cannot boot correctly, and is not a functioning part of the PlanetLab network.
366
367 To help us return this machine to running order, please verify that the registered DNS servers in the node network configuration are correct.  
368
369 %(network_config)s
370
371 You may update the node's network information at the link below:
372
373     https://%(plc_hostname)s/db/nodes/node_networks.php?id=%(interface_id)s
374
375 If you have any questions, please feel free to contact us at PlanetLab Support (%(support_email)s).
376
377 Thank you for your help,
378   -- %(plc_name)s (%(support_email)s)
379 """)
380
381 #############################################################################
382 #############################################################################
383 #############################################################################
384
385
386         filerw=("""Planetlab node %(hostname)s has a bad disk.""", """As part of PlanetLab node monitoring, we noticed %(hostname)s has a read-only filesystem.
387
388 Please verify the integrity of the disk and email the site if a replacement is needed. 
389
390 Thanks.
391
392   -- %(plc_name)s (%(support_email)s)
393 """)
394
395
396         clock_drift=("""Planetlab node %(hostname)s and NTP.""", """As part of PlanetLab node monitoring, we noticed %(hostname)s cannot reach our NTP server.
397
398 Please verify that the NTP port (tcp/123) is not blocked by your site. 
399
400 Thanks.
401
402   -- %(plc_name)s (%(support_email)s)
403 """)
404