예제 #1
0
    def test_write_host_stack_list(self, list_mock, exists_mock):
        exists_mock.return_value = True
        list_mock.return_value = ["1.1.1.1-1234", "current", "test"]

        tmpfile = tempfile.mktemp()

        config = ConfigParser.RawConfigParser()
        config.add_section('agent')
        config.set('agent', 'prefix', os.path.dirname(tmpfile))

        handler = HostCheckReportFileHandler(config)

        mydict = {}
        mydict['hostHealth'] = {}
        mydict['stackFoldersAndFiles'] = [{
            'name': '/a/b',
            'type': 'directory'
        }, {
            'name': '/a/b.txt',
            'type': 'file'
        }]

        handler.writeHostCheckFile(mydict)

        configValidator = ConfigParser.RawConfigParser()
        configPath = os.path.join(os.path.dirname(tmpfile),
                                  HostCheckReportFileHandler.HOST_CHECK_FILE)
        configValidator.read(configPath)

        paths = configValidator.get('directories', 'dir_list')
        self.chkItemsEqual(
            paths,
            ['/a/b', '/a/b.txt', '/usr/hdp/1.1.1.1-1234', '/usr/hdp/current'])
  def test_write_host_check_report(self):
    tmpfile = tempfile.mktemp()

    config = ConfigParser.RawConfigParser()
    config.add_section('agent')
    config.set('agent', 'prefix', os.path.dirname(tmpfile))

    handler = HostCheckReportFileHandler(config)

    dict = {}
    dict['hostHealth'] = {}
    dict['existingUsers'] = [{'name':'user1', 'homeDir':'/var/log', 'status':'Exists'}]
    dict['alternatives'] = [
      {'name':'/etc/alternatives/hadoop-conf', 'target':'/etc/hadoop/conf.dist'},
      {'name':'/etc/alternatives/hbase-conf', 'target':'/etc/hbase/conf.1'}
    ]
    dict['stackFoldersAndFiles'] = [{'name':'/a/b', 'type':'directory'},{'name':'/a/b.txt', 'type':'file'}]
    dict['hostHealth']['activeJavaProcs'] = [
      {'pid':355,'hadoop':True,'command':'some command','user':'******'},
      {'pid':455,'hadoop':True,'command':'some command','user':'******'}
    ]
    dict['installedPackages'] = [
      {'name':'hadoop','version':'3.2.3','repoName':'HDP'},
      {'name':'hadoop-lib','version':'3.2.3','repoName':'HDP'}
    ]
    dict['existingRepos'] = ['HDP', 'HDP-epel']
    handler.writeHostCheckFile(dict)

    configValidator = ConfigParser.RawConfigParser()
    configPath = os.path.join(os.path.dirname(tmpfile), HostCheckReportFileHandler.HOST_CHECK_FILE)
    configValidator.read(configPath)
    users = configValidator.get('users', 'usr_list')
    homedirs = configValidator.get('users', 'usr_homedir_list')
    self.assertEquals(users, 'user1')
    self.assertEquals(homedirs, '/var/log')

    names = configValidator.get('alternatives', 'symlink_list')
    targets = configValidator.get('alternatives', 'target_list')
    self.chkItemsEqual(names, ['/etc/alternatives/hadoop-conf', '/etc/alternatives/hbase-conf'])
    self.chkItemsEqual(targets, ['/etc/hadoop/conf.dist','/etc/hbase/conf.1'])

    paths = configValidator.get('directories', 'dir_list')
    self.chkItemsEqual(paths, ['/a/b','/a/b.txt'])

    procs = configValidator.get('processes', 'proc_list')
    self.chkItemsEqual(procs, ['455', '355'])

    pkgs = configValidator.get('packages', 'pkg_list')
    self.chkItemsEqual(pkgs, ['hadoop', 'hadoop-lib'])

    repos = configValidator.get('repositories', 'repo_list')
    self.chkItemsEqual(repos, ['HDP', 'HDP-epel'])

    time = configValidator.get('metadata', 'created')
    self.assertTrue(time != None)
  def test_write_host_check_report(self):
    tmpfile = tempfile.mktemp()

    config = ConfigParser.RawConfigParser()
    config.add_section('agent')
    config.set('agent', 'prefix', os.path.dirname(tmpfile))

    handler = HostCheckReportFileHandler(config)

    dict = {}
    dict['hostHealth'] = {}
    dict['existingUsers'] = [{'name':'user1', 'homeDir':'/var/log', 'status':'Exists'}]
    dict['alternatives'] = [
      {'name':'/etc/alternatives/hadoop-conf', 'target':'/etc/hadoop/conf.dist'},
      {'name':'/etc/alternatives/hbase-conf', 'target':'/etc/hbase/conf.1'}
    ]
    dict['stackFoldersAndFiles'] = [{'name':'/a/b', 'type':'directory'},{'name':'/a/b.txt', 'type':'file'}]
    dict['hostHealth']['activeJavaProcs'] = [
      {'pid':355,'hadoop':True,'command':'some command','user':'******'},
      {'pid':455,'hadoop':True,'command':'some command','user':'******'}
    ]
    dict['installedPackages'] = [
      {'name':'hadoop','version':'3.2.3','repoName':'HDP'},
      {'name':'hadoop-lib','version':'3.2.3','repoName':'HDP'}
    ]
    dict['existingRepos'] = ['HDP', 'HDP-epel']
    handler.writeHostCheckFile(dict)

    configValidator = ConfigParser.RawConfigParser()
    configPath = os.path.join(os.path.dirname(tmpfile), HostCheckReportFileHandler.HOST_CHECK_FILE)
    configValidator.read(configPath)
    users = configValidator.get('users', 'usr_list')
    homedirs = configValidator.get('users', 'usr_homedir_list')
    self.assertEquals(users, 'user1')
    self.assertEquals(homedirs, '/var/log')

    names = configValidator.get('alternatives', 'symlink_list')
    targets = configValidator.get('alternatives', 'target_list')
    self.chkItemsEqual(names, ['/etc/alternatives/hadoop-conf', '/etc/alternatives/hbase-conf'])
    self.chkItemsEqual(targets, ['/etc/hadoop/conf.dist','/etc/hbase/conf.1'])

    paths = configValidator.get('directories', 'dir_list')
    self.chkItemsEqual(paths, ['/a/b','/a/b.txt'])

    procs = configValidator.get('processes', 'proc_list')
    self.chkItemsEqual(procs, ['455', '355'])

    pkgs = configValidator.get('packages', 'pkg_list')
    self.chkItemsEqual(pkgs, ['hadoop', 'hadoop-lib'])

    repos = configValidator.get('repositories', 'repo_list')
    self.chkItemsEqual(repos, ['HDP', 'HDP-epel'])

    time = configValidator.get('metadata', 'created')
    self.assertTrue(time != None)
  def test_write_host_check_report_really_empty(self):
    tmpfile = tempfile.mktemp()

    config = ConfigParser.RawConfigParser()
    config.add_section('agent')
    config.set('agent', 'prefix', os.path.dirname(tmpfile))

    handler = HostCheckReportFileHandler(config)
    dict = {}
    handler.writeHostCheckFile(dict)

    configValidator = ConfigParser.RawConfigParser()
    configPath = os.path.join(os.path.dirname(tmpfile), HostCheckReportFileHandler.HOST_CHECK_FILE)
    configValidator.read(configPath)
    if configValidator.has_section('users'):
      users = configValidator.get('users', 'usr_list')
      self.assertEquals(users, '')
  def test_write_host_check_report_really_empty(self):
    tmpfile = tempfile.mktemp()

    config = ConfigParser.RawConfigParser()
    config.add_section('agent')
    config.set('agent', 'prefix', os.path.dirname(tmpfile))

    handler = HostCheckReportFileHandler(config)
    dict = {}
    handler.writeHostCheckFile(dict)

    configValidator = ConfigParser.RawConfigParser()
    configPath = os.path.join(os.path.dirname(tmpfile), HostCheckReportFileHandler.HOST_CHECK_FILE)
    configValidator.read(configPath)
    if configValidator.has_section('users'):
      users = configValidator.get('users', 'usr_list')
      self.assertEquals(users, '')
    def test_write_host_check_report_empty(self):
        tmpfile = tempfile.mktemp()

        config = ConfigParser.RawConfigParser()
        config.add_section('agent')
        config.set('agent', 'prefix', os.path.dirname(tmpfile))

        handler = HostCheckReportFileHandler(config)
        dict = {}
        dict['hostHealth'] = {}
        dict['existingUsers'] = []
        dict['alternatives'] = []
        dict['stackFoldersAndFiles'] = []
        dict['hostHealth']['activeJavaProcs'] = []
        dict['installedPackages'] = []
        dict['existingRepos'] = []

        handler.writeHostCheckFile(dict)

        configValidator = ConfigParser.RawConfigParser()
        configPath = os.path.join(os.path.dirname(tmpfile),
                                  HostCheckReportFileHandler.HOST_CHECK_FILE)
        configValidator.read(configPath)
        users = configValidator.get('users', 'usr_list')
        users = configValidator.get('users', 'usr_homedir_list')
        self.assertEquals(users, '')
        names = configValidator.get('alternatives', 'symlink_list')
        targets = configValidator.get('alternatives', 'target_list')
        self.assertEquals(names, '')
        self.assertEquals(targets, '')

        paths = configValidator.get('directories', 'dir_list')
        self.assertEquals(paths, '')

        procs = configValidator.get('processes', 'proc_list')
        self.assertEquals(procs, '')

        pkgs = configValidator.get('packages', 'pkg_list')
        self.assertEquals(pkgs, '')

        repos = configValidator.get('repositories', 'repo_list')
        self.assertEquals(repos, '')

        time = configValidator.get('metadata', 'created')
        self.assertTrue(time != None)
  def test_write_host_check_report_empty(self):
    tmpfile = tempfile.mktemp()

    config = ConfigParser.RawConfigParser()
    config.add_section('agent')
    config.set('agent', 'prefix', os.path.dirname(tmpfile))

    handler = HostCheckReportFileHandler(config)
    dict = {}
    dict['hostHealth'] = {}
    dict['existingUsers'] = []
    dict['alternatives'] = []
    dict['stackFoldersAndFiles'] = []
    dict['hostHealth']['activeJavaProcs'] = []
    dict['installedPackages'] = []
    dict['existingRepos'] = []

    handler.writeHostCheckFile(dict)

    configValidator = ConfigParser.RawConfigParser()
    configPath = os.path.join(os.path.dirname(tmpfile), HostCheckReportFileHandler.HOST_CHECK_FILE)
    configValidator.read(configPath)
    users = configValidator.get('users', 'usr_list')
    users = configValidator.get('users', 'usr_homedir_list')
    self.assertEquals(users, '')
    names = configValidator.get('alternatives', 'symlink_list')
    targets = configValidator.get('alternatives', 'target_list')
    self.assertEquals(names, '')
    self.assertEquals(targets, '')

    paths = configValidator.get('directories', 'dir_list')
    self.assertEquals(paths, '')

    procs = configValidator.get('processes', 'proc_list')
    self.assertEquals(procs, '')

    pkgs = configValidator.get('packages', 'pkg_list')
    self.assertEquals(pkgs, '')

    repos = configValidator.get('repositories', 'repo_list')
    self.assertEquals(repos, '')

    time = configValidator.get('metadata', 'created')
    self.assertTrue(time != None)
  def test_write_host_stack_list(self, list_mock, exists_mock):
    exists_mock.return_value = True
    list_mock.return_value = ["1.1.1.1-1234", "current", "test"]

    tmpfile = tempfile.mktemp()

    config = ConfigParser.RawConfigParser()
    config.add_section('agent')
    config.set('agent', 'prefix', os.path.dirname(tmpfile))

    handler = HostCheckReportFileHandler(config)

    mydict = {}
    mydict['hostHealth'] = {}
    mydict['stackFoldersAndFiles'] = [{'name':'/a/b', 'type':'directory'},{'name':'/a/b.txt', 'type':'file'}]

    handler.writeHostCheckFile(mydict)

    configValidator = ConfigParser.RawConfigParser()
    configPath = os.path.join(os.path.dirname(tmpfile), HostCheckReportFileHandler.HOST_CHECK_FILE)
    configValidator.read(configPath)

    paths = configValidator.get('directories', 'dir_list')
    self.chkItemsEqual(paths, ['/a/b', '/a/b.txt', '/usr/hdp/1.1.1.1-1234', '/usr/hdp/current'])
예제 #9
0
 def __init__(self, config=None):
     self.config = config
     self.reportFileHandler = HostCheckReportFileHandler(config)
예제 #10
0
파일: check_host.py 프로젝트: soener/ambari
 def __init__(self):
   self.reportFileHandler = HostCheckReportFileHandler()
예제 #11
0
 def __init__(self):
     self.reportFileHandler = HostCheckReportFileHandler()
     self.pkg_provider = get_provider("Package")
예제 #12
0
 def __init__(self):
   self.reportFileHandler = HostCheckReportFileHandler()
   self.pkg_provider = ManagerFactory.get()