monitor.git
13 years agoBranch 3.0 for module Monitor created (as new trunk) from tag Monitor-3.0-35 Monitor-3.1-0
Stephen Soltesz [Thu, 20 May 2010 19:26:59 +0000 (19:26 +0000)]
Branch 3.0 for module Monitor created (as new trunk) from tag Monitor-3.0-35

13 years agoSetting tag Monitor-3.0-35 Monitor-3.0-35
Stephen Soltesz [Thu, 20 May 2010 19:26:04 +0000 (19:26 +0000)]
Setting tag Monitor-3.0-35
Add CSV link on Advanced query
Preparing to branch

13 years agoSetting tag Monitor-3.0-35
Stephen Soltesz [Thu, 20 May 2010 19:25:55 +0000 (19:25 +0000)]
Setting tag Monitor-3.0-35
Add CSV link on Advanced query
Preparing to branch

13 years agoadd a CVS Format link to the advanced query page
Stephen Soltesz [Thu, 20 May 2010 17:46:14 +0000 (17:46 +0000)]
add a CVS Format link to the advanced query page

13 years agoSetting tag Monitor-3.0-34
Barış Metin [Wed, 12 May 2010 15:00:59 +0000 (15:00 +0000)]
Setting tag Monitor-3.0-34
* copy selections to clipbord on Advanced Query page
* RPM Pattern as regexp
* scan ipmi port

13 years agomatch rpm pattern with regexp
Barış Metin [Tue, 11 May 2010 20:02:10 +0000 (20:02 +0000)]
match rpm pattern with regexp

13 years agomove "copy to clipboard" button to table header
Barış Metin [Tue, 11 May 2010 19:37:27 +0000 (19:37 +0000)]
move "copy to clipboard" button to table header

13 years agoscan ipmi port too
Barış Metin [Mon, 10 May 2010 17:33:44 +0000 (17:33 +0000)]
scan ipmi port too

13 years agoin Advanced Query, select rows and copy values to clipboard in csv format.
Barış Metin [Thu, 6 May 2010 10:26:36 +0000 (10:26 +0000)]
in Advanced Query, select rows and copy values to clipboard in csv format.

13 years agoset default pagesize on all views to 999
Thierry Parmentelat [Wed, 5 May 2010 07:55:43 +0000 (07:55 +0000)]
set default pagesize on all views to 999

13 years agoSetting tag Monitor-3.0-33
Barış Metin [Tue, 27 Apr 2010 10:46:24 +0000 (10:46 +0000)]
Setting tag Monitor-3.0-33
handle hostname changes

13 years agohandle hostname changes
Barış Metin [Mon, 26 Apr 2010 08:59:53 +0000 (08:59 +0000)]
handle hostname changes

14 years agoSetting tag Monitor-3.0-32
Thierry Parmentelat [Tue, 20 Apr 2010 08:27:27 +0000 (08:27 +0000)]
Setting tag Monitor-3.0-32
from this version, suitable for 5.0
requires bootcd with the new 5.0 naming style 3-part nodefamily

14 years agofor 5.0, requires bootcd with new 3-part nodefamily
Thierry Parmentelat [Tue, 20 Apr 2010 08:25:12 +0000 (08:25 +0000)]
for 5.0, requires bootcd with new 3-part nodefamily

14 years agoSetting tag Monitor-3.0-31
Stephen Soltesz [Mon, 12 Apr 2010 14:50:50 +0000 (14:50 +0000)]
Setting tag Monitor-3.0-31
added fix for node delete/add causing conflicts in MyOps db.
added statistics scripts

14 years agofixes bug in myops for a node with different node_id. This occurs when
Stephen Soltesz [Thu, 8 Apr 2010 19:34:35 +0000 (19:34 +0000)]
fixes bug in myops for a node with different node_id.  This occurs when
    deleting and then adding a node with the same name in plc.

14 years agofix path
Barış Metin [Tue, 6 Apr 2010 13:15:50 +0000 (13:15 +0000)]
fix path

14 years agoadd myops_restoration
Stephen Soltesz [Thu, 25 Mar 2010 19:51:00 +0000 (19:51 +0000)]
add myops_restoration

14 years agofixed typo on logger name for exceptions.
Stephen Soltesz [Sat, 13 Mar 2010 20:00:27 +0000 (20:00 +0000)]
fixed typo on logger name for exceptions.

14 years agoadd new scripts
Stephen Soltesz [Tue, 2 Mar 2010 19:30:13 +0000 (19:30 +0000)]
add new scripts

14 years agoops... fix path.
Barış Metin [Tue, 16 Feb 2010 14:28:43 +0000 (14:28 +0000)]
ops... fix path.

14 years agoR routines for printing some statistics
Stephen Soltesz [Thu, 11 Feb 2010 20:14:07 +0000 (20:14 +0000)]
R routines for printing some statistics

14 years ago(no commit message)
Stephen Soltesz [Thu, 11 Feb 2010 20:12:52 +0000 (20:12 +0000)]

14 years agotest
Stephen Soltesz [Thu, 11 Feb 2010 20:08:28 +0000 (20:08 +0000)]
test

14 years agoadd more info to sliceavg
Stephen Soltesz [Thu, 21 Jan 2010 20:22:14 +0000 (20:22 +0000)]
add more info to sliceavg
parserpms does a better job of sorting and converting entries with multiple versions

14 years agoadd a conversion class for datetime and time stamps, since I need this all the time.
Stephen Soltesz [Thu, 21 Jan 2010 20:15:57 +0000 (20:15 +0000)]
add a conversion class for datetime and time stamps, since I need this all the time.
'Created' value in mailer.py is causing problems for PLE
move print statements to stderr in plccache.py and comon.py
add an 'escapeName' routine in dbpickle to allow filepaths in output names
fix bug in scanapi that missed debug node if there was no bootmanager.log
add checks for yum.config files

14 years agoreplace some print statements to stderr
Stephen Soltesz [Thu, 21 Jan 2010 19:47:29 +0000 (19:47 +0000)]
replace some print statements to stderr
add HistorySiteRecord to checksync

14 years agoSetting tag Monitor-3.0-30
Barış Metin [Thu, 21 Jan 2010 10:50:38 +0000 (10:50 +0000)]
Setting tag Monitor-3.0-30
* fix paths for automate script

14 years agofix paths
Barış Metin [Wed, 20 Jan 2010 14:40:11 +0000 (14:40 +0000)]
fix paths

14 years agoSetting tag Monitor-3.0-29
Barış Metin [Tue, 22 Dec 2009 17:12:17 +0000 (17:12 +0000)]
Setting tag Monitor-3.0-29
- separate pcucontrol as an svn module
- restore easy_instal back into post install stage of server-deps
- template imporovements for web interface

14 years agomove easy_install calls back to post install.
Barış Metin [Tue, 22 Dec 2009 15:54:28 +0000 (15:54 +0000)]
move easy_install calls back to post install.
running easy_install didn't work as I thought it would, every now and
again it fails and break our build.

14 years agorequire pcucontrol.
Barış Metin [Tue, 22 Dec 2009 12:14:39 +0000 (12:14 +0000)]
require pcucontrol.

14 years agoremove pcucontrol from Monitor.spec
Barış Metin [Tue, 22 Dec 2009 12:03:57 +0000 (12:03 +0000)]
remove pcucontrol from Monitor.spec

14 years agomove pcucontrol package into pcucontrol module.
Barış Metin [Tue, 22 Dec 2009 12:02:27 +0000 (12:02 +0000)]
move pcucontrol package into pcucontrol module.

14 years agomove nodelist.kid headers into node_template.kid to remove redundancy.
Stephen Soltesz [Fri, 18 Dec 2009 21:13:30 +0000 (21:13 +0000)]
move nodelist.kid headers into node_template.kid to remove redundancy.
comment-out the boot/down summary at the top of the nodelist.kid page;  ...

14 years agowork around the lack of libm.a on f12
Thierry Parmentelat [Fri, 18 Dec 2009 18:17:36 +0000 (18:17 +0000)]
work around the lack of libm.a on f12

14 years agomerged pcucontrol into monitor-server. although monitor-pcucontrol may
Barış Metin [Fri, 18 Dec 2009 16:08:30 +0000 (16:08 +0000)]
merged pcucontrol into monitor-server. although monitor-pcucontrol may
be utilized as a seperate package it makes managing the %files more
complicated for the moment. if we had need to generalize it at some
point, we can manage it in a separate rpm (and/or svn module?)

14 years agook, don't break anything on f8 too :)
Barış Metin [Thu, 17 Dec 2009 21:12:39 +0000 (21:12 +0000)]
ok, don't break anything on f8 too :)

14 years agofix f12 build
Barış Metin [Thu, 17 Dec 2009 21:02:10 +0000 (21:02 +0000)]
fix f12 build

14 years agoSetting tag Monitor-3.0-28
Barış Metin [Thu, 17 Dec 2009 16:27:38 +0000 (16:27 +0000)]
Setting tag Monitor-3.0-28
do not need buildrequires. a new tag to fix centos builds

14 years agocomment out buildrequires
Barış Metin [Thu, 17 Dec 2009 14:40:38 +0000 (14:40 +0000)]
comment out buildrequires

14 years agoSetting tag Monitor-3.0-27
Barış Metin [Thu, 17 Dec 2009 11:52:31 +0000 (11:52 +0000)]
Setting tag Monitor-3.0-27
fix rpm build issues

14 years agosetuptools don't really care about --build-directory.
Barış Metin [Thu, 17 Dec 2009 11:42:59 +0000 (11:42 +0000)]
setuptools don't really care about --build-directory.
It's just easier to export TMPDIR. Thanks to Thierry.

14 years agoadd *egg/ directories to the package. easy_install can bring in
Barış Metin [Thu, 17 Dec 2009 09:59:00 +0000 (09:59 +0000)]
add *egg/ directories to the package. easy_install can bring in
additional dependencies (that's the case for f12 build).

14 years agoSetting tag Monitor-3.0-26
Barış Metin [Wed, 16 Dec 2009 15:41:21 +0000 (15:41 +0000)]
Setting tag Monitor-3.0-26
to many changes, but mostly moved stuff around. there are some small fixes here and there.

14 years agohandle IndexError in getpcu
Barış Metin [Wed, 16 Dec 2009 14:51:54 +0000 (14:51 +0000)]
handle IndexError in getpcu

14 years agorequire easy_install at build time
Barış Metin [Mon, 14 Dec 2009 23:22:29 +0000 (23:22 +0000)]
require easy_install at build time

14 years agohope I got the merge wright...
Barış Metin [Mon, 14 Dec 2009 15:57:04 +0000 (15:57 +0000)]
hope I got the merge wright...
svn merge -r 15903:16132 https://svn.planet-lab.org/svn/Monitor/branches/monitor-20091130 .

14 years agoreport any expired sites & nodes
Stephen Soltesz [Mon, 7 Dec 2009 23:04:38 +0000 (23:04 +0000)]
report any expired sites & nodes

14 years agoadd two cases for resolving nodes that run out of disk space during boot-strap
Stephen Soltesz [Mon, 7 Dec 2009 21:01:32 +0000 (21:01 +0000)]
add two cases for resolving nodes that run out of disk space during boot-strap

14 years agoonly enable a site if the 'enabled' field is False.
Stephen Soltesz [Mon, 7 Dec 2009 21:00:56 +0000 (21:00 +0000)]
only enable a site if the 'enabled' field is False.
NOTE: This will address ticket: https://svn.planet-lab.org/ticket/592

14 years agoadded supported_ports to class definition
Stephen Soltesz [Mon, 7 Dec 2009 20:59:46 +0000 (20:59 +0000)]
added supported_ports to class definition
removed references to self.transport.verbose since here is no self.transport

14 years agoreformat time install_date to timestamp when returned by advanced query
Stephen Soltesz [Thu, 3 Dec 2009 02:45:58 +0000 (02:45 +0000)]
reformat time install_date to timestamp when returned by advanced query
1/3 of online nodes in PLC did not have the /usr/boot/plnode.txt file, so add
a secondary check to install_date to check for another file in /usr/boot/

14 years agosort last_changed by correct times
Stephen Soltesz [Mon, 30 Nov 2009 16:48:22 +0000 (16:48 +0000)]
sort last_changed by correct times

14 years agoI think this applies svn ignore property everywhere.
Stephen Soltesz [Sat, 21 Nov 2009 02:07:43 +0000 (02:07 +0000)]
I think this applies svn ignore property everywhere.

14 years agodeprecate www directory and its legacy scripts
Stephen Soltesz [Sat, 21 Nov 2009 02:01:30 +0000 (02:01 +0000)]
deprecate www directory and its legacy scripts

14 years agoremove a lot of deprecated files ;
Stephen Soltesz [Sat, 21 Nov 2009 01:38:00 +0000 (01:38 +0000)]
remove a lot of deprecated files ;
move non-user or setup scripts to extra/ directory

14 years ago(no commit message)
Stephen Soltesz [Sat, 21 Nov 2009 00:58:05 +0000 (00:58 +0000)]

14 years agoSetting tag Monitor-3.0-25
Stephen Soltesz [Fri, 20 Nov 2009 23:18:33 +0000 (23:18 +0000)]
Setting tag Monitor-3.0-25
add option for site status to include both node & pcu status
improve ticket handling
template gadget.xml for a site-specific google-gadget summary

14 years agoadded templating to google gadget xml file in monitor-server; previously it
Stephen Soltesz [Fri, 20 Nov 2009 22:36:17 +0000 (22:36 +0000)]
added templating to google gadget xml file in monitor-server; previously it
was hard-coded to monitor.planet-lab.org ; now PLE can have their own google
gadget.
added policy to close tickets if all nodes & pcus at a site are ok, to prevent
some leaking tickets.

14 years agocorrect message
Barış Metin [Fri, 20 Nov 2009 10:43:40 +0000 (10:43 +0000)]
correct message

14 years ago- check if the site is in 'pending' state on all site actions
Barış Metin [Fri, 20 Nov 2009 10:35:29 +0000 (10:35 +0000)]
- check if the site is in 'pending' state on all site actions
- clean-up

14 years agoadd checkpcu option to findall.py & clarify help text.
Stephen Soltesz [Thu, 19 Nov 2009 20:42:07 +0000 (20:42 +0000)]
add checkpcu option to findall.py & clarify help text.

14 years agoadd option to check pcu status as part of the condition for marking a site as
Stephen Soltesz [Thu, 19 Nov 2009 19:14:19 +0000 (19:14 +0000)]
add option to check pcu status as part of the condition for marking a site as
'good' or 'down'

14 years agotry looking for a shorter prompt initially, since local admin reports that
Stephen Soltesz [Mon, 9 Nov 2009 20:34:34 +0000 (20:34 +0000)]
try looking for a shorter prompt initially, since local admin reports that
this is typical behavior of the pcu.

14 years agofix repository link and comment out wiki pages as they're not present
Barış Metin [Wed, 28 Oct 2009 13:46:14 +0000 (13:46 +0000)]
fix repository link and comment out wiki pages as they're not present

14 years ago- add install_date
Barış Metin [Thu, 22 Oct 2009 07:59:29 +0000 (07:59 +0000)]
- add install_date

Setting tag Monitor-3.0-24

--This line, and those below, will be ignored--
Please write a changelog for this new tag in the section above
DIFF=========
Index: nodequery.py
===================================================================
--- nodequery.py (.../tags/Monitor-3.0-23) (révision 15400)
+++ nodequery.py (.../trunk) (révision 15400)
@@ -38,6 +38,8 @@
  fbnode['bootcd_version'] = "unknown"
         if not fbnode['boot_server']:
                 fbnode['boot_server'] = "unknown"
+        if not fbnode['install_date']:
+                fbnode['install_date'] = "unknown"
  fbnode['pcu'] = color_pcu_state(fbnode)

  if not fields:
@@ -60,7 +62,7 @@
  #print "ERROR!!!!!!!!!!!!!!!!!!!!!"
  pass

- print "%(hostname)-45s | %(date_checked)11.11s | %(boot_state)5.5s| %(observed_status)8.8s | %(ssh_status)5.5s | %(pcu)6.6s | %(bootcd_version)6.6s | %(boot_server)s | %(kernel_version)s" % fbnode
+ print "%(hostname)-45s | %(date_checked)11.11s | %(boot_state)5.5s| %(observed_status)8.8s | %(ssh_status)5.5s | %(pcu)6.6s | %(bootcd_version)6.6s | %(boot_server)s | %(install_date)s | %(kernel_version)s" % fbnode
  else:
  format = ""
  for f in fields:
Index: web/MonitorWeb/monitorweb/controllers.py
===================================================================
--- web/MonitorWeb/monitorweb/controllers.py (.../tags/Monitor-3.0-23) (révision 15400)
+++ web/MonitorWeb/monitorweb/controllers.py (.../trunk) (révision 15400)
@@ -54,6 +54,7 @@
  kernel_version = widgets.CheckBox(label="Kernel")
  bootcd_version = widgets.CheckBox(label="BootCD")
         boot_server = widgets.CheckBox(label="Boot Server")
+        install_date = widgets.CheckBox(label="Installation Date")
  observed_status = widgets.CheckBox(label="Observed Status")
  uptime = widgets.CheckBox(label="Uptime")
  traceroute = widgets.CheckBox(label="Traceroute")
Index: web/MonitorWeb/monitorweb/templates/nodescanhistory.kid
===================================================================
--- web/MonitorWeb/monitorweb/templates/nodescanhistory.kid (.../tags/Monitor-3.0-23) (révision 15400)
+++ web/MonitorWeb/monitorweb/templates/nodescanhistory.kid (.../trunk) (révision 15400)
@@ -63,6 +63,7 @@
       <th class="sortable plekit_table">kernel</th>
       <th class="sortable plekit_table">BootCD</th>
       <th class="sortable plekit_table">Boot Server</th>
+      <th class="sortable plekit_table">Installation Date</th>
       <th class="sortable plekit_table">Last_contact</th>
   </tr>
   </thead>
@@ -78,6 +79,7 @@
  <td nowrap="true" py:content="node.kernel"></td>
  <td nowrap="true" py:content="node.node.bootcd_version"></td>
  <td nowrap="true" py:content="node.node.boot_server"></td>
+ <td nowrap="true" py:content="node.node.install_date"></td>
  <td  id="node-${node.node.observed_status}" py:content="diff_time(node.node.plc_node_stats['last_contact'])"></td>
  </span>
     </tr>
Index: web/MonitorWeb/monitorweb/templates/node_template.kid
===================================================================
--- web/MonitorWeb/monitorweb/templates/node_template.kid (.../tags/Monitor-3.0-23) (révision 15400)
+++ web/MonitorWeb/monitorweb/templates/node_template.kid (.../trunk) (révision 15400)
@@ -16,6 +16,7 @@
  <th>kernel</th>
                 <th>BootCD</th>
                 <th>Boot Server</th>
+                <th>Installation Date</th>
  <th>last_contact</th>
  </span>
  <span py:if="node is not None">
@@ -43,6 +44,7 @@
  <td nowrap="true" py:content="node.kernel"></td>
  <td nowrap="true" py:content="node.node.bootcd_version"></td>
  <td nowrap="true" py:content="node.node.boot_server"></td>
+ <td nowrap="true" py:content="node.node.install_date"></td>
  <td  id="node-${node.node.observed_status}" py:content="diff_time(node.node.plc_node_stats['last_contact'])"></td>
  </span>
 </span>
Index: upgrade/monitor-server-3.0-23.sql
===================================================================
--- upgrade/monitor-server-3.0-23.sql (.../tags/Monitor-3.0-23) (révision 0)
+++ upgrade/monitor-server-3.0-23.sql (.../trunk) (révision 15400)
@@ -0,0 +1,3 @@
+
+ALTER TABLE findbadnoderecord ADD COLUMN install_date varchar DEFAULT NULL;
+ALTER TABLE findbadnoderecord_history ADD COLUMN install_date varchar DEFAULT NULL;
Index: monitor/database/info/findbad.py
===================================================================
--- monitor/database/info/findbad.py (.../tags/Monitor-3.0-23) (révision 15400)
+++ monitor/database/info/findbad.py (.../trunk) (révision 15400)
@@ -39,6 +39,7 @@
  kernel_version = Field(String,default=None)
  bootcd_version = Field(String,default=None)
         boot_server = Field(String,default=None)
+        install_date = Field(String,default=None)
  nm_status = Field(String,default=None)
  fs_status = Field(String,default=None)
  iptables_status = Field(String,default=None)
Index: monitor/scanapi.py
===================================================================
--- monitor/scanapi.py (.../tags/Monitor-3.0-23) (révision 15400)
+++ monitor/scanapi.py (.../trunk) (révision 15400)
@@ -238,6 +238,7 @@
  echo '  "bmlog":"'`ls /tmp/bm.log`'",'
  echo '  "bootcd_version":"'`cat /mnt/cdrom/bootme/ID`'",'
  echo '  "boot_server":"'`cat /mnt/cdrom/bootme/BOOTSERVER`'",'
+ echo '  "install_date":"'`python -c "import os,time,stat; print time.ctime(os.stat('/usr/boot/plnode.txt')[stat.ST_CTIME])"`'",'
  echo '  "nm_status":"'`ps ax | grep nm.py | grep -v grep`'",'
  echo '  "dns_status":"'`host boot.planet-lab.org 2>&1`'",'
  echo '  "iptables_status":"'`iptables -t mangle -nL | awk '$1~/^[A-Z]+$/ {modules[$1]=1;}END{for (k in modules) {if (k) printf "%s ",k;}}'`'",'
@@ -262,6 +263,7 @@
  else:
  values.update({'kernel_version': "", 'bmlog' : "", 'bootcd_version' : '',
                                                                         'boot_server' : '',
+                                                                        'install_date' : '',
  'nm_status' : '',
  'fs_status' : '',
  'uptime' : '',

14 years agoadd install_date field
Barış Metin [Tue, 20 Oct 2009 16:46:32 +0000 (16:46 +0000)]
add install_date field

14 years ago- remove monitor-client.cron
Barış Metin [Mon, 19 Oct 2009 08:31:00 +0000 (08:31 +0000)]
- remove monitor-client.cron
- remove unused monitor-client init script
- fix UP/DOWN summary on nodes page.
- make node page display all nodes by default
- add boot_server field
- add myops_ssh_key to the keychain
- use ext_consortium_id to distinguish pending sites.

Setting tag Monitor-3.0-23

--This line, and those below, will be ignored--
Please write a changelog for this new tag in the section above
DIFF=========
Index: monitor.cron
===================================================================
--- monitor.cron (.../tags/Monitor-3.0-22) (révision 15357)
+++ monitor.cron (.../trunk) (révision 15357)
@@ -1,5 +0,0 @@
-# Runs once a day at 12pm to fetch the monitor account keys in case it was
-# inaccessible previously due to a network outage.
-
-0 12 * * * root    /etc/init.d/monitor start > /dev/null 2>&1
-
Index: monitor-client.init
===================================================================
--- monitor-client.init (.../tags/Monitor-3.0-22) (révision 15357)
+++ monitor-client.init (.../trunk) (révision 15357)
@@ -1,53 +0,0 @@
-#!/bin/bash
-#
-# monitor  Enables the monitor account by setting up the ssh key from the enabled PLC.
-#
-# Load before nm, vcached, and vservers, vserver-reference
-# chkconfig: 3 59 80
-# description: Fetch monitor ssh key to enable access to machine via monitor immediately.
-#
-# Stephen Soltesz <soltesz@cs.princeton.edu>
-# Copyright (C) 2008 The Trustees of Princeton University
-#
-# $Id$
-#
-
-case "$1" in
-    start|restart|reload)
- ;;
-    stop|status)
- exit 0
- ;;
-    *)
- echo $"Usage: $0 {start|stop|restart|status}"
- exit 1
- ;;
-esac
-
-#
-# NOTE: This user is not used by monitor for the moment so better not create it.
-#
-
-# # NOTE: If user already exists, this just exists with status 9.  I think it's
-# # ok to simply let this command check and error out.
-# # Parse PLC configuration
-# if [ -r /etc/planetlab/plc_config ] ; then
-#     . /etc/planetlab/plc_config
-# else
-#     PLC_NAME="PlanetLab"
-#     PLC_SLICE_PREFIX="pl"
-#     PLC_BOOT_HOST="boot.planet-lab.org"
-# fi
-
-# USER="${PLC_SLICE_PREFIX}_monitor"
-# /usr/sbin/useradd -p "" -m $USER &> /dev/null || :
-
-# if [ ! -d /home/$USER/.ssh ] ; then
-#  mkdir /home/$USER/.ssh
-#  chmod 700 /home/$USER/.ssh
-#  chown $USER.$USER /home/$USER/.ssh
-# fi
-
-# URL="http://${PLC_BOOT_HOST}/PlanetLabConf/keys.php?$USER"
-# curl -s "$URL" > /home/$USER/.ssh/authorized_keys
-# chown $USER.$USER /home/$USER/.ssh/authorized_keys
Index: nodequery.py
===================================================================
--- nodequery.py (.../tags/Monitor-3.0-22) (révision 15357)
+++ nodequery.py (.../trunk) (révision 15357)
@@ -36,6 +36,8 @@
  fbnode['bootcd_version'] = fbnode['bootcd_version'].split()[-1]
  else:
  fbnode['bootcd_version'] = "unknown"
+        if not fbnode['boot_server']:
+                fbnode['boot_server'] = "unknown"
  fbnode['pcu'] = color_pcu_state(fbnode)

  if not fields:
@@ -58,7 +60,7 @@
  #print "ERROR!!!!!!!!!!!!!!!!!!!!!"
  pass

- print "%(hostname)-45s | %(date_checked)11.11s | %(boot_state)5.5s| %(observed_status)8.8s | %(ssh_status)5.5s | %(pcu)6.6s | %(bootcd_version)6.6s | %(kernel_version)s" % fbnode
+ print "%(hostname)-45s | %(date_checked)11.11s | %(boot_state)5.5s| %(observed_status)8.8s | %(ssh_status)5.5s | %(pcu)6.6s | %(bootcd_version)6.6s | %(boot_server)s | %(kernel_version)s" % fbnode
  else:
  format = ""
  for f in fields:
Index: web/MonitorWeb/monitorweb/controllers.py
===================================================================
--- web/MonitorWeb/monitorweb/controllers.py (.../tags/Monitor-3.0-22) (révision 15357)
+++ web/MonitorWeb/monitorweb/controllers.py (.../trunk) (révision 15357)
@@ -53,6 +53,7 @@
  external_dns_status = widgets.CheckBox(label="Hostname Resolves?")
  kernel_version = widgets.CheckBox(label="Kernel")
  bootcd_version = widgets.CheckBox(label="BootCD")
+        boot_server = widgets.CheckBox(label="Boot Server")
  observed_status = widgets.CheckBox(label="Observed Status")
  uptime = widgets.CheckBox(label="Uptime")
  traceroute = widgets.CheckBox(label="Traceroute")
Index: web/MonitorWeb/monitorweb/templates/nodescanhistory.kid
===================================================================
--- web/MonitorWeb/monitorweb/templates/nodescanhistory.kid (.../tags/Monitor-3.0-22) (révision 15357)
+++ web/MonitorWeb/monitorweb/templates/nodescanhistory.kid (.../trunk) (révision 15357)
@@ -62,6 +62,7 @@
       <th class="sortable plekit_table">Stat</th>
       <th class="sortable plekit_table">kernel</th>
       <th class="sortable plekit_table">BootCD</th>
+      <th class="sortable plekit_table">Boot Server</th>
       <th class="sortable plekit_table">Last_contact</th>
   </tr>
   </thead>
@@ -76,6 +77,7 @@
                 <td py:content="node.node.plc_node_stats['boot_state']">boot</td>
  <td nowrap="true" py:content="node.kernel"></td>
  <td nowrap="true" py:content="node.node.bootcd_version"></td>
+ <td nowrap="true" py:content="node.node.boot_server"></td>
  <td  id="node-${node.node.observed_status}" py:content="diff_time(node.node.plc_node_stats['last_contact'])"></td>
  </span>
     </tr>
Index: web/MonitorWeb/monitorweb/templates/node_template.kid
===================================================================
--- web/MonitorWeb/monitorweb/templates/node_template.kid (.../tags/Monitor-3.0-22) (révision 15357)
+++ web/MonitorWeb/monitorweb/templates/node_template.kid (.../trunk) (révision 15357)
@@ -15,6 +15,7 @@
  <th>pcu</th>
  <th>kernel</th>
                 <th>BootCD</th>
+                <th>Boot Server</th>
  <th>last_contact</th>
  </span>
  <span py:if="node is not None">
@@ -41,6 +42,7 @@
  </td>
  <td nowrap="true" py:content="node.kernel"></td>
  <td nowrap="true" py:content="node.node.bootcd_version"></td>
+ <td nowrap="true" py:content="node.node.boot_server"></td>
  <td  id="node-${node.node.observed_status}" py:content="diff_time(node.node.plc_node_stats['last_contact'])"></td>
  </span>
 </span>
Index: web/MonitorWeb/monitorweb/templates/nodelist.kid
===================================================================
--- web/MonitorWeb/monitorweb/templates/nodelist.kid (.../tags/Monitor-3.0-22) (révision 15357)
+++ web/MonitorWeb/monitorweb/templates/nodelist.kid (.../trunk) (révision 15357)
@@ -17,8 +17,8 @@
   </script>

   <center>
-  <b py:content="'BOOT: %d' % len([agg for agg in query if agg.node.observed_status == 'BOOT'])"></b> |
-  <b py:content="'DOWN: %d' % len([agg for agg in query if agg.node.observed_status == 'DOWN'])"></b><br/>
+  <b py:content="'UP: %d' % len([agg for agg in query if agg.node.status in ('online', 'good')])"></b> |
+  <b py:content="'DOWN: %d' % len([agg for agg in query if agg.node.status not in ('online', 'good')])"></b><br/>
   </center>

 <table id="nodelist" cellpadding="0" border="0" class="plekit_table sortable-onload-2 colstyle-alt no-arrow paginationcallback-nodelist_paginator max-pages-10 paginate-25">
@@ -58,6 +58,7 @@
       <th class="sortable plekit_table">pcu</th>
       <th class="sortable plekit_table">kernel</th>
       <th class="sortable plekit_table">BootCD</th>
+      <th class="sortable plekit_table">Boot Server</th>
       <th class="sortable-sortLastContact plekit_table">Last_contact</th>
   </tr>
   </thead>
Index: web/MonitorWeb/monitorweb/templates/nodefast.kid
===================================================================
--- web/MonitorWeb/monitorweb/templates/nodefast.kid (.../tags/Monitor-3.0-22) (révision 15357)
+++ web/MonitorWeb/monitorweb/templates/nodefast.kid (.../trunk) (révision 15357)
@@ -17,16 +17,16 @@
   </script>

   <center>
-  <b py:content="'BOOT: %d' % len([agg for agg in query if agg.node.status == 'good'])"></b> |
-  <b py:content="'DOWN: %d' % len([agg for agg in query if agg.node.status == 'down'])"></b><br/>
+  <b py:content="'UP: %d' % len([agg for agg in query if agg.node.status in ('online', 'good')])"></b> |
+  <b py:content="'DOWN: %d' % len([agg for agg in query if agg.node.status not in ('online', 'good')])"></b><br/>
   </center>

-<table id="nodelist" cellpadding="0" border="0" class="plekit_table sortable-onload-2 colstyle-alt no-arrow paginationcallback-nodelist_paginator max-pages-10 paginate-25">
+<table id="nodelist" cellpadding="0" border="0" class="plekit_table sortable-onload-2 colstyle-alt no-arrow paginationcallback-nodelist_paginator max-pages-10 paginate-999">
   <thead>

     <tr class='pagesize_area'><td class='pagesize_area' colspan='10'>
         <form class='pagesize' action='satisfy_xhtml_validator'><fieldset>
-            <input class='pagesize_input' type='text' id="nodelist_pagesize" value='25'
+            <input class='pagesize_input' type='text' id="nodelist_pagesize" value='999'
                    onkeyup='plekit_pagesize_set("nodelist","nodelist_pagesize", 25);'
                    size='3' maxlength='3' />
             <label class='pagesize_label'> items/page </label>
Index: web/MonitorWeb/dev.cfg
===================================================================
--- web/MonitorWeb/dev.cfg (.../tags/Monitor-3.0-22) (révision 15357)
+++ web/MonitorWeb/dev.cfg (.../trunk) (révision 15357)
@@ -31,7 +31,7 @@
 autoreload.package="monitorweb"

-server.socket_host="monitor.planet-lab.org"
+server.socket_host="www.planet-lab.eu"
 server.socket_port=8082
 #server.webpath="/monitor/"
 #base_url_filter.on = False
Index: upgrade/monitor-server-3.0-22.sql
===================================================================
--- upgrade/monitor-server-3.0-22.sql (.../tags/Monitor-3.0-22) (révision 0)
+++ upgrade/monitor-server-3.0-22.sql (.../trunk) (révision 15357)
@@ -0,0 +1,5 @@
+-- If there's an existing database, these commands will upgrade it to the
+-- current version
+
+ALTER TABLE findbadnoderecord ADD COLUMN boot_server varchar DEFAULT NULL;
+ALTER TABLE findbadnoderecord_history ADD COLUMN boot_server varchar DEFAULT NULL;
Index: Monitor.spec
===================================================================
--- Monitor.spec (.../tags/Monitor-3.0-22) (révision 15357)
+++ Monitor.spec (.../trunk) (révision 15357)
@@ -129,8 +129,8 @@
 %install
 rm -rf $RPM_BUILD_ROOT
 #################### CLIENT
-install -D -m 755 monitor-client.init $RPM_BUILD_ROOT/%{_initrddir}/monitor
-install -D -m 644 monitor.cron $RPM_BUILD_ROOT/%{_sysconfdir}/cron.d/monitor
+#install -D -m 755 monitor-client.init $RPM_BUILD_ROOT/%{_initrddir}/monitor
+#install -D -m 644 monitor.cron $RPM_BUILD_ROOT/%{_sysconfdir}/cron.d/monitor
 install -D -m 755 timeout.pl $RPM_BUILD_ROOT/usr/bin/timeout.pl

@@ -208,8 +208,8 @@

 %files client
 %defattr(-,root,root)
-%{_initrddir}/monitor
-%{_sysconfdir}/cron.d/monitor
+#%{_initrddir}/monitor
+#%{_sysconfdir}/cron.d/monitor
 /usr/bin/timeout.pl

 %files pcucontrol
Index: monitor/wrapper/plc.py
===================================================================
--- monitor/wrapper/plc.py (.../tags/Monitor-3.0-22) (révision 15357)
+++ monitor/wrapper/plc.py (.../trunk) (révision 15357)
@@ -14,6 +14,11 @@
 import traceback
 from monitor import database

+# note: this needs to be consistent with the value in PLEWWW/planetlab/includes/plc_functions.php
+PENDING_CONSORTIUM_ID = 0
+# not used in monitor
+#APPROVED_CONSORTIUM_ID = 999999
+
 try:
  from monitor import config
  debug = config.debug
@@ -116,12 +121,12 @@
  except:
  print "Call %s FAILED: Using old cached data" % cachename
  load_old_cache = True
-
+
  if load_old_cache:
  values = database.dbLoad(cachename)
  else:
  database.dbDump(cachename, values)
-
+
  return values
  else:
  values = database.dbLoad(cachename)
@@ -324,6 +329,22 @@
  #'last_updated', 'peer_node_id', 'ssh_rsa_key' ])
  return nodes

+
+# Check if the site is a pending site that needs to be approved.
+def isPendingSite(loginbase):
+        api = xmlrpclib.Server(auth.server, verbose=False)
+        try:
+                site = api.GetSites(auth.auth, loginbase)[0]
+        except Exception, exc:
+                login.info("ERROR: No site %s" % loginbase)
+                return False
+
+        if not site['enabled'] and site['ext_consortium_id'] == PENDING_CONSORTIUM_ID:
+                return True
+
+        return False
+
+
 '''
 Sets boot state of a node.
 '''
@@ -400,6 +421,7 @@

 def enableSlices(nodename):
  api = xmlrpclib.Server(auth.server, verbose=False, allow_none=True)
+
  for slice in slices(siteId(nodename)):
  logger.info("Enabling slices %s" % slice)
  try:
@@ -417,6 +439,7 @@
  logger.info("enableSlices: %s" % exc)
  print "exception: %s" % exc

+
 #I'm commenting this because this really should be a manual process.
 #'''
 #Enable suspended site slices.
@@ -428,6 +451,12 @@
 # api.SliceAttributeAdd(auth.auth, slice, "plc_slice_state", {"state" : "suspended"})
 #
 def enableSiteSliceCreation(loginbase):
+        if isPendingSite(loginbase):
+                msg = "INFO: enableSiteSliceCreation: Pending Site (%s)" % loginbase
+                print msg
+                logger.info(msg)
+                return
+
  api = xmlrpclib.Server(auth.server, verbose=False, allow_none=True)
  try:
  logger.info("Enabling slice creation for site %s" % loginbase)
@@ -442,10 +471,7 @@
  api = xmlrpclib.Server(auth.server, verbose=False, allow_none=True)
  try:
  loginbase = siteId(nodename)
- logger.info("Enabling slice creation for site %s" % loginbase)
- if not debug:
- logger.info("\tcalling UpdateSite(%s, enabled=True)" % loginbase)
- api.UpdateSite(auth.auth, loginbase, {'enabled': True})
+                enableSiteSliceCreation(loginbase)
  except Exception, exc:
  print "ERROR: enableSliceCreation:  %s" % exc
  logger.info("ERROR: enableSliceCreation:  %s" % exc)
@@ -453,13 +479,20 @@
 '''
 Removes site's ability to create slices. Returns previous max_slices
 '''
-def removeSiteSliceCreation(sitename):
- print "removeSiteSliceCreation(%s)" % sitename
+def removeSiteSliceCreation(loginbase):
+        print "removeSiteSliceCreation(%s)" % loginbase
+
+        if isPendingSite(loginbase):
+                msg = "INFO: removeSiteSliceCreation: Pending Site (%s)" % loginbase
+                print msg
+                logger.info(msg)
+                return
+
  api = xmlrpclib.Server(auth.server, verbose=False)
  try:
- logger.info("Removing slice creation for site %s" % sitename)
+ logger.info("Removing slice creation for site %s" % loginbase)
  if not debug:
- api.UpdateSite(auth.auth, sitename, {'enabled': False})
+ api.UpdateSite(auth.auth, loginbase, {'enabled': False})
  except Exception, exc:
  logger.info("removeSiteSliceCreation:  %s" % exc)

@@ -471,12 +504,7 @@
  api = xmlrpclib.Server(auth.server, verbose=False)
  try:
  loginbase = siteId(nodename)
- #numslices = api.GetSites(auth.auth, {"login_base": loginbase},
- # ["max_slices"])[0]['max_slices']
- logger.info("Removing slice creation for site %s" % loginbase)
- if not debug:
- #api.UpdateSite(auth.auth, loginbase, {'max_slices': 0})
- api.UpdateSite(auth.auth, loginbase, {'enabled': False})
+                removeSiteSliceCreation(loginbase)
  except Exception, exc:
  logger.info("removeSliceCreation:  %s" % exc)

Index: monitor/database/info/findbad.py
===================================================================
--- monitor/database/info/findbad.py (.../tags/Monitor-3.0-22) (révision 15357)
+++ monitor/database/info/findbad.py (.../trunk) (révision 15357)
@@ -38,6 +38,7 @@
 # INTERNAL
  kernel_version = Field(String,default=None)
  bootcd_version = Field(String,default=None)
+        boot_server = Field(String,default=None)
  nm_status = Field(String,default=None)
  fs_status = Field(String,default=None)
  iptables_status = Field(String,default=None)
Index: monitor/scanapi.py
===================================================================
--- monitor/scanapi.py (.../tags/Monitor-3.0-22) (révision 15357)
+++ monitor/scanapi.py (.../trunk) (révision 15357)
@@ -237,6 +237,7 @@
  echo '  "kernel_version":"'`uname -a`'",'
  echo '  "bmlog":"'`ls /tmp/bm.log`'",'
  echo '  "bootcd_version":"'`cat /mnt/cdrom/bootme/ID`'",'
+ echo '  "boot_server":"'`cat /mnt/cdrom/bootme/BOOTSERVER`'",'
  echo '  "nm_status":"'`ps ax | grep nm.py | grep -v grep`'",'
  echo '  "dns_status":"'`host boot.planet-lab.org 2>&1`'",'
  echo '  "iptables_status":"'`iptables -t mangle -nL | awk '$1~/^[A-Z]+$/ {modules[$1]=1;}END{for (k in modules) {if (k) printf "%s ",k;}}'`'",'
@@ -260,6 +261,7 @@
  break
  else:
  values.update({'kernel_version': "", 'bmlog' : "", 'bootcd_version' : '',
+                                                                        'boot_server' : '',
  'nm_status' : '',
  'fs_status' : '',
  'uptime' : '',
Index: automate-default.sh
===================================================================
--- automate-default.sh (.../tags/Monitor-3.0-22) (révision 15357)
+++ automate-default.sh (.../trunk) (révision 15357)
@@ -56,6 +56,7 @@
         # if no agent is running, set it up.
         ssh-agent > ${MONITOR_SCRIPT_ROOT}/agent.sh
         source ${MONITOR_SCRIPT_ROOT}/agent.sh
+        ssh-add /etc/planetlab/myops_ssh_key.rsa
         ssh-add /etc/planetlab/debug_ssh_key.rsa
         ssh-add /etc/planetlab/root_ssh_key.rsa
 fi

14 years agocommented out unused value
Thierry Parmentelat [Fri, 16 Oct 2009 17:15:35 +0000 (17:15 +0000)]
commented out unused value

14 years agouse ext_consortium_id to distinguish pending sites.
Barış Metin [Fri, 16 Oct 2009 10:33:10 +0000 (10:33 +0000)]
use ext_consortium_id to distinguish pending sites.

14 years agoremove monitor-client.cron
Stephen Soltesz [Thu, 15 Oct 2009 18:34:18 +0000 (18:34 +0000)]
remove monitor-client.cron
update spec file accordingly

14 years agoremove unused monitor-client init script
Stephen Soltesz [Thu, 15 Oct 2009 18:31:36 +0000 (18:31 +0000)]
remove unused monitor-client init script
update spec file accordingly

14 years ago- fix UP/DOWN summary on nodes page.
Barış Metin [Thu, 15 Oct 2009 11:13:04 +0000 (11:13 +0000)]
- fix UP/DOWN summary on nodes page.
- make node page display all nodes by default
- add boot_server field
- add myops_ssh_key to the keychain

14 years agoDon't enable the "Pending Sites". PLE is using 'enabled' key to mark the pending...
Barış Metin [Mon, 12 Oct 2009 15:20:56 +0000 (15:20 +0000)]
Don't enable the "Pending Sites". PLE is using 'enabled' key to mark the pending sites.

14 years agoshow/hide advance query form.
Barış Metin [Fri, 9 Oct 2009 15:52:11 +0000 (15:52 +0000)]
show/hide advance query form.

Setting tag Monitor-3.0-22

--This line, and those below, will be ignored--
Please write a changelog for this new tag in the section above
DIFF=========
Index: web/MonitorWeb/monitorweb/controllers.py
===================================================================
--- web/MonitorWeb/monitorweb/controllers.py (.../tags/Monitor-3.0-21) (révision 15272)
+++ web/MonitorWeb/monitorweb/controllers.py (.../trunk) (révision 15272)
@@ -63,6 +63,7 @@
 class QueryForm(widgets.TableForm):
     template = """
     <form xmlns:py="http://purl.org/kid/ns#"
+        id="queryform"
         name="${name}"
         action="${action}"
         method="${method}"
Index: web/MonitorWeb/monitorweb/templates/sitemenu.kid
===================================================================
--- web/MonitorWeb/monitorweb/templates/sitemenu.kid (.../tags/Monitor-3.0-21) (révision 15272)
+++ web/MonitorWeb/monitorweb/templates/sitemenu.kid (.../trunk) (révision 15272)
@@ -7,11 +7,13 @@

     <script type="text/javascript" src="/plekit/prototype/prototype.js"></script>

+    <script type="text/javascript" src="/plekit/toggle/toggle.js"></script>
     <script type="text/javascript" src="/plekit/tablesort/tablesort.js"></script>
     <script type="text/javascript" src="/plekit/tablesort/customsort.js"></script>
     <script type="text/javascript" src="/plekit/tablesort/paginate.js"></script>
     <script type="text/javascript" src="/plekit/table/table.js"></script>
     <link href="/plekit/table/table.css" rel="stylesheet" type="text/css" />
+    <link href="/plekit/toggle/toggle.css" rel="stylesheet" type="text/css" />

     <script type="text/javascript" src="/plekit/niftycorner/niftycube.js"></script>
     <script type="text/javascript" src="/plekit/niftycorner/nifty_init.js"></script>
Index: web/MonitorWeb/monitorweb/templates/query.kid
===================================================================
--- web/MonitorWeb/monitorweb/templates/query.kid (.../tags/Monitor-3.0-21) (révision 15272)
+++ web/MonitorWeb/monitorweb/templates/query.kid (.../trunk) (révision 15272)
@@ -13,11 +13,18 @@

   <div py:match="item.tag == 'content'">
    <h2>Functional, but Under Development...</h2>
+
+<img id="toggle-image-visible-query" src="/plekit/icons/toggle-visible.png" style="height:18px;" onclick="plc_toggle('query')" />
+<img id="toggle-image-hidden-query" src="/plekit/icons/toggle-hidden.png" style="height:18px;display:none" onclick="plc_toggle('query')" /> <span style="font-size:2em;">Monitor Query</span>
+
+<div id="toggle-area-query">
  <table>
  <tr>
  <td>${queryform.display(method="GET", value=data)}</td>
  </tr>
  </table>
+</div>
+
 <h4>Results</h4>
  <table py:if="fields and len(fields.keys()) > 0" id="querylist" cellpadding="0" border="0" class="plekit_table sortable-onload-0 colstyle-alt no-arrow paginationcallback-querylist_paginator max-pages-10 paginate-50" width="100%">
  <thead>
@@ -64,5 +71,16 @@
  </tr>
       </tbody>
  </table>
+<script type="text/javascript">
+var lst = $("querylist");
+var tbody = lst.getElementsBySelector("tbody")[0];
+var trs = tbody.getElementsBySelector("tr");
+if (trs.length > 2) {
+ plc_toggle("query");
+}
+</script>
+
   </div>
+
+
 </html>

14 years agoJS magic to add toggle support to Advanced Query
Barış Metin [Fri, 25 Sep 2009 16:04:32 +0000 (16:04 +0000)]
JS magic to add toggle support to Advanced Query

14 years agoSetting tag Monitor-3.0-21
Stephen Soltesz [Thu, 24 Sep 2009 21:59:20 +0000 (21:59 +0000)]
Setting tag Monitor-3.0-21
fixed pause_penalty bug.
fixed IPAL pcucontrol bug
fixed bootman tunnel setup bug (occurred in rare cases)
deprecated pcuview
added BootmanSequenceRecords to separate config data from source code
added get/setBootmanSequence(s) to xmlrpc API

14 years agodeleted
Stephen Soltesz [Thu, 24 Sep 2009 21:38:09 +0000 (21:38 +0000)]
deleted

14 years agoadded BootmanSequenceRecord to allow bootman sequence to be modified at
Stephen Soltesz [Thu, 24 Sep 2009 21:37:46 +0000 (21:37 +0000)]
added BootmanSequenceRecord to allow bootman sequence to be modified at
runtime without source changes
added init-bootman-sequence to initscripts for pre-defined sequences (from source)
added get/setBootmanSequence(s) to xmlrpc API
added traceroute to selectable values to return from query()
deprecated pcuview() in favor of detailview() and simpleview()
updated site links on actionlist to internal references

added 'creator' to returned fields in rtsurvey and harvest_rt scripts
refined node config directions in emailTxt

added extra command to kill old processes before setting up bootman tunnel on node
moved old sequence definitions to init-bootman-sqeuence.py.
use DB sequences

log files were failing to be copied, so make all scripts in automate-default
end with  "|| :" ; should figure out what's really going on.

14 years agothis doesn't work.
Stephen Soltesz [Fri, 18 Sep 2009 22:46:24 +0000 (22:46 +0000)]
this doesn't work.

14 years agouse simpleview and detailview rather than old 'pcuview' links
Stephen Soltesz [Fri, 18 Sep 2009 22:45:42 +0000 (22:45 +0000)]
use simpleview and detailview rather than old 'pcuview' links

14 years agobug, hard coded port number for telnet on ipal. Made port dynamic.
Stephen Soltesz [Fri, 18 Sep 2009 22:44:11 +0000 (22:44 +0000)]
bug, hard coded port number for telnet on ipal. Made port dynamic.

14 years agochanges to the db for the previous patch.
Stephen Soltesz [Tue, 15 Sep 2009 00:48:35 +0000 (00:48 +0000)]
changes to the db for the previous patch.

14 years agofix a bug with pause_penalty.
Stephen Soltesz [Tue, 15 Sep 2009 00:43:36 +0000 (00:43 +0000)]
fix a bug with pause_penalty.
- bug caused a paused site to never unpause
- now after 30 days ticket is closed, and a new ticket is created, thus
resetting the penalty escalation

14 years agoonly add 'skipping_baddisk' action when the notice is sent, skip it otherwise.
Stephen Soltesz [Mon, 7 Sep 2009 21:04:11 +0000 (21:04 +0000)]
only add 'skipping_baddisk' action when the notice is sent, skip it otherwise.

14 years agoSetting tag Monitor-3.0-20
Stephen Soltesz [Sat, 5 Sep 2009 00:02:26 +0000 (00:02 +0000)]
Setting tag Monitor-3.0-20
Major Features:
added bm log collection and optional integration with BootManager's log Upload()
added iptables_status
expanded advanced query
added differentiated bootmanager_restore actions so that actionsummary displays
counts for each kind of bootmanager action
added pcuerror notices (for mis-configurations) in addition to pcufailed notices
added plain-text options for query page by adding tg_format=plain to URL
fixed cross-module reference that prevented pcucontrol for working with RebootNodeWithPCU() api call.
fixed a bug in determining whether comon's dir was running on a node

14 years agomoved nodequery common code to monitor/query.py
Stephen Soltesz [Fri, 4 Sep 2009 23:47:57 +0000 (23:47 +0000)]
moved nodequery common code to monitor/query.py
updated all imports to use this module
added iptables_status check to findbad
  iptables_status check to scanapi
added iptables_status, fs_status, and uptime to advanced query form
added sortability to uptime check
added nodeselect to fetch.py
added logging of bm logs from bootman.py restore actions

14 years agoadded actionlist_template to display action list consistently on different pages
Stephen Soltesz [Wed, 2 Sep 2009 18:34:48 +0000 (18:34 +0000)]
added actionlist_template to display action list consistently on different pages
added upload() method to enable myops to collect bootmanager and other logs
added pcu error messages to policy setup
clarified messages in emailTxt.py
added log_path field to ActionRecord model to save relative bm log paths
added SQL upgrade script for new actionrecord field
distinguish between bm.log collection form bootman.py and directly uploaded logs
removed unnecessary bootmanager action logs when nothing is done.
fixed a bug in determining whether comon's dir was running on a node

14 years agoI'm not 100% sure about this; I think it will enable the redirect() actions to
Stephen Soltesz [Wed, 2 Sep 2009 18:14:00 +0000 (18:14 +0000)]
I'm not 100% sure about this; I think it will enable the redirect() actions to
send urls relative to the proxy host rather than the Turgobears process which
runs as 127.0.0.1 and isn't useful to a user's browser.

14 years agoadd upload stub, expose query functions with plain text templates,
Stephen Soltesz [Fri, 28 Aug 2009 22:15:30 +0000 (22:15 +0000)]
add upload stub, expose query functions with plain text templates,
add extra fields to query selection

14 years agoadd plain-text versions of the query output and nodelist as a test
Stephen Soltesz [Fri, 28 Aug 2009 21:56:47 +0000 (21:56 +0000)]
add plain-text versions of the query output and nodelist as a test
removed inter-site link on actionlist
report all errors by moving bmlog link to 'message' column in detailview

14 years agonot sure how these got past. remove monitor module references from pcucontrol.
Stephen Soltesz [Thu, 27 Aug 2009 18:50:13 +0000 (18:50 +0000)]
not sure how these got past. remove monitor module references from pcucontrol.
convert unicode strings into standard strings.

14 years agodoh. used m5sum not sha1
Stephen Soltesz [Tue, 25 Aug 2009 15:15:18 +0000 (15:15 +0000)]
doh.  used m5sum not sha1

14 years agolatest 1.6.5 version
Stephen Soltesz [Tue, 25 Aug 2009 15:12:45 +0000 (15:12 +0000)]
latest 1.6.5 version

14 years agoadd pcu_name to pcufailed_notice
Stephen Soltesz [Thu, 20 Aug 2009 17:55:12 +0000 (17:55 +0000)]
add pcu_name to pcufailed_notice
added pcuerror_notice
added convenience functions to FindbadPCURecord
added pcuerror_notice to policy.py
create a different action type for each bootman_restore operation.
added better formatting to actionsummary, so all types of actions are displayed
fixed nodebad logic so that a node leaves the 'disabled' status when it's boot_state changes.

14 years agoSetting tag Monitor-3.0-19
Stephen Soltesz [Mon, 17 Aug 2009 22:51:21 +0000 (22:51 +0000)]
Setting tag Monitor-3.0-19
Major increment -
  adds multiple features and web changes
  adds new fields to db
  improved layout
  general improvements otherwise

14 years agochanged 'monitordebug' to failboot
Stephen Soltesz [Mon, 17 Aug 2009 22:03:47 +0000 (22:03 +0000)]
changed 'monitordebug' to failboot
added run_level to nodebad record
added site_id to database
added DRAC6 support
added GeorgeTown PCU to BayTech to catch their wacky PCU.
add extra sequences too bootman to catch fsck error
remove setting nodes to 'disabled', leave them in failboot
send exception and Unknown Error messages to config.exception_email
disable synccheck in automate-default.sh script

14 years agoadded advanced query
Stephen Soltesz [Mon, 17 Aug 2009 21:49:31 +0000 (21:49 +0000)]
added advanced query
added simple and detailed view rather than single, 'pcuview'
simplified nodelist
clarified some labels
added error page for quickjumps without a target
added site:* and node:* queries for quickjump:
now you can see all sites that match a pattern:
    site:mlab*  or node:*clara*

14 years agoadded firewall checks and notices
Stephen Soltesz [Tue, 28 Jul 2009 22:22:07 +0000 (22:22 +0000)]
added firewall checks and notices
added extra views for a simple and detailed view for sites
added firewall_notice to emailTxt
added extra fields for firewall, external_dns_status, as well as several other
fields reserved for future use, such as traceroute, uptime and rpms.
updated policy to act on firewalled nodes
add dependency on 'nc' netcat for a more reliable nmap, port probing utility.

reorganized scanapi.py, hopefully can generalize this further in the future.