again
[plcapi.git] / PLC / Methods / GetBootMedium.py
index 1c4e6a4..083e08f 100644 (file)
@@ -12,8 +12,7 @@ from PLC.Auth import Auth
 
 from PLC.Nodes import Node, Nodes
 from PLC.Interfaces import Interface, Interfaces
-from PLC.InterfaceSettings import InterfaceSetting, InterfaceSettings
-from PLC.NodeTags import NodeTags
+from PLC.InterfaceTags import InterfaceTag, InterfaceTags
 
 # could not define this in the class..
 boot_medium_actions = [ 'node-preview',
@@ -197,7 +196,7 @@ class GetBootMedium(Method):
         file += 'DOMAIN_NAME="%s"\n' % domain
 
         # define various interface settings attached to the primary interface
-        settings = InterfaceSettings (self.api, {'interface_id':interface['interface_id']})
+        settings = InterfaceTags (self.api, {'interface_id':interface['interface_id']})
 
         categories = set()
         for setting in settings:
@@ -205,7 +204,7 @@ class GetBootMedium(Method):
                 categories.add(setting['category'])
         
         for category in categories:
-            category_settings = InterfaceSettings(self.api,{'interface_id':interface['interface_id'],
+            category_settings = InterfaceTags(self.api,{'interface_id':interface['interface_id'],
                                                               'category':category})
             if category_settings:
                 file += '### Category : %s\n'%category
@@ -234,15 +233,11 @@ class GetBootMedium(Method):
             return (pldistro,arch)
 
         node_id=node['node_id']
-        # cannot use accessors in the API itself
-        # the 'arch' tag type is assumed to exist, see db-config
-        arch_tags = NodeTags (self.api, {'tagname':'arch','node_id':node_id},['tagvalue'])
-        if arch_tags:
-            arch=arch_tags[0]['tagvalue']
-        # ditto
-        pldistro_tags = NodeTags (self.api, {'tagname':'pldistro','node_id':node_id},['tagvalue'])
-        if pldistro_tags:
-            pldistro=pldistro_tags[0]['tagvalue']
+
+        tag=Nodes(self.api,[node_id],['arch'])[0]['arch']
+        if tag: arch=tag
+        tag=Nodes(self.api,[node_id],['pldistro'])[0]['pldistro']
+        if tag: pldistro=tag
 
         return (pldistro,arch)
 
@@ -297,8 +292,7 @@ class GetBootMedium(Method):
                 elif option.find("serial:") == 0:
                     build_sh_spec['serial']=option.replace("serial:","")
                 elif option == "no-hangcheck":
-                    build_sh_spec['kargs'].append('hcheck_reboot=0')
-                    build_sh_spec['kargs'].append('debug')
+                    build_sh_spec['kargs'].append('hcheck_reboot0')
                 else:
                     raise PLCInvalidArgument, "unknown option %s"%option