Beispiel #1
0
 def setUp(self):
     import os.path
     from comoonics.cluster.ComClusterRepository import ClusterRepository
     super(test_ClusterRepository, self).setUp()
     #create comclusterRepository Object
     self.clusterRepository = ClusterRepository(
         os.path.join(self._testpath, "cluster2.conf"))
Beispiel #2
0
 def __init__(self):
     import comoonics.cluster
     from comoonics.cluster.ComClusterRepository import ClusterRepository
     from comoonics.cluster.ComClusterInfo import ClusterInfo
     doc=comoonics.cluster.parseClusterConf(os.path.join(testpath, "cluster.conf"))
 
     self.clusterRepository = ClusterRepository(doc.documentElement,doc)
     self.clusterinfo = ClusterInfo(self.clusterRepository)
 def __init__(self, query):
     from xml.dom.ext.reader import Sax2
     from comoonics.cluster.ComClusterRepository import ClusterRepository
     from comoonics.cluster.ComClusterInfo import ClusterInfo
     ClusterAssistantHelper.__init__(self, query)
     self.error=False
     # create Reader object
     try:
         reader = Sax2.Reader()
         _file = open("/etc/cluster/cluster.conf", "r")
         reader = Sax2.Reader()
         doc = reader.fromStream(_file)
         #create comclusterRepository Object
         clusterRepository = ClusterRepository(doc.documentElement, doc)
         #create comclusterinfo object
         self.clusterInfo = ClusterInfo(clusterRepository)
     except Exception, e:
         ComLog.getLogger(__logStrLevel__).error("Error parsing cluster.conf %s" %e)
         ComLog.errorTraceLog()       
         self.error=True
Beispiel #4
0
    def init(self):
        import os.path
        from comoonics.cluster.ComClusterRepository import ClusterRepository
        from comoonics.cluster.ComClusterInfo import ClusterInfo
        from comoonics import ComSystem
        ComSystem.setExecMode(ComSystem.SIMULATE)
        super(test_ClusterNode, self).init()
        #create comclusterRepository Object
        self.clusterRepository = ClusterRepository(
            os.path.join(self._testpath, "cluster2.conf"))

        #create comclusterinfo object
        self.clusterInfo = ClusterInfo(self.clusterRepository)

        # setup the cashes for clustat for redhat cluster
        self.clusterInfo.helper.setSimOutput()
        self.nics = list()
        for node in self.clusterInfo.getNodes():
            node.helper.output = self.clusterInfo.helper.output
            for nic in node.getNics():
                self.nics.append(nic)
def test(clustername="testcluster",
         numnodes=5,
         usehostnames=False,
         rootvolume="/dev/vg_testcluster_sr/lv_sharedroot",
         netdev="eth0"):
    logging.basicConfig()
    from xml.dom.ext import PrettyPrint
    defaults = {
        "cluster": {
            "config_version": "1",
            "name": "clurcent5",
            "cman": {
                "expected_votes": "1",
                "two_node": "0"
            },
            "clusternodes": {
                "clusternode": [{
                    "nodeid": "N",
                    "name": "gfs-nodeN",
                    "votes": "1",
                    "com_info": {
                        "rootvolume": {
                            "name": "/dev/VG_SHAREDROOT/LV_SHAREDROOT"
                        },
                        "eth": [{
                            "ip": "10.0.0.0",
                            "name": "eth0"
                        }],
                        "fenceackserver": {
                            "passwd": "XXX",
                            "user": "******"
                        }
                    },
                    "fence": {
                        "method": {
                            "name": "1"
                        }
                    }
                }]
            },
            "fencedevices": {},
            "rm": {
                "failoverdomains": {},
                "resources": {}
            }
        }
    }
    log.setLevel(logging.DEBUG)
    log.debug("Setting up cluster %s" % clustername)
    osrcluster = OSRCluster(clustername, usehostnames, numnodes)
    for i in range(1, 6):
        _node = OSRClusterNode(osrcluster, "name%u" % i, rootvolume)
        _node.rootvol = rootvolume
        _node.addNetdev(OSRClusterNodeNetdev(_node, netdev))
        _node.getNetdev(netdev).mac = "00:00:00:xx:0%u" % i
        _node.getNetdev(netdev).ip = "dhcp"
        osrcluster.addNode(_node)
    log.debug("Cluster: %s" % osrcluster)
    log.debug("Cluster as hash: %s" % osrcluster.toHash())
    from comoonics.cluster.ComClusterRepository import ClusterRepository
    _tmp = ClusterRepository(None, None, osrcluster.toHash(), defaults)

    log.debug("To cluster.conf: ")
    PrettyPrint(_tmp.getDocument())