[Et-mgmt-commits-list] [SCM] virt-factory branch, master now at 5a61622360540e5129ab8ed124968768c5fe1699

Scott Seago sseago at redhat.com
Fri Apr 13 16:51:12 UTC 2007


Hello,

This is an automated email from the git hooks/update script, it was
generated because a ref change was pushed to the repository.

Updating branch, master,
       via  5a61622360540e5129ab8ed124968768c5fe1699 (commit)
       via  8454823983488977a658f70120d785cdc7bade82 (commit)
       via  66e69790550cec500264809dfab932ea6793167c (commit)
      from  807b295c6195a3e092494e18db3b1942fa898adf (commit)

- Log -----------------------------------------------------------------
commit 5a61622360540e5129ab8ed124968768c5fe1699
Author: Scott Seago <sseago at redhat.com>
Date:   Fri Apr 13 12:47:55 2007 -0400

    log register output to /var/log/virt-factory-register/vf_register.log

commit 8454823983488977a658f70120d785cdc7bade82
Author: Scott Seago <sseago at redhat.com>
Date:   Fri Apr 13 12:46:24 2007 -0400

    puppet module name should be lowercase.

commit 66e69790550cec500264809dfab932ea6793167c
Author: Scott Seago <sseago at redhat.com>
Date:   Fri Apr 13 12:22:13 2007 -0400

    manifest file should be named after the profile
-----------------------------------------------------------------------

Diffstat:
 .../manifests/{myappliance.pp => container.pp}     |    0 
 {service/server => register/register}/logger.py    |    0 
 register/register/register.py                      |   99 ++++++++++---------
 register/setup.py                                  |    5 +-
 register/virt-factory-register.spec                |    6 +-
 service/scripts/vf_import                          |    2 +-
 6 files changed, 61 insertions(+), 51 deletions(-)

diff --git a/docs/container/manifests/myappliance.pp b/docs/container/manifests/container.pp
similarity index 100%
rename from docs/container/manifests/myappliance.pp
rename to docs/container/manifests/container.pp
diff --git a/service/server/logger.py b/register/register/logger.py
similarity index 100%
copy from service/server/logger.py
copy to register/register/logger.py
diff --git a/register/register/register.py b/register/register/register.py
index df92b17..0c74953 100755
--- a/register/register/register.py
+++ b/register/register/register.py
@@ -16,6 +16,8 @@ Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
 """
 
 import machine_info
+import logger
+logger.logfilepath = "/var/log/virt-factory-register/vf_register.log"
 
 import getopt
 import string
@@ -39,6 +41,7 @@ class Server(xmlrpclib.ServerProxy):
 class Register(object):
     def __init__(self,url):
         self.server_url = url
+        self.logger = logger.Logger().logger
         self.server = Server(url)
         self.token = None
 
@@ -50,15 +53,15 @@ class Register(object):
     
     def register(self, hostname, ip, mac, profile_name, virtual):
         # should return a machine_id, maybe more
-        print "--------------------"
-        print "Registering..."
-        print "  token=", self.token
-        print "  hostname=", hostname,
-        print "  ip=", ip
-        print "  mac=", mac
-        print "  profile_name=", profile_name
-        print "  virtual=", virtual
-        print "---------------------"
+        self.logger.info("--------------------")
+        self.logger.info("Registering...")
+        self.logger.info("  token=%s" % self.token)
+        self.logger.info("  hostname=%s" % hostname)
+        self.logger.info("  ip=%s" % ip)
+        self.logger.info("  mac=%s" % mac)
+        self.logger.info("  profile_name=%s" % profile_name)
+        self.logger.info("  virtual=%s" % virtual)
+        self.logger.info("---------------------")
         if profile_name is None:
             profile_name = ""
         if mac is None:
@@ -66,11 +69,11 @@ class Register(object):
         try:
             rc = self.server.register(self.token, hostname, ip, mac, profile_name, virtual)
         except TypeError:
-            traceback.print_exc()
-            print "error running registration."
+            self.logger.error("error running registration.")
+            self.logger.error("Exception Info:\n%s" % string.join(traceback.format_list(traceback.extract_tb(tb))))
             sys.exit(1)
         if rc[0] == 0:
-            print "Registration succeeded."
+            self.logger.info("Registration succeeded.")
             fd1 = open("/etc/sysconfig/virt-factory/token","w+")
             fd1.write(self.token)
             fd1.close()
@@ -87,20 +90,20 @@ class Register(object):
             server = server.split(':')[0]
             self.update_puppet_sysconfig(server)
             puppetcmd = "/usr/sbin/puppetd --waitforcert 0 --server " + server + " --test"
-            print "puppet cmd: ", puppetcmd
+            self.logger.info("puppet cmd: %s" % puppetcmd)
             puppet_in, puppet_out = os.popen4(puppetcmd)
             for line in puppet_out.readlines():
-                print "puppet: ", line,
+                self.logger.info("puppet: %s" % line.strip())
             puppet_in.close()
             puppet_out.close()
 
             rc2 = self.server.sign_node_cert(self.token, hostname)
             if rc2[0] != 0:
-                print "Failed: ", rc2
+                self.logger.error("Failed: %s" % rc2)
                 rc = rc2
             
         else:
-            print "Failed: ", rc
+            self.logger.info("Failed: %" % rc)
         return rc
 
     def update_puppet_sysconfig(self, server):
@@ -109,7 +112,7 @@ class Register(object):
         for line in file:
             line = line.strip()
             if not 'PUPPET_SERVER' in line:
-                print line 
+                print line
             else:
                 found = 1
                 print "PUPPET_SERVER=",server
@@ -118,6 +121,34 @@ class Register(object):
             file.write('PUPPET_SERVER=' + server + '\n')
             file.close();
 
+    def register_system(self, regtoken, username, password, profile_name, virtual):
+        if regtoken:
+            self.token = regtoken
+        else:
+            self.login(username, password)
+
+        net_info = machine_info.get_netinfo(self.server_url)
+        self.logger.info(net_info)
+ 
+        try:
+            rc = self.register(net_info['hostname'], net_info['ipaddr'], net_info['hwaddr'], profile_name, virtual)
+        except socket.error:
+            print "Could not connect to server."
+            return 1
+        if rc[0] == ERR_TOKEN_INVALID:
+            self.logger.info("Bad token!  No registration for you!")
+        elif rc[0] == ERR_ARGUMENTS_INVALID:
+            self.logger.info("Invalid arguments.  Possibly missing --profilename ?")
+        elif rc[0] != 0:
+            self.logger.info("There was an error.  Check the server side logs.")
+        else:
+            # it's all good
+            cmdline = " ".join(sys.argv[1:])
+            fd5 = open("/etc/sysconfig/virt-factory/register","w+")
+            fd5.write(cmdline)
+            fd5.close()
+        return rc[0]
+
 def showHelp():
     print "register [--help] [--token] [--serverurl=]"
 
@@ -153,7 +184,7 @@ def main(argv):
         sys.exit(1)
 
     for (opt, val) in opts:
-        print "DEBUG: this (%s,%s)" % (opt,val)
+        #print "DEBUG: this (%s,%s)" % (opt,val)
         if opt in ["-h", "--help"]:
             showHelp()
             sys.exit(1)
@@ -166,7 +197,7 @@ def main(argv):
         if opt in ["-s", "--serverurl"]:
             server_url = val
         if opt in ["-i", "--profilename"]:
-            print "read the profile name"
+            #print "read the profile name"
             profile_name = val
         if opt in ["-v", "--virtual"]:
             virtual = True
@@ -184,34 +215,8 @@ def main(argv):
            sys.exit(1)        
 
     reg_obj = Register(server_url)
-    if regtoken:
-        reg_obj.token = regtoken
-    else:
-        reg_obj.login(username, password)
-
-    net_info = machine_info.get_netinfo(server_url)
-    print net_info
- 
-    try:
-        rc = reg_obj.register(net_info['hostname'], net_info['ipaddr'], net_info['hwaddr'], profile_name, virtual)
-    except socket.error:
-        print "Could not connect to server."
-        sys.exit(1)
-    if rc[0] == ERR_TOKEN_INVALID:
-        print "Bad token!  No registration for you!"
-        sys.exit(rc[0])
-    elif rc[0] == ERR_ARGUMENTS_INVALID:
-        print "Invalid arguments.  Possibly missing --profilename ?"
-        sys.exit(rc[0])
-    elif rc[0] != 0:
-        print "There was an error.  Check the server side logs."
-        sys.exit(rc[0])
- 
-    # it's all good
-    cmdline = " ".join(sys.argv[1:])
-    fd5 = open("/etc/sysconfig/virt-factory/register","w+")
-    fd5.write(cmdline)
-    fd5.close()
+    return_status = reg_obj.register_system(regtoken, username, password, profile_name, virtual)
+    sys.exit(return_status)
 
 
 if __name__ == "__main__":
diff --git a/register/setup.py b/register/setup.py
index f3028b4..aded0f9 100644
--- a/register/setup.py
+++ b/register/setup.py
@@ -3,6 +3,7 @@
 import sys
 from distutils.core import setup, Extension
 import string
+import glob
 
 NAME = "virt-factory"
 VERSION = "0.0.1"
@@ -16,7 +17,7 @@ if __name__ == "__main__":
         etcpath  = "/etc/%s" % NAME
         wwwpath  = "/var/www/%s" % NAME
         initpath = "/etc/init.d/"
-        logpath  = "/var/log/%s/" % NAME
+        logpath  = "/var/log/%s-register/" % NAME
 	settingspath = "/var/lib/%s/" % NAME
         setup(
                 name="%s-register" % NAME,
@@ -28,7 +29,7 @@ if __name__ == "__main__":
 		scripts = ["scripts/vf_register"],
 		package_dir = {"%s/register" % NAME: "register"},
 		packages = ["%s/register" % NAME],
-#		data_files = [("%s-register.spec" % NAME)],
+		data_files = [(logpath, [])],
                 description = SHORT_DESC,
                 long_description = LONG_DESC
         )
diff --git a/register/virt-factory-register.spec b/register/virt-factory-register.spec
index d27fb34..fb0cc0a 100644
--- a/register/virt-factory-register.spec
+++ b/register/virt-factory-register.spec
@@ -4,7 +4,7 @@
 Summary: Registration client for virt-factory
 Name: virt-factory-register
 Version: 0.0.1
-Release: 2%{?dist}
+Release: 3%{?dist}
 Source0: %{name}-%{version}.tar.gz
 License: GPL
 Group: Applications/System
@@ -32,9 +32,13 @@ test "x$RPM_BUILD_ROOT" != "x" && rm -rf $RPM_BUILD_ROOT
 %dir %{python_sitelib}/virt-factory
 %dir %{python_sitelib}/virt-factory/register
 %{python_sitelib}/virt-factory/register/*.py*
+%dir /var/log/virt-factory-register
 
 
 %changelog
+* Fri Apr 13 2007 Scott Seago <sseago at redhat.com> - 0.0.1-3
+- add logfile
+ 
 * Tue Mar 27 2007 Scott Seago <sseago at redhat.com> - 0.0.1-2
 - add puppet dependency
  
diff --git a/service/scripts/vf_import b/service/scripts/vf_import
index 42662e5..bd48599 100755
--- a/service/scripts/vf_import
+++ b/service/scripts/vf_import
@@ -99,7 +99,7 @@ class VirtFactoryImporter:
         profile_member = self.tarball.getmember("profile.xml")
         profile_xml = self.tarball.extractfile(profile_member)
         self.profile = parse(profile_xml)
-        self.module_name = self.get_node_text(NAME_TAG)
+        self.module_name = self.get_node_text(NAME_TAG).lower()
         
         for member in self.tarball.getmembers():
             if (re.search(PROFILE_REGEXP, member.name)):

hooks/update
---
Git Source Code Management System
hooks/update refs/heads/master \
  807b295c6195a3e092494e18db3b1942fa898adf \
  5a61622360540e5129ab8ed124968768c5fe1699




More information about the Et-mgmt-commits-list mailing list