Geoff Anderson created KAFKA-2851:
-------------------------------------
Summary: system tests: error copying keytab file
Key: KAFKA-2851
URL: https://issues.apache.org/jira/browse/KAFKA-2851
Project: Kafka
Issue Type: Bug
Reporter: Geoff Anderson
Priority: Minor
It is best to use unique paths for temporary files on the test driver machine
so that multiple test jobs don't conflict.
If the test driver machine is running multiple ducktape jobs concurrently, as
is the case with Confluent nightly test runs, conflicts can occur if the same
canonical path is always used.
In this case, security_config.py copies a file to /tmp/keytab on the test
driver machine, while other jobs may remove this from the driver machine. Then
you can get errors like this:
{code}
====================================================================================================
test_id:
2015-11-17--001.kafkatest.tests.replication_test.ReplicationTest.test_replication_with_broker_failure.security_protocol=SASL_PLAINTEXT.failure_mode=clean_bounce
status: FAIL
run time: 1 minute 33.395 seconds
Traceback (most recent call last):
File
"/var/lib/jenkins/workspace/kafka_system_tests/kafka/venv/local/lib/python2.7/site-packages/ducktape-0.3.8-py2.7.egg/ducktape/tests/runner.py",
line 101, in run_all_tests
result.data = self.run_single_test()
File
"/var/lib/jenkins/workspace/kafka_system_tests/kafka/venv/local/lib/python2.7/site-packages/ducktape-0.3.8-py2.7.egg/ducktape/tests/runner.py",
line 151, in run_single_test
return self.current_test_context.function(self.current_test)
File
"/var/lib/jenkins/workspace/kafka_system_tests/kafka/venv/local/lib/python2.7/site-packages/ducktape-0.3.8-py2.7.egg/ducktape/mark/_mark.py",
line 331, in wrapper
return functools.partial(f, *args, **kwargs)(*w_args, **w_kwargs)
File
"/var/lib/jenkins/workspace/kafka_system_tests/kafka/tests/kafkatest/tests/replication_test.py",
line 132, in test_replication_with_broker_failure
self.run_produce_consume_validate(core_test_action=lambda:
failures[failure_mode](self))
File
"/var/lib/jenkins/workspace/kafka_system_tests/kafka/tests/kafkatest/tests/produce_consume_validate.py",
line 66, in run_produce_consume_validate
core_test_action()
File
"/var/lib/jenkins/workspace/kafka_system_tests/kafka/tests/kafkatest/tests/replication_test.py",
line 132, in <lambda>
self.run_produce_consume_validate(core_test_action=lambda:
failures[failure_mode](self))
File
"/var/lib/jenkins/workspace/kafka_system_tests/kafka/tests/kafkatest/tests/replication_test.py",
line 43, in clean_bounce
test.kafka.restart_node(prev_leader_node, clean_shutdown=True)
File
"/var/lib/jenkins/workspace/kafka_system_tests/kafka/tests/kafkatest/services/kafka/kafka.py",
line 275, in restart_node
self.start_node(node)
File
"/var/lib/jenkins/workspace/kafka_system_tests/kafka/tests/kafkatest/services/kafka/kafka.py",
line 123, in start_node
self.security_config.setup_node(node)
File
"/var/lib/jenkins/workspace/kafka_system_tests/kafka/tests/kafkatest/services/security/security_config.py",
line 130, in setup_node
node.account.scp_to(MiniKdc.LOCAL_KEYTAB_FILE, SecurityConfig.KEYTAB_PATH)
File
"/var/lib/jenkins/workspace/kafka_system_tests/kafka/venv/local/lib/python2.7/site-packages/ducktape-0.3.8-py2.7.egg/ducktape/cluster/remoteaccount.py",
line 174, in scp_to
return self._ssh_quiet(self.scp_to_command(src, dest, recursive))
File
"/var/lib/jenkins/workspace/kafka_system_tests/kafka/venv/local/lib/python2.7/site-packages/ducktape-0.3.8-py2.7.egg/ducktape/cluster/remoteaccount.py",
line 219, in _ssh_quiet
raise e
CalledProcessError: Command 'scp -o 'HostName 52.33.250.202' -o 'Port 22' -o
'UserKnownHostsFile /dev/null' -o 'StrictHostKeyChecking no' -o
'PasswordAuthentication no' -o 'IdentityFile /var/lib/jenkins/muckrake.pem' -o
'IdentitiesOnly yes' -o 'LogLevel FATAL' /tmp/keytab
ubuntu@worker2:/mnt/security/keytab' returned non-zero exit status 1
{code}
--
This message was sent by Atlassian JIRA
(v6.3.4#6332)