Ejemplo n.º 1
0
def scale_cluster(cluster, instances):
    if not instances:
        return

    if not cmd.is_pre_installed_cdh(instances[0].remote()):
        _configure_os(instances)
        _install_packages(instances, PACKAGES)

    _start_cloudera_agents(instances)
    _await_agents(instances)
    for instance in instances:
        _configure_instance(instance)
        cu.update_configs(instance)

        if 'DATANODE' in instance.node_group.node_processes:
            cu.refresh_nodes(cluster, 'DATANODE', cu.HDFS_SERVICE_NAME)

        _configure_swift_to_inst(instance)

        if 'DATANODE' in instance.node_group.node_processes:
            hdfs = cu.get_service('DATANODE', instance=instance)
            cu.start_roles(hdfs, cu.get_role_name(instance, 'DATANODE'))

        if 'NODEMANAGER' in instance.node_group.node_processes:
            yarn = cu.get_service('NODEMANAGER', instance=instance)
            cu.start_roles(yarn, cu.get_role_name(instance, 'NODEMANAGER'))
Ejemplo n.º 2
0
def scale_cluster(cluster, instances):
    if not instances:
        return

    if not cmd.is_pre_installed_cdh(instances[0].remote()):
        _configure_os(instances)
        _install_packages(instances, PACKAGES)

    _start_cloudera_agents(instances)
    _await_agents(instances)
    for instance in instances:
        _configure_instance(instance)
        cu.update_configs(instance)

        if 'DATANODE' in instance.node_group.node_processes:
            cu.refresh_nodes(cluster, 'DATANODE', cu.HDFS_SERVICE_NAME)

        _configure_swift_to_inst(instance)

        if 'DATANODE' in instance.node_group.node_processes:
            hdfs = cu.get_service('DATANODE', instance=instance)
            cu.start_roles(hdfs, cu.get_role_name(instance, 'DATANODE'))

        if 'NODEMANAGER' in instance.node_group.node_processes:
            yarn = cu.get_service('NODEMANAGER', instance=instance)
            cu.start_roles(yarn, cu.get_role_name(instance, 'NODEMANAGER'))
Ejemplo n.º 3
0
def _add_role(instance, process):
    if process in ["MANAGER"]:
        return

    service = cu.get_service(process, instance=instance)
    role = service.create_role(cu.get_role_name(instance, process), process, instance.fqdn())
    role.update_config(_get_configs(process, node_group=instance.node_group))
Ejemplo n.º 4
0
def _add_role(instance, process):
    if process in ['MANAGER']:
        return

    service = cu.get_service(process, instance=instance)
    role = service.create_role(cu.get_role_name(instance, process), process,
                               instance.fqdn())
    role.update_config(_get_configs(process, node_group=instance.node_group))
Ejemplo n.º 5
0
def _add_role(instance, process):
    if process in ['CLOUDERA_MANAGER']:
        return

    process = pu.convert_role_showname(process)
    service = cu.get_service(process, instance=instance)
    role = service.create_role(cu.get_role_name(instance, process),
                               process, instance.fqdn())
    role.update_config(_get_configs(process, node_group=instance.node_group))
Ejemplo n.º 6
0
    def test_get_service(self, mock_get_cl_cluster):
        self.assertRaises(ValueError, cu.get_service, 'NAMENODE')

        cluster = ctu.get_fake_cluster()
        inst = cluster.node_groups[0].instances[0]
        mock_get_cl_cluster.return_value = None

        self.assertRaises(ValueError, cu.get_service, 'spam', cluster)
        self.assertRaises(ValueError, cu.get_service, 'spam', instance=inst)

        mock_get_cl_cluster.reset_mock()

        mock_get_service = mock.MagicMock()
        mock_get_service.get_service.return_value = mock.Mock()
        mock_get_cl_cluster.return_value = mock_get_service

        cu.get_service('NAMENODE', cluster)
        args = ((cu.HDFS_SERVICE_NAME,),)
        self.assertEqual(args, mock_get_service.get_service.call_args)

        mock_get_service.reset_mock()
        cu.get_service('JOBHISTORY', instance=inst)
        args = ((cu.YARN_SERVICE_NAME,),)
        self.assertEqual(args, mock_get_service.get_service.call_args)

        mock_get_service.reset_mock()
        cu.get_service('OOZIE_SERVER', cluster)
        args = ((cu.OOZIE_SERVICE_NAME,),)
        self.assertEqual(args, mock_get_service.get_service.call_args)
Ejemplo n.º 7
0
    def test_get_service(self, mock_get_cl_cluster):
        self.assertRaises(ValueError, cu.get_service, 'NAMENODE')

        cluster = ctu.get_fake_cluster()
        inst = cluster.node_groups[0].instances[0]
        mock_get_cl_cluster.return_value = None

        self.assertRaises(ValueError, cu.get_service, 'spam', cluster)
        self.assertRaises(ValueError, cu.get_service, 'spam', instance=inst)

        mock_get_cl_cluster.reset_mock()

        mock_get_service = mock.MagicMock()
        mock_get_service.get_service.return_value = mock.Mock()
        mock_get_cl_cluster.return_value = mock_get_service

        cu.get_service('NAMENODE', cluster)
        args = ((cu.HDFS_SERVICE_NAME, ), )
        self.assertEqual(args, mock_get_service.get_service.call_args)

        mock_get_service.reset_mock()
        cu.get_service('JOBHISTORY', instance=inst)
        args = ((cu.YARN_SERVICE_NAME, ), )
        self.assertEqual(args, mock_get_service.get_service.call_args)

        mock_get_service.reset_mock()
        cu.get_service('OOZIE_SERVER', cluster)
        args = ((cu.OOZIE_SERVICE_NAME, ), )
        self.assertEqual(args, mock_get_service.get_service.call_args)