Changeset 1135


Ignore:
Timestamp:
11/22/06 11:10:27 (6 years ago)
Author:
mglb1
Message:

Refactor service initialisation

  • Remove the concept of service modules
  • Services are now normal modules that happen to contain a class derived from ccs_service
  • registerService should be called from ccs_init
Location:
ccsd
Files:
1 added
2 deleted
2 edited
9 copied

Legend:

Unmodified
Added
Removed
  • ccsd/private/modules/ccs_amplet.py

    r1128 r1135  
    2020from crcnetd.modules.ccs_contact import addGroup, getGroupID, getContacts, \ 
    2121        isGroupMemberU, getGroup, getMembers 
     22 
     23ccs_mod_type = CCSD_SERVER 
    2224 
    2325GROUP_PROPERTY = "amplet_group" 
     
    171173        return service_id 
    172174 
    173 registerService(amplet_service) 
     175def ccs_init(): 
     176    registerService(amplet_service) 
  • ccsd/private/modules/ccs_dhcp.py

    r1128 r1135  
    2020from crcnetd.modules.ccs_link import validateLinkClassId, ccs_link, \ 
    2121        getInterfaceLink 
     22 
     23ccs_mod_type = CCSD_SERVER 
    2224 
    2325NS1_PROPERTY = "ns1" 
     
    337339        return service_id 
    338340 
    339      
    340 registerService(dhcp_service) 
     341def ccs_init(): 
     342    registerService(dhcp_service) 
  • ccsd/private/modules/ccs_firewall.py

    r1128 r1135  
    2020from crcnetd.modules.ccs_contact import addGroup, getGroupID, getContacts, \ 
    2121        isGroupMemberU, getGroup, getMembers 
     22 
     23ccs_mod_type = CCSD_SERVER 
    2224 
    2325NAGIOS_GROUP_NAME = "Nagios Contacts" 
     
    7678        return service_id 
    7779 
    78 registerService(firewall_service) 
     80def ccs_init(): 
     81    registerService(firewall_service) 
  • ccsd/private/modules/ccs_nagios.py

    r1128 r1135  
    2020from crcnetd.modules.ccs_contact import addGroup, getGroupID, getContacts, \ 
    2121        isGroupMemberU, getGroup, getMembers 
     22 
     23ccs_mod_type = CCSD_SERVER 
    2224 
    2325NAGIOS_GROUP_NAME = "Nagios Contacts" 
     
    200202    return hostlist 
    201203 
    202 registerService(nagios_service) 
     204def ccs_init(): 
     205    registerService(nagios_service) 
  • ccsd/private/modules/ccs_quagga.py

    r1128 r1135  
    1919 
    2020from crcnetd.modules.ccs_link import validateLinkClassId, ccs_link 
     21 
     22ccs_mod_type = CCSD_SERVER 
    2123 
    2224TELNETPASS_PROPERTY = "telnet_password" 
     
    531533    return 
    532534 
    533      
    534 registerService(quagga_service) 
     535def ccs_init(): 
     536    registerService(quagga_service) 
  • ccsd/trunk/crcnetd/__init__.py

    r1055 r1135  
    324324    # Initialise services 
    325325    processClassMethods(ccsd_service) 
    326     try: 
    327         ccsd_service.loadServiceModules() 
    328     except: 
    329         log_fatal("Failed to load service modules!", sys.exc_info()) 
    330326    
    331327    # Initialise the certificate authority 
  • ccsd/trunk/crcnetd/_utils/ccsd_service.py

    r888 r1135  
    678678    except: 
    679679        log_error("Failed to register service!", sys.exc_info()) 
    680  
    681 def loadServiceModules(): 
    682     """Look through the services directory for services to import""" 
    683     global serviceLibDir 
    684      
    685     # Load configuration data 
    686     serviceLibDir = config_get("ccsd", "service_lib_dir", \ 
    687             DEFAULT_SERVICE_LIB_DIR) 
    688     serviceDataDir = config_get("ccsd", "service_data_dir", \ 
    689             DEFAULT_SERVICE_DATA_DIR) 
    690  
    691     # Add the service dir to the import path 
    692     sys.path.append(serviceLibDir) 
    693      
    694     for mfile in os.listdir(serviceLibDir): 
    695         # Skip directories, files not matching pattern 
    696         if os.path.isdir("%s/%s" % (serviceLibDir, mfile)) or \ 
    697                 mfile == "__init__.py" or \ 
    698                 re.compile(".*\\.py$").match(mfile) == None: 
    699             continue 
    700         sName = mfile[:len(mfile)-3] 
    701         try: 
    702             exec "import %s as %s" % (sName, sName) 
    703             # Look for class methods to be registered with XMLRPC 
    704             processClassMethods(eval("%s" % sName)) 
    705         except: 
    706             log_error("Failed to load service '%s'!" % sName, \ 
    707                     sys.exc_info()) 
  • ccsd/trunk/crcnetd/modules/ccs_hostapd.py

    r1134 r1135  
    2626from crcnetd._utils.ccsd_service import ccsd_service, ccs_service_error, \ 
    2727        registerService 
     28 
     29ccs_mod_type = CCSD_SERVER 
    2830 
    2931class hostapd_error(ccs_service_error): 
     
    7072        return service_id 
    7173 
    72 registerService(hostapd_service) 
     74def ccs_init(): 
     75    registerService(hostapd_service) 
Note: See TracChangeset for help on using the changeset viewer.