示例#1
0
 def test_create_ambari_service(self):
     service = s.create_service('AMBARI')
     self.assertEqual('AMBARI', service.name)
     expected_configs = set(['global', 'core-site'])
     self.assertEqual(expected_configs,
                      expected_configs & service.configurations)
     self.assertTrue(service.is_mandatory())
示例#2
0
 def test_create_oozie_service(self):
     service = s.create_service('OOZIE')
     self.assertEqual('OOZIE', service.name)
     expected_configs = set(['global', 'core-site', 'oozie-site'])
     self.assertEqual(expected_configs,
                      expected_configs & service.configurations)
     self.assertFalse(service.is_mandatory())
示例#3
0
 def test_create_ganglia_service(self):
     service = s.create_service('GANGLIA')
     self.assertEqual('GANGLIA', service.name)
     expected_configs = set(['global', 'core-site'])
     self.assertEqual(expected_configs,
                      expected_configs & service.configurations)
     self.assertFalse(service.is_mandatory())
示例#4
0
 def test_create_webhcat_service(self):
     service = s.create_service('WEBHCAT')
     self.assertEqual('WEBHCAT', service.name)
     expected_configs = set(['global', 'core-site', 'webhcat-site'])
     self.assertEqual(expected_configs,
                      expected_configs & service.configurations)
     self.assertFalse(service.is_mandatory())
示例#5
0
 def test_create_mr_service(self):
     service = s.create_service('MAPREDUCE')
     self.assertEqual('MAPREDUCE', service.name)
     expected_configs = set(['global', 'core-site', 'mapred-site'])
     self.assertEqual(expected_configs,
                      expected_configs & service.configurations)
     self.assertTrue(service.is_mandatory())
示例#6
0
    def test_create_sqoop_service(self, patched):
        service = s.create_service('SQOOP')
        self.assertEqual('SQOOP', service.name)
        expected_configs = set(['global', 'core-site'])
        self.assertEqual(expected_configs,
                         expected_configs & service.configurations)
        self.assertFalse(service.is_mandatory())

        # ensure that hdfs and mr clients are added implicitly
        master_host = hdp_test_base.TestServer(
            'master.novalocal', 'master', '11111', 3,
            '111.11.1111', '222.11.1111')
        master_ng = hdp_test_base.TestNodeGroup(
            'master', [master_host], ["NAMENODE", "JOBTRACKER",
            "SECONDARY_NAMENODE", "TASKTRACKER", "DATANODE", "AMBARI_SERVER"])
        sqoop_host = hdp_test_base.TestServer(
            'sqoop.novalocal', 'sqoop', '11111', 3,
            '111.11.1111', '222.11.1111')
        sqoop_ng = hdp_test_base.TestNodeGroup(
            'sqoop', [sqoop_host], ["SQOOP"])
        cluster = hdp_test_base.TestCluster([master_ng, sqoop_ng])

        cluster_spec = hdp_test_base.create_clusterspec()
        cluster_spec.create_operational_config(cluster, [])

        components = cluster_spec.get_node_groups_containing_component(
            'SQOOP')[0].components
        self.assertIn('HDFS_CLIENT', components)
        self.assertIn('MAPREDUCE_CLIENT', components)
示例#7
0
    def _parse_services(self, template_json):
        for s in template_json['services']:
            name = s['name']
            service = services.create_service(name)

            self.services.append(service)
            for c in s['components']:
                component = Component(c['name'], c['type'], c['cardinality'])
                service.add_component(component)

            if 'users' in s:
                for u in s['users']:
                    user = User(u['name'], u['password'], u['groups'])
                    service.add_user(user)

            configs = self._parse_configurations(s)
            for config in configs:
                service.add_configuration(config)
示例#8
0
    def test_get_storage_paths(self):
        service = s.create_service('AMBARI')
        ng1 = TestNodeGroup(None, None, None)
        ng1.storage_paths = ['/mnt', '/volume/disk1']
        ng2 = TestNodeGroup(None, None, None)
        ng2.storage_paths = ['/mnt']

        paths = service._get_common_paths([ng1, ng2])
        self.assertEqual(['/mnt'], paths)

        ng3 = TestNodeGroup(None, None, None)
        ng1.storage_paths = ['/mnt', '/volume/disk1', '/volume/disk2']
        ng2.storage_paths = ['/mnt']
        ng3.storage_paths = ['/mnt', '/volume/disk1']

        paths = service._get_common_paths([ng1, ng2, ng3])
        self.assertEqual(['/mnt'], paths)

        ng1.storage_paths = ['/mnt', '/volume/disk1', '/volume/disk2']
        ng2.storage_paths = ['/mnt', '/volume/disk1']
        ng3.storage_paths = ['/mnt', '/volume/disk1']

        paths = service._get_common_paths([ng1, ng2, ng3])
        self.assertEqual(['/volume/disk1'], paths)