Sean Busbey created ACCUMULO-2376:
-------------------------------------

             Summary: functional test should not require host configuration 
files
                 Key: ACCUMULO-2376
                 URL: https://issues.apache.org/jira/browse/ACCUMULO-2376
             Project: Accumulo
          Issue Type: Bug
          Components: test
    Affects Versions: 1.5.1
         Environment: 1.5.1-rc2 on CDH4
            Reporter: Sean Busbey


I am running the functional tests against an ACCUMULO_CONF_DIR just for running 
tests. It contains only a minimal accumulo-env.sh and accumulo-site.xml. my 
test user does not have access to the /accumulo directory, the deployed 
instance's ACCUMULO_CONF_DIR, nor the deployed instance's secret.

Most tests fail with the same error about not being able to find the monitor, 
SunnyDay is an exemplar

{noformat}
[busbey@master2 auto]$ ls -lah /etc/accumulo/functional/
total 20K
drwxrwxrwx 2 accumulo accumulo 4.0K Feb 18 13:57 .
drwxrwxrwx 6 accumulo accumulo 4.0K Feb 18 12:42 ..
-rwxr-xr-x 1 root root 3.0K Feb 18 12:53 accumulo-env.sh
-rw-r--r-- 1 root root 3.8K Feb 18 13:40 accumulo-site.xml
[busbey@master2 auto]$ reset && ./run.py -f 4 -t SunnyDayTest -v10 | tee 
--append ~/accumulo-1.5.1-rc2-bin.functional_tests.log
<…. skip tests …>
13:41:13 runTest (simple.readwrite.SunnyDayTest) ............................ 
INFO:test.auto:killing accumulo processes everywhere
DEBUG:test.auto:master2.example.com: 
/home/busbey/accumulo-1.5.1-rc2/test/system/auto/pkill.sh 9 4035 
accumulo.config.file.*master2-9301
DEBUG:test.auto:master2.example.com: hadoop fs -rmr 
/user/busbey/accumulo-master2-9301
INFO:test.auto:Error output from command: rmr: DEPRECATED: Please use 'rm -r' 
instead.
rmr: `/user/busbey/accumulo-master2-9301': No such file or directory
DEBUG:test.auto:Exit code: 1
DEBUG:test.auto:master2.example.com: 
/home/busbey/accumulo-1.5.1-rc2/bin/accumulo init --clear-instance-name
DEBUG:test.auto:Output from command: Could not infer a Monitor role. You need 
to either define the MONITOR env variable, define 
"/etc/accumulo/functional//monitor", or make sure 
"/etc/accumulo/functional//masters" is non-empty.
INFO:test.auto:Error output from command: egrep: 
/etc/accumulo/functional//masters: No such file or directory
DEBUG:test.auto:Exit code: 1
DEBUG:test.auto:master2.example.com: 
/home/busbey/accumulo-1.5.1-rc2/bin/accumulo tserver
DEBUG:test.auto:master2.example.com: 
/home/busbey/accumulo-1.5.1-rc2/bin/accumulo monitor
DEBUG:test.auto:localhost: /home/busbey/accumulo-1.5.1-rc2/bin/accumulo 
org.apache.accumulo.server.master.state.SetGoalState NORMAL
DEBUG:test.auto:Output from command: Could not infer a Monitor role. You need 
to either define the MONITOR env variable, define 
"/etc/accumulo/functional//monitor", or make sure 
"/etc/accumulo/functional//masters" is non-empty.
INFO:test.auto:Error output from command: egrep: 
/etc/accumulo/functional//masters: No such file or directory
DEBUG:test.auto:Exit code: 1
DEBUG:test.auto:master2.example.com: 
/home/busbey/accumulo-1.5.1-rc2/bin/accumulo master
DEBUG:test.auto:Running shell with 'createtable test_ingest\n'
DEBUG:test.auto:master2.example.com: 
/home/busbey/accumulo-1.5.1-rc2/bin/accumulo shell -u root -p secret
DEBUG:test.auto:Output from command: Could not infer a Monitor role. You need 
to either define the MONITOR env variable, define 
"/etc/accumulo/functional//monitor", or make sure 
"/etc/accumulo/functional//masters" is non-empty.
INFO:test.auto:Error output from command: egrep: 
/etc/accumulo/functional//masters: No such file or directory
DEBUG:test.auto:Exit code: 1
INFO:test.auto:Starting Test Ingester
DEBUG:test.auto:master2.example.com: 
/home/busbey/accumulo-1.5.1-rc2/bin/accumulo 
org.apache.accumulo.test.TestIngest --debug -i master2-9301 -u root --size 50 
--random 56 --rows 20000 --start 0 --cols 1 --createTable -p secret
DEBUG:test.auto:Waiting for /home/busbey/accumulo-1.5.1-rc2/bin/accumulo 
org.apache.accumulo.test.TestIngest --debug -i master2-9301 -u root --size 50 
--random 56 --rows 20000 --start 0 --cols 1 --createTable -p secret to stop in 
2430.0 secs
DEBUG:test.auto:err: egrep: /etc/accumulo/functional//masters
DEBUG:test.auto:err: : No such file or directory
DEBUG:test.auto:out: Could not infer a Monitor role. You need to either define 
the MONITOR env variable, define "/etc/accumulo/functional//monitor", or make 
sure "/etc/accumulo/functional//masters" is non-empty.
DEBUG:test.auto:Output from command: Could not infer a Monitor role. You need 
to either define the MONITOR env variable, define 
"/etc/accumulo/functional//monitor", or make sure 
"/etc/accumulo/functional//masters" is non-empty.
INFO:test.auto:Error output from command: egrep: 
/etc/accumulo/functional//masters: No such file or directory
DEBUG:test.auto:Exit code: 1
FAIL
======================================================================
FAIL: runTest (simple.readwrite.SunnyDayTest)
----------------------------------------------------------------------
Traceback (most recent call last):
  File "/home/busbey/accumulo-1.5.1-rc2/test/system/auto/simple/readwrite.py", 
line 64, in runTest
    self.waitForStop(self.ingester, waitTime)
  File "/home/busbey/accumulo-1.5.1-rc2/test/system/auto/TestUtils.py", line 
417, in waitForStop
    self.assert_(self.processResult(out, err, handle.returncode))
AssertionError

INFO:test.auto:killing accumulo processes everywhere
DEBUG:test.auto:master2.example.com: 
/home/busbey/accumulo-1.5.1-rc2/test/system/auto/pkill.sh 1 4035 
accumulo.config.file.*master2-9301
DEBUG:test.auto:master2.example.com: hadoop fs -rmr 
/user/busbey/accumulo-master2-9301
INFO:test.auto:Error output from command: rmr: DEPRECATED: Please use 'rm -r' 
instead.
rmr: `/user/busbey/accumulo-master2-9301': No such file or directory
DEBUG:test.auto:Exit code: 1
DEBUG:test.auto:master2.example.com: 
/home/busbey/accumulo-1.5.1-rc2/bin/accumulo 
org.apache.accumulo.server.util.DeleteZooInstance -i master2-9301
DEBUG:test.auto:Output from command: Could not infer a Monitor role. You need 
to either define the MONITOR env variable, define 
"/etc/accumulo/functional//monitor", or make sure 
"/etc/accumulo/functional//masters" is non-empty.
INFO:test.auto:Error output from command: egrep: 
/etc/accumulo/functional//masters: No such file or directory
DEBUG:test.auto:Exit code: 1
DEBUG:test.auto:master2.example.com: rm -rf 
/home/busbey/accumulo-1.5.1-rc2/logs/master2-9301
DEBUG:test.auto:Exit code: 0
DEBUG:test.auto:master2.example.com: 
/home/busbey/accumulo-1.5.1-rc2/test/system/auto/pkill.sh 9 4035 
TestIngest.*master2-9301

======================================================================
FAIL: runTest (simple.readwrite.SunnyDayTest)
----------------------------------------------------------------------
Traceback (most recent call last):
  File "/home/busbey/accumulo-1.5.1-rc2/test/system/auto/simple/readwrite.py", 
line 64, in runTest
    self.waitForStop(self.ingester, waitTime)
  File "/home/busbey/accumulo-1.5.1-rc2/test/system/auto/TestUtils.py", line 
417, in waitForStop
    self.assert_(self.processResult(out, err, handle.returncode))
AssertionError

----------------------------------------------------------------------
Ran 1 test in 3.230s

FAILED (failures=1)
{noformat}

Work around: create configuration files with invalid host names in the 
ACCUMULO_CONF_DIR used for testing (presuming your goal is to ensure you do not 
overlap with an existing Accumulo cluster)

{noformat}
[busbey@master2 auto]$ sudo su -
[root@master2 ~]# cd /etc/accumulo/functional
[root@master2 functional]# echo "notahost.example.com" > masters
[root@master2 functional]# for conf_file in slaves gc tracers monitor; do cp 
masters ${conf_file}; done
[root@master2 functional]# ls -lah
total 36K
drwxrwxrwx 2 accumulo accumulo 4.0K Feb 18 14:11 .
drwxrwxrwx 6 accumulo accumulo 4.0K Feb 18 12:42 ..
-rwxr-xr-x 1 root root 3.0K Feb 18 12:53 accumulo-env.sh
-rw-r--r-- 1 root root 3.8K Feb 18 13:40 accumulo-site.xml
-rw-r--r-- 1 root     root       21 Feb 18 14:11 gc
-rw-r--r-- 1 root     root       21 Feb 18 14:00 masters
-rw-r--r-- 1 root     root       21 Feb 18 14:11 monitor
-rw-r--r-- 1 root     root       21 Feb 18 14:11 slaves
-rw-r--r-- 1 root     root       21 Feb 18 14:11 tracers
[busbey@master2 auto]$ reset && ./run.py -f 4 -t SunnyDayTest | tee --append 
~/accumulo-1.5.1-rc2-bin.functional_tests.log
14:12:43 runTest (simple.readwrite.SunnyDayTest) ............................ ok

----------------------------------------------------------------------
Ran 1 test in 39.742s

OK
{noformat}



--
This message was sent by Atlassian JIRA
(v6.1.5#6160)

Reply via email to