[Et-mgmt-commits-list] [SCM] virt-factory branch, master now at 9a7a1e5778b72fc947a5604876cc47a0bab7d0ed
Michael DeHaan
mdehaan at redhat.com
Thu Apr 19 16:51:36 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 9a7a1e5778b72fc947a5604876cc47a0bab7d0ed (commit)
from e2033a4f504ee89dafa94f2bcf9513f37056ed82 (commit)
- Log -----------------------------------------------------------------
commit 9a7a1e5778b72fc947a5604876cc47a0bab7d0ed
Author: Michael DeHaan <mdehaan at mdehaan.rdu.redhat.com>
Date: Thu Apr 19 12:52:54 2007 -0400
Modify config object class slightly -- the new-style singleton was calling
init on each call to new, even though it was returning the same ID. Also
some miscellaneous cleanup.
New style config syncing now works again, cobbler should also be upgraded
to HEAD.
-----------------------------------------------------------------------
Diffstat:
service/modules/config.py | 1 -
service/modules/deployment.py | 4 ++--
service/modules/distribution.py | 2 +-
service/modules/machine.py | 8 +++-----
service/modules/profile.py | 2 +-
service/modules/provisioning.py | 33 +++++++++++++++++----------------
service/server/config_data.py | 11 ++++++++++-
7 files changed, 34 insertions(+), 27 deletions(-)
diff --git a/service/modules/config.py b/service/modules/config.py
index 62d7cc8..c06e84b 100755
--- a/service/modules/config.py
+++ b/service/modules/config.py
@@ -40,7 +40,6 @@ class Config(web_svc.AuthWebSvc):
def list(self, config_args=None):
return success(self.config_data)
-
methods = Config()
register_rpc = methods.register_rpc
diff --git a/service/modules/deployment.py b/service/modules/deployment.py
index fe3c8ee..1faac4a 100755
--- a/service/modules/deployment.py
+++ b/service/modules/deployment.py
@@ -24,12 +24,12 @@ import web_svc
import task
import regtoken
import provisioning
+from server import config_data
import subprocess
import socket
import traceback
import threading
-import cobbler.api
@@ -162,7 +162,7 @@ class Deployment(web_svc.AuthWebSvc):
})
def cobbler_sync(self, data):
- cobbler_api = cobbler.api.BootAPI()
+ cobbler_api = config_data.Config().cobbler_api
profiles = profile.Profile().list(None, {}).data
provisioning.CobblerTranslatedSystem(cobbler_api, profiles, data, is_virtual=True)
diff --git a/service/modules/distribution.py b/service/modules/distribution.py
index 3fe1207..63dac2f 100755
--- a/service/modules/distribution.py
+++ b/service/modules/distribution.py
@@ -143,7 +143,7 @@ class Distribution(web_svc.AuthWebSvc):
return result
def cobbler_sync(self, data):
- cobbler_api = cobbler.api.BootAPI()
+ cobbler_api = config_data.Config().cobbler_api
provisioning.CobblerTranslatedDistribution(cobbler_api, data)
def edit(self, token, dist_args):
diff --git a/service/modules/machine.py b/service/modules/machine.py
index 39854a5..b901c21 100755
--- a/service/modules/machine.py
+++ b/service/modules/machine.py
@@ -23,6 +23,7 @@ import provisioning
import web_svc
import regtoken
import deployment
+from server import config_data
import threading
import traceback
@@ -165,12 +166,9 @@ class Machine(web_svc.AuthWebSvc):
return result
def cobbler_sync(self, data):
- cobbler_api = cobbler.api.BootAPI()
- print "--- HERE WE GO!"
- for p in cobbler_api.profiles():
- print "PROFILE: ", p
+ cobbler_api = config_data.Config().cobbler_api
profiles = profile.Profile().list(None, {}).data
- provisioning.Provisioning().sync(None,None)
+ provisioning.CobblerTranslatedSystem(cobbler_api, profiles, data, is_virtual=True)
def new(self, token):
"""
diff --git a/service/modules/profile.py b/service/modules/profile.py
index e35299f..4816097 100755
--- a/service/modules/profile.py
+++ b/service/modules/profile.py
@@ -160,7 +160,7 @@ class Profile(web_svc.AuthWebSvc):
def cobbler_sync(self, data):
# make the corresponding cobbler calls.
- cobbler_api = cobbler.api.BootAPI()
+ cobbler_api = config_data.Config().cobbler_api
distributions = distribution.Distribution().list(None, {}).data
provisioning.CobblerTranslatedProfile(cobbler_api ,distributions, data)
diff --git a/service/modules/provisioning.py b/service/modules/provisioning.py
index 9900e3f..cfed934 100755
--- a/service/modules/provisioning.py
+++ b/service/modules/provisioning.py
@@ -29,7 +29,6 @@
# don't expect cobbler to validate it or otherwise fix it.
-import cobbler.api
from server.codes import *
from server import config_data
@@ -282,7 +281,7 @@ class CobblerTranslatedSystem:
self.logger = logger.Logger().logger
self.logger.debug("from_db is ...")
- self.logger.debug(from_db)
+ # self.logger.debug(from_db)
print "***************"
print from_db
if not from_db.has_key("mac_address") or from_db["mac_address"] is None:
@@ -426,8 +425,8 @@ class Provisioning(web_svc.AuthWebSvc):
# the server field might have changed.
try:
- cobbler_api = cobbler.api.BootAPI()
- cobbler_api.deserialize()
+ cobbler_api = config_data.Config().cobbler_api
+ #cobbler_api.deserialize()
cobbler_repos = cobbler_api.repos()
cobbler_distros = cobbler_api.distros()
cobbler_profiles = cobbler_api.profiles()
@@ -436,24 +435,26 @@ class Provisioning(web_svc.AuthWebSvc):
# cobbler_profiles.clear()
# cobbler_systems.clear()
# cobbler_repos.clear()
-
+ print "------------------- CHECK PROFILES ---- "
+ for p in cobbler_profiles:
+ print p
# cobbler can/will could raise exceptions on failure at any point...
# return code checking is not needed.
for r in vf_config["repos"].keys():
- print "- repository: %s" % r
- CobblerTranslatedRepo(cobbler_api,r,vf_config["repos"][r])
+ print "- repository: %s" % r
+ CobblerTranslatedRepo(cobbler_api,r,vf_config["repos"][r])
for d in distributions:
- print "- distribution: %s" % d
- CobblerTranslatedDistribution(cobbler_api,d)
+ print "- distribution: %s" % d
+ CobblerTranslatedDistribution(cobbler_api,d)
for i in profiles:
- print "- profile: %s" % i
- CobblerTranslatedProfile(cobbler_api,distributions,i)
+ print "- profile: %s" % i
+ CobblerTranslatedProfile(cobbler_api,distributions,i)
for p in machines:
- print "- machine: %s" % p
- CobblerTranslatedSystem(cobbler_api,profiles,p)
+ print "- machine: %s" % p
+ CobblerTranslatedSystem(cobbler_api,profiles,p)
for dp in deployments:
- print "- deployment: %s" % dp
- CobblerTranslatedSystem(cobbler_api,profiles,dp)
+ print "- deployment: %s" % dp
+ CobblerTranslatedSystem(cobbler_api,profiles,dp)
cobbler_api.serialize()
@@ -488,7 +489,7 @@ class Provisioning(web_svc.AuthWebSvc):
print ENOROOT
- cobbler_api = cobbler.api.BootAPI()
+ cobbler_api = config_data.Config().cobbler_api
# since cobbler is running in syncless mode, make sure sync
# has been run at least once with an empty config to create
# directories
diff --git a/service/server/config_data.py b/service/server/config_data.py
index fe0e871..b38c3f1 100755
--- a/service/server/config_data.py
+++ b/service/server/config_data.py
@@ -19,6 +19,7 @@ from codes import *
import os
import yaml
+from cobbler import api as cobbler_api
CONFIG_FILE = "/etc/virt-factory/settings"
@@ -31,8 +32,14 @@ class Singleton(object):
class Config(Singleton):
+
+ has_read = False
+
def __init__(self):
- self.read()
+ if not Config.has_read:
+ self.read()
+ print "***** CONFIG RELOAD *****"
+ Config.has_read = True
def read(self):
if not os.path.exists(CONFIG_FILE):
@@ -40,6 +47,8 @@ class Config(Singleton):
config_file = open(CONFIG_FILE)
data = config_file.read()
self.ds = yaml.load(data).next()
+ self.cobbler_api = cobbler_api.BootAPI()
+ self.cobbler_api.deserialize()
def get(self):
return self.ds
hooks/update
---
Git Source Code Management System
hooks/update refs/heads/master \
e2033a4f504ee89dafa94f2bcf9513f37056ed82 \
9a7a1e5778b72fc947a5604876cc47a0bab7d0ed
More information about the Et-mgmt-commits-list
mailing list