From 3c8e6a9edcc1f39d5a88c03fb9b793f2af037ba7 Mon Sep 17 00:00:00 2001
From: Stephen Soltesz <soltesz@cs.princeton.edu>
Date: Thu, 12 Mar 2009 18:08:48 +0000
Subject: [PATCH] missed that pcucontrol still depended on the command.py file.
 moved this into pcucontrol and adjusted dependencies/imports accordingly.

---
 bootman.py                 |  2 +-
 findbad.py                 |  2 +-
 monitor/reboot.py          |  2 +-
 monitor/scanapi.py         |  7 +++----
 pcucontrol/models/DRAC.py  |  6 ++----
 pcucontrol/models/HPiLO.py |  3 ++-
 pcucontrol/reboot.py       |  1 +
 setup.py                   | 15 ++++++++++-----
 8 files changed, 21 insertions(+), 17 deletions(-)

diff --git a/bootman.py b/bootman.py
index 7ec552f..640f9ee 100755
--- a/bootman.py
+++ b/bootman.py
@@ -14,7 +14,7 @@ from getsshkeys import SSHKnownHosts
 
 import subprocess
 import time
-from monitor.util import command as moncommands
+from pcucontrol.util import command as moncommands
 from sets import Set
 
 from pcucontrol.transports.ssh import pxssh as pxssh
diff --git a/findbad.py b/findbad.py
index 0d68845..f01f31f 100755
--- a/findbad.py
+++ b/findbad.py
@@ -9,7 +9,7 @@ import threadpool
 import threading
 
 from monitor.util import file
-from monitor.util import command
+from pcucontrol.util import command
 from monitor import config
 
 from monitor.database.info.model import FindbadNodeRecordSync, FindbadNodeRecord, session
diff --git a/monitor/reboot.py b/monitor/reboot.py
index 3a8e8c5..a34c16c 100755
--- a/monitor/reboot.py
+++ b/monitor/reboot.py
@@ -24,9 +24,9 @@ sys.path.insert(0, os.path.dirname(sys.argv[0]) + "/pyssh")
 import pcucontrol.transports.pyssh as pyssh
 
 from monitor import config
-from monitor.util import command
 from monitor.wrapper import plc
 
+from pcucontrol.util import command
 from pcucontrol.reboot import pcu_name, model_to_object, reboot_api, convert_oldmodelname_to_newmodelname, reboot_test_new
 
 
diff --git a/monitor/scanapi.py b/monitor/scanapi.py
index d9e17b5..8097bac 100644
--- a/monitor/scanapi.py
+++ b/monitor/scanapi.py
@@ -11,8 +11,7 @@ import threading
 import socket
 from pcucontrol import reboot
 
-from monitor import util
-from monitor.util import command
+from pcucontrol.util import command
 from monitor import config
 
 from monitor.database.info.model import *
@@ -167,7 +166,7 @@ class ScanNodeInternal(ScanInterface):
 	def collectNMAP(self, nodename, cohash):
 		#### RUN NMAP ###############################
 		values = {}
-		nmap = util.command.CMD()
+		nmap = command.CMD()
 		print "nmap -oG - -P0 -p22,80,806 %s | grep Host:" % nodename
 		(oval,eval) = nmap.run_noexcept("nmap -oG - -P0 -p22,80,806 %s | grep Host:" % nodename)
 		# NOTE: an empty / error value for oval, will still work.
@@ -432,7 +431,7 @@ class ScanPCU(ScanInterface):
 
 			#### RUN NMAP ###############################
 			if continue_probe:
-				nmap = util.command.CMD()
+				nmap = command.CMD()
 				print "nmap -oG - -P0 -p22,23,80,443,5869,9100,16992 %s | grep Host:" % reboot.pcu_name(values['plc_pcu_stats'])
 				(oval,eval) = nmap.run_noexcept("nmap -oG - -P0 -p22,23,80,443,5869,9100,16992 %s | grep Host:" % reboot.pcu_name(values['plc_pcu_stats']))
 				# NOTE: an empty / error value for oval, will still work.
diff --git a/pcucontrol/models/DRAC.py b/pcucontrol/models/DRAC.py
index 0213201..a64a87d 100644
--- a/pcucontrol/models/DRAC.py
+++ b/pcucontrol/models/DRAC.py
@@ -148,11 +148,9 @@ def racadm_reboot(host, username, password, port, dryrun):
 
 		print "RUNCMD: %s" % output
 		if verbose:
-			logger.debug(output)
+			print output
 		return 0
 
 	except Exception, err:
-		logger.debug("runcmd raised exception %s" % err)
-		if verbose:
-			logger.debug(err)
+		print "runcmd raised exception %s" % err
 		return str(err)
diff --git a/pcucontrol/models/HPiLO.py b/pcucontrol/models/HPiLO.py
index 25d4331..78ceb0a 100644
--- a/pcucontrol/models/HPiLO.py
+++ b/pcucontrol/models/HPiLO.py
@@ -1,4 +1,5 @@
 from pcucontrol.reboot import *
+from distutils.sysconfig import get_python_lib; 
 
 class HPiLO(PCUControl):
 	supported_ports = [22,443]
@@ -34,7 +35,7 @@ class HPiLO(PCUControl):
 
 		locfg = command.CMD()
 
-		cmd_str = config.MONITOR_SCRIPT_ROOT + "/pcucontrol/models/hpilo/"
+		cmd_str = get_python_lib(1) + "/pcucontrol/models/hpilo/"
 		
 		cmd = cmd_str + "locfg.pl -s %s -f %s -u %s -p '%s' | grep 'MESSAGE' | grep -v 'No error'" % (
 					self.host, cmd_str+"iloxml/Get_Network.xml", 
diff --git a/pcucontrol/reboot.py b/pcucontrol/reboot.py
index a0ba1f2..f47da2e 100755
--- a/pcucontrol/reboot.py
+++ b/pcucontrol/reboot.py
@@ -331,6 +331,7 @@ class PCUControl(PCUModel,PCURecord):
 			email_exception(self.host)
 			raise Exception(err)
 
+from pcucontrol.util import command
 from pcucontrol.models import *
 
 def pcu_name(pcu):
diff --git a/setup.py b/setup.py
index 19532fa..f9cb03a 100644
--- a/setup.py
+++ b/setup.py
@@ -2,13 +2,17 @@
 
 from distutils.core import setup
 
-packages=['monitor', 'monitor.database', 'monitor.database.zabbixapi', 
-		'monitor.database.info', 'monitor.sources', 
-		'monitor.util', 'monitor.wrapper' ]
+packages=[	'monitor', 
+			'monitor.database', 
+			'monitor.database.zabbixapi', 
+			'monitor.database.info', 
+			'monitor.sources', 
+			'monitor.util', 
+			'monitor.wrapper' ]
 
 print packages
 setup(name='MonitorModule',
-      version='1.1',
+      version='2.0',
       description='Monitor Utility Module',
       author='Stephen Soltesz',
       author_email='soltesz@cs.princeton.edu',
@@ -17,6 +21,7 @@ setup(name='MonitorModule',
 )
 
 packages=['pcucontrol', 
+		'pcucontrol.util',
 		'pcucontrol.transports',
 		'pcucontrol.transports.ssh',
 		'pcucontrol.transports.pyssh',
@@ -31,7 +36,7 @@ packages=['pcucontrol',
 # TODO: add data dir for intelamt and hpilo stuff
 print packages
 setup(name='PCUControlModule',
-      version='1.1',
+      version='2.0',
       description='PCU Control Module',
       author='Stephen Soltesz',
       author_email='soltesz@cs.princeton.edu',
-- 
2.47.0