Ejemplo n.º 1
0
 def test_create_project_1_site(self):
     xmlfile = os.path.join(XML_FILE_LOCATION, "project_1_site.xml")
     tree = etree.parse(xmlfile)
     project = Project()
     project.configure_from_node(tree.getroot(), self.defaults, None)
     # see if the convenience functions are set correctly
     self.failUnlessEqual(len(project.get_sites()), 1)
Ejemplo n.º 2
0
    def setUp(self):
        optparser = BaseOptions()
        optparser.parseOptions([
            'dummyfile.xml',
            '--debug=%s' % logging._levelNames[log.level].lower()
        ])

        self.defaults = RawConfigParser()
        configfiles = self.defaults.read(TESTCONF)
        xmldata = """
<project name="testproj" code="01">
  <site name="sitea" type="primary" location="testlab">
    <filer name="filer1" type="filer">
      <vfiler name="vftest01">
        <aggregate type="root" name="aggr0"/>
        <aggregate name="aggr01">
          <volume name="blah">
          </volume>
        </aggregate>
      </vfiler>
    </filer>
  </site>
</project>
"""
        node = etree.fromstring(xmldata)
        self.project = Project()
        self.project.configure_from_node(node, self.defaults, None)
Ejemplo n.º 3
0
    def setUp(self):
        optparser = BaseOptions()
        optparser.parseOptions([
            'dummyfile.xml',
            '--debug=%s' % logging._levelNames[log.level].lower()
        ])

        self.defaults = RawConfigParser()
        configfiles = self.defaults.read(TESTCONF)
        self.defaults.get('global', 'dns_domain_name')

        xmldata = """
<project name="test" code="qtree">
  <site name="sitea" type="primary" location="testlab">
    <filer name="testfiler1" type="filer">
      <vfiler name="vfiler01" rootaggr="aggr0">
         <aggregate name="aggr01">
           <volume name="testvol1"/>
         </aggregate>
      </vfiler>
    </filer>
  </site>
</project>
"""

        node = etree.fromstring(xmldata)
        self.proj = Project()
        self.proj.configure_from_node(node, self.defaults, None)

        self.volume = self.proj.get_volumes()[0]
Ejemplo n.º 4
0
    def setUp(self):
        optparser = BaseOptions()
        optparser.parseOptions(['dummyfile.xml', '--debug=%s' % logging._levelNames[log.level].lower()])
        self.defaults = RawConfigParser()
        configfiles = self.defaults.read(TESTCONF)

        self.project = Project()
Ejemplo n.º 5
0
 def test_parse_clustered_nearstore(self):
     """
     Test parsing of clustered nearstore syntax
     """
     xmlfile = "clustered_nearstore.xml"
     filepath = os.path.join(XML_FILE_LOCATION, xmlfile)
     tree = etree.parse(filepath)
     project = Project()
     project.configure_from_node(tree.getroot(), self.defaults, None)
Ejemplo n.º 6
0
 def test_parse_drhostexports(self):
     """
     Test parsing of dr host exports syntax
     """
     xmlfile = "drhostexport_test.xml"
     filepath = os.path.join(XML_FILE_LOCATION, xmlfile)
     tree = etree.parse(filepath)
     project = Project()
     project.configure_from_node(tree.getroot(), self.defaults, None)
Ejemplo n.º 7
0
 def test_parse_minimal(self):
     """
     Test parsing of minimal XML file
     """
     xmlfile = "minimal_parsable_config.xml"
     filepath = os.path.join(XML_FILE_LOCATION, xmlfile)
     tree = etree.parse(filepath)
     project = Project()
     project.configure_from_node(tree.getroot(), self.defaults, None)
Ejemplo n.º 8
0
 def test_create_project_1_site_3_hosts(self):
     xmlfile = os.path.join(XML_FILE_LOCATION, "project_1_site_3_hosts.xml")
     tree = etree.parse(xmlfile)
     project = Project()
     project.configure_from_node(tree.getroot(), self.defaults, None)
     self.failUnlessEqual(len(project.get_sites()), 1)
     site = project.get_sites()[0]
     hosts = project.get_sites()[0].get_hosts()
     self.failUnlessEqual(len(hosts), 3)
Ejemplo n.º 9
0
    def load_testfile(self, filename):
        """
        Load a test file for verifying functionality
        """
        filepath = os.path.join(XML_FILE_LOCATION, filename)
        tree = etree.parse(filepath)

        self.project = Project()
        self.project.configure_from_node(tree.getroot(), self.defaults, None)
        self.docgenerator = NetAppCommandsGenerator(self.project, self.defaults)
Ejemplo n.º 10
0
    def setUp(self):
        optparser = BaseOptions()
        optparser.parseOptions([
            'dummyfile.xml',
            '--debug=%s' % logging._levelNames[log.level].lower()
        ])

        self.defaults = RawConfigParser()
        configfiles = self.defaults.read(TESTCONF)
        xmldata = """
<project name="testproj" code="01">
  <site name="testprimary" type="primary">
    <vlan type="project" number="3003">
      <network number="10.240.4.0/26" gateway="10.240.4.254"/>
    </vlan>

    <filer type="filer" name="filer01">
      <vfiler>
        <ipaddress type="primary" ip="10.240.4.1"/>
        <aggregate name="aggr01" type="root"/>

	<aggregate name="aggr02">
          <volume>
            <setref type="snapvault" name="default_primary"/>
          </volume>
        </aggregate>

      </vfiler>
    </filer>

    <filer type="nearstore" name="nearstore01">

    </filer>

  </site>

  <snapvaultset name="default_primary" targetfiler="nearstore01" targetaggregate="aggr02">
    <snapvaultdef basename="sv_daily">
      <snapschedule>1@1</snapschedule>
      <snapvaultschedule>8@2</snapvaultschedule>
    </snapvaultdef>
    <snapvaultdef basename="sv_weekly">
      <snapvaultschedule>13@sun@3</snapvaultschedule>
    </snapvaultdef>
  </snapvaultset>

</project>
"""
        node = etree.fromstring(xmldata)
        self.project = Project()
        self.project.configure_from_node(node, self.defaults, None)

        self.docgen = NetAppCommandsGenerator(self.project, self.defaults)
Ejemplo n.º 11
0
    def setUp(self):
        optparser = BaseOptions()
        optparser.parseOptions([
            'dummyfile.xml',
            '--debug=%s' % logging._levelNames[log.level].lower()
        ])

        self.defaults = RawConfigParser()
        configfiles = self.defaults.read(TESTCONF)

        xmldata = """<project name="testproj1" code="01" title="Test Project 1"/>
"""
        self.project = Project()
Ejemplo n.º 12
0
    def setUp(self):
        optparser = BaseOptions()
        optparser.parseOptions([
            'dummyfile.xml',
            '--debug=%s' % logging._levelNames[log.level].lower()
        ])

        self.defaults = RawConfigParser()
        configfiles = self.defaults.read(TESTCONF)
        xmldata = """
<project name="testproj" code="01">
</project>
"""
        node = etree.fromstring(xmldata)
        self.project = Project()
        self.project.configure_from_node(node, self.defaults, None)
Ejemplo n.º 13
0
    def setUp(self):
        """
        Load testing XML into a config instance.
        """
        optparser = BaseOptions()
        optparser.parseOptions([
            'dummyfile.xml',
            '--debug=%s' % logging._levelNames[log.level].lower()
        ])

        self.defaults = RawConfigParser()
        configfiles = self.defaults.read(TESTCONF)

        xmlfile = os.path.join(XML_FILE_LOCATION, "drhostexport_test.xml")
        tree = etree.parse(xmlfile)
        self.project = Project()
        self.project.configure_from_node(tree.getroot(), self.defaults, None)
Ejemplo n.º 14
0
    def setUp(self):
        optparser = BaseOptions()
        optparser.parseOptions([
            'dummyfile.xml',
            '--debug=%s' % logging._levelNames[log.level].lower()
        ])
        self.defaults = RawConfigParser()
        configfiles = self.defaults.read(TESTCONF)

        xmldata = """
<project name="testproj" code="01">
  <site name="sitea" type="primary" location="testlab">

  <host name="sitea_host01" operatingsystem="linux" />
  <host name="sitea_host02" operatingsystem="windows" />
  <host name="sitea_host03" operatingsystem="solaris" />

  <vlan type="project" number="3001">
    <network number="10.20.30.1/26" gateway="10.20.30.254"/>
  </vlan>
    <filer name="filer1" type="filer">
      <vfiler name="vftest01" rootaggr="aggr0">
        <ipaddress type="primary" ip="10.20.30.1"/>
        <aggregate name="aggr01"/>
      </vfiler>
    </filer>
  </site>
</project>
"""
        node = etree.fromstring(xmldata)
        self.project = Project()
        self.project.configure_from_node(node, self.defaults, None)

        self.sitea = self.project.get_sites()[0]
        self.filer1 = self.sitea.get_filers()[0]
        self.vfiler1 = self.filer1.get_vfilers()[0]
        self.aggr1 = self.vfiler1.get_aggregates()[0]
Ejemplo n.º 15
0
    # Dynamic namespace information that is passed into document generators
    ns = {}

    # Load configuration file
    defaults = RawConfigParser()
    parsedfiles = defaults.read(optparser.options.configfile)
    if len(parsedfiles) == 0:
        raise ValueError("Cannot load configuration file: %s" %
                         optparser.options.configfile)

    # Load the document generation plugins
    doc_plugins = load_doc_plugins(defaults)

    try:
        # load the configuration from a config file
        proj = Project()
        tree = etree.parse(optparser.options.definitionfile)
        proj.configure_from_node(tree.getroot(), defaults, None)

    except:
        log.critical("Cannot load configuration. Unhandled error condition:")
        import traceback
        traceback.print_exc()
        sys.exit(1)
        pass

    # Use the '-d' option to determine which document to generate
    docgen = doc_plugins[optparser.options.doctype](proj, defaults)
    #raise NotImplementedError("DocType of '%s' is not handled yet." % optparser.options.doctype)
    if optparser.options.outfile is not None:
        outf = open(optparser.options.outfile, "w")
Ejemplo n.º 16
0
 def test_create_project_bare(self):
     xmlfile = os.path.join(XML_FILE_LOCATION, "project_bare.xml")
     tree = etree.parse(xmlfile)
     project = Project()
     project.configure_from_node(tree.getroot(), self.defaults, None)