You are viewing a plain text version of this content. The canonical link for it is here.
Posted to builds@cassandra.apache.org by Apache Jenkins Server <je...@builds.apache.org> on 2021/01/15 11:02:56 UTC

Build complete: Cassandra-3.11 #82 [UNSTABLE] 228e33d22b68ba2bf652f4663fac7c508527f304

-------------------------------------------------------------------------------
Build Cassandra-3.11 #82 Still Unstable
URL: https://ci-cassandra.apache.org/job/Cassandra-3.11/82/
-------------------------------------------------------------------------------
Changes:
[Marcus Eriksson] Improve empty/corrupt hint file handling on startup


-------------------------------------------------------------------------------
Failed Tests:
28 tests failed.
FAILED:  cqlshlib.python2.jdk8.cython.test.test_cqlsh_completion.TestCqlshCompletion.test_complete_in_create_columnfamily
FAILED:  cqlshlib.python2.jdk8.cython.test.test_cqlsh_completion.TestCqlshCompletion.test_complete_in_create_keyspace
FAILED:  cqlshlib.python2.jdk8.cython.test.test_cqlsh_completion.TestCqlshCompletion.test_complete_in_insert
FAILED:  cqlshlib.python2.jdk8.cython.test.test_cqlsh_completion.TestCqlshCompletion.test_complete_in_update
FAILED:  dtest-offheap.consistency_test.TestConsistency.test_14513_permanent
FAILED:  dtest-offheap.counter_test.TestCounters.test_13691
FAILED:  cqlshlib.python2.jdk8.cython.test.test_cqlsh_completion.TestCqlshCompletion.test_complete_in_create_table
FAILED:  dtest-novnode.pushed_notifications_test.TestVariousNotifications.test_tombstone_failure_threshold_message
FAILED:  dtest-novnode.read_failures_test.TestReadFailures.test_tombstone_failure_v5
FAILED:  dtest-offheap.pushed_notifications_test.TestVariousNotifications.test_tombstone_failure_threshold_message
FAILED:  dtest-offheap.read_failures_test.TestReadFailures.test_tombstone_failure_v5
FAILED:  dtest.pushed_notifications_test.TestVariousNotifications.test_tombstone_failure_threshold_message
FAILED:  dtest.read_failures_test.TestReadFailures.test_tombstone_failure_v5
FAILED:  cqlshlib.python2.jdk8.no_cython.test.test_cqlsh_output.TestCqlshOutput.test_boolean_output
FAILED:  cqlshlib.python2.jdk8.no_cython.test.test_cqlsh_output.TestCqlshOutput.test_columnless_key_output
FAILED:  cqlshlib.python2.jdk8.no_cython.test.test_cqlsh_output.TestCqlshOutput.test_count_output
FAILED:  cqlshlib.python2.jdk8.no_cython.test.test_cqlsh_output.TestCqlshOutput.test_null_output
FAILED:  cqlshlib.python2.jdk8.no_cython.test.test_cqlsh_output.TestCqlshOutput.test_numeric_output
FAILED:  cqlshlib.python2.jdk8.no_cython.test.test_cqlsh_output.TestCqlshOutput.test_static_cf_output
FAILED:  cqlshlib.python2.jdk8.no_cython.test.test_cqlsh_output.TestCqlshOutput.test_string_output_ascii
FAILED:  cqlshlib.python2.jdk8.cython.test.test_cqlsh_output.TestCqlshOutput.test_boolean_output
FAILED:  cqlshlib.python2.jdk8.cython.test.test_cqlsh_output.TestCqlshOutput.test_columnless_key_output
FAILED:  cqlshlib.python2.jdk8.cython.test.test_cqlsh_output.TestCqlshOutput.test_count_output
FAILED:  cqlshlib.python2.jdk8.cython.test.test_cqlsh_output.TestCqlshOutput.test_null_output
FAILED:  cqlshlib.python2.jdk8.cython.test.test_cqlsh_output.TestCqlshOutput.test_numeric_output
FAILED:  cqlshlib.python2.jdk8.cython.test.test_cqlsh_output.TestCqlshOutput.test_static_cf_output
FAILED:  cqlshlib.python2.jdk8.cython.test.test_cqlsh_output.TestCqlshOutput.test_string_output_ascii
FAILED:  dtest-large.snitch_test.TestDynamicEndpointSnitch.test_multidatacenter_local_quorum

-------------------------------------------------------------------------------
Cassandra CI Results
-------------------------------------------------------------------------------

Tests Failures Errors Skipped Success rate Time
3772  23       284    0       91.86%       129179.111

-------------------------------------------------------------------------------

Name                  Tests Errors Failures Skipped Time(s)
                      3568  279    9        0       129179.111
cqlshlib.python2.jdk8 204   5      14       0       0.000

-------------------------------------------------------------------------------
-------------------------------------------------------------------------------
Packages
-------------------------------------------------------------------------------

Name             Tests Errors Failures Skipped Time(s)
Cassandra dtests 6     1      0                823.539
Cassandra dtests 5     0      0                491.839
Cassandra dtests 6     0      1                721.386
Cassandra dtests 5     0      0                779.680
Cassandra dtests 5     0      0                805.516
Cassandra dtests 4     0      0                265.297
Cassandra dtests 2     0      0                325.818
Cassandra dtests 3     0      0                702.412
Cassandra dtests 20    1      0                585.456
Cassandra dtests 19    1      0                565.426
Cassandra dtests 20    2      0                513.247
Cassandra dtests 20    3      0                676.573
Cassandra dtests 21    4      0                357.140
Cassandra dtests 21    4      0                467.019
Cassandra dtests 19    1      0                716.241
Cassandra dtests 21    3      0                563.724
Cassandra dtests 18    0      0                856.521
Cassandra dtests 19    1      0                682.443
Cassandra dtests 19    1      0                868.432
Cassandra dtests 20    1      0                544.434
Cassandra dtests 19    1      0                829.468
Cassandra dtests 20    2      0                1227.192
Cassandra dtests 20    3      0                512.780
Cassandra dtests 17    1      0                518.847
Cassandra dtests 18    1      0                572.920
Cassandra dtests 17    1      0                363.937
Cassandra dtests 19    2      0                374.246
Cassandra dtests 20    3      0                442.502
Cassandra dtests 22    4      0                496.684
Cassandra dtests 22    4      0                418.287
Cassandra dtests 20    1      0                498.287
Cassandra dtests 21    2      0                1028.399
Cassandra dtests 19    2      0                897.959
Cassandra dtests 19    2      0                471.027
Cassandra dtests 20    4      0                375.558
Cassandra dtests 18    3      0                222.324
Cassandra dtests 19    3      0                494.924
Cassandra dtests 19    2      0                492.902
Cassandra dtests 19    2      0                465.780
Cassandra dtests 21    4      0                418.482
Cassandra dtests 19    3      0                426.050
Cassandra dtests 21    2      0                445.716
Cassandra dtests 19    2      0                520.104
Cassandra dtests 17    1      0                1003.793
Cassandra dtests 17    0      0                894.584
Cassandra dtests 21    3      0                1037.009
Cassandra dtests 19    2      0                728.464
Cassandra dtests 18    1      0                920.883
Cassandra dtests 19    2      0                864.934
Cassandra dtests 20    3      0                866.128
Cassandra dtests 19    2      0                871.613
Cassandra dtests 20    2      0                552.084
Cassandra dtests 21    2      0                584.192
Cassandra dtests 20    2      0                702.248
Cassandra dtests 20    2      0                765.933
Cassandra dtests 19    1      1                1362.261
Cassandra dtests 19    1      0                937.960
Cassandra dtests 19    1      0                840.533
Cassandra dtests 19    1      0                691.911
Cassandra dtests 21    3      0                648.613
Cassandra dtests 19    1      0                623.093
Cassandra dtests 20    2      0                906.085
Cassandra dtests 19    2      0                719.405
Cassandra dtests 20    2      0                552.412
Cassandra dtests 19    1      0                769.377
Cassandra dtests 18    0      0                562.023
Cassandra dtests 18    0      0                1225.983
Cassandra dtests 18    0      1                905.637
Cassandra dtests 19    1      0                580.440
Cassandra dtests 19    1      0                538.540
Cassandra dtests 20    2      0                1128.731
Cassandra dtests 19    1      0                520.929
Cassandra dtests 20    2      0                870.170
Cassandra dtests 17    1      0                511.751
Cassandra dtests 16    0      0                538.488
Cassandra dtests 17    1      0                435.171
Cassandra dtests 17    1      0                594.235
Cassandra dtests 16    0      0                598.900
Cassandra dtests 18    1      0                417.892
Cassandra dtests 18    1      0                546.080
Cassandra dtests 19    2      0                608.197
Cassandra dtests 19    2      0                690.736
Cassandra dtests 16    0      0                581.290
Cassandra dtests 21    3      0                863.706
Cassandra dtests 16    1      0                373.899
Cassandra dtests 15    0      0                308.380
Cassandra dtests 18    1      0                647.985
Cassandra dtests 17    0      0                545.824
Cassandra dtests 18    1      0                456.239
Cassandra dtests 20    2      0                343.484
Cassandra dtests 17    0      0                795.903
Cassandra dtests 19    2      0                475.278
Cassandra dtests 19    2      0                513.679
Cassandra dtests 19    3      0                364.542
Cassandra dtests 21    3      0                800.473
Cassandra dtests 19    3      0                446.853
Cassandra dtests 16    0      0                531.957
Cassandra dtests 16    0      0                582.525
Cassandra dtests 18    2      0                493.445
Cassandra dtests 16    2      0                323.985
Cassandra dtests 17    2      0                670.764
Cassandra dtests 17    1      0                545.145
Cassandra dtests 16    1      0                912.583
Cassandra dtests 18    2      0                644.425
Cassandra dtests 18    1      0                726.642
Cassandra dtests 20    2      0                665.362
Cassandra dtests 17    1      1                508.689
Cassandra dtests 17    1      0                883.373
Cassandra dtests 19    3      0                811.322
Cassandra dtests 19    2      1                675.732
Cassandra dtests 19    2      0                627.987
Cassandra dtests 18    1      0                425.778
Cassandra dtests 18    1      0                428.921
Cassandra dtests 18    1      0                520.964
Cassandra dtests 17    0      0                921.817
Cassandra dtests 17    0      0                737.655
Cassandra dtests 20    2      0                931.276
Cassandra dtests 17    0      0                491.568
Cassandra dtests 17    0      0                864.807
Cassandra dtests 18    1      0                653.604
Cassandra dtests 18    1      1                549.800
Cassandra dtests 18    1      0                540.151
Cassandra dtests 17    0      1                563.785
Cassandra dtests 17    0      0                672.018
Cassandra dtests 18    1      0                747.643
Cassandra dtests 18    1      0                651.203
Cassandra dtests 18    1      0                693.664
Cassandra dtests 19    1      0                977.913
Cassandra dtests 18    1      0                636.542
Cassandra dtests 19    2      0                778.134
Cassandra dtests 19    2      0                1001.088
Cassandra dtests 20    3      0                1081.952
Cassandra dtests 20    3      0                601.828
Cassandra dtests 19    2      0                747.460
Cassandra dtests 17    1      0                900.741
Cassandra dtests 15    0      0                401.133
Cassandra dtests 22    4      0                557.745
Cassandra dtests 17    1      0                445.628
Cassandra dtests 16    0      0                614.473
Cassandra dtests 17    1      0                462.082
Cassandra dtests 17    1      0                436.883
Cassandra dtests 16    0      0                578.574
Cassandra dtests 17    0      0                508.478
Cassandra dtests 19    2      0                426.432
Cassandra dtests 19    2      0                617.617
Cassandra dtests 19    2      0                759.806
Cassandra dtests 16    0      0                551.561
Cassandra dtests 20    2      0                721.669
Cassandra dtests 15    0      0                454.439
Cassandra dtests 16    1      0                229.865
Cassandra dtests 17    0      0                705.190
Cassandra dtests 18    1      0                590.033
Cassandra dtests 18    1      0                431.609
Cassandra dtests 19    1      0                356.555
Cassandra dtests 18    1      0                608.839
Cassandra dtests 18    1      0                546.830
Cassandra dtests 19    2      0                475.036
Cassandra dtests 19    3      0                381.721
Cassandra dtests 21    3      0                825.234
Cassandra dtests 18    2      0                437.038
Cassandra dtests 18    2      0                448.394
Cassandra dtests 16    0      0                522.314
Cassandra dtests 18    2      0                471.381
Cassandra dtests 17    2      0                531.054
Cassandra dtests 16    2      0                349.072
Cassandra dtests 17    1      0                838.299
Cassandra dtests 17    1      0                980.445
Cassandra dtests 16    1      0                667.146
Cassandra dtests 18    1      0                729.258
Cassandra dtests 21    3      0                759.770
Cassandra dtests 17    1      0                570.997
Cassandra dtests 17    1      0                817.130
Cassandra dtests 18    2      0                839.287
Cassandra dtests 20    3      1                586.028
Cassandra dtests 19    2      0                611.235
Cassandra dtests 19    2      0                340.736
Cassandra dtests 18    1      0                454.435
Cassandra dtests 18    1      0                499.211
Cassandra dtests 17    0      0                1003.175
Cassandra dtests 17    0      0                703.250
Cassandra dtests 20    2      0                697.747
Cassandra dtests 17    0      0                554.012
Cassandra dtests 17    0      0                638.754
Cassandra dtests 18    1      0                621.447
Cassandra dtests 18    1      1                625.834
Cassandra dtests 18    1      0                596.202
Cassandra dtests 17    0      0                748.832
Cassandra dtests 17    0      0                655.103
Cassandra dtests 17    0      0                629.635
Cassandra dtests 18    1      0                835.831
Cassandra dtests 19    2      0                806.365
Cassandra dtests 19    1      0                1098.198
Cassandra dtests 18    1      0                712.458
Cassandra dtests 18    1      0                676.322
Cassandra dtests 19    2      0                793.496
Cassandra dtests 20    3      0                1152.025
Cassandra dtests 19    2      0                974.277
Cassandra dtests 18    1      0                842.379
Cassandra dtests 18    1      0                1040.820
Cassandra dtests 16    1      0                446.568

-------------------------------------------------------------------------------
cqlshlib.python2.jdk8

Name      Tests Errors Failures Skipped Time(s)
no_cython 102   0      7                NaN
cython    102   5      7                NaN

-------------------------------------------------------------------------------
-------------------------------------------------------------------------------
Failures
-------------------------------------------------------------------------------

Cassandra dtests // test_stop_decommission_too_few_replicas_multi_dc /
/ Error
test teardown failure

request = <SubRequest 'fixture_dtest_setup' for <Function
'test_stop_decommission_too_few_replicas_multi_dc'>>
dtest_config = <dtest_config.DTestConfig object at 0x7f9751e64790>
fixture_dtest_setup_overrides = <dtest_setup_overrides.DTestSetupOverrides
object at 0x7f9740d69190>
fixture_logging_setup = None, fixture_dtest_cluster_name = 'test'
fixture_dtest_create_cluster_func = <function DTestSetup.create_ccm_cluster
at 0x7f9752b7e670>

@pytest.fixture(scope='function', autouse=False)
def fixture_dtest_setup(request,
dtest_config,
fixture_dtest_setup_overrides,
fixture_logging_setup,
fixture_dtest_cluster_name,
fixture_dtest_create_cluster_func):
if running_in_docker():
cleanup_docker_environment_before_test_execution()

# do all of our setup operations to get the enviornment ready for the actual
test
# to run (e.g. bring up a cluster with the necessary config, populate
variables, etc)
initial_environment = copy.deepcopy(os.environ)
dtest_setup = DTestSetup(dtest_config=dtest_config,
setup_overrides=fixture_dtest_setup_overrides,
cluster_name=fixture_dtest_cluster_name)
dtest_setup.initialize_cluster(fixture_dtest_create_cluster_func)

if not dtest_config.disable_active_log_watching:
dtest_setup.begin_active_log_watch()

# at this point we're done with our setup operations in this fixture
# yield to allow the actual test to run
yield dtest_setup

# phew! we're back after executing the test, now we need to do
# all of our teardown and cleanup operations

reset_environment_vars(initial_environment)
dtest_setup.jvm_args = []

for con in dtest_setup.connections:
con.cluster.shutdown()
dtest_setup.connections = []

failed = False
try:
if not dtest_setup.allow_log_errors:
errors = check_logs_for_errors(dtest_setup)
if len(errors) > 0:
failed = True
pytest.fail(msg='Unexpected error found in node logs (see stdout for full
details). Errors: [{errors}]'
.format(errors=str.join(", ", errors)), pytrace=False)
finally:
try:
# save the logs for inspection
if failed or not dtest_config.delete_logs:
copy_logs(request, dtest_setup.cluster)
except Exception as e:
logger.error("Error saving log:", str(e))
finally:
> dtest_setup.cleanup_cluster(request)

conftest.py:352:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
_ _

self = <dtest_setup.DTestSetup object at 0x7f97416c5b80>
request = <SubRequest 'fixture_dtest_setup' for <Function
'test_stop_decommission_too_few_replicas_multi_dc'>>

def cleanup_cluster(self, request=None):
with log_filter('cassandra'): # quiet noise from driver when nodes start
going down
> if self.dtest_config.keep_test_dir or
(self.dtest_config.keep_failed_test_dir and request and
request.node.rep_call.failed):
E AttributeError: 'Function' object has no attribute 'rep_call'

dtest_setup.py:351: AttributeError
----------------------------------------------------------------------------
Cassandra dtests // test_multidatacenter_local_quorum // Failure
AssertionError: assert 25 == 26 + where 26 = <bound method
JolokiaAgent.read_attribute of <tools.jmxutils.JolokiaAgent object at
0x7fa2ec2eed90>>('org.apache.cassandra.metrics:
type=ThreadPools,path=request,scope=ReadStage,name=CompletedTasks', 'Value')
+ where <bound method JolokiaAgent.read_attribute of
<tools.jmxutils.JolokiaAgent object at 0x7fa2ec2eed90>> =
<tools.jmxutils.JolokiaAgent object at 0x7fa2ec2eed90>.read_attribute

self = <snitch_test.TestDynamicEndpointSnitch object at 0x7fa2f0762070>

@pytest.mark.resource_intensive
@since('3.10')
def test_multidatacenter_local_quorum(self):
'''
@jira_ticket CASSANDRA-13074

If we do only local datacenters reads in a multidatacenter DES setup,
DES should take effect and route around a degraded node
'''

def no_cross_dc(scores, cross_dc_nodes):
return all('/' + k.address() not in scores for k in cross_dc_nodes)

def snitchable(scores_before, scores_after, needed_nodes):
return all('/' + k.address() in scores_before and '/' + k.address()
in scores_after for k in needed_nodes)

cluster = self.cluster
cluster.populate([3, 3])
coordinator_node, healthy_node, degraded_node, node4, node5, node6 =
cluster.nodelist()
# increase DES reset/update interval so we clear any cross-DC startup reads
faster
cluster.set_configuration_options(values=
{'dynamic_snitch_reset_interval_in_ms': 10000,
'dynamic_snitch_update_interval_in_ms': 50,
'phi_convict_threshold': 12})
# Delay reads on the degraded node by 50 milliseconds
degraded_node.start(jvm_args=['-Dcassandra.test.read_iteration_delay_ms=50',
'-Dcassandra.allow_unsafe_join=true'])
cluster.start()

des = make_mbean('db', type='DynamicEndpointSnitch')
read_stage = make_mbean('metrics', type='ThreadPools', path='request',
scope='ReadStage', name='CompletedTasks')
session = self.patient_exclusive_cql_connection(coordinator_node)
session.execute("CREATE KEYSPACE snitchtestks WITH replication = {'class':
'NetworkTopologyStrategy', 'dc1': 3, 'dc2': 3}")
session.execute("CREATE TABLE snitchtestks.tbl1 (key int PRIMARY KEY) WITH
speculative_retry = 'NONE'")
read_stmt = session.prepare("SELECT * FROM snitchtestks.tbl1 where key = ?")
read_stmt.consistency_level = ConsistencyLevel.LOCAL_QUORUM
insert_stmt = session.prepare("INSERT INTO snitchtestks.tbl1 (key) VALUES
(?)")
insert_stmt.consistency_level = ConsistencyLevel.ALL
with JolokiaAgent(coordinator_node) as jmx:
with JolokiaAgent(degraded_node) as bad_jmx:
for x in range(0, 300):
session.execute(insert_stmt, [x])

cleared = False
# Wait for a snitch reset in case any earlier
# startup process populated cross-DC read timings
while not cleared:
scores = jmx.read_attribute(des, 'Scores')
cleared = ('/127.0.0.1' in scores and (len(scores) == 1)) or not scores

snitchable_count = 0

for x in range(0, 300):
degraded_reads_before = bad_jmx.read_attribute(read_stage, 'Value')
scores_before = jmx.read_attribute(des, 'Scores')
assert no_cross_dc(scores_before, [node4, node5, node6]), "Cross DC scores
were present: " + str(scores_before)
future = session.execute_async(read_stmt, [x])
future.result()
scores_after = jmx.read_attribute(des, 'Scores')
assert no_cross_dc(scores_after, [node4, node5, node6]), "Cross DC scores
were present: " + str(scores_after)

if snitchable(scores_before, scores_after,
[coordinator_node, healthy_node, degraded_node]):
snitchable_count = snitchable_count + 1
# If the DES correctly routed the read around the degraded node,
# it shouldn't have another completed read request in metrics
> assert (degraded_reads_before ==
bad_jmx.read_attribute(read_stage, 'Value'))
E AssertionError: assert 25 == 26
E + where 26 = <bound method JolokiaAgent.read_attribute of
<tools.jmxutils.JolokiaAgent object at 0x7fa2ec2eed90>>
('org.apache.cassandra.metrics:
type=ThreadPools,path=request,scope=ReadStage,name=CompletedTasks', 'Value')
E + where <bound method JolokiaAgent.read_attribute of
<tools.jmxutils.JolokiaAgent object at 0x7fa2ec2eed90>> =
<tools.jmxutils.JolokiaAgent object at 0x7fa2ec2eed90>.read_attribute

snitch_test.py:205: AssertionError
----------------------------------------------------------------------------
Cassandra dtests // test_archiving // Error
test teardown failure

request = <SubRequest 'fixture_dtest_setup' for <Function 'test_archiving'>>
dtest_config = <dtest_config.DTestConfig object at 0x7f858db04130>
fixture_dtest_setup_overrides = <dtest_setup_overrides.DTestSetupOverrides
object at 0x7f858db04f70>
fixture_logging_setup = None, fixture_dtest_cluster_name = 'test'
fixture_dtest_create_cluster_func = <function DTestSetup.create_ccm_cluster
at 0x7f858e42f9d0>

@pytest.fixture(scope='function', autouse=False)
def fixture_dtest_setup(request,
dtest_config,
fixture_dtest_setup_overrides,
fixture_logging_setup,
fixture_dtest_cluster_name,
fixture_dtest_create_cluster_func):
if running_in_docker():
cleanup_docker_environment_before_test_execution()

# do all of our setup operations to get the enviornment ready for the actual
test
# to run (e.g. bring up a cluster with the necessary config, populate
variables, etc)
initial_environment = copy.deepcopy(os.environ)
dtest_setup = DTestSetup(dtest_config=dtest_config,
setup_overrides=fixture_dtest_setup_overrides,
cluster_name=fixture_dtest_cluster_name)
dtest_setup.initialize_cluster(fixture_dtest_create_cluster_func)

if not dtest_config.disable_active_log_watching:
dtest_setup.begin_active_log_watch()

# at this point we're done with our setup operations in this fixture
# yield to allow the actual test to run
yield dtest_setup

# phew! we're back after executing the test, now we need to do
# all of our teardown and cleanup operations

reset_environment_vars(initial_environment)
dtest_setup.jvm_args = []

for con in dtest_setup.connections:
con.cluster.shutdown()
dtest_setup.connections = []

failed = False
try:
if not dtest_setup.allow_log_errors:
errors = check_logs_for_errors(dtest_setup)
if len(errors) > 0:
failed = True
pytest.fail(msg='Unexpected error found in node logs (see stdout for full
details). Errors: [{errors}]'
.format(errors=str.join(", ", errors)), pytrace=False)
finally:
try:
# save the logs for inspection
if failed or not dtest_config.delete_logs:
copy_logs(request, dtest_setup.cluster)
except Exception as e:
logger.error("Error saving log:", str(e))
finally:
> dtest_setup.cleanup_cluster(request)

conftest.py:352:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
_ _

self = <dtest_setup.DTestSetup object at 0x7f858dba5b50>
request = <SubRequest 'fixture_dtest_setup' for <Function 'test_archiving'>>

def cleanup_cluster(self, request=None):
with log_filter('cassandra'): # quiet noise from driver when nodes start
going down
> if self.dtest_config.keep_test_dir or
(self.dtest_config.keep_failed_test_dir and request and
request.node.rep_call.failed):
E AttributeError: 'Function' object has no attribute 'rep_call'

dtest_setup.py:351: AttributeError
----------------------------------------------------------------------------
Cassandra dtests // test_quorum_requirement_on_speculated_read // Error
test teardown failure

request = <SubRequest 'fixture_dtest_setup' for <Function
'test_quorum_requirement_on_speculated_read'>>
dtest_config = <dtest_config.DTestConfig object at 0x7f8658df10d0>
fixture_dtest_setup_overrides = <dtest_setup_overrides.DTestSetupOverrides
object at 0x7f865077beb0>
fixture_logging_setup = None, fixture_dtest_cluster_name = 'test'
fixture_dtest_create_cluster_func = <function DTestSetup.create_ccm_cluster
at 0x7f86594ffa60>

@pytest.fixture(scope='function', autouse=False)
def fixture_dtest_setup(request,
dtest_config,
fixture_dtest_setup_overrides,
fixture_logging_setup,
fixture_dtest_cluster_name,
fixture_dtest_create_cluster_func):
if running_in_docker():
cleanup_docker_environment_before_test_execution()

# do all of our setup operations to get the enviornment ready for the actual
test
# to run (e.g. bring up a cluster with the necessary config, populate
variables, etc)
initial_environment = copy.deepcopy(os.environ)
dtest_setup = DTestSetup(dtest_config=dtest_config,
setup_overrides=fixture_dtest_setup_overrides,
cluster_name=fixture_dtest_cluster_name)
dtest_setup.initialize_cluster(fixture_dtest_create_cluster_func)

if not dtest_config.disable_active_log_watching:
dtest_setup.begin_active_log_watch()

# at this point we're done with our setup operations in this fixture
# yield to allow the actual test to run
yield dtest_setup

# phew! we're back after executing the test, now we need to do
# all of our teardown and cleanup operations

reset_environment_vars(initial_environment)
dtest_setup.jvm_args = []

for con in dtest_setup.connections:
con.cluster.shutdown()
dtest_setup.connections = []

failed = False
try:
if not dtest_setup.allow_log_errors:
errors = check_logs_for_errors(dtest_setup)
if len(errors) > 0:
failed = True
pytest.fail(msg='Unexpected error found in node logs (see stdout for full
details). Errors: [{errors}]'
.format(errors=str.join(", ", errors)), pytrace=False)
finally:
try:
# save the logs for inspection
if failed or not dtest_config.delete_logs:
copy_logs(request, dtest_setup.cluster)
except Exception as e:
logger.error("Error saving log:", str(e))
finally:
> dtest_setup.cleanup_cluster(request)

conftest.py:352:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
_ _

self = <dtest_setup.DTestSetup object at 0x7f8659477b20>
request = <SubRequest 'fixture_dtest_setup' for <Function
'test_quorum_requirement_on_speculated_read'>>

def cleanup_cluster(self, request=None):
with log_filter('cassandra'): # quiet noise from driver when nodes start
going down
> if self.dtest_config.keep_test_dir or
(self.dtest_config.keep_failed_test_dir and request and
request.node.rep_call.failed):
E AttributeError: 'Function' object has no attribute 'rep_call'

dtest_setup.py:351: AttributeError
----------------------------------------------------------------------------
Cassandra dtests // test_monotonic_reads[blocking] // Error
test teardown failure

request = <SubRequest 'fixture_dtest_setup' for <Function
'test_monotonic_reads[blocking]'>>
dtest_config = <dtest_config.DTestConfig object at 0x7f8fc3241040>
fixture_dtest_setup_overrides = <dtest_setup_overrides.DTestSetupOverrides
object at 0x7f8fc253e820>
fixture_logging_setup = None, fixture_dtest_cluster_name = 'test'
fixture_dtest_create_cluster_func = <function DTestSetup.create_ccm_cluster
at 0x7f8fc3a69b80>

@pytest.fixture(scope='function', autouse=False)
def fixture_dtest_setup(request,
dtest_config,
fixture_dtest_setup_overrides,
fixture_logging_setup,
fixture_dtest_cluster_name,
fixture_dtest_create_cluster_func):
if running_in_docker():
cleanup_docker_environment_before_test_execution()

# do all of our setup operations to get the enviornment ready for the actual
test
# to run (e.g. bring up a cluster with the necessary config, populate
variables, etc)
initial_environment = copy.deepcopy(os.environ)
dtest_setup = DTestSetup(dtest_config=dtest_config,
setup_overrides=fixture_dtest_setup_overrides,
cluster_name=fixture_dtest_cluster_name)
dtest_setup.initialize_cluster(fixture_dtest_create_cluster_func)

if not dtest_config.disable_active_log_watching:
dtest_setup.begin_active_log_watch()

# at this point we're done with our setup operations in this fixture
# yield to allow the actual test to run
yield dtest_setup

# phew! we're back after executing the test, now we need to do
# all of our teardown and cleanup operations

reset_environment_vars(initial_environment)
dtest_setup.jvm_args = []

for con in dtest_setup.connections:
con.cluster.shutdown()
dtest_setup.connections = []

failed = False
try:
if not dtest_setup.allow_log_errors:
errors = check_logs_for_errors(dtest_setup)
if len(errors) > 0:
failed = True
pytest.fail(msg='Unexpected error found in node logs (see stdout for full
details). Errors: [{errors}]'
.format(errors=str.join(", ", errors)), pytrace=False)
finally:
try:
# save the logs for inspection
if failed or not dtest_config.delete_logs:
copy_logs(request, dtest_setup.cluster)
except Exception as e:
logger.error("Error saving log:", str(e))
finally:
> dtest_setup.cleanup_cluster(request)

conftest.py:352:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
_ _

self = <dtest_setup.DTestSetup object at 0x7f8fc256c8e0>
request = <SubRequest 'fixture_dtest_setup' for <Function
'test_monotonic_reads[blocking]'>>

def cleanup_cluster(self, request=None):
with log_filter('cassandra'): # quiet noise from driver when nodes start
going down
> if self.dtest_config.keep_test_dir or
(self.dtest_config.keep_failed_test_dir and request and
request.node.rep_call.failed):
E AttributeError: 'Function' object has no attribute 'rep_call'

dtest_setup.py:351: AttributeError
----------------------------------------------------------------------------
Cassandra dtests // test_datetimeformat_round_trip_40 // Error
test teardown failure

request = <SubRequest 'fixture_dtest_setup' for <Function
'test_datetimeformat_round_trip_40'>>
dtest_config = <dtest_config.DTestConfig object at 0x7f8fc3241040>
fixture_dtest_setup_overrides = <dtest_setup_overrides.DTestSetupOverrides
object at 0x7f8fc26294c0>
fixture_logging_setup = None, fixture_dtest_cluster_name = 'test'
fixture_dtest_create_cluster_func = <function DTestSetup.create_ccm_cluster
at 0x7f8fc3a69b80>

@pytest.fixture(scope='function', autouse=False)
def fixture_dtest_setup(request,
dtest_config,
fixture_dtest_setup_overrides,
fixture_logging_setup,
fixture_dtest_cluster_name,
fixture_dtest_create_cluster_func):
if running_in_docker():
cleanup_docker_environment_before_test_execution()

# do all of our setup operations to get the enviornment ready for the actual
test
# to run (e.g. bring up a cluster with the necessary config, populate
variables, etc)
initial_environment = copy.deepcopy(os.environ)
dtest_setup = DTestSetup(dtest_config=dtest_config,
setup_overrides=fixture_dtest_setup_overrides,
cluster_name=fixture_dtest_cluster_name)
dtest_setup.initialize_cluster(fixture_dtest_create_cluster_func)

if not dtest_config.disable_active_log_watching:
dtest_setup.begin_active_log_watch()

# at this point we're done with our setup operations in this fixture
# yield to allow the actual test to run
yield dtest_setup

# phew! we're back after executing the test, now we need to do
# all of our teardown and cleanup operations

reset_environment_vars(initial_environment)
dtest_setup.jvm_args = []

for con in dtest_setup.connections:
con.cluster.shutdown()
dtest_setup.connections = []

failed = False
try:
if not dtest_setup.allow_log_errors:
errors = check_logs_for_errors(dtest_setup)
if len(errors) > 0:
failed = True
pytest.fail(msg='Unexpected error found in node logs (see stdout for full
details). Errors: [{errors}]'
.format(errors=str.join(", ", errors)), pytrace=False)
finally:
try:
# save the logs for inspection
if failed or not dtest_config.delete_logs:
copy_logs(request, dtest_setup.cluster)
except Exception as e:
logger.error("Error saving log:", str(e))
finally:
> dtest_setup.cleanup_cluster(request)

conftest.py:352:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
_ _

self = <dtest_setup.DTestSetup object at 0x7f8fc25c7d60>
request = <SubRequest 'fixture_dtest_setup' for <Function
'test_datetimeformat_round_trip_40'>>

def cleanup_cluster(self, request=None):
with log_filter('cassandra'): # quiet noise from driver when nodes start
going down
> if self.dtest_config.keep_test_dir or
(self.dtest_config.keep_failed_test_dir and request and
request.node.rep_call.failed):
E AttributeError: 'Function' object has no attribute 'rep_call'

dtest_setup.py:351: AttributeError
----------------------------------------------------------------------------
Cassandra dtests // test_only_superuser_can_create_users // Error
test teardown failure

request = <SubRequest 'fixture_dtest_setup' for <Function
'test_only_superuser_can_create_users'>>
dtest_config = <dtest_config.DTestConfig object at 0x7f50445b10a0>
fixture_dtest_setup_overrides = <dtest_setup_overrides.DTestSetupOverrides
object at 0x7f50445b1370>
fixture_logging_setup = None, fixture_dtest_cluster_name = 'test'
fixture_dtest_create_cluster_func = <function DTestSetup.create_ccm_cluster
at 0x7f5044e9f9d0>

@pytest.fixture(scope='function', autouse=False)
def fixture_dtest_setup(request,
dtest_config,
fixture_dtest_setup_overrides,
fixture_logging_setup,
fixture_dtest_cluster_name,
fixture_dtest_create_cluster_func):
if running_in_docker():
cleanup_docker_environment_before_test_execution()

# do all of our setup operations to get the enviornment ready for the actual
test
# to run (e.g. bring up a cluster with the necessary config, populate
variables, etc)
initial_environment = copy.deepcopy(os.environ)
dtest_setup = DTestSetup(dtest_config=dtest_config,
setup_overrides=fixture_dtest_setup_overrides,
cluster_name=fixture_dtest_cluster_name)
dtest_setup.initialize_cluster(fixture_dtest_create_cluster_func)

if not dtest_config.disable_active_log_watching:
dtest_setup.begin_active_log_watch()

# at this point we're done with our setup operations in this fixture
# yield to allow the actual test to run
yield dtest_setup

# phew! we're back after executing the test, now we need to do
# all of our teardown and cleanup operations

reset_environment_vars(initial_environment)
dtest_setup.jvm_args = []

for con in dtest_setup.connections:
con.cluster.shutdown()
dtest_setup.connections = []

failed = False
try:
if not dtest_setup.allow_log_errors:
errors = check_logs_for_errors(dtest_setup)
if len(errors) > 0:
failed = True
pytest.fail(msg='Unexpected error found in node logs (see stdout for full
details). Errors: [{errors}]'
.format(errors=str.join(", ", errors)), pytrace=False)
finally:
try:
# save the logs for inspection
if failed or not dtest_config.delete_logs:
copy_logs(request, dtest_setup.cluster)
except Exception as e:
logger.error("Error saving log:", str(e))
finally:
> dtest_setup.cleanup_cluster(request)

conftest.py:352:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
_ _

self = <dtest_setup.DTestSetup object at 0x7f5044696430>
request = <SubRequest 'fixture_dtest_setup' for <Function
'test_only_superuser_can_create_users'>>

def cleanup_cluster(self, request=None):
with log_filter('cassandra'): # quiet noise from driver when nodes start
going down
> if self.dtest_config.keep_test_dir or
(self.dtest_config.keep_failed_test_dir and request and
request.node.rep_call.failed):
E AttributeError: 'Function' object has no attribute 'rep_call'

dtest_setup.py:351: AttributeError
----------------------------------------------------------------------------
Cassandra dtests // test_monotonic_reads[none] // Error
test teardown failure

request = <SubRequest 'fixture_dtest_setup' for <Function
'test_monotonic_reads[none]'>>
dtest_config = <dtest_config.DTestConfig object at 0x7f50445b10a0>
fixture_dtest_setup_overrides = <dtest_setup_overrides.DTestSetupOverrides
object at 0x7f504246b4c0>
fixture_logging_setup = None, fixture_dtest_cluster_name = 'test'
fixture_dtest_create_cluster_func = <function DTestSetup.create_ccm_cluster
at 0x7f5044e9f9d0>

@pytest.fixture(scope='function', autouse=False)
def fixture_dtest_setup(request,
dtest_config,
fixture_dtest_setup_overrides,
fixture_logging_setup,
fixture_dtest_cluster_name,
fixture_dtest_create_cluster_func):
if running_in_docker():
cleanup_docker_environment_before_test_execution()

# do all of our setup operations to get the enviornment ready for the actual
test
# to run (e.g. bring up a cluster with the necessary config, populate
variables, etc)
initial_environment = copy.deepcopy(os.environ)
dtest_setup = DTestSetup(dtest_config=dtest_config,
setup_overrides=fixture_dtest_setup_overrides,
cluster_name=fixture_dtest_cluster_name)
dtest_setup.initialize_cluster(fixture_dtest_create_cluster_func)

if not dtest_config.disable_active_log_watching:
dtest_setup.begin_active_log_watch()

# at this point we're done with our setup operations in this fixture
# yield to allow the actual test to run
yield dtest_setup

# phew! we're back after executing the test, now we need to do
# all of our teardown and cleanup operations

reset_environment_vars(initial_environment)
dtest_setup.jvm_args = []

for con in dtest_setup.connections:
con.cluster.shutdown()
dtest_setup.connections = []

failed = False
try:
if not dtest_setup.allow_log_errors:
errors = check_logs_for_errors(dtest_setup)
if len(errors) > 0:
failed = True
pytest.fail(msg='Unexpected error found in node logs (see stdout for full
details). Errors: [{errors}]'
.format(errors=str.join(", ", errors)), pytrace=False)
finally:
try:
# save the logs for inspection
if failed or not dtest_config.delete_logs:
copy_logs(request, dtest_setup.cluster)
except Exception as e:
logger.error("Error saving log:", str(e))
finally:
> dtest_setup.cleanup_cluster(request)

conftest.py:352:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
_ _

self = <dtest_setup.DTestSetup object at 0x7f50423a3490>
request = <SubRequest 'fixture_dtest_setup' for <Function
'test_monotonic_reads[none]'>>

def cleanup_cluster(self, request=None):
with log_filter('cassandra'): # quiet noise from driver when nodes start
going down
> if self.dtest_config.keep_test_dir or
(self.dtest_config.keep_failed_test_dir and request and
request.node.rep_call.failed):
E AttributeError: 'Function' object has no attribute 'rep_call'

dtest_setup.py:351: AttributeError
----------------------------------------------------------------------------
Cassandra dtests // test_multi_dc_tokens_default // Error
test teardown failure

request = <SubRequest 'fixture_dtest_setup' for <Function
'test_multi_dc_tokens_default'>>
dtest_config = <dtest_config.DTestConfig object at 0x7f50445b10a0>
fixture_dtest_setup_overrides = <dtest_setup_overrides.DTestSetupOverrides
object at 0x7f50445a8820>
fixture_logging_setup = None, fixture_dtest_cluster_name = 'test'
fixture_dtest_create_cluster_func = <function DTestSetup.create_ccm_cluster
at 0x7f5044e9f9d0>

@pytest.fixture(scope='function', autouse=False)
def fixture_dtest_setup(request,
dtest_config,
fixture_dtest_setup_overrides,
fixture_logging_setup,
fixture_dtest_cluster_name,
fixture_dtest_create_cluster_func):
if running_in_docker():
cleanup_docker_environment_before_test_execution()

# do all of our setup operations to get the enviornment ready for the actual
test
# to run (e.g. bring up a cluster with the necessary config, populate
variables, etc)
initial_environment = copy.deepcopy(os.environ)
dtest_setup = DTestSetup(dtest_config=dtest_config,
setup_overrides=fixture_dtest_setup_overrides,
cluster_name=fixture_dtest_cluster_name)
dtest_setup.initialize_cluster(fixture_dtest_create_cluster_func)

if not dtest_config.disable_active_log_watching:
dtest_setup.begin_active_log_watch()

# at this point we're done with our setup operations in this fixture
# yield to allow the actual test to run
yield dtest_setup

# phew! we're back after executing the test, now we need to do
# all of our teardown and cleanup operations

reset_environment_vars(initial_environment)
dtest_setup.jvm_args = []

for con in dtest_setup.connections:
con.cluster.shutdown()
dtest_setup.connections = []

failed = False
try:
if not dtest_setup.allow_log_errors:
errors = check_logs_for_errors(dtest_setup)
if len(errors) > 0:
failed = True
pytest.fail(msg='Unexpected error found in node logs (see stdout for full
details). Errors: [{errors}]'
.format(errors=str.join(", ", errors)), pytrace=False)
finally:
try:
# save the logs for inspection
if failed or not dtest_config.delete_logs:
copy_logs(request, dtest_setup.cluster)
except Exception as e:
logger.error("Error saving log:", str(e))
finally:
> dtest_setup.cleanup_cluster(request)

conftest.py:352:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
_ _

self = <dtest_setup.DTestSetup object at 0x7f504479db50>
request = <SubRequest 'fixture_dtest_setup' for <Function
'test_multi_dc_tokens_default'>>

def cleanup_cluster(self, request=None):
with log_filter('cassandra'): # quiet noise from driver when nodes start
going down
> if self.dtest_config.keep_test_dir or
(self.dtest_config.keep_failed_test_dir and request and
request.node.rep_call.failed):
E AttributeError: 'Function' object has no attribute 'rep_call'

dtest_setup.py:351: AttributeError
----------------------------------------------------------------------------
Cassandra dtests /
/ test_password_authenticator_create_user_requires_password // Error
test teardown failure

request = <SubRequest 'fixture_dtest_setup' for <Function
'test_password_authenticator_create_user_requires_password'>>
dtest_config = <dtest_config.DTestConfig object at 0x7fa9c2667610>
fixture_dtest_setup_overrides = <dtest_setup_overrides.DTestSetupOverrides
object at 0x7fa9c2667d30>
fixture_logging_setup = None, fixture_dtest_cluster_name = 'test'
fixture_dtest_create_cluster_func = <function DTestSetup.create_ccm_cluster
at 0x7fa9c2f49b80>

@pytest.fixture(scope='function', autouse=False)
def fixture_dtest_setup(request,
dtest_config,
fixture_dtest_setup_overrides,
fixture_logging_setup,
fixture_dtest_cluster_name,
fixture_dtest_create_cluster_func):
if running_in_docker():
cleanup_docker_environment_before_test_execution()

# do all of our setup operations to get the enviornment ready for the actual
test
# to run (e.g. bring up a cluster with the necessary config, populate
variables, etc)
initial_environment = copy.deepcopy(os.environ)
dtest_setup = DTestSetup(dtest_config=dtest_config,
setup_overrides=fixture_dtest_setup_overrides,
cluster_name=fixture_dtest_cluster_name)
dtest_setup.initialize_cluster(fixture_dtest_create_cluster_func)

if not dtest_config.disable_active_log_watching:
dtest_setup.begin_active_log_watch()

# at this point we're done with our setup operations in this fixture
# yield to allow the actual test to run
yield dtest_setup

# phew! we're back after executing the test, now we need to do
# all of our teardown and cleanup operations

reset_environment_vars(initial_environment)
dtest_setup.jvm_args = []

for con in dtest_setup.connections:
con.cluster.shutdown()
dtest_setup.connections = []

failed = False
try:
if not dtest_setup.allow_log_errors:
errors = check_logs_for_errors(dtest_setup)
if len(errors) > 0:
failed = True
pytest.fail(msg='Unexpected error found in node logs (see stdout for full
details). Errors: [{errors}]'
.format(errors=str.join(", ", errors)), pytrace=False)
finally:
try:
# save the logs for inspection
if failed or not dtest_config.delete_logs:
copy_logs(request, dtest_setup.cluster)
except Exception as e:
logger.error("Error saving log:", str(e))
finally:
> dtest_setup.cleanup_cluster(request)

conftest.py:352:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
_ _

self = <dtest_setup.DTestSetup object at 0x7fa9c2667e50>
request = <SubRequest 'fixture_dtest_setup' for <Function
'test_password_authenticator_create_user_requires_password'>>

def cleanup_cluster(self, request=None):
with log_filter('cassandra'): # quiet noise from driver when nodes start
going down
> if self.dtest_config.keep_test_dir or
(self.dtest_config.keep_failed_test_dir and request and
request.node.rep_call.failed):
E AttributeError: 'Function' object has no attribute 'rep_call'

dtest_setup.py:351: AttributeError
----------------------------------------------------------------------------
Cassandra dtests // test_atomic_writes[blocking] // Error
test teardown failure

request = <SubRequest 'fixture_dtest_setup' for <Function
'test_atomic_writes[blocking]'>>
dtest_config = <dtest_config.DTestConfig object at 0x7fa9c2667610>
fixture_dtest_setup_overrides = <dtest_setup_overrides.DTestSetupOverrides
object at 0x7fa9c2d304c0>
fixture_logging_setup = None, fixture_dtest_cluster_name = 'test'
fixture_dtest_create_cluster_func = <function DTestSetup.create_ccm_cluster
at 0x7fa9c2f49b80>

@pytest.fixture(scope='function', autouse=False)
def fixture_dtest_setup(request,
dtest_config,
fixture_dtest_setup_overrides,
fixture_logging_setup,
fixture_dtest_cluster_name,
fixture_dtest_create_cluster_func):
if running_in_docker():
cleanup_docker_environment_before_test_execution()

# do all of our setup operations to get the enviornment ready for the actual
test
# to run (e.g. bring up a cluster with the necessary config, populate
variables, etc)
initial_environment = copy.deepcopy(os.environ)
dtest_setup = DTestSetup(dtest_config=dtest_config,
setup_overrides=fixture_dtest_setup_overrides,
cluster_name=fixture_dtest_cluster_name)
dtest_setup.initialize_cluster(fixture_dtest_create_cluster_func)

if not dtest_config.disable_active_log_watching:
dtest_setup.begin_active_log_watch()

# at this point we're done with our setup operations in this fixture
# yield to allow the actual test to run
yield dtest_setup

# phew! we're back after executing the test, now we need to do
# all of our teardown and cleanup operations

reset_environment_vars(initial_environment)
dtest_setup.jvm_args = []

for con in dtest_setup.connections:
con.cluster.shutdown()
dtest_setup.connections = []

failed = False
try:
if not dtest_setup.allow_log_errors:
errors = check_logs_for_errors(dtest_setup)
if len(errors) > 0:
failed = True
pytest.fail(msg='Unexpected error found in node logs (see stdout for full
details). Errors: [{errors}]'
.format(errors=str.join(", ", errors)), pytrace=False)
finally:
try:
# save the logs for inspection
if failed or not dtest_config.delete_logs:
copy_logs(request, dtest_setup.cluster)
except Exception as e:
logger.error("Error saving log:", str(e))
finally:
> dtest_setup.cleanup_cluster(request)

conftest.py:352:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
_ _

self = <dtest_setup.DTestSetup object at 0x7fa9c2809940>
request = <SubRequest 'fixture_dtest_setup' for <Function
'test_atomic_writes[blocking]'>>

def cleanup_cluster(self, request=None):
with log_filter('cassandra'): # quiet noise from driver when nodes start
going down
> if self.dtest_config.keep_test_dir or
(self.dtest_config.keep_failed_test_dir and request and
request.node.rep_call.failed):
E AttributeError: 'Function' object has no attribute 'rep_call'

dtest_setup.py:351: AttributeError
----------------------------------------------------------------------------
Cassandra dtests // test_multi_dc_tokens_murmur3 // Error
test teardown failure

request = <SubRequest 'fixture_dtest_setup' for <Function
'test_multi_dc_tokens_murmur3'>>
dtest_config = <dtest_config.DTestConfig object at 0x7fa9c2667610>
fixture_dtest_setup_overrides = <dtest_setup_overrides.DTestSetupOverrides
object at 0x7fa9c2837520>
fixture_logging_setup = None, fixture_dtest_cluster_name = 'test'
fixture_dtest_create_cluster_func = <function DTestSetup.create_ccm_cluster
at 0x7fa9c2f49b80>

@pytest.fixture(scope='function', autouse=False)
def fixture_dtest_setup(request,
dtest_config,
fixture_dtest_setup_overrides,
fixture_logging_setup,
fixture_dtest_cluster_name,
fixture_dtest_create_cluster_func):
if running_in_docker():
cleanup_docker_environment_before_test_execution()

# do all of our setup operations to get the enviornment ready for the actual
test
# to run (e.g. bring up a cluster with the necessary config, populate
variables, etc)
initial_environment = copy.deepcopy(os.environ)
dtest_setup = DTestSetup(dtest_config=dtest_config,
setup_overrides=fixture_dtest_setup_overrides,
cluster_name=fixture_dtest_cluster_name)
dtest_setup.initialize_cluster(fixture_dtest_create_cluster_func)

if not dtest_config.disable_active_log_watching:
dtest_setup.begin_active_log_watch()

# at this point we're done with our setup operations in this fixture
# yield to allow the actual test to run
yield dtest_setup

# phew! we're back after executing the test, now we need to do
# all of our teardown and cleanup operations

reset_environment_vars(initial_environment)
dtest_setup.jvm_args = []

for con in dtest_setup.connections:
con.cluster.shutdown()
dtest_setup.connections = []

failed = False
try:
if not dtest_setup.allow_log_errors:
errors = check_logs_for_errors(dtest_setup)
if len(errors) > 0:
failed = True
pytest.fail(msg='Unexpected error found in node logs (see stdout for full
details). Errors: [{errors}]'
.format(errors=str.join(", ", errors)), pytrace=False)
finally:
try:
# save the logs for inspection
if failed or not dtest_config.delete_logs:
copy_logs(request, dtest_setup.cluster)
except Exception as e:
logger.error("Error saving log:", str(e))
finally:
> dtest_setup.cleanup_cluster(request)

conftest.py:352:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
_ _

self = <dtest_setup.DTestSetup object at 0x7fa9c0394220>
request = <SubRequest 'fixture_dtest_setup' for <Function
'test_multi_dc_tokens_murmur3'>>

def cleanup_cluster(self, request=None):
with log_filter('cassandra'): # quiet noise from driver when nodes start
going down
> if self.dtest_config.keep_test_dir or
(self.dtest_config.keep_failed_test_dir and request and
request.node.rep_call.failed):
E AttributeError: 'Function' object has no attribute 'rep_call'

dtest_setup.py:351: AttributeError
----------------------------------------------------------------------------
Cassandra dtests // test_consistent_repair // Error
test teardown failure

request = <SubRequest 'fixture_dtest_setup' for <Function
'test_consistent_repair'>>
dtest_config = <dtest_config.DTestConfig object at 0x7fa9c2667610>
fixture_dtest_setup_overrides = <dtest_setup_overrides.DTestSetupOverrides
object at 0x7fa9c29fa790>
fixture_logging_setup = None, fixture_dtest_cluster_name = 'test'
fixture_dtest_create_cluster_func = <function DTestSetup.create_ccm_cluster
at 0x7fa9c2f49b80>

@pytest.fixture(scope='function', autouse=False)
def fixture_dtest_setup(request,
dtest_config,
fixture_dtest_setup_overrides,
fixture_logging_setup,
fixture_dtest_cluster_name,
fixture_dtest_create_cluster_func):
if running_in_docker():
cleanup_docker_environment_before_test_execution()

# do all of our setup operations to get the enviornment ready for the actual
test
# to run (e.g. bring up a cluster with the necessary config, populate
variables, etc)
initial_environment = copy.deepcopy(os.environ)
dtest_setup = DTestSetup(dtest_config=dtest_config,
setup_overrides=fixture_dtest_setup_overrides,
cluster_name=fixture_dtest_cluster_name)
dtest_setup.initialize_cluster(fixture_dtest_create_cluster_func)

if not dtest_config.disable_active_log_watching:
dtest_setup.begin_active_log_watch()

# at this point we're done with our setup operations in this fixture
# yield to allow the actual test to run
yield dtest_setup

# phew! we're back after executing the test, now we need to do
# all of our teardown and cleanup operations

reset_environment_vars(initial_environment)
dtest_setup.jvm_args = []

for con in dtest_setup.connections:
con.cluster.shutdown()
dtest_setup.connections = []

failed = False
try:
if not dtest_setup.allow_log_errors:
errors = check_logs_for_errors(dtest_setup)
if len(errors) > 0:
failed = True
pytest.fail(msg='Unexpected error found in node logs (see stdout for full
details). Errors: [{errors}]'
.format(errors=str.join(", ", errors)), pytrace=False)
finally:
try:
# save the logs for inspection
if failed or not dtest_config.delete_logs:
copy_logs(request, dtest_setup.cluster)
except Exception as e:
logger.error("Error saving log:", str(e))
finally:
> dtest_setup.cleanup_cluster(request)

conftest.py:352:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
_ _

self = <dtest_setup.DTestSetup object at 0x7fa9c29faac0>
request = <SubRequest 'fixture_dtest_setup' for <Function
'test_consistent_repair'>>

def cleanup_cluster(self, request=None):
with log_filter('cassandra'): # quiet noise from driver when nodes start
going down
> if self.dtest_config.keep_test_dir or
(self.dtest_config.keep_failed_test_dir and request and
request.node.rep_call.failed):
E AttributeError: 'Function' object has no attribute 'rep_call'

dtest_setup.py:351: AttributeError
----------------------------------------------------------------------------
Cassandra dtests // test_large_collection_errors // Error
test teardown failure

request = <SubRequest 'fixture_dtest_setup' for <Function
'test_large_collection_errors'>>
dtest_config = <dtest_config.DTestConfig object at 0x7f3b2d5ba3d0>
fixture_dtest_setup_overrides = <dtest_setup_overrides.DTestSetupOverrides
object at 0x7f3b2d8dc4f0>
fixture_logging_setup = None, fixture_dtest_cluster_name = 'test'
fixture_dtest_create_cluster_func = <function DTestSetup.create_ccm_cluster
at 0x7f3b2dee8a60>

@pytest.fixture(scope='function', autouse=False)
def fixture_dtest_setup(request,
dtest_config,
fixture_dtest_setup_overrides,
fixture_logging_setup,
fixture_dtest_cluster_name,
fixture_dtest_create_cluster_func):
if running_in_docker():
cleanup_docker_environment_before_test_execution()

# do all of our setup operations to get the enviornment ready for the actual
test
# to run (e.g. bring up a cluster with the necessary config, populate
variables, etc)
initial_environment = copy.deepcopy(os.environ)
dtest_setup = DTestSetup(dtest_config=dtest_config,
setup_overrides=fixture_dtest_setup_overrides,
cluster_name=fixture_dtest_cluster_name)
dtest_setup.initialize_cluster(fixture_dtest_create_cluster_func)

if not dtest_config.disable_active_log_watching:
dtest_setup.begin_active_log_watch()

# at this point we're done with our setup operations in this fixture
# yield to allow the actual test to run
yield dtest_setup

# phew! we're back after executing the test, now we need to do
# all of our teardown and cleanup operations

reset_environment_vars(initial_environment)
dtest_setup.jvm_args = []

for con in dtest_setup.connections:
con.cluster.shutdown()
dtest_setup.connections = []

failed = False
try:
if not dtest_setup.allow_log_errors:
errors = check_logs_for_errors(dtest_setup)
if len(errors) > 0:
failed = True
pytest.fail(msg='Unexpected error found in node logs (see stdout for full
details). Errors: [{errors}]'
.format(errors=str.join(", ", errors)), pytrace=False)
finally:
try:
# save the logs for inspection
if failed or not dtest_config.delete_logs:
copy_logs(request, dtest_setup.cluster)
except Exception as e:
logger.error("Error saving log:", str(e))
finally:
> dtest_setup.cleanup_cluster(request)

conftest.py:352:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
_ _

self = <dtest_setup.DTestSetup object at 0x7f3b2c3be490>
request = <SubRequest 'fixture_dtest_setup' for <Function
'test_large_collection_errors'>>

def cleanup_cluster(self, request=None):
with log_filter('cassandra'): # quiet noise from driver when nodes start
going down
> if self.dtest_config.keep_test_dir or
(self.dtest_config.keep_failed_test_dir and request and
request.node.rep_call.failed):
E AttributeError: 'Function' object has no attribute 'rep_call'

dtest_setup.py:351: AttributeError
----------------------------------------------------------------------------
Cassandra dtests // test_atomic_writes[none] // Error
test teardown failure

request = <SubRequest 'fixture_dtest_setup' for <Function
'test_atomic_writes[none]'>>
dtest_config = <dtest_config.DTestConfig object at 0x7f3b2d5ba3d0>
fixture_dtest_setup_overrides = <dtest_setup_overrides.DTestSetupOverrides
object at 0x7f3b2c382940>
fixture_logging_setup = None, fixture_dtest_cluster_name = 'test'
fixture_dtest_create_cluster_func = <function DTestSetup.create_ccm_cluster
at 0x7f3b2dee8a60>

@pytest.fixture(scope='function', autouse=False)
def fixture_dtest_setup(request,
dtest_config,
fixture_dtest_setup_overrides,
fixture_logging_setup,
fixture_dtest_cluster_name,
fixture_dtest_create_cluster_func):
if running_in_docker():
cleanup_docker_environment_before_test_execution()

# do all of our setup operations to get the enviornment ready for the actual
test
# to run (e.g. bring up a cluster with the necessary config, populate
variables, etc)
initial_environment = copy.deepcopy(os.environ)
dtest_setup = DTestSetup(dtest_config=dtest_config,
setup_overrides=fixture_dtest_setup_overrides,
cluster_name=fixture_dtest_cluster_name)
dtest_setup.initialize_cluster(fixture_dtest_create_cluster_func)

if not dtest_config.disable_active_log_watching:
dtest_setup.begin_active_log_watch()

# at this point we're done with our setup operations in this fixture
# yield to allow the actual test to run
yield dtest_setup

# phew! we're back after executing the test, now we need to do
# all of our teardown and cleanup operations

reset_environment_vars(initial_environment)
dtest_setup.jvm_args = []

for con in dtest_setup.connections:
con.cluster.shutdown()
dtest_setup.connections = []

failed = False
try:
if not dtest_setup.allow_log_errors:
errors = check_logs_for_errors(dtest_setup)
if len(errors) > 0:
failed = True
pytest.fail(msg='Unexpected error found in node logs (see stdout for full
details). Errors: [{errors}]'
.format(errors=str.join(", ", errors)), pytrace=False)
finally:
try:
# save the logs for inspection
if failed or not dtest_config.delete_logs:
copy_logs(request, dtest_setup.cluster)
except Exception as e:
logger.error("Error saving log:", str(e))
finally:
> dtest_setup.cleanup_cluster(request)

conftest.py:352:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
_ _

self = <dtest_setup.DTestSetup object at 0x7f3b2dcde490>
request = <SubRequest 'fixture_dtest_setup' for <Function
'test_atomic_writes[none]'>>

def cleanup_cluster(self, request=None):
with log_filter('cassandra'): # quiet noise from driver when nodes start
going down
> if self.dtest_config.keep_test_dir or
(self.dtest_config.keep_failed_test_dir and request and
request.node.rep_call.failed):
E AttributeError: 'Function' object has no attribute 'rep_call'

dtest_setup.py:351: AttributeError
----------------------------------------------------------------------------
Cassandra dtests // test_multi_dc_tokens_random // Error
test teardown failure

request = <SubRequest 'fixture_dtest_setup' for <Function
'test_multi_dc_tokens_random'>>
dtest_config = <dtest_config.DTestConfig object at 0x7f3b2d5ba3d0>
fixture_dtest_setup_overrides = <dtest_setup_overrides.DTestSetupOverrides
object at 0x7f3b2c408520>
fixture_logging_setup = None, fixture_dtest_cluster_name = 'test'
fixture_dtest_create_cluster_func = <function DTestSetup.create_ccm_cluster
at 0x7f3b2dee8a60>

@pytest.fixture(scope='function', autouse=False)
def fixture_dtest_setup(request,
dtest_config,
fixture_dtest_setup_overrides,
fixture_logging_setup,
fixture_dtest_cluster_name,
fixture_dtest_create_cluster_func):
if running_in_docker():
cleanup_docker_environment_before_test_execution()

# do all of our setup operations to get the enviornment ready for the actual
test
# to run (e.g. bring up a cluster with the necessary config, populate
variables, etc)
initial_environment = copy.deepcopy(os.environ)
dtest_setup = DTestSetup(dtest_config=dtest_config,
setup_overrides=fixture_dtest_setup_overrides,
cluster_name=fixture_dtest_cluster_name)
dtest_setup.initialize_cluster(fixture_dtest_create_cluster_func)

if not dtest_config.disable_active_log_watching:
dtest_setup.begin_active_log_watch()

# at this point we're done with our setup operations in this fixture
# yield to allow the actual test to run
yield dtest_setup

# phew! we're back after executing the test, now we need to do
# all of our teardown and cleanup operations

reset_environment_vars(initial_environment)
dtest_setup.jvm_args = []

for con in dtest_setup.connections:
con.cluster.shutdown()
dtest_setup.connections = []

failed = False
try:
if not dtest_setup.allow_log_errors:
errors = check_logs_for_errors(dtest_setup)
if len(errors) > 0:
failed = True
pytest.fail(msg='Unexpected error found in node logs (see stdout for full
details). Errors: [{errors}]'
.format(errors=str.join(", ", errors)), pytrace=False)
finally:
try:
# save the logs for inspection
if failed or not dtest_config.delete_logs:
copy_logs(request, dtest_setup.cluster)
except Exception as e:
logger.error("Error saving log:", str(e))
finally:
> dtest_setup.cleanup_cluster(request)

conftest.py:352:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
_ _

self = <dtest_setup.DTestSetup object at 0x7f3b2d736d90>
request = <SubRequest 'fixture_dtest_setup' for <Function
'test_multi_dc_tokens_random'>>

def cleanup_cluster(self, request=None):
with log_filter('cassandra'): # quiet noise from driver when nodes start
going down
> if self.dtest_config.keep_test_dir or
(self.dtest_config.keep_failed_test_dir and request and
request.node.rep_call.failed):
E AttributeError: 'Function' object has no attribute 'rep_call'

dtest_setup.py:351: AttributeError
----------------------------------------------------------------------------
Cassandra dtests // test_manual_session_fail // Error
test teardown failure

request = <SubRequest 'fixture_dtest_setup' for <Function
'test_manual_session_fail'>>
dtest_config = <dtest_config.DTestConfig object at 0x7f3b2d5ba3d0>
fixture_dtest_setup_overrides = <dtest_setup_overrides.DTestSetupOverrides
object at 0x7f3b2dc8c370>
fixture_logging_setup = None, fixture_dtest_cluster_name = 'test'
fixture_dtest_create_cluster_func = <function DTestSetup.create_ccm_cluster
at 0x7f3b2dee8a60>

@pytest.fixture(scope='function', autouse=False)
def fixture_dtest_setup(request,
dtest_config,
fixture_dtest_setup_overrides,
fixture_logging_setup,
fixture_dtest_cluster_name,
fixture_dtest_create_cluster_func):
if running_in_docker():
cleanup_docker_environment_before_test_execution()

# do all of our setup operations to get the enviornment ready for the actual
test
# to run (e.g. bring up a cluster with the necessary config, populate
variables, etc)
initial_environment = copy.deepcopy(os.environ)
dtest_setup = DTestSetup(dtest_config=dtest_config,
setup_overrides=fixture_dtest_setup_overrides,
cluster_name=fixture_dtest_cluster_name)
dtest_setup.initialize_cluster(fixture_dtest_create_cluster_func)

if not dtest_config.disable_active_log_watching:
dtest_setup.begin_active_log_watch()

# at this point we're done with our setup operations in this fixture
# yield to allow the actual test to run
yield dtest_setup

# phew! we're back after executing the test, now we need to do
# all of our teardown and cleanup operations

reset_environment_vars(initial_environment)
dtest_setup.jvm_args = []

for con in dtest_setup.connections:
con.cluster.shutdown()
dtest_setup.connections = []

failed = False
try:
if not dtest_setup.allow_log_errors:
errors = check_logs_for_errors(dtest_setup)
if len(errors) > 0:
failed = True
pytest.fail(msg='Unexpected error found in node logs (see stdout for full
details). Errors: [{errors}]'
.format(errors=str.join(", ", errors)), pytrace=False)
finally:
try:
# save the logs for inspection
if failed or not dtest_config.delete_logs:
copy_logs(request, dtest_setup.cluster)
except Exception as e:
logger.error("Error saving log:", str(e))
finally:
> dtest_setup.cleanup_cluster(request)

conftest.py:352:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
_ _

self = <dtest_setup.DTestSetup object at 0x7f3b2dc7a5b0>
request = <SubRequest 'fixture_dtest_setup' for <Function
'test_manual_session_fail'>>

def cleanup_cluster(self, request=None):
with log_filter('cassandra'): # quiet noise from driver when nodes start
going down
> if self.dtest_config.keep_test_dir or
(self.dtest_config.keep_failed_test_dir and request and
request.node.rep_call.failed):
E AttributeError: 'Function' object has no attribute 'rep_call'

dtest_setup.py:351: AttributeError
----------------------------------------------------------------------------
Cassandra dtests // test_manual_session_cancel_non_coordinator_failure /
/ Error
test teardown failure

request = <SubRequest 'fixture_dtest_setup' for <Function
'test_manual_session_cancel_non_coordinator_failure'>>
dtest_config = <dtest_config.DTestConfig object at 0x7f754756b910>
fixture_dtest_setup_overrides = <dtest_setup_overrides.DTestSetupOverrides
object at 0x7f754415a1f0>
fixture_logging_setup = None, fixture_dtest_cluster_name = 'test'
fixture_dtest_create_cluster_func = <function DTestSetup.create_ccm_cluster
at 0x7f7547e9faf0>

@pytest.fixture(scope='function', autouse=False)
def fixture_dtest_setup(request,
dtest_config,
fixture_dtest_setup_overrides,
fixture_logging_setup,
fixture_dtest_cluster_name,
fixture_dtest_create_cluster_func):
if running_in_docker():
cleanup_docker_environment_before_test_execution()

# do all of our setup operations to get the enviornment ready for the actual
test
# to run (e.g. bring up a cluster with the necessary config, populate
variables, etc)
initial_environment = copy.deepcopy(os.environ)
dtest_setup = DTestSetup(dtest_config=dtest_config,
setup_overrides=fixture_dtest_setup_overrides,
cluster_name=fixture_dtest_cluster_name)
dtest_setup.initialize_cluster(fixture_dtest_create_cluster_func)

if not dtest_config.disable_active_log_watching:
dtest_setup.begin_active_log_watch()

# at this point we're done with our setup operations in this fixture
# yield to allow the actual test to run
yield dtest_setup

# phew! we're back after executing the test, now we need to do
# all of our teardown and cleanup operations

reset_environment_vars(initial_environment)
dtest_setup.jvm_args = []

for con in dtest_setup.connections:
con.cluster.shutdown()
dtest_setup.connections = []

failed = False
try:
if not dtest_setup.allow_log_errors:
errors = check_logs_for_errors(dtest_setup)
if len(errors) > 0:
failed = True
pytest.fail(msg='Unexpected error found in node logs (see stdout for full
details). Errors: [{errors}]'
.format(errors=str.join(", ", errors)), pytrace=False)
finally:
try:
# save the logs for inspection
if failed or not dtest_config.delete_logs:
copy_logs(request, dtest_setup.cluster)
except Exception as e:
logger.error("Error saving log:", str(e))
finally:
> dtest_setup.cleanup_cluster(request)

conftest.py:352:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
_ _

self = <dtest_setup.DTestSetup object at 0x7f75475a79a0>
request = <SubRequest 'fixture_dtest_setup' for <Function
'test_manual_session_cancel_non_coordinator_failure'>>

def cleanup_cluster(self, request=None):
with log_filter('cassandra'): # quiet noise from driver when nodes start
going down
> if self.dtest_config.keep_test_dir or
(self.dtest_config.keep_failed_test_dir and request and
request.node.rep_call.failed):
E AttributeError: 'Function' object has no attribute 'rep_call'

dtest_setup.py:351: AttributeError
----------------------------------------------------------------------------
Cassandra dtests // test_sstableloader_with_failing_2i // Error
test teardown failure

request = <SubRequest 'fixture_dtest_setup' for <Function
'test_sstableloader_with_failing_2i'>>
dtest_config = <dtest_config.DTestConfig object at 0x7f6523ff5c10>
fixture_dtest_setup_overrides = <dtest_setup_overrides.DTestSetupOverrides
object at 0x7f6524420580>
fixture_logging_setup = None, fixture_dtest_cluster_name = 'test'
fixture_dtest_create_cluster_func = <function DTestSetup.create_ccm_cluster
at 0x7f6524923af0>

@pytest.fixture(scope='function', autouse=False)
def fixture_dtest_setup(request,
dtest_config,
fixture_dtest_setup_overrides,
fixture_logging_setup,
fixture_dtest_cluster_name,
fixture_dtest_create_cluster_func):
if running_in_docker():
cleanup_docker_environment_before_test_execution()

# do all of our setup operations to get the enviornment ready for the actual
test
# to run (e.g. bring up a cluster with the necessary config, populate
variables, etc)
initial_environment = copy.deepcopy(os.environ)
dtest_setup = DTestSetup(dtest_config=dtest_config,
setup_overrides=fixture_dtest_setup_overrides,
cluster_name=fixture_dtest_cluster_name)
dtest_setup.initialize_cluster(fixture_dtest_create_cluster_func)

if not dtest_config.disable_active_log_watching:
dtest_setup.begin_active_log_watch()

# at this point we're done with our setup operations in this fixture
# yield to allow the actual test to run
yield dtest_setup

# phew! we're back after executing the test, now we need to do
# all of our teardown and cleanup operations

reset_environment_vars(initial_environment)
dtest_setup.jvm_args = []

for con in dtest_setup.connections:
con.cluster.shutdown()
dtest_setup.connections = []

failed = False
try:
if not dtest_setup.allow_log_errors:
errors = check_logs_for_errors(dtest_setup)
if len(errors) > 0:
failed = True
pytest.fail(msg='Unexpected error found in node logs (see stdout for full
details). Errors: [{errors}]'
.format(errors=str.join(", ", errors)), pytrace=False)
finally:
try:
# save the logs for inspection
if failed or not dtest_config.delete_logs:
copy_logs(request, dtest_setup.cluster)
except Exception as e:
logger.error("Error saving log:", str(e))
finally:
> dtest_setup.cleanup_cluster(request)

conftest.py:352:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
_ _

self = <dtest_setup.DTestSetup object at 0x7f6524420b20>
request = <SubRequest 'fixture_dtest_setup' for <Function
'test_sstableloader_with_failing_2i'>>

def cleanup_cluster(self, request=None):
with log_filter('cassandra'): # quiet noise from driver when nodes start
going down
> if self.dtest_config.keep_test_dir or
(self.dtest_config.keep_failed_test_dir and request and
request.node.rep_call.failed):
E AttributeError: 'Function' object has no attribute 'rep_call'

dtest_setup.py:351: AttributeError
----------------------------------------------------------------------------
Cassandra dtests // test_datetime_values_40 // Error
test teardown failure

request = <SubRequest 'fixture_dtest_setup' for <Function
'test_datetime_values_40'>>
dtest_config = <dtest_config.DTestConfig object at 0x7f6523ff5c10>
fixture_dtest_setup_overrides = <dtest_setup_overrides.DTestSetupOverrides
object at 0x7f652320de80>
fixture_logging_setup = None, fixture_dtest_cluster_name = 'test'
fixture_dtest_create_cluster_func = <function DTestSetup.create_ccm_cluster
at 0x7f6524923af0>

@pytest.fixture(scope='function', autouse=False)
def fixture_dtest_setup(request,
dtest_config,
fixture_dtest_setup_overrides,
fixture_logging_setup,
fixture_dtest_cluster_name,
fixture_dtest_create_cluster_func):
if running_in_docker():
cleanup_docker_environment_before_test_execution()

# do all of our setup operations to get the enviornment ready for the actual
test
# to run (e.g. bring up a cluster with the necessary config, populate
variables, etc)
initial_environment = copy.deepcopy(os.environ)
dtest_setup = DTestSetup(dtest_config=dtest_config,
setup_overrides=fixture_dtest_setup_overrides,
cluster_name=fixture_dtest_cluster_name)
dtest_setup.initialize_cluster(fixture_dtest_create_cluster_func)

if not dtest_config.disable_active_log_watching:
dtest_setup.begin_active_log_watch()

# at this point we're done with our setup operations in this fixture
# yield to allow the actual test to run
yield dtest_setup

# phew! we're back after executing the test, now we need to do
# all of our teardown and cleanup operations

reset_environment_vars(initial_environment)
dtest_setup.jvm_args = []

for con in dtest_setup.connections:
con.cluster.shutdown()
dtest_setup.connections = []

failed = False
try:
if not dtest_setup.allow_log_errors:
errors = check_logs_for_errors(dtest_setup)
if len(errors) > 0:
failed = True
pytest.fail(msg='Unexpected error found in node logs (see stdout for full
details). Errors: [{errors}]'
.format(errors=str.join(", ", errors)), pytrace=False)
finally:
try:
# save the logs for inspection
if failed or not dtest_config.delete_logs:
copy_logs(request, dtest_setup.cluster)
except Exception as e:
logger.error("Error saving log:", str(e))
finally:
> dtest_setup.cleanup_cluster(request)

conftest.py:352:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
_ _

self = <dtest_setup.DTestSetup object at 0x7f652322f4c0>
request = <SubRequest 'fixture_dtest_setup' for <Function
'test_datetime_values_40'>>

def cleanup_cluster(self, request=None):
with log_filter('cassandra'): # quiet noise from driver when nodes start
going down
> if self.dtest_config.keep_test_dir or
(self.dtest_config.keep_failed_test_dir and request and
request.node.rep_call.failed):
E AttributeError: 'Function' object has no attribute 'rep_call'

dtest_setup.py:351: AttributeError
----------------------------------------------------------------------------
Cassandra dtests // test_manual_session_force_cancel // Error
test teardown failure

request = <SubRequest 'fixture_dtest_setup' for <Function
'test_manual_session_force_cancel'>>
dtest_config = <dtest_config.DTestConfig object at 0x7f6523ff5c10>
fixture_dtest_setup_overrides = <dtest_setup_overrides.DTestSetupOverrides
object at 0x7f65204b4f40>
fixture_logging_setup = None, fixture_dtest_cluster_name = 'test'
fixture_dtest_create_cluster_func = <function DTestSetup.create_ccm_cluster
at 0x7f6524923af0>

@pytest.fixture(scope='function', autouse=False)
def fixture_dtest_setup(request,
dtest_config,
fixture_dtest_setup_overrides,
fixture_logging_setup,
fixture_dtest_cluster_name,
fixture_dtest_create_cluster_func):
if running_in_docker():
cleanup_docker_environment_before_test_execution()

# do all of our setup operations to get the enviornment ready for the actual
test
# to run (e.g. bring up a cluster with the necessary config, populate
variables, etc)
initial_environment = copy.deepcopy(os.environ)
dtest_setup = DTestSetup(dtest_config=dtest_config,
setup_overrides=fixture_dtest_setup_overrides,
cluster_name=fixture_dtest_cluster_name)
dtest_setup.initialize_cluster(fixture_dtest_create_cluster_func)

if not dtest_config.disable_active_log_watching:
dtest_setup.begin_active_log_watch()

# at this point we're done with our setup operations in this fixture
# yield to allow the actual test to run
yield dtest_setup

# phew! we're back after executing the test, now we need to do
# all of our teardown and cleanup operations

reset_environment_vars(initial_environment)
dtest_setup.jvm_args = []

for con in dtest_setup.connections:
con.cluster.shutdown()
dtest_setup.connections = []

failed = False
try:
if not dtest_setup.allow_log_errors:
errors = check_logs_for_errors(dtest_setup)
if len(errors) > 0:
failed = True
pytest.fail(msg='Unexpected error found in node logs (see stdout for full
details). Errors: [{errors}]'
.format(errors=str.join(", ", errors)), pytrace=False)
finally:
try:
# save the logs for inspection
if failed or not dtest_config.delete_logs:
copy_logs(request, dtest_setup.cluster)
except Exception as e:
logger.error("Error saving log:", str(e))
finally:
> dtest_setup.cleanup_cluster(request)

conftest.py:352:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
_ _

self = <dtest_setup.DTestSetup object at 0x7f6524305940>
request = <SubRequest 'fixture_dtest_setup' for <Function
'test_manual_session_force_cancel'>>

def cleanup_cluster(self, request=None):
with log_filter('cassandra'): # quiet noise from driver when nodes start
going down
> if self.dtest_config.keep_test_dir or
(self.dtest_config.keep_failed_test_dir and request and
request.node.rep_call.failed):
E AttributeError: 'Function' object has no attribute 'rep_call'

dtest_setup.py:351: AttributeError
----------------------------------------------------------------------------
Cassandra dtests // test_only_superusers_can_drop_users // Error
test teardown failure

request = <SubRequest 'fixture_dtest_setup' for <Function
'test_only_superusers_can_drop_users'>>
dtest_config = <dtest_config.DTestConfig object at 0x7f4ef6b7e2b0>
fixture_dtest_setup_overrides = <dtest_setup_overrides.DTestSetupOverrides
object at 0x7f4ef6b7afd0>
fixture_logging_setup = None, fixture_dtest_cluster_name = 'test'
fixture_dtest_create_cluster_func = <function DTestSetup.create_ccm_cluster
at 0x7f4ef740b9d0>

@pytest.fixture(scope='function', autouse=False)
def fixture_dtest_setup(request,
dtest_config,
fixture_dtest_setup_overrides,
fixture_logging_setup,
fixture_dtest_cluster_name,
fixture_dtest_create_cluster_func):
if running_in_docker():
cleanup_docker_environment_before_test_execution()

# do all of our setup operations to get the enviornment ready for the actual
test
# to run (e.g. bring up a cluster with the necessary config, populate
variables, etc)
initial_environment = copy.deepcopy(os.environ)
dtest_setup = DTestSetup(dtest_config=dtest_config,
setup_overrides=fixture_dtest_setup_overrides,
cluster_name=fixture_dtest_cluster_name)
dtest_setup.initialize_cluster(fixture_dtest_create_cluster_func)

if not dtest_config.disable_active_log_watching:
dtest_setup.begin_active_log_watch()

# at this point we're done with our setup operations in this fixture
# yield to allow the actual test to run
yield dtest_setup

# phew! we're back after executing the test, now we need to do
# all of our teardown and cleanup operations

reset_environment_vars(initial_environment)
dtest_setup.jvm_args = []

for con in dtest_setup.connections:
con.cluster.shutdown()
dtest_setup.connections = []

failed = False
try:
if not dtest_setup.allow_log_errors:
errors = check_logs_for_errors(dtest_setup)
if len(errors) > 0:
failed = True
pytest.fail(msg='Unexpected error found in node logs (see stdout for full
details). Errors: [{errors}]'
.format(errors=str.join(", ", errors)), pytrace=False)
finally:
try:
# save the logs for inspection
if failed or not dtest_config.delete_logs:
copy_logs(request, dtest_setup.cluster)
except Exception as e:
logger.error("Error saving log:", str(e))
finally:
> dtest_setup.cleanup_cluster(request)

conftest.py:352:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
_ _

self = <dtest_setup.DTestSetup object at 0x7f4ef6b7ac10>
request = <SubRequest 'fixture_dtest_setup' for <Function
'test_only_superusers_can_drop_users'>>

def cleanup_cluster(self, request=None):
with log_filter('cassandra'): # quiet noise from driver when nodes start
going down
> if self.dtest_config.keep_test_dir or
(self.dtest_config.keep_failed_test_dir and request and
request.node.rep_call.failed):
E AttributeError: 'Function' object has no attribute 'rep_call'

dtest_setup.py:351: AttributeError
----------------------------------------------------------------------------
Cassandra dtests // test_failing_manual_rebuild_index // Error
test teardown failure

request = <SubRequest 'fixture_dtest_setup' for <Function
'test_failing_manual_rebuild_index'>>
dtest_config = <dtest_config.DTestConfig object at 0x7ffa68fef370>
fixture_dtest_setup_overrides = <dtest_setup_overrides.DTestSetupOverrides
object at 0x7ffa625dab80>
fixture_logging_setup = None, fixture_dtest_cluster_name = 'test'
fixture_dtest_create_cluster_func = <function DTestSetup.create_ccm_cluster
at 0x7ffa69879af0>

@pytest.fixture(scope='function', autouse=False)
def fixture_dtest_setup(request,
dtest_config,
fixture_dtest_setup_overrides,
fixture_logging_setup,
fixture_dtest_cluster_name,
fixture_dtest_create_cluster_func):
if running_in_docker():
cleanup_docker_environment_before_test_execution()

# do all of our setup operations to get the enviornment ready for the actual
test
# to run (e.g. bring up a cluster with the necessary config, populate
variables, etc)
initial_environment = copy.deepcopy(os.environ)
dtest_setup = DTestSetup(dtest_config=dtest_config,
setup_overrides=fixture_dtest_setup_overrides,
cluster_name=fixture_dtest_cluster_name)
dtest_setup.initialize_cluster(fixture_dtest_create_cluster_func)

if not dtest_config.disable_active_log_watching:
dtest_setup.begin_active_log_watch()

# at this point we're done with our setup operations in this fixture
# yield to allow the actual test to run
yield dtest_setup

# phew! we're back after executing the test, now we need to do
# all of our teardown and cleanup operations

reset_environment_vars(initial_environment)
dtest_setup.jvm_args = []

for con in dtest_setup.connections:
con.cluster.shutdown()
dtest_setup.connections = []

failed = False
try:
if not dtest_setup.allow_log_errors:
errors = check_logs_for_errors(dtest_setup)
if len(errors) > 0:
failed = True
pytest.fail(msg='Unexpected error found in node logs (see stdout for full
details). Errors: [{errors}]'
.format(errors=str.join(", ", errors)), pytrace=False)
finally:
try:
# save the logs for inspection
if failed or not dtest_config.delete_logs:
copy_logs(request, dtest_setup.cluster)
except Exception as e:
logger.error("Error saving log:", str(e))
finally:
> dtest_setup.cleanup_cluster(request)

conftest.py:352:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
_ _

self = <dtest_setup.DTestSetup object at 0x7ffa625c4490>
request = <SubRequest 'fixture_dtest_setup' for <Function
'test_failing_manual_rebuild_index'>>

def cleanup_cluster(self, request=None):
with log_filter('cassandra'): # quiet noise from driver when nodes start
going down
> if self.dtest_config.keep_test_dir or
(self.dtest_config.keep_failed_test_dir and request and
request.node.rep_call.failed):
E AttributeError: 'Function' object has no attribute 'rep_call'

dtest_setup.py:351: AttributeError
----------------------------------------------------------------------------
Cassandra dtests // test_fql_nodetool_options // Error
test teardown failure

request = <SubRequest 'fixture_dtest_setup' for <Function
'test_fql_nodetool_options'>>
dtest_config = <dtest_config.DTestConfig object at 0x7f555b762550>
fixture_dtest_setup_overrides = <dtest_setup_overrides.DTestSetupOverrides
object at 0x7f555b7625b0>
fixture_logging_setup = None, fixture_dtest_cluster_name = 'test'
fixture_dtest_create_cluster_func = <function DTestSetup.create_ccm_cluster
at 0x7f555bfeaa60>

@pytest.fixture(scope='function', autouse=False)
def fixture_dtest_setup(request,
dtest_config,
fixture_dtest_setup_overrides,
fixture_logging_setup,
fixture_dtest_cluster_name,
fixture_dtest_create_cluster_func):
if running_in_docker():
cleanup_docker_environment_before_test_execution()

# do all of our setup operations to get the enviornment ready for the actual
test
# to run (e.g. bring up a cluster with the necessary config, populate
variables, etc)
initial_environment = copy.deepcopy(os.environ)
dtest_setup = DTestSetup(dtest_config=dtest_config,
setup_overrides=fixture_dtest_setup_overrides,
cluster_name=fixture_dtest_cluster_name)
dtest_setup.initialize_cluster(fixture_dtest_create_cluster_func)

if not dtest_config.disable_active_log_watching:
dtest_setup.begin_active_log_watch()

# at this point we're done with our setup operations in this fixture
# yield to allow the actual test to run
yield dtest_setup

# phew! we're back after executing the test, now we need to do
# all of our teardown and cleanup operations

reset_environment_vars(initial_environment)
dtest_setup.jvm_args = []

for con in dtest_setup.connections:
con.cluster.shutdown()
dtest_setup.connections = []

failed = False
try:
if not dtest_setup.allow_log_errors:
errors = check_logs_for_errors(dtest_setup)
if len(errors) > 0:
failed = True
pytest.fail(msg='Unexpected error found in node logs (see stdout for full
details). Errors: [{errors}]'
.format(errors=str.join(", ", errors)), pytrace=False)
finally:
try:
# save the logs for inspection
if failed or not dtest_config.delete_logs:
copy_logs(request, dtest_setup.cluster)
except Exception as e:
logger.error("Error saving log:", str(e))
finally:
> dtest_setup.cleanup_cluster(request)

conftest.py:352:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
_ _

self = <dtest_setup.DTestSetup object at 0x7f555b7624c0>
request = <SubRequest 'fixture_dtest_setup' for <Function
'test_fql_nodetool_options'>>

def cleanup_cluster(self, request=None):
with log_filter('cassandra'): # quiet noise from driver when nodes start
going down
> if self.dtest_config.keep_test_dir or
(self.dtest_config.keep_failed_test_dir and request and
request.node.rep_call.failed):
E AttributeError: 'Function' object has no attribute 'rep_call'

dtest_setup.py:351: AttributeError
----------------------------------------------------------------------------
Cassandra dtests // test_drop_index_while_building // Error
test teardown failure

request = <SubRequest 'fixture_dtest_setup' for <Function
'test_drop_index_while_building'>>
dtest_config = <dtest_config.DTestConfig object at 0x7fd8e9b076a0>
fixture_dtest_setup_overrides = <dtest_setup_overrides.DTestSetupOverrides
object at 0x7fd8ea1822b0>
fixture_logging_setup = None, fixture_dtest_cluster_name = 'test'
fixture_dtest_create_cluster_func = <function DTestSetup.create_ccm_cluster
at 0x7fd8ea38eb80>

@pytest.fixture(scope='function', autouse=False)
def fixture_dtest_setup(request,
dtest_config,
fixture_dtest_setup_overrides,
fixture_logging_setup,
fixture_dtest_cluster_name,
fixture_dtest_create_cluster_func):
if running_in_docker():
cleanup_docker_environment_before_test_execution()

# do all of our setup operations to get the enviornment ready for the actual
test
# to run (e.g. bring up a cluster with the necessary config, populate
variables, etc)
initial_environment = copy.deepcopy(os.environ)
dtest_setup = DTestSetup(dtest_config=dtest_config,
setup_overrides=fixture_dtest_setup_overrides,
cluster_name=fixture_dtest_cluster_name)
dtest_setup.initialize_cluster(fixture_dtest_create_cluster_func)

if not dtest_config.disable_active_log_watching:
dtest_setup.begin_active_log_watch()

# at this point we're done with our setup operations in this fixture
# yield to allow the actual test to run
yield dtest_setup

# phew! we're back after executing the test, now we need to do
# all of our teardown and cleanup operations

reset_environment_vars(initial_environment)
dtest_setup.jvm_args = []

for con in dtest_setup.connections:
con.cluster.shutdown()
dtest_setup.connections = []

failed = False
try:
if not dtest_setup.allow_log_errors:
errors = check_logs_for_errors(dtest_setup)
if len(errors) > 0:
failed = True
pytest.fail(msg='Unexpected error found in node logs (see stdout for full
details). Errors: [{errors}]'
.format(errors=str.join(", ", errors)), pytrace=False)
finally:
try:
# save the logs for inspection
if failed or not dtest_config.delete_logs:
copy_logs(request, dtest_setup.cluster)
except Exception as e:
logger.error("Error saving log:", str(e))
finally:
> dtest_setup.cleanup_cluster(request)

conftest.py:352:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
_ _

self = <dtest_setup.DTestSetup object at 0x7fd8ea182940>
request = <SubRequest 'fixture_dtest_setup' for <Function
'test_drop_index_while_building'>>

def cleanup_cluster(self, request=None):
with log_filter('cassandra'): # quiet noise from driver when nodes start
going down
> if self.dtest_config.keep_test_dir or
(self.dtest_config.keep_failed_test_dir and request and
request.node.rep_call.failed):
E AttributeError: 'Function' object has no attribute 'rep_call'

dtest_setup.py:351: AttributeError
----------------------------------------------------------------------------
Cassandra dtests // test_index_is_not_rebuilt_at_restart // Error
test teardown failure

request = <SubRequest 'fixture_dtest_setup' for <Function
'test_index_is_not_rebuilt_at_restart'>>
dtest_config = <dtest_config.DTestConfig object at 0x7ff9b557c7c0>
fixture_dtest_setup_overrides = <dtest_setup_overrides.DTestSetupOverrides
object at 0x7ff9b5aa89a0>
fixture_logging_setup = None, fixture_dtest_cluster_name = 'test'
fixture_dtest_create_cluster_func = <function DTestSetup.create_ccm_cluster
at 0x7ff9b5d03a60>

@pytest.fixture(scope='function', autouse=False)
def fixture_dtest_setup(request,
dtest_config,
fixture_dtest_setup_overrides,
fixture_logging_setup,
fixture_dtest_cluster_name,
fixture_dtest_create_cluster_func):
if running_in_docker():
cleanup_docker_environment_before_test_execution()

# do all of our setup operations to get the enviornment ready for the actual
test
# to run (e.g. bring up a cluster with the necessary config, populate
variables, etc)
initial_environment = copy.deepcopy(os.environ)
dtest_setup = DTestSetup(dtest_config=dtest_config,
setup_overrides=fixture_dtest_setup_overrides,
cluster_name=fixture_dtest_cluster_name)
dtest_setup.initialize_cluster(fixture_dtest_create_cluster_func)

if not dtest_config.disable_active_log_watching:
dtest_setup.begin_active_log_watch()

# at this point we're done with our setup operations in this fixture
# yield to allow the actual test to run
yield dtest_setup

# phew! we're back after executing the test, now we need to do
# all of our teardown and cleanup operations

reset_environment_vars(initial_environment)
dtest_setup.jvm_args = []

for con in dtest_setup.connections:
con.cluster.shutdown()
dtest_setup.connections = []

failed = False
try:
if not dtest_setup.allow_log_errors:
errors = check_logs_for_errors(dtest_setup)
if len(errors) > 0:
failed = True
pytest.fail(msg='Unexpected error found in node logs (see stdout for full
details). Errors: [{errors}]'
.format(errors=str.join(", ", errors)), pytrace=False)
finally:
try:
# save the logs for inspection
if failed or not dtest_config.delete_logs:
copy_logs(request, dtest_setup.cluster)
except Exception as e:
logger.error("Error saving log:", str(e))
finally:
> dtest_setup.cleanup_cluster(request)

conftest.py:352:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
_ _

self = <dtest_setup.DTestSetup object at 0x7ff9b43da670>
request = <SubRequest 'fixture_dtest_setup' for <Function
'test_index_is_not_rebuilt_at_restart'>>

def cleanup_cluster(self, request=None):
with log_filter('cassandra'): # quiet noise from driver when nodes start
going down
> if self.dtest_config.keep_test_dir or
(self.dtest_config.keep_failed_test_dir and request and
request.node.rep_call.failed):
E AttributeError: 'Function' object has no attribute 'rep_call'

dtest_setup.py:351: AttributeError
----------------------------------------------------------------------------
Cassandra dtests // test_zerocopy_streaming // Error
test teardown failure

request = <SubRequest 'fixture_dtest_setup' for <Function
'test_zerocopy_streaming'>>
dtest_config = <dtest_config.DTestConfig object at 0x7ff9b557c7c0>
fixture_dtest_setup_overrides = <dtest_setup_overrides.DTestSetupOverrides
object at 0x7ff9b441f040>
fixture_logging_setup = None, fixture_dtest_cluster_name = 'test'
fixture_dtest_create_cluster_func = <function DTestSetup.create_ccm_cluster
at 0x7ff9b5d03a60>

@pytest.fixture(scope='function', autouse=False)
def fixture_dtest_setup(request,
dtest_config,
fixture_dtest_setup_overrides,
fixture_logging_setup,
fixture_dtest_cluster_name,
fixture_dtest_create_cluster_func):
if running_in_docker():
cleanup_docker_environment_before_test_execution()

# do all of our setup operations to get the enviornment ready for the actual
test
# to run (e.g. bring up a cluster with the necessary config, populate
variables, etc)
initial_environment = copy.deepcopy(os.environ)
dtest_setup = DTestSetup(dtest_config=dtest_config,
setup_overrides=fixture_dtest_setup_overrides,
cluster_name=fixture_dtest_cluster_name)
dtest_setup.initialize_cluster(fixture_dtest_create_cluster_func)

if not dtest_config.disable_active_log_watching:
dtest_setup.begin_active_log_watch()

# at this point we're done with our setup operations in this fixture
# yield to allow the actual test to run
yield dtest_setup

# phew! we're back after executing the test, now we need to do
# all of our teardown and cleanup operations

reset_environment_vars(initial_environment)
dtest_setup.jvm_args = []

for con in dtest_setup.connections:
con.cluster.shutdown()
dtest_setup.connections = []

failed = False
try:
if not dtest_setup.allow_log_errors:
errors = check_logs_for_errors(dtest_setup)
if len(errors) > 0:
failed = True
pytest.fail(msg='Unexpected error found in node logs (see stdout for full
details). Errors: [{errors}]'
.format(errors=str.join(", ", errors)), pytrace=False)
finally:
try:
# save the logs for inspection
if failed or not dtest_config.delete_logs:
copy_logs(request, dtest_setup.cluster)
except Exception as e:
logger.error("Error saving log:", str(e))
finally:
> dtest_setup.cleanup_cluster(request)

conftest.py:352:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
_ _

self = <dtest_setup.DTestSetup object at 0x7ff9b5a8e370>
request = <SubRequest 'fixture_dtest_setup' for <Function
'test_zerocopy_streaming'>>

def cleanup_cluster(self, request=None):
with log_filter('cassandra'): # quiet noise from driver when nodes start
going down
> if self.dtest_config.keep_test_dir or
(self.dtest_config.keep_failed_test_dir and request and
request.node.rep_call.failed):
E AttributeError: 'Function' object has no attribute 'rep_call'

dtest_setup.py:351: AttributeError
----------------------------------------------------------------------------
Cassandra dtests // test_truncate_failure // Error
test teardown failure

request = <SubRequest 'fixture_dtest_setup' for <Function
'test_truncate_failure'>>
dtest_config = <dtest_config.DTestConfig object at 0x7f7e78c74310>
fixture_dtest_setup_overrides = <dtest_setup_overrides.DTestSetupOverrides
object at 0x7f7e7827a310>
fixture_logging_setup = None, fixture_dtest_cluster_name = 'test'
fixture_dtest_create_cluster_func = <function DTestSetup.create_ccm_cluster
at 0x7f7e792d4ca0>

@pytest.fixture(scope='function', autouse=False)
def fixture_dtest_setup(request,
dtest_config,
fixture_dtest_setup_overrides,
fixture_logging_setup,
fixture_dtest_cluster_name,
fixture_dtest_create_cluster_func):
if running_in_docker():
cleanup_docker_environment_before_test_execution()

# do all of our setup operations to get the enviornment ready for the actual
test
# to run (e.g. bring up a cluster with the necessary config, populate
variables, etc)
initial_environment = copy.deepcopy(os.environ)
dtest_setup = DTestSetup(dtest_config=dtest_config,
setup_overrides=fixture_dtest_setup_overrides,
cluster_name=fixture_dtest_cluster_name)
dtest_setup.initialize_cluster(fixture_dtest_create_cluster_func)

if not dtest_config.disable_active_log_watching:
dtest_setup.begin_active_log_watch()

# at this point we're done with our setup operations in this fixture
# yield to allow the actual test to run
yield dtest_setup

# phew! we're back after executing the test, now we need to do
# all of our teardown and cleanup operations

reset_environment_vars(initial_environment)
dtest_setup.jvm_args = []

for con in dtest_setup.connections:
con.cluster.shutdown()
dtest_setup.connections = []

failed = False
try:
if not dtest_setup.allow_log_errors:
errors = check_logs_for_errors(dtest_setup)
if len(errors) > 0:
failed = True
pytest.fail(msg='Unexpected error found in node logs (see stdout for full
details). Errors: [{errors}]'
.format(errors=str.join(", ", errors)), pytrace=False)
finally:
try:
# save the logs for inspection
if failed or not dtest_config.delete_logs:
copy_logs(request, dtest_setup.cluster)
except Exception as e:
logger.error("Error saving log:", str(e))
finally:
> dtest_setup.cleanup_cluster(request)

conftest.py:352:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
_ _

self = <dtest_setup.DTestSetup object at 0x7f7e782775b0>
request = <SubRequest 'fixture_dtest_setup' for <Function
'test_truncate_failure'>>

def cleanup_cluster(self, request=None):
with log_filter('cassandra'): # quiet noise from driver when nodes start
going down
> if self.dtest_config.keep_test_dir or
(self.dtest_config.keep_failed_test_dir and request and
request.node.rep_call.failed):
E AttributeError: 'Function' object has no attribute 'rep_call'

dtest_setup.py:351: AttributeError
----------------------------------------------------------------------------
Cassandra dtests // test_json_tools // Error
test teardown failure

request = <SubRequest 'fixture_dtest_setup' for <Function
'test_json_tools'>>
dtest_config = <dtest_config.DTestConfig object at 0x7f7e78c74310>
fixture_dtest_setup_overrides = <dtest_setup_overrides.DTestSetupOverrides
object at 0x7f7e7807ba60>
fixture_logging_setup = None, fixture_dtest_cluster_name = 'test'
fixture_dtest_create_cluster_func = <function DTestSetup.create_ccm_cluster
at 0x7f7e792d4ca0>

@pytest.fixture(scope='function', autouse=False)
def fixture_dtest_setup(request,
dtest_config,
fixture_dtest_setup_overrides,
fixture_logging_setup,
fixture_dtest_cluster_name,
fixture_dtest_create_cluster_func):
if running_in_docker():
cleanup_docker_environment_before_test_execution()

# do all of our setup operations to get the enviornment ready for the actual
test
# to run (e.g. bring up a cluster with the necessary config, populate
variables, etc)
initial_environment = copy.deepcopy(os.environ)
dtest_setup = DTestSetup(dtest_config=dtest_config,
setup_overrides=fixture_dtest_setup_overrides,
cluster_name=fixture_dtest_cluster_name)
dtest_setup.initialize_cluster(fixture_dtest_create_cluster_func)

if not dtest_config.disable_active_log_watching:
dtest_setup.begin_active_log_watch()

# at this point we're done with our setup operations in this fixture
# yield to allow the actual test to run
yield dtest_setup

# phew! we're back after executing the test, now we need to do
# all of our teardown and cleanup operations

reset_environment_vars(initial_environment)
dtest_setup.jvm_args = []

for con in dtest_setup.connections:
con.cluster.shutdown()
dtest_setup.connections = []

failed = False
try:
if not dtest_setup.allow_log_errors:
errors = check_logs_for_errors(dtest_setup)
if len(errors) > 0:
failed = True
pytest.fail(msg='Unexpected error found in node logs (see stdout for full
details). Errors: [{errors}]'
.format(errors=str.join(", ", errors)), pytrace=False)
finally:
try:
# save the logs for inspection
if failed or not dtest_config.delete_logs:
copy_logs(request, dtest_setup.cluster)
except Exception as e:
logger.error("Error saving log:", str(e))
finally:
> dtest_setup.cleanup_cluster(request)

conftest.py:352:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
_ _

self = <dtest_setup.DTestSetup object at 0x7f7e7807b970>
request = <SubRequest 'fixture_dtest_setup' for <Function
'test_json_tools'>>

def cleanup_cluster(self, request=None):
with log_filter('cassandra'): # quiet noise from driver when nodes start
going down
> if self.dtest_config.keep_test_dir or
(self.dtest_config.keep_failed_test_dir and request and
request.node.rep_call.failed):
E AttributeError: 'Function' object has no attribute 'rep_call'

dtest_setup.py:351: AttributeError
----------------------------------------------------------------------------
Cassandra dtests // test_zerocopy_streaming_no_replication // Error
test teardown failure

request = <SubRequest 'fixture_dtest_setup' for <Function
'test_zerocopy_streaming_no_replication'>>
dtest_config = <dtest_config.DTestConfig object at 0x7f7e78c74310>
fixture_dtest_setup_overrides = <dtest_setup_overrides.DTestSetupOverrides
object at 0x7f7e78af3130>
fixture_logging_setup = None, fixture_dtest_cluster_name = 'test'
fixture_dtest_create_cluster_func = <function DTestSetup.create_ccm_cluster
at 0x7f7e792d4ca0>

@pytest.fixture(scope='function', autouse=False)
def fixture_dtest_setup(request,
dtest_config,
fixture_dtest_setup_overrides,
fixture_logging_setup,
fixture_dtest_cluster_name,
fixture_dtest_create_cluster_func):
if running_in_docker():
cleanup_docker_environment_before_test_execution()

# do all of our setup operations to get the enviornment ready for the actual
test
# to run (e.g. bring up a cluster with the necessary config, populate
variables, etc)
initial_environment = copy.deepcopy(os.environ)
dtest_setup = DTestSetup(dtest_config=dtest_config,
setup_overrides=fixture_dtest_setup_overrides,
cluster_name=fixture_dtest_cluster_name)
dtest_setup.initialize_cluster(fixture_dtest_create_cluster_func)

if not dtest_config.disable_active_log_watching:
dtest_setup.begin_active_log_watch()

# at this point we're done with our setup operations in this fixture
# yield to allow the actual test to run
yield dtest_setup

# phew! we're back after executing the test, now we need to do
# all of our teardown and cleanup operations

reset_environment_vars(initial_environment)
dtest_setup.jvm_args = []

for con in dtest_setup.connections:
con.cluster.shutdown()
dtest_setup.connections = []

failed = False
try:
if not dtest_setup.allow_log_errors:
errors = check_logs_for_errors(dtest_setup)
if len(errors) > 0:
failed = True
pytest.fail(msg='Unexpected error found in node logs (see stdout for full
details). Errors: [{errors}]'
.format(errors=str.join(", ", errors)), pytrace=False)
finally:
try:
# save the logs for inspection
if failed or not dtest_config.delete_logs:
copy_logs(request, dtest_setup.cluster)
except Exception as e:
logger.error("Error saving log:", str(e))
finally:
> dtest_setup.cleanup_cluster(request)

conftest.py:352:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
_ _

self = <dtest_setup.DTestSetup object at 0x7f7e7902bf40>
request = <SubRequest 'fixture_dtest_setup' for <Function
'test_zerocopy_streaming_no_replication'>>

def cleanup_cluster(self, request=None):
with log_filter('cassandra'): # quiet noise from driver when nodes start
going down
> if self.dtest_config.keep_test_dir or
(self.dtest_config.keep_failed_test_dir and request and
request.node.rep_call.failed):
E AttributeError: 'Function' object has no attribute 'rep_call'

dtest_setup.py:351: AttributeError
----------------------------------------------------------------------------
Cassandra dtests // test_bootstrap_binary_disabled // Error
test teardown failure

request = <SubRequest 'fixture_dtest_setup' for <Function
'test_bootstrap_binary_disabled'>>
dtest_config = <dtest_config.DTestConfig object at 0x7fc2a75b0850>
fixture_dtest_setup_overrides = <dtest_setup_overrides.DTestSetupOverrides
object at 0x7fc2a7514c70>
fixture_logging_setup = None, fixture_dtest_cluster_name = 'test'
fixture_dtest_create_cluster_func = <function DTestSetup.create_ccm_cluster
at 0x7fc2a7b7eb80>

@pytest.fixture(scope='function', autouse=False)
def fixture_dtest_setup(request,
dtest_config,
fixture_dtest_setup_overrides,
fixture_logging_setup,
fixture_dtest_cluster_name,
fixture_dtest_create_cluster_func):
if running_in_docker():
cleanup_docker_environment_before_test_execution()

# do all of our setup operations to get the enviornment ready for the actual
test
# to run (e.g. bring up a cluster with the necessary config, populate
variables, etc)
initial_environment = copy.deepcopy(os.environ)
dtest_setup = DTestSetup(dtest_config=dtest_config,
setup_overrides=fixture_dtest_setup_overrides,
cluster_name=fixture_dtest_cluster_name)
dtest_setup.initialize_cluster(fixture_dtest_create_cluster_func)

if not dtest_config.disable_active_log_watching:
dtest_setup.begin_active_log_watch()

# at this point we're done with our setup operations in this fixture
# yield to allow the actual test to run
yield dtest_setup

# phew! we're back after executing the test, now we need to do
# all of our teardown and cleanup operations

reset_environment_vars(initial_environment)
dtest_setup.jvm_args = []

for con in dtest_setup.connections:
con.cluster.shutdown()
dtest_setup.connections = []

failed = False
try:
if not dtest_setup.allow_log_errors:
errors = check_logs_for_errors(dtest_setup)
if len(errors) > 0:
failed = True
pytest.fail(msg='Unexpected error found in node logs (see stdout for full
details). Errors: [{errors}]'
.format(errors=str.join(", ", errors)), pytrace=False)
finally:
try:
# save the logs for inspection
if failed or not dtest_config.delete_logs:
copy_logs(request, dtest_setup.cluster)
except Exception as e:
logger.error("Error saving log:", str(e))
finally:
> dtest_setup.cleanup_cluster(request)

conftest.py:352:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
_ _

self = <dtest_setup.DTestSetup object at 0x7fc2a4acef40>
request = <SubRequest 'fixture_dtest_setup' for <Function
'test_bootstrap_binary_disabled'>>

def cleanup_cluster(self, request=None):
with log_filter('cassandra'): # quiet noise from driver when nodes start
going down
> if self.dtest_config.keep_test_dir or
(self.dtest_config.keep_failed_test_dir and request and
request.node.rep_call.failed):
E AttributeError: 'Function' object has no attribute 'rep_call'

dtest_setup.py:351: AttributeError
----------------------------------------------------------------------------
Cassandra dtests // test_move // Error
test teardown failure

request = <SubRequest 'fixture_dtest_setup' for <Function 'test_move'>>
dtest_config = <dtest_config.DTestConfig object at 0x7f57386f8610>
fixture_dtest_setup_overrides = <dtest_setup_overrides.DTestSetupOverrides
object at 0x7f5738c6d610>
fixture_logging_setup = None, fixture_dtest_cluster_name = 'test'
fixture_dtest_create_cluster_func = <function DTestSetup.create_ccm_cluster
at 0x7f5738ec0ca0>

@pytest.fixture(scope='function', autouse=False)
def fixture_dtest_setup(request,
dtest_config,
fixture_dtest_setup_overrides,
fixture_logging_setup,
fixture_dtest_cluster_name,
fixture_dtest_create_cluster_func):
if running_in_docker():
cleanup_docker_environment_before_test_execution()

# do all of our setup operations to get the enviornment ready for the actual
test
# to run (e.g. bring up a cluster with the necessary config, populate
variables, etc)
initial_environment = copy.deepcopy(os.environ)
dtest_setup = DTestSetup(dtest_config=dtest_config,
setup_overrides=fixture_dtest_setup_overrides,
cluster_name=fixture_dtest_cluster_name)
dtest_setup.initialize_cluster(fixture_dtest_create_cluster_func)

if not dtest_config.disable_active_log_watching:
dtest_setup.begin_active_log_watch()

# at this point we're done with our setup operations in this fixture
# yield to allow the actual test to run
yield dtest_setup

# phew! we're back after executing the test, now we need to do
# all of our teardown and cleanup operations

reset_environment_vars(initial_environment)
dtest_setup.jvm_args = []

for con in dtest_setup.connections:
con.cluster.shutdown()
dtest_setup.connections = []

failed = False
try:
if not dtest_setup.allow_log_errors:
errors = check_logs_for_errors(dtest_setup)
if len(errors) > 0:
failed = True
pytest.fail(msg='Unexpected error found in node logs (see stdout for full
details). Errors: [{errors}]'
.format(errors=str.join(", ", errors)), pytrace=False)
finally:
try:
# save the logs for inspection
if failed or not dtest_config.delete_logs:
copy_logs(request, dtest_setup.cluster)
except Exception as e:
logger.error("Error saving log:", str(e))
finally:
> dtest_setup.cleanup_cluster(request)

conftest.py:352:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
_ _

self = <dtest_setup.DTestSetup object at 0x7f5738cbaf10>
request = <SubRequest 'fixture_dtest_setup' for <Function 'test_move'>>

def cleanup_cluster(self, request=None):
with log_filter('cassandra'): # quiet noise from driver when nodes start
going down
> if self.dtest_config.keep_test_dir or
(self.dtest_config.keep_failed_test_dir and request and
request.node.rep_call.failed):
E AttributeError: 'Function' object has no attribute 'rep_call'

dtest_setup.py:351: AttributeError
----------------------------------------------------------------------------
Cassandra dtests // test_decommission // Error
test teardown failure

request = <SubRequest 'fixture_dtest_setup' for <Function
'test_decommission'>>
dtest_config = <dtest_config.DTestConfig object at 0x7ff71b1261f0>
fixture_dtest_setup_overrides = <dtest_setup_overrides.DTestSetupOverrides
object at 0x7ff70207ecd0>
fixture_logging_setup = None, fixture_dtest_cluster_name = 'test'
fixture_dtest_create_cluster_func = <function DTestSetup.create_ccm_cluster
at 0x7ff71b92fc10>

@pytest.fixture(scope='function', autouse=False)
def fixture_dtest_setup(request,
dtest_config,
fixture_dtest_setup_overrides,
fixture_logging_setup,
fixture_dtest_cluster_name,
fixture_dtest_create_cluster_func):
if running_in_docker():
cleanup_docker_environment_before_test_execution()

# do all of our setup operations to get the enviornment ready for the actual
test
# to run (e.g. bring up a cluster with the necessary config, populate
variables, etc)
initial_environment = copy.deepcopy(os.environ)
dtest_setup = DTestSetup(dtest_config=dtest_config,
setup_overrides=fixture_dtest_setup_overrides,
cluster_name=fixture_dtest_cluster_name)
dtest_setup.initialize_cluster(fixture_dtest_create_cluster_func)

if not dtest_config.disable_active_log_watching:
dtest_setup.begin_active_log_watch()

# at this point we're done with our setup operations in this fixture
# yield to allow the actual test to run
yield dtest_setup

# phew! we're back after executing the test, now we need to do
# all of our teardown and cleanup operations

reset_environment_vars(initial_environment)
dtest_setup.jvm_args = []

for con in dtest_setup.connections:
con.cluster.shutdown()
dtest_setup.connections = []

failed = False
try:
if not dtest_setup.allow_log_errors:
errors = check_logs_for_errors(dtest_setup)
if len(errors) > 0:
failed = True
pytest.fail(msg='Unexpected error found in node logs (see stdout for full
details). Errors: [{errors}]'
.format(errors=str.join(", ", errors)), pytrace=False)
finally:
try:
# save the logs for inspection
if failed or not dtest_config.delete_logs:
copy_logs(request, dtest_setup.cluster)
except Exception as e:
logger.error("Error saving log:", str(e))
finally:
> dtest_setup.cleanup_cluster(request)

conftest.py:352:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
_ _

self = <dtest_setup.DTestSetup object at 0x7ff70207ec10>
request = <SubRequest 'fixture_dtest_setup' for <Function
'test_decommission'>>

def cleanup_cluster(self, request=None):
with log_filter('cassandra'): # quiet noise from driver when nodes start
going down
> if self.dtest_config.keep_test_dir or
(self.dtest_config.keep_failed_test_dir and request and
request.node.rep_call.failed):
E AttributeError: 'Function' object has no attribute 'rep_call'

dtest_setup.py:351: AttributeError
----------------------------------------------------------------------------
Cassandra dtests // test_bootstrap_and_cleanup // Error
test teardown failure

request = <SubRequest 'fixture_dtest_setup' for <Function
'test_bootstrap_and_cleanup'>>
dtest_config = <dtest_config.DTestConfig object at 0x7f9664911100>
fixture_dtest_setup_overrides = <dtest_setup_overrides.DTestSetupOverrides
object at 0x7f9664b50250>
fixture_logging_setup = None, fixture_dtest_cluster_name = 'test'
fixture_dtest_create_cluster_func = <function DTestSetup.create_ccm_cluster
at 0x7f9665118af0>

@pytest.fixture(scope='function', autouse=False)
def fixture_dtest_setup(request,
dtest_config,
fixture_dtest_setup_overrides,
fixture_logging_setup,
fixture_dtest_cluster_name,
fixture_dtest_create_cluster_func):
if running_in_docker():
cleanup_docker_environment_before_test_execution()

# do all of our setup operations to get the enviornment ready for the actual
test
# to run (e.g. bring up a cluster with the necessary config, populate
variables, etc)
initial_environment = copy.deepcopy(os.environ)
dtest_setup = DTestSetup(dtest_config=dtest_config,
setup_overrides=fixture_dtest_setup_overrides,
cluster_name=fixture_dtest_cluster_name)
dtest_setup.initialize_cluster(fixture_dtest_create_cluster_func)

if not dtest_config.disable_active_log_watching:
dtest_setup.begin_active_log_watch()

# at this point we're done with our setup operations in this fixture
# yield to allow the actual test to run
yield dtest_setup

# phew! we're back after executing the test, now we need to do
# all of our teardown and cleanup operations

reset_environment_vars(initial_environment)
dtest_setup.jvm_args = []

for con in dtest_setup.connections:
con.cluster.shutdown()
dtest_setup.connections = []

failed = False
try:
if not dtest_setup.allow_log_errors:
errors = check_logs_for_errors(dtest_setup)
if len(errors) > 0:
failed = True
pytest.fail(msg='Unexpected error found in node logs (see stdout for full
details). Errors: [{errors}]'
.format(errors=str.join(", ", errors)), pytrace=False)
finally:
try:
# save the logs for inspection
if failed or not dtest_config.delete_logs:
copy_logs(request, dtest_setup.cluster)
except Exception as e:
logger.error("Error saving log:", str(e))
finally:
> dtest_setup.cleanup_cluster(request)

conftest.py:352:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
_ _

self = <dtest_setup.DTestSetup object at 0x7f963fd15160>
request = <SubRequest 'fixture_dtest_setup' for <Function
'test_bootstrap_and_cleanup'>>

def cleanup_cluster(self, request=None):
with log_filter('cassandra'): # quiet noise from driver when nodes start
going down
> if self.dtest_config.keep_test_dir or
(self.dtest_config.keep_failed_test_dir and request and
request.node.rep_call.failed):
E AttributeError: 'Function' object has no attribute 'rep_call'

dtest_setup.py:351: AttributeError
----------------------------------------------------------------------------
Cassandra dtests // test_bootstrap // Error
test teardown failure

request = <SubRequest 'fixture_dtest_setup' for <Function 'test_bootstrap'>>
dtest_config = <dtest_config.DTestConfig object at 0x7f9664911100>
fixture_dtest_setup_overrides = <dtest_setup_overrides.DTestSetupOverrides
object at 0x7f96650926a0>
fixture_logging_setup = None, fixture_dtest_cluster_name = 'test'
fixture_dtest_create_cluster_func = <function DTestSetup.create_ccm_cluster
at 0x7f9665118af0>

@pytest.fixture(scope='function', autouse=False)
def fixture_dtest_setup(request,
dtest_config,
fixture_dtest_setup_overrides,
fixture_logging_setup,
fixture_dtest_cluster_name,
fixture_dtest_create_cluster_func):
if running_in_docker():
cleanup_docker_environment_before_test_execution()

# do all of our setup operations to get the enviornment ready for the actual
test
# to run (e.g. bring up a cluster with the necessary config, populate
variables, etc)
initial_environment = copy.deepcopy(os.environ)
dtest_setup = DTestSetup(dtest_config=dtest_config,
setup_overrides=fixture_dtest_setup_overrides,
cluster_name=fixture_dtest_cluster_name)
dtest_setup.initialize_cluster(fixture_dtest_create_cluster_func)

if not dtest_config.disable_active_log_watching:
dtest_setup.begin_active_log_watch()

# at this point we're done with our setup operations in this fixture
# yield to allow the actual test to run
yield dtest_setup

# phew! we're back after executing the test, now we need to do
# all of our teardown and cleanup operations

reset_environment_vars(initial_environment)
dtest_setup.jvm_args = []

for con in dtest_setup.connections:
con.cluster.shutdown()
dtest_setup.connections = []

failed = False
try:
if not dtest_setup.allow_log_errors:
errors = check_logs_for_errors(dtest_setup)
if len(errors) > 0:
failed = True
pytest.fail(msg='Unexpected error found in node logs (see stdout for full
details). Errors: [{errors}]'
.format(errors=str.join(", ", errors)), pytrace=False)
finally:
try:
# save the logs for inspection
if failed or not dtest_config.delete_logs:
copy_logs(request, dtest_setup.cluster)
except Exception as e:
logger.error("Error saving log:", str(e))
finally:
> dtest_setup.cleanup_cluster(request)

conftest.py:352:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
_ _

self = <dtest_setup.DTestSetup object at 0x7f9664be0e80>
request = <SubRequest 'fixture_dtest_setup' for <Function 'test_bootstrap'>>

def cleanup_cluster(self, request=None):
with log_filter('cassandra'): # quiet noise from driver when nodes start
going down
> if self.dtest_config.keep_test_dir or
(self.dtest_config.keep_failed_test_dir and request and
request.node.rep_call.failed):
E AttributeError: 'Function' object has no attribute 'rep_call'

dtest_setup.py:351: AttributeError
----------------------------------------------------------------------------
Cassandra dtests // test_authentication_from_cache_while_unavailable /
/ Error
test teardown failure

request = <SubRequest 'fixture_dtest_setup' for <Function
'test_authentication_from_cache_while_unavailable'>>
dtest_config = <dtest_config.DTestConfig object at 0x7fa8c2a09f40>
fixture_dtest_setup_overrides = <dtest_setup_overrides.DTestSetupOverrides
object at 0x7fa8c2a10220>
fixture_logging_setup = None, fixture_dtest_cluster_name = 'test'
fixture_dtest_create_cluster_func = <function DTestSetup.create_ccm_cluster
at 0x7fa8c3225af0>

@pytest.fixture(scope='function', autouse=False)
def fixture_dtest_setup(request,
dtest_config,
fixture_dtest_setup_overrides,
fixture_logging_setup,
fixture_dtest_cluster_name,
fixture_dtest_create_cluster_func):
if running_in_docker():
cleanup_docker_environment_before_test_execution()

# do all of our setup operations to get the enviornment ready for the actual
test
# to run (e.g. bring up a cluster with the necessary config, populate
variables, etc)
initial_environment = copy.deepcopy(os.environ)
dtest_setup = DTestSetup(dtest_config=dtest_config,
setup_overrides=fixture_dtest_setup_overrides,
cluster_name=fixture_dtest_cluster_name)
dtest_setup.initialize_cluster(fixture_dtest_create_cluster_func)

if not dtest_config.disable_active_log_watching:
dtest_setup.begin_active_log_watch()

# at this point we're done with our setup operations in this fixture
# yield to allow the actual test to run
yield dtest_setup

# phew! we're back after executing the test, now we need to do
# all of our teardown and cleanup operations

reset_environment_vars(initial_environment)
dtest_setup.jvm_args = []

for con in dtest_setup.connections:
con.cluster.shutdown()
dtest_setup.connections = []

failed = False
try:
if not dtest_setup.allow_log_errors:
errors = check_logs_for_errors(dtest_setup)
if len(errors) > 0:
failed = True
pytest.fail(msg='Unexpected error found in node logs (see stdout for full
details). Errors: [{errors}]'
.format(errors=str.join(", ", errors)), pytrace=False)
finally:
try:
# save the logs for inspection
if failed or not dtest_config.delete_logs:
copy_logs(request, dtest_setup.cluster)
except Exception as e:
logger.error("Error saving log:", str(e))
finally:
> dtest_setup.cleanup_cluster(request)

conftest.py:352:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
_ _

self = <dtest_setup.DTestSetup object at 0x7fa8c2c63cd0>
request = <SubRequest 'fixture_dtest_setup' for <Function
'test_authentication_from_cache_while_unavailable'>>

def cleanup_cluster(self, request=None):
with log_filter('cassandra'): # quiet noise from driver when nodes start
going down
> if self.dtest_config.keep_test_dir or
(self.dtest_config.keep_failed_test_dir and request and
request.node.rep_call.failed):
E AttributeError: 'Function' object has no attribute 'rep_call'

dtest_setup.py:351: AttributeError
----------------------------------------------------------------------------
Cassandra dtests // test_move_forwards_between_and_cleanup // Error
test teardown failure

request = <SubRequest 'fixture_dtest_setup' for <Function
'test_move_forwards_between_and_cleanup'>>
dtest_config = <dtest_config.DTestConfig object at 0x7fa8c2a09f40>
fixture_dtest_setup_overrides = <dtest_setup_overrides.DTestSetupOverrides
object at 0x7fa8c1e64fa0>
fixture_logging_setup = None, fixture_dtest_cluster_name = 'test'
fixture_dtest_create_cluster_func = <function DTestSetup.create_ccm_cluster
at 0x7fa8c3225af0>

@pytest.fixture(scope='function', autouse=False)
def fixture_dtest_setup(request,
dtest_config,
fixture_dtest_setup_overrides,
fixture_logging_setup,
fixture_dtest_cluster_name,
fixture_dtest_create_cluster_func):
if running_in_docker():
cleanup_docker_environment_before_test_execution()

# do all of our setup operations to get the enviornment ready for the actual
test
# to run (e.g. bring up a cluster with the necessary config, populate
variables, etc)
initial_environment = copy.deepcopy(os.environ)
dtest_setup = DTestSetup(dtest_config=dtest_config,
setup_overrides=fixture_dtest_setup_overrides,
cluster_name=fixture_dtest_cluster_name)
dtest_setup.initialize_cluster(fixture_dtest_create_cluster_func)

if not dtest_config.disable_active_log_watching:
dtest_setup.begin_active_log_watch()

# at this point we're done with our setup operations in this fixture
# yield to allow the actual test to run
yield dtest_setup

# phew! we're back after executing the test, now we need to do
# all of our teardown and cleanup operations

reset_environment_vars(initial_environment)
dtest_setup.jvm_args = []

for con in dtest_setup.connections:
con.cluster.shutdown()
dtest_setup.connections = []

failed = False
try:
if not dtest_setup.allow_log_errors:
errors = check_logs_for_errors(dtest_setup)
if len(errors) > 0:
failed = True
pytest.fail(msg='Unexpected error found in node logs (see stdout for full
details). Errors: [{errors}]'
.format(errors=str.join(", ", errors)), pytrace=False)
finally:
try:
# save the logs for inspection
if failed or not dtest_config.delete_logs:
copy_logs(request, dtest_setup.cluster)
except Exception as e:
logger.error("Error saving log:", str(e))
finally:
> dtest_setup.cleanup_cluster(request)

conftest.py:352:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
_ _

self = <dtest_setup.DTestSetup object at 0x7fa8c30254f0>
request = <SubRequest 'fixture_dtest_setup' for <Function
'test_move_forwards_between_and_cleanup'>>

def cleanup_cluster(self, request=None):
with log_filter('cassandra'): # quiet noise from driver when nodes start
going down
> if self.dtest_config.keep_test_dir or
(self.dtest_config.keep_failed_test_dir and request and
request.node.rep_call.failed):
E AttributeError: 'Function' object has no attribute 'rep_call'

dtest_setup.py:351: AttributeError
----------------------------------------------------------------------------
Cassandra dtests // test_force // Error
test teardown failure

request = <SubRequest 'fixture_dtest_setup' for <Function 'test_force'>>
dtest_config = <dtest_config.DTestConfig object at 0x7fa8c2a09f40>
fixture_dtest_setup_overrides = <dtest_setup_overrides.DTestSetupOverrides
object at 0x7fa8c3021f10>
fixture_logging_setup = None, fixture_dtest_cluster_name = 'test'
fixture_dtest_create_cluster_func = <function DTestSetup.create_ccm_cluster
at 0x7fa8c3225af0>

@pytest.fixture(scope='function', autouse=False)
def fixture_dtest_setup(request,
dtest_config,
fixture_dtest_setup_overrides,
fixture_logging_setup,
fixture_dtest_cluster_name,
fixture_dtest_create_cluster_func):
if running_in_docker():
cleanup_docker_environment_before_test_execution()

# do all of our setup operations to get the enviornment ready for the actual
test
# to run (e.g. bring up a cluster with the necessary config, populate
variables, etc)
initial_environment = copy.deepcopy(os.environ)
dtest_setup = DTestSetup(dtest_config=dtest_config,
setup_overrides=fixture_dtest_setup_overrides,
cluster_name=fixture_dtest_cluster_name)
dtest_setup.initialize_cluster(fixture_dtest_create_cluster_func)

if not dtest_config.disable_active_log_watching:
dtest_setup.begin_active_log_watch()

# at this point we're done with our setup operations in this fixture
# yield to allow the actual test to run
yield dtest_setup

# phew! we're back after executing the test, now we need to do
# all of our teardown and cleanup operations

reset_environment_vars(initial_environment)
dtest_setup.jvm_args = []

for con in dtest_setup.connections:
con.cluster.shutdown()
dtest_setup.connections = []

failed = False
try:
if not dtest_setup.allow_log_errors:
errors = check_logs_for_errors(dtest_setup)
if len(errors) > 0:
failed = True
pytest.fail(msg='Unexpected error found in node logs (see stdout for full
details). Errors: [{errors}]'
.format(errors=str.join(", ", errors)), pytrace=False)
finally:
try:
# save the logs for inspection
if failed or not dtest_config.delete_logs:
copy_logs(request, dtest_setup.cluster)
except Exception as e:
logger.error("Error saving log:", str(e))
finally:
> dtest_setup.cleanup_cluster(request)

conftest.py:352:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
_ _

self = <dtest_setup.DTestSetup object at 0x7fa8c3021460>
request = <SubRequest 'fixture_dtest_setup' for <Function 'test_force'>>

def cleanup_cluster(self, request=None):
with log_filter('cassandra'): # quiet noise from driver when nodes start
going down
> if self.dtest_config.keep_test_dir or
(self.dtest_config.keep_failed_test_dir and request and
request.node.rep_call.failed):
E AttributeError: 'Function' object has no attribute 'rep_call'

dtest_setup.py:351: AttributeError
----------------------------------------------------------------------------
Cassandra dtests /
/ test_credentials_cache_background_reload_handle_unavailable // Error
test teardown failure

request = <SubRequest 'fixture_dtest_setup' for <Function
'test_credentials_cache_background_reload_handle_unavailable'>>
dtest_config = <dtest_config.DTestConfig object at 0x7f3716e5baf0>
fixture_dtest_setup_overrides = <dtest_setup_overrides.DTestSetupOverrides
object at 0x7f3716f8e0a0>
fixture_logging_setup = None, fixture_dtest_cluster_name = 'test'
fixture_dtest_create_cluster_func = <function DTestSetup.create_ccm_cluster
at 0x7f3717677b80>

@pytest.fixture(scope='function', autouse=False)
def fixture_dtest_setup(request,
dtest_config,
fixture_dtest_setup_overrides,
fixture_logging_setup,
fixture_dtest_cluster_name,
fixture_dtest_create_cluster_func):
if running_in_docker():
cleanup_docker_environment_before_test_execution()

# do all of our setup operations to get the enviornment ready for the actual
test
# to run (e.g. bring up a cluster with the necessary config, populate
variables, etc)
initial_environment = copy.deepcopy(os.environ)
dtest_setup = DTestSetup(dtest_config=dtest_config,
setup_overrides=fixture_dtest_setup_overrides,
cluster_name=fixture_dtest_cluster_name)
dtest_setup.initialize_cluster(fixture_dtest_create_cluster_func)

if not dtest_config.disable_active_log_watching:
dtest_setup.begin_active_log_watch()

# at this point we're done with our setup operations in this fixture
# yield to allow the actual test to run
yield dtest_setup

# phew! we're back after executing the test, now we need to do
# all of our teardown and cleanup operations

reset_environment_vars(initial_environment)
dtest_setup.jvm_args = []

for con in dtest_setup.connections:
con.cluster.shutdown()
dtest_setup.connections = []

failed = False
try:
if not dtest_setup.allow_log_errors:
errors = check_logs_for_errors(dtest_setup)
if len(errors) > 0:
failed = True
pytest.fail(msg='Unexpected error found in node logs (see stdout for full
details). Errors: [{errors}]'
.format(errors=str.join(", ", errors)), pytrace=False)
finally:
try:
# save the logs for inspection
if failed or not dtest_config.delete_logs:
copy_logs(request, dtest_setup.cluster)
except Exception as e:
logger.error("Error saving log:", str(e))
finally:
> dtest_setup.cleanup_cluster(request)

conftest.py:352:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
_ _

self = <dtest_setup.DTestSetup object at 0x7f371705cd90>
request = <SubRequest 'fixture_dtest_setup' for <Function
'test_credentials_cache_background_reload_handle_unavailable'>>

def cleanup_cluster(self, request=None):
with log_filter('cassandra'): # quiet noise from driver when nodes start
going down
> if self.dtest_config.keep_test_dir or
(self.dtest_config.keep_failed_test_dir and request and
request.node.rep_call.failed):
E AttributeError: 'Function' object has no attribute 'rep_call'

dtest_setup.py:351: AttributeError
----------------------------------------------------------------------------
Cassandra dtests // test_update_missed_by_transient_replica // Error
test teardown failure

request = <SubRequest 'fixture_dtest_setup' for <Function
'test_update_missed_by_transient_replica'>>
dtest_config = <dtest_config.DTestConfig object at 0x7f3716e5baf0>
fixture_dtest_setup_overrides = <dtest_setup_overrides.DTestSetupOverrides
object at 0x7f3716e641c0>
fixture_logging_setup = None, fixture_dtest_cluster_name = 'test'
fixture_dtest_create_cluster_func = <function DTestSetup.create_ccm_cluster
at 0x7f3717677b80>

@pytest.fixture(scope='function', autouse=False)
def fixture_dtest_setup(request,
dtest_config,
fixture_dtest_setup_overrides,
fixture_logging_setup,
fixture_dtest_cluster_name,
fixture_dtest_create_cluster_func):
if running_in_docker():
cleanup_docker_environment_before_test_execution()

# do all of our setup operations to get the enviornment ready for the actual
test
# to run (e.g. bring up a cluster with the necessary config, populate
variables, etc)
initial_environment = copy.deepcopy(os.environ)
dtest_setup = DTestSetup(dtest_config=dtest_config,
setup_overrides=fixture_dtest_setup_overrides,
cluster_name=fixture_dtest_cluster_name)
dtest_setup.initialize_cluster(fixture_dtest_create_cluster_func)

if not dtest_config.disable_active_log_watching:
dtest_setup.begin_active_log_watch()

# at this point we're done with our setup operations in this fixture
# yield to allow the actual test to run
yield dtest_setup

# phew! we're back after executing the test, now we need to do
# all of our teardown and cleanup operations

reset_environment_vars(initial_environment)
dtest_setup.jvm_args = []

for con in dtest_setup.connections:
con.cluster.shutdown()
dtest_setup.connections = []

failed = False
try:
if not dtest_setup.allow_log_errors:
errors = check_logs_for_errors(dtest_setup)
if len(errors) > 0:
failed = True
pytest.fail(msg='Unexpected error found in node logs (see stdout for full
details). Errors: [{errors}]'
.format(errors=str.join(", ", errors)), pytrace=False)
finally:
try:
# save the logs for inspection
if failed or not dtest_config.delete_logs:
copy_logs(request, dtest_setup.cluster)
except Exception as e:
logger.error("Error saving log:", str(e))
finally:
> dtest_setup.cleanup_cluster(request)

conftest.py:352:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
_ _

self = <dtest_setup.DTestSetup object at 0x7f3716fec970>
request = <SubRequest 'fixture_dtest_setup' for <Function
'test_update_missed_by_transient_replica'>>

def cleanup_cluster(self, request=None):
with log_filter('cassandra'): # quiet noise from driver when nodes start
going down
> if self.dtest_config.keep_test_dir or
(self.dtest_config.keep_failed_test_dir and request and
request.node.rep_call.failed):
E AttributeError: 'Function' object has no attribute 'rep_call'

dtest_setup.py:351: AttributeError
----------------------------------------------------------------------------
Cassandra dtests // test_move_forwards_and_cleanup // Error
test teardown failure

request = <SubRequest 'fixture_dtest_setup' for <Function
'test_move_forwards_and_cleanup'>>
dtest_config = <dtest_config.DTestConfig object at 0x7f3716e5baf0>
fixture_dtest_setup_overrides = <dtest_setup_overrides.DTestSetupOverrides
object at 0x7f36ecce5e50>
fixture_logging_setup = None, fixture_dtest_cluster_name = 'test'
fixture_dtest_create_cluster_func = <function DTestSetup.create_ccm_cluster
at 0x7f3717677b80>

@pytest.fixture(scope='function', autouse=False)
def fixture_dtest_setup(request,
dtest_config,
fixture_dtest_setup_overrides,
fixture_logging_setup,
fixture_dtest_cluster_name,
fixture_dtest_create_cluster_func):
if running_in_docker():
cleanup_docker_environment_before_test_execution()

# do all of our setup operations to get the enviornment ready for the actual
test
# to run (e.g. bring up a cluster with the necessary config, populate
variables, etc)
initial_environment = copy.deepcopy(os.environ)
dtest_setup = DTestSetup(dtest_config=dtest_config,
setup_overrides=fixture_dtest_setup_overrides,
cluster_name=fixture_dtest_cluster_name)
dtest_setup.initialize_cluster(fixture_dtest_create_cluster_func)

if not dtest_config.disable_active_log_watching:
dtest_setup.begin_active_log_watch()

# at this point we're done with our setup operations in this fixture
# yield to allow the actual test to run
yield dtest_setup

# phew! we're back after executing the test, now we need to do
# all of our teardown and cleanup operations

reset_environment_vars(initial_environment)
dtest_setup.jvm_args = []

for con in dtest_setup.connections:
con.cluster.shutdown()
dtest_setup.connections = []

failed = False
try:
if not dtest_setup.allow_log_errors:
errors = check_logs_for_errors(dtest_setup)
if len(errors) > 0:
failed = True
pytest.fail(msg='Unexpected error found in node logs (see stdout for full
details). Errors: [{errors}]'
.format(errors=str.join(", ", errors)), pytrace=False)
finally:
try:
# save the logs for inspection
if failed or not dtest_config.delete_logs:
copy_logs(request, dtest_setup.cluster)
except Exception as e:
logger.error("Error saving log:", str(e))
finally:
> dtest_setup.cleanup_cluster(request)

conftest.py:352:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
_ _

self = <dtest_setup.DTestSetup object at 0x7f3716e64220>
request = <SubRequest 'fixture_dtest_setup' for <Function
'test_move_forwards_and_cleanup'>>

def cleanup_cluster(self, request=None):
with log_filter('cassandra'): # quiet noise from driver when nodes start
going down
> if self.dtest_config.keep_test_dir or
(self.dtest_config.keep_failed_test_dir and request and
request.node.rep_call.failed):
E AttributeError: 'Function' object has no attribute 'rep_call'

dtest_setup.py:351: AttributeError
----------------------------------------------------------------------------
Cassandra dtests // test_force_with_none_down // Error
test teardown failure

request = <SubRequest 'fixture_dtest_setup' for <Function
'test_force_with_none_down'>>
dtest_config = <dtest_config.DTestConfig object at 0x7f3716e5baf0>
fixture_dtest_setup_overrides = <dtest_setup_overrides.DTestSetupOverrides
object at 0x7f36fe7b59d0>
fixture_logging_setup = None, fixture_dtest_cluster_name = 'test'
fixture_dtest_create_cluster_func = <function DTestSetup.create_ccm_cluster
at 0x7f3717677b80>

@pytest.fixture(scope='function', autouse=False)
def fixture_dtest_setup(request,
dtest_config,
fixture_dtest_setup_overrides,
fixture_logging_setup,
fixture_dtest_cluster_name,
fixture_dtest_create_cluster_func):
if running_in_docker():
cleanup_docker_environment_before_test_execution()

# do all of our setup operations to get the enviornment ready for the actual
test
# to run (e.g. bring up a cluster with the necessary config, populate
variables, etc)
initial_environment = copy.deepcopy(os.environ)
dtest_setup = DTestSetup(dtest_config=dtest_config,
setup_overrides=fixture_dtest_setup_overrides,
cluster_name=fixture_dtest_cluster_name)
dtest_setup.initialize_cluster(fixture_dtest_create_cluster_func)

if not dtest_config.disable_active_log_watching:
dtest_setup.begin_active_log_watch()

# at this point we're done with our setup operations in this fixture
# yield to allow the actual test to run
yield dtest_setup

# phew! we're back after executing the test, now we need to do
# all of our teardown and cleanup operations

reset_environment_vars(initial_environment)
dtest_setup.jvm_args = []

for con in dtest_setup.connections:
con.cluster.shutdown()
dtest_setup.connections = []

failed = False
try:
if not dtest_setup.allow_log_errors:
errors = check_logs_for_errors(dtest_setup)
if len(errors) > 0:
failed = True
pytest.fail(msg='Unexpected error found in node logs (see stdout for full
details). Errors: [{errors}]'
.format(errors=str.join(", ", errors)), pytrace=False)
finally:
try:
# save the logs for inspection
if failed or not dtest_config.delete_logs:
copy_logs(request, dtest_setup.cluster)
except Exception as e:
logger.error("Error saving log:", str(e))
finally:
> dtest_setup.cleanup_cluster(request)

conftest.py:352:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
_ _

self = <dtest_setup.DTestSetup object at 0x7f36ff2c7fd0>
request = <SubRequest 'fixture_dtest_setup' for <Function
'test_force_with_none_down'>>

def cleanup_cluster(self, request=None):
with log_filter('cassandra'): # quiet noise from driver when nodes start
going down
> if self.dtest_config.keep_test_dir or
(self.dtest_config.keep_failed_test_dir and request and
request.node.rep_call.failed):
E AttributeError: 'Function' object has no attribute 'rep_call'

dtest_setup.py:351: AttributeError
----------------------------------------------------------------------------
Cassandra dtests // test_update_only_on_transient_replica // Error
test teardown failure

request = <SubRequest 'fixture_dtest_setup' for <Function
'test_update_only_on_transient_replica'>>
dtest_config = <dtest_config.DTestConfig object at 0x7f6547f11400>
fixture_dtest_setup_overrides = <dtest_setup_overrides.DTestSetupOverrides
object at 0x7f65480b0490>
fixture_logging_setup = None, fixture_dtest_cluster_name = 'test'
fixture_dtest_create_cluster_func = <function DTestSetup.create_ccm_cluster
at 0x7f654875ab80>

@pytest.fixture(scope='function', autouse=False)
def fixture_dtest_setup(request,
dtest_config,
fixture_dtest_setup_overrides,
fixture_logging_setup,
fixture_dtest_cluster_name,
fixture_dtest_create_cluster_func):
if running_in_docker():
cleanup_docker_environment_before_test_execution()

# do all of our setup operations to get the enviornment ready for the actual
test
# to run (e.g. bring up a cluster with the necessary config, populate
variables, etc)
initial_environment = copy.deepcopy(os.environ)
dtest_setup = DTestSetup(dtest_config=dtest_config,
setup_overrides=fixture_dtest_setup_overrides,
cluster_name=fixture_dtest_cluster_name)
dtest_setup.initialize_cluster(fixture_dtest_create_cluster_func)

if not dtest_config.disable_active_log_watching:
dtest_setup.begin_active_log_watch()

# at this point we're done with our setup operations in this fixture
# yield to allow the actual test to run
yield dtest_setup

# phew! we're back after executing the test, now we need to do
# all of our teardown and cleanup operations

reset_environment_vars(initial_environment)
dtest_setup.jvm_args = []

for con in dtest_setup.connections:
con.cluster.shutdown()
dtest_setup.connections = []

failed = False
try:
if not dtest_setup.allow_log_errors:
errors = check_logs_for_errors(dtest_setup)
if len(errors) > 0:
failed = True
pytest.fail(msg='Unexpected error found in node logs (see stdout for full
details). Errors: [{errors}]'
.format(errors=str.join(", ", errors)), pytrace=False)
finally:
try:
# save the logs for inspection
if failed or not dtest_config.delete_logs:
copy_logs(request, dtest_setup.cluster)
except Exception as e:
logger.error("Error saving log:", str(e))
finally:
> dtest_setup.cleanup_cluster(request)

conftest.py:352:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
_ _

self = <dtest_setup.DTestSetup object at 0x7f65482cbc70>
request = <SubRequest 'fixture_dtest_setup' for <Function
'test_update_only_on_transient_replica'>>

def cleanup_cluster(self, request=None):
with log_filter('cassandra'): # quiet noise from driver when nodes start
going down
> if self.dtest_config.keep_test_dir or
(self.dtest_config.keep_failed_test_dir and request and
request.node.rep_call.failed):
E AttributeError: 'Function' object has no attribute 'rep_call'

dtest_setup.py:351: AttributeError
----------------------------------------------------------------------------
Cassandra dtests // test_read_old_sstables_after_upgrade // Error
test teardown failure

request = <SubRequest 'fixture_dtest_setup' for <Function
'test_read_old_sstables_after_upgrade'>>
dtest_config = <dtest_config.DTestConfig object at 0x7f6547f11400>
fixture_dtest_setup_overrides = <dtest_setup_overrides.DTestSetupOverrides
object at 0x7f6548354610>
fixture_logging_setup = None, fixture_dtest_cluster_name = 'test'
fixture_dtest_create_cluster_func = <function DTestSetup.create_ccm_cluster
at 0x7f654875ab80>

@pytest.fixture(scope='function', autouse=False)
def fixture_dtest_setup(request,
dtest_config,
fixture_dtest_setup_overrides,
fixture_logging_setup,
fixture_dtest_cluster_name,
fixture_dtest_create_cluster_func):
if running_in_docker():
cleanup_docker_environment_before_test_execution()

# do all of our setup operations to get the enviornment ready for the actual
test
# to run (e.g. bring up a cluster with the necessary config, populate
variables, etc)
initial_environment = copy.deepcopy(os.environ)
dtest_setup = DTestSetup(dtest_config=dtest_config,
setup_overrides=fixture_dtest_setup_overrides,
cluster_name=fixture_dtest_cluster_name)
dtest_setup.initialize_cluster(fixture_dtest_create_cluster_func)

if not dtest_config.disable_active_log_watching:
dtest_setup.begin_active_log_watch()

# at this point we're done with our setup operations in this fixture
# yield to allow the actual test to run
yield dtest_setup

# phew! we're back after executing the test, now we need to do
# all of our teardown and cleanup operations

reset_environment_vars(initial_environment)
dtest_setup.jvm_args = []

for con in dtest_setup.connections:
con.cluster.shutdown()
dtest_setup.connections = []

failed = False
try:
if not dtest_setup.allow_log_errors:
errors = check_logs_for_errors(dtest_setup)
if len(errors) > 0:
failed = True
pytest.fail(msg='Unexpected error found in node logs (see stdout for full
details). Errors: [{errors}]'
.format(errors=str.join(", ", errors)), pytrace=False)
finally:
try:
# save the logs for inspection
if failed or not dtest_config.delete_logs:
copy_logs(request, dtest_setup.cluster)
except Exception as e:
logger.error("Error saving log:", str(e))
finally:
> dtest_setup.cleanup_cluster(request)

conftest.py:352:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
_ _

self = <dtest_setup.DTestSetup object at 0x7f6548553c40>
request = <SubRequest 'fixture_dtest_setup' for <Function
'test_read_old_sstables_after_upgrade'>>

def cleanup_cluster(self, request=None):
with log_filter('cassandra'): # quiet noise from driver when nodes start
going down
> if self.dtest_config.keep_test_dir or
(self.dtest_config.keep_failed_test_dir and request and
request.node.rep_call.failed):
E AttributeError: 'Function' object has no attribute 'rep_call'

dtest_setup.py:351: AttributeError
----------------------------------------------------------------------------
Cassandra dtests // test_move_backwards_between_and_cleanup // Error
test teardown failure

request = <SubRequest 'fixture_dtest_setup' for <Function
'test_move_backwards_between_and_cleanup'>>
dtest_config = <dtest_config.DTestConfig object at 0x7f6547f11400>
fixture_dtest_setup_overrides = <dtest_setup_overrides.DTestSetupOverrides
object at 0x7f654530e250>
fixture_logging_setup = None, fixture_dtest_cluster_name = 'test'
fixture_dtest_create_cluster_func = <function DTestSetup.create_ccm_cluster
at 0x7f654875ab80>

@pytest.fixture(scope='function', autouse=False)
def fixture_dtest_setup(request,
dtest_config,
fixture_dtest_setup_overrides,
fixture_logging_setup,
fixture_dtest_cluster_name,
fixture_dtest_create_cluster_func):
if running_in_docker():
cleanup_docker_environment_before_test_execution()

# do all of our setup operations to get the enviornment ready for the actual
test
# to run (e.g. bring up a cluster with the necessary config, populate
variables, etc)
initial_environment = copy.deepcopy(os.environ)
dtest_setup = DTestSetup(dtest_config=dtest_config,
setup_overrides=fixture_dtest_setup_overrides,
cluster_name=fixture_dtest_cluster_name)
dtest_setup.initialize_cluster(fixture_dtest_create_cluster_func)

if not dtest_config.disable_active_log_watching:
dtest_setup.begin_active_log_watch()

# at this point we're done with our setup operations in this fixture
# yield to allow the actual test to run
yield dtest_setup

# phew! we're back after executing the test, now we need to do
# all of our teardown and cleanup operations

reset_environment_vars(initial_environment)
dtest_setup.jvm_args = []

for con in dtest_setup.connections:
con.cluster.shutdown()
dtest_setup.connections = []

failed = False
try:
if not dtest_setup.allow_log_errors:
errors = check_logs_for_errors(dtest_setup)
if len(errors) > 0:
failed = True
pytest.fail(msg='Unexpected error found in node logs (see stdout for full
details). Errors: [{errors}]'
.format(errors=str.join(", ", errors)), pytrace=False)
finally:
try:
# save the logs for inspection
if failed or not dtest_config.delete_logs:
copy_logs(request, dtest_setup.cluster)
except Exception as e:
logger.error("Error saving log:", str(e))
finally:
> dtest_setup.cleanup_cluster(request)

conftest.py:352:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
_ _

self = <dtest_setup.DTestSetup object at 0x7f65481d9cd0>
request = <SubRequest 'fixture_dtest_setup' for <Function
'test_move_backwards_between_and_cleanup'>>

def cleanup_cluster(self, request=None):
with log_filter('cassandra'): # quiet noise from driver when nodes start
going down
> if self.dtest_config.keep_test_dir or
(self.dtest_config.keep_failed_test_dir and request and
request.node.rep_call.failed):
E AttributeError: 'Function' object has no attribute 'rep_call'

dtest_setup.py:351: AttributeError
----------------------------------------------------------------------------
Cassandra dtests // test_hosts // Error
test teardown failure

request = <SubRequest 'fixture_dtest_setup' for <Function 'test_hosts'>>
dtest_config = <dtest_config.DTestConfig object at 0x7f6547f11400>
fixture_dtest_setup_overrides = <dtest_setup_overrides.DTestSetupOverrides
object at 0x7f65480cd4f0>
fixture_logging_setup = None, fixture_dtest_cluster_name = 'test'
fixture_dtest_create_cluster_func = <function DTestSetup.create_ccm_cluster
at 0x7f654875ab80>

@pytest.fixture(scope='function', autouse=False)
def fixture_dtest_setup(request,
dtest_config,
fixture_dtest_setup_overrides,
fixture_logging_setup,
fixture_dtest_cluster_name,
fixture_dtest_create_cluster_func):
if running_in_docker():
cleanup_docker_environment_before_test_execution()

# do all of our setup operations to get the enviornment ready for the actual
test
# to run (e.g. bring up a cluster with the necessary config, populate
variables, etc)
initial_environment = copy.deepcopy(os.environ)
dtest_setup = DTestSetup(dtest_config=dtest_config,
setup_overrides=fixture_dtest_setup_overrides,
cluster_name=fixture_dtest_cluster_name)
dtest_setup.initialize_cluster(fixture_dtest_create_cluster_func)

if not dtest_config.disable_active_log_watching:
dtest_setup.begin_active_log_watch()

# at this point we're done with our setup operations in this fixture
# yield to allow the actual test to run
yield dtest_setup

# phew! we're back after executing the test, now we need to do
# all of our teardown and cleanup operations

reset_environment_vars(initial_environment)
dtest_setup.jvm_args = []

for con in dtest_setup.connections:
con.cluster.shutdown()
dtest_setup.connections = []

failed = False
try:
if not dtest_setup.allow_log_errors:
errors = check_logs_for_errors(dtest_setup)
if len(errors) > 0:
failed = True
pytest.fail(msg='Unexpected error found in node logs (see stdout for full
details). Errors: [{errors}]'
.format(errors=str.join(", ", errors)), pytrace=False)
finally:
try:
# save the logs for inspection
if failed or not dtest_config.delete_logs:
copy_logs(request, dtest_setup.cluster)
except Exception as e:
logger.error("Error saving log:", str(e))
finally:
> dtest_setup.cleanup_cluster(request)

conftest.py:352:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
_ _

self = <dtest_setup.DTestSetup object at 0x7f65476a06d0>
request = <SubRequest 'fixture_dtest_setup' for <Function 'test_hosts'>>

def cleanup_cluster(self, request=None):
with log_filter('cassandra'): # quiet noise from driver when nodes start
going down
> if self.dtest_config.keep_test_dir or
(self.dtest_config.keep_failed_test_dir and request and
request.node.rep_call.failed):
E AttributeError: 'Function' object has no attribute 'rep_call'

dtest_setup.py:351: AttributeError
----------------------------------------------------------------------------
Cassandra dtests // test_archiving_fql // Error
test teardown failure

request = <SubRequest 'fixture_dtest_setup' for <Function
'test_archiving_fql'>>
dtest_config = <dtest_config.DTestConfig object at 0x7fc0a572f970>
fixture_dtest_setup_overrides = <dtest_setup_overrides.DTestSetupOverrides
object at 0x7fc0a572f6a0>
fixture_logging_setup = None, fixture_dtest_cluster_name = 'test'
fixture_dtest_create_cluster_func = <function DTestSetup.create_ccm_cluster
at 0x7fc0a6066af0>

@pytest.fixture(scope='function', autouse=False)
def fixture_dtest_setup(request,
dtest_config,
fixture_dtest_setup_overrides,
fixture_logging_setup,
fixture_dtest_cluster_name,
fixture_dtest_create_cluster_func):
if running_in_docker():
cleanup_docker_environment_before_test_execution()

# do all of our setup operations to get the enviornment ready for the actual
test
# to run (e.g. bring up a cluster with the necessary config, populate
variables, etc)
initial_environment = copy.deepcopy(os.environ)
dtest_setup = DTestSetup(dtest_config=dtest_config,
setup_overrides=fixture_dtest_setup_overrides,
cluster_name=fixture_dtest_cluster_name)
dtest_setup.initialize_cluster(fixture_dtest_create_cluster_func)

if not dtest_config.disable_active_log_watching:
dtest_setup.begin_active_log_watch()

# at this point we're done with our setup operations in this fixture
# yield to allow the actual test to run
yield dtest_setup

# phew! we're back after executing the test, now we need to do
# all of our teardown and cleanup operations

reset_environment_vars(initial_environment)
dtest_setup.jvm_args = []

for con in dtest_setup.connections:
con.cluster.shutdown()
dtest_setup.connections = []

failed = False
try:
if not dtest_setup.allow_log_errors:
errors = check_logs_for_errors(dtest_setup)
if len(errors) > 0:
failed = True
pytest.fail(msg='Unexpected error found in node logs (see stdout for full
details). Errors: [{errors}]'
.format(errors=str.join(", ", errors)), pytrace=False)
finally:
try:
# save the logs for inspection
if failed or not dtest_config.delete_logs:
copy_logs(request, dtest_setup.cluster)
except Exception as e:
logger.error("Error saving log:", str(e))
finally:
> dtest_setup.cleanup_cluster(request)

conftest.py:352:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
_ _

self = <dtest_setup.DTestSetup object at 0x7fc0a572fdc0>
request = <SubRequest 'fixture_dtest_setup' for <Function
'test_archiving_fql'>>

def cleanup_cluster(self, request=None):
with log_filter('cassandra'): # quiet noise from driver when nodes start
going down
> if self.dtest_config.keep_test_dir or
(self.dtest_config.keep_failed_test_dir and request and
request.node.rep_call.failed):
E AttributeError: 'Function' object has no attribute 'rep_call'

dtest_setup.py:351: AttributeError
----------------------------------------------------------------------------
Cassandra dtests // test_move_backwards_and_cleanup // Error
test teardown failure

request = <SubRequest 'fixture_dtest_setup' for <Function
'test_move_backwards_and_cleanup'>>
dtest_config = <dtest_config.DTestConfig object at 0x7f7f7679b6d0>
fixture_dtest_setup_overrides = <dtest_setup_overrides.DTestSetupOverrides
object at 0x7f7f76931be0>
fixture_logging_setup = None, fixture_dtest_cluster_name = 'test'
fixture_dtest_create_cluster_func = <function DTestSetup.create_ccm_cluster
at 0x7f7f76fe8a60>

@pytest.fixture(scope='function', autouse=False)
def fixture_dtest_setup(request,
dtest_config,
fixture_dtest_setup_overrides,
fixture_logging_setup,
fixture_dtest_cluster_name,
fixture_dtest_create_cluster_func):
if running_in_docker():
cleanup_docker_environment_before_test_execution()

# do all of our setup operations to get the enviornment ready for the actual
test
# to run (e.g. bring up a cluster with the necessary config, populate
variables, etc)
initial_environment = copy.deepcopy(os.environ)
dtest_setup = DTestSetup(dtest_config=dtest_config,
setup_overrides=fixture_dtest_setup_overrides,
cluster_name=fixture_dtest_cluster_name)
dtest_setup.initialize_cluster(fixture_dtest_create_cluster_func)

if not dtest_config.disable_active_log_watching:
dtest_setup.begin_active_log_watch()

# at this point we're done with our setup operations in this fixture
# yield to allow the actual test to run
yield dtest_setup

# phew! we're back after executing the test, now we need to do
# all of our teardown and cleanup operations

reset_environment_vars(initial_environment)
dtest_setup.jvm_args = []

for con in dtest_setup.connections:
con.cluster.shutdown()
dtest_setup.connections = []

failed = False
try:
if not dtest_setup.allow_log_errors:
errors = check_logs_for_errors(dtest_setup)
if len(errors) > 0:
failed = True
pytest.fail(msg='Unexpected error found in node logs (see stdout for full
details). Errors: [{errors}]'
.format(errors=str.join(", ", errors)), pytrace=False)
finally:
try:
# save the logs for inspection
if failed or not dtest_config.delete_logs:
copy_logs(request, dtest_setup.cluster)
except Exception as e:
logger.error("Error saving log:", str(e))
finally:
> dtest_setup.cleanup_cluster(request)

conftest.py:352:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
_ _

self = <dtest_setup.DTestSetup object at 0x7f7f76945580>
request = <SubRequest 'fixture_dtest_setup' for <Function
'test_move_backwards_and_cleanup'>>

def cleanup_cluster(self, request=None):
with log_filter('cassandra'): # quiet noise from driver when nodes start
going down
> if self.dtest_config.keep_test_dir or
(self.dtest_config.keep_failed_test_dir and request and
request.node.rep_call.failed):
E AttributeError: 'Function' object has no attribute 'rep_call'

dtest_setup.py:351: AttributeError
----------------------------------------------------------------------------
Cassandra dtests // test_subrange // Error
test teardown failure

request = <SubRequest 'fixture_dtest_setup' for <Function 'test_subrange'>>
dtest_config = <dtest_config.DTestConfig object at 0x7f7f7679b6d0>
fixture_dtest_setup_overrides = <dtest_setup_overrides.DTestSetupOverrides
object at 0x7f7f76954c10>
fixture_logging_setup = None, fixture_dtest_cluster_name = 'test'
fixture_dtest_create_cluster_func = <function DTestSetup.create_ccm_cluster
at 0x7f7f76fe8a60>

@pytest.fixture(scope='function', autouse=False)
def fixture_dtest_setup(request,
dtest_config,
fixture_dtest_setup_overrides,
fixture_logging_setup,
fixture_dtest_cluster_name,
fixture_dtest_create_cluster_func):
if running_in_docker():
cleanup_docker_environment_before_test_execution()

# do all of our setup operations to get the enviornment ready for the actual
test
# to run (e.g. bring up a cluster with the necessary config, populate
variables, etc)
initial_environment = copy.deepcopy(os.environ)
dtest_setup = DTestSetup(dtest_config=dtest_config,
setup_overrides=fixture_dtest_setup_overrides,
cluster_name=fixture_dtest_cluster_name)
dtest_setup.initialize_cluster(fixture_dtest_create_cluster_func)

if not dtest_config.disable_active_log_watching:
dtest_setup.begin_active_log_watch()

# at this point we're done with our setup operations in this fixture
# yield to allow the actual test to run
yield dtest_setup

# phew! we're back after executing the test, now we need to do
# all of our teardown and cleanup operations

reset_environment_vars(initial_environment)
dtest_setup.jvm_args = []

for con in dtest_setup.connections:
con.cluster.shutdown()
dtest_setup.connections = []

failed = False
try:
if not dtest_setup.allow_log_errors:
errors = check_logs_for_errors(dtest_setup)
if len(errors) > 0:
failed = True
pytest.fail(msg='Unexpected error found in node logs (see stdout for full
details). Errors: [{errors}]'
.format(errors=str.join(", ", errors)), pytrace=False)
finally:
try:
# save the logs for inspection
if failed or not dtest_config.delete_logs:
copy_logs(request, dtest_setup.cluster)
except Exception as e:
logger.error("Error saving log:", str(e))
finally:
> dtest_setup.cleanup_cluster(request)

conftest.py:352:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
_ _

self = <dtest_setup.DTestSetup object at 0x7f7f76954be0>
request = <SubRequest 'fixture_dtest_setup' for <Function 'test_subrange'>>

def cleanup_cluster(self, request=None):
with log_filter('cassandra'): # quiet noise from driver when nodes start
going down
> if self.dtest_config.keep_test_dir or
(self.dtest_config.keep_failed_test_dir and request and
request.node.rep_call.failed):
E AttributeError: 'Function' object has no attribute 'rep_call'

dtest_setup.py:351: AttributeError
----------------------------------------------------------------------------
Cassandra dtests // test_decommission // Error
test teardown failure

request = <SubRequest 'fixture_dtest_setup' for <Function
'test_decommission'>>
dtest_config = <dtest_config.DTestConfig object at 0x7f45ecd4df10>
fixture_dtest_setup_overrides = <dtest_setup_overrides.DTestSetupOverrides
object at 0x7f45ed11f0d0>
fixture_logging_setup = None, fixture_dtest_cluster_name = 'test'
fixture_dtest_create_cluster_func = <function DTestSetup.create_ccm_cluster
at 0x7f45ed5f4c10>

@pytest.fixture(scope='function', autouse=False)
def fixture_dtest_setup(request,
dtest_config,
fixture_dtest_setup_overrides,
fixture_logging_setup,
fixture_dtest_cluster_name,
fixture_dtest_create_cluster_func):
if running_in_docker():
cleanup_docker_environment_before_test_execution()

# do all of our setup operations to get the enviornment ready for the actual
test
# to run (e.g. bring up a cluster with the necessary config, populate
variables, etc)
initial_environment = copy.deepcopy(os.environ)
dtest_setup = DTestSetup(dtest_config=dtest_config,
setup_overrides=fixture_dtest_setup_overrides,
cluster_name=fixture_dtest_cluster_name)
dtest_setup.initialize_cluster(fixture_dtest_create_cluster_func)

if not dtest_config.disable_active_log_watching:
dtest_setup.begin_active_log_watch()

# at this point we're done with our setup operations in this fixture
# yield to allow the actual test to run
yield dtest_setup

# phew! we're back after executing the test, now we need to do
# all of our teardown and cleanup operations

reset_environment_vars(initial_environment)
dtest_setup.jvm_args = []

for con in dtest_setup.connections:
con.cluster.shutdown()
dtest_setup.connections = []

failed = False
try:
if not dtest_setup.allow_log_errors:
errors = check_logs_for_errors(dtest_setup)
if len(errors) > 0:
failed = True
pytest.fail(msg='Unexpected error found in node logs (see stdout for full
details). Errors: [{errors}]'
.format(errors=str.join(", ", errors)), pytrace=False)
finally:
try:
# save the logs for inspection
if failed or not dtest_config.delete_logs:
copy_logs(request, dtest_setup.cluster)
except Exception as e:
logger.error("Error saving log:", str(e))
finally:
> dtest_setup.cleanup_cluster(request)

conftest.py:352:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
_ _

self = <dtest_setup.DTestSetup object at 0x7f45ed11f9a0>
request = <SubRequest 'fixture_dtest_setup' for <Function
'test_decommission'>>

def cleanup_cluster(self, request=None):
with log_filter('cassandra'): # quiet noise from driver when nodes start
going down
> if self.dtest_config.keep_test_dir or
(self.dtest_config.keep_failed_test_dir and request and
request.node.rep_call.failed):
E AttributeError: 'Function' object has no attribute 'rep_call'

dtest_setup.py:351: AttributeError
----------------------------------------------------------------------------
Cassandra dtests // test_repaired_tracking_with_partition_deletes // Error
test teardown failure

request = <SubRequest 'fixture_dtest_setup' for <Function
'test_repaired_tracking_with_partition_deletes'>>
dtest_config = <dtest_config.DTestConfig object at 0x7f45ecd4df10>
fixture_dtest_setup_overrides = <dtest_setup_overrides.DTestSetupOverrides
object at 0x7f45ed5a5430>
fixture_logging_setup = None, fixture_dtest_cluster_name = 'test'
fixture_dtest_create_cluster_func = <function DTestSetup.create_ccm_cluster
at 0x7f45ed5f4c10>

@pytest.fixture(scope='function', autouse=False)
def fixture_dtest_setup(request,
dtest_config,
fixture_dtest_setup_overrides,
fixture_logging_setup,
fixture_dtest_cluster_name,
fixture_dtest_create_cluster_func):
if running_in_docker():
cleanup_docker_environment_before_test_execution()

# do all of our setup operations to get the enviornment ready for the actual
test
# to run (e.g. bring up a cluster with the necessary config, populate
variables, etc)
initial_environment = copy.deepcopy(os.environ)
dtest_setup = DTestSetup(dtest_config=dtest_config,
setup_overrides=fixture_dtest_setup_overrides,
cluster_name=fixture_dtest_cluster_name)
dtest_setup.initialize_cluster(fixture_dtest_create_cluster_func)

if not dtest_config.disable_active_log_watching:
dtest_setup.begin_active_log_watch()

# at this point we're done with our setup operations in this fixture
# yield to allow the actual test to run
yield dtest_setup

# phew! we're back after executing the test, now we need to do
# all of our teardown and cleanup operations

reset_environment_vars(initial_environment)
dtest_setup.jvm_args = []

for con in dtest_setup.connections:
con.cluster.shutdown()
dtest_setup.connections = []

failed = False
try:
if not dtest_setup.allow_log_errors:
errors = check_logs_for_errors(dtest_setup)
if len(errors) > 0:
failed = True
pytest.fail(msg='Unexpected error found in node logs (see stdout for full
details). Errors: [{errors}]'
.format(errors=str.join(", ", errors)), pytrace=False)
finally:
try:
# save the logs for inspection
if failed or not dtest_config.delete_logs:
copy_logs(request, dtest_setup.cluster)
except Exception as e:
logger.error("Error saving log:", str(e))
finally:
> dtest_setup.cleanup_cluster(request)

conftest.py:352:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
_ _

self = <dtest_setup.DTestSetup object at 0x7f45eceef9a0>
request = <SubRequest 'fixture_dtest_setup' for <Function
'test_repaired_tracking_with_partition_deletes'>>

def cleanup_cluster(self, request=None):
with log_filter('cassandra'): # quiet noise from driver when nodes start
going down
> if self.dtest_config.keep_test_dir or
(self.dtest_config.keep_failed_test_dir and request and
request.node.rep_call.failed):
E AttributeError: 'Function' object has no attribute 'rep_call'

dtest_setup.py:351: AttributeError
----------------------------------------------------------------------------
Cassandra dtests // test_remove // Error
test teardown failure

request = <SubRequest 'fixture_dtest_setup' for <Function 'test_remove'>>
dtest_config = <dtest_config.DTestConfig object at 0x7fe68bdc36a0>
fixture_dtest_setup_overrides = <dtest_setup_overrides.DTestSetupOverrides
object at 0x7fe68bdf5e80>
fixture_logging_setup = None, fixture_dtest_cluster_name = 'test'
fixture_dtest_create_cluster_func = <function DTestSetup.create_ccm_cluster
at 0x7fe68c61aa60>

@pytest.fixture(scope='function', autouse=False)
def fixture_dtest_setup(request,
dtest_config,
fixture_dtest_setup_overrides,
fixture_logging_setup,
fixture_dtest_cluster_name,
fixture_dtest_create_cluster_func):
if running_in_docker():
cleanup_docker_environment_before_test_execution()

# do all of our setup operations to get the enviornment ready for the actual
test
# to run (e.g. bring up a cluster with the necessary config, populate
variables, etc)
initial_environment = copy.deepcopy(os.environ)
dtest_setup = DTestSetup(dtest_config=dtest_config,
setup_overrides=fixture_dtest_setup_overrides,
cluster_name=fixture_dtest_cluster_name)
dtest_setup.initialize_cluster(fixture_dtest_create_cluster_func)

if not dtest_config.disable_active_log_watching:
dtest_setup.begin_active_log_watch()

# at this point we're done with our setup operations in this fixture
# yield to allow the actual test to run
yield dtest_setup

# phew! we're back after executing the test, now we need to do
# all of our teardown and cleanup operations

reset_environment_vars(initial_environment)
dtest_setup.jvm_args = []

for con in dtest_setup.connections:
con.cluster.shutdown()
dtest_setup.connections = []

failed = False
try:
if not dtest_setup.allow_log_errors:
errors = check_logs_for_errors(dtest_setup)
if len(errors) > 0:
failed = True
pytest.fail(msg='Unexpected error found in node logs (see stdout for full
details). Errors: [{errors}]'
.format(errors=str.join(", ", errors)), pytrace=False)
finally:
try:
# save the logs for inspection
if failed or not dtest_config.delete_logs:
copy_logs(request, dtest_setup.cluster)
except Exception as e:
logger.error("Error saving log:", str(e))
finally:
> dtest_setup.cleanup_cluster(request)

conftest.py:352:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
_ _

self = <dtest_setup.DTestSetup object at 0x7fe68c4d4d30>
request = <SubRequest 'fixture_dtest_setup' for <Function 'test_remove'>>

def cleanup_cluster(self, request=None):
with log_filter('cassandra'): # quiet noise from driver when nodes start
going down
> if self.dtest_config.keep_test_dir or
(self.dtest_config.keep_failed_test_dir and request and
request.node.rep_call.failed):
E AttributeError: 'Function' object has no attribute 'rep_call'

dtest_setup.py:351: AttributeError
----------------------------------------------------------------------------
Cassandra dtests // test_repaired_tracking_with_varying_sstable_sets /
/ Error
test teardown failure

request = <SubRequest 'fixture_dtest_setup' for <Function
'test_repaired_tracking_with_varying_sstable_sets'>>
dtest_config = <dtest_config.DTestConfig object at 0x7fe68bdc36a0>
fixture_dtest_setup_overrides = <dtest_setup_overrides.DTestSetupOverrides
object at 0x7fe68b14bf70>
fixture_logging_setup = None, fixture_dtest_cluster_name = 'test'
fixture_dtest_create_cluster_func = <function DTestSetup.create_ccm_cluster
at 0x7fe68c61aa60>

@pytest.fixture(scope='function', autouse=False)
def fixture_dtest_setup(request,
dtest_config,
fixture_dtest_setup_overrides,
fixture_logging_setup,
fixture_dtest_cluster_name,
fixture_dtest_create_cluster_func):
if running_in_docker():
cleanup_docker_environment_before_test_execution()

# do all of our setup operations to get the enviornment ready for the actual
test
# to run (e.g. bring up a cluster with the necessary config, populate
variables, etc)
initial_environment = copy.deepcopy(os.environ)
dtest_setup = DTestSetup(dtest_config=dtest_config,
setup_overrides=fixture_dtest_setup_overrides,
cluster_name=fixture_dtest_cluster_name)
dtest_setup.initialize_cluster(fixture_dtest_create_cluster_func)

if not dtest_config.disable_active_log_watching:
dtest_setup.begin_active_log_watch()

# at this point we're done with our setup operations in this fixture
# yield to allow the actual test to run
yield dtest_setup

# phew! we're back after executing the test, now we need to do
# all of our teardown and cleanup operations

reset_environment_vars(initial_environment)
dtest_setup.jvm_args = []

for con in dtest_setup.connections:
con.cluster.shutdown()
dtest_setup.connections = []

failed = False
try:
if not dtest_setup.allow_log_errors:
errors = check_logs_for_errors(dtest_setup)
if len(errors) > 0:
failed = True
pytest.fail(msg='Unexpected error found in node logs (see stdout for full
details). Errors: [{errors}]'
.format(errors=str.join(", ", errors)), pytrace=False)
finally:
try:
# save the logs for inspection
if failed or not dtest_config.delete_logs:
copy_logs(request, dtest_setup.cluster)
except Exception as e:
logger.error("Error saving log:", str(e))
finally:
> dtest_setup.cleanup_cluster(request)

conftest.py:352:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
_ _

self = <dtest_setup.DTestSetup object at 0x7fe68c427b20>
request = <SubRequest 'fixture_dtest_setup' for <Function
'test_repaired_tracking_with_varying_sstable_sets'>>

def cleanup_cluster(self, request=None):
with log_filter('cassandra'): # quiet noise from driver when nodes start
going down
> if self.dtest_config.keep_test_dir or
(self.dtest_config.keep_failed_test_dir and request and
request.node.rep_call.failed):
E AttributeError: 'Function' object has no attribute 'rep_call'

dtest_setup.py:351: AttributeError
----------------------------------------------------------------------------
Cassandra dtests // test_full_dc_access // Error
test teardown failure

request = <SubRequest 'fixture_dtest_setup' for <Function
'test_full_dc_access'>>
dtest_config = <dtest_config.DTestConfig object at 0x7f3ff56b8700>
fixture_dtest_setup_overrides = <dtest_setup_overrides.DTestSetupOverrides
object at 0x7f3ff5e61100>
fixture_logging_setup = None, fixture_dtest_cluster_name = 'test'
fixture_dtest_create_cluster_func = <function DTestSetup.create_ccm_cluster
at 0x7f3ff5efa9d0>

@pytest.fixture(scope='function', autouse=False)
def fixture_dtest_setup(request,
dtest_config,
fixture_dtest_setup_overrides,
fixture_logging_setup,
fixture_dtest_cluster_name,
fixture_dtest_create_cluster_func):
if running_in_docker():
cleanup_docker_environment_before_test_execution()

# do all of our setup operations to get the enviornment ready for the actual
test
# to run (e.g. bring up a cluster with the necessary config, populate
variables, etc)
initial_environment = copy.deepcopy(os.environ)
dtest_setup = DTestSetup(dtest_config=dtest_config,
setup_overrides=fixture_dtest_setup_overrides,
cluster_name=fixture_dtest_cluster_name)
dtest_setup.initialize_cluster(fixture_dtest_create_cluster_func)

if not dtest_config.disable_active_log_watching:
dtest_setup.begin_active_log_watch()

# at this point we're done with our setup operations in this fixture
# yield to allow the actual test to run
yield dtest_setup

# phew! we're back after executing the test, now we need to do
# all of our teardown and cleanup operations

reset_environment_vars(initial_environment)
dtest_setup.jvm_args = []

for con in dtest_setup.connections:
con.cluster.shutdown()
dtest_setup.connections = []

failed = False
try:
if not dtest_setup.allow_log_errors:
errors = check_logs_for_errors(dtest_setup)
if len(errors) > 0:
failed = True
pytest.fail(msg='Unexpected error found in node logs (see stdout for full
details). Errors: [{errors}]'
.format(errors=str.join(", ", errors)), pytrace=False)
finally:
try:
# save the logs for inspection
if failed or not dtest_config.delete_logs:
copy_logs(request, dtest_setup.cluster)
except Exception as e:
logger.error("Error saving log:", str(e))
finally:
> dtest_setup.cleanup_cluster(request)

conftest.py:352:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
_ _

self = <dtest_setup.DTestSetup object at 0x7f3ff56f5370>
request = <SubRequest 'fixture_dtest_setup' for <Function
'test_full_dc_access'>>

def cleanup_cluster(self, request=None):
with log_filter('cassandra'): # quiet noise from driver when nodes start
going down
> if self.dtest_config.keep_test_dir or
(self.dtest_config.keep_failed_test_dir and request and
request.node.rep_call.failed):
E AttributeError: 'Function' object has no attribute 'rep_call'

dtest_setup.py:351: AttributeError
----------------------------------------------------------------------------
Cassandra dtests // test_client_request_metrics // Error
test teardown failure

request = <SubRequest 'fixture_dtest_setup' for <Function
'test_client_request_metrics'>>
dtest_config = <dtest_config.DTestConfig object at 0x7f3ff56b8700>
fixture_dtest_setup_overrides = <dtest_setup_overrides.DTestSetupOverrides
object at 0x7f3ff4e00a00>
fixture_logging_setup = None, fixture_dtest_cluster_name = 'test'
fixture_dtest_create_cluster_func = <function DTestSetup.create_ccm_cluster
at 0x7f3ff5efa9d0>

@pytest.fixture(scope='function', autouse=False)
def fixture_dtest_setup(request,
dtest_config,
fixture_dtest_setup_overrides,
fixture_logging_setup,
fixture_dtest_cluster_name,
fixture_dtest_create_cluster_func):
if running_in_docker():
cleanup_docker_environment_before_test_execution()

# do all of our setup operations to get the enviornment ready for the actual
test
# to run (e.g. bring up a cluster with the necessary config, populate
variables, etc)
initial_environment = copy.deepcopy(os.environ)
dtest_setup = DTestSetup(dtest_config=dtest_config,
setup_overrides=fixture_dtest_setup_overrides,
cluster_name=fixture_dtest_cluster_name)
dtest_setup.initialize_cluster(fixture_dtest_create_cluster_func)

if not dtest_config.disable_active_log_watching:
dtest_setup.begin_active_log_watch()

# at this point we're done with our setup operations in this fixture
# yield to allow the actual test to run
yield dtest_setup

# phew! we're back after executing the test, now we need to do
# all of our teardown and cleanup operations

reset_environment_vars(initial_environment)
dtest_setup.jvm_args = []

for con in dtest_setup.connections:
con.cluster.shutdown()
dtest_setup.connections = []

failed = False
try:
if not dtest_setup.allow_log_errors:
errors = check_logs_for_errors(dtest_setup)
if len(errors) > 0:
failed = True
pytest.fail(msg='Unexpected error found in node logs (see stdout for full
details). Errors: [{errors}]'
.format(errors=str.join(", ", errors)), pytrace=False)
finally:
try:
# save the logs for inspection
if failed or not dtest_config.delete_logs:
copy_logs(request, dtest_setup.cluster)
except Exception as e:
logger.error("Error saving log:", str(e))
finally:
> dtest_setup.cleanup_cluster(request)

conftest.py:352:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
_ _

self = <dtest_setup.DTestSetup object at 0x7f3ff4e00e50>
request = <SubRequest 'fixture_dtest_setup' for <Function
'test_client_request_metrics'>>

def cleanup_cluster(self, request=None):
with log_filter('cassandra'): # quiet noise from driver when nodes start
going down
> if self.dtest_config.keep_test_dir or
(self.dtest_config.keep_failed_test_dir and request and
request.node.rep_call.failed):
E AttributeError: 'Function' object has no attribute 'rep_call'

dtest_setup.py:351: AttributeError
----------------------------------------------------------------------------
Cassandra dtests // test_replace // Error
test teardown failure

request = <SubRequest 'fixture_dtest_setup' for <Function 'test_replace'>>
dtest_config = <dtest_config.DTestConfig object at 0x7f3ff56b8700>
fixture_dtest_setup_overrides = <dtest_setup_overrides.DTestSetupOverrides
object at 0x7f3ff585d3a0>
fixture_logging_setup = None, fixture_dtest_cluster_name = 'test'
fixture_dtest_create_cluster_func = <function DTestSetup.create_ccm_cluster
at 0x7f3ff5efa9d0>

@pytest.fixture(scope='function', autouse=False)
def fixture_dtest_setup(request,
dtest_config,
fixture_dtest_setup_overrides,
fixture_logging_setup,
fixture_dtest_cluster_name,
fixture_dtest_create_cluster_func):
if running_in_docker():
cleanup_docker_environment_before_test_execution()

# do all of our setup operations to get the enviornment ready for the actual
test
# to run (e.g. bring up a cluster with the necessary config, populate
variables, etc)
initial_environment = copy.deepcopy(os.environ)
dtest_setup = DTestSetup(dtest_config=dtest_config,
setup_overrides=fixture_dtest_setup_overrides,
cluster_name=fixture_dtest_cluster_name)
dtest_setup.initialize_cluster(fixture_dtest_create_cluster_func)

if not dtest_config.disable_active_log_watching:
dtest_setup.begin_active_log_watch()

# at this point we're done with our setup operations in this fixture
# yield to allow the actual test to run
yield dtest_setup

# phew! we're back after executing the test, now we need to do
# all of our teardown and cleanup operations

reset_environment_vars(initial_environment)
dtest_setup.jvm_args = []

for con in dtest_setup.connections:
con.cluster.shutdown()
dtest_setup.connections = []

failed = False
try:
if not dtest_setup.allow_log_errors:
errors = check_logs_for_errors(dtest_setup)
if len(errors) > 0:
failed = True
pytest.fail(msg='Unexpected error found in node logs (see stdout for full
details). Errors: [{errors}]'
.format(errors=str.join(", ", errors)), pytrace=False)
finally:
try:
# save the logs for inspection
if failed or not dtest_config.delete_logs:
copy_logs(request, dtest_setup.cluster)
except Exception as e:
logger.error("Error saving log:", str(e))
finally:
> dtest_setup.cleanup_cluster(request)

conftest.py:352:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
_ _

self = <dtest_setup.DTestSetup object at 0x7f3ff585d520>
request = <SubRequest 'fixture_dtest_setup' for <Function 'test_replace'>>

def cleanup_cluster(self, request=None):
with log_filter('cassandra'): # quiet noise from driver when nodes start
going down
> if self.dtest_config.keep_test_dir or
(self.dtest_config.keep_failed_test_dir and request and
request.node.rep_call.failed):
E AttributeError: 'Function' object has no attribute 'rep_call'

dtest_setup.py:351: AttributeError
----------------------------------------------------------------------------
Cassandra dtests // test_repaired_tracking_with_mismatching_replicas /
/ Error
test teardown failure

request = <SubRequest 'fixture_dtest_setup' for <Function
'test_repaired_tracking_with_mismatching_replicas'>>
dtest_config = <dtest_config.DTestConfig object at 0x7f3ff56b8700>
fixture_dtest_setup_overrides = <dtest_setup_overrides.DTestSetupOverrides
object at 0x7f3ff5666a60>
fixture_logging_setup = None, fixture_dtest_cluster_name = 'test'
fixture_dtest_create_cluster_func = <function DTestSetup.create_ccm_cluster
at 0x7f3ff5efa9d0>

@pytest.fixture(scope='function', autouse=False)
def fixture_dtest_setup(request,
dtest_config,
fixture_dtest_setup_overrides,
fixture_logging_setup,
fixture_dtest_cluster_name,
fixture_dtest_create_cluster_func):
if running_in_docker():
cleanup_docker_environment_before_test_execution()

# do all of our setup operations to get the enviornment ready for the actual
test
# to run (e.g. bring up a cluster with the necessary config, populate
variables, etc)
initial_environment = copy.deepcopy(os.environ)
dtest_setup = DTestSetup(dtest_config=dtest_config,
setup_overrides=fixture_dtest_setup_overrides,
cluster_name=fixture_dtest_cluster_name)
dtest_setup.initialize_cluster(fixture_dtest_create_cluster_func)

if not dtest_config.disable_active_log_watching:
dtest_setup.begin_active_log_watch()

# at this point we're done with our setup operations in this fixture
# yield to allow the actual test to run
yield dtest_setup

# phew! we're back after executing the test, now we need to do
# all of our teardown and cleanup operations

reset_environment_vars(initial_environment)
dtest_setup.jvm_args = []

for con in dtest_setup.connections:
con.cluster.shutdown()
dtest_setup.connections = []

failed = False
try:
if not dtest_setup.allow_log_errors:
errors = check_logs_for_errors(dtest_setup)
if len(errors) > 0:
failed = True
pytest.fail(msg='Unexpected error found in node logs (see stdout for full
details). Errors: [{errors}]'
.format(errors=str.join(", ", errors)), pytrace=False)
finally:
try:
# save the logs for inspection
if failed or not dtest_config.delete_logs:
copy_logs(request, dtest_setup.cluster)
except Exception as e:
logger.error("Error saving log:", str(e))
finally:
> dtest_setup.cleanup_cluster(request)

conftest.py:352:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
_ _

self = <dtest_setup.DTestSetup object at 0x7f3ff5666670>
request = <SubRequest 'fixture_dtest_setup' for <Function
'test_repaired_tracking_with_mismatching_replicas'>>

def cleanup_cluster(self, request=None):
with log_filter('cassandra'): # quiet noise from driver when nodes start
going down
> if self.dtest_config.keep_test_dir or
(self.dtest_config.keep_failed_test_dir and request and
request.node.rep_call.failed):
E AttributeError: 'Function' object has no attribute 'rep_call'

dtest_setup.py:351: AttributeError
----------------------------------------------------------------------------
Cassandra dtests // test_single_dc_access // Error
test teardown failure

request = <SubRequest 'fixture_dtest_setup' for <Function
'test_single_dc_access'>>
dtest_config = <dtest_config.DTestConfig object at 0x7f0e75f49a60>
fixture_dtest_setup_overrides = <dtest_setup_overrides.DTestSetupOverrides
object at 0x7f0e75dbd910>
fixture_logging_setup = None, fixture_dtest_cluster_name = 'test'
fixture_dtest_create_cluster_func = <function DTestSetup.create_ccm_cluster
at 0x7f0e765d9af0>

@pytest.fixture(scope='function', autouse=False)
def fixture_dtest_setup(request,
dtest_config,
fixture_dtest_setup_overrides,
fixture_logging_setup,
fixture_dtest_cluster_name,
fixture_dtest_create_cluster_func):
if running_in_docker():
cleanup_docker_environment_before_test_execution()

# do all of our setup operations to get the enviornment ready for the actual
test
# to run (e.g. bring up a cluster with the necessary config, populate
variables, etc)
initial_environment = copy.deepcopy(os.environ)
dtest_setup = DTestSetup(dtest_config=dtest_config,
setup_overrides=fixture_dtest_setup_overrides,
cluster_name=fixture_dtest_cluster_name)
dtest_setup.initialize_cluster(fixture_dtest_create_cluster_func)

if not dtest_config.disable_active_log_watching:
dtest_setup.begin_active_log_watch()

# at this point we're done with our setup operations in this fixture
# yield to allow the actual test to run
yield dtest_setup

# phew! we're back after executing the test, now we need to do
# all of our teardown and cleanup operations

reset_environment_vars(initial_environment)
dtest_setup.jvm_args = []

for con in dtest_setup.connections:
con.cluster.shutdown()
dtest_setup.connections = []

failed = False
try:
if not dtest_setup.allow_log_errors:
errors = check_logs_for_errors(dtest_setup)
if len(errors) > 0:
failed = True
pytest.fail(msg='Unexpected error found in node logs (see stdout for full
details). Errors: [{errors}]'
.format(errors=str.join(", ", errors)), pytrace=False)
finally:
try:
# save the logs for inspection
if failed or not dtest_config.delete_logs:
copy_logs(request, dtest_setup.cluster)
except Exception as e:
logger.error("Error saving log:", str(e))
finally:
> dtest_setup.cleanup_cluster(request)

conftest.py:352:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
_ _

self = <dtest_setup.DTestSetup object at 0x7f0e764bb7f0>
request = <SubRequest 'fixture_dtest_setup' for <Function
'test_single_dc_access'>>

def cleanup_cluster(self, request=None):
with log_filter('cassandra'): # quiet noise from driver when nodes start
going down
> if self.dtest_config.keep_test_dir or
(self.dtest_config.keep_failed_test_dir and request and
request.node.rep_call.failed):
E AttributeError: 'Function' object has no attribute 'rep_call'

dtest_setup.py:351: AttributeError
----------------------------------------------------------------------------
Cassandra dtests // test_transient_noop_write // Error
test teardown failure

request = <SubRequest 'fixture_dtest_setup' for <Function
'test_transient_noop_write'>>
dtest_config = <dtest_config.DTestConfig object at 0x7f0e75f49a60>
fixture_dtest_setup_overrides = <dtest_setup_overrides.DTestSetupOverrides
object at 0x7f0e7455bf40>
fixture_logging_setup = None, fixture_dtest_cluster_name = 'test'
fixture_dtest_create_cluster_func = <function DTestSetup.create_ccm_cluster
at 0x7f0e765d9af0>

@pytest.fixture(scope='function', autouse=False)
def fixture_dtest_setup(request,
dtest_config,
fixture_dtest_setup_overrides,
fixture_logging_setup,
fixture_dtest_cluster_name,
fixture_dtest_create_cluster_func):
if running_in_docker():
cleanup_docker_environment_before_test_execution()

# do all of our setup operations to get the enviornment ready for the actual
test
# to run (e.g. bring up a cluster with the necessary config, populate
variables, etc)
initial_environment = copy.deepcopy(os.environ)
dtest_setup = DTestSetup(dtest_config=dtest_config,
setup_overrides=fixture_dtest_setup_overrides,
cluster_name=fixture_dtest_cluster_name)
dtest_setup.initialize_cluster(fixture_dtest_create_cluster_func)

if not dtest_config.disable_active_log_watching:
dtest_setup.begin_active_log_watch()

# at this point we're done with our setup operations in this fixture
# yield to allow the actual test to run
yield dtest_setup

# phew! we're back after executing the test, now we need to do
# all of our teardown and cleanup operations

reset_environment_vars(initial_environment)
dtest_setup.jvm_args = []

for con in dtest_setup.connections:
con.cluster.shutdown()
dtest_setup.connections = []

failed = False
try:
if not dtest_setup.allow_log_errors:
errors = check_logs_for_errors(dtest_setup)
if len(errors) > 0:
failed = True
pytest.fail(msg='Unexpected error found in node logs (see stdout for full
details). Errors: [{errors}]'
.format(errors=str.join(", ", errors)), pytrace=False)
finally:
try:
# save the logs for inspection
if failed or not dtest_config.delete_logs:
copy_logs(request, dtest_setup.cluster)
except Exception as e:
logger.error("Error saving log:", str(e))
finally:
> dtest_setup.cleanup_cluster(request)

conftest.py:352:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
_ _

self = <dtest_setup.DTestSetup object at 0x7f0e76506580>
request = <SubRequest 'fixture_dtest_setup' for <Function
'test_transient_noop_write'>>

def cleanup_cluster(self, request=None):
with log_filter('cassandra'): # quiet noise from driver when nodes start
going down
> if self.dtest_config.keep_test_dir or
(self.dtest_config.keep_failed_test_dir and request and
request.node.rep_call.failed):
E AttributeError: 'Function' object has no attribute 'rep_call'

dtest_setup.py:351: AttributeError
----------------------------------------------------------------------------
Cassandra dtests // test_preview // Error
test teardown failure

request = <SubRequest 'fixture_dtest_setup' for <Function 'test_preview'>>
dtest_config = <dtest_config.DTestConfig object at 0x7f0e75f49a60>
fixture_dtest_setup_overrides = <dtest_setup_overrides.DTestSetupOverrides
object at 0x7f0e753e8910>
fixture_logging_setup = None, fixture_dtest_cluster_name = 'test'
fixture_dtest_create_cluster_func = <function DTestSetup.create_ccm_cluster
at 0x7f0e765d9af0>

@pytest.fixture(scope='function', autouse=False)
def fixture_dtest_setup(request,
dtest_config,
fixture_dtest_setup_overrides,
fixture_logging_setup,
fixture_dtest_cluster_name,
fixture_dtest_create_cluster_func):
if running_in_docker():
cleanup_docker_environment_before_test_execution()

# do all of our setup operations to get the enviornment ready for the actual
test
# to run (e.g. bring up a cluster with the necessary config, populate
variables, etc)
initial_environment = copy.deepcopy(os.environ)
dtest_setup = DTestSetup(dtest_config=dtest_config,
setup_overrides=fixture_dtest_setup_overrides,
cluster_name=fixture_dtest_cluster_name)
dtest_setup.initialize_cluster(fixture_dtest_create_cluster_func)

if not dtest_config.disable_active_log_watching:
dtest_setup.begin_active_log_watch()

# at this point we're done with our setup operations in this fixture
# yield to allow the actual test to run
yield dtest_setup

# phew! we're back after executing the test, now we need to do
# all of our teardown and cleanup operations

reset_environment_vars(initial_environment)
dtest_setup.jvm_args = []

for con in dtest_setup.connections:
con.cluster.shutdown()
dtest_setup.connections = []

failed = False
try:
if not dtest_setup.allow_log_errors:
errors = check_logs_for_errors(dtest_setup)
if len(errors) > 0:
failed = True
pytest.fail(msg='Unexpected error found in node logs (see stdout for full
details). Errors: [{errors}]'
.format(errors=str.join(", ", errors)), pytrace=False)
finally:
try:
# save the logs for inspection
if failed or not dtest_config.delete_logs:
copy_logs(request, dtest_setup.cluster)
except Exception as e:
logger.error("Error saving log:", str(e))
finally:
> dtest_setup.cleanup_cluster(request)

conftest.py:352:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
_ _

self = <dtest_setup.DTestSetup object at 0x7f0e753e8460>
request = <SubRequest 'fixture_dtest_setup' for <Function 'test_preview'>>

def cleanup_cluster(self, request=None):
with log_filter('cassandra'): # quiet noise from driver when nodes start
going down
> if self.dtest_config.keep_test_dir or
(self.dtest_config.keep_failed_test_dir and request and
request.node.rep_call.failed):
E AttributeError: 'Function' object has no attribute 'rep_call'

dtest_setup.py:351: AttributeError
----------------------------------------------------------------------------
Cassandra dtests // test_revoked_dc_access // Error
test teardown failure

request = <SubRequest 'fixture_dtest_setup' for <Function
'test_revoked_dc_access'>>
dtest_config = <dtest_config.DTestConfig object at 0x7fa920c23820>
fixture_dtest_setup_overrides = <dtest_setup_overrides.DTestSetupOverrides
object at 0x7fa920d28c10>
fixture_logging_setup = None, fixture_dtest_cluster_name = 'test'
fixture_dtest_create_cluster_func = <function DTestSetup.create_ccm_cluster
at 0x7fa9214c5af0>

@pytest.fixture(scope='function', autouse=False)
def fixture_dtest_setup(request,
dtest_config,
fixture_dtest_setup_overrides,
fixture_logging_setup,
fixture_dtest_cluster_name,
fixture_dtest_create_cluster_func):
if running_in_docker():
cleanup_docker_environment_before_test_execution()

# do all of our setup operations to get the enviornment ready for the actual
test
# to run (e.g. bring up a cluster with the necessary config, populate
variables, etc)
initial_environment = copy.deepcopy(os.environ)
dtest_setup = DTestSetup(dtest_config=dtest_config,
setup_overrides=fixture_dtest_setup_overrides,
cluster_name=fixture_dtest_cluster_name)
dtest_setup.initialize_cluster(fixture_dtest_create_cluster_func)

if not dtest_config.disable_active_log_watching:
dtest_setup.begin_active_log_watch()

# at this point we're done with our setup operations in this fixture
# yield to allow the actual test to run
yield dtest_setup

# phew! we're back after executing the test, now we need to do
# all of our teardown and cleanup operations

reset_environment_vars(initial_environment)
dtest_setup.jvm_args = []

for con in dtest_setup.connections:
con.cluster.shutdown()
dtest_setup.connections = []

failed = False
try:
if not dtest_setup.allow_log_errors:
errors = check_logs_for_errors(dtest_setup)
if len(errors) > 0:
failed = True
pytest.fail(msg='Unexpected error found in node logs (see stdout for full
details). Errors: [{errors}]'
.format(errors=str.join(", ", errors)), pytrace=False)
finally:
try:
# save the logs for inspection
if failed or not dtest_config.delete_logs:
copy_logs(request, dtest_setup.cluster)
except Exception as e:
logger.error("Error saving log:", str(e))
finally:
> dtest_setup.cleanup_cluster(request)

conftest.py:352:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
_ _

self = <dtest_setup.DTestSetup object at 0x7fa920e35b20>
request = <SubRequest 'fixture_dtest_setup' for <Function
'test_revoked_dc_access'>>

def cleanup_cluster(self, request=None):
with log_filter('cassandra'): # quiet noise from driver when nodes start
going down
> if self.dtest_config.keep_test_dir or
(self.dtest_config.keep_failed_test_dir and request and
request.node.rep_call.failed):
E AttributeError: 'Function' object has no attribute 'rep_call'

dtest_setup.py:351: AttributeError
----------------------------------------------------------------------------
Cassandra dtests // test_set_get_batchlog_replay_throttle // Error
test teardown failure

request = <SubRequest 'fixture_dtest_setup' for <Function
'test_set_get_batchlog_replay_throttle'>>
dtest_config = <dtest_config.DTestConfig object at 0x7fa920c23820>
fixture_dtest_setup_overrides = <dtest_setup_overrides.DTestSetupOverrides
object at 0x7fa9203f8d90>
fixture_logging_setup = None, fixture_dtest_cluster_name = 'test'
fixture_dtest_create_cluster_func = <function DTestSetup.create_ccm_cluster
at 0x7fa9214c5af0>

@pytest.fixture(scope='function', autouse=False)
def fixture_dtest_setup(request,
dtest_config,
fixture_dtest_setup_overrides,
fixture_logging_setup,
fixture_dtest_cluster_name,
fixture_dtest_create_cluster_func):
if running_in_docker():
cleanup_docker_environment_before_test_execution()

# do all of our setup operations to get the enviornment ready for the actual
test
# to run (e.g. bring up a cluster with the necessary config, populate
variables, etc)
initial_environment = copy.deepcopy(os.environ)
dtest_setup = DTestSetup(dtest_config=dtest_config,
setup_overrides=fixture_dtest_setup_overrides,
cluster_name=fixture_dtest_cluster_name)
dtest_setup.initialize_cluster(fixture_dtest_create_cluster_func)

if not dtest_config.disable_active_log_watching:
dtest_setup.begin_active_log_watch()

# at this point we're done with our setup operations in this fixture
# yield to allow the actual test to run
yield dtest_setup

# phew! we're back after executing the test, now we need to do
# all of our teardown and cleanup operations

reset_environment_vars(initial_environment)
dtest_setup.jvm_args = []

for con in dtest_setup.connections:
con.cluster.shutdown()
dtest_setup.connections = []

failed = False
try:
if not dtest_setup.allow_log_errors:
errors = check_logs_for_errors(dtest_setup)
if len(errors) > 0:
failed = True
pytest.fail(msg='Unexpected error found in node logs (see stdout for full
details). Errors: [{errors}]'
.format(errors=str.join(", ", errors)), pytrace=False)
finally:
try:
# save the logs for inspection
if failed or not dtest_config.delete_logs:
copy_logs(request, dtest_setup.cluster)
except Exception as e:
logger.error("Error saving log:", str(e))
finally:
> dtest_setup.cleanup_cluster(request)

conftest.py:352:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
_ _

self = <dtest_setup.DTestSetup object at 0x7fa920e36e20>
request = <SubRequest 'fixture_dtest_setup' for <Function
'test_set_get_batchlog_replay_throttle'>>

def cleanup_cluster(self, request=None):
with log_filter('cassandra'): # quiet noise from driver when nodes start
going down
> if self.dtest_config.keep_test_dir or
(self.dtest_config.keep_failed_test_dir and request and
request.node.rep_call.failed):
E AttributeError: 'Function' object has no attribute 'rep_call'

dtest_setup.py:351: AttributeError
----------------------------------------------------------------------------
Cassandra dtests // test_transient_write // Error
test teardown failure

request = <SubRequest 'fixture_dtest_setup' for <Function
'test_transient_write'>>
dtest_config = <dtest_config.DTestConfig object at 0x7fa920c23820>
fixture_dtest_setup_overrides = <dtest_setup_overrides.DTestSetupOverrides
object at 0x7fa91af45ca0>
fixture_logging_setup = None, fixture_dtest_cluster_name = 'test'
fixture_dtest_create_cluster_func = <function DTestSetup.create_ccm_cluster
at 0x7fa9214c5af0>

@pytest.fixture(scope='function', autouse=False)
def fixture_dtest_setup(request,
dtest_config,
fixture_dtest_setup_overrides,
fixture_logging_setup,
fixture_dtest_cluster_name,
fixture_dtest_create_cluster_func):
if running_in_docker():
cleanup_docker_environment_before_test_execution()

# do all of our setup operations to get the enviornment ready for the actual
test
# to run (e.g. bring up a cluster with the necessary config, populate
variables, etc)
initial_environment = copy.deepcopy(os.environ)
dtest_setup = DTestSetup(dtest_config=dtest_config,
setup_overrides=fixture_dtest_setup_overrides,
cluster_name=fixture_dtest_cluster_name)
dtest_setup.initialize_cluster(fixture_dtest_create_cluster_func)

if not dtest_config.disable_active_log_watching:
dtest_setup.begin_active_log_watch()

# at this point we're done with our setup operations in this fixture
# yield to allow the actual test to run
yield dtest_setup

# phew! we're back after executing the test, now we need to do
# all of our teardown and cleanup operations

reset_environment_vars(initial_environment)
dtest_setup.jvm_args = []

for con in dtest_setup.connections:
con.cluster.shutdown()
dtest_setup.connections = []

failed = False
try:
if not dtest_setup.allow_log_errors:
errors = check_logs_for_errors(dtest_setup)
if len(errors) > 0:
failed = True
pytest.fail(msg='Unexpected error found in node logs (see stdout for full
details). Errors: [{errors}]'
.format(errors=str.join(", ", errors)), pytrace=False)
finally:
try:
# save the logs for inspection
if failed or not dtest_config.delete_logs:
copy_logs(request, dtest_setup.cluster)
except Exception as e:
logger.error("Error saving log:", str(e))
finally:
> dtest_setup.cleanup_cluster(request)

conftest.py:352:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
_ _

self = <dtest_setup.DTestSetup object at 0x7fa91af45430>
request = <SubRequest 'fixture_dtest_setup' for <Function
'test_transient_write'>>

def cleanup_cluster(self, request=None):
with log_filter('cassandra'): # quiet noise from driver when nodes start
going down
> if self.dtest_config.keep_test_dir or
(self.dtest_config.keep_failed_test_dir and request and
request.node.rep_call.failed):
E AttributeError: 'Function' object has no attribute 'rep_call'

dtest_setup.py:351: AttributeError
----------------------------------------------------------------------------
Cassandra dtests // test_create_dc_validation // Error
test teardown failure

request = <SubRequest 'fixture_dtest_setup' for <Function
'test_create_dc_validation'>>
dtest_config = <dtest_config.DTestConfig object at 0x7f0c50876ee0>
fixture_dtest_setup_overrides = <dtest_setup_overrides.DTestSetupOverrides
object at 0x7f0c50883c10>
fixture_logging_setup = None, fixture_dtest_cluster_name = 'test'
fixture_dtest_create_cluster_func = <function DTestSetup.create_ccm_cluster
at 0x7f0c510d4af0>

@pytest.fixture(scope='function', autouse=False)
def fixture_dtest_setup(request,
dtest_config,
fixture_dtest_setup_overrides,
fixture_logging_setup,
fixture_dtest_cluster_name,
fixture_dtest_create_cluster_func):
if running_in_docker():
cleanup_docker_environment_before_test_execution()

# do all of our setup operations to get the enviornment ready for the actual
test
# to run (e.g. bring up a cluster with the necessary config, populate
variables, etc)
initial_environment = copy.deepcopy(os.environ)
dtest_setup = DTestSetup(dtest_config=dtest_config,
setup_overrides=fixture_dtest_setup_overrides,
cluster_name=fixture_dtest_cluster_name)
dtest_setup.initialize_cluster(fixture_dtest_create_cluster_func)

if not dtest_config.disable_active_log_watching:
dtest_setup.begin_active_log_watch()

# at this point we're done with our setup operations in this fixture
# yield to allow the actual test to run
yield dtest_setup

# phew! we're back after executing the test, now we need to do
# all of our teardown and cleanup operations

reset_environment_vars(initial_environment)
dtest_setup.jvm_args = []

for con in dtest_setup.connections:
con.cluster.shutdown()
dtest_setup.connections = []

failed = False
try:
if not dtest_setup.allow_log_errors:
errors = check_logs_for_errors(dtest_setup)
if len(errors) > 0:
failed = True
pytest.fail(msg='Unexpected error found in node logs (see stdout for full
details). Errors: [{errors}]'
.format(errors=str.join(", ", errors)), pytrace=False)
finally:
try:
# save the logs for inspection
if failed or not dtest_config.delete_logs:
copy_logs(request, dtest_setup.cluster)
except Exception as e:
logger.error("Error saving log:", str(e))
finally:
> dtest_setup.cleanup_cluster(request)

conftest.py:352:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
_ _

self = <dtest_setup.DTestSetup object at 0x7f0c508735e0>
request = <SubRequest 'fixture_dtest_setup' for <Function
'test_create_dc_validation'>>

def cleanup_cluster(self, request=None):
with log_filter('cassandra'): # quiet noise from driver when nodes start
going down
> if self.dtest_config.keep_test_dir or
(self.dtest_config.keep_failed_test_dir and request and
request.node.rep_call.failed):
E AttributeError: 'Function' object has no attribute 'rep_call'

dtest_setup.py:351: AttributeError
----------------------------------------------------------------------------
Cassandra dtests // test_transient_full_merge_read // Error
test teardown failure

request = <SubRequest 'fixture_dtest_setup' for <Function
'test_transient_full_merge_read'>>
dtest_config = <dtest_config.DTestConfig object at 0x7f0c50876ee0>
fixture_dtest_setup_overrides = <dtest_setup_overrides.DTestSetupOverrides
object at 0x7f0c50c70460>
fixture_logging_setup = None, fixture_dtest_cluster_name = 'test'
fixture_dtest_create_cluster_func = <function DTestSetup.create_ccm_cluster
at 0x7f0c510d4af0>

@pytest.fixture(scope='function', autouse=False)
def fixture_dtest_setup(request,
dtest_config,
fixture_dtest_setup_overrides,
fixture_logging_setup,
fixture_dtest_cluster_name,
fixture_dtest_create_cluster_func):
if running_in_docker():
cleanup_docker_environment_before_test_execution()

# do all of our setup operations to get the enviornment ready for the actual
test
# to run (e.g. bring up a cluster with the necessary config, populate
variables, etc)
initial_environment = copy.deepcopy(os.environ)
dtest_setup = DTestSetup(dtest_config=dtest_config,
setup_overrides=fixture_dtest_setup_overrides,
cluster_name=fixture_dtest_cluster_name)
dtest_setup.initialize_cluster(fixture_dtest_create_cluster_func)

if not dtest_config.disable_active_log_watching:
dtest_setup.begin_active_log_watch()

# at this point we're done with our setup operations in this fixture
# yield to allow the actual test to run
yield dtest_setup

# phew! we're back after executing the test, now we need to do
# all of our teardown and cleanup operations

reset_environment_vars(initial_environment)
dtest_setup.jvm_args = []

for con in dtest_setup.connections:
con.cluster.shutdown()
dtest_setup.connections = []

failed = False
try:
if not dtest_setup.allow_log_errors:
errors = check_logs_for_errors(dtest_setup)
if len(errors) > 0:
failed = True
pytest.fail(msg='Unexpected error found in node logs (see stdout for full
details). Errors: [{errors}]'
.format(errors=str.join(", ", errors)), pytrace=False)
finally:
try:
# save the logs for inspection
if failed or not dtest_config.delete_logs:
copy_logs(request, dtest_setup.cluster)
except Exception as e:
logger.error("Error saving log:", str(e))
finally:
> dtest_setup.cleanup_cluster(request)

conftest.py:352:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
_ _

self = <dtest_setup.DTestSetup object at 0x7f0c50c70a00>
request = <SubRequest 'fixture_dtest_setup' for <Function
'test_transient_full_merge_read'>>

def cleanup_cluster(self, request=None):
with log_filter('cassandra'): # quiet noise from driver when nodes start
going down
> if self.dtest_config.keep_test_dir or
(self.dtest_config.keep_failed_test_dir and request and
request.node.rep_call.failed):
E AttributeError: 'Function' object has no attribute 'rep_call'

dtest_setup.py:351: AttributeError
----------------------------------------------------------------------------
Cassandra dtests // test_alter_dc_validation // Error
test teardown failure

request = <SubRequest 'fixture_dtest_setup' for <Function
'test_alter_dc_validation'>>
dtest_config = <dtest_config.DTestConfig object at 0x7f731362d160>
fixture_dtest_setup_overrides = <dtest_setup_overrides.DTestSetupOverrides
object at 0x7f7312f8f1f0>
fixture_logging_setup = None, fixture_dtest_cluster_name = 'test'
fixture_dtest_create_cluster_func = <function DTestSetup.create_ccm_cluster
at 0x7f7313684b80>

@pytest.fixture(scope='function', autouse=False)
def fixture_dtest_setup(request,
dtest_config,
fixture_dtest_setup_overrides,
fixture_logging_setup,
fixture_dtest_cluster_name,
fixture_dtest_create_cluster_func):
if running_in_docker():
cleanup_docker_environment_before_test_execution()

# do all of our setup operations to get the enviornment ready for the actual
test
# to run (e.g. bring up a cluster with the necessary config, populate
variables, etc)
initial_environment = copy.deepcopy(os.environ)
dtest_setup = DTestSetup(dtest_config=dtest_config,
setup_overrides=fixture_dtest_setup_overrides,
cluster_name=fixture_dtest_cluster_name)
dtest_setup.initialize_cluster(fixture_dtest_create_cluster_func)

if not dtest_config.disable_active_log_watching:
dtest_setup.begin_active_log_watch()

# at this point we're done with our setup operations in this fixture
# yield to allow the actual test to run
yield dtest_setup

# phew! we're back after executing the test, now we need to do
# all of our teardown and cleanup operations

reset_environment_vars(initial_environment)
dtest_setup.jvm_args = []

for con in dtest_setup.connections:
con.cluster.shutdown()
dtest_setup.connections = []

failed = False
try:
if not dtest_setup.allow_log_errors:
errors = check_logs_for_errors(dtest_setup)
if len(errors) > 0:
failed = True
pytest.fail(msg='Unexpected error found in node logs (see stdout for full
details). Errors: [{errors}]'
.format(errors=str.join(", ", errors)), pytrace=False)
finally:
try:
# save the logs for inspection
if failed or not dtest_config.delete_logs:
copy_logs(request, dtest_setup.cluster)
except Exception as e:
logger.error("Error saving log:", str(e))
finally:
> dtest_setup.cleanup_cluster(request)

conftest.py:352:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
_ _

self = <dtest_setup.DTestSetup object at 0x7f7313029670>
request = <SubRequest 'fixture_dtest_setup' for <Function
'test_alter_dc_validation'>>

def cleanup_cluster(self, request=None):
with log_filter('cassandra'): # quiet noise from driver when nodes start
going down
> if self.dtest_config.keep_test_dir or
(self.dtest_config.keep_failed_test_dir and request and
request.node.rep_call.failed):
E AttributeError: 'Function' object has no attribute 'rep_call'

dtest_setup.py:351: AttributeError
----------------------------------------------------------------------------
Cassandra dtests // test_srp // Error
test teardown failure

request = <SubRequest 'fixture_dtest_setup' for <Function 'test_srp'>>
dtest_config = <dtest_config.DTestConfig object at 0x7f731362d160>
fixture_dtest_setup_overrides = <dtest_setup_overrides.DTestSetupOverrides
object at 0x7f73134659a0>
fixture_logging_setup = None, fixture_dtest_cluster_name = 'test'
fixture_dtest_create_cluster_func = <function DTestSetup.create_ccm_cluster
at 0x7f7313684b80>

@pytest.fixture(scope='function', autouse=False)
def fixture_dtest_setup(request,
dtest_config,
fixture_dtest_setup_overrides,
fixture_logging_setup,
fixture_dtest_cluster_name,
fixture_dtest_create_cluster_func):
if running_in_docker():
cleanup_docker_environment_before_test_execution()

# do all of our setup operations to get the enviornment ready for the actual
test
# to run (e.g. bring up a cluster with the necessary config, populate
variables, etc)
initial_environment = copy.deepcopy(os.environ)
dtest_setup = DTestSetup(dtest_config=dtest_config,
setup_overrides=fixture_dtest_setup_overrides,
cluster_name=fixture_dtest_cluster_name)
dtest_setup.initialize_cluster(fixture_dtest_create_cluster_func)

if not dtest_config.disable_active_log_watching:
dtest_setup.begin_active_log_watch()

# at this point we're done with our setup operations in this fixture
# yield to allow the actual test to run
yield dtest_setup

# phew! we're back after executing the test, now we need to do
# all of our teardown and cleanup operations

reset_environment_vars(initial_environment)
dtest_setup.jvm_args = []

for con in dtest_setup.connections:
con.cluster.shutdown()
dtest_setup.connections = []

failed = False
try:
if not dtest_setup.allow_log_errors:
errors = check_logs_for_errors(dtest_setup)
if len(errors) > 0:
failed = True
pytest.fail(msg='Unexpected error found in node logs (see stdout for full
details). Errors: [{errors}]'
.format(errors=str.join(", ", errors)), pytrace=False)
finally:
try:
# save the logs for inspection
if failed or not dtest_config.delete_logs:
copy_logs(request, dtest_setup.cluster)
except Exception as e:
logger.error("Error saving log:", str(e))
finally:
> dtest_setup.cleanup_cluster(request)

conftest.py:352:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
_ _

self = <dtest_setup.DTestSetup object at 0x7f7313465070>
request = <SubRequest 'fixture_dtest_setup' for <Function 'test_srp'>>

def cleanup_cluster(self, request=None):
with log_filter('cassandra'): # quiet noise from driver when nodes start
going down
> if self.dtest_config.keep_test_dir or
(self.dtest_config.keep_failed_test_dir and request and
request.node.rep_call.failed):
E AttributeError: 'Function' object has no attribute 'rep_call'

dtest_setup.py:351: AttributeError
----------------------------------------------------------------------------
Cassandra dtests // test_revoked_login // Error
test teardown failure

request = <SubRequest 'fixture_dtest_setup' for <Function
'test_revoked_login'>>
dtest_config = <dtest_config.DTestConfig object at 0x7f78a320ef10>
fixture_dtest_setup_overrides = <dtest_setup_overrides.DTestSetupOverrides
object at 0x7f78a321d7c0>
fixture_logging_setup = None, fixture_dtest_cluster_name = 'test'
fixture_dtest_create_cluster_func = <function DTestSetup.create_ccm_cluster
at 0x7f78a3abeb80>

@pytest.fixture(scope='function', autouse=False)
def fixture_dtest_setup(request,
dtest_config,
fixture_dtest_setup_overrides,
fixture_logging_setup,
fixture_dtest_cluster_name,
fixture_dtest_create_cluster_func):
if running_in_docker():
cleanup_docker_environment_before_test_execution()

# do all of our setup operations to get the enviornment ready for the actual
test
# to run (e.g. bring up a cluster with the necessary config, populate
variables, etc)
initial_environment = copy.deepcopy(os.environ)
dtest_setup = DTestSetup(dtest_config=dtest_config,
setup_overrides=fixture_dtest_setup_overrides,
cluster_name=fixture_dtest_cluster_name)
dtest_setup.initialize_cluster(fixture_dtest_create_cluster_func)

if not dtest_config.disable_active_log_watching:
dtest_setup.begin_active_log_watch()

# at this point we're done with our setup operations in this fixture
# yield to allow the actual test to run
yield dtest_setup

# phew! we're back after executing the test, now we need to do
# all of our teardown and cleanup operations

reset_environment_vars(initial_environment)
dtest_setup.jvm_args = []

for con in dtest_setup.connections:
con.cluster.shutdown()
dtest_setup.connections = []

failed = False
try:
if not dtest_setup.allow_log_errors:
errors = check_logs_for_errors(dtest_setup)
if len(errors) > 0:
failed = True
pytest.fail(msg='Unexpected error found in node logs (see stdout for full
details). Errors: [{errors}]'
.format(errors=str.join(", ", errors)), pytrace=False)
finally:
try:
# save the logs for inspection
if failed or not dtest_config.delete_logs:
copy_logs(request, dtest_setup.cluster)
except Exception as e:
logger.error("Error saving log:", str(e))
finally:
> dtest_setup.cleanup_cluster(request)

conftest.py:352:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
_ _

self = <dtest_setup.DTestSetup object at 0x7f78a39e4cd0>
request = <SubRequest 'fixture_dtest_setup' for <Function
'test_revoked_login'>>

def cleanup_cluster(self, request=None):
with log_filter('cassandra'): # quiet noise from driver when nodes start
going down
> if self.dtest_config.keep_test_dir or
(self.dtest_config.keep_failed_test_dir and request and
request.node.rep_call.failed):
E AttributeError: 'Function' object has no attribute 'rep_call'

dtest_setup.py:351: AttributeError
----------------------------------------------------------------------------
Cassandra dtests // test_set_get_concurrent_view_builders // Error
test teardown failure

request = <SubRequest 'fixture_dtest_setup' for <Function
'test_set_get_concurrent_view_builders'>>
dtest_config = <dtest_config.DTestConfig object at 0x7f78a320ef10>
fixture_dtest_setup_overrides = <dtest_setup_overrides.DTestSetupOverrides
object at 0x7f78a298d7f0>
fixture_logging_setup = None, fixture_dtest_cluster_name = 'test'
fixture_dtest_create_cluster_func = <function DTestSetup.create_ccm_cluster
at 0x7f78a3abeb80>

@pytest.fixture(scope='function', autouse=False)
def fixture_dtest_setup(request,
dtest_config,
fixture_dtest_setup_overrides,
fixture_logging_setup,
fixture_dtest_cluster_name,
fixture_dtest_create_cluster_func):
if running_in_docker():
cleanup_docker_environment_before_test_execution()

# do all of our setup operations to get the enviornment ready for the actual
test
# to run (e.g. bring up a cluster with the necessary config, populate
variables, etc)
initial_environment = copy.deepcopy(os.environ)
dtest_setup = DTestSetup(dtest_config=dtest_config,
setup_overrides=fixture_dtest_setup_overrides,
cluster_name=fixture_dtest_cluster_name)
dtest_setup.initialize_cluster(fixture_dtest_create_cluster_func)

if not dtest_config.disable_active_log_watching:
dtest_setup.begin_active_log_watch()

# at this point we're done with our setup operations in this fixture
# yield to allow the actual test to run
yield dtest_setup

# phew! we're back after executing the test, now we need to do
# all of our teardown and cleanup operations

reset_environment_vars(initial_environment)
dtest_setup.jvm_args = []

for con in dtest_setup.connections:
con.cluster.shutdown()
dtest_setup.connections = []

failed = False
try:
if not dtest_setup.allow_log_errors:
errors = check_logs_for_errors(dtest_setup)
if len(errors) > 0:
failed = True
pytest.fail(msg='Unexpected error found in node logs (see stdout for full
details). Errors: [{errors}]'
.format(errors=str.join(", ", errors)), pytrace=False)
finally:
try:
# save the logs for inspection
if failed or not dtest_config.delete_logs:
copy_logs(request, dtest_setup.cluster)
except Exception as e:
logger.error("Error saving log:", str(e))
finally:
> dtest_setup.cleanup_cluster(request)

conftest.py:352:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
_ _

self = <dtest_setup.DTestSetup object at 0x7f78a38b4520>
request = <SubRequest 'fixture_dtest_setup' for <Function
'test_set_get_concurrent_view_builders'>>

def cleanup_cluster(self, request=None):
with log_filter('cassandra'): # quiet noise from driver when nodes start
going down
> if self.dtest_config.keep_test_dir or
(self.dtest_config.keep_failed_test_dir and request and
request.node.rep_call.failed):
E AttributeError: 'Function' object has no attribute 'rep_call'

dtest_setup.py:351: AttributeError
----------------------------------------------------------------------------
Cassandra dtests // test_rf_collapse_yaml_file_snitch // Error
test teardown failure

request = <SubRequest 'fixture_dtest_setup' for <Function
'test_rf_collapse_yaml_file_snitch'>>
dtest_config = <dtest_config.DTestConfig object at 0x7f78a320ef10>
fixture_dtest_setup_overrides = <dtest_setup_overrides.DTestSetupOverrides
object at 0x7f78a36d1d00>
fixture_logging_setup = None, fixture_dtest_cluster_name = 'test'
fixture_dtest_create_cluster_func = <function DTestSetup.create_ccm_cluster
at 0x7f78a3abeb80>

@pytest.fixture(scope='function', autouse=False)
def fixture_dtest_setup(request,
dtest_config,
fixture_dtest_setup_overrides,
fixture_logging_setup,
fixture_dtest_cluster_name,
fixture_dtest_create_cluster_func):
if running_in_docker():
cleanup_docker_environment_before_test_execution()

# do all of our setup operations to get the enviornment ready for the actual
test
# to run (e.g. bring up a cluster with the necessary config, populate
variables, etc)
initial_environment = copy.deepcopy(os.environ)
dtest_setup = DTestSetup(dtest_config=dtest_config,
setup_overrides=fixture_dtest_setup_overrides,
cluster_name=fixture_dtest_cluster_name)
dtest_setup.initialize_cluster(fixture_dtest_create_cluster_func)

if not dtest_config.disable_active_log_watching:
dtest_setup.begin_active_log_watch()

# at this point we're done with our setup operations in this fixture
# yield to allow the actual test to run
yield dtest_setup

# phew! we're back after executing the test, now we need to do
# all of our teardown and cleanup operations

reset_environment_vars(initial_environment)
dtest_setup.jvm_args = []

for con in dtest_setup.connections:
con.cluster.shutdown()
dtest_setup.connections = []

failed = False
try:
if not dtest_setup.allow_log_errors:
errors = check_logs_for_errors(dtest_setup)
if len(errors) > 0:
failed = True
pytest.fail(msg='Unexpected error found in node logs (see stdout for full
details). Errors: [{errors}]'
.format(errors=str.join(", ", errors)), pytrace=False)
finally:
try:
# save the logs for inspection
if failed or not dtest_config.delete_logs:
copy_logs(request, dtest_setup.cluster)
except Exception as e:
logger.error("Error saving log:", str(e))
finally:
> dtest_setup.cleanup_cluster(request)

conftest.py:352:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
_ _

self = <dtest_setup.DTestSetup object at 0x7f78a29a89d0>
request = <SubRequest 'fixture_dtest_setup' for <Function
'test_rf_collapse_yaml_file_snitch'>>

def cleanup_cluster(self, request=None):
with log_filter('cassandra'): # quiet noise from driver when nodes start
going down
> if self.dtest_config.keep_test_dir or
(self.dtest_config.keep_failed_test_dir and request and
request.node.rep_call.failed):
E AttributeError: 'Function' object has no attribute 'rep_call'

dtest_setup.py:351: AttributeError
----------------------------------------------------------------------------
Cassandra dtests /
/ test_transient_full_merge_read_with_delete_transient_coordinator // Error
test teardown failure

request = <SubRequest 'fixture_dtest_setup' for <Function
'test_transient_full_merge_read_with_delete_transient_coordinator'>>
dtest_config = <dtest_config.DTestConfig object at 0x7f78a320ef10>
fixture_dtest_setup_overrides = <dtest_setup_overrides.DTestSetupOverrides
object at 0x7f78a38b6ee0>
fixture_logging_setup = None, fixture_dtest_cluster_name = 'test'
fixture_dtest_create_cluster_func = <function DTestSetup.create_ccm_cluster
at 0x7f78a3abeb80>

@pytest.fixture(scope='function', autouse=False)
def fixture_dtest_setup(request,
dtest_config,
fixture_dtest_setup_overrides,
fixture_logging_setup,
fixture_dtest_cluster_name,
fixture_dtest_create_cluster_func):
if running_in_docker():
cleanup_docker_environment_before_test_execution()

# do all of our setup operations to get the enviornment ready for the actual
test
# to run (e.g. bring up a cluster with the necessary config, populate
variables, etc)
initial_environment = copy.deepcopy(os.environ)
dtest_setup = DTestSetup(dtest_config=dtest_config,
setup_overrides=fixture_dtest_setup_overrides,
cluster_name=fixture_dtest_cluster_name)
dtest_setup.initialize_cluster(fixture_dtest_create_cluster_func)

if not dtest_config.disable_active_log_watching:
dtest_setup.begin_active_log_watch()

# at this point we're done with our setup operations in this fixture
# yield to allow the actual test to run
yield dtest_setup

# phew! we're back after executing the test, now we need to do
# all of our teardown and cleanup operations

reset_environment_vars(initial_environment)
dtest_setup.jvm_args = []

for con in dtest_setup.connections:
con.cluster.shutdown()
dtest_setup.connections = []

failed = False
try:
if not dtest_setup.allow_log_errors:
errors = check_logs_for_errors(dtest_setup)
if len(errors) > 0:
failed = True
pytest.fail(msg='Unexpected error found in node logs (see stdout for full
details). Errors: [{errors}]'
.format(errors=str.join(", ", errors)), pytrace=False)
finally:
try:
# save the logs for inspection
if failed or not dtest_config.delete_logs:
copy_logs(request, dtest_setup.cluster)
except Exception as e:
logger.error("Error saving log:", str(e))
finally:
> dtest_setup.cleanup_cluster(request)

conftest.py:352:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
_ _

self = <dtest_setup.DTestSetup object at 0x7f78a28b16a0>
request = <SubRequest 'fixture_dtest_setup' for <Function
'test_transient_full_merge_read_with_delete_transient_coordinator'>>

def cleanup_cluster(self, request=None):
with log_filter('cassandra'): # quiet noise from driver when nodes start
going down
> if self.dtest_config.keep_test_dir or
(self.dtest_config.keep_failed_test_dir and request and
request.node.rep_call.failed):
E AttributeError: 'Function' object has no attribute 'rep_call'

dtest_setup.py:351: AttributeError
----------------------------------------------------------------------------
Cassandra dtests // test_describecluster_more_information_three_datacenters
// Error
test teardown failure

request = <SubRequest 'fixture_dtest_setup' for <Function
'test_describecluster_more_information_three_datacenters'>>
dtest_config = <dtest_config.DTestConfig object at 0x7f1ba0cd2880>
fixture_dtest_setup_overrides = <dtest_setup_overrides.DTestSetupOverrides
object at 0x7f1ba03990a0>
fixture_logging_setup = None, fixture_dtest_cluster_name = 'test'
fixture_dtest_create_cluster_func = <function DTestSetup.create_ccm_cluster
at 0x7f1ba1542b80>

@pytest.fixture(scope='function', autouse=False)
def fixture_dtest_setup(request,
dtest_config,
fixture_dtest_setup_overrides,
fixture_logging_setup,
fixture_dtest_cluster_name,
fixture_dtest_create_cluster_func):
if running_in_docker():
cleanup_docker_environment_before_test_execution()

# do all of our setup operations to get the enviornment ready for the actual
test
# to run (e.g. bring up a cluster with the necessary config, populate
variables, etc)
initial_environment = copy.deepcopy(os.environ)
dtest_setup = DTestSetup(dtest_config=dtest_config,
setup_overrides=fixture_dtest_setup_overrides,
cluster_name=fixture_dtest_cluster_name)
dtest_setup.initialize_cluster(fixture_dtest_create_cluster_func)

if not dtest_config.disable_active_log_watching:
dtest_setup.begin_active_log_watch()

# at this point we're done with our setup operations in this fixture
# yield to allow the actual test to run
yield dtest_setup

# phew! we're back after executing the test, now we need to do
# all of our teardown and cleanup operations

reset_environment_vars(initial_environment)
dtest_setup.jvm_args = []

for con in dtest_setup.connections:
con.cluster.shutdown()
dtest_setup.connections = []

failed = False
try:
if not dtest_setup.allow_log_errors:
errors = check_logs_for_errors(dtest_setup)
if len(errors) > 0:
failed = True
pytest.fail(msg='Unexpected error found in node logs (see stdout for full
details). Errors: [{errors}]'
.format(errors=str.join(", ", errors)), pytrace=False)
finally:
try:
# save the logs for inspection
if failed or not dtest_config.delete_logs:
copy_logs(request, dtest_setup.cluster)
except Exception as e:
logger.error("Error saving log:", str(e))
finally:
> dtest_setup.cleanup_cluster(request)

conftest.py:352:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
_ _

self = <dtest_setup.DTestSetup object at 0x7f1ba036b340>
request = <SubRequest 'fixture_dtest_setup' for <Function
'test_describecluster_more_information_three_datacenters'>>

def cleanup_cluster(self, request=None):
with log_filter('cassandra'): # quiet noise from driver when nodes start
going down
> if self.dtest_config.keep_test_dir or
(self.dtest_config.keep_failed_test_dir and request and
request.node.rep_call.failed):
E AttributeError: 'Function' object has no attribute 'rep_call'

dtest_setup.py:351: AttributeError
----------------------------------------------------------------------------
Cassandra dtests // test_rf_expand_yaml_file_snitch // Error
test teardown failure

request = <SubRequest 'fixture_dtest_setup' for <Function
'test_rf_expand_yaml_file_snitch'>>
dtest_config = <dtest_config.DTestConfig object at 0x7f1ba0cd2880>
fixture_dtest_setup_overrides = <dtest_setup_overrides.DTestSetupOverrides
object at 0x7f1ba0e6d9d0>
fixture_logging_setup = None, fixture_dtest_cluster_name = 'test'
fixture_dtest_create_cluster_func = <function DTestSetup.create_ccm_cluster
at 0x7f1ba1542b80>

@pytest.fixture(scope='function', autouse=False)
def fixture_dtest_setup(request,
dtest_config,
fixture_dtest_setup_overrides,
fixture_logging_setup,
fixture_dtest_cluster_name,
fixture_dtest_create_cluster_func):
if running_in_docker():
cleanup_docker_environment_before_test_execution()

# do all of our setup operations to get the enviornment ready for the actual
test
# to run (e.g. bring up a cluster with the necessary config, populate
variables, etc)
initial_environment = copy.deepcopy(os.environ)
dtest_setup = DTestSetup(dtest_config=dtest_config,
setup_overrides=fixture_dtest_setup_overrides,
cluster_name=fixture_dtest_cluster_name)
dtest_setup.initialize_cluster(fixture_dtest_create_cluster_func)

if not dtest_config.disable_active_log_watching:
dtest_setup.begin_active_log_watch()

# at this point we're done with our setup operations in this fixture
# yield to allow the actual test to run
yield dtest_setup

# phew! we're back after executing the test, now we need to do
# all of our teardown and cleanup operations

reset_environment_vars(initial_environment)
dtest_setup.jvm_args = []

for con in dtest_setup.connections:
con.cluster.shutdown()
dtest_setup.connections = []

failed = False
try:
if not dtest_setup.allow_log_errors:
errors = check_logs_for_errors(dtest_setup)
if len(errors) > 0:
failed = True
pytest.fail(msg='Unexpected error found in node logs (see stdout for full
details). Errors: [{errors}]'
.format(errors=str.join(", ", errors)), pytrace=False)
finally:
try:
# save the logs for inspection
if failed or not dtest_config.delete_logs:
copy_logs(request, dtest_setup.cluster)
except Exception as e:
logger.error("Error saving log:", str(e))
finally:
> dtest_setup.cleanup_cluster(request)

conftest.py:352:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
_ _

self = <dtest_setup.DTestSetup object at 0x7f1ba12ab3d0>
request = <SubRequest 'fixture_dtest_setup' for <Function
'test_rf_expand_yaml_file_snitch'>>

def cleanup_cluster(self, request=None):
with log_filter('cassandra'): # quiet noise from driver when nodes start
going down
> if self.dtest_config.keep_test_dir or
(self.dtest_config.keep_failed_test_dir and request and
request.node.rep_call.failed):
E AttributeError: 'Function' object has no attribute 'rep_call'

dtest_setup.py:351: AttributeError
----------------------------------------------------------------------------
Cassandra dtests /
/ test_transient_full_merge_read_with_delete_full_coordinator // Error
test teardown failure

request = <SubRequest 'fixture_dtest_setup' for <Function
'test_transient_full_merge_read_with_delete_full_coordinator'>>
dtest_config = <dtest_config.DTestConfig object at 0x7f1ba0cd2880>
fixture_dtest_setup_overrides = <dtest_setup_overrides.DTestSetupOverrides
object at 0x7f1b9bff2640>
fixture_logging_setup = None, fixture_dtest_cluster_name = 'test'
fixture_dtest_create_cluster_func = <function DTestSetup.create_ccm_cluster
at 0x7f1ba1542b80>

@pytest.fixture(scope='function', autouse=False)
def fixture_dtest_setup(request,
dtest_config,
fixture_dtest_setup_overrides,
fixture_logging_setup,
fixture_dtest_cluster_name,
fixture_dtest_create_cluster_func):
if running_in_docker():
cleanup_docker_environment_before_test_execution()

# do all of our setup operations to get the enviornment ready for the actual
test
# to run (e.g. bring up a cluster with the necessary config, populate
variables, etc)
initial_environment = copy.deepcopy(os.environ)
dtest_setup = DTestSetup(dtest_config=dtest_config,
setup_overrides=fixture_dtest_setup_overrides,
cluster_name=fixture_dtest_cluster_name)
dtest_setup.initialize_cluster(fixture_dtest_create_cluster_func)

if not dtest_config.disable_active_log_watching:
dtest_setup.begin_active_log_watch()

# at this point we're done with our setup operations in this fixture
# yield to allow the actual test to run
yield dtest_setup

# phew! we're back after executing the test, now we need to do
# all of our teardown and cleanup operations

reset_environment_vars(initial_environment)
dtest_setup.jvm_args = []

for con in dtest_setup.connections:
con.cluster.shutdown()
dtest_setup.connections = []

failed = False
try:
if not dtest_setup.allow_log_errors:
errors = check_logs_for_errors(dtest_setup)
if len(errors) > 0:
failed = True
pytest.fail(msg='Unexpected error found in node logs (see stdout for full
details). Errors: [{errors}]'
.format(errors=str.join(", ", errors)), pytrace=False)
finally:
try:
# save the logs for inspection
if failed or not dtest_config.delete_logs:
copy_logs(request, dtest_setup.cluster)
except Exception as e:
logger.error("Error saving log:", str(e))
finally:
> dtest_setup.cleanup_cluster(request)

conftest.py:352:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
_ _

self = <dtest_setup.DTestSetup object at 0x7f1b9bff9a30>
request = <SubRequest 'fixture_dtest_setup' for <Function
'test_transient_full_merge_read_with_delete_full_coordinator'>>

def cleanup_cluster(self, request=None):
with log_filter('cassandra'): # quiet noise from driver when nodes start
going down
> if self.dtest_config.keep_test_dir or
(self.dtest_config.keep_failed_test_dir and request and
request.node.rep_call.failed):
E AttributeError: 'Function' object has no attribute 'rep_call'

dtest_setup.py:351: AttributeError
----------------------------------------------------------------------------
Cassandra dtests // test_archive_on_startup // Error
test teardown failure

request = <SubRequest 'fixture_dtest_setup' for <Function
'test_archive_on_startup'>>
dtest_config = <dtest_config.DTestConfig object at 0x7fa393d60a30>
fixture_dtest_setup_overrides = <dtest_setup_overrides.DTestSetupOverrides
object at 0x7fa393d60ca0>
fixture_logging_setup = None, fixture_dtest_cluster_name = 'test'
fixture_dtest_create_cluster_func = <function DTestSetup.create_ccm_cluster
at 0x7fa394656b80>

@pytest.fixture(scope='function', autouse=False)
def fixture_dtest_setup(request,
dtest_config,
fixture_dtest_setup_overrides,
fixture_logging_setup,
fixture_dtest_cluster_name,
fixture_dtest_create_cluster_func):
if running_in_docker():
cleanup_docker_environment_before_test_execution()

# do all of our setup operations to get the enviornment ready for the actual
test
# to run (e.g. bring up a cluster with the necessary config, populate
variables, etc)
initial_environment = copy.deepcopy(os.environ)
dtest_setup = DTestSetup(dtest_config=dtest_config,
setup_overrides=fixture_dtest_setup_overrides,
cluster_name=fixture_dtest_cluster_name)
dtest_setup.initialize_cluster(fixture_dtest_create_cluster_func)

if not dtest_config.disable_active_log_watching:
dtest_setup.begin_active_log_watch()

# at this point we're done with our setup operations in this fixture
# yield to allow the actual test to run
yield dtest_setup

# phew! we're back after executing the test, now we need to do
# all of our teardown and cleanup operations

reset_environment_vars(initial_environment)
dtest_setup.jvm_args = []

for con in dtest_setup.connections:
con.cluster.shutdown()
dtest_setup.connections = []

failed = False
try:
if not dtest_setup.allow_log_errors:
errors = check_logs_for_errors(dtest_setup)
if len(errors) > 0:
failed = True
pytest.fail(msg='Unexpected error found in node logs (see stdout for full
details). Errors: [{errors}]'
.format(errors=str.join(", ", errors)), pytrace=False)
finally:
try:
# save the logs for inspection
if failed or not dtest_config.delete_logs:
copy_logs(request, dtest_setup.cluster)
except Exception as e:
logger.error("Error saving log:", str(e))
finally:
> dtest_setup.cleanup_cluster(request)

conftest.py:352:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
_ _

self = <dtest_setup.DTestSetup object at 0x7fa393d60250>
request = <SubRequest 'fixture_dtest_setup' for <Function
'test_archive_on_startup'>>

def cleanup_cluster(self, request=None):
with log_filter('cassandra'): # quiet noise from driver when nodes start
going down
> if self.dtest_config.keep_test_dir or
(self.dtest_config.keep_failed_test_dir and request and
request.node.rep_call.failed):
E AttributeError: 'Function' object has no attribute 'rep_call'

dtest_setup.py:351: AttributeError
----------------------------------------------------------------------------
Cassandra dtests // test_set_get_batchlog_replay_throttle // Error
test teardown failure

request = <SubRequest 'fixture_dtest_setup' for <Function
'test_set_get_batchlog_replay_throttle'>>
dtest_config = <dtest_config.DTestConfig object at 0x7fa393d60a30>
fixture_dtest_setup_overrides = <dtest_setup_overrides.DTestSetupOverrides
object at 0x7fa3943de070>
fixture_logging_setup = None, fixture_dtest_cluster_name = 'test'
fixture_dtest_create_cluster_func = <function DTestSetup.create_ccm_cluster
at 0x7fa394656b80>

@pytest.fixture(scope='function', autouse=False)
def fixture_dtest_setup(request,
dtest_config,
fixture_dtest_setup_overrides,
fixture_logging_setup,
fixture_dtest_cluster_name,
fixture_dtest_create_cluster_func):
if running_in_docker():
cleanup_docker_environment_before_test_execution()

# do all of our setup operations to get the enviornment ready for the actual
test
# to run (e.g. bring up a cluster with the necessary config, populate
variables, etc)
initial_environment = copy.deepcopy(os.environ)
dtest_setup = DTestSetup(dtest_config=dtest_config,
setup_overrides=fixture_dtest_setup_overrides,
cluster_name=fixture_dtest_cluster_name)
dtest_setup.initialize_cluster(fixture_dtest_create_cluster_func)

if not dtest_config.disable_active_log_watching:
dtest_setup.begin_active_log_watch()

# at this point we're done with our setup operations in this fixture
# yield to allow the actual test to run
yield dtest_setup

# phew! we're back after executing the test, now we need to do
# all of our teardown and cleanup operations

reset_environment_vars(initial_environment)
dtest_setup.jvm_args = []

for con in dtest_setup.connections:
con.cluster.shutdown()
dtest_setup.connections = []

failed = False
try:
if not dtest_setup.allow_log_errors:
errors = check_logs_for_errors(dtest_setup)
if len(errors) > 0:
failed = True
pytest.fail(msg='Unexpected error found in node logs (see stdout for full
details). Errors: [{errors}]'
.format(errors=str.join(", ", errors)), pytrace=False)
finally:
try:
# save the logs for inspection
if failed or not dtest_config.delete_logs:
copy_logs(request, dtest_setup.cluster)
except Exception as e:
logger.error("Error saving log:", str(e))
finally:
> dtest_setup.cleanup_cluster(request)

conftest.py:352:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
_ _

self = <dtest_setup.DTestSetup object at 0x7fa3943de760>
request = <SubRequest 'fixture_dtest_setup' for <Function
'test_set_get_batchlog_replay_throttle'>>

def cleanup_cluster(self, request=None):
with log_filter('cassandra'): # quiet noise from driver when nodes start
going down
> if self.dtest_config.keep_test_dir or
(self.dtest_config.keep_failed_test_dir and request and
request.node.rep_call.failed):
E AttributeError: 'Function' object has no attribute 'rep_call'

dtest_setup.py:351: AttributeError
----------------------------------------------------------------------------
Cassandra dtests // test_sjk // Error
test teardown failure

request = <SubRequest 'fixture_dtest_setup' for <Function 'test_sjk'>>
dtest_config = <dtest_config.DTestConfig object at 0x7fef45054730>
fixture_dtest_setup_overrides = <dtest_setup_overrides.DTestSetupOverrides
object at 0x7fef447835e0>
fixture_logging_setup = None, fixture_dtest_cluster_name = 'test'
fixture_dtest_create_cluster_func = <function DTestSetup.create_ccm_cluster
at 0x7fef45880af0>

@pytest.fixture(scope='function', autouse=False)
def fixture_dtest_setup(request,
dtest_config,
fixture_dtest_setup_overrides,
fixture_logging_setup,
fixture_dtest_cluster_name,
fixture_dtest_create_cluster_func):
if running_in_docker():
cleanup_docker_environment_before_test_execution()

# do all of our setup operations to get the enviornment ready for the actual
test
# to run (e.g. bring up a cluster with the necessary config, populate
variables, etc)
initial_environment = copy.deepcopy(os.environ)
dtest_setup = DTestSetup(dtest_config=dtest_config,
setup_overrides=fixture_dtest_setup_overrides,
cluster_name=fixture_dtest_cluster_name)
dtest_setup.initialize_cluster(fixture_dtest_create_cluster_func)

if not dtest_config.disable_active_log_watching:
dtest_setup.begin_active_log_watch()

# at this point we're done with our setup operations in this fixture
# yield to allow the actual test to run
yield dtest_setup

# phew! we're back after executing the test, now we need to do
# all of our teardown and cleanup operations

reset_environment_vars(initial_environment)
dtest_setup.jvm_args = []

for con in dtest_setup.connections:
con.cluster.shutdown()
dtest_setup.connections = []

failed = False
try:
if not dtest_setup.allow_log_errors:
errors = check_logs_for_errors(dtest_setup)
if len(errors) > 0:
failed = True
pytest.fail(msg='Unexpected error found in node logs (see stdout for full
details). Errors: [{errors}]'
.format(errors=str.join(", ", errors)), pytrace=False)
finally:
try:
# save the logs for inspection
if failed or not dtest_config.delete_logs:
copy_logs(request, dtest_setup.cluster)
except Exception as e:
logger.error("Error saving log:", str(e))
finally:
> dtest_setup.cleanup_cluster(request)

conftest.py:352:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
_ _

self = <dtest_setup.DTestSetup object at 0x7fef456214c0>
request = <SubRequest 'fixture_dtest_setup' for <Function 'test_sjk'>>

def cleanup_cluster(self, request=None):
with log_filter('cassandra'): # quiet noise from driver when nodes start
going down
> if self.dtest_config.keep_test_dir or
(self.dtest_config.keep_failed_test_dir and request and
request.node.rep_call.failed):
E AttributeError: 'Function' object has no attribute 'rep_call'

dtest_setup.py:351: AttributeError
----------------------------------------------------------------------------
Cassandra dtests // test_cheap_quorums // Error
test teardown failure

request = <SubRequest 'fixture_dtest_setup' for <Function
'test_cheap_quorums'>>
dtest_config = <dtest_config.DTestConfig object at 0x7fef45054730>
fixture_dtest_setup_overrides = <dtest_setup_overrides.DTestSetupOverrides
object at 0x7fef3da1aac0>
fixture_logging_setup = None, fixture_dtest_cluster_name = 'test'
fixture_dtest_create_cluster_func = <function DTestSetup.create_ccm_cluster
at 0x7fef45880af0>

@pytest.fixture(scope='function', autouse=False)
def fixture_dtest_setup(request,
dtest_config,
fixture_dtest_setup_overrides,
fixture_logging_setup,
fixture_dtest_cluster_name,
fixture_dtest_create_cluster_func):
if running_in_docker():
cleanup_docker_environment_before_test_execution()

# do all of our setup operations to get the enviornment ready for the actual
test
# to run (e.g. bring up a cluster with the necessary config, populate
variables, etc)
initial_environment = copy.deepcopy(os.environ)
dtest_setup = DTestSetup(dtest_config=dtest_config,
setup_overrides=fixture_dtest_setup_overrides,
cluster_name=fixture_dtest_cluster_name)
dtest_setup.initialize_cluster(fixture_dtest_create_cluster_func)

if not dtest_config.disable_active_log_watching:
dtest_setup.begin_active_log_watch()

# at this point we're done with our setup operations in this fixture
# yield to allow the actual test to run
yield dtest_setup

# phew! we're back after executing the test, now we need to do
# all of our teardown and cleanup operations

reset_environment_vars(initial_environment)
dtest_setup.jvm_args = []

for con in dtest_setup.connections:
con.cluster.shutdown()
dtest_setup.connections = []

failed = False
try:
if not dtest_setup.allow_log_errors:
errors = check_logs_for_errors(dtest_setup)
if len(errors) > 0:
failed = True
pytest.fail(msg='Unexpected error found in node logs (see stdout for full
details). Errors: [{errors}]'
.format(errors=str.join(", ", errors)), pytrace=False)
finally:
try:
# save the logs for inspection
if failed or not dtest_config.delete_logs:
copy_logs(request, dtest_setup.cluster)
except Exception as e:
logger.error("Error saving log:", str(e))
finally:
> dtest_setup.cleanup_cluster(request)

conftest.py:352:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
_ _

self = <dtest_setup.DTestSetup object at 0x7fef4520ce50>
request = <SubRequest 'fixture_dtest_setup' for <Function
'test_cheap_quorums'>>

def cleanup_cluster(self, request=None):
with log_filter('cassandra'): # quiet noise from driver when nodes start
going down
> if self.dtest_config.keep_test_dir or
(self.dtest_config.keep_failed_test_dir and request and
request.node.rep_call.failed):
E AttributeError: 'Function' object has no attribute 'rep_call'

dtest_setup.py:351: AttributeError
----------------------------------------------------------------------------
Cassandra dtests // test_speculative_write // Error
test teardown failure

request = <SubRequest 'fixture_dtest_setup' for <Function
'test_speculative_write'>>
dtest_config = <dtest_config.DTestConfig object at 0x7f6a79183760>
fixture_dtest_setup_overrides = <dtest_setup_overrides.DTestSetupOverrides
object at 0x7f6a7890adf0>
fixture_logging_setup = None, fixture_dtest_cluster_name = 'test'
fixture_dtest_create_cluster_func = <function DTestSetup.create_ccm_cluster
at 0x7f6a79998a60>

@pytest.fixture(scope='function', autouse=False)
def fixture_dtest_setup(request,
dtest_config,
fixture_dtest_setup_overrides,
fixture_logging_setup,
fixture_dtest_cluster_name,
fixture_dtest_create_cluster_func):
if running_in_docker():
cleanup_docker_environment_before_test_execution()

# do all of our setup operations to get the enviornment ready for the actual
test
# to run (e.g. bring up a cluster with the necessary config, populate
variables, etc)
initial_environment = copy.deepcopy(os.environ)
dtest_setup = DTestSetup(dtest_config=dtest_config,
setup_overrides=fixture_dtest_setup_overrides,
cluster_name=fixture_dtest_cluster_name)
dtest_setup.initialize_cluster(fixture_dtest_create_cluster_func)

if not dtest_config.disable_active_log_watching:
dtest_setup.begin_active_log_watch()

# at this point we're done with our setup operations in this fixture
# yield to allow the actual test to run
yield dtest_setup

# phew! we're back after executing the test, now we need to do
# all of our teardown and cleanup operations

reset_environment_vars(initial_environment)
dtest_setup.jvm_args = []

for con in dtest_setup.connections:
con.cluster.shutdown()
dtest_setup.connections = []

failed = False
try:
if not dtest_setup.allow_log_errors:
errors = check_logs_for_errors(dtest_setup)
if len(errors) > 0:
failed = True
pytest.fail(msg='Unexpected error found in node logs (see stdout for full
details). Errors: [{errors}]'
.format(errors=str.join(", ", errors)), pytrace=False)
finally:
try:
# save the logs for inspection
if failed or not dtest_config.delete_logs:
copy_logs(request, dtest_setup.cluster)
except Exception as e:
logger.error("Error saving log:", str(e))
finally:
> dtest_setup.cleanup_cluster(request)

conftest.py:352:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
_ _

self = <dtest_setup.DTestSetup object at 0x7f6a7890af40>
request = <SubRequest 'fixture_dtest_setup' for <Function
'test_speculative_write'>>

def cleanup_cluster(self, request=None):
with log_filter('cassandra'): # quiet noise from driver when nodes start
going down
> if self.dtest_config.keep_test_dir or
(self.dtest_config.keep_failed_test_dir and request and
request.node.rep_call.failed):
E AttributeError: 'Function' object has no attribute 'rep_call'

dtest_setup.py:351: AttributeError
----------------------------------------------------------------------------
Cassandra dtests // test_failed_snitch_update_yaml_file_snitch // Error
test teardown failure

request = <SubRequest 'fixture_dtest_setup' for <Function
'test_failed_snitch_update_yaml_file_snitch'>>
dtest_config = <dtest_config.DTestConfig object at 0x7fe53de3dd00>
fixture_dtest_setup_overrides = <dtest_setup_overrides.DTestSetupOverrides
object at 0x7fe53d290dc0>
fixture_logging_setup = None, fixture_dtest_cluster_name = 'test'
fixture_dtest_create_cluster_func = <function DTestSetup.create_ccm_cluster
at 0x7fe53e674a60>

@pytest.fixture(scope='function', autouse=False)
def fixture_dtest_setup(request,
dtest_config,
fixture_dtest_setup_overrides,
fixture_logging_setup,
fixture_dtest_cluster_name,
fixture_dtest_create_cluster_func):
if running_in_docker():
cleanup_docker_environment_before_test_execution()

# do all of our setup operations to get the enviornment ready for the actual
test
# to run (e.g. bring up a cluster with the necessary config, populate
variables, etc)
initial_environment = copy.deepcopy(os.environ)
dtest_setup = DTestSetup(dtest_config=dtest_config,
setup_overrides=fixture_dtest_setup_overrides,
cluster_name=fixture_dtest_cluster_name)
dtest_setup.initialize_cluster(fixture_dtest_create_cluster_func)

if not dtest_config.disable_active_log_watching:
dtest_setup.begin_active_log_watch()

# at this point we're done with our setup operations in this fixture
# yield to allow the actual test to run
yield dtest_setup

# phew! we're back after executing the test, now we need to do
# all of our teardown and cleanup operations

reset_environment_vars(initial_environment)
dtest_setup.jvm_args = []

for con in dtest_setup.connections:
con.cluster.shutdown()
dtest_setup.connections = []

failed = False
try:
if not dtest_setup.allow_log_errors:
errors = check_logs_for_errors(dtest_setup)
if len(errors) > 0:
failed = True
pytest.fail(msg='Unexpected error found in node logs (see stdout for full
details). Errors: [{errors}]'
.format(errors=str.join(", ", errors)), pytrace=False)
finally:
try:
# save the logs for inspection
if failed or not dtest_config.delete_logs:
copy_logs(request, dtest_setup.cluster)
except Exception as e:
logger.error("Error saving log:", str(e))
finally:
> dtest_setup.cleanup_cluster(request)

conftest.py:352:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
_ _

self = <dtest_setup.DTestSetup object at 0x7fe53e418370>
request = <SubRequest 'fixture_dtest_setup' for <Function
'test_failed_snitch_update_yaml_file_snitch'>>

def cleanup_cluster(self, request=None):
with log_filter('cassandra'): # quiet noise from driver when nodes start
going down
> if self.dtest_config.keep_test_dir or
(self.dtest_config.keep_failed_test_dir and request and
request.node.rep_call.failed):
E AttributeError: 'Function' object has no attribute 'rep_call'

dtest_setup.py:351: AttributeError
----------------------------------------------------------------------------
Cassandra dtests // test_speculative_write_repair_cycle // Error
test teardown failure

request = <SubRequest 'fixture_dtest_setup' for <Function
'test_speculative_write_repair_cycle'>>
dtest_config = <dtest_config.DTestConfig object at 0x7fe53de3dd00>
fixture_dtest_setup_overrides = <dtest_setup_overrides.DTestSetupOverrides
object at 0x7fe53df49e50>
fixture_logging_setup = None, fixture_dtest_cluster_name = 'test'
fixture_dtest_create_cluster_func = <function DTestSetup.create_ccm_cluster
at 0x7fe53e674a60>

@pytest.fixture(scope='function', autouse=False)
def fixture_dtest_setup(request,
dtest_config,
fixture_dtest_setup_overrides,
fixture_logging_setup,
fixture_dtest_cluster_name,
fixture_dtest_create_cluster_func):
if running_in_docker():
cleanup_docker_environment_before_test_execution()

# do all of our setup operations to get the enviornment ready for the actual
test
# to run (e.g. bring up a cluster with the necessary config, populate
variables, etc)
initial_environment = copy.deepcopy(os.environ)
dtest_setup = DTestSetup(dtest_config=dtest_config,
setup_overrides=fixture_dtest_setup_overrides,
cluster_name=fixture_dtest_cluster_name)
dtest_setup.initialize_cluster(fixture_dtest_create_cluster_func)

if not dtest_config.disable_active_log_watching:
dtest_setup.begin_active_log_watch()

# at this point we're done with our setup operations in this fixture
# yield to allow the actual test to run
yield dtest_setup

# phew! we're back after executing the test, now we need to do
# all of our teardown and cleanup operations

reset_environment_vars(initial_environment)
dtest_setup.jvm_args = []

for con in dtest_setup.connections:
con.cluster.shutdown()
dtest_setup.connections = []

failed = False
try:
if not dtest_setup.allow_log_errors:
errors = check_logs_for_errors(dtest_setup)
if len(errors) > 0:
failed = True
pytest.fail(msg='Unexpected error found in node logs (see stdout for full
details). Errors: [{errors}]'
.format(errors=str.join(", ", errors)), pytrace=False)
finally:
try:
# save the logs for inspection
if failed or not dtest_config.delete_logs:
copy_logs(request, dtest_setup.cluster)
except Exception as e:
logger.error("Error saving log:", str(e))
finally:
> dtest_setup.cleanup_cluster(request)

conftest.py:352:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
_ _

self = <dtest_setup.DTestSetup object at 0x7fe53c3cf160>
request = <SubRequest 'fixture_dtest_setup' for <Function
'test_speculative_write_repair_cycle'>>

def cleanup_cluster(self, request=None):
with log_filter('cassandra'): # quiet noise from driver when nodes start
going down
> if self.dtest_config.keep_test_dir or
(self.dtest_config.keep_failed_test_dir and request and
request.node.rep_call.failed):
E AttributeError: 'Function' object has no attribute 'rep_call'

dtest_setup.py:351: AttributeError
----------------------------------------------------------------------------
Cassandra dtests // test_alter_table // Error
test teardown failure

request = <SubRequest 'fixture_dtest_setup' for <Function
'test_alter_table'>>
dtest_config = <dtest_config.DTestConfig object at 0x7fe53de3dd00>
fixture_dtest_setup_overrides = <dtest_setup_overrides.DTestSetupOverrides
object at 0x7fe52d6c5dc0>
fixture_logging_setup = None, fixture_dtest_cluster_name = 'test'
fixture_dtest_create_cluster_func = <function DTestSetup.create_ccm_cluster
at 0x7fe53e674a60>

@pytest.fixture(scope='function', autouse=False)
def fixture_dtest_setup(request,
dtest_config,
fixture_dtest_setup_overrides,
fixture_logging_setup,
fixture_dtest_cluster_name,
fixture_dtest_create_cluster_func):
if running_in_docker():
cleanup_docker_environment_before_test_execution()

# do all of our setup operations to get the enviornment ready for the actual
test
# to run (e.g. bring up a cluster with the necessary config, populate
variables, etc)
initial_environment = copy.deepcopy(os.environ)
dtest_setup = DTestSetup(dtest_config=dtest_config,
setup_overrides=fixture_dtest_setup_overrides,
cluster_name=fixture_dtest_cluster_name)
dtest_setup.initialize_cluster(fixture_dtest_create_cluster_func)

if not dtest_config.disable_active_log_watching:
dtest_setup.begin_active_log_watch()

# at this point we're done with our setup operations in this fixture
# yield to allow the actual test to run
yield dtest_setup

# phew! we're back after executing the test, now we need to do
# all of our teardown and cleanup operations

reset_environment_vars(initial_environment)
dtest_setup.jvm_args = []

for con in dtest_setup.connections:
con.cluster.shutdown()
dtest_setup.connections = []

failed = False
try:
if not dtest_setup.allow_log_errors:
errors = check_logs_for_errors(dtest_setup)
if len(errors) > 0:
failed = True
pytest.fail(msg='Unexpected error found in node logs (see stdout for full
details). Errors: [{errors}]'
.format(errors=str.join(", ", errors)), pytrace=False)
finally:
try:
# save the logs for inspection
if failed or not dtest_config.delete_logs:
copy_logs(request, dtest_setup.cluster)
except Exception as e:
logger.error("Error saving log:", str(e))
finally:
> dtest_setup.cleanup_cluster(request)

conftest.py:352:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
_ _

self = <dtest_setup.DTestSetup object at 0x7fe53d361fd0>
request = <SubRequest 'fixture_dtest_setup' for <Function
'test_alter_table'>>

def cleanup_cluster(self, request=None):
with log_filter('cassandra'): # quiet noise from driver when nodes start
going down
> if self.dtest_config.keep_test_dir or
(self.dtest_config.keep_failed_test_dir and request and
request.node.rep_call.failed):
E AttributeError: 'Function' object has no attribute 'rep_call'

dtest_setup.py:351: AttributeError
----------------------------------------------------------------------------
Cassandra dtests // test_primary_range_repair // Error
test teardown failure

request = <SubRequest 'fixture_dtest_setup' for <Function
'test_primary_range_repair'>>
dtest_config = <dtest_config.DTestConfig object at 0x7f24b1f328e0>
fixture_dtest_setup_overrides = <dtest_setup_overrides.DTestSetupOverrides
object at 0x7f24b2468310>
fixture_logging_setup = None, fixture_dtest_cluster_name = 'test'
fixture_dtest_create_cluster_func = <function DTestSetup.create_ccm_cluster
at 0x7f24b26b9a60>

@pytest.fixture(scope='function', autouse=False)
def fixture_dtest_setup(request,
dtest_config,
fixture_dtest_setup_overrides,
fixture_logging_setup,
fixture_dtest_cluster_name,
fixture_dtest_create_cluster_func):
if running_in_docker():
cleanup_docker_environment_before_test_execution()

# do all of our setup operations to get the enviornment ready for the actual
test
# to run (e.g. bring up a cluster with the necessary config, populate
variables, etc)
initial_environment = copy.deepcopy(os.environ)
dtest_setup = DTestSetup(dtest_config=dtest_config,
setup_overrides=fixture_dtest_setup_overrides,
cluster_name=fixture_dtest_cluster_name)
dtest_setup.initialize_cluster(fixture_dtest_create_cluster_func)

if not dtest_config.disable_active_log_watching:
dtest_setup.begin_active_log_watch()

# at this point we're done with our setup operations in this fixture
# yield to allow the actual test to run
yield dtest_setup

# phew! we're back after executing the test, now we need to do
# all of our teardown and cleanup operations

reset_environment_vars(initial_environment)
dtest_setup.jvm_args = []

for con in dtest_setup.connections:
con.cluster.shutdown()
dtest_setup.connections = []

failed = False
try:
if not dtest_setup.allow_log_errors:
errors = check_logs_for_errors(dtest_setup)
if len(errors) > 0:
failed = True
pytest.fail(msg='Unexpected error found in node logs (see stdout for full
details). Errors: [{errors}]'
.format(errors=str.join(", ", errors)), pytrace=False)
finally:
try:
# save the logs for inspection
if failed or not dtest_config.delete_logs:
copy_logs(request, dtest_setup.cluster)
except Exception as e:
logger.error("Error saving log:", str(e))
finally:
> dtest_setup.cleanup_cluster(request)

conftest.py:352:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
_ _

self = <dtest_setup.DTestSetup object at 0x7f24b20514c0>
request = <SubRequest 'fixture_dtest_setup' for <Function
'test_primary_range_repair'>>

def cleanup_cluster(self, request=None):
with log_filter('cassandra'): # quiet noise from driver when nodes start
going down
> if self.dtest_config.keep_test_dir or
(self.dtest_config.keep_failed_test_dir and request and
request.node.rep_call.failed):
E AttributeError: 'Function' object has no attribute 'rep_call'

dtest_setup.py:351: AttributeError
----------------------------------------------------------------------------
Cassandra dtests // test_mutation_v2 // Error
test teardown failure

request = <SubRequest 'fixture_dtest_setup' for <Function
'test_mutation_v2'>>
dtest_config = <dtest_config.DTestConfig object at 0x7f24b1f328e0>
fixture_dtest_setup_overrides = <dtest_setup_overrides.DTestSetupOverrides
object at 0x7f24b246ee20>
fixture_logging_setup = None, fixture_dtest_cluster_name = 'test'
fixture_dtest_create_cluster_func = <function DTestSetup.create_ccm_cluster
at 0x7f24b26b9a60>

@pytest.fixture(scope='function', autouse=False)
def fixture_dtest_setup(request,
dtest_config,
fixture_dtest_setup_overrides,
fixture_logging_setup,
fixture_dtest_cluster_name,
fixture_dtest_create_cluster_func):
if running_in_docker():
cleanup_docker_environment_before_test_execution()

# do all of our setup operations to get the enviornment ready for the actual
test
# to run (e.g. bring up a cluster with the necessary config, populate
variables, etc)
initial_environment = copy.deepcopy(os.environ)
dtest_setup = DTestSetup(dtest_config=dtest_config,
setup_overrides=fixture_dtest_setup_overrides,
cluster_name=fixture_dtest_cluster_name)
dtest_setup.initialize_cluster(fixture_dtest_create_cluster_func)

if not dtest_config.disable_active_log_watching:
dtest_setup.begin_active_log_watch()

# at this point we're done with our setup operations in this fixture
# yield to allow the actual test to run
yield dtest_setup

# phew! we're back after executing the test, now we need to do
# all of our teardown and cleanup operations

reset_environment_vars(initial_environment)
dtest_setup.jvm_args = []

for con in dtest_setup.connections:
con.cluster.shutdown()
dtest_setup.connections = []

failed = False
try:
if not dtest_setup.allow_log_errors:
errors = check_logs_for_errors(dtest_setup)
if len(errors) > 0:
failed = True
pytest.fail(msg='Unexpected error found in node logs (see stdout for full
details). Errors: [{errors}]'
.format(errors=str.join(", ", errors)), pytrace=False)
finally:
try:
# save the logs for inspection
if failed or not dtest_config.delete_logs:
copy_logs(request, dtest_setup.cluster)
except Exception as e:
logger.error("Error saving log:", str(e))
finally:
> dtest_setup.cleanup_cluster(request)

conftest.py:352:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
_ _

self = <dtest_setup.DTestSetup object at 0x7f24b246eee0>
request = <SubRequest 'fixture_dtest_setup' for <Function
'test_mutation_v2'>>

def cleanup_cluster(self, request=None):
with log_filter('cassandra'): # quiet noise from driver when nodes start
going down
> if self.dtest_config.keep_test_dir or
(self.dtest_config.keep_failed_test_dir and request and
request.node.rep_call.failed):
E AttributeError: 'Function' object has no attribute 'rep_call'

dtest_setup.py:351: AttributeError
----------------------------------------------------------------------------
Cassandra dtests // test_optimized_primary_range_repair // Error
test teardown failure

request = <SubRequest 'fixture_dtest_setup' for <Function
'test_optimized_primary_range_repair'>>
dtest_config = <dtest_config.DTestConfig object at 0x7ff1ac7506d0>
fixture_dtest_setup_overrides = <dtest_setup_overrides.DTestSetupOverrides
object at 0x7ff1acbf7910>
fixture_logging_setup = None, fixture_dtest_cluster_name = 'test'
fixture_dtest_create_cluster_func = <function DTestSetup.create_ccm_cluster
at 0x7ff1acf20b80>

@pytest.fixture(scope='function', autouse=False)
def fixture_dtest_setup(request,
dtest_config,
fixture_dtest_setup_overrides,
fixture_logging_setup,
fixture_dtest_cluster_name,
fixture_dtest_create_cluster_func):
if running_in_docker():
cleanup_docker_environment_before_test_execution()

# do all of our setup operations to get the enviornment ready for the actual
test
# to run (e.g. bring up a cluster with the necessary config, populate
variables, etc)
initial_environment = copy.deepcopy(os.environ)
dtest_setup = DTestSetup(dtest_config=dtest_config,
setup_overrides=fixture_dtest_setup_overrides,
cluster_name=fixture_dtest_cluster_name)
dtest_setup.initialize_cluster(fixture_dtest_create_cluster_func)

if not dtest_config.disable_active_log_watching:
dtest_setup.begin_active_log_watch()

# at this point we're done with our setup operations in this fixture
# yield to allow the actual test to run
yield dtest_setup

# phew! we're back after executing the test, now we need to do
# all of our teardown and cleanup operations

reset_environment_vars(initial_environment)
dtest_setup.jvm_args = []

for con in dtest_setup.connections:
con.cluster.shutdown()
dtest_setup.connections = []

failed = False
try:
if not dtest_setup.allow_log_errors:
errors = check_logs_for_errors(dtest_setup)
if len(errors) > 0:
failed = True
pytest.fail(msg='Unexpected error found in node logs (see stdout for full
details). Errors: [{errors}]'
.format(errors=str.join(", ", errors)), pytrace=False)
finally:
try:
# save the logs for inspection
if failed or not dtest_config.delete_logs:
copy_logs(request, dtest_setup.cluster)
except Exception as e:
logger.error("Error saving log:", str(e))
finally:
> dtest_setup.cleanup_cluster(request)

conftest.py:352:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
_ _

self = <dtest_setup.DTestSetup object at 0x7ff1acc8b0a0>
request = <SubRequest 'fixture_dtest_setup' for <Function
'test_optimized_primary_range_repair'>>

def cleanup_cluster(self, request=None):
with log_filter('cassandra'): # quiet noise from driver when nodes start
going down
> if self.dtest_config.keep_test_dir or
(self.dtest_config.keep_failed_test_dir and request and
request.node.rep_call.failed):
E AttributeError: 'Function' object has no attribute 'rep_call'

dtest_setup.py:351: AttributeError
----------------------------------------------------------------------------
Cassandra dtests // test_compaction_delete[LeveledCompactionStrategy] /
/ Error
test teardown failure

request = <SubRequest 'fixture_dtest_setup' for <Function
'test_compaction_delete[LeveledCompactionStrategy]'>>
dtest_config = <dtest_config.DTestConfig object at 0x7fd143574a00>
fixture_dtest_setup_overrides = <dtest_setup_overrides.DTestSetupOverrides
object at 0x7fd141b46eb0>
fixture_logging_setup = None, fixture_dtest_cluster_name = 'test'
fixture_dtest_create_cluster_func = <function DTestSetup.create_ccm_cluster
at 0x7fd143d31c10>

@pytest.fixture(scope='function', autouse=False)
def fixture_dtest_setup(request,
dtest_config,
fixture_dtest_setup_overrides,
fixture_logging_setup,
fixture_dtest_cluster_name,
fixture_dtest_create_cluster_func):
if running_in_docker():
cleanup_docker_environment_before_test_execution()

# do all of our setup operations to get the enviornment ready for the actual
test
# to run (e.g. bring up a cluster with the necessary config, populate
variables, etc)
initial_environment = copy.deepcopy(os.environ)
dtest_setup = DTestSetup(dtest_config=dtest_config,
setup_overrides=fixture_dtest_setup_overrides,
cluster_name=fixture_dtest_cluster_name)
dtest_setup.initialize_cluster(fixture_dtest_create_cluster_func)

if not dtest_config.disable_active_log_watching:
dtest_setup.begin_active_log_watch()

# at this point we're done with our setup operations in this fixture
# yield to allow the actual test to run
yield dtest_setup

# phew! we're back after executing the test, now we need to do
# all of our teardown and cleanup operations

reset_environment_vars(initial_environment)
dtest_setup.jvm_args = []

for con in dtest_setup.connections:
con.cluster.shutdown()
dtest_setup.connections = []

failed = False
try:
if not dtest_setup.allow_log_errors:
errors = check_logs_for_errors(dtest_setup)
if len(errors) > 0:
failed = True
pytest.fail(msg='Unexpected error found in node logs (see stdout for full
details). Errors: [{errors}]'
.format(errors=str.join(", ", errors)), pytrace=False)
finally:
try:
# save the logs for inspection
if failed or not dtest_config.delete_logs:
copy_logs(request, dtest_setup.cluster)
except Exception as e:
logger.error("Error saving log:", str(e))
finally:
> dtest_setup.cleanup_cluster(request)

conftest.py:352:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
_ _

self = <dtest_setup.DTestSetup object at 0x7fd141b48a60>
request = <SubRequest 'fixture_dtest_setup' for <Function
'test_compaction_delete[LeveledCompactionStrategy]'>>

def cleanup_cluster(self, request=None):
with log_filter('cassandra'): # quiet noise from driver when nodes start
going down
> if self.dtest_config.keep_test_dir or
(self.dtest_config.keep_failed_test_dir and request and
request.node.rep_call.failed):
E AttributeError: 'Function' object has no attribute 'rep_call'

dtest_setup.py:351: AttributeError
----------------------------------------------------------------------------
Cassandra dtests // test_optimized_primary_range_repair_with_lcs // Error
test teardown failure

request = <SubRequest 'fixture_dtest_setup' for <Function
'test_optimized_primary_range_repair_with_lcs'>>
dtest_config = <dtest_config.DTestConfig object at 0x7fd143574a00>
fixture_dtest_setup_overrides = <dtest_setup_overrides.DTestSetupOverrides
object at 0x7fd1436cb250>
fixture_logging_setup = None, fixture_dtest_cluster_name = 'test'
fixture_dtest_create_cluster_func = <function DTestSetup.create_ccm_cluster
at 0x7fd143d31c10>

@pytest.fixture(scope='function', autouse=False)
def fixture_dtest_setup(request,
dtest_config,
fixture_dtest_setup_overrides,
fixture_logging_setup,
fixture_dtest_cluster_name,
fixture_dtest_create_cluster_func):
if running_in_docker():
cleanup_docker_environment_before_test_execution()

# do all of our setup operations to get the enviornment ready for the actual
test
# to run (e.g. bring up a cluster with the necessary config, populate
variables, etc)
initial_environment = copy.deepcopy(os.environ)
dtest_setup = DTestSetup(dtest_config=dtest_config,
setup_overrides=fixture_dtest_setup_overrides,
cluster_name=fixture_dtest_cluster_name)
dtest_setup.initialize_cluster(fixture_dtest_create_cluster_func)

if not dtest_config.disable_active_log_watching:
dtest_setup.begin_active_log_watch()

# at this point we're done with our setup operations in this fixture
# yield to allow the actual test to run
yield dtest_setup

# phew! we're back after executing the test, now we need to do
# all of our teardown and cleanup operations

reset_environment_vars(initial_environment)
dtest_setup.jvm_args = []

for con in dtest_setup.connections:
con.cluster.shutdown()
dtest_setup.connections = []

failed = False
try:
if not dtest_setup.allow_log_errors:
errors = check_logs_for_errors(dtest_setup)
if len(errors) > 0:
failed = True
pytest.fail(msg='Unexpected error found in node logs (see stdout for full
details). Errors: [{errors}]'
.format(errors=str.join(", ", errors)), pytrace=False)
finally:
try:
# save the logs for inspection
if failed or not dtest_config.delete_logs:
copy_logs(request, dtest_setup.cluster)
except Exception as e:
logger.error("Error saving log:", str(e))
finally:
> dtest_setup.cleanup_cluster(request)

conftest.py:352:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
_ _

self = <dtest_setup.DTestSetup object at 0x7fd142c05c70>
request = <SubRequest 'fixture_dtest_setup' for <Function
'test_optimized_primary_range_repair_with_lcs'>>

def cleanup_cluster(self, request=None):
with log_filter('cassandra'): # quiet noise from driver when nodes start
going down
> if self.dtest_config.keep_test_dir or
(self.dtest_config.keep_failed_test_dir and request and
request.node.rep_call.failed):
E AttributeError: 'Function' object has no attribute 'rep_call'

dtest_setup.py:351: AttributeError
----------------------------------------------------------------------------
Cassandra dtests // test_compaction_delete[SizeTieredCompactionStrategy] /
/ Error
test teardown failure

request = <SubRequest 'fixture_dtest_setup' for <Function
'test_compaction_delete[SizeTieredCompactionStrategy]'>>
dtest_config = <dtest_config.DTestConfig object at 0x7f959e429310>
fixture_dtest_setup_overrides = <dtest_setup_overrides.DTestSetupOverrides
object at 0x7f959c0ec310>
fixture_logging_setup = None, fixture_dtest_cluster_name = 'test'
fixture_dtest_create_cluster_func = <function DTestSetup.create_ccm_cluster
at 0x7f959ec88dc0>

@pytest.fixture(scope='function', autouse=False)
def fixture_dtest_setup(request,
dtest_config,
fixture_dtest_setup_overrides,
fixture_logging_setup,
fixture_dtest_cluster_name,
fixture_dtest_create_cluster_func):
if running_in_docker():
cleanup_docker_environment_before_test_execution()

# do all of our setup operations to get the enviornment ready for the actual
test
# to run (e.g. bring up a cluster with the necessary config, populate
variables, etc)
initial_environment = copy.deepcopy(os.environ)
dtest_setup = DTestSetup(dtest_config=dtest_config,
setup_overrides=fixture_dtest_setup_overrides,
cluster_name=fixture_dtest_cluster_name)
dtest_setup.initialize_cluster(fixture_dtest_create_cluster_func)

if not dtest_config.disable_active_log_watching:
dtest_setup.begin_active_log_watch()

# at this point we're done with our setup operations in this fixture
# yield to allow the actual test to run
yield dtest_setup

# phew! we're back after executing the test, now we need to do
# all of our teardown and cleanup operations

reset_environment_vars(initial_environment)
dtest_setup.jvm_args = []

for con in dtest_setup.connections:
con.cluster.shutdown()
dtest_setup.connections = []

failed = False
try:
if not dtest_setup.allow_log_errors:
errors = check_logs_for_errors(dtest_setup)
if len(errors) > 0:
failed = True
pytest.fail(msg='Unexpected error found in node logs (see stdout for full
details). Errors: [{errors}]'
.format(errors=str.join(", ", errors)), pytrace=False)
finally:
try:
# save the logs for inspection
if failed or not dtest_config.delete_logs:
copy_logs(request, dtest_setup.cluster)
except Exception as e:
logger.error("Error saving log:", str(e))
finally:
> dtest_setup.cleanup_cluster(request)

conftest.py:352:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
_ _

self = <dtest_setup.DTestSetup object at 0x7f959c14faf0>
request = <SubRequest 'fixture_dtest_setup' for <Function
'test_compaction_delete[SizeTieredCompactionStrategy]'>>

def cleanup_cluster(self, request=None):
with log_filter('cassandra'): # quiet noise from driver when nodes start
going down
> if self.dtest_config.keep_test_dir or
(self.dtest_config.keep_failed_test_dir and request and
request.node.rep_call.failed):
E AttributeError: 'Function' object has no attribute 'rep_call'

dtest_setup.py:351: AttributeError
----------------------------------------------------------------------------
Cassandra dtests // test_transient_incremental_repair // Error
test teardown failure

request = <SubRequest 'fixture_dtest_setup' for <Function
'test_transient_incremental_repair'>>
dtest_config = <dtest_config.DTestConfig object at 0x7f959e429310>
fixture_dtest_setup_overrides = <dtest_setup_overrides.DTestSetupOverrides
object at 0x7f959e5ee340>
fixture_logging_setup = None, fixture_dtest_cluster_name = 'test'
fixture_dtest_create_cluster_func = <function DTestSetup.create_ccm_cluster
at 0x7f959ec88dc0>

@pytest.fixture(scope='function', autouse=False)
def fixture_dtest_setup(request,
dtest_config,
fixture_dtest_setup_overrides,
fixture_logging_setup,
fixture_dtest_cluster_name,
fixture_dtest_create_cluster_func):
if running_in_docker():
cleanup_docker_environment_before_test_execution()

# do all of our setup operations to get the enviornment ready for the actual
test
# to run (e.g. bring up a cluster with the necessary config, populate
variables, etc)
initial_environment = copy.deepcopy(os.environ)
dtest_setup = DTestSetup(dtest_config=dtest_config,
setup_overrides=fixture_dtest_setup_overrides,
cluster_name=fixture_dtest_cluster_name)
dtest_setup.initialize_cluster(fixture_dtest_create_cluster_func)

if not dtest_config.disable_active_log_watching:
dtest_setup.begin_active_log_watch()

# at this point we're done with our setup operations in this fixture
# yield to allow the actual test to run
yield dtest_setup

# phew! we're back after executing the test, now we need to do
# all of our teardown and cleanup operations

reset_environment_vars(initial_environment)
dtest_setup.jvm_args = []

for con in dtest_setup.connections:
con.cluster.shutdown()
dtest_setup.connections = []

failed = False
try:
if not dtest_setup.allow_log_errors:
errors = check_logs_for_errors(dtest_setup)
if len(errors) > 0:
failed = True
pytest.fail(msg='Unexpected error found in node logs (see stdout for full
details). Errors: [{errors}]'
.format(errors=str.join(", ", errors)), pytrace=False)
finally:
try:
# save the logs for inspection
if failed or not dtest_config.delete_logs:
copy_logs(request, dtest_setup.cluster)
except Exception as e:
logger.error("Error saving log:", str(e))
finally:
> dtest_setup.cleanup_cluster(request)

conftest.py:352:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
_ _

self = <dtest_setup.DTestSetup object at 0x7f959d772ee0>
request = <SubRequest 'fixture_dtest_setup' for <Function
'test_transient_incremental_repair'>>

def cleanup_cluster(self, request=None):
with log_filter('cassandra'): # quiet noise from driver when nodes start
going down
> if self.dtest_config.keep_test_dir or
(self.dtest_config.keep_failed_test_dir and request and
request.node.rep_call.failed):
E AttributeError: 'Function' object has no attribute 'rep_call'

dtest_setup.py:351: AttributeError
----------------------------------------------------------------------------
Cassandra dtests // test_mutation_v5 // Error
test teardown failure

request = <SubRequest 'fixture_dtest_setup' for <Function
'test_mutation_v5'>>
dtest_config = <dtest_config.DTestConfig object at 0x7f959e429310>
fixture_dtest_setup_overrides = <dtest_setup_overrides.DTestSetupOverrides
object at 0x7f959e5fea30>
fixture_logging_setup = None, fixture_dtest_cluster_name = 'test'
fixture_dtest_create_cluster_func = <function DTestSetup.create_ccm_cluster
at 0x7f959ec88dc0>

@pytest.fixture(scope='function', autouse=False)
def fixture_dtest_setup(request,
dtest_config,
fixture_dtest_setup_overrides,
fixture_logging_setup,
fixture_dtest_cluster_name,
fixture_dtest_create_cluster_func):
if running_in_docker():
cleanup_docker_environment_before_test_execution()

# do all of our setup operations to get the enviornment ready for the actual
test
# to run (e.g. bring up a cluster with the necessary config, populate
variables, etc)
initial_environment = copy.deepcopy(os.environ)
dtest_setup = DTestSetup(dtest_config=dtest_config,
setup_overrides=fixture_dtest_setup_overrides,
cluster_name=fixture_dtest_cluster_name)
dtest_setup.initialize_cluster(fixture_dtest_create_cluster_func)

if not dtest_config.disable_active_log_watching:
dtest_setup.begin_active_log_watch()

# at this point we're done with our setup operations in this fixture
# yield to allow the actual test to run
yield dtest_setup

# phew! we're back after executing the test, now we need to do
# all of our teardown and cleanup operations

reset_environment_vars(initial_environment)
dtest_setup.jvm_args = []

for con in dtest_setup.connections:
con.cluster.shutdown()
dtest_setup.connections = []

failed = False
try:
if not dtest_setup.allow_log_errors:
errors = check_logs_for_errors(dtest_setup)
if len(errors) > 0:
failed = True
pytest.fail(msg='Unexpected error found in node logs (see stdout for full
details). Errors: [{errors}]'
.format(errors=str.join(", ", errors)), pytrace=False)
finally:
try:
# save the logs for inspection
if failed or not dtest_config.delete_logs:
copy_logs(request, dtest_setup.cluster)
except Exception as e:
logger.error("Error saving log:", str(e))
finally:
> dtest_setup.cleanup_cluster(request)

conftest.py:352:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
_ _

self = <dtest_setup.DTestSetup object at 0x7f959e5fe2b0>
request = <SubRequest 'fixture_dtest_setup' for <Function
'test_mutation_v5'>>

def cleanup_cluster(self, request=None):
with log_filter('cassandra'): # quiet noise from driver when nodes start
going down
> if self.dtest_config.keep_test_dir or
(self.dtest_config.keep_failed_test_dir and request and
request.node.rep_call.failed):
E AttributeError: 'Function' object has no attribute 'rep_call'

dtest_setup.py:351: AttributeError
----------------------------------------------------------------------------
Cassandra dtests // test_compaction_delete[DateTieredCompactionStrategy] /
/ Error
test teardown failure

request = <SubRequest 'fixture_dtest_setup' for <Function
'test_compaction_delete[DateTieredCompactionStrategy]'>>
dtest_config = <dtest_config.DTestConfig object at 0x7f267ded4520>
fixture_dtest_setup_overrides = <dtest_setup_overrides.DTestSetupOverrides
object at 0x7f267c4f2a00>
fixture_logging_setup = None, fixture_dtest_cluster_name = 'test'
fixture_dtest_create_cluster_func = <function DTestSetup.create_ccm_cluster
at 0x7f267e71fb80>

@pytest.fixture(scope='function', autouse=False)
def fixture_dtest_setup(request,
dtest_config,
fixture_dtest_setup_overrides,
fixture_logging_setup,
fixture_dtest_cluster_name,
fixture_dtest_create_cluster_func):
if running_in_docker():
cleanup_docker_environment_before_test_execution()

# do all of our setup operations to get the enviornment ready for the actual
test
# to run (e.g. bring up a cluster with the necessary config, populate
variables, etc)
initial_environment = copy.deepcopy(os.environ)
dtest_setup = DTestSetup(dtest_config=dtest_config,
setup_overrides=fixture_dtest_setup_overrides,
cluster_name=fixture_dtest_cluster_name)
dtest_setup.initialize_cluster(fixture_dtest_create_cluster_func)

if not dtest_config.disable_active_log_watching:
dtest_setup.begin_active_log_watch()

# at this point we're done with our setup operations in this fixture
# yield to allow the actual test to run
yield dtest_setup

# phew! we're back after executing the test, now we need to do
# all of our teardown and cleanup operations

reset_environment_vars(initial_environment)
dtest_setup.jvm_args = []

for con in dtest_setup.connections:
con.cluster.shutdown()
dtest_setup.connections = []

failed = False
try:
if not dtest_setup.allow_log_errors:
errors = check_logs_for_errors(dtest_setup)
if len(errors) > 0:
failed = True
pytest.fail(msg='Unexpected error found in node logs (see stdout for full
details). Errors: [{errors}]'
.format(errors=str.join(", ", errors)), pytrace=False)
finally:
try:
# save the logs for inspection
if failed or not dtest_config.delete_logs:
copy_logs(request, dtest_setup.cluster)
except Exception as e:
logger.error("Error saving log:", str(e))
finally:
> dtest_setup.cleanup_cluster(request)

conftest.py:352:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
_ _

self = <dtest_setup.DTestSetup object at 0x7f267c52e1c0>
request = <SubRequest 'fixture_dtest_setup' for <Function
'test_compaction_delete[DateTieredCompactionStrategy]'>>

def cleanup_cluster(self, request=None):
with log_filter('cassandra'): # quiet noise from driver when nodes start
going down
> if self.dtest_config.keep_test_dir or
(self.dtest_config.keep_failed_test_dir and request and
request.node.rep_call.failed):
E AttributeError: 'Function' object has no attribute 'rep_call'

dtest_setup.py:351: AttributeError
----------------------------------------------------------------------------
Cassandra dtests // test_full_repair_from_full_replica // Error
test teardown failure

request = <SubRequest 'fixture_dtest_setup' for <Function
'test_full_repair_from_full_replica'>>
dtest_config = <dtest_config.DTestConfig object at 0x7f267ded4520>
fixture_dtest_setup_overrides = <dtest_setup_overrides.DTestSetupOverrides
object at 0x7f267c450e50>
fixture_logging_setup = None, fixture_dtest_cluster_name = 'test'
fixture_dtest_create_cluster_func = <function DTestSetup.create_ccm_cluster
at 0x7f267e71fb80>

@pytest.fixture(scope='function', autouse=False)
def fixture_dtest_setup(request,
dtest_config,
fixture_dtest_setup_overrides,
fixture_logging_setup,
fixture_dtest_cluster_name,
fixture_dtest_create_cluster_func):
if running_in_docker():
cleanup_docker_environment_before_test_execution()

# do all of our setup operations to get the enviornment ready for the actual
test
# to run (e.g. bring up a cluster with the necessary config, populate
variables, etc)
initial_environment = copy.deepcopy(os.environ)
dtest_setup = DTestSetup(dtest_config=dtest_config,
setup_overrides=fixture_dtest_setup_overrides,
cluster_name=fixture_dtest_cluster_name)
dtest_setup.initialize_cluster(fixture_dtest_create_cluster_func)

if not dtest_config.disable_active_log_watching:
dtest_setup.begin_active_log_watch()

# at this point we're done with our setup operations in this fixture
# yield to allow the actual test to run
yield dtest_setup

# phew! we're back after executing the test, now we need to do
# all of our teardown and cleanup operations

reset_environment_vars(initial_environment)
dtest_setup.jvm_args = []

for con in dtest_setup.connections:
con.cluster.shutdown()
dtest_setup.connections = []

failed = False
try:
if not dtest_setup.allow_log_errors:
errors = check_logs_for_errors(dtest_setup)
if len(errors) > 0:
failed = True
pytest.fail(msg='Unexpected error found in node logs (see stdout for full
details). Errors: [{errors}]'
.format(errors=str.join(", ", errors)), pytrace=False)
finally:
try:
# save the logs for inspection
if failed or not dtest_config.delete_logs:
copy_logs(request, dtest_setup.cluster)
except Exception as e:
logger.error("Error saving log:", str(e))
finally:
> dtest_setup.cleanup_cluster(request)

conftest.py:352:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
_ _

self = <dtest_setup.DTestSetup object at 0x7f267c425a00>
request = <SubRequest 'fixture_dtest_setup' for <Function
'test_full_repair_from_full_replica'>>

def cleanup_cluster(self, request=None):
with log_filter('cassandra'): # quiet noise from driver when nodes start
going down
> if self.dtest_config.keep_test_dir or
(self.dtest_config.keep_failed_test_dir and request and
request.node.rep_call.failed):
E AttributeError: 'Function' object has no attribute 'rep_call'

dtest_setup.py:351: AttributeError
----------------------------------------------------------------------------
Cassandra dtests // test_replay // Error
test teardown failure

request = <SubRequest 'fixture_dtest_setup' for <Function 'test_replay'>>
dtest_config = <dtest_config.DTestConfig object at 0x7ff9d9c43340>
fixture_dtest_setup_overrides = <dtest_setup_overrides.DTestSetupOverrides
object at 0x7ff9d93cdc70>
fixture_logging_setup = None, fixture_dtest_cluster_name = 'test'
fixture_dtest_create_cluster_func = <function DTestSetup.create_ccm_cluster
at 0x7ff9da4e6a60>

@pytest.fixture(scope='function', autouse=False)
def fixture_dtest_setup(request,
dtest_config,
fixture_dtest_setup_overrides,
fixture_logging_setup,
fixture_dtest_cluster_name,
fixture_dtest_create_cluster_func):
if running_in_docker():
cleanup_docker_environment_before_test_execution()

# do all of our setup operations to get the enviornment ready for the actual
test
# to run (e.g. bring up a cluster with the necessary config, populate
variables, etc)
initial_environment = copy.deepcopy(os.environ)
dtest_setup = DTestSetup(dtest_config=dtest_config,
setup_overrides=fixture_dtest_setup_overrides,
cluster_name=fixture_dtest_cluster_name)
dtest_setup.initialize_cluster(fixture_dtest_create_cluster_func)

if not dtest_config.disable_active_log_watching:
dtest_setup.begin_active_log_watch()

# at this point we're done with our setup operations in this fixture
# yield to allow the actual test to run
yield dtest_setup

# phew! we're back after executing the test, now we need to do
# all of our teardown and cleanup operations

reset_environment_vars(initial_environment)
dtest_setup.jvm_args = []

for con in dtest_setup.connections:
con.cluster.shutdown()
dtest_setup.connections = []

failed = False
try:
if not dtest_setup.allow_log_errors:
errors = check_logs_for_errors(dtest_setup)
if len(errors) > 0:
failed = True
pytest.fail(msg='Unexpected error found in node logs (see stdout for full
details). Errors: [{errors}]'
.format(errors=str.join(", ", errors)), pytrace=False)
finally:
try:
# save the logs for inspection
if failed or not dtest_config.delete_logs:
copy_logs(request, dtest_setup.cluster)
except Exception as e:
logger.error("Error saving log:", str(e))
finally:
> dtest_setup.cleanup_cluster(request)

conftest.py:352:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
_ _

self = <dtest_setup.DTestSetup object at 0x7ff9d93cd880>
request = <SubRequest 'fixture_dtest_setup' for <Function 'test_replay'>>

def cleanup_cluster(self, request=None):
with log_filter('cassandra'): # quiet noise from driver when nodes start
going down
> if self.dtest_config.keep_test_dir or
(self.dtest_config.keep_failed_test_dir and request and
request.node.rep_call.failed):
E AttributeError: 'Function' object has no attribute 'rep_call'

dtest_setup.py:351: AttributeError
----------------------------------------------------------------------------
Cassandra dtests // test_full_repair_from_transient_replica // Error
test teardown failure

request = <SubRequest 'fixture_dtest_setup' for <Function
'test_full_repair_from_transient_replica'>>
dtest_config = <dtest_config.DTestConfig object at 0x7ff9d9c43340>
fixture_dtest_setup_overrides = <dtest_setup_overrides.DTestSetupOverrides
object at 0x7ff9d92df2e0>
fixture_logging_setup = None, fixture_dtest_cluster_name = 'test'
fixture_dtest_create_cluster_func = <function DTestSetup.create_ccm_cluster
at 0x7ff9da4e6a60>

@pytest.fixture(scope='function', autouse=False)
def fixture_dtest_setup(request,
dtest_config,
fixture_dtest_setup_overrides,
fixture_logging_setup,
fixture_dtest_cluster_name,
fixture_dtest_create_cluster_func):
if running_in_docker():
cleanup_docker_environment_before_test_execution()

# do all of our setup operations to get the enviornment ready for the actual
test
# to run (e.g. bring up a cluster with the necessary config, populate
variables, etc)
initial_environment = copy.deepcopy(os.environ)
dtest_setup = DTestSetup(dtest_config=dtest_config,
setup_overrides=fixture_dtest_setup_overrides,
cluster_name=fixture_dtest_cluster_name)
dtest_setup.initialize_cluster(fixture_dtest_create_cluster_func)

if not dtest_config.disable_active_log_watching:
dtest_setup.begin_active_log_watch()

# at this point we're done with our setup operations in this fixture
# yield to allow the actual test to run
yield dtest_setup

# phew! we're back after executing the test, now we need to do
# all of our teardown and cleanup operations

reset_environment_vars(initial_environment)
dtest_setup.jvm_args = []

for con in dtest_setup.connections:
con.cluster.shutdown()
dtest_setup.connections = []

failed = False
try:
if not dtest_setup.allow_log_errors:
errors = check_logs_for_errors(dtest_setup)
if len(errors) > 0:
failed = True
pytest.fail(msg='Unexpected error found in node logs (see stdout for full
details). Errors: [{errors}]'
.format(errors=str.join(", ", errors)), pytrace=False)
finally:
try:
# save the logs for inspection
if failed or not dtest_config.delete_logs:
copy_logs(request, dtest_setup.cluster)
except Exception as e:
logger.error("Error saving log:", str(e))
finally:
> dtest_setup.cleanup_cluster(request)

conftest.py:352:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
_ _

self = <dtest_setup.DTestSetup object at 0x7ff9d92df7c0>
request = <SubRequest 'fixture_dtest_setup' for <Function
'test_full_repair_from_transient_replica'>>

def cleanup_cluster(self, request=None):
with log_filter('cassandra'): # quiet noise from driver when nodes start
going down
> if self.dtest_config.keep_test_dir or
(self.dtest_config.keep_failed_test_dir and request and
request.node.rep_call.failed):
E AttributeError: 'Function' object has no attribute 'rep_call'

dtest_setup.py:351: AttributeError
----------------------------------------------------------------------------
Cassandra dtests // test_archive_on_shutdown // Error
test teardown failure

request = <SubRequest 'fixture_dtest_setup' for <Function
'test_archive_on_shutdown'>>
dtest_config = <dtest_config.DTestConfig object at 0x7fa8d1cc4fd0>
fixture_dtest_setup_overrides = <dtest_setup_overrides.DTestSetupOverrides
object at 0x7fa8d1cc48e0>
fixture_logging_setup = None, fixture_dtest_cluster_name = 'test'
fixture_dtest_create_cluster_func = <function DTestSetup.create_ccm_cluster
at 0x7fa8d25d2b80>

@pytest.fixture(scope='function', autouse=False)
def fixture_dtest_setup(request,
dtest_config,
fixture_dtest_setup_overrides,
fixture_logging_setup,
fixture_dtest_cluster_name,
fixture_dtest_create_cluster_func):
if running_in_docker():
cleanup_docker_environment_before_test_execution()

# do all of our setup operations to get the enviornment ready for the actual
test
# to run (e.g. bring up a cluster with the necessary config, populate
variables, etc)
initial_environment = copy.deepcopy(os.environ)
dtest_setup = DTestSetup(dtest_config=dtest_config,
setup_overrides=fixture_dtest_setup_overrides,
cluster_name=fixture_dtest_cluster_name)
dtest_setup.initialize_cluster(fixture_dtest_create_cluster_func)

if not dtest_config.disable_active_log_watching:
dtest_setup.begin_active_log_watch()

# at this point we're done with our setup operations in this fixture
# yield to allow the actual test to run
yield dtest_setup

# phew! we're back after executing the test, now we need to do
# all of our teardown and cleanup operations

reset_environment_vars(initial_environment)
dtest_setup.jvm_args = []

for con in dtest_setup.connections:
con.cluster.shutdown()
dtest_setup.connections = []

failed = False
try:
if not dtest_setup.allow_log_errors:
errors = check_logs_for_errors(dtest_setup)
if len(errors) > 0:
failed = True
pytest.fail(msg='Unexpected error found in node logs (see stdout for full
details). Errors: [{errors}]'
.format(errors=str.join(", ", errors)), pytrace=False)
finally:
try:
# save the logs for inspection
if failed or not dtest_config.delete_logs:
copy_logs(request, dtest_setup.cluster)
except Exception as e:
logger.error("Error saving log:", str(e))
finally:
> dtest_setup.cleanup_cluster(request)

conftest.py:352:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
_ _

self = <dtest_setup.DTestSetup object at 0x7fa8d1ccfee0>
request = <SubRequest 'fixture_dtest_setup' for <Function
'test_archive_on_shutdown'>>

def cleanup_cluster(self, request=None):
with log_filter('cassandra'): # quiet noise from driver when nodes start
going down
> if self.dtest_config.keep_test_dir or
(self.dtest_config.keep_failed_test_dir and request and
request.node.rep_call.failed):
E AttributeError: 'Function' object has no attribute 'rep_call'

dtest_setup.py:351: AttributeError
----------------------------------------------------------------------------
Cassandra dtests // test_failed_read_repair // Error
test teardown failure

request = <SubRequest 'fixture_dtest_setup' for <Function
'test_failed_read_repair'>>
dtest_config = <dtest_config.DTestConfig object at 0x7fa8d1cc4fd0>
fixture_dtest_setup_overrides = <dtest_setup_overrides.DTestSetupOverrides
object at 0x7fa8d1e9da90>
fixture_logging_setup = None, fixture_dtest_cluster_name = 'test'
fixture_dtest_create_cluster_func = <function DTestSetup.create_ccm_cluster
at 0x7fa8d25d2b80>

@pytest.fixture(scope='function', autouse=False)
def fixture_dtest_setup(request,
dtest_config,
fixture_dtest_setup_overrides,
fixture_logging_setup,
fixture_dtest_cluster_name,
fixture_dtest_create_cluster_func):
if running_in_docker():
cleanup_docker_environment_before_test_execution()

# do all of our setup operations to get the enviornment ready for the actual
test
# to run (e.g. bring up a cluster with the necessary config, populate
variables, etc)
initial_environment = copy.deepcopy(os.environ)
dtest_setup = DTestSetup(dtest_config=dtest_config,
setup_overrides=fixture_dtest_setup_overrides,
cluster_name=fixture_dtest_cluster_name)
dtest_setup.initialize_cluster(fixture_dtest_create_cluster_func)

if not dtest_config.disable_active_log_watching:
dtest_setup.begin_active_log_watch()

# at this point we're done with our setup operations in this fixture
# yield to allow the actual test to run
yield dtest_setup

# phew! we're back after executing the test, now we need to do
# all of our teardown and cleanup operations

reset_environment_vars(initial_environment)
dtest_setup.jvm_args = []

for con in dtest_setup.connections:
con.cluster.shutdown()
dtest_setup.connections = []

failed = False
try:
if not dtest_setup.allow_log_errors:
errors = check_logs_for_errors(dtest_setup)
if len(errors) > 0:
failed = True
pytest.fail(msg='Unexpected error found in node logs (see stdout for full
details). Errors: [{errors}]'
.format(errors=str.join(", ", errors)), pytrace=False)
finally:
try:
# save the logs for inspection
if failed or not dtest_config.delete_logs:
copy_logs(request, dtest_setup.cluster)
except Exception as e:
logger.error("Error saving log:", str(e))
finally:
> dtest_setup.cleanup_cluster(request)

conftest.py:352:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
_ _

self = <dtest_setup.DTestSetup object at 0x7fa8c1dce550>
request = <SubRequest 'fixture_dtest_setup' for <Function
'test_failed_read_repair'>>

def cleanup_cluster(self, request=None):
with log_filter('cassandra'): # quiet noise from driver when nodes start
going down
> if self.dtest_config.keep_test_dir or
(self.dtest_config.keep_failed_test_dir and request and
request.node.rep_call.failed):
E AttributeError: 'Function' object has no attribute 'rep_call'

dtest_setup.py:351: AttributeError
----------------------------------------------------------------------------
Cassandra dtests // test_compare // Error
test teardown failure

request = <SubRequest 'fixture_dtest_setup' for <Function 'test_compare'>>
dtest_config = <dtest_config.DTestConfig object at 0x7f8c27ca5d30>
fixture_dtest_setup_overrides = <dtest_setup_overrides.DTestSetupOverrides
object at 0x7f8c28428cd0>
fixture_logging_setup = None, fixture_dtest_cluster_name = 'test'
fixture_dtest_create_cluster_func = <function DTestSetup.create_ccm_cluster
at 0x7f8c28546b80>

@pytest.fixture(scope='function', autouse=False)
def fixture_dtest_setup(request,
dtest_config,
fixture_dtest_setup_overrides,
fixture_logging_setup,
fixture_dtest_cluster_name,
fixture_dtest_create_cluster_func):
if running_in_docker():
cleanup_docker_environment_before_test_execution()

# do all of our setup operations to get the enviornment ready for the actual
test
# to run (e.g. bring up a cluster with the necessary config, populate
variables, etc)
initial_environment = copy.deepcopy(os.environ)
dtest_setup = DTestSetup(dtest_config=dtest_config,
setup_overrides=fixture_dtest_setup_overrides,
cluster_name=fixture_dtest_cluster_name)
dtest_setup.initialize_cluster(fixture_dtest_create_cluster_func)

if not dtest_config.disable_active_log_watching:
dtest_setup.begin_active_log_watch()

# at this point we're done with our setup operations in this fixture
# yield to allow the actual test to run
yield dtest_setup

# phew! we're back after executing the test, now we need to do
# all of our teardown and cleanup operations

reset_environment_vars(initial_environment)
dtest_setup.jvm_args = []

for con in dtest_setup.connections:
con.cluster.shutdown()
dtest_setup.connections = []

failed = False
try:
if not dtest_setup.allow_log_errors:
errors = check_logs_for_errors(dtest_setup)
if len(errors) > 0:
failed = True
pytest.fail(msg='Unexpected error found in node logs (see stdout for full
details). Errors: [{errors}]'
.format(errors=str.join(", ", errors)), pytrace=False)
finally:
try:
# save the logs for inspection
if failed or not dtest_config.delete_logs:
copy_logs(request, dtest_setup.cluster)
except Exception as e:
logger.error("Error saving log:", str(e))
finally:
> dtest_setup.cleanup_cluster(request)

conftest.py:352:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
_ _

self = <dtest_setup.DTestSetup object at 0x7f8c27cb0e50>
request = <SubRequest 'fixture_dtest_setup' for <Function 'test_compare'>>

def cleanup_cluster(self, request=None):
with log_filter('cassandra'): # quiet noise from driver when nodes start
going down
> if self.dtest_config.keep_test_dir or
(self.dtest_config.keep_failed_test_dir and request and
request.node.rep_call.failed):
E AttributeError: 'Function' object has no attribute 'rep_call'

dtest_setup.py:351: AttributeError
----------------------------------------------------------------------------
Cassandra dtests // test_speculative_write_repair_cycle // Error
test teardown failure

request = <SubRequest 'fixture_dtest_setup' for <Function
'test_speculative_write_repair_cycle'>>
dtest_config = <dtest_config.DTestConfig object at 0x7f8c27ca5d30>
fixture_dtest_setup_overrides = <dtest_setup_overrides.DTestSetupOverrides
object at 0x7f8c27eb9f70>
fixture_logging_setup = None, fixture_dtest_cluster_name = 'test'
fixture_dtest_create_cluster_func = <function DTestSetup.create_ccm_cluster
at 0x7f8c28546b80>

@pytest.fixture(scope='function', autouse=False)
def fixture_dtest_setup(request,
dtest_config,
fixture_dtest_setup_overrides,
fixture_logging_setup,
fixture_dtest_cluster_name,
fixture_dtest_create_cluster_func):
if running_in_docker():
cleanup_docker_environment_before_test_execution()

# do all of our setup operations to get the enviornment ready for the actual
test
# to run (e.g. bring up a cluster with the necessary config, populate
variables, etc)
initial_environment = copy.deepcopy(os.environ)
dtest_setup = DTestSetup(dtest_config=dtest_config,
setup_overrides=fixture_dtest_setup_overrides,
cluster_name=fixture_dtest_cluster_name)
dtest_setup.initialize_cluster(fixture_dtest_create_cluster_func)

if not dtest_config.disable_active_log_watching:
dtest_setup.begin_active_log_watch()

# at this point we're done with our setup operations in this fixture
# yield to allow the actual test to run
yield dtest_setup

# phew! we're back after executing the test, now we need to do
# all of our teardown and cleanup operations

reset_environment_vars(initial_environment)
dtest_setup.jvm_args = []

for con in dtest_setup.connections:
con.cluster.shutdown()
dtest_setup.connections = []

failed = False
try:
if not dtest_setup.allow_log_errors:
errors = check_logs_for_errors(dtest_setup)
if len(errors) > 0:
failed = True
pytest.fail(msg='Unexpected error found in node logs (see stdout for full
details). Errors: [{errors}]'
.format(errors=str.join(", ", errors)), pytrace=False)
finally:
try:
# save the logs for inspection
if failed or not dtest_config.delete_logs:
copy_logs(request, dtest_setup.cluster)
except Exception as e:
logger.error("Error saving log:", str(e))
finally:
> dtest_setup.cleanup_cluster(request)

conftest.py:352:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
_ _

self = <dtest_setup.DTestSetup object at 0x7f8c282ba550>
request = <SubRequest 'fixture_dtest_setup' for <Function
'test_speculative_write_repair_cycle'>>

def cleanup_cluster(self, request=None):
with log_filter('cassandra'): # quiet noise from driver when nodes start
going down
> if self.dtest_config.keep_test_dir or
(self.dtest_config.keep_failed_test_dir and request and
request.node.rep_call.failed):
E AttributeError: 'Function' object has no attribute 'rep_call'

dtest_setup.py:351: AttributeError
----------------------------------------------------------------------------
Cassandra dtests // test_compare_mismatch // Error
test teardown failure

request = <SubRequest 'fixture_dtest_setup' for <Function
'test_compare_mismatch'>>
dtest_config = <dtest_config.DTestConfig object at 0x7fe49a29dee0>
fixture_dtest_setup_overrides = <dtest_setup_overrides.DTestSetupOverrides
object at 0x7fe4989990a0>
fixture_logging_setup = None, fixture_dtest_cluster_name = 'test'
fixture_dtest_create_cluster_func = <function DTestSetup.create_ccm_cluster
at 0x7fe49ab12ca0>

@pytest.fixture(scope='function', autouse=False)
def fixture_dtest_setup(request,
dtest_config,
fixture_dtest_setup_overrides,
fixture_logging_setup,
fixture_dtest_cluster_name,
fixture_dtest_create_cluster_func):
if running_in_docker():
cleanup_docker_environment_before_test_execution()

# do all of our setup operations to get the enviornment ready for the actual
test
# to run (e.g. bring up a cluster with the necessary config, populate
variables, etc)
initial_environment = copy.deepcopy(os.environ)
dtest_setup = DTestSetup(dtest_config=dtest_config,
setup_overrides=fixture_dtest_setup_overrides,
cluster_name=fixture_dtest_cluster_name)
dtest_setup.initialize_cluster(fixture_dtest_create_cluster_func)

if not dtest_config.disable_active_log_watching:
dtest_setup.begin_active_log_watch()

# at this point we're done with our setup operations in this fixture
# yield to allow the actual test to run
yield dtest_setup

# phew! we're back after executing the test, now we need to do
# all of our teardown and cleanup operations

reset_environment_vars(initial_environment)
dtest_setup.jvm_args = []

for con in dtest_setup.connections:
con.cluster.shutdown()
dtest_setup.connections = []

failed = False
try:
if not dtest_setup.allow_log_errors:
errors = check_logs_for_errors(dtest_setup)
if len(errors) > 0:
failed = True
pytest.fail(msg='Unexpected error found in node logs (see stdout for full
details). Errors: [{errors}]'
.format(errors=str.join(", ", errors)), pytrace=False)
finally:
try:
# save the logs for inspection
if failed or not dtest_config.delete_logs:
copy_logs(request, dtest_setup.cluster)
except Exception as e:
logger.error("Error saving log:", str(e))
finally:
> dtest_setup.cleanup_cluster(request)

conftest.py:352:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
_ _

self = <dtest_setup.DTestSetup object at 0x7fe4988aaa90>
request = <SubRequest 'fixture_dtest_setup' for <Function
'test_compare_mismatch'>>

def cleanup_cluster(self, request=None):
with log_filter('cassandra'): # quiet noise from driver when nodes start
going down
> if self.dtest_config.keep_test_dir or
(self.dtest_config.keep_failed_test_dir and request and
request.node.rep_call.failed):
E AttributeError: 'Function' object has no attribute 'rep_call'

dtest_setup.py:351: AttributeError
----------------------------------------------------------------------------
Cassandra dtests // test_primary_range_repair // Error
test teardown failure

request = <SubRequest 'fixture_dtest_setup' for <Function
'test_primary_range_repair'>>
dtest_config = <dtest_config.DTestConfig object at 0x7fe49a29dee0>
fixture_dtest_setup_overrides = <dtest_setup_overrides.DTestSetupOverrides
object at 0x7fe48af69520>
fixture_logging_setup = None, fixture_dtest_cluster_name = 'test'
fixture_dtest_create_cluster_func = <function DTestSetup.create_ccm_cluster
at 0x7fe49ab12ca0>

@pytest.fixture(scope='function', autouse=False)
def fixture_dtest_setup(request,
dtest_config,
fixture_dtest_setup_overrides,
fixture_logging_setup,
fixture_dtest_cluster_name,
fixture_dtest_create_cluster_func):
if running_in_docker():
cleanup_docker_environment_before_test_execution()

# do all of our setup operations to get the enviornment ready for the actual
test
# to run (e.g. bring up a cluster with the necessary config, populate
variables, etc)
initial_environment = copy.deepcopy(os.environ)
dtest_setup = DTestSetup(dtest_config=dtest_config,
setup_overrides=fixture_dtest_setup_overrides,
cluster_name=fixture_dtest_cluster_name)
dtest_setup.initialize_cluster(fixture_dtest_create_cluster_func)

if not dtest_config.disable_active_log_watching:
dtest_setup.begin_active_log_watch()

# at this point we're done with our setup operations in this fixture
# yield to allow the actual test to run
yield dtest_setup

# phew! we're back after executing the test, now we need to do
# all of our teardown and cleanup operations

reset_environment_vars(initial_environment)
dtest_setup.jvm_args = []

for con in dtest_setup.connections:
con.cluster.shutdown()
dtest_setup.connections = []

failed = False
try:
if not dtest_setup.allow_log_errors:
errors = check_logs_for_errors(dtest_setup)
if len(errors) > 0:
failed = True
pytest.fail(msg='Unexpected error found in node logs (see stdout for full
details). Errors: [{errors}]'
.format(errors=str.join(", ", errors)), pytrace=False)
finally:
try:
# save the logs for inspection
if failed or not dtest_config.delete_logs:
copy_logs(request, dtest_setup.cluster)
except Exception as e:
logger.error("Error saving log:", str(e))
finally:
> dtest_setup.cleanup_cluster(request)

conftest.py:352:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
_ _

self = <dtest_setup.DTestSetup object at 0x7fe48af691f0>
request = <SubRequest 'fixture_dtest_setup' for <Function
'test_primary_range_repair'>>

def cleanup_cluster(self, request=None):
with log_filter('cassandra'): # quiet noise from driver when nodes start
going down
> if self.dtest_config.keep_test_dir or
(self.dtest_config.keep_failed_test_dir and request and
request.node.rep_call.failed):
E AttributeError: 'Function' object has no attribute 'rep_call'

dtest_setup.py:351: AttributeError
----------------------------------------------------------------------------
Cassandra dtests // test_tombstone_failure_threshold_message // Failure
cassandra.cluster.NoHostAvailable: ('Unable to connect to any servers',
{'127.0.0.1:9042': ConnectionShutdown('CRC mismatch on header 1085. Received
0", computed 6ab8cc.')})

self = <pushed_notifications_test.TestVariousNotifications object at
0x7f35e43d61f0>

@since('2.2')
def test_tombstone_failure_threshold_message(self):
"""
Ensure nodes return an error message in case of
TombstoneOverwhelmingExceptions rather
than dropping the request. A drop makes the coordinator waits for the
specified
read_request_timeout_in_ms.
@jira_ticket CASSANDRA-7886
"""
have_v5_protocol = self.cluster.version() >= LooseVersion('3.10')

self.fixture_dtest_setup.allow_log_errors = True
self.cluster.set_configuration_options(
values={
'tombstone_failure_threshold': 500,
'read_request_timeout_in_ms': 30000, # 30 seconds
'range_request_timeout_in_ms': 40000
}
)
self.cluster.populate(3).start()
node1, node2, node3 = self.cluster.nodelist()
proto_version = 5 if have_v5_protocol else None
> session = self.patient_cql_connection(node1,
protocol_version=proto_version)

pushed_notifications_test.py:401:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
_ _
dtest_setup.py:238: in patient_cql_connection
session = retry_till_success(
dtest_setup.py:39: in retry_till_success
return fun(*args, **kwargs)
dtest_setup.py:176: in cql_connection
return self._create_session(node, keyspace, user, password, compression,
dtest_setup.py:216: in _create_session
session = cluster.connect(wait_for_all_pools=True)
../venv/src/cassandra-driver/cassandra/cluster.py:1690: in connect
self.control_connection.connect()
../venv/src/cassandra-driver/cassandra/cluster.py:3488: in connect
self._set_new_connection(self._reconnect_internal())
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
_ _

self = <cassandra.cluster.ControlConnection object at 0x7f35f4af7a30>

def _reconnect_internal(self):
"""
Tries to connect to each host in the query plan until one succeeds
or every attempt fails. If successful, a new Connection will be
returned. Otherwise, :exc:`NoHostAvailable` will be raised
with an "errors" arg that is a dict mapping host addresses
to the exception that was raised when an attempt was made to open
a connection to that host.
"""
errors = {}
lbp = (
self._cluster.load_balancing_policy
if self._cluster._config_mode == _ConfigMode.LEGACY else
self._cluster._default_load_balancing_policy
)

for host in lbp.make_query_plan():
try:
return self._try_connect(host)
except ConnectionException as exc:
errors[str(host.endpoint)] = exc
log.warning("[control connection] Error connecting to %s:", host,
exc_info=True)
self._cluster.signal_connection_failure(host, exc, is_host_addition=False)
except Exception as exc:
errors[str(host.endpoint)] = exc
log.warning("[control connection] Error connecting to %s:", host,
exc_info=True)
if self._is_shutdown:
raise DriverException("[control connection] Reconnection in progress during
shutdown")

> raise NoHostAvailable("Unable to connect to any servers", errors)
E cassandra.cluster.NoHostAvailable: ('Unable to connect to any servers',
{'127.0.0.1:9042': ConnectionShutdown('CRC mismatch on header 1085. Received
0", computed 6ab8cc.')})

../venv/src/cassandra-driver/cassandra/cluster.py:3533: NoHostAvailable
----------------------------------------------------------------------------
Cassandra dtests // test_optimized_primary_range_repair // Error
test teardown failure

request = <SubRequest 'fixture_dtest_setup' for <Function
'test_optimized_primary_range_repair'>>
dtest_config = <dtest_config.DTestConfig object at 0x7f35f58896d0>
fixture_dtest_setup_overrides = <dtest_setup_overrides.DTestSetupOverrides
object at 0x7f35f4e920a0>
fixture_logging_setup = None, fixture_dtest_cluster_name = 'test'
fixture_dtest_create_cluster_func = <function DTestSetup.create_ccm_cluster
at 0x7f35f60ecb80>

@pytest.fixture(scope='function', autouse=False)
def fixture_dtest_setup(request,
dtest_config,
fixture_dtest_setup_overrides,
fixture_logging_setup,
fixture_dtest_cluster_name,
fixture_dtest_create_cluster_func):
if running_in_docker():
cleanup_docker_environment_before_test_execution()

# do all of our setup operations to get the enviornment ready for the actual
test
# to run (e.g. bring up a cluster with the necessary config, populate
variables, etc)
initial_environment = copy.deepcopy(os.environ)
dtest_setup = DTestSetup(dtest_config=dtest_config,
setup_overrides=fixture_dtest_setup_overrides,
cluster_name=fixture_dtest_cluster_name)
dtest_setup.initialize_cluster(fixture_dtest_create_cluster_func)

if not dtest_config.disable_active_log_watching:
dtest_setup.begin_active_log_watch()

# at this point we're done with our setup operations in this fixture
# yield to allow the actual test to run
yield dtest_setup

# phew! we're back after executing the test, now we need to do
# all of our teardown and cleanup operations

reset_environment_vars(initial_environment)
dtest_setup.jvm_args = []

for con in dtest_setup.connections:
con.cluster.shutdown()
dtest_setup.connections = []

failed = False
try:
if not dtest_setup.allow_log_errors:
errors = check_logs_for_errors(dtest_setup)
if len(errors) > 0:
failed = True
pytest.fail(msg='Unexpected error found in node logs (see stdout for full
details). Errors: [{errors}]'
.format(errors=str.join(", ", errors)), pytrace=False)
finally:
try:
# save the logs for inspection
if failed or not dtest_config.delete_logs:
copy_logs(request, dtest_setup.cluster)
except Exception as e:
logger.error("Error saving log:", str(e))
finally:
> dtest_setup.cleanup_cluster(request)

conftest.py:352:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
_ _

self = <dtest_setup.DTestSetup object at 0x7f35f5a43d00>
request = <SubRequest 'fixture_dtest_setup' for <Function
'test_optimized_primary_range_repair'>>

def cleanup_cluster(self, request=None):
with log_filter('cassandra'): # quiet noise from driver when nodes start
going down
> if self.dtest_config.keep_test_dir or
(self.dtest_config.keep_failed_test_dir and request and
request.node.rep_call.failed):
E AttributeError: 'Function' object has no attribute 'rep_call'

dtest_setup.py:351: AttributeError
----------------------------------------------------------------------------
Cassandra dtests // test_optimized_primary_range_repair_with_lcs // Error
test teardown failure

request = <SubRequest 'fixture_dtest_setup' for <Function
'test_optimized_primary_range_repair_with_lcs'>>
dtest_config = <dtest_config.DTestConfig object at 0x7f001ea6e6a0>
fixture_dtest_setup_overrides = <dtest_setup_overrides.DTestSetupOverrides
object at 0x7f001e0bc280>
fixture_logging_setup = None, fixture_dtest_cluster_name = 'test'
fixture_dtest_create_cluster_func = <function DTestSetup.create_ccm_cluster
at 0x7f001f2eeb80>

@pytest.fixture(scope='function', autouse=False)
def fixture_dtest_setup(request,
dtest_config,
fixture_dtest_setup_overrides,
fixture_logging_setup,
fixture_dtest_cluster_name,
fixture_dtest_create_cluster_func):
if running_in_docker():
cleanup_docker_environment_before_test_execution()

# do all of our setup operations to get the enviornment ready for the actual
test
# to run (e.g. bring up a cluster with the necessary config, populate
variables, etc)
initial_environment = copy.deepcopy(os.environ)
dtest_setup = DTestSetup(dtest_config=dtest_config,
setup_overrides=fixture_dtest_setup_overrides,
cluster_name=fixture_dtest_cluster_name)
dtest_setup.initialize_cluster(fixture_dtest_create_cluster_func)

if not dtest_config.disable_active_log_watching:
dtest_setup.begin_active_log_watch()

# at this point we're done with our setup operations in this fixture
# yield to allow the actual test to run
yield dtest_setup

# phew! we're back after executing the test, now we need to do
# all of our teardown and cleanup operations

reset_environment_vars(initial_environment)
dtest_setup.jvm_args = []

for con in dtest_setup.connections:
con.cluster.shutdown()
dtest_setup.connections = []

failed = False
try:
if not dtest_setup.allow_log_errors:
errors = check_logs_for_errors(dtest_setup)
if len(errors) > 0:
failed = True
pytest.fail(msg='Unexpected error found in node logs (see stdout for full
details). Errors: [{errors}]'
.format(errors=str.join(", ", errors)), pytrace=False)
finally:
try:
# save the logs for inspection
if failed or not dtest_config.delete_logs:
copy_logs(request, dtest_setup.cluster)
except Exception as e:
logger.error("Error saving log:", str(e))
finally:
> dtest_setup.cleanup_cluster(request)

conftest.py:352:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
_ _

self = <dtest_setup.DTestSetup object at 0x7f001e1e8d30>
request = <SubRequest 'fixture_dtest_setup' for <Function
'test_optimized_primary_range_repair_with_lcs'>>

def cleanup_cluster(self, request=None):
with log_filter('cassandra'): # quiet noise from driver when nodes start
going down
> if self.dtest_config.keep_test_dir or
(self.dtest_config.keep_failed_test_dir and request and
request.node.rep_call.failed):
E AttributeError: 'Function' object has no attribute 'rep_call'

dtest_setup.py:351: AttributeError
----------------------------------------------------------------------------
Cassandra dtests // test_transient_incremental_repair // Error
test teardown failure

request = <SubRequest 'fixture_dtest_setup' for <Function
'test_transient_incremental_repair'>>
dtest_config = <dtest_config.DTestConfig object at 0x7f96743d7640>
fixture_dtest_setup_overrides = <dtest_setup_overrides.DTestSetupOverrides
object at 0x7f96738f2850>
fixture_logging_setup = None, fixture_dtest_cluster_name = 'test'
fixture_dtest_create_cluster_func = <function DTestSetup.create_ccm_cluster
at 0x7f9674c5aa60>

@pytest.fixture(scope='function', autouse=False)
def fixture_dtest_setup(request,
dtest_config,
fixture_dtest_setup_overrides,
fixture_logging_setup,
fixture_dtest_cluster_name,
fixture_dtest_create_cluster_func):
if running_in_docker():
cleanup_docker_environment_before_test_execution()

# do all of our setup operations to get the enviornment ready for the actual
test
# to run (e.g. bring up a cluster with the necessary config, populate
variables, etc)
initial_environment = copy.deepcopy(os.environ)
dtest_setup = DTestSetup(dtest_config=dtest_config,
setup_overrides=fixture_dtest_setup_overrides,
cluster_name=fixture_dtest_cluster_name)
dtest_setup.initialize_cluster(fixture_dtest_create_cluster_func)

if not dtest_config.disable_active_log_watching:
dtest_setup.begin_active_log_watch()

# at this point we're done with our setup operations in this fixture
# yield to allow the actual test to run
yield dtest_setup

# phew! we're back after executing the test, now we need to do
# all of our teardown and cleanup operations

reset_environment_vars(initial_environment)
dtest_setup.jvm_args = []

for con in dtest_setup.connections:
con.cluster.shutdown()
dtest_setup.connections = []

failed = False
try:
if not dtest_setup.allow_log_errors:
errors = check_logs_for_errors(dtest_setup)
if len(errors) > 0:
failed = True
pytest.fail(msg='Unexpected error found in node logs (see stdout for full
details). Errors: [{errors}]'
.format(errors=str.join(", ", errors)), pytrace=False)
finally:
try:
# save the logs for inspection
if failed or not dtest_config.delete_logs:
copy_logs(request, dtest_setup.cluster)
except Exception as e:
logger.error("Error saving log:", str(e))
finally:
> dtest_setup.cleanup_cluster(request)

conftest.py:352:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
_ _

self = <dtest_setup.DTestSetup object at 0x7f96738f2c40>
request = <SubRequest 'fixture_dtest_setup' for <Function
'test_transient_incremental_repair'>>

def cleanup_cluster(self, request=None):
with log_filter('cassandra'): # quiet noise from driver when nodes start
going down
> if self.dtest_config.keep_test_dir or
(self.dtest_config.keep_failed_test_dir and request and
request.node.rep_call.failed):
E AttributeError: 'Function' object has no attribute 'rep_call'

dtest_setup.py:351: AttributeError
----------------------------------------------------------------------------
Cassandra dtests // test_full_repair_from_full_replica // Error
test teardown failure

request = <SubRequest 'fixture_dtest_setup' for <Function
'test_full_repair_from_full_replica'>>
dtest_config = <dtest_config.DTestConfig object at 0x7f578aada760>
fixture_dtest_setup_overrides = <dtest_setup_overrides.DTestSetupOverrides
object at 0x7f5789ff71f0>
fixture_logging_setup = None, fixture_dtest_cluster_name = 'test'
fixture_dtest_create_cluster_func = <function DTestSetup.create_ccm_cluster
at 0x7f578b333af0>

@pytest.fixture(scope='function', autouse=False)
def fixture_dtest_setup(request,
dtest_config,
fixture_dtest_setup_overrides,
fixture_logging_setup,
fixture_dtest_cluster_name,
fixture_dtest_create_cluster_func):
if running_in_docker():
cleanup_docker_environment_before_test_execution()

# do all of our setup operations to get the enviornment ready for the actual
test
# to run (e.g. bring up a cluster with the necessary config, populate
variables, etc)
initial_environment = copy.deepcopy(os.environ)
dtest_setup = DTestSetup(dtest_config=dtest_config,
setup_overrides=fixture_dtest_setup_overrides,
cluster_name=fixture_dtest_cluster_name)
dtest_setup.initialize_cluster(fixture_dtest_create_cluster_func)

if not dtest_config.disable_active_log_watching:
dtest_setup.begin_active_log_watch()

# at this point we're done with our setup operations in this fixture
# yield to allow the actual test to run
yield dtest_setup

# phew! we're back after executing the test, now we need to do
# all of our teardown and cleanup operations

reset_environment_vars(initial_environment)
dtest_setup.jvm_args = []

for con in dtest_setup.connections:
con.cluster.shutdown()
dtest_setup.connections = []

failed = False
try:
if not dtest_setup.allow_log_errors:
errors = check_logs_for_errors(dtest_setup)
if len(errors) > 0:
failed = True
pytest.fail(msg='Unexpected error found in node logs (see stdout for full
details). Errors: [{errors}]'
.format(errors=str.join(", ", errors)), pytrace=False)
finally:
try:
# save the logs for inspection
if failed or not dtest_config.delete_logs:
copy_logs(request, dtest_setup.cluster)
except Exception as e:
logger.error("Error saving log:", str(e))
finally:
> dtest_setup.cleanup_cluster(request)

conftest.py:352:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
_ _

self = <dtest_setup.DTestSetup object at 0x7f5789ff7c10>
request = <SubRequest 'fixture_dtest_setup' for <Function
'test_full_repair_from_full_replica'>>

def cleanup_cluster(self, request=None):
with log_filter('cassandra'): # quiet noise from driver when nodes start
going down
> if self.dtest_config.keep_test_dir or
(self.dtest_config.keep_failed_test_dir and request and
request.node.rep_call.failed):
E AttributeError: 'Function' object has no attribute 'rep_call'

dtest_setup.py:351: AttributeError
----------------------------------------------------------------------------
Cassandra dtests // test_hintedhandoff_setmaxwindow // Error
test teardown failure

request = <SubRequest 'fixture_dtest_setup' for <Function
'test_hintedhandoff_setmaxwindow'>>
dtest_config = <dtest_config.DTestConfig object at 0x7ff90a962130>
fixture_dtest_setup_overrides = <dtest_setup_overrides.DTestSetupOverrides
object at 0x7ff90ae67670>
fixture_logging_setup = None, fixture_dtest_cluster_name = 'test'
fixture_dtest_create_cluster_func = <function DTestSetup.create_ccm_cluster
at 0x7ff90b07cb80>

@pytest.fixture(scope='function', autouse=False)
def fixture_dtest_setup(request,
dtest_config,
fixture_dtest_setup_overrides,
fixture_logging_setup,
fixture_dtest_cluster_name,
fixture_dtest_create_cluster_func):
if running_in_docker():
cleanup_docker_environment_before_test_execution()

# do all of our setup operations to get the enviornment ready for the actual
test
# to run (e.g. bring up a cluster with the necessary config, populate
variables, etc)
initial_environment = copy.deepcopy(os.environ)
dtest_setup = DTestSetup(dtest_config=dtest_config,
setup_overrides=fixture_dtest_setup_overrides,
cluster_name=fixture_dtest_cluster_name)
dtest_setup.initialize_cluster(fixture_dtest_create_cluster_func)

if not dtest_config.disable_active_log_watching:
dtest_setup.begin_active_log_watch()

# at this point we're done with our setup operations in this fixture
# yield to allow the actual test to run
yield dtest_setup

# phew! we're back after executing the test, now we need to do
# all of our teardown and cleanup operations

reset_environment_vars(initial_environment)
dtest_setup.jvm_args = []

for con in dtest_setup.connections:
con.cluster.shutdown()
dtest_setup.connections = []

failed = False
try:
if not dtest_setup.allow_log_errors:
errors = check_logs_for_errors(dtest_setup)
if len(errors) > 0:
failed = True
pytest.fail(msg='Unexpected error found in node logs (see stdout for full
details). Errors: [{errors}]'
.format(errors=str.join(", ", errors)), pytrace=False)
finally:
try:
# save the logs for inspection
if failed or not dtest_config.delete_logs:
copy_logs(request, dtest_setup.cluster)
except Exception as e:
logger.error("Error saving log:", str(e))
finally:
> dtest_setup.cleanup_cluster(request)

conftest.py:352:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
_ _

self = <dtest_setup.DTestSetup object at 0x7ff90ae06850>
request = <SubRequest 'fixture_dtest_setup' for <Function
'test_hintedhandoff_setmaxwindow'>>

def cleanup_cluster(self, request=None):
with log_filter('cassandra'): # quiet noise from driver when nodes start
going down
> if self.dtest_config.keep_test_dir or
(self.dtest_config.keep_failed_test_dir and request and
request.node.rep_call.failed):
E AttributeError: 'Function' object has no attribute 'rep_call'

dtest_setup.py:351: AttributeError
----------------------------------------------------------------------------
Cassandra dtests // test_optional_outbound_tls // Error
test teardown failure

request = <SubRequest 'fixture_dtest_setup' for <Function
'test_optional_outbound_tls'>>
dtest_config = <dtest_config.DTestConfig object at 0x7ff90a962130>
fixture_dtest_setup_overrides = <dtest_setup_overrides.DTestSetupOverrides
object at 0x7ff90a9a15b0>
fixture_logging_setup = None, fixture_dtest_cluster_name = 'test'
fixture_dtest_create_cluster_func = <function DTestSetup.create_ccm_cluster
at 0x7ff90b07cb80>

@pytest.fixture(scope='function', autouse=False)
def fixture_dtest_setup(request,
dtest_config,
fixture_dtest_setup_overrides,
fixture_logging_setup,
fixture_dtest_cluster_name,
fixture_dtest_create_cluster_func):
if running_in_docker():
cleanup_docker_environment_before_test_execution()

# do all of our setup operations to get the enviornment ready for the actual
test
# to run (e.g. bring up a cluster with the necessary config, populate
variables, etc)
initial_environment = copy.deepcopy(os.environ)
dtest_setup = DTestSetup(dtest_config=dtest_config,
setup_overrides=fixture_dtest_setup_overrides,
cluster_name=fixture_dtest_cluster_name)
dtest_setup.initialize_cluster(fixture_dtest_create_cluster_func)

if not dtest_config.disable_active_log_watching:
dtest_setup.begin_active_log_watch()

# at this point we're done with our setup operations in this fixture
# yield to allow the actual test to run
yield dtest_setup

# phew! we're back after executing the test, now we need to do
# all of our teardown and cleanup operations

reset_environment_vars(initial_environment)
dtest_setup.jvm_args = []

for con in dtest_setup.connections:
con.cluster.shutdown()
dtest_setup.connections = []

failed = False
try:
if not dtest_setup.allow_log_errors:
errors = check_logs_for_errors(dtest_setup)
if len(errors) > 0:
failed = True
pytest.fail(msg='Unexpected error found in node logs (see stdout for full
details). Errors: [{errors}]'
.format(errors=str.join(", ", errors)), pytrace=False)
finally:
try:
# save the logs for inspection
if failed or not dtest_config.delete_logs:
copy_logs(request, dtest_setup.cluster)
except Exception as e:
logger.error("Error saving log:", str(e))
finally:
> dtest_setup.cleanup_cluster(request)

conftest.py:352:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
_ _

self = <dtest_setup.DTestSetup object at 0x7ff90a88b5b0>
request = <SubRequest 'fixture_dtest_setup' for <Function
'test_optional_outbound_tls'>>

def cleanup_cluster(self, request=None):
with log_filter('cassandra'): # quiet noise from driver when nodes start
going down
> if self.dtest_config.keep_test_dir or
(self.dtest_config.keep_failed_test_dir and request and
request.node.rep_call.failed):
E AttributeError: 'Function' object has no attribute 'rep_call'

dtest_setup.py:351: AttributeError
----------------------------------------------------------------------------
Cassandra dtests // test_full_repair_from_transient_replica // Error
test teardown failure

request = <SubRequest 'fixture_dtest_setup' for <Function
'test_full_repair_from_transient_replica'>>
dtest_config = <dtest_config.DTestConfig object at 0x7ff90a962130>
fixture_dtest_setup_overrides = <dtest_setup_overrides.DTestSetupOverrides
object at 0x7ff908ec9820>
fixture_logging_setup = None, fixture_dtest_cluster_name = 'test'
fixture_dtest_create_cluster_func = <function DTestSetup.create_ccm_cluster
at 0x7ff90b07cb80>

@pytest.fixture(scope='function', autouse=False)
def fixture_dtest_setup(request,
dtest_config,
fixture_dtest_setup_overrides,
fixture_logging_setup,
fixture_dtest_cluster_name,
fixture_dtest_create_cluster_func):
if running_in_docker():
cleanup_docker_environment_before_test_execution()

# do all of our setup operations to get the enviornment ready for the actual
test
# to run (e.g. bring up a cluster with the necessary config, populate
variables, etc)
initial_environment = copy.deepcopy(os.environ)
dtest_setup = DTestSetup(dtest_config=dtest_config,
setup_overrides=fixture_dtest_setup_overrides,
cluster_name=fixture_dtest_cluster_name)
dtest_setup.initialize_cluster(fixture_dtest_create_cluster_func)

if not dtest_config.disable_active_log_watching:
dtest_setup.begin_active_log_watch()

# at this point we're done with our setup operations in this fixture
# yield to allow the actual test to run
yield dtest_setup

# phew! we're back after executing the test, now we need to do
# all of our teardown and cleanup operations

reset_environment_vars(initial_environment)
dtest_setup.jvm_args = []

for con in dtest_setup.connections:
con.cluster.shutdown()
dtest_setup.connections = []

failed = False
try:
if not dtest_setup.allow_log_errors:
errors = check_logs_for_errors(dtest_setup)
if len(errors) > 0:
failed = True
pytest.fail(msg='Unexpected error found in node logs (see stdout for full
details). Errors: [{errors}]'
.format(errors=str.join(", ", errors)), pytrace=False)
finally:
try:
# save the logs for inspection
if failed or not dtest_config.delete_logs:
copy_logs(request, dtest_setup.cluster)
except Exception as e:
logger.error("Error saving log:", str(e))
finally:
> dtest_setup.cleanup_cluster(request)

conftest.py:352:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
_ _

self = <dtest_setup.DTestSetup object at 0x7ff908ec9580>
request = <SubRequest 'fixture_dtest_setup' for <Function
'test_full_repair_from_transient_replica'>>

def cleanup_cluster(self, request=None):
with log_filter('cassandra'): # quiet noise from driver when nodes start
going down
> if self.dtest_config.keep_test_dir or
(self.dtest_config.keep_failed_test_dir and request and
request.node.rep_call.failed):
E AttributeError: 'Function' object has no attribute 'rep_call'

dtest_setup.py:351: AttributeError
----------------------------------------------------------------------------
Cassandra dtests // test_always_speculate // Error
test teardown failure

request = <SubRequest 'fixture_dtest_setup' for <Function
'test_always_speculate'>>
dtest_config = <dtest_config.DTestConfig object at 0x7fd83d76dbb0>
fixture_dtest_setup_overrides = <dtest_setup_overrides.DTestSetupOverrides
object at 0x7fd83de375e0>
fixture_logging_setup = None, fixture_dtest_cluster_name = 'test'
fixture_dtest_create_cluster_func = <function DTestSetup.create_ccm_cluster
at 0x7fd83e04c9d0>

@pytest.fixture(scope='function', autouse=False)
def fixture_dtest_setup(request,
dtest_config,
fixture_dtest_setup_overrides,
fixture_logging_setup,
fixture_dtest_cluster_name,
fixture_dtest_create_cluster_func):
if running_in_docker():
cleanup_docker_environment_before_test_execution()

# do all of our setup operations to get the enviornment ready for the actual
test
# to run (e.g. bring up a cluster with the necessary config, populate
variables, etc)
initial_environment = copy.deepcopy(os.environ)
dtest_setup = DTestSetup(dtest_config=dtest_config,
setup_overrides=fixture_dtest_setup_overrides,
cluster_name=fixture_dtest_cluster_name)
dtest_setup.initialize_cluster(fixture_dtest_create_cluster_func)

if not dtest_config.disable_active_log_watching:
dtest_setup.begin_active_log_watch()

# at this point we're done with our setup operations in this fixture
# yield to allow the actual test to run
yield dtest_setup

# phew! we're back after executing the test, now we need to do
# all of our teardown and cleanup operations

reset_environment_vars(initial_environment)
dtest_setup.jvm_args = []

for con in dtest_setup.connections:
con.cluster.shutdown()
dtest_setup.connections = []

failed = False
try:
if not dtest_setup.allow_log_errors:
errors = check_logs_for_errors(dtest_setup)
if len(errors) > 0:
failed = True
pytest.fail(msg='Unexpected error found in node logs (see stdout for full
details). Errors: [{errors}]'
.format(errors=str.join(", ", errors)), pytrace=False)
finally:
try:
# save the logs for inspection
if failed or not dtest_config.delete_logs:
copy_logs(request, dtest_setup.cluster)
except Exception as e:
logger.error("Error saving log:", str(e))
finally:
> dtest_setup.cleanup_cluster(request)

conftest.py:352:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
_ _

self = <dtest_setup.DTestSetup object at 0x7fd83c63eb20>
request = <SubRequest 'fixture_dtest_setup' for <Function
'test_always_speculate'>>

def cleanup_cluster(self, request=None):
with log_filter('cassandra'): # quiet noise from driver when nodes start
going down
> if self.dtest_config.keep_test_dir or
(self.dtest_config.keep_failed_test_dir and request and
request.node.rep_call.failed):
E AttributeError: 'Function' object has no attribute 'rep_call'

dtest_setup.py:351: AttributeError
----------------------------------------------------------------------------
Cassandra dtests // test_drop_with_stopped_build // Error
test teardown failure

request = <SubRequest 'fixture_dtest_setup' for <Function
'test_drop_with_stopped_build'>>
dtest_config = <dtest_config.DTestConfig object at 0x7f8221285ac0>
fixture_dtest_setup_overrides = <dtest_setup_overrides.DTestSetupOverrides
object at 0x7f822004e850>
fixture_logging_setup = None, fixture_dtest_cluster_name = 'test'
fixture_dtest_create_cluster_func = <function DTestSetup.create_ccm_cluster
at 0x7f8221927a60>

@pytest.fixture(scope='function', autouse=False)
def fixture_dtest_setup(request,
dtest_config,
fixture_dtest_setup_overrides,
fixture_logging_setup,
fixture_dtest_cluster_name,
fixture_dtest_create_cluster_func):
if running_in_docker():
cleanup_docker_environment_before_test_execution()

# do all of our setup operations to get the enviornment ready for the actual
test
# to run (e.g. bring up a cluster with the necessary config, populate
variables, etc)
initial_environment = copy.deepcopy(os.environ)
dtest_setup = DTestSetup(dtest_config=dtest_config,
setup_overrides=fixture_dtest_setup_overrides,
cluster_name=fixture_dtest_cluster_name)
dtest_setup.initialize_cluster(fixture_dtest_create_cluster_func)

if not dtest_config.disable_active_log_watching:
dtest_setup.begin_active_log_watch()

# at this point we're done with our setup operations in this fixture
# yield to allow the actual test to run
yield dtest_setup

# phew! we're back after executing the test, now we need to do
# all of our teardown and cleanup operations

reset_environment_vars(initial_environment)
dtest_setup.jvm_args = []

for con in dtest_setup.connections:
con.cluster.shutdown()
dtest_setup.connections = []

failed = False
try:
if not dtest_setup.allow_log_errors:
errors = check_logs_for_errors(dtest_setup)
if len(errors) > 0:
failed = True
pytest.fail(msg='Unexpected error found in node logs (see stdout for full
details). Errors: [{errors}]'
.format(errors=str.join(", ", errors)), pytrace=False)
finally:
try:
# save the logs for inspection
if failed or not dtest_config.delete_logs:
copy_logs(request, dtest_setup.cluster)
except Exception as e:
logger.error("Error saving log:", str(e))
finally:
> dtest_setup.cleanup_cluster(request)

conftest.py:352:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
_ _

self = <dtest_setup.DTestSetup object at 0x7f822004e5e0>
request = <SubRequest 'fixture_dtest_setup' for <Function
'test_drop_with_stopped_build'>>

def cleanup_cluster(self, request=None):
with log_filter('cassandra'): # quiet noise from driver when nodes start
going down
> if self.dtest_config.keep_test_dir or
(self.dtest_config.keep_failed_test_dir and request and
request.node.rep_call.failed):
E AttributeError: 'Function' object has no attribute 'rep_call'

dtest_setup.py:351: AttributeError
----------------------------------------------------------------------------
Cassandra dtests // test_custom_speculate // Error
test teardown failure

request = <SubRequest 'fixture_dtest_setup' for <Function
'test_custom_speculate'>>
dtest_config = <dtest_config.DTestConfig object at 0x7f8221285ac0>
fixture_dtest_setup_overrides = <dtest_setup_overrides.DTestSetupOverrides
object at 0x7f822127fcd0>
fixture_logging_setup = None, fixture_dtest_cluster_name = 'test'
fixture_dtest_create_cluster_func = <function DTestSetup.create_ccm_cluster
at 0x7f8221927a60>

@pytest.fixture(scope='function', autouse=False)
def fixture_dtest_setup(request,
dtest_config,
fixture_dtest_setup_overrides,
fixture_logging_setup,
fixture_dtest_cluster_name,
fixture_dtest_create_cluster_func):
if running_in_docker():
cleanup_docker_environment_before_test_execution()

# do all of our setup operations to get the enviornment ready for the actual
test
# to run (e.g. bring up a cluster with the necessary config, populate
variables, etc)
initial_environment = copy.deepcopy(os.environ)
dtest_setup = DTestSetup(dtest_config=dtest_config,
setup_overrides=fixture_dtest_setup_overrides,
cluster_name=fixture_dtest_cluster_name)
dtest_setup.initialize_cluster(fixture_dtest_create_cluster_func)

if not dtest_config.disable_active_log_watching:
dtest_setup.begin_active_log_watch()

# at this point we're done with our setup operations in this fixture
# yield to allow the actual test to run
yield dtest_setup

# phew! we're back after executing the test, now we need to do
# all of our teardown and cleanup operations

reset_environment_vars(initial_environment)
dtest_setup.jvm_args = []

for con in dtest_setup.connections:
con.cluster.shutdown()
dtest_setup.connections = []

failed = False
try:
if not dtest_setup.allow_log_errors:
errors = check_logs_for_errors(dtest_setup)
if len(errors) > 0:
failed = True
pytest.fail(msg='Unexpected error found in node logs (see stdout for full
details). Errors: [{errors}]'
.format(errors=str.join(", ", errors)), pytrace=False)
finally:
try:
# save the logs for inspection
if failed or not dtest_config.delete_logs:
copy_logs(request, dtest_setup.cluster)
except Exception as e:
logger.error("Error saving log:", str(e))
finally:
> dtest_setup.cleanup_cluster(request)

conftest.py:352:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
_ _

self = <dtest_setup.DTestSetup object at 0x7f8221716160>
request = <SubRequest 'fixture_dtest_setup' for <Function
'test_custom_speculate'>>

def cleanup_cluster(self, request=None):
with log_filter('cassandra'): # quiet noise from driver when nodes start
going down
> if self.dtest_config.keep_test_dir or
(self.dtest_config.keep_failed_test_dir and request and
request.node.rep_call.failed):
E AttributeError: 'Function' object has no attribute 'rep_call'

dtest_setup.py:351: AttributeError
----------------------------------------------------------------------------
Cassandra dtests // test_resume_stopped_build // Error
test teardown failure

request = <SubRequest 'fixture_dtest_setup' for <Function
'test_resume_stopped_build'>>
dtest_config = <dtest_config.DTestConfig object at 0x7f49e7e6bee0>
fixture_dtest_setup_overrides = <dtest_setup_overrides.DTestSetupOverrides
object at 0x7f49e6525760>
fixture_logging_setup = None, fixture_dtest_cluster_name = 'test'
fixture_dtest_create_cluster_func = <function DTestSetup.create_ccm_cluster
at 0x7f49e86afb80>

@pytest.fixture(scope='function', autouse=False)
def fixture_dtest_setup(request,
dtest_config,
fixture_dtest_setup_overrides,
fixture_logging_setup,
fixture_dtest_cluster_name,
fixture_dtest_create_cluster_func):
if running_in_docker():
cleanup_docker_environment_before_test_execution()

# do all of our setup operations to get the enviornment ready for the actual
test
# to run (e.g. bring up a cluster with the necessary config, populate
variables, etc)
initial_environment = copy.deepcopy(os.environ)
dtest_setup = DTestSetup(dtest_config=dtest_config,
setup_overrides=fixture_dtest_setup_overrides,
cluster_name=fixture_dtest_cluster_name)
dtest_setup.initialize_cluster(fixture_dtest_create_cluster_func)

if not dtest_config.disable_active_log_watching:
dtest_setup.begin_active_log_watch()

# at this point we're done with our setup operations in this fixture
# yield to allow the actual test to run
yield dtest_setup

# phew! we're back after executing the test, now we need to do
# all of our teardown and cleanup operations

reset_environment_vars(initial_environment)
dtest_setup.jvm_args = []

for con in dtest_setup.connections:
con.cluster.shutdown()
dtest_setup.connections = []

failed = False
try:
if not dtest_setup.allow_log_errors:
errors = check_logs_for_errors(dtest_setup)
if len(errors) > 0:
failed = True
pytest.fail(msg='Unexpected error found in node logs (see stdout for full
details). Errors: [{errors}]'
.format(errors=str.join(", ", errors)), pytrace=False)
finally:
try:
# save the logs for inspection
if failed or not dtest_config.delete_logs:
copy_logs(request, dtest_setup.cluster)
except Exception as e:
logger.error("Error saving log:", str(e))
finally:
> dtest_setup.cleanup_cluster(request)

conftest.py:352:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
_ _

self = <dtest_setup.DTestSetup object at 0x7f49e64fdca0>
request = <SubRequest 'fixture_dtest_setup' for <Function
'test_resume_stopped_build'>>

def cleanup_cluster(self, request=None):
with log_filter('cassandra'): # quiet noise from driver when nodes start
going down
> if self.dtest_config.keep_test_dir or
(self.dtest_config.keep_failed_test_dir and request and
request.node.rep_call.failed):
E AttributeError: 'Function' object has no attribute 'rep_call'

dtest_setup.py:351: AttributeError
----------------------------------------------------------------------------
Cassandra dtests // test_non_replicated_ks_repair // Error
test teardown failure

request = <SubRequest 'fixture_dtest_setup' for <Function
'test_non_replicated_ks_repair'>>
dtest_config = <dtest_config.DTestConfig object at 0x7f49e7e6bee0>
fixture_dtest_setup_overrides = <dtest_setup_overrides.DTestSetupOverrides
object at 0x7f49e849a220>
fixture_logging_setup = None, fixture_dtest_cluster_name = 'test'
fixture_dtest_create_cluster_func = <function DTestSetup.create_ccm_cluster
at 0x7f49e86afb80>

@pytest.fixture(scope='function', autouse=False)
def fixture_dtest_setup(request,
dtest_config,
fixture_dtest_setup_overrides,
fixture_logging_setup,
fixture_dtest_cluster_name,
fixture_dtest_create_cluster_func):
if running_in_docker():
cleanup_docker_environment_before_test_execution()

# do all of our setup operations to get the enviornment ready for the actual
test
# to run (e.g. bring up a cluster with the necessary config, populate
variables, etc)
initial_environment = copy.deepcopy(os.environ)
dtest_setup = DTestSetup(dtest_config=dtest_config,
setup_overrides=fixture_dtest_setup_overrides,
cluster_name=fixture_dtest_cluster_name)
dtest_setup.initialize_cluster(fixture_dtest_create_cluster_func)

if not dtest_config.disable_active_log_watching:
dtest_setup.begin_active_log_watch()

# at this point we're done with our setup operations in this fixture
# yield to allow the actual test to run
yield dtest_setup

# phew! we're back after executing the test, now we need to do
# all of our teardown and cleanup operations

reset_environment_vars(initial_environment)
dtest_setup.jvm_args = []

for con in dtest_setup.connections:
con.cluster.shutdown()
dtest_setup.connections = []

failed = False
try:
if not dtest_setup.allow_log_errors:
errors = check_logs_for_errors(dtest_setup)
if len(errors) > 0:
failed = True
pytest.fail(msg='Unexpected error found in node logs (see stdout for full
details). Errors: [{errors}]'
.format(errors=str.join(", ", errors)), pytrace=False)
finally:
try:
# save the logs for inspection
if failed or not dtest_config.delete_logs:
copy_logs(request, dtest_setup.cluster)
except Exception as e:
logger.error("Error saving log:", str(e))
finally:
> dtest_setup.cleanup_cluster(request)

conftest.py:352:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
_ _

self = <dtest_setup.DTestSetup object at 0x7f49e849ae80>
request = <SubRequest 'fixture_dtest_setup' for <Function
'test_non_replicated_ks_repair'>>

def cleanup_cluster(self, request=None):
with log_filter('cassandra'): # quiet noise from driver when nodes start
going down
> if self.dtest_config.keep_test_dir or
(self.dtest_config.keep_failed_test_dir and request and
request.node.rep_call.failed):
E AttributeError: 'Function' object has no attribute 'rep_call'

dtest_setup.py:351: AttributeError
----------------------------------------------------------------------------
Cassandra dtests // test_normal_read_repair // Error
test teardown failure

request = <SubRequest 'fixture_dtest_setup' for <Function
'test_normal_read_repair'>>
dtest_config = <dtest_config.DTestConfig object at 0x7fd86f15ca00>
fixture_dtest_setup_overrides = <dtest_setup_overrides.DTestSetupOverrides
object at 0x7fd86d57b6d0>
fixture_logging_setup = None, fixture_dtest_cluster_name = 'test'
fixture_dtest_create_cluster_func = <function DTestSetup.create_ccm_cluster
at 0x7fd86f729af0>

@pytest.fixture(scope='function', autouse=False)
def fixture_dtest_setup(request,
dtest_config,
fixture_dtest_setup_overrides,
fixture_logging_setup,
fixture_dtest_cluster_name,
fixture_dtest_create_cluster_func):
if running_in_docker():
cleanup_docker_environment_before_test_execution()

# do all of our setup operations to get the enviornment ready for the actual
test
# to run (e.g. bring up a cluster with the necessary config, populate
variables, etc)
initial_environment = copy.deepcopy(os.environ)
dtest_setup = DTestSetup(dtest_config=dtest_config,
setup_overrides=fixture_dtest_setup_overrides,
cluster_name=fixture_dtest_cluster_name)
dtest_setup.initialize_cluster(fixture_dtest_create_cluster_func)

if not dtest_config.disable_active_log_watching:
dtest_setup.begin_active_log_watch()

# at this point we're done with our setup operations in this fixture
# yield to allow the actual test to run
yield dtest_setup

# phew! we're back after executing the test, now we need to do
# all of our teardown and cleanup operations

reset_environment_vars(initial_environment)
dtest_setup.jvm_args = []

for con in dtest_setup.connections:
con.cluster.shutdown()
dtest_setup.connections = []

failed = False
try:
if not dtest_setup.allow_log_errors:
errors = check_logs_for_errors(dtest_setup)
if len(errors) > 0:
failed = True
pytest.fail(msg='Unexpected error found in node logs (see stdout for full
details). Errors: [{errors}]'
.format(errors=str.join(", ", errors)), pytrace=False)
finally:
try:
# save the logs for inspection
if failed or not dtest_config.delete_logs:
copy_logs(request, dtest_setup.cluster)
except Exception as e:
logger.error("Error saving log:", str(e))
finally:
> dtest_setup.cleanup_cluster(request)

conftest.py:352:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
_ _

self = <dtest_setup.DTestSetup object at 0x7fd86c3dea60>
request = <SubRequest 'fixture_dtest_setup' for <Function
'test_normal_read_repair'>>

def cleanup_cluster(self, request=None):
with log_filter('cassandra'): # quiet noise from driver when nodes start
going down
> if self.dtest_config.keep_test_dir or
(self.dtest_config.keep_failed_test_dir and request and
request.node.rep_call.failed):
E AttributeError: 'Function' object has no attribute 'rep_call'

dtest_setup.py:351: AttributeError
----------------------------------------------------------------------------
Cassandra dtests // test_remove_column_ttl_with_default_ttl // Error
test teardown failure

request = <SubRequest 'fixture_dtest_setup' for <Function
'test_remove_column_ttl_with_default_ttl'>>
dtest_config = <dtest_config.DTestConfig object at 0x7fd86f15ca00>
fixture_dtest_setup_overrides = <dtest_setup_overrides.DTestSetupOverrides
object at 0x7fd86c4b1d60>
fixture_logging_setup = None, fixture_dtest_cluster_name = 'test'
fixture_dtest_create_cluster_func = <function DTestSetup.create_ccm_cluster
at 0x7fd86f729af0>

@pytest.fixture(scope='function', autouse=False)
def fixture_dtest_setup(request,
dtest_config,
fixture_dtest_setup_overrides,
fixture_logging_setup,
fixture_dtest_cluster_name,
fixture_dtest_create_cluster_func):
if running_in_docker():
cleanup_docker_environment_before_test_execution()

# do all of our setup operations to get the enviornment ready for the actual
test
# to run (e.g. bring up a cluster with the necessary config, populate
variables, etc)
initial_environment = copy.deepcopy(os.environ)
dtest_setup = DTestSetup(dtest_config=dtest_config,
setup_overrides=fixture_dtest_setup_overrides,
cluster_name=fixture_dtest_cluster_name)
dtest_setup.initialize_cluster(fixture_dtest_create_cluster_func)

if not dtest_config.disable_active_log_watching:
dtest_setup.begin_active_log_watch()

# at this point we're done with our setup operations in this fixture
# yield to allow the actual test to run
yield dtest_setup

# phew! we're back after executing the test, now we need to do
# all of our teardown and cleanup operations

reset_environment_vars(initial_environment)
dtest_setup.jvm_args = []

for con in dtest_setup.connections:
con.cluster.shutdown()
dtest_setup.connections = []

failed = False
try:
if not dtest_setup.allow_log_errors:
errors = check_logs_for_errors(dtest_setup)
if len(errors) > 0:
failed = True
pytest.fail(msg='Unexpected error found in node logs (see stdout for full
details). Errors: [{errors}]'
.format(errors=str.join(", ", errors)), pytrace=False)
finally:
try:
# save the logs for inspection
if failed or not dtest_config.delete_logs:
copy_logs(request, dtest_setup.cluster)
except Exception as e:
logger.error("Error saving log:", str(e))
finally:
> dtest_setup.cleanup_cluster(request)

conftest.py:352:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
_ _

self = <dtest_setup.DTestSetup object at 0x7fd86c4b16d0>
request = <SubRequest 'fixture_dtest_setup' for <Function
'test_remove_column_ttl_with_default_ttl'>>

def cleanup_cluster(self, request=None):
with log_filter('cassandra'): # quiet noise from driver when nodes start
going down
> if self.dtest_config.keep_test_dir or
(self.dtest_config.keep_failed_test_dir and request and
request.node.rep_call.failed):
E AttributeError: 'Function' object has no attribute 'rep_call'

dtest_setup.py:351: AttributeError
----------------------------------------------------------------------------
Cassandra dtests // test_multiple_ranges_repair // Error
test teardown failure

request = <SubRequest 'fixture_dtest_setup' for <Function
'test_multiple_ranges_repair'>>
dtest_config = <dtest_config.DTestConfig object at 0x7fa6cdb88250>
fixture_dtest_setup_overrides = <dtest_setup_overrides.DTestSetupOverrides
object at 0x7fa6bc2f3880>
fixture_logging_setup = None, fixture_dtest_cluster_name = 'test'
fixture_dtest_create_cluster_func = <function DTestSetup.create_ccm_cluster
at 0x7fa6ce41caf0>

@pytest.fixture(scope='function', autouse=False)
def fixture_dtest_setup(request,
dtest_config,
fixture_dtest_setup_overrides,
fixture_logging_setup,
fixture_dtest_cluster_name,
fixture_dtest_create_cluster_func):
if running_in_docker():
cleanup_docker_environment_before_test_execution()

# do all of our setup operations to get the enviornment ready for the actual
test
# to run (e.g. bring up a cluster with the necessary config, populate
variables, etc)
initial_environment = copy.deepcopy(os.environ)
dtest_setup = DTestSetup(dtest_config=dtest_config,
setup_overrides=fixture_dtest_setup_overrides,
cluster_name=fixture_dtest_cluster_name)
dtest_setup.initialize_cluster(fixture_dtest_create_cluster_func)

if not dtest_config.disable_active_log_watching:
dtest_setup.begin_active_log_watch()

# at this point we're done with our setup operations in this fixture
# yield to allow the actual test to run
yield dtest_setup

# phew! we're back after executing the test, now we need to do
# all of our teardown and cleanup operations

reset_environment_vars(initial_environment)
dtest_setup.jvm_args = []

for con in dtest_setup.connections:
con.cluster.shutdown()
dtest_setup.connections = []

failed = False
try:
if not dtest_setup.allow_log_errors:
errors = check_logs_for_errors(dtest_setup)
if len(errors) > 0:
failed = True
pytest.fail(msg='Unexpected error found in node logs (see stdout for full
details). Errors: [{errors}]'
.format(errors=str.join(", ", errors)), pytrace=False)
finally:
try:
# save the logs for inspection
if failed or not dtest_config.delete_logs:
copy_logs(request, dtest_setup.cluster)
except Exception as e:
logger.error("Error saving log:", str(e))
finally:
> dtest_setup.cleanup_cluster(request)

conftest.py:352:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
_ _

self = <dtest_setup.DTestSetup object at 0x7fa6bc2f32e0>
request = <SubRequest 'fixture_dtest_setup' for <Function
'test_multiple_ranges_repair'>>

def cleanup_cluster(self, request=None):
with log_filter('cassandra'): # quiet noise from driver when nodes start
going down
> if self.dtest_config.keep_test_dir or
(self.dtest_config.keep_failed_test_dir and request and
request.node.rep_call.failed):
E AttributeError: 'Function' object has no attribute 'rep_call'

dtest_setup.py:351: AttributeError
----------------------------------------------------------------------------
Cassandra dtests // test_tombstone_failure_v5 // Failure
cassandra.cluster.NoHostAvailable: ('Unable to connect to any servers',
{'127.0.0.1:9042': ConnectionShutdown('CRC mismatch on header 1085. Received
0", computed 6ab8cc.')})

self = <read_failures_test.TestReadFailures object at 0x7f8a667479d0>

@since('3.10')
def test_tombstone_failure_v5(self):
"""
A failed read due to tombstones at v5 should result in a ReadFailure with
an error code map containing error code 0x0001 (indicating that the replica
(s)
read too many tombstones)
"""
self.protocol_version = 5
> session = self._prepare_cluster()

read_failures_test.py:117:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
_ _
read_failures_test.py:43: in _prepare_cluster
session = self.patient_exclusive_cql_connection(self.nodes[0],
protocol_version=self.protocol_version)
dtest_setup.py:266: in patient_exclusive_cql_connection
return retry_till_success(
dtest_setup.py:39: in retry_till_success
return fun(*args, **kwargs)
dtest_setup.py:186: in exclusive_cql_connection
return self._create_session(node, keyspace, user, password, compression,
dtest_setup.py:216: in _create_session
session = cluster.connect(wait_for_all_pools=True)
../venv/src/cassandra-driver/cassandra/cluster.py:1690: in connect
self.control_connection.connect()
../venv/src/cassandra-driver/cassandra/cluster.py:3488: in connect
self._set_new_connection(self._reconnect_internal())
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
_ _

self = <cassandra.cluster.ControlConnection object at 0x7f8a656eea00>

def _reconnect_internal(self):
"""
Tries to connect to each host in the query plan until one succeeds
or every attempt fails. If successful, a new Connection will be
returned. Otherwise, :exc:`NoHostAvailable` will be raised
with an "errors" arg that is a dict mapping host addresses
to the exception that was raised when an attempt was made to open
a connection to that host.
"""
errors = {}
lbp = (
self._cluster.load_balancing_policy
if self._cluster._config_mode == _ConfigMode.LEGACY else
self._cluster._default_load_balancing_policy
)

for host in lbp.make_query_plan():
try:
return self._try_connect(host)
except ConnectionException as exc:
errors[str(host.endpoint)] = exc
log.warning("[control connection] Error connecting to %s:", host,
exc_info=True)
self._cluster.signal_connection_failure(host, exc, is_host_addition=False)
except Exception as exc:
errors[str(host.endpoint)] = exc
log.warning("[control connection] Error connecting to %s:", host,
exc_info=True)
if self._is_shutdown:
raise DriverException("[control connection] Reconnection in progress during
shutdown")

> raise NoHostAvailable("Unable to connect to any servers", errors)
E cassandra.cluster.NoHostAvailable: ('Unable to connect to any servers',
{'127.0.0.1:9042': ConnectionShutdown('CRC mismatch on header 1085. Received
0", computed 6ab8cc.')})

../venv/src/cassandra-driver/cassandra/cluster.py:3533: NoHostAvailable
----------------------------------------------------------------------------
Cassandra dtests // test_wide_row_repair // Error
test teardown failure

request = <SubRequest 'fixture_dtest_setup' for <Function
'test_wide_row_repair'>>
dtest_config = <dtest_config.DTestConfig object at 0x7f08e8225460>
fixture_dtest_setup_overrides = <dtest_setup_overrides.DTestSetupOverrides
object at 0x7f08e4677400>
fixture_logging_setup = None, fixture_dtest_cluster_name = 'test'
fixture_dtest_create_cluster_func = <function DTestSetup.create_ccm_cluster
at 0x7f08e8b0ba60>

@pytest.fixture(scope='function', autouse=False)
def fixture_dtest_setup(request,
dtest_config,
fixture_dtest_setup_overrides,
fixture_logging_setup,
fixture_dtest_cluster_name,
fixture_dtest_create_cluster_func):
if running_in_docker():
cleanup_docker_environment_before_test_execution()

# do all of our setup operations to get the enviornment ready for the actual
test
# to run (e.g. bring up a cluster with the necessary config, populate
variables, etc)
initial_environment = copy.deepcopy(os.environ)
dtest_setup = DTestSetup(dtest_config=dtest_config,
setup_overrides=fixture_dtest_setup_overrides,
cluster_name=fixture_dtest_cluster_name)
dtest_setup.initialize_cluster(fixture_dtest_create_cluster_func)

if not dtest_config.disable_active_log_watching:
dtest_setup.begin_active_log_watch()

# at this point we're done with our setup operations in this fixture
# yield to allow the actual test to run
yield dtest_setup

# phew! we're back after executing the test, now we need to do
# all of our teardown and cleanup operations

reset_environment_vars(initial_environment)
dtest_setup.jvm_args = []

for con in dtest_setup.connections:
con.cluster.shutdown()
dtest_setup.connections = []

failed = False
try:
if not dtest_setup.allow_log_errors:
errors = check_logs_for_errors(dtest_setup)
if len(errors) > 0:
failed = True
pytest.fail(msg='Unexpected error found in node logs (see stdout for full
details). Errors: [{errors}]'
.format(errors=str.join(", ", errors)), pytrace=False)
finally:
try:
# save the logs for inspection
if failed or not dtest_config.delete_logs:
copy_logs(request, dtest_setup.cluster)
except Exception as e:
logger.error("Error saving log:", str(e))
finally:
> dtest_setup.cleanup_cluster(request)

conftest.py:352:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
_ _

self = <dtest_setup.DTestSetup object at 0x7f08e4677100>
request = <SubRequest 'fixture_dtest_setup' for <Function
'test_wide_row_repair'>>

def cleanup_cluster(self, request=None):
with log_filter('cassandra'): # quiet noise from driver when nodes start
going down
> if self.dtest_config.keep_test_dir or
(self.dtest_config.keep_failed_test_dir and request and
request.node.rep_call.failed):
E AttributeError: 'Function' object has no attribute 'rep_call'

dtest_setup.py:351: AttributeError
----------------------------------------------------------------------------
Cassandra dtests // test_speculative_data_request // Error
test teardown failure

request = <SubRequest 'fixture_dtest_setup' for <Function
'test_speculative_data_request'>>
dtest_config = <dtest_config.DTestConfig object at 0x7f8c817f2df0>
fixture_dtest_setup_overrides = <dtest_setup_overrides.DTestSetupOverrides
object at 0x7f8c803592e0>
fixture_logging_setup = None, fixture_dtest_cluster_name = 'test'
fixture_dtest_create_cluster_func = <function DTestSetup.create_ccm_cluster
at 0x7f8c81f56af0>

@pytest.fixture(scope='function', autouse=False)
def fixture_dtest_setup(request,
dtest_config,
fixture_dtest_setup_overrides,
fixture_logging_setup,
fixture_dtest_cluster_name,
fixture_dtest_create_cluster_func):
if running_in_docker():
cleanup_docker_environment_before_test_execution()

# do all of our setup operations to get the enviornment ready for the actual
test
# to run (e.g. bring up a cluster with the necessary config, populate
variables, etc)
initial_environment = copy.deepcopy(os.environ)
dtest_setup = DTestSetup(dtest_config=dtest_config,
setup_overrides=fixture_dtest_setup_overrides,
cluster_name=fixture_dtest_cluster_name)
dtest_setup.initialize_cluster(fixture_dtest_create_cluster_func)

if not dtest_config.disable_active_log_watching:
dtest_setup.begin_active_log_watch()

# at this point we're done with our setup operations in this fixture
# yield to allow the actual test to run
yield dtest_setup

# phew! we're back after executing the test, now we need to do
# all of our teardown and cleanup operations

reset_environment_vars(initial_environment)
dtest_setup.jvm_args = []

for con in dtest_setup.connections:
con.cluster.shutdown()
dtest_setup.connections = []

failed = False
try:
if not dtest_setup.allow_log_errors:
errors = check_logs_for_errors(dtest_setup)
if len(errors) > 0:
failed = True
pytest.fail(msg='Unexpected error found in node logs (see stdout for full
details). Errors: [{errors}]'
.format(errors=str.join(", ", errors)), pytrace=False)
finally:
try:
# save the logs for inspection
if failed or not dtest_config.delete_logs:
copy_logs(request, dtest_setup.cluster)
except Exception as e:
logger.error("Error saving log:", str(e))
finally:
> dtest_setup.cleanup_cluster(request)

conftest.py:352:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
_ _

self = <dtest_setup.DTestSetup object at 0x7f8c81720160>
request = <SubRequest 'fixture_dtest_setup' for <Function
'test_speculative_data_request'>>

def cleanup_cluster(self, request=None):
with log_filter('cassandra'): # quiet noise from driver when nodes start
going down
> if self.dtest_config.keep_test_dir or
(self.dtest_config.keep_failed_test_dir and request and
request.node.rep_call.failed):
E AttributeError: 'Function' object has no attribute 'rep_call'

dtest_setup.py:351: AttributeError
----------------------------------------------------------------------------
Cassandra dtests // test_speculative_write // Error
test teardown failure

request = <SubRequest 'fixture_dtest_setup' for <Function
'test_speculative_write'>>
dtest_config = <dtest_config.DTestConfig object at 0x7f67e6c651f0>
fixture_dtest_setup_overrides = <dtest_setup_overrides.DTestSetupOverrides
object at 0x7f67e6f0c9d0>
fixture_logging_setup = None, fixture_dtest_cluster_name = 'test'
fixture_dtest_create_cluster_func = <function DTestSetup.create_ccm_cluster
at 0x7f67e71aeaf0>

@pytest.fixture(scope='function', autouse=False)
def fixture_dtest_setup(request,
dtest_config,
fixture_dtest_setup_overrides,
fixture_logging_setup,
fixture_dtest_cluster_name,
fixture_dtest_create_cluster_func):
if running_in_docker():
cleanup_docker_environment_before_test_execution()

# do all of our setup operations to get the enviornment ready for the actual
test
# to run (e.g. bring up a cluster with the necessary config, populate
variables, etc)
initial_environment = copy.deepcopy(os.environ)
dtest_setup = DTestSetup(dtest_config=dtest_config,
setup_overrides=fixture_dtest_setup_overrides,
cluster_name=fixture_dtest_cluster_name)
dtest_setup.initialize_cluster(fixture_dtest_create_cluster_func)

if not dtest_config.disable_active_log_watching:
dtest_setup.begin_active_log_watch()

# at this point we're done with our setup operations in this fixture
# yield to allow the actual test to run
yield dtest_setup

# phew! we're back after executing the test, now we need to do
# all of our teardown and cleanup operations

reset_environment_vars(initial_environment)
dtest_setup.jvm_args = []

for con in dtest_setup.connections:
con.cluster.shutdown()
dtest_setup.connections = []

failed = False
try:
if not dtest_setup.allow_log_errors:
errors = check_logs_for_errors(dtest_setup)
if len(errors) > 0:
failed = True
pytest.fail(msg='Unexpected error found in node logs (see stdout for full
details). Errors: [{errors}]'
.format(errors=str.join(", ", errors)), pytrace=False)
finally:
try:
# save the logs for inspection
if failed or not dtest_config.delete_logs:
copy_logs(request, dtest_setup.cluster)
except Exception as e:
logger.error("Error saving log:", str(e))
finally:
> dtest_setup.cleanup_cluster(request)

conftest.py:352:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
_ _

self = <dtest_setup.DTestSetup object at 0x7f67e5fefa90>
request = <SubRequest 'fixture_dtest_setup' for <Function
'test_speculative_write'>>

def cleanup_cluster(self, request=None):
with log_filter('cassandra'): # quiet noise from driver when nodes start
going down
> if self.dtest_config.keep_test_dir or
(self.dtest_config.keep_failed_test_dir and request and
request.node.rep_call.failed):
E AttributeError: 'Function' object has no attribute 'rep_call'

dtest_setup.py:351: AttributeError
----------------------------------------------------------------------------
Cassandra dtests // test_default_keyspaces_exist // Error
test teardown failure

request = <SubRequest 'fixture_dtest_setup' for <Function
'test_default_keyspaces_exist'>>
dtest_config = <dtest_config.DTestConfig object at 0x7f67e6c651f0>
fixture_dtest_setup_overrides = <dtest_setup_overrides.DTestSetupOverrides
object at 0x7f67e6c42070>
fixture_logging_setup = None, fixture_dtest_cluster_name = 'test'
fixture_dtest_create_cluster_func = <function DTestSetup.create_ccm_cluster
at 0x7f67e71aeaf0>

@pytest.fixture(scope='function', autouse=False)
def fixture_dtest_setup(request,
dtest_config,
fixture_dtest_setup_overrides,
fixture_logging_setup,
fixture_dtest_cluster_name,
fixture_dtest_create_cluster_func):
if running_in_docker():
cleanup_docker_environment_before_test_execution()

# do all of our setup operations to get the enviornment ready for the actual
test
# to run (e.g. bring up a cluster with the necessary config, populate
variables, etc)
initial_environment = copy.deepcopy(os.environ)
dtest_setup = DTestSetup(dtest_config=dtest_config,
setup_overrides=fixture_dtest_setup_overrides,
cluster_name=fixture_dtest_cluster_name)
dtest_setup.initialize_cluster(fixture_dtest_create_cluster_func)

if not dtest_config.disable_active_log_watching:
dtest_setup.begin_active_log_watch()

# at this point we're done with our setup operations in this fixture
# yield to allow the actual test to run
yield dtest_setup

# phew! we're back after executing the test, now we need to do
# all of our teardown and cleanup operations

reset_environment_vars(initial_environment)
dtest_setup.jvm_args = []

for con in dtest_setup.connections:
con.cluster.shutdown()
dtest_setup.connections = []

failed = False
try:
if not dtest_setup.allow_log_errors:
errors = check_logs_for_errors(dtest_setup)
if len(errors) > 0:
failed = True
pytest.fail(msg='Unexpected error found in node logs (see stdout for full
details). Errors: [{errors}]'
.format(errors=str.join(", ", errors)), pytrace=False)
finally:
try:
# save the logs for inspection
if failed or not dtest_config.delete_logs:
copy_logs(request, dtest_setup.cluster)
except Exception as e:
logger.error("Error saving log:", str(e))
finally:
> dtest_setup.cleanup_cluster(request)

conftest.py:352:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
_ _

self = <dtest_setup.DTestSetup object at 0x7f67e5f94f10>
request = <SubRequest 'fixture_dtest_setup' for <Function
'test_default_keyspaces_exist'>>

def cleanup_cluster(self, request=None):
with log_filter('cassandra'): # quiet noise from driver when nodes start
going down
> if self.dtest_config.keep_test_dir or
(self.dtest_config.keep_failed_test_dir and request and
request.node.rep_call.failed):
E AttributeError: 'Function' object has no attribute 'rep_call'

dtest_setup.py:351: AttributeError
----------------------------------------------------------------------------
Cassandra dtests // test_quorum_requirement // Error
test teardown failure

request = <SubRequest 'fixture_dtest_setup' for <Function
'test_quorum_requirement'>>
dtest_config = <dtest_config.DTestConfig object at 0x7f4d8946cbb0>
fixture_dtest_setup_overrides = <dtest_setup_overrides.DTestSetupOverrides
object at 0x7f4d8803ceb0>
fixture_logging_setup = None, fixture_dtest_cluster_name = 'test'
fixture_dtest_create_cluster_func = <function DTestSetup.create_ccm_cluster
at 0x7f4d899be9d0>

@pytest.fixture(scope='function', autouse=False)
def fixture_dtest_setup(request,
dtest_config,
fixture_dtest_setup_overrides,
fixture_logging_setup,
fixture_dtest_cluster_name,
fixture_dtest_create_cluster_func):
if running_in_docker():
cleanup_docker_environment_before_test_execution()

# do all of our setup operations to get the enviornment ready for the actual
test
# to run (e.g. bring up a cluster with the necessary config, populate
variables, etc)
initial_environment = copy.deepcopy(os.environ)
dtest_setup = DTestSetup(dtest_config=dtest_config,
setup_overrides=fixture_dtest_setup_overrides,
cluster_name=fixture_dtest_cluster_name)
dtest_setup.initialize_cluster(fixture_dtest_create_cluster_func)

if not dtest_config.disable_active_log_watching:
dtest_setup.begin_active_log_watch()

# at this point we're done with our setup operations in this fixture
# yield to allow the actual test to run
yield dtest_setup

# phew! we're back after executing the test, now we need to do
# all of our teardown and cleanup operations

reset_environment_vars(initial_environment)
dtest_setup.jvm_args = []

for con in dtest_setup.connections:
con.cluster.shutdown()
dtest_setup.connections = []

failed = False
try:
if not dtest_setup.allow_log_errors:
errors = check_logs_for_errors(dtest_setup)
if len(errors) > 0:
failed = True
pytest.fail(msg='Unexpected error found in node logs (see stdout for full
details). Errors: [{errors}]'
.format(errors=str.join(", ", errors)), pytrace=False)
finally:
try:
# save the logs for inspection
if failed or not dtest_config.delete_logs:
copy_logs(request, dtest_setup.cluster)
except Exception as e:
logger.error("Error saving log:", str(e))
finally:
> dtest_setup.cleanup_cluster(request)

conftest.py:352:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
_ _

self = <dtest_setup.DTestSetup object at 0x7f4d8803cb20>
request = <SubRequest 'fixture_dtest_setup' for <Function
'test_quorum_requirement'>>

def cleanup_cluster(self, request=None):
with log_filter('cassandra'): # quiet noise from driver when nodes start
going down
> if self.dtest_config.keep_test_dir or
(self.dtest_config.keep_failed_test_dir and request and
request.node.rep_call.failed):
E AttributeError: 'Function' object has no attribute 'rep_call'

dtest_setup.py:351: AttributeError
----------------------------------------------------------------------------
Cassandra dtests // test_archiving // Error
test teardown failure

request = <SubRequest 'fixture_dtest_setup' for <Function 'test_archiving'>>
dtest_config = <dtest_config.DTestConfig object at 0x7fa608db5100>
fixture_dtest_setup_overrides = <dtest_setup_overrides.DTestSetupOverrides
object at 0x7fa608f44c10>
fixture_logging_setup = None, fixture_dtest_cluster_name = 'test'
fixture_dtest_create_cluster_func = <function DTestSetup.create_ccm_cluster
at 0x7fa60966bb80>

@pytest.fixture(scope='function', autouse=False)
def fixture_dtest_setup(request,
dtest_config,
fixture_dtest_setup_overrides,
fixture_logging_setup,
fixture_dtest_cluster_name,
fixture_dtest_create_cluster_func):
if running_in_docker():
cleanup_docker_environment_before_test_execution()

# do all of our setup operations to get the enviornment ready for the actual
test
# to run (e.g. bring up a cluster with the necessary config, populate
variables, etc)
initial_environment = copy.deepcopy(os.environ)
dtest_setup = DTestSetup(dtest_config=dtest_config,
setup_overrides=fixture_dtest_setup_overrides,
cluster_name=fixture_dtest_cluster_name)
dtest_setup.initialize_cluster(fixture_dtest_create_cluster_func)

if not dtest_config.disable_active_log_watching:
dtest_setup.begin_active_log_watch()

# at this point we're done with our setup operations in this fixture
# yield to allow the actual test to run
yield dtest_setup

# phew! we're back after executing the test, now we need to do
# all of our teardown and cleanup operations

reset_environment_vars(initial_environment)
dtest_setup.jvm_args = []

for con in dtest_setup.connections:
con.cluster.shutdown()
dtest_setup.connections = []

failed = False
try:
if not dtest_setup.allow_log_errors:
errors = check_logs_for_errors(dtest_setup)
if len(errors) > 0:
failed = True
pytest.fail(msg='Unexpected error found in node logs (see stdout for full
details). Errors: [{errors}]'
.format(errors=str.join(", ", errors)), pytrace=False)
finally:
try:
# save the logs for inspection
if failed or not dtest_config.delete_logs:
copy_logs(request, dtest_setup.cluster)
except Exception as e:
logger.error("Error saving log:", str(e))
finally:
> dtest_setup.cleanup_cluster(request)

conftest.py:352:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
_ _

self = <dtest_setup.DTestSetup object at 0x7fa608d74550>
request = <SubRequest 'fixture_dtest_setup' for <Function 'test_archiving'>>

def cleanup_cluster(self, request=None):
with log_filter('cassandra'): # quiet noise from driver when nodes start
going down
> if self.dtest_config.keep_test_dir or
(self.dtest_config.keep_failed_test_dir and request and
request.node.rep_call.failed):
E AttributeError: 'Function' object has no attribute 'rep_call'

dtest_setup.py:351: AttributeError
----------------------------------------------------------------------------
Cassandra dtests // test_monotonic_reads[blocking] // Error
test teardown failure

request = <SubRequest 'fixture_dtest_setup' for <Function
'test_monotonic_reads[blocking]'>>
dtest_config = <dtest_config.DTestConfig object at 0x7fa608db5100>
fixture_dtest_setup_overrides = <dtest_setup_overrides.DTestSetupOverrides
object at 0x7fa6084530a0>
fixture_logging_setup = None, fixture_dtest_cluster_name = 'test'
fixture_dtest_create_cluster_func = <function DTestSetup.create_ccm_cluster
at 0x7fa60966bb80>

@pytest.fixture(scope='function', autouse=False)
def fixture_dtest_setup(request,
dtest_config,
fixture_dtest_setup_overrides,
fixture_logging_setup,
fixture_dtest_cluster_name,
fixture_dtest_create_cluster_func):
if running_in_docker():
cleanup_docker_environment_before_test_execution()

# do all of our setup operations to get the enviornment ready for the actual
test
# to run (e.g. bring up a cluster with the necessary config, populate
variables, etc)
initial_environment = copy.deepcopy(os.environ)
dtest_setup = DTestSetup(dtest_config=dtest_config,
setup_overrides=fixture_dtest_setup_overrides,
cluster_name=fixture_dtest_cluster_name)
dtest_setup.initialize_cluster(fixture_dtest_create_cluster_func)

if not dtest_config.disable_active_log_watching:
dtest_setup.begin_active_log_watch()

# at this point we're done with our setup operations in this fixture
# yield to allow the actual test to run
yield dtest_setup

# phew! we're back after executing the test, now we need to do
# all of our teardown and cleanup operations

reset_environment_vars(initial_environment)
dtest_setup.jvm_args = []

for con in dtest_setup.connections:
con.cluster.shutdown()
dtest_setup.connections = []

failed = False
try:
if not dtest_setup.allow_log_errors:
errors = check_logs_for_errors(dtest_setup)
if len(errors) > 0:
failed = True
pytest.fail(msg='Unexpected error found in node logs (see stdout for full
details). Errors: [{errors}]'
.format(errors=str.join(", ", errors)), pytrace=False)
finally:
try:
# save the logs for inspection
if failed or not dtest_config.delete_logs:
copy_logs(request, dtest_setup.cluster)
except Exception as e:
logger.error("Error saving log:", str(e))
finally:
> dtest_setup.cleanup_cluster(request)

conftest.py:352:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
_ _

self = <dtest_setup.DTestSetup object at 0x7fa6025d11f0>
request = <SubRequest 'fixture_dtest_setup' for <Function
'test_monotonic_reads[blocking]'>>

def cleanup_cluster(self, request=None):
with log_filter('cassandra'): # quiet noise from driver when nodes start
going down
> if self.dtest_config.keep_test_dir or
(self.dtest_config.keep_failed_test_dir and request and
request.node.rep_call.failed):
E AttributeError: 'Function' object has no attribute 'rep_call'

dtest_setup.py:351: AttributeError
----------------------------------------------------------------------------
Cassandra dtests // test_large_collection_errors // Error
test teardown failure

request = <SubRequest 'fixture_dtest_setup' for <Function
'test_large_collection_errors'>>
dtest_config = <dtest_config.DTestConfig object at 0x7f58070eae20>
fixture_dtest_setup_overrides = <dtest_setup_overrides.DTestSetupOverrides
object at 0x7f5807634520>
fixture_logging_setup = None, fixture_dtest_cluster_name = 'test'
fixture_dtest_create_cluster_func = <function DTestSetup.create_ccm_cluster
at 0x7f5807852b80>

@pytest.fixture(scope='function', autouse=False)
def fixture_dtest_setup(request,
dtest_config,
fixture_dtest_setup_overrides,
fixture_logging_setup,
fixture_dtest_cluster_name,
fixture_dtest_create_cluster_func):
if running_in_docker():
cleanup_docker_environment_before_test_execution()

# do all of our setup operations to get the enviornment ready for the actual
test
# to run (e.g. bring up a cluster with the necessary config, populate
variables, etc)
initial_environment = copy.deepcopy(os.environ)
dtest_setup = DTestSetup(dtest_config=dtest_config,
setup_overrides=fixture_dtest_setup_overrides,
cluster_name=fixture_dtest_cluster_name)
dtest_setup.initialize_cluster(fixture_dtest_create_cluster_func)

if not dtest_config.disable_active_log_watching:
dtest_setup.begin_active_log_watch()

# at this point we're done with our setup operations in this fixture
# yield to allow the actual test to run
yield dtest_setup

# phew! we're back after executing the test, now we need to do
# all of our teardown and cleanup operations

reset_environment_vars(initial_environment)
dtest_setup.jvm_args = []

for con in dtest_setup.connections:
con.cluster.shutdown()
dtest_setup.connections = []

failed = False
try:
if not dtest_setup.allow_log_errors:
errors = check_logs_for_errors(dtest_setup)
if len(errors) > 0:
failed = True
pytest.fail(msg='Unexpected error found in node logs (see stdout for full
details). Errors: [{errors}]'
.format(errors=str.join(", ", errors)), pytrace=False)
finally:
try:
# save the logs for inspection
if failed or not dtest_config.delete_logs:
copy_logs(request, dtest_setup.cluster)
except Exception as e:
logger.error("Error saving log:", str(e))
finally:
> dtest_setup.cleanup_cluster(request)

conftest.py:352:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
_ _

self = <dtest_setup.DTestSetup object at 0x7f5807634190>
request = <SubRequest 'fixture_dtest_setup' for <Function
'test_large_collection_errors'>>

def cleanup_cluster(self, request=None):
with log_filter('cassandra'): # quiet noise from driver when nodes start
going down
> if self.dtest_config.keep_test_dir or
(self.dtest_config.keep_failed_test_dir and request and
request.node.rep_call.failed):
E AttributeError: 'Function' object has no attribute 'rep_call'

dtest_setup.py:351: AttributeError
----------------------------------------------------------------------------
Cassandra dtests // test_only_superuser_can_create_users // Error
test teardown failure

request = <SubRequest 'fixture_dtest_setup' for <Function
'test_only_superuser_can_create_users'>>
dtest_config = <dtest_config.DTestConfig object at 0x7f5091a76be0>
fixture_dtest_setup_overrides = <dtest_setup_overrides.DTestSetupOverrides
object at 0x7f5091a7edc0>
fixture_logging_setup = None, fixture_dtest_cluster_name = 'test'
fixture_dtest_create_cluster_func = <function DTestSetup.create_ccm_cluster
at 0x7f50922fdaf0>

@pytest.fixture(scope='function', autouse=False)
def fixture_dtest_setup(request,
dtest_config,
fixture_dtest_setup_overrides,
fixture_logging_setup,
fixture_dtest_cluster_name,
fixture_dtest_create_cluster_func):
if running_in_docker():
cleanup_docker_environment_before_test_execution()

# do all of our setup operations to get the enviornment ready for the actual
test
# to run (e.g. bring up a cluster with the necessary config, populate
variables, etc)
initial_environment = copy.deepcopy(os.environ)
dtest_setup = DTestSetup(dtest_config=dtest_config,
setup_overrides=fixture_dtest_setup_overrides,
cluster_name=fixture_dtest_cluster_name)
dtest_setup.initialize_cluster(fixture_dtest_create_cluster_func)

if not dtest_config.disable_active_log_watching:
dtest_setup.begin_active_log_watch()

# at this point we're done with our setup operations in this fixture
# yield to allow the actual test to run
yield dtest_setup

# phew! we're back after executing the test, now we need to do
# all of our teardown and cleanup operations

reset_environment_vars(initial_environment)
dtest_setup.jvm_args = []

for con in dtest_setup.connections:
con.cluster.shutdown()
dtest_setup.connections = []

failed = False
try:
if not dtest_setup.allow_log_errors:
errors = check_logs_for_errors(dtest_setup)
if len(errors) > 0:
failed = True
pytest.fail(msg='Unexpected error found in node logs (see stdout for full
details). Errors: [{errors}]'
.format(errors=str.join(", ", errors)), pytrace=False)
finally:
try:
# save the logs for inspection
if failed or not dtest_config.delete_logs:
copy_logs(request, dtest_setup.cluster)
except Exception as e:
logger.error("Error saving log:", str(e))
finally:
> dtest_setup.cleanup_cluster(request)

conftest.py:352:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
_ _

self = <dtest_setup.DTestSetup object at 0x7f5091a05cd0>
request = <SubRequest 'fixture_dtest_setup' for <Function
'test_only_superuser_can_create_users'>>

def cleanup_cluster(self, request=None):
with log_filter('cassandra'): # quiet noise from driver when nodes start
going down
> if self.dtest_config.keep_test_dir or
(self.dtest_config.keep_failed_test_dir and request and
request.node.rep_call.failed):
E AttributeError: 'Function' object has no attribute 'rep_call'

dtest_setup.py:351: AttributeError
----------------------------------------------------------------------------
Cassandra dtests /
/ test_password_authenticator_create_user_requires_password // Error
test teardown failure

request = <SubRequest 'fixture_dtest_setup' for <Function
'test_password_authenticator_create_user_requires_password'>>
dtest_config = <dtest_config.DTestConfig object at 0x7f2725ea35e0>
fixture_dtest_setup_overrides = <dtest_setup_overrides.DTestSetupOverrides
object at 0x7f2725e98ee0>
fixture_logging_setup = None, fixture_dtest_cluster_name = 'test'
fixture_dtest_create_cluster_func = <function DTestSetup.create_ccm_cluster
at 0x7f2726724b80>

@pytest.fixture(scope='function', autouse=False)
def fixture_dtest_setup(request,
dtest_config,
fixture_dtest_setup_overrides,
fixture_logging_setup,
fixture_dtest_cluster_name,
fixture_dtest_create_cluster_func):
if running_in_docker():
cleanup_docker_environment_before_test_execution()

# do all of our setup operations to get the enviornment ready for the actual
test
# to run (e.g. bring up a cluster with the necessary config, populate
variables, etc)
initial_environment = copy.deepcopy(os.environ)
dtest_setup = DTestSetup(dtest_config=dtest_config,
setup_overrides=fixture_dtest_setup_overrides,
cluster_name=fixture_dtest_cluster_name)
dtest_setup.initialize_cluster(fixture_dtest_create_cluster_func)

if not dtest_config.disable_active_log_watching:
dtest_setup.begin_active_log_watch()

# at this point we're done with our setup operations in this fixture
# yield to allow the actual test to run
yield dtest_setup

# phew! we're back after executing the test, now we need to do
# all of our teardown and cleanup operations

reset_environment_vars(initial_environment)
dtest_setup.jvm_args = []

for con in dtest_setup.connections:
con.cluster.shutdown()
dtest_setup.connections = []

failed = False
try:
if not dtest_setup.allow_log_errors:
errors = check_logs_for_errors(dtest_setup)
if len(errors) > 0:
failed = True
pytest.fail(msg='Unexpected error found in node logs (see stdout for full
details). Errors: [{errors}]'
.format(errors=str.join(", ", errors)), pytrace=False)
finally:
try:
# save the logs for inspection
if failed or not dtest_config.delete_logs:
copy_logs(request, dtest_setup.cluster)
except Exception as e:
logger.error("Error saving log:", str(e))
finally:
> dtest_setup.cleanup_cluster(request)

conftest.py:352:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
_ _

self = <dtest_setup.DTestSetup object at 0x7f2725e984f0>
request = <SubRequest 'fixture_dtest_setup' for <Function
'test_password_authenticator_create_user_requires_password'>>

def cleanup_cluster(self, request=None):
with log_filter('cassandra'): # quiet noise from driver when nodes start
going down
> if self.dtest_config.keep_test_dir or
(self.dtest_config.keep_failed_test_dir and request and
request.node.rep_call.failed):
E AttributeError: 'Function' object has no attribute 'rep_call'

dtest_setup.py:351: AttributeError
----------------------------------------------------------------------------
Cassandra dtests // test_read_old_sstables_after_upgrade // Error
test teardown failure

request = <SubRequest 'fixture_dtest_setup' for <Function
'test_read_old_sstables_after_upgrade'>>
dtest_config = <dtest_config.DTestConfig object at 0x7f83a0fb75b0>
fixture_dtest_setup_overrides = <dtest_setup_overrides.DTestSetupOverrides
object at 0x7f83a14c4eb0>
fixture_logging_setup = None, fixture_dtest_cluster_name = 'test'
fixture_dtest_create_cluster_func = <function DTestSetup.create_ccm_cluster
at 0x7f83a16e29d0>

@pytest.fixture(scope='function', autouse=False)
def fixture_dtest_setup(request,
dtest_config,
fixture_dtest_setup_overrides,
fixture_logging_setup,
fixture_dtest_cluster_name,
fixture_dtest_create_cluster_func):
if running_in_docker():
cleanup_docker_environment_before_test_execution()

# do all of our setup operations to get the enviornment ready for the actual
test
# to run (e.g. bring up a cluster with the necessary config, populate
variables, etc)
initial_environment = copy.deepcopy(os.environ)
dtest_setup = DTestSetup(dtest_config=dtest_config,
setup_overrides=fixture_dtest_setup_overrides,
cluster_name=fixture_dtest_cluster_name)
dtest_setup.initialize_cluster(fixture_dtest_create_cluster_func)

if not dtest_config.disable_active_log_watching:
dtest_setup.begin_active_log_watch()

# at this point we're done with our setup operations in this fixture
# yield to allow the actual test to run
yield dtest_setup

# phew! we're back after executing the test, now we need to do
# all of our teardown and cleanup operations

reset_environment_vars(initial_environment)
dtest_setup.jvm_args = []

for con in dtest_setup.connections:
con.cluster.shutdown()
dtest_setup.connections = []

failed = False
try:
if not dtest_setup.allow_log_errors:
errors = check_logs_for_errors(dtest_setup)
if len(errors) > 0:
failed = True
pytest.fail(msg='Unexpected error found in node logs (see stdout for full
details). Errors: [{errors}]'
.format(errors=str.join(", ", errors)), pytrace=False)
finally:
try:
# save the logs for inspection
if failed or not dtest_config.delete_logs:
copy_logs(request, dtest_setup.cluster)
except Exception as e:
logger.error("Error saving log:", str(e))
finally:
> dtest_setup.cleanup_cluster(request)

conftest.py:352:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
_ _

self = <dtest_setup.DTestSetup object at 0x7f83a1067970>
request = <SubRequest 'fixture_dtest_setup' for <Function
'test_read_old_sstables_after_upgrade'>>

def cleanup_cluster(self, request=None):
with log_filter('cassandra'): # quiet noise from driver when nodes start
going down
> if self.dtest_config.keep_test_dir or
(self.dtest_config.keep_failed_test_dir and request and
request.node.rep_call.failed):
E AttributeError: 'Function' object has no attribute 'rep_call'

dtest_setup.py:351: AttributeError
----------------------------------------------------------------------------
Cassandra dtests // test_update_missed_by_transient_replica // Error
test teardown failure

request = <SubRequest 'fixture_dtest_setup' for <Function
'test_update_missed_by_transient_replica'>>
dtest_config = <dtest_config.DTestConfig object at 0x7f55a87441f0>
fixture_dtest_setup_overrides = <dtest_setup_overrides.DTestSetupOverrides
object at 0x7f55a5687700>
fixture_logging_setup = None, fixture_dtest_cluster_name = 'test'
fixture_dtest_create_cluster_func = <function DTestSetup.create_ccm_cluster
at 0x7f55a8f40940>

@pytest.fixture(scope='function', autouse=False)
def fixture_dtest_setup(request,
dtest_config,
fixture_dtest_setup_overrides,
fixture_logging_setup,
fixture_dtest_cluster_name,
fixture_dtest_create_cluster_func):
if running_in_docker():
cleanup_docker_environment_before_test_execution()

# do all of our setup operations to get the enviornment ready for the actual
test
# to run (e.g. bring up a cluster with the necessary config, populate
variables, etc)
initial_environment = copy.deepcopy(os.environ)
dtest_setup = DTestSetup(dtest_config=dtest_config,
setup_overrides=fixture_dtest_setup_overrides,
cluster_name=fixture_dtest_cluster_name)
dtest_setup.initialize_cluster(fixture_dtest_create_cluster_func)

if not dtest_config.disable_active_log_watching:
dtest_setup.begin_active_log_watch()

# at this point we're done with our setup operations in this fixture
# yield to allow the actual test to run
yield dtest_setup

# phew! we're back after executing the test, now we need to do
# all of our teardown and cleanup operations

reset_environment_vars(initial_environment)
dtest_setup.jvm_args = []

for con in dtest_setup.connections:
con.cluster.shutdown()
dtest_setup.connections = []

failed = False
try:
if not dtest_setup.allow_log_errors:
errors = check_logs_for_errors(dtest_setup)
if len(errors) > 0:
failed = True
pytest.fail(msg='Unexpected error found in node logs (see stdout for full
details). Errors: [{errors}]'
.format(errors=str.join(", ", errors)), pytrace=False)
finally:
try:
# save the logs for inspection
if failed or not dtest_config.delete_logs:
copy_logs(request, dtest_setup.cluster)
except Exception as e:
logger.error("Error saving log:", str(e))
finally:
> dtest_setup.cleanup_cluster(request)

conftest.py:352:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
_ _

self = <dtest_setup.DTestSetup object at 0x7f55a870f400>
request = <SubRequest 'fixture_dtest_setup' for <Function
'test_update_missed_by_transient_replica'>>

def cleanup_cluster(self, request=None):
with log_filter('cassandra'): # quiet noise from driver when nodes start
going down
> if self.dtest_config.keep_test_dir or
(self.dtest_config.keep_failed_test_dir and request and
request.node.rep_call.failed):
E AttributeError: 'Function' object has no attribute 'rep_call'

dtest_setup.py:351: AttributeError
----------------------------------------------------------------------------
Cassandra dtests // test_json_tools // Error
test teardown failure

request = <SubRequest 'fixture_dtest_setup' for <Function
'test_json_tools'>>
dtest_config = <dtest_config.DTestConfig object at 0x7fb1e4f02760>
fixture_dtest_setup_overrides = <dtest_setup_overrides.DTestSetupOverrides
object at 0x7fb1e4501ac0>
fixture_logging_setup = None, fixture_dtest_cluster_name = 'test'
fixture_dtest_create_cluster_func = <function DTestSetup.create_ccm_cluster
at 0x7fb1e5732b80>

@pytest.fixture(scope='function', autouse=False)
def fixture_dtest_setup(request,
dtest_config,
fixture_dtest_setup_overrides,
fixture_logging_setup,
fixture_dtest_cluster_name,
fixture_dtest_create_cluster_func):
if running_in_docker():
cleanup_docker_environment_before_test_execution()

# do all of our setup operations to get the enviornment ready for the actual
test
# to run (e.g. bring up a cluster with the necessary config, populate
variables, etc)
initial_environment = copy.deepcopy(os.environ)
dtest_setup = DTestSetup(dtest_config=dtest_config,
setup_overrides=fixture_dtest_setup_overrides,
cluster_name=fixture_dtest_cluster_name)
dtest_setup.initialize_cluster(fixture_dtest_create_cluster_func)

if not dtest_config.disable_active_log_watching:
dtest_setup.begin_active_log_watch()

# at this point we're done with our setup operations in this fixture
# yield to allow the actual test to run
yield dtest_setup

# phew! we're back after executing the test, now we need to do
# all of our teardown and cleanup operations

reset_environment_vars(initial_environment)
dtest_setup.jvm_args = []

for con in dtest_setup.connections:
con.cluster.shutdown()
dtest_setup.connections = []

failed = False
try:
if not dtest_setup.allow_log_errors:
errors = check_logs_for_errors(dtest_setup)
if len(errors) > 0:
failed = True
pytest.fail(msg='Unexpected error found in node logs (see stdout for full
details). Errors: [{errors}]'
.format(errors=str.join(", ", errors)), pytrace=False)
finally:
try:
# save the logs for inspection
if failed or not dtest_config.delete_logs:
copy_logs(request, dtest_setup.cluster)
except Exception as e:
logger.error("Error saving log:", str(e))
finally:
> dtest_setup.cleanup_cluster(request)

conftest.py:352:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
_ _

self = <dtest_setup.DTestSetup object at 0x7fb1e451b8e0>
request = <SubRequest 'fixture_dtest_setup' for <Function
'test_json_tools'>>

def cleanup_cluster(self, request=None):
with log_filter('cassandra'): # quiet noise from driver when nodes start
going down
> if self.dtest_config.keep_test_dir or
(self.dtest_config.keep_failed_test_dir and request and
request.node.rep_call.failed):
E AttributeError: 'Function' object has no attribute 'rep_call'

dtest_setup.py:351: AttributeError
----------------------------------------------------------------------------
Cassandra dtests // test_update_only_on_transient_replica // Error
test teardown failure

request = <SubRequest 'fixture_dtest_setup' for <Function
'test_update_only_on_transient_replica'>>
dtest_config = <dtest_config.DTestConfig object at 0x7fb1e4f02760>
fixture_dtest_setup_overrides = <dtest_setup_overrides.DTestSetupOverrides
object at 0x7fb1e4319d90>
fixture_logging_setup = None, fixture_dtest_cluster_name = 'test'
fixture_dtest_create_cluster_func = <function DTestSetup.create_ccm_cluster
at 0x7fb1e5732b80>

@pytest.fixture(scope='function', autouse=False)
def fixture_dtest_setup(request,
dtest_config,
fixture_dtest_setup_overrides,
fixture_logging_setup,
fixture_dtest_cluster_name,
fixture_dtest_create_cluster_func):
if running_in_docker():
cleanup_docker_environment_before_test_execution()

# do all of our setup operations to get the enviornment ready for the actual
test
# to run (e.g. bring up a cluster with the necessary config, populate
variables, etc)
initial_environment = copy.deepcopy(os.environ)
dtest_setup = DTestSetup(dtest_config=dtest_config,
setup_overrides=fixture_dtest_setup_overrides,
cluster_name=fixture_dtest_cluster_name)
dtest_setup.initialize_cluster(fixture_dtest_create_cluster_func)

if not dtest_config.disable_active_log_watching:
dtest_setup.begin_active_log_watch()

# at this point we're done with our setup operations in this fixture
# yield to allow the actual test to run
yield dtest_setup

# phew! we're back after executing the test, now we need to do
# all of our teardown and cleanup operations

reset_environment_vars(initial_environment)
dtest_setup.jvm_args = []

for con in dtest_setup.connections:
con.cluster.shutdown()
dtest_setup.connections = []

failed = False
try:
if not dtest_setup.allow_log_errors:
errors = check_logs_for_errors(dtest_setup)
if len(errors) > 0:
failed = True
pytest.fail(msg='Unexpected error found in node logs (see stdout for full
details). Errors: [{errors}]'
.format(errors=str.join(", ", errors)), pytrace=False)
finally:
try:
# save the logs for inspection
if failed or not dtest_config.delete_logs:
copy_logs(request, dtest_setup.cluster)
except Exception as e:
logger.error("Error saving log:", str(e))
finally:
> dtest_setup.cleanup_cluster(request)

conftest.py:352:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
_ _

self = <dtest_setup.DTestSetup object at 0x7fb1e5526520>
request = <SubRequest 'fixture_dtest_setup' for <Function
'test_update_only_on_transient_replica'>>

def cleanup_cluster(self, request=None):
with log_filter('cassandra'): # quiet noise from driver when nodes start
going down
> if self.dtest_config.keep_test_dir or
(self.dtest_config.keep_failed_test_dir and request and
request.node.rep_call.failed):
E AttributeError: 'Function' object has no attribute 'rep_call'

dtest_setup.py:351: AttributeError
----------------------------------------------------------------------------
Cassandra dtests // test_only_superusers_can_drop_users // Error
test teardown failure

request = <SubRequest 'fixture_dtest_setup' for <Function
'test_only_superusers_can_drop_users'>>
dtest_config = <dtest_config.DTestConfig object at 0x7f4056b465b0>
fixture_dtest_setup_overrides = <dtest_setup_overrides.DTestSetupOverrides
object at 0x7f4056b46ca0>
fixture_logging_setup = None, fixture_dtest_cluster_name = 'test'
fixture_dtest_create_cluster_func = <function DTestSetup.create_ccm_cluster
at 0x7f4057353a60>

@pytest.fixture(scope='function', autouse=False)
def fixture_dtest_setup(request,
dtest_config,
fixture_dtest_setup_overrides,
fixture_logging_setup,
fixture_dtest_cluster_name,
fixture_dtest_create_cluster_func):
if running_in_docker():
cleanup_docker_environment_before_test_execution()

# do all of our setup operations to get the enviornment ready for the actual
test
# to run (e.g. bring up a cluster with the necessary config, populate
variables, etc)
initial_environment = copy.deepcopy(os.environ)
dtest_setup = DTestSetup(dtest_config=dtest_config,
setup_overrides=fixture_dtest_setup_overrides,
cluster_name=fixture_dtest_cluster_name)
dtest_setup.initialize_cluster(fixture_dtest_create_cluster_func)

if not dtest_config.disable_active_log_watching:
dtest_setup.begin_active_log_watch()

# at this point we're done with our setup operations in this fixture
# yield to allow the actual test to run
yield dtest_setup

# phew! we're back after executing the test, now we need to do
# all of our teardown and cleanup operations

reset_environment_vars(initial_environment)
dtest_setup.jvm_args = []

for con in dtest_setup.connections:
con.cluster.shutdown()
dtest_setup.connections = []

failed = False
try:
if not dtest_setup.allow_log_errors:
errors = check_logs_for_errors(dtest_setup)
if len(errors) > 0:
failed = True
pytest.fail(msg='Unexpected error found in node logs (see stdout for full
details). Errors: [{errors}]'
.format(errors=str.join(", ", errors)), pytrace=False)
finally:
try:
# save the logs for inspection
if failed or not dtest_config.delete_logs:
copy_logs(request, dtest_setup.cluster)
except Exception as e:
logger.error("Error saving log:", str(e))
finally:
> dtest_setup.cleanup_cluster(request)

conftest.py:352:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
_ _

self = <dtest_setup.DTestSetup object at 0x7f4056b47370>
request = <SubRequest 'fixture_dtest_setup' for <Function
'test_only_superusers_can_drop_users'>>

def cleanup_cluster(self, request=None):
with log_filter('cassandra'): # quiet noise from driver when nodes start
going down
> if self.dtest_config.keep_test_dir or
(self.dtest_config.keep_failed_test_dir and request and
request.node.rep_call.failed):
E AttributeError: 'Function' object has no attribute 'rep_call'

dtest_setup.py:351: AttributeError
----------------------------------------------------------------------------
Cassandra dtests // test_truncate_failure // Error
test teardown failure

request = <SubRequest 'fixture_dtest_setup' for <Function
'test_truncate_failure'>>
dtest_config = <dtest_config.DTestConfig object at 0x7f4056b465b0>
fixture_dtest_setup_overrides = <dtest_setup_overrides.DTestSetupOverrides
object at 0x7f4054099f70>
fixture_logging_setup = None, fixture_dtest_cluster_name = 'test'
fixture_dtest_create_cluster_func = <function DTestSetup.create_ccm_cluster
at 0x7f4057353a60>

@pytest.fixture(scope='function', autouse=False)
def fixture_dtest_setup(request,
dtest_config,
fixture_dtest_setup_overrides,
fixture_logging_setup,
fixture_dtest_cluster_name,
fixture_dtest_create_cluster_func):
if running_in_docker():
cleanup_docker_environment_before_test_execution()

# do all of our setup operations to get the enviornment ready for the actual
test
# to run (e.g. bring up a cluster with the necessary config, populate
variables, etc)
initial_environment = copy.deepcopy(os.environ)
dtest_setup = DTestSetup(dtest_config=dtest_config,
setup_overrides=fixture_dtest_setup_overrides,
cluster_name=fixture_dtest_cluster_name)
dtest_setup.initialize_cluster(fixture_dtest_create_cluster_func)

if not dtest_config.disable_active_log_watching:
dtest_setup.begin_active_log_watch()

# at this point we're done with our setup operations in this fixture
# yield to allow the actual test to run
yield dtest_setup

# phew! we're back after executing the test, now we need to do
# all of our teardown and cleanup operations

reset_environment_vars(initial_environment)
dtest_setup.jvm_args = []

for con in dtest_setup.connections:
con.cluster.shutdown()
dtest_setup.connections = []

failed = False
try:
if not dtest_setup.allow_log_errors:
errors = check_logs_for_errors(dtest_setup)
if len(errors) > 0:
failed = True
pytest.fail(msg='Unexpected error found in node logs (see stdout for full
details). Errors: [{errors}]'
.format(errors=str.join(", ", errors)), pytrace=False)
finally:
try:
# save the logs for inspection
if failed or not dtest_config.delete_logs:
copy_logs(request, dtest_setup.cluster)
except Exception as e:
logger.error("Error saving log:", str(e))
finally:
> dtest_setup.cleanup_cluster(request)

conftest.py:352:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
_ _

self = <dtest_setup.DTestSetup object at 0x7f4054099940>
request = <SubRequest 'fixture_dtest_setup' for <Function
'test_truncate_failure'>>

def cleanup_cluster(self, request=None):
with log_filter('cassandra'): # quiet noise from driver when nodes start
going down
> if self.dtest_config.keep_test_dir or
(self.dtest_config.keep_failed_test_dir and request and
request.node.rep_call.failed):
E AttributeError: 'Function' object has no attribute 'rep_call'

dtest_setup.py:351: AttributeError
----------------------------------------------------------------------------
Cassandra dtests // test_fql_nodetool_options // Error
test teardown failure

request = <SubRequest 'fixture_dtest_setup' for <Function
'test_fql_nodetool_options'>>
dtest_config = <dtest_config.DTestConfig object at 0x7f8f50ffeca0>
fixture_dtest_setup_overrides = <dtest_setup_overrides.DTestSetupOverrides
object at 0x7f8f50ffec40>
fixture_logging_setup = None, fixture_dtest_cluster_name = 'test'
fixture_dtest_create_cluster_func = <function DTestSetup.create_ccm_cluster
at 0x7f8f518bfa60>

@pytest.fixture(scope='function', autouse=False)
def fixture_dtest_setup(request,
dtest_config,
fixture_dtest_setup_overrides,
fixture_logging_setup,
fixture_dtest_cluster_name,
fixture_dtest_create_cluster_func):
if running_in_docker():
cleanup_docker_environment_before_test_execution()

# do all of our setup operations to get the enviornment ready for the actual
test
# to run (e.g. bring up a cluster with the necessary config, populate
variables, etc)
initial_environment = copy.deepcopy(os.environ)
dtest_setup = DTestSetup(dtest_config=dtest_config,
setup_overrides=fixture_dtest_setup_overrides,
cluster_name=fixture_dtest_cluster_name)
dtest_setup.initialize_cluster(fixture_dtest_create_cluster_func)

if not dtest_config.disable_active_log_watching:
dtest_setup.begin_active_log_watch()

# at this point we're done with our setup operations in this fixture
# yield to allow the actual test to run
yield dtest_setup

# phew! we're back after executing the test, now we need to do
# all of our teardown and cleanup operations

reset_environment_vars(initial_environment)
dtest_setup.jvm_args = []

for con in dtest_setup.connections:
con.cluster.shutdown()
dtest_setup.connections = []

failed = False
try:
if not dtest_setup.allow_log_errors:
errors = check_logs_for_errors(dtest_setup)
if len(errors) > 0:
failed = True
pytest.fail(msg='Unexpected error found in node logs (see stdout for full
details). Errors: [{errors}]'
.format(errors=str.join(", ", errors)), pytrace=False)
finally:
try:
# save the logs for inspection
if failed or not dtest_config.delete_logs:
copy_logs(request, dtest_setup.cluster)
except Exception as e:
logger.error("Error saving log:", str(e))
finally:
> dtest_setup.cleanup_cluster(request)

conftest.py:352:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
_ _

self = <dtest_setup.DTestSetup object at 0x7f8f50ffe8e0>
request = <SubRequest 'fixture_dtest_setup' for <Function
'test_fql_nodetool_options'>>

def cleanup_cluster(self, request=None):
with log_filter('cassandra'): # quiet noise from driver when nodes start
going down
> if self.dtest_config.keep_test_dir or
(self.dtest_config.keep_failed_test_dir and request and
request.node.rep_call.failed):
E AttributeError: 'Function' object has no attribute 'rep_call'

dtest_setup.py:351: AttributeError
----------------------------------------------------------------------------
Cassandra dtests // test_monotonic_reads[none] // Error
test teardown failure

request = <SubRequest 'fixture_dtest_setup' for <Function
'test_monotonic_reads[none]'>>
dtest_config = <dtest_config.DTestConfig object at 0x7f8f50ffeca0>
fixture_dtest_setup_overrides = <dtest_setup_overrides.DTestSetupOverrides
object at 0x7f8f505e39a0>
fixture_logging_setup = None, fixture_dtest_cluster_name = 'test'
fixture_dtest_create_cluster_func = <function DTestSetup.create_ccm_cluster
at 0x7f8f518bfa60>

@pytest.fixture(scope='function', autouse=False)
def fixture_dtest_setup(request,
dtest_config,
fixture_dtest_setup_overrides,
fixture_logging_setup,
fixture_dtest_cluster_name,
fixture_dtest_create_cluster_func):
if running_in_docker():
cleanup_docker_environment_before_test_execution()

# do all of our setup operations to get the enviornment ready for the actual
test
# to run (e.g. bring up a cluster with the necessary config, populate
variables, etc)
initial_environment = copy.deepcopy(os.environ)
dtest_setup = DTestSetup(dtest_config=dtest_config,
setup_overrides=fixture_dtest_setup_overrides,
cluster_name=fixture_dtest_cluster_name)
dtest_setup.initialize_cluster(fixture_dtest_create_cluster_func)

if not dtest_config.disable_active_log_watching:
dtest_setup.begin_active_log_watch()

# at this point we're done with our setup operations in this fixture
# yield to allow the actual test to run
yield dtest_setup

# phew! we're back after executing the test, now we need to do
# all of our teardown and cleanup operations

reset_environment_vars(initial_environment)
dtest_setup.jvm_args = []

for con in dtest_setup.connections:
con.cluster.shutdown()
dtest_setup.connections = []

failed = False
try:
if not dtest_setup.allow_log_errors:
errors = check_logs_for_errors(dtest_setup)
if len(errors) > 0:
failed = True
pytest.fail(msg='Unexpected error found in node logs (see stdout for full
details). Errors: [{errors}]'
.format(errors=str.join(", ", errors)), pytrace=False)
finally:
try:
# save the logs for inspection
if failed or not dtest_config.delete_logs:
copy_logs(request, dtest_setup.cluster)
except Exception as e:
logger.error("Error saving log:", str(e))
finally:
> dtest_setup.cleanup_cluster(request)

conftest.py:352:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
_ _

self = <dtest_setup.DTestSetup object at 0x7f8f500c7d30>
request = <SubRequest 'fixture_dtest_setup' for <Function
'test_monotonic_reads[none]'>>

def cleanup_cluster(self, request=None):
with log_filter('cassandra'): # quiet noise from driver when nodes start
going down
> if self.dtest_config.keep_test_dir or
(self.dtest_config.keep_failed_test_dir and request and
request.node.rep_call.failed):
E AttributeError: 'Function' object has no attribute 'rep_call'

dtest_setup.py:351: AttributeError
----------------------------------------------------------------------------
Cassandra dtests // test_sstableloader_with_failing_2i // Error
test teardown failure

request = <SubRequest 'fixture_dtest_setup' for <Function
'test_sstableloader_with_failing_2i'>>
dtest_config = <dtest_config.DTestConfig object at 0x7f8f50ffeca0>
fixture_dtest_setup_overrides = <dtest_setup_overrides.DTestSetupOverrides
object at 0x7f8f5069bd60>
fixture_logging_setup = None, fixture_dtest_cluster_name = 'test'
fixture_dtest_create_cluster_func = <function DTestSetup.create_ccm_cluster
at 0x7f8f518bfa60>

@pytest.fixture(scope='function', autouse=False)
def fixture_dtest_setup(request,
dtest_config,
fixture_dtest_setup_overrides,
fixture_logging_setup,
fixture_dtest_cluster_name,
fixture_dtest_create_cluster_func):
if running_in_docker():
cleanup_docker_environment_before_test_execution()

# do all of our setup operations to get the enviornment ready for the actual
test
# to run (e.g. bring up a cluster with the necessary config, populate
variables, etc)
initial_environment = copy.deepcopy(os.environ)
dtest_setup = DTestSetup(dtest_config=dtest_config,
setup_overrides=fixture_dtest_setup_overrides,
cluster_name=fixture_dtest_cluster_name)
dtest_setup.initialize_cluster(fixture_dtest_create_cluster_func)

if not dtest_config.disable_active_log_watching:
dtest_setup.begin_active_log_watch()

# at this point we're done with our setup operations in this fixture
# yield to allow the actual test to run
yield dtest_setup

# phew! we're back after executing the test, now we need to do
# all of our teardown and cleanup operations

reset_environment_vars(initial_environment)
dtest_setup.jvm_args = []

for con in dtest_setup.connections:
con.cluster.shutdown()
dtest_setup.connections = []

failed = False
try:
if not dtest_setup.allow_log_errors:
errors = check_logs_for_errors(dtest_setup)
if len(errors) > 0:
failed = True
pytest.fail(msg='Unexpected error found in node logs (see stdout for full
details). Errors: [{errors}]'
.format(errors=str.join(", ", errors)), pytrace=False)
finally:
try:
# save the logs for inspection
if failed or not dtest_config.delete_logs:
copy_logs(request, dtest_setup.cluster)
except Exception as e:
logger.error("Error saving log:", str(e))
finally:
> dtest_setup.cleanup_cluster(request)

conftest.py:352:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
_ _

self = <dtest_setup.DTestSetup object at 0x7f8f515c8610>
request = <SubRequest 'fixture_dtest_setup' for <Function
'test_sstableloader_with_failing_2i'>>

def cleanup_cluster(self, request=None):
with log_filter('cassandra'): # quiet noise from driver when nodes start
going down
> if self.dtest_config.keep_test_dir or
(self.dtest_config.keep_failed_test_dir and request and
request.node.rep_call.failed):
E AttributeError: 'Function' object has no attribute 'rep_call'

dtest_setup.py:351: AttributeError
----------------------------------------------------------------------------
Cassandra dtests // test_remove_column_ttl_with_default_ttl // Error
test teardown failure

request = <SubRequest 'fixture_dtest_setup' for <Function
'test_remove_column_ttl_with_default_ttl'>>
dtest_config = <dtest_config.DTestConfig object at 0x7fd1bea764f0>
fixture_dtest_setup_overrides = <dtest_setup_overrides.DTestSetupOverrides
object at 0x7fd1bda834c0>
fixture_logging_setup = None, fixture_dtest_cluster_name = 'test'
fixture_dtest_create_cluster_func = <function DTestSetup.create_ccm_cluster
at 0x7fd1bf27ec10>

@pytest.fixture(scope='function', autouse=False)
def fixture_dtest_setup(request,
dtest_config,
fixture_dtest_setup_overrides,
fixture_logging_setup,
fixture_dtest_cluster_name,
fixture_dtest_create_cluster_func):
if running_in_docker():
cleanup_docker_environment_before_test_execution()

# do all of our setup operations to get the enviornment ready for the actual
test
# to run (e.g. bring up a cluster with the necessary config, populate
variables, etc)
initial_environment = copy.deepcopy(os.environ)
dtest_setup = DTestSetup(dtest_config=dtest_config,
setup_overrides=fixture_dtest_setup_overrides,
cluster_name=fixture_dtest_cluster_name)
dtest_setup.initialize_cluster(fixture_dtest_create_cluster_func)

if not dtest_config.disable_active_log_watching:
dtest_setup.begin_active_log_watch()

# at this point we're done with our setup operations in this fixture
# yield to allow the actual test to run
yield dtest_setup

# phew! we're back after executing the test, now we need to do
# all of our teardown and cleanup operations

reset_environment_vars(initial_environment)
dtest_setup.jvm_args = []

for con in dtest_setup.connections:
con.cluster.shutdown()
dtest_setup.connections = []

failed = False
try:
if not dtest_setup.allow_log_errors:
errors = check_logs_for_errors(dtest_setup)
if len(errors) > 0:
failed = True
pytest.fail(msg='Unexpected error found in node logs (see stdout for full
details). Errors: [{errors}]'
.format(errors=str.join(", ", errors)), pytrace=False)
finally:
try:
# save the logs for inspection
if failed or not dtest_config.delete_logs:
copy_logs(request, dtest_setup.cluster)
except Exception as e:
logger.error("Error saving log:", str(e))
finally:
> dtest_setup.cleanup_cluster(request)

conftest.py:352:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
_ _

self = <dtest_setup.DTestSetup object at 0x7fd1bda830d0>
request = <SubRequest 'fixture_dtest_setup' for <Function
'test_remove_column_ttl_with_default_ttl'>>

def cleanup_cluster(self, request=None):
with log_filter('cassandra'): # quiet noise from driver when nodes start
going down
> if self.dtest_config.keep_test_dir or
(self.dtest_config.keep_failed_test_dir and request and
request.node.rep_call.failed):
E AttributeError: 'Function' object has no attribute 'rep_call'

dtest_setup.py:351: AttributeError
----------------------------------------------------------------------------
Cassandra dtests // test_default_keyspaces_exist // Error
test teardown failure

request = <SubRequest 'fixture_dtest_setup' for <Function
'test_default_keyspaces_exist'>>
dtest_config = <dtest_config.DTestConfig object at 0x7fc1a397b280>
fixture_dtest_setup_overrides = <dtest_setup_overrides.DTestSetupOverrides
object at 0x7fc1a2e85a60>
fixture_logging_setup = None, fixture_dtest_cluster_name = 'test'
fixture_dtest_create_cluster_func = <function DTestSetup.create_ccm_cluster
at 0x7fc1a4018ca0>

@pytest.fixture(scope='function', autouse=False)
def fixture_dtest_setup(request,
dtest_config,
fixture_dtest_setup_overrides,
fixture_logging_setup,
fixture_dtest_cluster_name,
fixture_dtest_create_cluster_func):
if running_in_docker():
cleanup_docker_environment_before_test_execution()

# do all of our setup operations to get the enviornment ready for the actual
test
# to run (e.g. bring up a cluster with the necessary config, populate
variables, etc)
initial_environment = copy.deepcopy(os.environ)
dtest_setup = DTestSetup(dtest_config=dtest_config,
setup_overrides=fixture_dtest_setup_overrides,
cluster_name=fixture_dtest_cluster_name)
dtest_setup.initialize_cluster(fixture_dtest_create_cluster_func)

if not dtest_config.disable_active_log_watching:
dtest_setup.begin_active_log_watch()

# at this point we're done with our setup operations in this fixture
# yield to allow the actual test to run
yield dtest_setup

# phew! we're back after executing the test, now we need to do
# all of our teardown and cleanup operations

reset_environment_vars(initial_environment)
dtest_setup.jvm_args = []

for con in dtest_setup.connections:
con.cluster.shutdown()
dtest_setup.connections = []

failed = False
try:
if not dtest_setup.allow_log_errors:
errors = check_logs_for_errors(dtest_setup)
if len(errors) > 0:
failed = True
pytest.fail(msg='Unexpected error found in node logs (see stdout for full
details). Errors: [{errors}]'
.format(errors=str.join(", ", errors)), pytrace=False)
finally:
try:
# save the logs for inspection
if failed or not dtest_config.delete_logs:
copy_logs(request, dtest_setup.cluster)
except Exception as e:
logger.error("Error saving log:", str(e))
finally:
> dtest_setup.cleanup_cluster(request)

conftest.py:352:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
_ _

self = <dtest_setup.DTestSetup object at 0x7fc1a2e85340>
request = <SubRequest 'fixture_dtest_setup' for <Function
'test_default_keyspaces_exist'>>

def cleanup_cluster(self, request=None):
with log_filter('cassandra'): # quiet noise from driver when nodes start
going down
> if self.dtest_config.keep_test_dir or
(self.dtest_config.keep_failed_test_dir and request and
request.node.rep_call.failed):
E AttributeError: 'Function' object has no attribute 'rep_call'

dtest_setup.py:351: AttributeError
----------------------------------------------------------------------------
Cassandra dtests // test_rf_collapse_yaml_file_snitch // Error
test teardown failure

request = <SubRequest 'fixture_dtest_setup' for <Function
'test_rf_collapse_yaml_file_snitch'>>
dtest_config = <dtest_config.DTestConfig object at 0x7f80d4d16610>
fixture_dtest_setup_overrides = <dtest_setup_overrides.DTestSetupOverrides
object at 0x7f80ce3f59d0>
fixture_logging_setup = None, fixture_dtest_cluster_name = 'test'
fixture_dtest_create_cluster_func = <function DTestSetup.create_ccm_cluster
at 0x7f80d54c0b80>

@pytest.fixture(scope='function', autouse=False)
def fixture_dtest_setup(request,
dtest_config,
fixture_dtest_setup_overrides,
fixture_logging_setup,
fixture_dtest_cluster_name,
fixture_dtest_create_cluster_func):
if running_in_docker():
cleanup_docker_environment_before_test_execution()

# do all of our setup operations to get the enviornment ready for the actual
test
# to run (e.g. bring up a cluster with the necessary config, populate
variables, etc)
initial_environment = copy.deepcopy(os.environ)
dtest_setup = DTestSetup(dtest_config=dtest_config,
setup_overrides=fixture_dtest_setup_overrides,
cluster_name=fixture_dtest_cluster_name)
dtest_setup.initialize_cluster(fixture_dtest_create_cluster_func)

if not dtest_config.disable_active_log_watching:
dtest_setup.begin_active_log_watch()

# at this point we're done with our setup operations in this fixture
# yield to allow the actual test to run
yield dtest_setup

# phew! we're back after executing the test, now we need to do
# all of our teardown and cleanup operations

reset_environment_vars(initial_environment)
dtest_setup.jvm_args = []

for con in dtest_setup.connections:
con.cluster.shutdown()
dtest_setup.connections = []

failed = False
try:
if not dtest_setup.allow_log_errors:
errors = check_logs_for_errors(dtest_setup)
if len(errors) > 0:
failed = True
pytest.fail(msg='Unexpected error found in node logs (see stdout for full
details). Errors: [{errors}]'
.format(errors=str.join(", ", errors)), pytrace=False)
finally:
try:
# save the logs for inspection
if failed or not dtest_config.delete_logs:
copy_logs(request, dtest_setup.cluster)
except Exception as e:
logger.error("Error saving log:", str(e))
finally:
> dtest_setup.cleanup_cluster(request)

conftest.py:352:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
_ _

self = <dtest_setup.DTestSetup object at 0x7f80d4dc03d0>
request = <SubRequest 'fixture_dtest_setup' for <Function
'test_rf_collapse_yaml_file_snitch'>>

def cleanup_cluster(self, request=None):
with log_filter('cassandra'): # quiet noise from driver when nodes start
going down
> if self.dtest_config.keep_test_dir or
(self.dtest_config.keep_failed_test_dir and request and
request.node.rep_call.failed):
E AttributeError: 'Function' object has no attribute 'rep_call'

dtest_setup.py:351: AttributeError
----------------------------------------------------------------------------
Cassandra dtests // test_rf_expand_yaml_file_snitch // Error
test teardown failure

request = <SubRequest 'fixture_dtest_setup' for <Function
'test_rf_expand_yaml_file_snitch'>>
dtest_config = <dtest_config.DTestConfig object at 0x7f5db64b0e50>
fixture_dtest_setup_overrides = <dtest_setup_overrides.DTestSetupOverrides
object at 0x7f5db4067520>
fixture_logging_setup = None, fixture_dtest_cluster_name = 'test'
fixture_dtest_create_cluster_func = <function DTestSetup.create_ccm_cluster
at 0x7f5db6a30af0>

@pytest.fixture(scope='function', autouse=False)
def fixture_dtest_setup(request,
dtest_config,
fixture_dtest_setup_overrides,
fixture_logging_setup,
fixture_dtest_cluster_name,
fixture_dtest_create_cluster_func):
if running_in_docker():
cleanup_docker_environment_before_test_execution()

# do all of our setup operations to get the enviornment ready for the actual
test
# to run (e.g. bring up a cluster with the necessary config, populate
variables, etc)
initial_environment = copy.deepcopy(os.environ)
dtest_setup = DTestSetup(dtest_config=dtest_config,
setup_overrides=fixture_dtest_setup_overrides,
cluster_name=fixture_dtest_cluster_name)
dtest_setup.initialize_cluster(fixture_dtest_create_cluster_func)

if not dtest_config.disable_active_log_watching:
dtest_setup.begin_active_log_watch()

# at this point we're done with our setup operations in this fixture
# yield to allow the actual test to run
yield dtest_setup

# phew! we're back after executing the test, now we need to do
# all of our teardown and cleanup operations

reset_environment_vars(initial_environment)
dtest_setup.jvm_args = []

for con in dtest_setup.connections:
con.cluster.shutdown()
dtest_setup.connections = []

failed = False
try:
if not dtest_setup.allow_log_errors:
errors = check_logs_for_errors(dtest_setup)
if len(errors) > 0:
failed = True
pytest.fail(msg='Unexpected error found in node logs (see stdout for full
details). Errors: [{errors}]'
.format(errors=str.join(", ", errors)), pytrace=False)
finally:
try:
# save the logs for inspection
if failed or not dtest_config.delete_logs:
copy_logs(request, dtest_setup.cluster)
except Exception as e:
logger.error("Error saving log:", str(e))
finally:
> dtest_setup.cleanup_cluster(request)

conftest.py:352:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
_ _

self = <dtest_setup.DTestSetup object at 0x7f5db4067d90>
request = <SubRequest 'fixture_dtest_setup' for <Function
'test_rf_expand_yaml_file_snitch'>>

def cleanup_cluster(self, request=None):
with log_filter('cassandra'): # quiet noise from driver when nodes start
going down
> if self.dtest_config.keep_test_dir or
(self.dtest_config.keep_failed_test_dir and request and
request.node.rep_call.failed):
E AttributeError: 'Function' object has no attribute 'rep_call'

dtest_setup.py:351: AttributeError
----------------------------------------------------------------------------
Cassandra dtests // test_datetimeformat_round_trip_40 // Error
test teardown failure

request = <SubRequest 'fixture_dtest_setup' for <Function
'test_datetimeformat_round_trip_40'>>
dtest_config = <dtest_config.DTestConfig object at 0x7f5db64b0e50>
fixture_dtest_setup_overrides = <dtest_setup_overrides.DTestSetupOverrides
object at 0x7f5db628fd00>
fixture_logging_setup = None, fixture_dtest_cluster_name = 'test'
fixture_dtest_create_cluster_func = <function DTestSetup.create_ccm_cluster
at 0x7f5db6a30af0>

@pytest.fixture(scope='function', autouse=False)
def fixture_dtest_setup(request,
dtest_config,
fixture_dtest_setup_overrides,
fixture_logging_setup,
fixture_dtest_cluster_name,
fixture_dtest_create_cluster_func):
if running_in_docker():
cleanup_docker_environment_before_test_execution()

# do all of our setup operations to get the enviornment ready for the actual
test
# to run (e.g. bring up a cluster with the necessary config, populate
variables, etc)
initial_environment = copy.deepcopy(os.environ)
dtest_setup = DTestSetup(dtest_config=dtest_config,
setup_overrides=fixture_dtest_setup_overrides,
cluster_name=fixture_dtest_cluster_name)
dtest_setup.initialize_cluster(fixture_dtest_create_cluster_func)

if not dtest_config.disable_active_log_watching:
dtest_setup.begin_active_log_watch()

# at this point we're done with our setup operations in this fixture
# yield to allow the actual test to run
yield dtest_setup

# phew! we're back after executing the test, now we need to do
# all of our teardown and cleanup operations

reset_environment_vars(initial_environment)
dtest_setup.jvm_args = []

for con in dtest_setup.connections:
con.cluster.shutdown()
dtest_setup.connections = []

failed = False
try:
if not dtest_setup.allow_log_errors:
errors = check_logs_for_errors(dtest_setup)
if len(errors) > 0:
failed = True
pytest.fail(msg='Unexpected error found in node logs (see stdout for full
details). Errors: [{errors}]'
.format(errors=str.join(", ", errors)), pytrace=False)
finally:
try:
# save the logs for inspection
if failed or not dtest_config.delete_logs:
copy_logs(request, dtest_setup.cluster)
except Exception as e:
logger.error("Error saving log:", str(e))
finally:
> dtest_setup.cleanup_cluster(request)

conftest.py:352:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
_ _

self = <dtest_setup.DTestSetup object at 0x7f5db4076520>
request = <SubRequest 'fixture_dtest_setup' for <Function
'test_datetimeformat_round_trip_40'>>

def cleanup_cluster(self, request=None):
with log_filter('cassandra'): # quiet noise from driver when nodes start
going down
> if self.dtest_config.keep_test_dir or
(self.dtest_config.keep_failed_test_dir and request and
request.node.rep_call.failed):
E AttributeError: 'Function' object has no attribute 'rep_call'

dtest_setup.py:351: AttributeError
----------------------------------------------------------------------------
Cassandra dtests // test_authentication_from_cache_while_unavailable /
/ Error
test teardown failure

request = <SubRequest 'fixture_dtest_setup' for <Function
'test_authentication_from_cache_while_unavailable'>>
dtest_config = <dtest_config.DTestConfig object at 0x7f7fe18b9640>
fixture_dtest_setup_overrides = <dtest_setup_overrides.DTestSetupOverrides
object at 0x7f7fe18b5b50>
fixture_logging_setup = None, fixture_dtest_cluster_name = 'test'
fixture_dtest_create_cluster_func = <function DTestSetup.create_ccm_cluster
at 0x7f7fe2148c10>

@pytest.fixture(scope='function', autouse=False)
def fixture_dtest_setup(request,
dtest_config,
fixture_dtest_setup_overrides,
fixture_logging_setup,
fixture_dtest_cluster_name,
fixture_dtest_create_cluster_func):
if running_in_docker():
cleanup_docker_environment_before_test_execution()

# do all of our setup operations to get the enviornment ready for the actual
test
# to run (e.g. bring up a cluster with the necessary config, populate
variables, etc)
initial_environment = copy.deepcopy(os.environ)
dtest_setup = DTestSetup(dtest_config=dtest_config,
setup_overrides=fixture_dtest_setup_overrides,
cluster_name=fixture_dtest_cluster_name)
dtest_setup.initialize_cluster(fixture_dtest_create_cluster_func)

if not dtest_config.disable_active_log_watching:
dtest_setup.begin_active_log_watch()

# at this point we're done with our setup operations in this fixture
# yield to allow the actual test to run
yield dtest_setup

# phew! we're back after executing the test, now we need to do
# all of our teardown and cleanup operations

reset_environment_vars(initial_environment)
dtest_setup.jvm_args = []

for con in dtest_setup.connections:
con.cluster.shutdown()
dtest_setup.connections = []

failed = False
try:
if not dtest_setup.allow_log_errors:
errors = check_logs_for_errors(dtest_setup)
if len(errors) > 0:
failed = True
pytest.fail(msg='Unexpected error found in node logs (see stdout for full
details). Errors: [{errors}]'
.format(errors=str.join(", ", errors)), pytrace=False)
finally:
try:
# save the logs for inspection
if failed or not dtest_config.delete_logs:
copy_logs(request, dtest_setup.cluster)
except Exception as e:
logger.error("Error saving log:", str(e))
finally:
> dtest_setup.cleanup_cluster(request)

conftest.py:352:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
_ _

self = <dtest_setup.DTestSetup object at 0x7f7fe18b52b0>
request = <SubRequest 'fixture_dtest_setup' for <Function
'test_authentication_from_cache_while_unavailable'>>

def cleanup_cluster(self, request=None):
with log_filter('cassandra'): # quiet noise from driver when nodes start
going down
> if self.dtest_config.keep_test_dir or
(self.dtest_config.keep_failed_test_dir and request and
request.node.rep_call.failed):
E AttributeError: 'Function' object has no attribute 'rep_call'

dtest_setup.py:351: AttributeError
----------------------------------------------------------------------------
Cassandra dtests // test_consistent_repair // Error
test teardown failure

request = <SubRequest 'fixture_dtest_setup' for <Function
'test_consistent_repair'>>
dtest_config = <dtest_config.DTestConfig object at 0x7f7fe18b9640>
fixture_dtest_setup_overrides = <dtest_setup_overrides.DTestSetupOverrides
object at 0x7f7fe1c19460>
fixture_logging_setup = None, fixture_dtest_cluster_name = 'test'
fixture_dtest_create_cluster_func = <function DTestSetup.create_ccm_cluster
at 0x7f7fe2148c10>

@pytest.fixture(scope='function', autouse=False)
def fixture_dtest_setup(request,
dtest_config,
fixture_dtest_setup_overrides,
fixture_logging_setup,
fixture_dtest_cluster_name,
fixture_dtest_create_cluster_func):
if running_in_docker():
cleanup_docker_environment_before_test_execution()

# do all of our setup operations to get the enviornment ready for the actual
test
# to run (e.g. bring up a cluster with the necessary config, populate
variables, etc)
initial_environment = copy.deepcopy(os.environ)
dtest_setup = DTestSetup(dtest_config=dtest_config,
setup_overrides=fixture_dtest_setup_overrides,
cluster_name=fixture_dtest_cluster_name)
dtest_setup.initialize_cluster(fixture_dtest_create_cluster_func)

if not dtest_config.disable_active_log_watching:
dtest_setup.begin_active_log_watch()

# at this point we're done with our setup operations in this fixture
# yield to allow the actual test to run
yield dtest_setup

# phew! we're back after executing the test, now we need to do
# all of our teardown and cleanup operations

reset_environment_vars(initial_environment)
dtest_setup.jvm_args = []

for con in dtest_setup.connections:
con.cluster.shutdown()
dtest_setup.connections = []

failed = False
try:
if not dtest_setup.allow_log_errors:
errors = check_logs_for_errors(dtest_setup)
if len(errors) > 0:
failed = True
pytest.fail(msg='Unexpected error found in node logs (see stdout for full
details). Errors: [{errors}]'
.format(errors=str.join(", ", errors)), pytrace=False)
finally:
try:
# save the logs for inspection
if failed or not dtest_config.delete_logs:
copy_logs(request, dtest_setup.cluster)
except Exception as e:
logger.error("Error saving log:", str(e))
finally:
> dtest_setup.cleanup_cluster(request)

conftest.py:352:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
_ _

self = <dtest_setup.DTestSetup object at 0x7f7fe1c3b490>
request = <SubRequest 'fixture_dtest_setup' for <Function
'test_consistent_repair'>>

def cleanup_cluster(self, request=None):
with log_filter('cassandra'): # quiet noise from driver when nodes start
going down
> if self.dtest_config.keep_test_dir or
(self.dtest_config.keep_failed_test_dir and request and
request.node.rep_call.failed):
E AttributeError: 'Function' object has no attribute 'rep_call'

dtest_setup.py:351: AttributeError
----------------------------------------------------------------------------
Cassandra dtests /
/ test_credentials_cache_background_reload_handle_unavailable // Error
test teardown failure

request = <SubRequest 'fixture_dtest_setup' for <Function
'test_credentials_cache_background_reload_handle_unavailable'>>
dtest_config = <dtest_config.DTestConfig object at 0x7f27538c8760>
fixture_dtest_setup_overrides = <dtest_setup_overrides.DTestSetupOverrides
object at 0x7f2754096fa0>
fixture_logging_setup = None, fixture_dtest_cluster_name = 'test'
fixture_dtest_create_cluster_func = <function DTestSetup.create_ccm_cluster
at 0x7f2754133a60>

@pytest.fixture(scope='function', autouse=False)
def fixture_dtest_setup(request,
dtest_config,
fixture_dtest_setup_overrides,
fixture_logging_setup,
fixture_dtest_cluster_name,
fixture_dtest_create_cluster_func):
if running_in_docker():
cleanup_docker_environment_before_test_execution()

# do all of our setup operations to get the enviornment ready for the actual
test
# to run (e.g. bring up a cluster with the necessary config, populate
variables, etc)
initial_environment = copy.deepcopy(os.environ)
dtest_setup = DTestSetup(dtest_config=dtest_config,
setup_overrides=fixture_dtest_setup_overrides,
cluster_name=fixture_dtest_cluster_name)
dtest_setup.initialize_cluster(fixture_dtest_create_cluster_func)

if not dtest_config.disable_active_log_watching:
dtest_setup.begin_active_log_watch()

# at this point we're done with our setup operations in this fixture
# yield to allow the actual test to run
yield dtest_setup

# phew! we're back after executing the test, now we need to do
# all of our teardown and cleanup operations

reset_environment_vars(initial_environment)
dtest_setup.jvm_args = []

for con in dtest_setup.connections:
con.cluster.shutdown()
dtest_setup.connections = []

failed = False
try:
if not dtest_setup.allow_log_errors:
errors = check_logs_for_errors(dtest_setup)
if len(errors) > 0:
failed = True
pytest.fail(msg='Unexpected error found in node logs (see stdout for full
details). Errors: [{errors}]'
.format(errors=str.join(", ", errors)), pytrace=False)
finally:
try:
# save the logs for inspection
if failed or not dtest_config.delete_logs:
copy_logs(request, dtest_setup.cluster)
except Exception as e:
logger.error("Error saving log:", str(e))
finally:
> dtest_setup.cleanup_cluster(request)

conftest.py:352:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
_ _

self = <dtest_setup.DTestSetup object at 0x7f27539ef880>
request = <SubRequest 'fixture_dtest_setup' for <Function
'test_credentials_cache_background_reload_handle_unavailable'>>

def cleanup_cluster(self, request=None):
with log_filter('cassandra'): # quiet noise from driver when nodes start
going down
> if self.dtest_config.keep_test_dir or
(self.dtest_config.keep_failed_test_dir and request and
request.node.rep_call.failed):
E AttributeError: 'Function' object has no attribute 'rep_call'

dtest_setup.py:351: AttributeError
----------------------------------------------------------------------------
Cassandra dtests // test_manual_session_fail // Error
test teardown failure

request = <SubRequest 'fixture_dtest_setup' for <Function
'test_manual_session_fail'>>
dtest_config = <dtest_config.DTestConfig object at 0x7f27538c8760>
fixture_dtest_setup_overrides = <dtest_setup_overrides.DTestSetupOverrides
object at 0x7f2753045430>
fixture_logging_setup = None, fixture_dtest_cluster_name = 'test'
fixture_dtest_create_cluster_func = <function DTestSetup.create_ccm_cluster
at 0x7f2754133a60>

@pytest.fixture(scope='function', autouse=False)
def fixture_dtest_setup(request,
dtest_config,
fixture_dtest_setup_overrides,
fixture_logging_setup,
fixture_dtest_cluster_name,
fixture_dtest_create_cluster_func):
if running_in_docker():
cleanup_docker_environment_before_test_execution()

# do all of our setup operations to get the enviornment ready for the actual
test
# to run (e.g. bring up a cluster with the necessary config, populate
variables, etc)
initial_environment = copy.deepcopy(os.environ)
dtest_setup = DTestSetup(dtest_config=dtest_config,
setup_overrides=fixture_dtest_setup_overrides,
cluster_name=fixture_dtest_cluster_name)
dtest_setup.initialize_cluster(fixture_dtest_create_cluster_func)

if not dtest_config.disable_active_log_watching:
dtest_setup.begin_active_log_watch()

# at this point we're done with our setup operations in this fixture
# yield to allow the actual test to run
yield dtest_setup

# phew! we're back after executing the test, now we need to do
# all of our teardown and cleanup operations

reset_environment_vars(initial_environment)
dtest_setup.jvm_args = []

for con in dtest_setup.connections:
con.cluster.shutdown()
dtest_setup.connections = []

failed = False
try:
if not dtest_setup.allow_log_errors:
errors = check_logs_for_errors(dtest_setup)
if len(errors) > 0:
failed = True
pytest.fail(msg='Unexpected error found in node logs (see stdout for full
details). Errors: [{errors}]'
.format(errors=str.join(", ", errors)), pytrace=False)
finally:
try:
# save the logs for inspection
if failed or not dtest_config.delete_logs:
copy_logs(request, dtest_setup.cluster)
except Exception as e:
logger.error("Error saving log:", str(e))
finally:
> dtest_setup.cleanup_cluster(request)

conftest.py:352:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
_ _

self = <dtest_setup.DTestSetup object at 0x7f27530454f0>
request = <SubRequest 'fixture_dtest_setup' for <Function
'test_manual_session_fail'>>

def cleanup_cluster(self, request=None):
with log_filter('cassandra'): # quiet noise from driver when nodes start
going down
> if self.dtest_config.keep_test_dir or
(self.dtest_config.keep_failed_test_dir and request and
request.node.rep_call.failed):
E AttributeError: 'Function' object has no attribute 'rep_call'

dtest_setup.py:351: AttributeError
----------------------------------------------------------------------------
Cassandra dtests // test_client_request_metrics // Error
test teardown failure

request = <SubRequest 'fixture_dtest_setup' for <Function
'test_client_request_metrics'>>
dtest_config = <dtest_config.DTestConfig object at 0x7f82bcfa8520>
fixture_dtest_setup_overrides = <dtest_setup_overrides.DTestSetupOverrides
object at 0x7f82bcfa8eb0>
fixture_logging_setup = None, fixture_dtest_cluster_name = 'test'
fixture_dtest_create_cluster_func = <function DTestSetup.create_ccm_cluster
at 0x7f82bd85aaf0>

@pytest.fixture(scope='function', autouse=False)
def fixture_dtest_setup(request,
dtest_config,
fixture_dtest_setup_overrides,
fixture_logging_setup,
fixture_dtest_cluster_name,
fixture_dtest_create_cluster_func):
if running_in_docker():
cleanup_docker_environment_before_test_execution()

# do all of our setup operations to get the enviornment ready for the actual
test
# to run (e.g. bring up a cluster with the necessary config, populate
variables, etc)
initial_environment = copy.deepcopy(os.environ)
dtest_setup = DTestSetup(dtest_config=dtest_config,
setup_overrides=fixture_dtest_setup_overrides,
cluster_name=fixture_dtest_cluster_name)
dtest_setup.initialize_cluster(fixture_dtest_create_cluster_func)

if not dtest_config.disable_active_log_watching:
dtest_setup.begin_active_log_watch()

# at this point we're done with our setup operations in this fixture
# yield to allow the actual test to run
yield dtest_setup

# phew! we're back after executing the test, now we need to do
# all of our teardown and cleanup operations

reset_environment_vars(initial_environment)
dtest_setup.jvm_args = []

for con in dtest_setup.connections:
con.cluster.shutdown()
dtest_setup.connections = []

failed = False
try:
if not dtest_setup.allow_log_errors:
errors = check_logs_for_errors(dtest_setup)
if len(errors) > 0:
failed = True
pytest.fail(msg='Unexpected error found in node logs (see stdout for full
details). Errors: [{errors}]'
.format(errors=str.join(", ", errors)), pytrace=False)
finally:
try:
# save the logs for inspection
if failed or not dtest_config.delete_logs:
copy_logs(request, dtest_setup.cluster)
except Exception as e:
logger.error("Error saving log:", str(e))
finally:
> dtest_setup.cleanup_cluster(request)

conftest.py:352:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
_ _

self = <dtest_setup.DTestSetup object at 0x7f82bcfa8250>
request = <SubRequest 'fixture_dtest_setup' for <Function
'test_client_request_metrics'>>

def cleanup_cluster(self, request=None):
with log_filter('cassandra'): # quiet noise from driver when nodes start
going down
> if self.dtest_config.keep_test_dir or
(self.dtest_config.keep_failed_test_dir and request and
request.node.rep_call.failed):
E AttributeError: 'Function' object has no attribute 'rep_call'

dtest_setup.py:351: AttributeError
----------------------------------------------------------------------------
Cassandra dtests // test_failed_snitch_update_yaml_file_snitch // Error
test teardown failure

request = <SubRequest 'fixture_dtest_setup' for <Function
'test_failed_snitch_update_yaml_file_snitch'>>
dtest_config = <dtest_config.DTestConfig object at 0x7f82bcfa8520>
fixture_dtest_setup_overrides = <dtest_setup_overrides.DTestSetupOverrides
object at 0x7f82bd05db20>
fixture_logging_setup = None, fixture_dtest_cluster_name = 'test'
fixture_dtest_create_cluster_func = <function DTestSetup.create_ccm_cluster
at 0x7f82bd85aaf0>

@pytest.fixture(scope='function', autouse=False)
def fixture_dtest_setup(request,
dtest_config,
fixture_dtest_setup_overrides,
fixture_logging_setup,
fixture_dtest_cluster_name,
fixture_dtest_create_cluster_func):
if running_in_docker():
cleanup_docker_environment_before_test_execution()

# do all of our setup operations to get the enviornment ready for the actual
test
# to run (e.g. bring up a cluster with the necessary config, populate
variables, etc)
initial_environment = copy.deepcopy(os.environ)
dtest_setup = DTestSetup(dtest_config=dtest_config,
setup_overrides=fixture_dtest_setup_overrides,
cluster_name=fixture_dtest_cluster_name)
dtest_setup.initialize_cluster(fixture_dtest_create_cluster_func)

if not dtest_config.disable_active_log_watching:
dtest_setup.begin_active_log_watch()

# at this point we're done with our setup operations in this fixture
# yield to allow the actual test to run
yield dtest_setup

# phew! we're back after executing the test, now we need to do
# all of our teardown and cleanup operations

reset_environment_vars(initial_environment)
dtest_setup.jvm_args = []

for con in dtest_setup.connections:
con.cluster.shutdown()
dtest_setup.connections = []

failed = False
try:
if not dtest_setup.allow_log_errors:
errors = check_logs_for_errors(dtest_setup)
if len(errors) > 0:
failed = True
pytest.fail(msg='Unexpected error found in node logs (see stdout for full
details). Errors: [{errors}]'
.format(errors=str.join(", ", errors)), pytrace=False)
finally:
try:
# save the logs for inspection
if failed or not dtest_config.delete_logs:
copy_logs(request, dtest_setup.cluster)
except Exception as e:
logger.error("Error saving log:", str(e))
finally:
> dtest_setup.cleanup_cluster(request)

conftest.py:352:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
_ _

self = <dtest_setup.DTestSetup object at 0x7f82bd4e5f70>
request = <SubRequest 'fixture_dtest_setup' for <Function
'test_failed_snitch_update_yaml_file_snitch'>>

def cleanup_cluster(self, request=None):
with log_filter('cassandra'): # quiet noise from driver when nodes start
going down
> if self.dtest_config.keep_test_dir or
(self.dtest_config.keep_failed_test_dir and request and
request.node.rep_call.failed):
E AttributeError: 'Function' object has no attribute 'rep_call'

dtest_setup.py:351: AttributeError
----------------------------------------------------------------------------
Cassandra dtests // test_manual_session_cancel_non_coordinator_failure /
/ Error
test teardown failure

request = <SubRequest 'fixture_dtest_setup' for <Function
'test_manual_session_cancel_non_coordinator_failure'>>
dtest_config = <dtest_config.DTestConfig object at 0x7f82bcfa8520>
fixture_dtest_setup_overrides = <dtest_setup_overrides.DTestSetupOverrides
object at 0x7f82bd161070>
fixture_logging_setup = None, fixture_dtest_cluster_name = 'test'
fixture_dtest_create_cluster_func = <function DTestSetup.create_ccm_cluster
at 0x7f82bd85aaf0>

@pytest.fixture(scope='function', autouse=False)
def fixture_dtest_setup(request,
dtest_config,
fixture_dtest_setup_overrides,
fixture_logging_setup,
fixture_dtest_cluster_name,
fixture_dtest_create_cluster_func):
if running_in_docker():
cleanup_docker_environment_before_test_execution()

# do all of our setup operations to get the enviornment ready for the actual
test
# to run (e.g. bring up a cluster with the necessary config, populate
variables, etc)
initial_environment = copy.deepcopy(os.environ)
dtest_setup = DTestSetup(dtest_config=dtest_config,
setup_overrides=fixture_dtest_setup_overrides,
cluster_name=fixture_dtest_cluster_name)
dtest_setup.initialize_cluster(fixture_dtest_create_cluster_func)

if not dtest_config.disable_active_log_watching:
dtest_setup.begin_active_log_watch()

# at this point we're done with our setup operations in this fixture
# yield to allow the actual test to run
yield dtest_setup

# phew! we're back after executing the test, now we need to do
# all of our teardown and cleanup operations

reset_environment_vars(initial_environment)
dtest_setup.jvm_args = []

for con in dtest_setup.connections:
con.cluster.shutdown()
dtest_setup.connections = []

failed = False
try:
if not dtest_setup.allow_log_errors:
errors = check_logs_for_errors(dtest_setup)
if len(errors) > 0:
failed = True
pytest.fail(msg='Unexpected error found in node logs (see stdout for full
details). Errors: [{errors}]'
.format(errors=str.join(", ", errors)), pytrace=False)
finally:
try:
# save the logs for inspection
if failed or not dtest_config.delete_logs:
copy_logs(request, dtest_setup.cluster)
except Exception as e:
logger.error("Error saving log:", str(e))
finally:
> dtest_setup.cleanup_cluster(request)

conftest.py:352:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
_ _

self = <dtest_setup.DTestSetup object at 0x7f82bd647d30>
request = <SubRequest 'fixture_dtest_setup' for <Function
'test_manual_session_cancel_non_coordinator_failure'>>

def cleanup_cluster(self, request=None):
with log_filter('cassandra'): # quiet noise from driver when nodes start
going down
> if self.dtest_config.keep_test_dir or
(self.dtest_config.keep_failed_test_dir and request and
request.node.rep_call.failed):
E AttributeError: 'Function' object has no attribute 'rep_call'

dtest_setup.py:351: AttributeError
----------------------------------------------------------------------------
Cassandra dtests // test_archiving_fql // Error
test teardown failure

request = <SubRequest 'fixture_dtest_setup' for <Function
'test_archiving_fql'>>
dtest_config = <dtest_config.DTestConfig object at 0x7fc8cd473e50>
fixture_dtest_setup_overrides = <dtest_setup_overrides.DTestSetupOverrides
object at 0x7fc8cd473af0>
fixture_logging_setup = None, fixture_dtest_cluster_name = 'test'
fixture_dtest_create_cluster_func = <function DTestSetup.create_ccm_cluster
at 0x7fc8cdd45a60>

@pytest.fixture(scope='function', autouse=False)
def fixture_dtest_setup(request,
dtest_config,
fixture_dtest_setup_overrides,
fixture_logging_setup,
fixture_dtest_cluster_name,
fixture_dtest_create_cluster_func):
if running_in_docker():
cleanup_docker_environment_before_test_execution()

# do all of our setup operations to get the enviornment ready for the actual
test
# to run (e.g. bring up a cluster with the necessary config, populate
variables, etc)
initial_environment = copy.deepcopy(os.environ)
dtest_setup = DTestSetup(dtest_config=dtest_config,
setup_overrides=fixture_dtest_setup_overrides,
cluster_name=fixture_dtest_cluster_name)
dtest_setup.initialize_cluster(fixture_dtest_create_cluster_func)

if not dtest_config.disable_active_log_watching:
dtest_setup.begin_active_log_watch()

# at this point we're done with our setup operations in this fixture
# yield to allow the actual test to run
yield dtest_setup

# phew! we're back after executing the test, now we need to do
# all of our teardown and cleanup operations

reset_environment_vars(initial_environment)
dtest_setup.jvm_args = []

for con in dtest_setup.connections:
con.cluster.shutdown()
dtest_setup.connections = []

failed = False
try:
if not dtest_setup.allow_log_errors:
errors = check_logs_for_errors(dtest_setup)
if len(errors) > 0:
failed = True
pytest.fail(msg='Unexpected error found in node logs (see stdout for full
details). Errors: [{errors}]'
.format(errors=str.join(", ", errors)), pytrace=False)
finally:
try:
# save the logs for inspection
if failed or not dtest_config.delete_logs:
copy_logs(request, dtest_setup.cluster)
except Exception as e:
logger.error("Error saving log:", str(e))
finally:
> dtest_setup.cleanup_cluster(request)

conftest.py:352:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
_ _

self = <dtest_setup.DTestSetup object at 0x7fc8cd4739d0>
request = <SubRequest 'fixture_dtest_setup' for <Function
'test_archiving_fql'>>

def cleanup_cluster(self, request=None):
with log_filter('cassandra'): # quiet noise from driver when nodes start
going down
> if self.dtest_config.keep_test_dir or
(self.dtest_config.keep_failed_test_dir and request and
request.node.rep_call.failed):
E AttributeError: 'Function' object has no attribute 'rep_call'

dtest_setup.py:351: AttributeError
----------------------------------------------------------------------------
Cassandra dtests // test_atomic_writes[blocking] // Error
test teardown failure

request = <SubRequest 'fixture_dtest_setup' for <Function
'test_atomic_writes[blocking]'>>
dtest_config = <dtest_config.DTestConfig object at 0x7fc8cd473e50>
fixture_dtest_setup_overrides = <dtest_setup_overrides.DTestSetupOverrides
object at 0x7fc8cd631b80>
fixture_logging_setup = None, fixture_dtest_cluster_name = 'test'
fixture_dtest_create_cluster_func = <function DTestSetup.create_ccm_cluster
at 0x7fc8cdd45a60>

@pytest.fixture(scope='function', autouse=False)
def fixture_dtest_setup(request,
dtest_config,
fixture_dtest_setup_overrides,
fixture_logging_setup,
fixture_dtest_cluster_name,
fixture_dtest_create_cluster_func):
if running_in_docker():
cleanup_docker_environment_before_test_execution()

# do all of our setup operations to get the enviornment ready for the actual
test
# to run (e.g. bring up a cluster with the necessary config, populate
variables, etc)
initial_environment = copy.deepcopy(os.environ)
dtest_setup = DTestSetup(dtest_config=dtest_config,
setup_overrides=fixture_dtest_setup_overrides,
cluster_name=fixture_dtest_cluster_name)
dtest_setup.initialize_cluster(fixture_dtest_create_cluster_func)

if not dtest_config.disable_active_log_watching:
dtest_setup.begin_active_log_watch()

# at this point we're done with our setup operations in this fixture
# yield to allow the actual test to run
yield dtest_setup

# phew! we're back after executing the test, now we need to do
# all of our teardown and cleanup operations

reset_environment_vars(initial_environment)
dtest_setup.jvm_args = []

for con in dtest_setup.connections:
con.cluster.shutdown()
dtest_setup.connections = []

failed = False
try:
if not dtest_setup.allow_log_errors:
errors = check_logs_for_errors(dtest_setup)
if len(errors) > 0:
failed = True
pytest.fail(msg='Unexpected error found in node logs (see stdout for full
details). Errors: [{errors}]'
.format(errors=str.join(", ", errors)), pytrace=False)
finally:
try:
# save the logs for inspection
if failed or not dtest_config.delete_logs:
copy_logs(request, dtest_setup.cluster)
except Exception as e:
logger.error("Error saving log:", str(e))
finally:
> dtest_setup.cleanup_cluster(request)

conftest.py:352:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
_ _

self = <dtest_setup.DTestSetup object at 0x7fc8cc28e190>
request = <SubRequest 'fixture_dtest_setup' for <Function
'test_atomic_writes[blocking]'>>

def cleanup_cluster(self, request=None):
with log_filter('cassandra'): # quiet noise from driver when nodes start
going down
> if self.dtest_config.keep_test_dir or
(self.dtest_config.keep_failed_test_dir and request and
request.node.rep_call.failed):
E AttributeError: 'Function' object has no attribute 'rep_call'

dtest_setup.py:351: AttributeError
----------------------------------------------------------------------------
Cassandra dtests // test_wide_row_repair // Error
test teardown failure

request = <SubRequest 'fixture_dtest_setup' for <Function
'test_wide_row_repair'>>
dtest_config = <dtest_config.DTestConfig object at 0x7fc8cd473e50>
fixture_dtest_setup_overrides = <dtest_setup_overrides.DTestSetupOverrides
object at 0x7fc8cc315730>
fixture_logging_setup = None, fixture_dtest_cluster_name = 'test'
fixture_dtest_create_cluster_func = <function DTestSetup.create_ccm_cluster
at 0x7fc8cdd45a60>

@pytest.fixture(scope='function', autouse=False)
def fixture_dtest_setup(request,
dtest_config,
fixture_dtest_setup_overrides,
fixture_logging_setup,
fixture_dtest_cluster_name,
fixture_dtest_create_cluster_func):
if running_in_docker():
cleanup_docker_environment_before_test_execution()

# do all of our setup operations to get the enviornment ready for the actual
test
# to run (e.g. bring up a cluster with the necessary config, populate
variables, etc)
initial_environment = copy.deepcopy(os.environ)
dtest_setup = DTestSetup(dtest_config=dtest_config,
setup_overrides=fixture_dtest_setup_overrides,
cluster_name=fixture_dtest_cluster_name)
dtest_setup.initialize_cluster(fixture_dtest_create_cluster_func)

if not dtest_config.disable_active_log_watching:
dtest_setup.begin_active_log_watch()

# at this point we're done with our setup operations in this fixture
# yield to allow the actual test to run
yield dtest_setup

# phew! we're back after executing the test, now we need to do
# all of our teardown and cleanup operations

reset_environment_vars(initial_environment)
dtest_setup.jvm_args = []

for con in dtest_setup.connections:
con.cluster.shutdown()
dtest_setup.connections = []

failed = False
try:
if not dtest_setup.allow_log_errors:
errors = check_logs_for_errors(dtest_setup)
if len(errors) > 0:
failed = True
pytest.fail(msg='Unexpected error found in node logs (see stdout for full
details). Errors: [{errors}]'
.format(errors=str.join(", ", errors)), pytrace=False)
finally:
try:
# save the logs for inspection
if failed or not dtest_config.delete_logs:
copy_logs(request, dtest_setup.cluster)
except Exception as e:
logger.error("Error saving log:", str(e))
finally:
> dtest_setup.cleanup_cluster(request)

conftest.py:352:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
_ _

self = <dtest_setup.DTestSetup object at 0x7fc8cdbd5820>
request = <SubRequest 'fixture_dtest_setup' for <Function
'test_wide_row_repair'>>

def cleanup_cluster(self, request=None):
with log_filter('cassandra'): # quiet noise from driver when nodes start
going down
> if self.dtest_config.keep_test_dir or
(self.dtest_config.keep_failed_test_dir and request and
request.node.rep_call.failed):
E AttributeError: 'Function' object has no attribute 'rep_call'

dtest_setup.py:351: AttributeError
----------------------------------------------------------------------------
Cassandra dtests // test_set_get_batchlog_replay_throttle // Error
test teardown failure

request = <SubRequest 'fixture_dtest_setup' for <Function
'test_set_get_batchlog_replay_throttle'>>
dtest_config = <dtest_config.DTestConfig object at 0x7faf97de2100>
fixture_dtest_setup_overrides = <dtest_setup_overrides.DTestSetupOverrides
object at 0x7faf985e4580>
fixture_logging_setup = None, fixture_dtest_cluster_name = 'test'
fixture_dtest_create_cluster_func = <function DTestSetup.create_ccm_cluster
at 0x7faf9869dc10>

@pytest.fixture(scope='function', autouse=False)
def fixture_dtest_setup(request,
dtest_config,
fixture_dtest_setup_overrides,
fixture_logging_setup,
fixture_dtest_cluster_name,
fixture_dtest_create_cluster_func):
if running_in_docker():
cleanup_docker_environment_before_test_execution()

# do all of our setup operations to get the enviornment ready for the actual
test
# to run (e.g. bring up a cluster with the necessary config, populate
variables, etc)
initial_environment = copy.deepcopy(os.environ)
dtest_setup = DTestSetup(dtest_config=dtest_config,
setup_overrides=fixture_dtest_setup_overrides,
cluster_name=fixture_dtest_cluster_name)
dtest_setup.initialize_cluster(fixture_dtest_create_cluster_func)

if not dtest_config.disable_active_log_watching:
dtest_setup.begin_active_log_watch()

# at this point we're done with our setup operations in this fixture
# yield to allow the actual test to run
yield dtest_setup

# phew! we're back after executing the test, now we need to do
# all of our teardown and cleanup operations

reset_environment_vars(initial_environment)
dtest_setup.jvm_args = []

for con in dtest_setup.connections:
con.cluster.shutdown()
dtest_setup.connections = []

failed = False
try:
if not dtest_setup.allow_log_errors:
errors = check_logs_for_errors(dtest_setup)
if len(errors) > 0:
failed = True
pytest.fail(msg='Unexpected error found in node logs (see stdout for full
details). Errors: [{errors}]'
.format(errors=str.join(", ", errors)), pytrace=False)
finally:
try:
# save the logs for inspection
if failed or not dtest_config.delete_logs:
copy_logs(request, dtest_setup.cluster)
except Exception as e:
logger.error("Error saving log:", str(e))
finally:
> dtest_setup.cleanup_cluster(request)

conftest.py:352:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
_ _

self = <dtest_setup.DTestSetup object at 0x7faf985e4f70>
request = <SubRequest 'fixture_dtest_setup' for <Function
'test_set_get_batchlog_replay_throttle'>>

def cleanup_cluster(self, request=None):
with log_filter('cassandra'): # quiet noise from driver when nodes start
going down
> if self.dtest_config.keep_test_dir or
(self.dtest_config.keep_failed_test_dir and request and
request.node.rep_call.failed):
E AttributeError: 'Function' object has no attribute 'rep_call'

dtest_setup.py:351: AttributeError
----------------------------------------------------------------------------
Cassandra dtests // test_datetime_values_40 // Error
test teardown failure

request = <SubRequest 'fixture_dtest_setup' for <Function
'test_datetime_values_40'>>
dtest_config = <dtest_config.DTestConfig object at 0x7faf97de2100>
fixture_dtest_setup_overrides = <dtest_setup_overrides.DTestSetupOverrides
object at 0x7faf97568d00>
fixture_logging_setup = None, fixture_dtest_cluster_name = 'test'
fixture_dtest_create_cluster_func = <function DTestSetup.create_ccm_cluster
at 0x7faf9869dc10>

@pytest.fixture(scope='function', autouse=False)
def fixture_dtest_setup(request,
dtest_config,
fixture_dtest_setup_overrides,
fixture_logging_setup,
fixture_dtest_cluster_name,
fixture_dtest_create_cluster_func):
if running_in_docker():
cleanup_docker_environment_before_test_execution()

# do all of our setup operations to get the enviornment ready for the actual
test
# to run (e.g. bring up a cluster with the necessary config, populate
variables, etc)
initial_environment = copy.deepcopy(os.environ)
dtest_setup = DTestSetup(dtest_config=dtest_config,
setup_overrides=fixture_dtest_setup_overrides,
cluster_name=fixture_dtest_cluster_name)
dtest_setup.initialize_cluster(fixture_dtest_create_cluster_func)

if not dtest_config.disable_active_log_watching:
dtest_setup.begin_active_log_watch()

# at this point we're done with our setup operations in this fixture
# yield to allow the actual test to run
yield dtest_setup

# phew! we're back after executing the test, now we need to do
# all of our teardown and cleanup operations

reset_environment_vars(initial_environment)
dtest_setup.jvm_args = []

for con in dtest_setup.connections:
con.cluster.shutdown()
dtest_setup.connections = []

failed = False
try:
if not dtest_setup.allow_log_errors:
errors = check_logs_for_errors(dtest_setup)
if len(errors) > 0:
failed = True
pytest.fail(msg='Unexpected error found in node logs (see stdout for full
details). Errors: [{errors}]'
.format(errors=str.join(", ", errors)), pytrace=False)
finally:
try:
# save the logs for inspection
if failed or not dtest_config.delete_logs:
copy_logs(request, dtest_setup.cluster)
except Exception as e:
logger.error("Error saving log:", str(e))
finally:
> dtest_setup.cleanup_cluster(request)

conftest.py:352:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
_ _

self = <dtest_setup.DTestSetup object at 0x7faf9801dc40>
request = <SubRequest 'fixture_dtest_setup' for <Function
'test_datetime_values_40'>>

def cleanup_cluster(self, request=None):
with log_filter('cassandra'): # quiet noise from driver when nodes start
going down
> if self.dtest_config.keep_test_dir or
(self.dtest_config.keep_failed_test_dir and request and
request.node.rep_call.failed):
E AttributeError: 'Function' object has no attribute 'rep_call'

dtest_setup.py:351: AttributeError
----------------------------------------------------------------------------
Cassandra dtests // test_manual_session_force_cancel // Error
test teardown failure

request = <SubRequest 'fixture_dtest_setup' for <Function
'test_manual_session_force_cancel'>>
dtest_config = <dtest_config.DTestConfig object at 0x7faf97de2100>
fixture_dtest_setup_overrides = <dtest_setup_overrides.DTestSetupOverrides
object at 0x7faf97150610>
fixture_logging_setup = None, fixture_dtest_cluster_name = 'test'
fixture_dtest_create_cluster_func = <function DTestSetup.create_ccm_cluster
at 0x7faf9869dc10>

@pytest.fixture(scope='function', autouse=False)
def fixture_dtest_setup(request,
dtest_config,
fixture_dtest_setup_overrides,
fixture_logging_setup,
fixture_dtest_cluster_name,
fixture_dtest_create_cluster_func):
if running_in_docker():
cleanup_docker_environment_before_test_execution()

# do all of our setup operations to get the enviornment ready for the actual
test
# to run (e.g. bring up a cluster with the necessary config, populate
variables, etc)
initial_environment = copy.deepcopy(os.environ)
dtest_setup = DTestSetup(dtest_config=dtest_config,
setup_overrides=fixture_dtest_setup_overrides,
cluster_name=fixture_dtest_cluster_name)
dtest_setup.initialize_cluster(fixture_dtest_create_cluster_func)

if not dtest_config.disable_active_log_watching:
dtest_setup.begin_active_log_watch()

# at this point we're done with our setup operations in this fixture
# yield to allow the actual test to run
yield dtest_setup

# phew! we're back after executing the test, now we need to do
# all of our teardown and cleanup operations

reset_environment_vars(initial_environment)
dtest_setup.jvm_args = []

for con in dtest_setup.connections:
con.cluster.shutdown()
dtest_setup.connections = []

failed = False
try:
if not dtest_setup.allow_log_errors:
errors = check_logs_for_errors(dtest_setup)
if len(errors) > 0:
failed = True
pytest.fail(msg='Unexpected error found in node logs (see stdout for full
details). Errors: [{errors}]'
.format(errors=str.join(", ", errors)), pytrace=False)
finally:
try:
# save the logs for inspection
if failed or not dtest_config.delete_logs:
copy_logs(request, dtest_setup.cluster)
except Exception as e:
logger.error("Error saving log:", str(e))
finally:
> dtest_setup.cleanup_cluster(request)

conftest.py:352:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
_ _

self = <dtest_setup.DTestSetup object at 0x7faf9589d250>
request = <SubRequest 'fixture_dtest_setup' for <Function
'test_manual_session_force_cancel'>>

def cleanup_cluster(self, request=None):
with log_filter('cassandra'): # quiet noise from driver when nodes start
going down
> if self.dtest_config.keep_test_dir or
(self.dtest_config.keep_failed_test_dir and request and
request.node.rep_call.failed):
E AttributeError: 'Function' object has no attribute 'rep_call'

dtest_setup.py:351: AttributeError
----------------------------------------------------------------------------
Cassandra dtests // test_full_dc_access // Error
test teardown failure

request = <SubRequest 'fixture_dtest_setup' for <Function
'test_full_dc_access'>>
dtest_config = <dtest_config.DTestConfig object at 0x7f0815943d60>
fixture_dtest_setup_overrides = <dtest_setup_overrides.DTestSetupOverrides
object at 0x7f0815f08a60>
fixture_logging_setup = None, fixture_dtest_cluster_name = 'test'
fixture_dtest_create_cluster_func = <function DTestSetup.create_ccm_cluster
at 0x7f0815ff0af0>

@pytest.fixture(scope='function', autouse=False)
def fixture_dtest_setup(request,
dtest_config,
fixture_dtest_setup_overrides,
fixture_logging_setup,
fixture_dtest_cluster_name,
fixture_dtest_create_cluster_func):
if running_in_docker():
cleanup_docker_environment_before_test_execution()

# do all of our setup operations to get the enviornment ready for the actual
test
# to run (e.g. bring up a cluster with the necessary config, populate
variables, etc)
initial_environment = copy.deepcopy(os.environ)
dtest_setup = DTestSetup(dtest_config=dtest_config,
setup_overrides=fixture_dtest_setup_overrides,
cluster_name=fixture_dtest_cluster_name)
dtest_setup.initialize_cluster(fixture_dtest_create_cluster_func)

if not dtest_config.disable_active_log_watching:
dtest_setup.begin_active_log_watch()

# at this point we're done with our setup operations in this fixture
# yield to allow the actual test to run
yield dtest_setup

# phew! we're back after executing the test, now we need to do
# all of our teardown and cleanup operations

reset_environment_vars(initial_environment)
dtest_setup.jvm_args = []

for con in dtest_setup.connections:
con.cluster.shutdown()
dtest_setup.connections = []

failed = False
try:
if not dtest_setup.allow_log_errors:
errors = check_logs_for_errors(dtest_setup)
if len(errors) > 0:
failed = True
pytest.fail(msg='Unexpected error found in node logs (see stdout for full
details). Errors: [{errors}]'
.format(errors=str.join(", ", errors)), pytrace=False)
finally:
try:
# save the logs for inspection
if failed or not dtest_config.delete_logs:
copy_logs(request, dtest_setup.cluster)
except Exception as e:
logger.error("Error saving log:", str(e))
finally:
> dtest_setup.cleanup_cluster(request)

conftest.py:352:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
_ _

self = <dtest_setup.DTestSetup object at 0x7f0815f08400>
request = <SubRequest 'fixture_dtest_setup' for <Function
'test_full_dc_access'>>

def cleanup_cluster(self, request=None):
with log_filter('cassandra'): # quiet noise from driver when nodes start
going down
> if self.dtest_config.keep_test_dir or
(self.dtest_config.keep_failed_test_dir and request and
request.node.rep_call.failed):
E AttributeError: 'Function' object has no attribute 'rep_call'

dtest_setup.py:351: AttributeError
----------------------------------------------------------------------------
Cassandra dtests // test_set_get_concurrent_view_builders // Error
test teardown failure

request = <SubRequest 'fixture_dtest_setup' for <Function
'test_set_get_concurrent_view_builders'>>
dtest_config = <dtest_config.DTestConfig object at 0x7f0815943d60>
fixture_dtest_setup_overrides = <dtest_setup_overrides.DTestSetupOverrides
object at 0x7f0815d375b0>
fixture_logging_setup = None, fixture_dtest_cluster_name = 'test'
fixture_dtest_create_cluster_func = <function DTestSetup.create_ccm_cluster
at 0x7f0815ff0af0>

@pytest.fixture(scope='function', autouse=False)
def fixture_dtest_setup(request,
dtest_config,
fixture_dtest_setup_overrides,
fixture_logging_setup,
fixture_dtest_cluster_name,
fixture_dtest_create_cluster_func):
if running_in_docker():
cleanup_docker_environment_before_test_execution()

# do all of our setup operations to get the enviornment ready for the actual
test
# to run (e.g. bring up a cluster with the necessary config, populate
variables, etc)
initial_environment = copy.deepcopy(os.environ)
dtest_setup = DTestSetup(dtest_config=dtest_config,
setup_overrides=fixture_dtest_setup_overrides,
cluster_name=fixture_dtest_cluster_name)
dtest_setup.initialize_cluster(fixture_dtest_create_cluster_func)

if not dtest_config.disable_active_log_watching:
dtest_setup.begin_active_log_watch()

# at this point we're done with our setup operations in this fixture
# yield to allow the actual test to run
yield dtest_setup

# phew! we're back after executing the test, now we need to do
# all of our teardown and cleanup operations

reset_environment_vars(initial_environment)
dtest_setup.jvm_args = []

for con in dtest_setup.connections:
con.cluster.shutdown()
dtest_setup.connections = []

failed = False
try:
if not dtest_setup.allow_log_errors:
errors = check_logs_for_errors(dtest_setup)
if len(errors) > 0:
failed = True
pytest.fail(msg='Unexpected error found in node logs (see stdout for full
details). Errors: [{errors}]'
.format(errors=str.join(", ", errors)), pytrace=False)
finally:
try:
# save the logs for inspection
if failed or not dtest_config.delete_logs:
copy_logs(request, dtest_setup.cluster)
except Exception as e:
logger.error("Error saving log:", str(e))
finally:
> dtest_setup.cleanup_cluster(request)

conftest.py:352:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
_ _

self = <dtest_setup.DTestSetup object at 0x7f08159a07f0>
request = <SubRequest 'fixture_dtest_setup' for <Function
'test_set_get_concurrent_view_builders'>>

def cleanup_cluster(self, request=None):
with log_filter('cassandra'): # quiet noise from driver when nodes start
going down
> if self.dtest_config.keep_test_dir or
(self.dtest_config.keep_failed_test_dir and request and
request.node.rep_call.failed):
E AttributeError: 'Function' object has no attribute 'rep_call'

dtest_setup.py:351: AttributeError
----------------------------------------------------------------------------
Cassandra dtests // test_single_dc_access // Error
test teardown failure

request = <SubRequest 'fixture_dtest_setup' for <Function
'test_single_dc_access'>>
dtest_config = <dtest_config.DTestConfig object at 0x7fc8f7d691f0>
fixture_dtest_setup_overrides = <dtest_setup_overrides.DTestSetupOverrides
object at 0x7fc8f7f9ea60>
fixture_logging_setup = None, fixture_dtest_cluster_name = 'test'
fixture_dtest_create_cluster_func = <function DTestSetup.create_ccm_cluster
at 0x7fc8f85dec10>

@pytest.fixture(scope='function', autouse=False)
def fixture_dtest_setup(request,
dtest_config,
fixture_dtest_setup_overrides,
fixture_logging_setup,
fixture_dtest_cluster_name,
fixture_dtest_create_cluster_func):
if running_in_docker():
cleanup_docker_environment_before_test_execution()

# do all of our setup operations to get the enviornment ready for the actual
test
# to run (e.g. bring up a cluster with the necessary config, populate
variables, etc)
initial_environment = copy.deepcopy(os.environ)
dtest_setup = DTestSetup(dtest_config=dtest_config,
setup_overrides=fixture_dtest_setup_overrides,
cluster_name=fixture_dtest_cluster_name)
dtest_setup.initialize_cluster(fixture_dtest_create_cluster_func)

if not dtest_config.disable_active_log_watching:
dtest_setup.begin_active_log_watch()

# at this point we're done with our setup operations in this fixture
# yield to allow the actual test to run
yield dtest_setup

# phew! we're back after executing the test, now we need to do
# all of our teardown and cleanup operations

reset_environment_vars(initial_environment)
dtest_setup.jvm_args = []

for con in dtest_setup.connections:
con.cluster.shutdown()
dtest_setup.connections = []

failed = False
try:
if not dtest_setup.allow_log_errors:
errors = check_logs_for_errors(dtest_setup)
if len(errors) > 0:
failed = True
pytest.fail(msg='Unexpected error found in node logs (see stdout for full
details). Errors: [{errors}]'
.format(errors=str.join(", ", errors)), pytrace=False)
finally:
try:
# save the logs for inspection
if failed or not dtest_config.delete_logs:
copy_logs(request, dtest_setup.cluster)
except Exception as e:
logger.error("Error saving log:", str(e))
finally:
> dtest_setup.cleanup_cluster(request)

conftest.py:352:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
_ _

self = <dtest_setup.DTestSetup object at 0x7fc8f7d70550>
request = <SubRequest 'fixture_dtest_setup' for <Function
'test_single_dc_access'>>

def cleanup_cluster(self, request=None):
with log_filter('cassandra'): # quiet noise from driver when nodes start
going down
> if self.dtest_config.keep_test_dir or
(self.dtest_config.keep_failed_test_dir and request and
request.node.rep_call.failed):
E AttributeError: 'Function' object has no attribute 'rep_call'

dtest_setup.py:351: AttributeError
----------------------------------------------------------------------------
Cassandra dtests // test_describecluster_more_information_three_datacenters
// Error
test teardown failure

request = <SubRequest 'fixture_dtest_setup' for <Function
'test_describecluster_more_information_three_datacenters'>>
dtest_config = <dtest_config.DTestConfig object at 0x7fc8f7d691f0>
fixture_dtest_setup_overrides = <dtest_setup_overrides.DTestSetupOverrides
object at 0x7fc8f7e3fc40>
fixture_logging_setup = None, fixture_dtest_cluster_name = 'test'
fixture_dtest_create_cluster_func = <function DTestSetup.create_ccm_cluster
at 0x7fc8f85dec10>

@pytest.fixture(scope='function', autouse=False)
def fixture_dtest_setup(request,
dtest_config,
fixture_dtest_setup_overrides,
fixture_logging_setup,
fixture_dtest_cluster_name,
fixture_dtest_create_cluster_func):
if running_in_docker():
cleanup_docker_environment_before_test_execution()

# do all of our setup operations to get the enviornment ready for the actual
test
# to run (e.g. bring up a cluster with the necessary config, populate
variables, etc)
initial_environment = copy.deepcopy(os.environ)
dtest_setup = DTestSetup(dtest_config=dtest_config,
setup_overrides=fixture_dtest_setup_overrides,
cluster_name=fixture_dtest_cluster_name)
dtest_setup.initialize_cluster(fixture_dtest_create_cluster_func)

if not dtest_config.disable_active_log_watching:
dtest_setup.begin_active_log_watch()

# at this point we're done with our setup operations in this fixture
# yield to allow the actual test to run
yield dtest_setup

# phew! we're back after executing the test, now we need to do
# all of our teardown and cleanup operations

reset_environment_vars(initial_environment)
dtest_setup.jvm_args = []

for con in dtest_setup.connections:
con.cluster.shutdown()
dtest_setup.connections = []

failed = False
try:
if not dtest_setup.allow_log_errors:
errors = check_logs_for_errors(dtest_setup)
if len(errors) > 0:
failed = True
pytest.fail(msg='Unexpected error found in node logs (see stdout for full
details). Errors: [{errors}]'
.format(errors=str.join(", ", errors)), pytrace=False)
finally:
try:
# save the logs for inspection
if failed or not dtest_config.delete_logs:
copy_logs(request, dtest_setup.cluster)
except Exception as e:
logger.error("Error saving log:", str(e))
finally:
> dtest_setup.cleanup_cluster(request)

conftest.py:352:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
_ _

self = <dtest_setup.DTestSetup object at 0x7fc8f8534bb0>
request = <SubRequest 'fixture_dtest_setup' for <Function
'test_describecluster_more_information_three_datacenters'>>

def cleanup_cluster(self, request=None):
with log_filter('cassandra'): # quiet noise from driver when nodes start
going down
> if self.dtest_config.keep_test_dir or
(self.dtest_config.keep_failed_test_dir and request and
request.node.rep_call.failed):
E AttributeError: 'Function' object has no attribute 'rep_call'

dtest_setup.py:351: AttributeError
----------------------------------------------------------------------------
Cassandra dtests // test_revoked_dc_access // Error
test teardown failure

request = <SubRequest 'fixture_dtest_setup' for <Function
'test_revoked_dc_access'>>
dtest_config = <dtest_config.DTestConfig object at 0x7fbf883c5d00>
fixture_dtest_setup_overrides = <dtest_setup_overrides.DTestSetupOverrides
object at 0x7fbf8895d160>
fixture_logging_setup = None, fixture_dtest_cluster_name = 'test'
fixture_dtest_create_cluster_func = <function DTestSetup.create_ccm_cluster
at 0x7fbf889eca60>

@pytest.fixture(scope='function', autouse=False)
def fixture_dtest_setup(request,
dtest_config,
fixture_dtest_setup_overrides,
fixture_logging_setup,
fixture_dtest_cluster_name,
fixture_dtest_create_cluster_func):
if running_in_docker():
cleanup_docker_environment_before_test_execution()

# do all of our setup operations to get the enviornment ready for the actual
test
# to run (e.g. bring up a cluster with the necessary config, populate
variables, etc)
initial_environment = copy.deepcopy(os.environ)
dtest_setup = DTestSetup(dtest_config=dtest_config,
setup_overrides=fixture_dtest_setup_overrides,
cluster_name=fixture_dtest_cluster_name)
dtest_setup.initialize_cluster(fixture_dtest_create_cluster_func)

if not dtest_config.disable_active_log_watching:
dtest_setup.begin_active_log_watch()

# at this point we're done with our setup operations in this fixture
# yield to allow the actual test to run
yield dtest_setup

# phew! we're back after executing the test, now we need to do
# all of our teardown and cleanup operations

reset_environment_vars(initial_environment)
dtest_setup.jvm_args = []

for con in dtest_setup.connections:
con.cluster.shutdown()
dtest_setup.connections = []

failed = False
try:
if not dtest_setup.allow_log_errors:
errors = check_logs_for_errors(dtest_setup)
if len(errors) > 0:
failed = True
pytest.fail(msg='Unexpected error found in node logs (see stdout for full
details). Errors: [{errors}]'
.format(errors=str.join(", ", errors)), pytrace=False)
finally:
try:
# save the logs for inspection
if failed or not dtest_config.delete_logs:
copy_logs(request, dtest_setup.cluster)
except Exception as e:
logger.error("Error saving log:", str(e))
finally:
> dtest_setup.cleanup_cluster(request)

conftest.py:352:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
_ _

self = <dtest_setup.DTestSetup object at 0x7fbf883721c0>
request = <SubRequest 'fixture_dtest_setup' for <Function
'test_revoked_dc_access'>>

def cleanup_cluster(self, request=None):
with log_filter('cassandra'): # quiet noise from driver when nodes start
going down
> if self.dtest_config.keep_test_dir or
(self.dtest_config.keep_failed_test_dir and request and
request.node.rep_call.failed):
E AttributeError: 'Function' object has no attribute 'rep_call'

dtest_setup.py:351: AttributeError
----------------------------------------------------------------------------
Cassandra dtests // test_sjk // Error
test teardown failure

request = <SubRequest 'fixture_dtest_setup' for <Function 'test_sjk'>>
dtest_config = <dtest_config.DTestConfig object at 0x7fbf883c5d00>
fixture_dtest_setup_overrides = <dtest_setup_overrides.DTestSetupOverrides
object at 0x7fbf87a1c4f0>
fixture_logging_setup = None, fixture_dtest_cluster_name = 'test'
fixture_dtest_create_cluster_func = <function DTestSetup.create_ccm_cluster
at 0x7fbf889eca60>

@pytest.fixture(scope='function', autouse=False)
def fixture_dtest_setup(request,
dtest_config,
fixture_dtest_setup_overrides,
fixture_logging_setup,
fixture_dtest_cluster_name,
fixture_dtest_create_cluster_func):
if running_in_docker():
cleanup_docker_environment_before_test_execution()

# do all of our setup operations to get the enviornment ready for the actual
test
# to run (e.g. bring up a cluster with the necessary config, populate
variables, etc)
initial_environment = copy.deepcopy(os.environ)
dtest_setup = DTestSetup(dtest_config=dtest_config,
setup_overrides=fixture_dtest_setup_overrides,
cluster_name=fixture_dtest_cluster_name)
dtest_setup.initialize_cluster(fixture_dtest_create_cluster_func)

if not dtest_config.disable_active_log_watching:
dtest_setup.begin_active_log_watch()

# at this point we're done with our setup operations in this fixture
# yield to allow the actual test to run
yield dtest_setup

# phew! we're back after executing the test, now we need to do
# all of our teardown and cleanup operations

reset_environment_vars(initial_environment)
dtest_setup.jvm_args = []

for con in dtest_setup.connections:
con.cluster.shutdown()
dtest_setup.connections = []

failed = False
try:
if not dtest_setup.allow_log_errors:
errors = check_logs_for_errors(dtest_setup)
if len(errors) > 0:
failed = True
pytest.fail(msg='Unexpected error found in node logs (see stdout for full
details). Errors: [{errors}]'
.format(errors=str.join(", ", errors)), pytrace=False)
finally:
try:
# save the logs for inspection
if failed or not dtest_config.delete_logs:
copy_logs(request, dtest_setup.cluster)
except Exception as e:
logger.error("Error saving log:", str(e))
finally:
> dtest_setup.cleanup_cluster(request)

conftest.py:352:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
_ _

self = <dtest_setup.DTestSetup object at 0x7fbf84195f10>
request = <SubRequest 'fixture_dtest_setup' for <Function 'test_sjk'>>

def cleanup_cluster(self, request=None):
with log_filter('cassandra'): # quiet noise from driver when nodes start
going down
> if self.dtest_config.keep_test_dir or
(self.dtest_config.keep_failed_test_dir and request and
request.node.rep_call.failed):
E AttributeError: 'Function' object has no attribute 'rep_call'

dtest_setup.py:351: AttributeError
----------------------------------------------------------------------------
Cassandra dtests // test_create_dc_validation // Error
test teardown failure

request = <SubRequest 'fixture_dtest_setup' for <Function
'test_create_dc_validation'>>
dtest_config = <dtest_config.DTestConfig object at 0x7f45f4d90dc0>
fixture_dtest_setup_overrides = <dtest_setup_overrides.DTestSetupOverrides
object at 0x7f45f4d90a30>
fixture_logging_setup = None, fixture_dtest_cluster_name = 'test'
fixture_dtest_create_cluster_func = <function DTestSetup.create_ccm_cluster
at 0x7f45f5521af0>

@pytest.fixture(scope='function', autouse=False)
def fixture_dtest_setup(request,
dtest_config,
fixture_dtest_setup_overrides,
fixture_logging_setup,
fixture_dtest_cluster_name,
fixture_dtest_create_cluster_func):
if running_in_docker():
cleanup_docker_environment_before_test_execution()

# do all of our setup operations to get the enviornment ready for the actual
test
# to run (e.g. bring up a cluster with the necessary config, populate
variables, etc)
initial_environment = copy.deepcopy(os.environ)
dtest_setup = DTestSetup(dtest_config=dtest_config,
setup_overrides=fixture_dtest_setup_overrides,
cluster_name=fixture_dtest_cluster_name)
dtest_setup.initialize_cluster(fixture_dtest_create_cluster_func)

if not dtest_config.disable_active_log_watching:
dtest_setup.begin_active_log_watch()

# at this point we're done with our setup operations in this fixture
# yield to allow the actual test to run
yield dtest_setup

# phew! we're back after executing the test, now we need to do
# all of our teardown and cleanup operations

reset_environment_vars(initial_environment)
dtest_setup.jvm_args = []

for con in dtest_setup.connections:
con.cluster.shutdown()
dtest_setup.connections = []

failed = False
try:
if not dtest_setup.allow_log_errors:
errors = check_logs_for_errors(dtest_setup)
if len(errors) > 0:
failed = True
pytest.fail(msg='Unexpected error found in node logs (see stdout for full
details). Errors: [{errors}]'
.format(errors=str.join(", ", errors)), pytrace=False)
finally:
try:
# save the logs for inspection
if failed or not dtest_config.delete_logs:
copy_logs(request, dtest_setup.cluster)
except Exception as e:
logger.error("Error saving log:", str(e))
finally:
> dtest_setup.cleanup_cluster(request)

conftest.py:352:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
_ _

self = <dtest_setup.DTestSetup object at 0x7f45f54a0100>
request = <SubRequest 'fixture_dtest_setup' for <Function
'test_create_dc_validation'>>

def cleanup_cluster(self, request=None):
with log_filter('cassandra'): # quiet noise from driver when nodes start
going down
> if self.dtest_config.keep_test_dir or
(self.dtest_config.keep_failed_test_dir and request and
request.node.rep_call.failed):
E AttributeError: 'Function' object has no attribute 'rep_call'

dtest_setup.py:351: AttributeError
----------------------------------------------------------------------------
Cassandra dtests // test_alter_dc_validation // Error
test teardown failure

request = <SubRequest 'fixture_dtest_setup' for <Function
'test_alter_dc_validation'>>
dtest_config = <dtest_config.DTestConfig object at 0x7f552ef1c4f0>
fixture_dtest_setup_overrides = <dtest_setup_overrides.DTestSetupOverrides
object at 0x7f552f357070>
fixture_logging_setup = None, fixture_dtest_cluster_name = 'test'
fixture_dtest_create_cluster_func = <function DTestSetup.create_ccm_cluster
at 0x7f552f54ec10>

@pytest.fixture(scope='function', autouse=False)
def fixture_dtest_setup(request,
dtest_config,
fixture_dtest_setup_overrides,
fixture_logging_setup,
fixture_dtest_cluster_name,
fixture_dtest_create_cluster_func):
if running_in_docker():
cleanup_docker_environment_before_test_execution()

# do all of our setup operations to get the enviornment ready for the actual
test
# to run (e.g. bring up a cluster with the necessary config, populate
variables, etc)
initial_environment = copy.deepcopy(os.environ)
dtest_setup = DTestSetup(dtest_config=dtest_config,
setup_overrides=fixture_dtest_setup_overrides,
cluster_name=fixture_dtest_cluster_name)
dtest_setup.initialize_cluster(fixture_dtest_create_cluster_func)

if not dtest_config.disable_active_log_watching:
dtest_setup.begin_active_log_watch()

# at this point we're done with our setup operations in this fixture
# yield to allow the actual test to run
yield dtest_setup

# phew! we're back after executing the test, now we need to do
# all of our teardown and cleanup operations

reset_environment_vars(initial_environment)
dtest_setup.jvm_args = []

for con in dtest_setup.connections:
con.cluster.shutdown()
dtest_setup.connections = []

failed = False
try:
if not dtest_setup.allow_log_errors:
errors = check_logs_for_errors(dtest_setup)
if len(errors) > 0:
failed = True
pytest.fail(msg='Unexpected error found in node logs (see stdout for full
details). Errors: [{errors}]'
.format(errors=str.join(", ", errors)), pytrace=False)
finally:
try:
# save the logs for inspection
if failed or not dtest_config.delete_logs:
copy_logs(request, dtest_setup.cluster)
except Exception as e:
logger.error("Error saving log:", str(e))
finally:
> dtest_setup.cleanup_cluster(request)

conftest.py:352:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
_ _

self = <dtest_setup.DTestSetup object at 0x7f552ee68190>
request = <SubRequest 'fixture_dtest_setup' for <Function
'test_alter_dc_validation'>>

def cleanup_cluster(self, request=None):
with log_filter('cassandra'): # quiet noise from driver when nodes start
going down
> if self.dtest_config.keep_test_dir or
(self.dtest_config.keep_failed_test_dir and request and
request.node.rep_call.failed):
E AttributeError: 'Function' object has no attribute 'rep_call'

dtest_setup.py:351: AttributeError
----------------------------------------------------------------------------
Cassandra dtests // test_revoked_login // Error
test teardown failure

request = <SubRequest 'fixture_dtest_setup' for <Function
'test_revoked_login'>>
dtest_config = <dtest_config.DTestConfig object at 0x7f5af16cea30>
fixture_dtest_setup_overrides = <dtest_setup_overrides.DTestSetupOverrides
object at 0x7f5af1dc8730>
fixture_logging_setup = None, fixture_dtest_cluster_name = 'test'
fixture_dtest_create_cluster_func = <function DTestSetup.create_ccm_cluster
at 0x7f5af1e68b80>

@pytest.fixture(scope='function', autouse=False)
def fixture_dtest_setup(request,
dtest_config,
fixture_dtest_setup_overrides,
fixture_logging_setup,
fixture_dtest_cluster_name,
fixture_dtest_create_cluster_func):
if running_in_docker():
cleanup_docker_environment_before_test_execution()

# do all of our setup operations to get the enviornment ready for the actual
test
# to run (e.g. bring up a cluster with the necessary config, populate
variables, etc)
initial_environment = copy.deepcopy(os.environ)
dtest_setup = DTestSetup(dtest_config=dtest_config,
setup_overrides=fixture_dtest_setup_overrides,
cluster_name=fixture_dtest_cluster_name)
dtest_setup.initialize_cluster(fixture_dtest_create_cluster_func)

if not dtest_config.disable_active_log_watching:
dtest_setup.begin_active_log_watch()

# at this point we're done with our setup operations in this fixture
# yield to allow the actual test to run
yield dtest_setup

# phew! we're back after executing the test, now we need to do
# all of our teardown and cleanup operations

reset_environment_vars(initial_environment)
dtest_setup.jvm_args = []

for con in dtest_setup.connections:
con.cluster.shutdown()
dtest_setup.connections = []

failed = False
try:
if not dtest_setup.allow_log_errors:
errors = check_logs_for_errors(dtest_setup)
if len(errors) > 0:
failed = True
pytest.fail(msg='Unexpected error found in node logs (see stdout for full
details). Errors: [{errors}]'
.format(errors=str.join(", ", errors)), pytrace=False)
finally:
try:
# save the logs for inspection
if failed or not dtest_config.delete_logs:
copy_logs(request, dtest_setup.cluster)
except Exception as e:
logger.error("Error saving log:", str(e))
finally:
> dtest_setup.cleanup_cluster(request)

conftest.py:352:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
_ _

self = <dtest_setup.DTestSetup object at 0x7f5af1e23580>
request = <SubRequest 'fixture_dtest_setup' for <Function
'test_revoked_login'>>

def cleanup_cluster(self, request=None):
with log_filter('cassandra'): # quiet noise from driver when nodes start
going down
> if self.dtest_config.keep_test_dir or
(self.dtest_config.keep_failed_test_dir and request and
request.node.rep_call.failed):
E AttributeError: 'Function' object has no attribute 'rep_call'

dtest_setup.py:351: AttributeError
----------------------------------------------------------------------------
Cassandra dtests // test_force // Error
test teardown failure

request = <SubRequest 'fixture_dtest_setup' for <Function 'test_force'>>
dtest_config = <dtest_config.DTestConfig object at 0x7f5af16cea30>
fixture_dtest_setup_overrides = <dtest_setup_overrides.DTestSetupOverrides
object at 0x7f5af0bf5fd0>
fixture_logging_setup = None, fixture_dtest_cluster_name = 'test'
fixture_dtest_create_cluster_func = <function DTestSetup.create_ccm_cluster
at 0x7f5af1e68b80>

@pytest.fixture(scope='function', autouse=False)
def fixture_dtest_setup(request,
dtest_config,
fixture_dtest_setup_overrides,
fixture_logging_setup,
fixture_dtest_cluster_name,
fixture_dtest_create_cluster_func):
if running_in_docker():
cleanup_docker_environment_before_test_execution()

# do all of our setup operations to get the enviornment ready for the actual
test
# to run (e.g. bring up a cluster with the necessary config, populate
variables, etc)
initial_environment = copy.deepcopy(os.environ)
dtest_setup = DTestSetup(dtest_config=dtest_config,
setup_overrides=fixture_dtest_setup_overrides,
cluster_name=fixture_dtest_cluster_name)
dtest_setup.initialize_cluster(fixture_dtest_create_cluster_func)

if not dtest_config.disable_active_log_watching:
dtest_setup.begin_active_log_watch()

# at this point we're done with our setup operations in this fixture
# yield to allow the actual test to run
yield dtest_setup

# phew! we're back after executing the test, now we need to do
# all of our teardown and cleanup operations

reset_environment_vars(initial_environment)
dtest_setup.jvm_args = []

for con in dtest_setup.connections:
con.cluster.shutdown()
dtest_setup.connections = []

failed = False
try:
if not dtest_setup.allow_log_errors:
errors = check_logs_for_errors(dtest_setup)
if len(errors) > 0:
failed = True
pytest.fail(msg='Unexpected error found in node logs (see stdout for full
details). Errors: [{errors}]'
.format(errors=str.join(", ", errors)), pytrace=False)
finally:
try:
# save the logs for inspection
if failed or not dtest_config.delete_logs:
copy_logs(request, dtest_setup.cluster)
except Exception as e:
logger.error("Error saving log:", str(e))
finally:
> dtest_setup.cleanup_cluster(request)

conftest.py:352:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
_ _

self = <dtest_setup.DTestSetup object at 0x7f5af0bb7490>
request = <SubRequest 'fixture_dtest_setup' for <Function 'test_force'>>

def cleanup_cluster(self, request=None):
with log_filter('cassandra'): # quiet noise from driver when nodes start
going down
> if self.dtest_config.keep_test_dir or
(self.dtest_config.keep_failed_test_dir and request and
request.node.rep_call.failed):
E AttributeError: 'Function' object has no attribute 'rep_call'

dtest_setup.py:351: AttributeError
----------------------------------------------------------------------------
Cassandra dtests // test_force_with_none_down // Error
test teardown failure

request = <SubRequest 'fixture_dtest_setup' for <Function
'test_force_with_none_down'>>
dtest_config = <dtest_config.DTestConfig object at 0x7f7af30b0a00>
fixture_dtest_setup_overrides = <dtest_setup_overrides.DTestSetupOverrides
object at 0x7f7adb65f700>
fixture_logging_setup = None, fixture_dtest_cluster_name = 'test'
fixture_dtest_create_cluster_func = <function DTestSetup.create_ccm_cluster
at 0x7f7af382ec10>

@pytest.fixture(scope='function', autouse=False)
def fixture_dtest_setup(request,
dtest_config,
fixture_dtest_setup_overrides,
fixture_logging_setup,
fixture_dtest_cluster_name,
fixture_dtest_create_cluster_func):
if running_in_docker():
cleanup_docker_environment_before_test_execution()

# do all of our setup operations to get the enviornment ready for the actual
test
# to run (e.g. bring up a cluster with the necessary config, populate
variables, etc)
initial_environment = copy.deepcopy(os.environ)
dtest_setup = DTestSetup(dtest_config=dtest_config,
setup_overrides=fixture_dtest_setup_overrides,
cluster_name=fixture_dtest_cluster_name)
dtest_setup.initialize_cluster(fixture_dtest_create_cluster_func)

if not dtest_config.disable_active_log_watching:
dtest_setup.begin_active_log_watch()

# at this point we're done with our setup operations in this fixture
# yield to allow the actual test to run
yield dtest_setup

# phew! we're back after executing the test, now we need to do
# all of our teardown and cleanup operations

reset_environment_vars(initial_environment)
dtest_setup.jvm_args = []

for con in dtest_setup.connections:
con.cluster.shutdown()
dtest_setup.connections = []

failed = False
try:
if not dtest_setup.allow_log_errors:
errors = check_logs_for_errors(dtest_setup)
if len(errors) > 0:
failed = True
pytest.fail(msg='Unexpected error found in node logs (see stdout for full
details). Errors: [{errors}]'
.format(errors=str.join(", ", errors)), pytrace=False)
finally:
try:
# save the logs for inspection
if failed or not dtest_config.delete_logs:
copy_logs(request, dtest_setup.cluster)
except Exception as e:
logger.error("Error saving log:", str(e))
finally:
> dtest_setup.cleanup_cluster(request)

conftest.py:352:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
_ _

self = <dtest_setup.DTestSetup object at 0x7f7adb6fd4f0>
request = <SubRequest 'fixture_dtest_setup' for <Function
'test_force_with_none_down'>>

def cleanup_cluster(self, request=None):
with log_filter('cassandra'): # quiet noise from driver when nodes start
going down
> if self.dtest_config.keep_test_dir or
(self.dtest_config.keep_failed_test_dir and request and
request.node.rep_call.failed):
E AttributeError: 'Function' object has no attribute 'rep_call'

dtest_setup.py:351: AttributeError
----------------------------------------------------------------------------
Cassandra dtests // test_archive_on_startup // Error
test teardown failure

request = <SubRequest 'fixture_dtest_setup' for <Function
'test_archive_on_startup'>>
dtest_config = <dtest_config.DTestConfig object at 0x7f5919a0be20>
fixture_dtest_setup_overrides = <dtest_setup_overrides.DTestSetupOverrides
object at 0x7f5919a0bdc0>
fixture_logging_setup = None, fixture_dtest_cluster_name = 'test'
fixture_dtest_create_cluster_func = <function DTestSetup.create_ccm_cluster
at 0x7f591a2de940>

@pytest.fixture(scope='function', autouse=False)
def fixture_dtest_setup(request,
dtest_config,
fixture_dtest_setup_overrides,
fixture_logging_setup,
fixture_dtest_cluster_name,
fixture_dtest_create_cluster_func):
if running_in_docker():
cleanup_docker_environment_before_test_execution()

# do all of our setup operations to get the enviornment ready for the actual
test
# to run (e.g. bring up a cluster with the necessary config, populate
variables, etc)
initial_environment = copy.deepcopy(os.environ)
dtest_setup = DTestSetup(dtest_config=dtest_config,
setup_overrides=fixture_dtest_setup_overrides,
cluster_name=fixture_dtest_cluster_name)
dtest_setup.initialize_cluster(fixture_dtest_create_cluster_func)

if not dtest_config.disable_active_log_watching:
dtest_setup.begin_active_log_watch()

# at this point we're done with our setup operations in this fixture
# yield to allow the actual test to run
yield dtest_setup

# phew! we're back after executing the test, now we need to do
# all of our teardown and cleanup operations

reset_environment_vars(initial_environment)
dtest_setup.jvm_args = []

for con in dtest_setup.connections:
con.cluster.shutdown()
dtest_setup.connections = []

failed = False
try:
if not dtest_setup.allow_log_errors:
errors = check_logs_for_errors(dtest_setup)
if len(errors) > 0:
failed = True
pytest.fail(msg='Unexpected error found in node logs (see stdout for full
details). Errors: [{errors}]'
.format(errors=str.join(", ", errors)), pytrace=False)
finally:
try:
# save the logs for inspection
if failed or not dtest_config.delete_logs:
copy_logs(request, dtest_setup.cluster)
except Exception as e:
logger.error("Error saving log:", str(e))
finally:
> dtest_setup.cleanup_cluster(request)

conftest.py:352:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
_ _

self = <dtest_setup.DTestSetup object at 0x7f5919a0b970>
request = <SubRequest 'fixture_dtest_setup' for <Function
'test_archive_on_startup'>>

def cleanup_cluster(self, request=None):
with log_filter('cassandra'): # quiet noise from driver when nodes start
going down
> if self.dtest_config.keep_test_dir or
(self.dtest_config.keep_failed_test_dir and request and
request.node.rep_call.failed):
E AttributeError: 'Function' object has no attribute 'rep_call'

dtest_setup.py:351: AttributeError
----------------------------------------------------------------------------
Cassandra dtests // test_atomic_writes[none] // Error
test teardown failure

request = <SubRequest 'fixture_dtest_setup' for <Function
'test_atomic_writes[none]'>>
dtest_config = <dtest_config.DTestConfig object at 0x7f5919a0be20>
fixture_dtest_setup_overrides = <dtest_setup_overrides.DTestSetupOverrides
object at 0x7f5919d7b850>
fixture_logging_setup = None, fixture_dtest_cluster_name = 'test'
fixture_dtest_create_cluster_func = <function DTestSetup.create_ccm_cluster
at 0x7f591a2de940>

@pytest.fixture(scope='function', autouse=False)
def fixture_dtest_setup(request,
dtest_config,
fixture_dtest_setup_overrides,
fixture_logging_setup,
fixture_dtest_cluster_name,
fixture_dtest_create_cluster_func):
if running_in_docker():
cleanup_docker_environment_before_test_execution()

# do all of our setup operations to get the enviornment ready for the actual
test
# to run (e.g. bring up a cluster with the necessary config, populate
variables, etc)
initial_environment = copy.deepcopy(os.environ)
dtest_setup = DTestSetup(dtest_config=dtest_config,
setup_overrides=fixture_dtest_setup_overrides,
cluster_name=fixture_dtest_cluster_name)
dtest_setup.initialize_cluster(fixture_dtest_create_cluster_func)

if not dtest_config.disable_active_log_watching:
dtest_setup.begin_active_log_watch()

# at this point we're done with our setup operations in this fixture
# yield to allow the actual test to run
yield dtest_setup

# phew! we're back after executing the test, now we need to do
# all of our teardown and cleanup operations

reset_environment_vars(initial_environment)
dtest_setup.jvm_args = []

for con in dtest_setup.connections:
con.cluster.shutdown()
dtest_setup.connections = []

failed = False
try:
if not dtest_setup.allow_log_errors:
errors = check_logs_for_errors(dtest_setup)
if len(errors) > 0:
failed = True
pytest.fail(msg='Unexpected error found in node logs (see stdout for full
details). Errors: [{errors}]'
.format(errors=str.join(", ", errors)), pytrace=False)
finally:
try:
# save the logs for inspection
if failed or not dtest_config.delete_logs:
copy_logs(request, dtest_setup.cluster)
except Exception as e:
logger.error("Error saving log:", str(e))
finally:
> dtest_setup.cleanup_cluster(request)

conftest.py:352:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
_ _

self = <dtest_setup.DTestSetup object at 0x7f5918768c10>
request = <SubRequest 'fixture_dtest_setup' for <Function
'test_atomic_writes[none]'>>

def cleanup_cluster(self, request=None):
with log_filter('cassandra'): # quiet noise from driver when nodes start
going down
> if self.dtest_config.keep_test_dir or
(self.dtest_config.keep_failed_test_dir and request and
request.node.rep_call.failed):
E AttributeError: 'Function' object has no attribute 'rep_call'

dtest_setup.py:351: AttributeError
----------------------------------------------------------------------------
Cassandra dtests // test_14513_permanent // Failure
cassandra.Unavailable: Error from server: code=1000 [Unavailable exception]
message="Cannot achieve consistency level QUORUM" info={'consistency':
'QUORUM', 'required_replicas': 2, 'alive_replicas': 1}

self = <consistency_test.TestConsistency object at 0x7f87609f63a0>

@since('3.0')
def test_14513_permanent(self):
"""
@jira_ticket CASSANDRA-14513

A reproduction / regression test to illustrate CASSANDRA-14513:
permanent data loss when doing reverse-order queries with range
tombstones in place.

This test shows how the invalid RT can propagate to other replicas
and delete data permanently.
"""
cluster = self.cluster

# disable hinted handoff and set batch commit log so this doesn't interfere
with the test
# set column_index_size_in_kb to 1 for a slightly easier reproduction
sequence
cluster.set_configuration_options(values={'column_index_size_in_kb': 1,
'hinted_handoff_enabled': False})
cluster.set_batch_commitlog(enabled=True)

cluster.populate(3).start()
node1, node2, node3 = cluster.nodelist()

session = self.patient_exclusive_cql_connection(node1)

query = "CREATE KEYSPACE journals WITH replication = {'class':
'NetworkTopologyStrategy', 'datacenter1': 3};"
session.execute(query)

query = 'CREATE TABLE journals.logs (user text, year int, month int, day
int, title text, body text, PRIMARY KEY ((user), year, month, day,
title));';
session.execute(query)

# populate the table
stmt = session.prepare('INSERT INTO journals.logs (user, year, month, day,
title, body) VALUES (?, ?, ?, ?, ?, ?);');
for year in range(2011, 2018):
for month in range(1, 13):
for day in range(1, 31):
session.execute(stmt, ['beobal', year, month, day, 'title', 'Lorem ipsum
dolor sit amet'], ConsistencyLevel.QUORUM)
cluster.flush()

# make sure the data is there
assert_all(session,
"SELECT COUNT(*) FROM journals.logs WHERE user = 'beobal' AND year < 2018
ORDER BY year DESC;",
[[7 * 12 * 30]],
cl=ConsistencyLevel.QUORUM)

# take one node down
node3.stop(wait_other_notice=True)

# generate an sstable with an RT that opens in the penultimate block and
closes in the last one
stmt = session.prepare('DELETE FROM journals.logs WHERE user = ? AND year =
? AND month = ? AND day = ?;')
batch = BatchStatement(batch_type=BatchType.UNLOGGED)
for day in range(1, 31):
batch.add(stmt, ['beobal', 2018, 1, day])
session.execute(batch, [], ConsistencyLevel.QUORUM)
node1.flush()
node2.flush()

# take node2 down, get node3 up
node2.stop(wait_other_notice=True)
node3.start()

# insert an RT somewhere so that we would have a closing marker and RR makes
its mutations
stmt = SimpleStatement("DELETE FROM journals.logs WHERE user = 'beobal' AND
year = 2010 AND month = 12 AND day = 30",
consistency_level=ConsistencyLevel.QUORUM)
> session.execute(stmt)

consistency_test.py:889:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
_ _
../venv/src/cassandra-driver/cassandra/cluster.py:2618: in execute
return self.execute_async(query, parameters, trace, custom_payload, timeout,
execution_profile, paging_state, host, execute_as).result()
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
_ _

self = <ResponseFuture: query='<SimpleStatement query="DELETE FROM
journals.logs WHERE user = 'beobal' AND year = 2010 AND mo...el QUORUM"
info={'consistency': 'QUORUM', 'required_replicas': 2, 'alive_replicas': 1}
coordinator_host=127.0.0.1:9042>

def result(self):
"""
Return the final result or raise an Exception if errors were
encountered. If the final result or error has not been set
yet, this method will block until it is set, or the timeout
set for the request expires.

Timeout is specified in the Session request execution functions.
If the timeout is exceeded, an :exc:`cassandra.OperationTimedOut` will be
raised.
This is a client-side timeout. For more information
about server-side coordinator timeouts, see :class:`.policies.RetryPolicy`.

Example usage::

>>> future = session.execute_async("SELECT * FROM mycf")
>>> # do other stuff...

>>> try:
... rows = future.result()
... for row in rows:
... ... # process results
... except Exception:
... log.exception("Operation failed:")

"""
self._event.wait()
if self._final_result is not _NOT_SET:
return ResultSet(self, self._final_result)
else:
> raise self._final_exception
E cassandra.Unavailable: Error from server: code=1000 [Unavailable
exception] message="Cannot achieve consistency level QUORUM" info=
{'consistency': 'QUORUM', 'required_replicas': 2, 'alive_replicas': 1}

../venv/src/cassandra-driver/cassandra/cluster.py:4886: Unavailable
----------------------------------------------------------------------------
Cassandra dtests // test_hosts // Error
test teardown failure

request = <SubRequest 'fixture_dtest_setup' for <Function 'test_hosts'>>
dtest_config = <dtest_config.DTestConfig object at 0x7f8760816a00>
fixture_dtest_setup_overrides = <dtest_setup_overrides.DTestSetupOverrides
object at 0x7f875bc73c70>
fixture_logging_setup = None, fixture_dtest_cluster_name = 'test'
fixture_dtest_create_cluster_func = <function DTestSetup.create_ccm_cluster
at 0x7f876100fa60>

@pytest.fixture(scope='function', autouse=False)
def fixture_dtest_setup(request,
dtest_config,
fixture_dtest_setup_overrides,
fixture_logging_setup,
fixture_dtest_cluster_name,
fixture_dtest_create_cluster_func):
if running_in_docker():
cleanup_docker_environment_before_test_execution()

# do all of our setup operations to get the enviornment ready for the actual
test
# to run (e.g. bring up a cluster with the necessary config, populate
variables, etc)
initial_environment = copy.deepcopy(os.environ)
dtest_setup = DTestSetup(dtest_config=dtest_config,
setup_overrides=fixture_dtest_setup_overrides,
cluster_name=fixture_dtest_cluster_name)
dtest_setup.initialize_cluster(fixture_dtest_create_cluster_func)

if not dtest_config.disable_active_log_watching:
dtest_setup.begin_active_log_watch()

# at this point we're done with our setup operations in this fixture
# yield to allow the actual test to run
yield dtest_setup

# phew! we're back after executing the test, now we need to do
# all of our teardown and cleanup operations

reset_environment_vars(initial_environment)
dtest_setup.jvm_args = []

for con in dtest_setup.connections:
con.cluster.shutdown()
dtest_setup.connections = []

failed = False
try:
if not dtest_setup.allow_log_errors:
errors = check_logs_for_errors(dtest_setup)
if len(errors) > 0:
failed = True
pytest.fail(msg='Unexpected error found in node logs (see stdout for full
details). Errors: [{errors}]'
.format(errors=str.join(", ", errors)), pytrace=False)
finally:
try:
# save the logs for inspection
if failed or not dtest_config.delete_logs:
copy_logs(request, dtest_setup.cluster)
except Exception as e:
logger.error("Error saving log:", str(e))
finally:
> dtest_setup.cleanup_cluster(request)

conftest.py:352:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
_ _

self = <dtest_setup.DTestSetup object at 0x7f875be51ee0>
request = <SubRequest 'fixture_dtest_setup' for <Function 'test_hosts'>>

def cleanup_cluster(self, request=None):
with log_filter('cassandra'): # quiet noise from driver when nodes start
going down
> if self.dtest_config.keep_test_dir or
(self.dtest_config.keep_failed_test_dir and request and
request.node.rep_call.failed):
E AttributeError: 'Function' object has no attribute 'rep_call'

dtest_setup.py:351: AttributeError
----------------------------------------------------------------------------
Cassandra dtests // test_subrange // Error
test teardown failure

request = <SubRequest 'fixture_dtest_setup' for <Function 'test_subrange'>>
dtest_config = <dtest_config.DTestConfig object at 0x7f0859e69370>
fixture_dtest_setup_overrides = <dtest_setup_overrides.DTestSetupOverrides
object at 0x7f085926a940>
fixture_logging_setup = None, fixture_dtest_cluster_name = 'test'
fixture_dtest_create_cluster_func = <function DTestSetup.create_ccm_cluster
at 0x7f085a665af0>

@pytest.fixture(scope='function', autouse=False)
def fixture_dtest_setup(request,
dtest_config,
fixture_dtest_setup_overrides,
fixture_logging_setup,
fixture_dtest_cluster_name,
fixture_dtest_create_cluster_func):
if running_in_docker():
cleanup_docker_environment_before_test_execution()

# do all of our setup operations to get the enviornment ready for the actual
test
# to run (e.g. bring up a cluster with the necessary config, populate
variables, etc)
initial_environment = copy.deepcopy(os.environ)
dtest_setup = DTestSetup(dtest_config=dtest_config,
setup_overrides=fixture_dtest_setup_overrides,
cluster_name=fixture_dtest_cluster_name)
dtest_setup.initialize_cluster(fixture_dtest_create_cluster_func)

if not dtest_config.disable_active_log_watching:
dtest_setup.begin_active_log_watch()

# at this point we're done with our setup operations in this fixture
# yield to allow the actual test to run
yield dtest_setup

# phew! we're back after executing the test, now we need to do
# all of our teardown and cleanup operations

reset_environment_vars(initial_environment)
dtest_setup.jvm_args = []

for con in dtest_setup.connections:
con.cluster.shutdown()
dtest_setup.connections = []

failed = False
try:
if not dtest_setup.allow_log_errors:
errors = check_logs_for_errors(dtest_setup)
if len(errors) > 0:
failed = True
pytest.fail(msg='Unexpected error found in node logs (see stdout for full
details). Errors: [{errors}]'
.format(errors=str.join(", ", errors)), pytrace=False)
finally:
try:
# save the logs for inspection
if failed or not dtest_config.delete_logs:
copy_logs(request, dtest_setup.cluster)
except Exception as e:
logger.error("Error saving log:", str(e))
finally:
> dtest_setup.cleanup_cluster(request)

conftest.py:352:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
_ _

self = <dtest_setup.DTestSetup object at 0x7f085926ef40>
request = <SubRequest 'fixture_dtest_setup' for <Function 'test_subrange'>>

def cleanup_cluster(self, request=None):
with log_filter('cassandra'): # quiet noise from driver when nodes start
going down
> if self.dtest_config.keep_test_dir or
(self.dtest_config.keep_failed_test_dir and request and
request.node.rep_call.failed):
E AttributeError: 'Function' object has no attribute 'rep_call'

dtest_setup.py:351: AttributeError
----------------------------------------------------------------------------
Cassandra dtests // test_compaction_delete[LeveledCompactionStrategy] /
/ Error
test teardown failure

request = <SubRequest 'fixture_dtest_setup' for <Function
'test_compaction_delete[LeveledCompactionStrategy]'>>
dtest_config = <dtest_config.DTestConfig object at 0x7f72238ca760>
fixture_dtest_setup_overrides = <dtest_setup_overrides.DTestSetupOverrides
object at 0x7f72206f2460>
fixture_logging_setup = None, fixture_dtest_cluster_name = 'test'
fixture_dtest_create_cluster_func = <function DTestSetup.create_ccm_cluster
at 0x7f72240d5b80>

@pytest.fixture(scope='function', autouse=False)
def fixture_dtest_setup(request,
dtest_config,
fixture_dtest_setup_overrides,
fixture_logging_setup,
fixture_dtest_cluster_name,
fixture_dtest_create_cluster_func):
if running_in_docker():
cleanup_docker_environment_before_test_execution()

# do all of our setup operations to get the enviornment ready for the actual
test
# to run (e.g. bring up a cluster with the necessary config, populate
variables, etc)
initial_environment = copy.deepcopy(os.environ)
dtest_setup = DTestSetup(dtest_config=dtest_config,
setup_overrides=fixture_dtest_setup_overrides,
cluster_name=fixture_dtest_cluster_name)
dtest_setup.initialize_cluster(fixture_dtest_create_cluster_func)

if not dtest_config.disable_active_log_watching:
dtest_setup.begin_active_log_watch()

# at this point we're done with our setup operations in this fixture
# yield to allow the actual test to run
yield dtest_setup

# phew! we're back after executing the test, now we need to do
# all of our teardown and cleanup operations

reset_environment_vars(initial_environment)
dtest_setup.jvm_args = []

for con in dtest_setup.connections:
con.cluster.shutdown()
dtest_setup.connections = []

failed = False
try:
if not dtest_setup.allow_log_errors:
errors = check_logs_for_errors(dtest_setup)
if len(errors) > 0:
failed = True
pytest.fail(msg='Unexpected error found in node logs (see stdout for full
details). Errors: [{errors}]'
.format(errors=str.join(", ", errors)), pytrace=False)
finally:
try:
# save the logs for inspection
if failed or not dtest_config.delete_logs:
copy_logs(request, dtest_setup.cluster)
except Exception as e:
logger.error("Error saving log:", str(e))
finally:
> dtest_setup.cleanup_cluster(request)

conftest.py:352:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
_ _

self = <dtest_setup.DTestSetup object at 0x7f722077d610>
request = <SubRequest 'fixture_dtest_setup' for <Function
'test_compaction_delete[LeveledCompactionStrategy]'>>

def cleanup_cluster(self, request=None):
with log_filter('cassandra'): # quiet noise from driver when nodes start
going down
> if self.dtest_config.keep_test_dir or
(self.dtest_config.keep_failed_test_dir and request and
request.node.rep_call.failed):
E AttributeError: 'Function' object has no attribute 'rep_call'

dtest_setup.py:351: AttributeError
----------------------------------------------------------------------------
Cassandra dtests // test_optional_outbound_tls // Error
test teardown failure

request = <SubRequest 'fixture_dtest_setup' for <Function
'test_optional_outbound_tls'>>
dtest_config = <dtest_config.DTestConfig object at 0x7f72238ca760>
fixture_dtest_setup_overrides = <dtest_setup_overrides.DTestSetupOverrides
object at 0x7f7222deb940>
fixture_logging_setup = None, fixture_dtest_cluster_name = 'test'
fixture_dtest_create_cluster_func = <function DTestSetup.create_ccm_cluster
at 0x7f72240d5b80>

@pytest.fixture(scope='function', autouse=False)
def fixture_dtest_setup(request,
dtest_config,
fixture_dtest_setup_overrides,
fixture_logging_setup,
fixture_dtest_cluster_name,
fixture_dtest_create_cluster_func):
if running_in_docker():
cleanup_docker_environment_before_test_execution()

# do all of our setup operations to get the enviornment ready for the actual
test
# to run (e.g. bring up a cluster with the necessary config, populate
variables, etc)
initial_environment = copy.deepcopy(os.environ)
dtest_setup = DTestSetup(dtest_config=dtest_config,
setup_overrides=fixture_dtest_setup_overrides,
cluster_name=fixture_dtest_cluster_name)
dtest_setup.initialize_cluster(fixture_dtest_create_cluster_func)

if not dtest_config.disable_active_log_watching:
dtest_setup.begin_active_log_watch()

# at this point we're done with our setup operations in this fixture
# yield to allow the actual test to run
yield dtest_setup

# phew! we're back after executing the test, now we need to do
# all of our teardown and cleanup operations

reset_environment_vars(initial_environment)
dtest_setup.jvm_args = []

for con in dtest_setup.connections:
con.cluster.shutdown()
dtest_setup.connections = []

failed = False
try:
if not dtest_setup.allow_log_errors:
errors = check_logs_for_errors(dtest_setup)
if len(errors) > 0:
failed = True
pytest.fail(msg='Unexpected error found in node logs (see stdout for full
details). Errors: [{errors}]'
.format(errors=str.join(", ", errors)), pytrace=False)
finally:
try:
# save the logs for inspection
if failed or not dtest_config.delete_logs:
copy_logs(request, dtest_setup.cluster)
except Exception as e:
logger.error("Error saving log:", str(e))
finally:
> dtest_setup.cleanup_cluster(request)

conftest.py:352:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
_ _

self = <dtest_setup.DTestSetup object at 0x7f7222deb310>
request = <SubRequest 'fixture_dtest_setup' for <Function
'test_optional_outbound_tls'>>

def cleanup_cluster(self, request=None):
with log_filter('cassandra'): # quiet noise from driver when nodes start
going down
> if self.dtest_config.keep_test_dir or
(self.dtest_config.keep_failed_test_dir and request and
request.node.rep_call.failed):
E AttributeError: 'Function' object has no attribute 'rep_call'

dtest_setup.py:351: AttributeError
----------------------------------------------------------------------------
Cassandra dtests // test_repaired_tracking_with_partition_deletes // Error
test teardown failure

request = <SubRequest 'fixture_dtest_setup' for <Function
'test_repaired_tracking_with_partition_deletes'>>
dtest_config = <dtest_config.DTestConfig object at 0x7f72238ca760>
fixture_dtest_setup_overrides = <dtest_setup_overrides.DTestSetupOverrides
object at 0x7f7222c6ba30>
fixture_logging_setup = None, fixture_dtest_cluster_name = 'test'
fixture_dtest_create_cluster_func = <function DTestSetup.create_ccm_cluster
at 0x7f72240d5b80>

@pytest.fixture(scope='function', autouse=False)
def fixture_dtest_setup(request,
dtest_config,
fixture_dtest_setup_overrides,
fixture_logging_setup,
fixture_dtest_cluster_name,
fixture_dtest_create_cluster_func):
if running_in_docker():
cleanup_docker_environment_before_test_execution()

# do all of our setup operations to get the enviornment ready for the actual
test
# to run (e.g. bring up a cluster with the necessary config, populate
variables, etc)
initial_environment = copy.deepcopy(os.environ)
dtest_setup = DTestSetup(dtest_config=dtest_config,
setup_overrides=fixture_dtest_setup_overrides,
cluster_name=fixture_dtest_cluster_name)
dtest_setup.initialize_cluster(fixture_dtest_create_cluster_func)

if not dtest_config.disable_active_log_watching:
dtest_setup.begin_active_log_watch()

# at this point we're done with our setup operations in this fixture
# yield to allow the actual test to run
yield dtest_setup

# phew! we're back after executing the test, now we need to do
# all of our teardown and cleanup operations

reset_environment_vars(initial_environment)
dtest_setup.jvm_args = []

for con in dtest_setup.connections:
con.cluster.shutdown()
dtest_setup.connections = []

failed = False
try:
if not dtest_setup.allow_log_errors:
errors = check_logs_for_errors(dtest_setup)
if len(errors) > 0:
failed = True
pytest.fail(msg='Unexpected error found in node logs (see stdout for full
details). Errors: [{errors}]'
.format(errors=str.join(", ", errors)), pytrace=False)
finally:
try:
# save the logs for inspection
if failed or not dtest_config.delete_logs:
copy_logs(request, dtest_setup.cluster)
except Exception as e:
logger.error("Error saving log:", str(e))
finally:
> dtest_setup.cleanup_cluster(request)

conftest.py:352:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
_ _

self = <dtest_setup.DTestSetup object at 0x7f7222e76dc0>
request = <SubRequest 'fixture_dtest_setup' for <Function
'test_repaired_tracking_with_partition_deletes'>>

def cleanup_cluster(self, request=None):
with log_filter('cassandra'): # quiet noise from driver when nodes start
going down
> if self.dtest_config.keep_test_dir or
(self.dtest_config.keep_failed_test_dir and request and
request.node.rep_call.failed):
E AttributeError: 'Function' object has no attribute 'rep_call'

dtest_setup.py:351: AttributeError
----------------------------------------------------------------------------
Cassandra dtests // test_compaction_delete[SizeTieredCompactionStrategy] /
/ Error
test teardown failure

request = <SubRequest 'fixture_dtest_setup' for <Function
'test_compaction_delete[SizeTieredCompactionStrategy]'>>
dtest_config = <dtest_config.DTestConfig object at 0x7fbdf0aeeac0>
fixture_dtest_setup_overrides = <dtest_setup_overrides.DTestSetupOverrides
object at 0x7fbdf0b4dcd0>
fixture_logging_setup = None, fixture_dtest_cluster_name = 'test'
fixture_dtest_create_cluster_func = <function DTestSetup.create_ccm_cluster
at 0x7fbdf135bb80>

@pytest.fixture(scope='function', autouse=False)
def fixture_dtest_setup(request,
dtest_config,
fixture_dtest_setup_overrides,
fixture_logging_setup,
fixture_dtest_cluster_name,
fixture_dtest_create_cluster_func):
if running_in_docker():
cleanup_docker_environment_before_test_execution()

# do all of our setup operations to get the enviornment ready for the actual
test
# to run (e.g. bring up a cluster with the necessary config, populate
variables, etc)
initial_environment = copy.deepcopy(os.environ)
dtest_setup = DTestSetup(dtest_config=dtest_config,
setup_overrides=fixture_dtest_setup_overrides,
cluster_name=fixture_dtest_cluster_name)
dtest_setup.initialize_cluster(fixture_dtest_create_cluster_func)

if not dtest_config.disable_active_log_watching:
dtest_setup.begin_active_log_watch()

# at this point we're done with our setup operations in this fixture
# yield to allow the actual test to run
yield dtest_setup

# phew! we're back after executing the test, now we need to do
# all of our teardown and cleanup operations

reset_environment_vars(initial_environment)
dtest_setup.jvm_args = []

for con in dtest_setup.connections:
con.cluster.shutdown()
dtest_setup.connections = []

failed = False
try:
if not dtest_setup.allow_log_errors:
errors = check_logs_for_errors(dtest_setup)
if len(errors) > 0:
failed = True
pytest.fail(msg='Unexpected error found in node logs (see stdout for full
details). Errors: [{errors}]'
.format(errors=str.join(", ", errors)), pytrace=False)
finally:
try:
# save the logs for inspection
if failed or not dtest_config.delete_logs:
copy_logs(request, dtest_setup.cluster)
except Exception as e:
logger.error("Error saving log:", str(e))
finally:
> dtest_setup.cleanup_cluster(request)

conftest.py:352:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
_ _

self = <dtest_setup.DTestSetup object at 0x7fbdf0c21ca0>
request = <SubRequest 'fixture_dtest_setup' for <Function
'test_compaction_delete[SizeTieredCompactionStrategy]'>>

def cleanup_cluster(self, request=None):
with log_filter('cassandra'): # quiet noise from driver when nodes start
going down
> if self.dtest_config.keep_test_dir or
(self.dtest_config.keep_failed_test_dir and request and
request.node.rep_call.failed):
E AttributeError: 'Function' object has no attribute 'rep_call'

dtest_setup.py:351: AttributeError
----------------------------------------------------------------------------
Cassandra dtests // test_tombstone_failure_threshold_message // Failure
cassandra.cluster.NoHostAvailable: ('Unable to connect to any servers',
{'127.0.0.1:9042': ConnectionShutdown('CRC mismatch on header 1085. Received
0", computed 6ab8cc.')})

self = <pushed_notifications_test.TestVariousNotifications object at
0x7fbdf0ae5c70>

@since('2.2')
def test_tombstone_failure_threshold_message(self):
"""
Ensure nodes return an error message in case of
TombstoneOverwhelmingExceptions rather
than dropping the request. A drop makes the coordinator waits for the
specified
read_request_timeout_in_ms.
@jira_ticket CASSANDRA-7886
"""
have_v5_protocol = self.cluster.version() >= LooseVersion('3.10')

self.fixture_dtest_setup.allow_log_errors = True
self.cluster.set_configuration_options(
values={
'tombstone_failure_threshold': 500,
'read_request_timeout_in_ms': 30000, # 30 seconds
'range_request_timeout_in_ms': 40000
}
)
self.cluster.populate(3).start()
node1, node2, node3 = self.cluster.nodelist()
proto_version = 5 if have_v5_protocol else None
> session = self.patient_cql_connection(node1,
protocol_version=proto_version)

pushed_notifications_test.py:401:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
_ _
dtest_setup.py:238: in patient_cql_connection
session = retry_till_success(
dtest_setup.py:39: in retry_till_success
return fun(*args, **kwargs)
dtest_setup.py:176: in cql_connection
return self._create_session(node, keyspace, user, password, compression,
dtest_setup.py:216: in _create_session
session = cluster.connect(wait_for_all_pools=True)
../venv/src/cassandra-driver/cassandra/cluster.py:1690: in connect
self.control_connection.connect()
../venv/src/cassandra-driver/cassandra/cluster.py:3488: in connect
self._set_new_connection(self._reconnect_internal())
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
_ _

self = <cassandra.cluster.ControlConnection object at 0x7fbdebff6190>

def _reconnect_internal(self):
"""
Tries to connect to each host in the query plan until one succeeds
or every attempt fails. If successful, a new Connection will be
returned. Otherwise, :exc:`NoHostAvailable` will be raised
with an "errors" arg that is a dict mapping host addresses
to the exception that was raised when an attempt was made to open
a connection to that host.
"""
errors = {}
lbp = (
self._cluster.load_balancing_policy
if self._cluster._config_mode == _ConfigMode.LEGACY else
self._cluster._default_load_balancing_policy
)

for host in lbp.make_query_plan():
try:
return self._try_connect(host)
except ConnectionException as exc:
errors[str(host.endpoint)] = exc
log.warning("[control connection] Error connecting to %s:", host,
exc_info=True)
self._cluster.signal_connection_failure(host, exc, is_host_addition=False)
except Exception as exc:
errors[str(host.endpoint)] = exc
log.warning("[control connection] Error connecting to %s:", host,
exc_info=True)
if self._is_shutdown:
raise DriverException("[control connection] Reconnection in progress during
shutdown")

> raise NoHostAvailable("Unable to connect to any servers", errors)
E cassandra.cluster.NoHostAvailable: ('Unable to connect to any servers',
{'127.0.0.1:9042': ConnectionShutdown('CRC mismatch on header 1085. Received
0", computed 6ab8cc.')})

../venv/src/cassandra-driver/cassandra/cluster.py:3533: NoHostAvailable
----------------------------------------------------------------------------
Cassandra dtests // test_repaired_tracking_with_varying_sstable_sets /
/ Error
test teardown failure

request = <SubRequest 'fixture_dtest_setup' for <Function
'test_repaired_tracking_with_varying_sstable_sets'>>
dtest_config = <dtest_config.DTestConfig object at 0x7fbdf0aeeac0>
fixture_dtest_setup_overrides = <dtest_setup_overrides.DTestSetupOverrides
object at 0x7fbdebc9b520>
fixture_logging_setup = None, fixture_dtest_cluster_name = 'test'
fixture_dtest_create_cluster_func = <function DTestSetup.create_ccm_cluster
at 0x7fbdf135bb80>

@pytest.fixture(scope='function', autouse=False)
def fixture_dtest_setup(request,
dtest_config,
fixture_dtest_setup_overrides,
fixture_logging_setup,
fixture_dtest_cluster_name,
fixture_dtest_create_cluster_func):
if running_in_docker():
cleanup_docker_environment_before_test_execution()

# do all of our setup operations to get the enviornment ready for the actual
test
# to run (e.g. bring up a cluster with the necessary config, populate
variables, etc)
initial_environment = copy.deepcopy(os.environ)
dtest_setup = DTestSetup(dtest_config=dtest_config,
setup_overrides=fixture_dtest_setup_overrides,
cluster_name=fixture_dtest_cluster_name)
dtest_setup.initialize_cluster(fixture_dtest_create_cluster_func)

if not dtest_config.disable_active_log_watching:
dtest_setup.begin_active_log_watch()

# at this point we're done with our setup operations in this fixture
# yield to allow the actual test to run
yield dtest_setup

# phew! we're back after executing the test, now we need to do
# all of our teardown and cleanup operations

reset_environment_vars(initial_environment)
dtest_setup.jvm_args = []

for con in dtest_setup.connections:
con.cluster.shutdown()
dtest_setup.connections = []

failed = False
try:
if not dtest_setup.allow_log_errors:
errors = check_logs_for_errors(dtest_setup)
if len(errors) > 0:
failed = True
pytest.fail(msg='Unexpected error found in node logs (see stdout for full
details). Errors: [{errors}]'
.format(errors=str.join(", ", errors)), pytrace=False)
finally:
try:
# save the logs for inspection
if failed or not dtest_config.delete_logs:
copy_logs(request, dtest_setup.cluster)
except Exception as e:
logger.error("Error saving log:", str(e))
finally:
> dtest_setup.cleanup_cluster(request)

conftest.py:352:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
_ _

self = <dtest_setup.DTestSetup object at 0x7fbdebc93550>
request = <SubRequest 'fixture_dtest_setup' for <Function
'test_repaired_tracking_with_varying_sstable_sets'>>

def cleanup_cluster(self, request=None):
with log_filter('cassandra'): # quiet noise from driver when nodes start
going down
> if self.dtest_config.keep_test_dir or
(self.dtest_config.keep_failed_test_dir and request and
request.node.rep_call.failed):
E AttributeError: 'Function' object has no attribute 'rep_call'

dtest_setup.py:351: AttributeError
----------------------------------------------------------------------------
Cassandra dtests // test_compaction_delete[DateTieredCompactionStrategy] /
/ Error
test teardown failure

request = <SubRequest 'fixture_dtest_setup' for <Function
'test_compaction_delete[DateTieredCompactionStrategy]'>>
dtest_config = <dtest_config.DTestConfig object at 0x7fe2439b2820>
fixture_dtest_setup_overrides = <dtest_setup_overrides.DTestSetupOverrides
object at 0x7fe24205e460>
fixture_logging_setup = None, fixture_dtest_cluster_name = 'test'
fixture_dtest_create_cluster_func = <function DTestSetup.create_ccm_cluster
at 0x7fe244206a60>

@pytest.fixture(scope='function', autouse=False)
def fixture_dtest_setup(request,
dtest_config,
fixture_dtest_setup_overrides,
fixture_logging_setup,
fixture_dtest_cluster_name,
fixture_dtest_create_cluster_func):
if running_in_docker():
cleanup_docker_environment_before_test_execution()

# do all of our setup operations to get the enviornment ready for the actual
test
# to run (e.g. bring up a cluster with the necessary config, populate
variables, etc)
initial_environment = copy.deepcopy(os.environ)
dtest_setup = DTestSetup(dtest_config=dtest_config,
setup_overrides=fixture_dtest_setup_overrides,
cluster_name=fixture_dtest_cluster_name)
dtest_setup.initialize_cluster(fixture_dtest_create_cluster_func)

if not dtest_config.disable_active_log_watching:
dtest_setup.begin_active_log_watch()

# at this point we're done with our setup operations in this fixture
# yield to allow the actual test to run
yield dtest_setup

# phew! we're back after executing the test, now we need to do
# all of our teardown and cleanup operations

reset_environment_vars(initial_environment)
dtest_setup.jvm_args = []

for con in dtest_setup.connections:
con.cluster.shutdown()
dtest_setup.connections = []

failed = False
try:
if not dtest_setup.allow_log_errors:
errors = check_logs_for_errors(dtest_setup)
if len(errors) > 0:
failed = True
pytest.fail(msg='Unexpected error found in node logs (see stdout for full
details). Errors: [{errors}]'
.format(errors=str.join(", ", errors)), pytrace=False)
finally:
try:
# save the logs for inspection
if failed or not dtest_config.delete_logs:
copy_logs(request, dtest_setup.cluster)
except Exception as e:
logger.error("Error saving log:", str(e))
finally:
> dtest_setup.cleanup_cluster(request)

conftest.py:352:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
_ _

self = <dtest_setup.DTestSetup object at 0x7fe24205edc0>
request = <SubRequest 'fixture_dtest_setup' for <Function
'test_compaction_delete[DateTieredCompactionStrategy]'>>

def cleanup_cluster(self, request=None):
with log_filter('cassandra'): # quiet noise from driver when nodes start
going down
> if self.dtest_config.keep_test_dir or
(self.dtest_config.keep_failed_test_dir and request and
request.node.rep_call.failed):
E AttributeError: 'Function' object has no attribute 'rep_call'

dtest_setup.py:351: AttributeError
----------------------------------------------------------------------------
Cassandra dtests // test_repaired_tracking_with_mismatching_replicas /
/ Error
test teardown failure

request = <SubRequest 'fixture_dtest_setup' for <Function
'test_repaired_tracking_with_mismatching_replicas'>>
dtest_config = <dtest_config.DTestConfig object at 0x7fe2439b2820>
fixture_dtest_setup_overrides = <dtest_setup_overrides.DTestSetupOverrides
object at 0x7fe2430cc700>
fixture_logging_setup = None, fixture_dtest_cluster_name = 'test'
fixture_dtest_create_cluster_func = <function DTestSetup.create_ccm_cluster
at 0x7fe244206a60>

@pytest.fixture(scope='function', autouse=False)
def fixture_dtest_setup(request,
dtest_config,
fixture_dtest_setup_overrides,
fixture_logging_setup,
fixture_dtest_cluster_name,
fixture_dtest_create_cluster_func):
if running_in_docker():
cleanup_docker_environment_before_test_execution()

# do all of our setup operations to get the enviornment ready for the actual
test
# to run (e.g. bring up a cluster with the necessary config, populate
variables, etc)
initial_environment = copy.deepcopy(os.environ)
dtest_setup = DTestSetup(dtest_config=dtest_config,
setup_overrides=fixture_dtest_setup_overrides,
cluster_name=fixture_dtest_cluster_name)
dtest_setup.initialize_cluster(fixture_dtest_create_cluster_func)

if not dtest_config.disable_active_log_watching:
dtest_setup.begin_active_log_watch()

# at this point we're done with our setup operations in this fixture
# yield to allow the actual test to run
yield dtest_setup

# phew! we're back after executing the test, now we need to do
# all of our teardown and cleanup operations

reset_environment_vars(initial_environment)
dtest_setup.jvm_args = []

for con in dtest_setup.connections:
con.cluster.shutdown()
dtest_setup.connections = []

failed = False
try:
if not dtest_setup.allow_log_errors:
errors = check_logs_for_errors(dtest_setup)
if len(errors) > 0:
failed = True
pytest.fail(msg='Unexpected error found in node logs (see stdout for full
details). Errors: [{errors}]'
.format(errors=str.join(", ", errors)), pytrace=False)
finally:
try:
# save the logs for inspection
if failed or not dtest_config.delete_logs:
copy_logs(request, dtest_setup.cluster)
except Exception as e:
logger.error("Error saving log:", str(e))
finally:
> dtest_setup.cleanup_cluster(request)

conftest.py:352:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
_ _

self = <dtest_setup.DTestSetup object at 0x7fe240622cd0>
request = <SubRequest 'fixture_dtest_setup' for <Function
'test_repaired_tracking_with_mismatching_replicas'>>

def cleanup_cluster(self, request=None):
with log_filter('cassandra'): # quiet noise from driver when nodes start
going down
> if self.dtest_config.keep_test_dir or
(self.dtest_config.keep_failed_test_dir and request and
request.node.rep_call.failed):
E AttributeError: 'Function' object has no attribute 'rep_call'

dtest_setup.py:351: AttributeError
----------------------------------------------------------------------------
Cassandra dtests // test_replay // Error
test teardown failure

request = <SubRequest 'fixture_dtest_setup' for <Function 'test_replay'>>
dtest_config = <dtest_config.DTestConfig object at 0x7f7f683349a0>
fixture_dtest_setup_overrides = <dtest_setup_overrides.DTestSetupOverrides
object at 0x7f7f669de220>
fixture_logging_setup = None, fixture_dtest_cluster_name = 'test'
fixture_dtest_create_cluster_func = <function DTestSetup.create_ccm_cluster
at 0x7f7f68b40af0>

@pytest.fixture(scope='function', autouse=False)
def fixture_dtest_setup(request,
dtest_config,
fixture_dtest_setup_overrides,
fixture_logging_setup,
fixture_dtest_cluster_name,
fixture_dtest_create_cluster_func):
if running_in_docker():
cleanup_docker_environment_before_test_execution()

# do all of our setup operations to get the enviornment ready for the actual
test
# to run (e.g. bring up a cluster with the necessary config, populate
variables, etc)
initial_environment = copy.deepcopy(os.environ)
dtest_setup = DTestSetup(dtest_config=dtest_config,
setup_overrides=fixture_dtest_setup_overrides,
cluster_name=fixture_dtest_cluster_name)
dtest_setup.initialize_cluster(fixture_dtest_create_cluster_func)

if not dtest_config.disable_active_log_watching:
dtest_setup.begin_active_log_watch()

# at this point we're done with our setup operations in this fixture
# yield to allow the actual test to run
yield dtest_setup

# phew! we're back after executing the test, now we need to do
# all of our teardown and cleanup operations

reset_environment_vars(initial_environment)
dtest_setup.jvm_args = []

for con in dtest_setup.connections:
con.cluster.shutdown()
dtest_setup.connections = []

failed = False
try:
if not dtest_setup.allow_log_errors:
errors = check_logs_for_errors(dtest_setup)
if len(errors) > 0:
failed = True
pytest.fail(msg='Unexpected error found in node logs (see stdout for full
details). Errors: [{errors}]'
.format(errors=str.join(", ", errors)), pytrace=False)
finally:
try:
# save the logs for inspection
if failed or not dtest_config.delete_logs:
copy_logs(request, dtest_setup.cluster)
except Exception as e:
logger.error("Error saving log:", str(e))
finally:
> dtest_setup.cleanup_cluster(request)

conftest.py:352:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
_ _

self = <dtest_setup.DTestSetup object at 0x7f7f669de7f0>
request = <SubRequest 'fixture_dtest_setup' for <Function 'test_replay'>>

def cleanup_cluster(self, request=None):
with log_filter('cassandra'): # quiet noise from driver when nodes start
going down
> if self.dtest_config.keep_test_dir or
(self.dtest_config.keep_failed_test_dir and request and
request.node.rep_call.failed):
E AttributeError: 'Function' object has no attribute 'rep_call'

dtest_setup.py:351: AttributeError
----------------------------------------------------------------------------
Cassandra dtests // test_compare // Error
test teardown failure

request = <SubRequest 'fixture_dtest_setup' for <Function 'test_compare'>>
dtest_config = <dtest_config.DTestConfig object at 0x7f6832a83e50>
fixture_dtest_setup_overrides = <dtest_setup_overrides.DTestSetupOverrides
object at 0x7f683112ac40>
fixture_logging_setup = None, fixture_dtest_cluster_name = 'test'
fixture_dtest_create_cluster_func = <function DTestSetup.create_ccm_cluster
at 0x7f683332ea60>

@pytest.fixture(scope='function', autouse=False)
def fixture_dtest_setup(request,
dtest_config,
fixture_dtest_setup_overrides,
fixture_logging_setup,
fixture_dtest_cluster_name,
fixture_dtest_create_cluster_func):
if running_in_docker():
cleanup_docker_environment_before_test_execution()

# do all of our setup operations to get the enviornment ready for the actual
test
# to run (e.g. bring up a cluster with the necessary config, populate
variables, etc)
initial_environment = copy.deepcopy(os.environ)
dtest_setup = DTestSetup(dtest_config=dtest_config,
setup_overrides=fixture_dtest_setup_overrides,
cluster_name=fixture_dtest_cluster_name)
dtest_setup.initialize_cluster(fixture_dtest_create_cluster_func)

if not dtest_config.disable_active_log_watching:
dtest_setup.begin_active_log_watch()

# at this point we're done with our setup operations in this fixture
# yield to allow the actual test to run
yield dtest_setup

# phew! we're back after executing the test, now we need to do
# all of our teardown and cleanup operations

reset_environment_vars(initial_environment)
dtest_setup.jvm_args = []

for con in dtest_setup.connections:
con.cluster.shutdown()
dtest_setup.connections = []

failed = False
try:
if not dtest_setup.allow_log_errors:
errors = check_logs_for_errors(dtest_setup)
if len(errors) > 0:
failed = True
pytest.fail(msg='Unexpected error found in node logs (see stdout for full
details). Errors: [{errors}]'
.format(errors=str.join(", ", errors)), pytrace=False)
finally:
try:
# save the logs for inspection
if failed or not dtest_config.delete_logs:
copy_logs(request, dtest_setup.cluster)
except Exception as e:
logger.error("Error saving log:", str(e))
finally:
> dtest_setup.cleanup_cluster(request)

conftest.py:352:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
_ _

self = <dtest_setup.DTestSetup object at 0x7f68300aa9d0>
request = <SubRequest 'fixture_dtest_setup' for <Function 'test_compare'>>

def cleanup_cluster(self, request=None):
with log_filter('cassandra'): # quiet noise from driver when nodes start
going down
> if self.dtest_config.keep_test_dir or
(self.dtest_config.keep_failed_test_dir and request and
request.node.rep_call.failed):
E AttributeError: 'Function' object has no attribute 'rep_call'

dtest_setup.py:351: AttributeError
----------------------------------------------------------------------------
Cassandra dtests // test_compare_mismatch // Error
test teardown failure

request = <SubRequest 'fixture_dtest_setup' for <Function
'test_compare_mismatch'>>
dtest_config = <dtest_config.DTestConfig object at 0x7f51c48a8c10>
fixture_dtest_setup_overrides = <dtest_setup_overrides.DTestSetupOverrides
object at 0x7f51bc6284f0>
fixture_logging_setup = None, fixture_dtest_cluster_name = 'test'
fixture_dtest_create_cluster_func = <function DTestSetup.create_ccm_cluster
at 0x7f51c5152a60>

@pytest.fixture(scope='function', autouse=False)
def fixture_dtest_setup(request,
dtest_config,
fixture_dtest_setup_overrides,
fixture_logging_setup,
fixture_dtest_cluster_name,
fixture_dtest_create_cluster_func):
if running_in_docker():
cleanup_docker_environment_before_test_execution()

# do all of our setup operations to get the enviornment ready for the actual
test
# to run (e.g. bring up a cluster with the necessary config, populate
variables, etc)
initial_environment = copy.deepcopy(os.environ)
dtest_setup = DTestSetup(dtest_config=dtest_config,
setup_overrides=fixture_dtest_setup_overrides,
cluster_name=fixture_dtest_cluster_name)
dtest_setup.initialize_cluster(fixture_dtest_create_cluster_func)

if not dtest_config.disable_active_log_watching:
dtest_setup.begin_active_log_watch()

# at this point we're done with our setup operations in this fixture
# yield to allow the actual test to run
yield dtest_setup

# phew! we're back after executing the test, now we need to do
# all of our teardown and cleanup operations

reset_environment_vars(initial_environment)
dtest_setup.jvm_args = []

for con in dtest_setup.connections:
con.cluster.shutdown()
dtest_setup.connections = []

failed = False
try:
if not dtest_setup.allow_log_errors:
errors = check_logs_for_errors(dtest_setup)
if len(errors) > 0:
failed = True
pytest.fail(msg='Unexpected error found in node logs (see stdout for full
details). Errors: [{errors}]'
.format(errors=str.join(", ", errors)), pytrace=False)
finally:
try:
# save the logs for inspection
if failed or not dtest_config.delete_logs:
copy_logs(request, dtest_setup.cluster)
except Exception as e:
logger.error("Error saving log:", str(e))
finally:
> dtest_setup.cleanup_cluster(request)

conftest.py:352:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
_ _

self = <dtest_setup.DTestSetup object at 0x7f51bc62f040>
request = <SubRequest 'fixture_dtest_setup' for <Function
'test_compare_mismatch'>>

def cleanup_cluster(self, request=None):
with log_filter('cassandra'): # quiet noise from driver when nodes start
going down
> if self.dtest_config.keep_test_dir or
(self.dtest_config.keep_failed_test_dir and request and
request.node.rep_call.failed):
E AttributeError: 'Function' object has no attribute 'rep_call'

dtest_setup.py:351: AttributeError
----------------------------------------------------------------------------
Cassandra dtests // test_archive_on_shutdown // Error
test teardown failure

request = <SubRequest 'fixture_dtest_setup' for <Function
'test_archive_on_shutdown'>>
dtest_config = <dtest_config.DTestConfig object at 0x7f6be266d550>
fixture_dtest_setup_overrides = <dtest_setup_overrides.DTestSetupOverrides
object at 0x7f6be266d4f0>
fixture_logging_setup = None, fixture_dtest_cluster_name = 'test'
fixture_dtest_create_cluster_func = <function DTestSetup.create_ccm_cluster
at 0x7f6be2f59af0>

@pytest.fixture(scope='function', autouse=False)
def fixture_dtest_setup(request,
dtest_config,
fixture_dtest_setup_overrides,
fixture_logging_setup,
fixture_dtest_cluster_name,
fixture_dtest_create_cluster_func):
if running_in_docker():
cleanup_docker_environment_before_test_execution()

# do all of our setup operations to get the enviornment ready for the actual
test
# to run (e.g. bring up a cluster with the necessary config, populate
variables, etc)
initial_environment = copy.deepcopy(os.environ)
dtest_setup = DTestSetup(dtest_config=dtest_config,
setup_overrides=fixture_dtest_setup_overrides,
cluster_name=fixture_dtest_cluster_name)
dtest_setup.initialize_cluster(fixture_dtest_create_cluster_func)

if not dtest_config.disable_active_log_watching:
dtest_setup.begin_active_log_watch()

# at this point we're done with our setup operations in this fixture
# yield to allow the actual test to run
yield dtest_setup

# phew! we're back after executing the test, now we need to do
# all of our teardown and cleanup operations

reset_environment_vars(initial_environment)
dtest_setup.jvm_args = []

for con in dtest_setup.connections:
con.cluster.shutdown()
dtest_setup.connections = []

failed = False
try:
if not dtest_setup.allow_log_errors:
errors = check_logs_for_errors(dtest_setup)
if len(errors) > 0:
failed = True
pytest.fail(msg='Unexpected error found in node logs (see stdout for full
details). Errors: [{errors}]'
.format(errors=str.join(", ", errors)), pytrace=False)
finally:
try:
# save the logs for inspection
if failed or not dtest_config.delete_logs:
copy_logs(request, dtest_setup.cluster)
except Exception as e:
logger.error("Error saving log:", str(e))
finally:
> dtest_setup.cleanup_cluster(request)

conftest.py:352:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
_ _

self = <dtest_setup.DTestSetup object at 0x7f6be265f130>
request = <SubRequest 'fixture_dtest_setup' for <Function
'test_archive_on_shutdown'>>

def cleanup_cluster(self, request=None):
with log_filter('cassandra'): # quiet noise from driver when nodes start
going down
> if self.dtest_config.keep_test_dir or
(self.dtest_config.keep_failed_test_dir and request and
request.node.rep_call.failed):
E AttributeError: 'Function' object has no attribute 'rep_call'

dtest_setup.py:351: AttributeError
----------------------------------------------------------------------------
Cassandra dtests // test_failing_manual_rebuild_index // Error
test teardown failure

request = <SubRequest 'fixture_dtest_setup' for <Function
'test_failing_manual_rebuild_index'>>
dtest_config = <dtest_config.DTestConfig object at 0x7f6be266d550>
fixture_dtest_setup_overrides = <dtest_setup_overrides.DTestSetupOverrides
object at 0x7f6be0450310>
fixture_logging_setup = None, fixture_dtest_cluster_name = 'test'
fixture_dtest_create_cluster_func = <function DTestSetup.create_ccm_cluster
at 0x7f6be2f59af0>

@pytest.fixture(scope='function', autouse=False)
def fixture_dtest_setup(request,
dtest_config,
fixture_dtest_setup_overrides,
fixture_logging_setup,
fixture_dtest_cluster_name,
fixture_dtest_create_cluster_func):
if running_in_docker():
cleanup_docker_environment_before_test_execution()

# do all of our setup operations to get the enviornment ready for the actual
test
# to run (e.g. bring up a cluster with the necessary config, populate
variables, etc)
initial_environment = copy.deepcopy(os.environ)
dtest_setup = DTestSetup(dtest_config=dtest_config,
setup_overrides=fixture_dtest_setup_overrides,
cluster_name=fixture_dtest_cluster_name)
dtest_setup.initialize_cluster(fixture_dtest_create_cluster_func)

if not dtest_config.disable_active_log_watching:
dtest_setup.begin_active_log_watch()

# at this point we're done with our setup operations in this fixture
# yield to allow the actual test to run
yield dtest_setup

# phew! we're back after executing the test, now we need to do
# all of our teardown and cleanup operations

reset_environment_vars(initial_environment)
dtest_setup.jvm_args = []

for con in dtest_setup.connections:
con.cluster.shutdown()
dtest_setup.connections = []

failed = False
try:
if not dtest_setup.allow_log_errors:
errors = check_logs_for_errors(dtest_setup)
if len(errors) > 0:
failed = True
pytest.fail(msg='Unexpected error found in node logs (see stdout for full
details). Errors: [{errors}]'
.format(errors=str.join(", ", errors)), pytrace=False)
finally:
try:
# save the logs for inspection
if failed or not dtest_config.delete_logs:
copy_logs(request, dtest_setup.cluster)
except Exception as e:
logger.error("Error saving log:", str(e))
finally:
> dtest_setup.cleanup_cluster(request)

conftest.py:352:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
_ _

self = <dtest_setup.DTestSetup object at 0x7f6be11b1b50>
request = <SubRequest 'fixture_dtest_setup' for <Function
'test_failing_manual_rebuild_index'>>

def cleanup_cluster(self, request=None):
with log_filter('cassandra'): # quiet noise from driver when nodes start
going down
> if self.dtest_config.keep_test_dir or
(self.dtest_config.keep_failed_test_dir and request and
request.node.rep_call.failed):
E AttributeError: 'Function' object has no attribute 'rep_call'

dtest_setup.py:351: AttributeError
----------------------------------------------------------------------------
Cassandra dtests // test_hintedhandoff_setmaxwindow // Error
test teardown failure

request = <SubRequest 'fixture_dtest_setup' for <Function
'test_hintedhandoff_setmaxwindow'>>
dtest_config = <dtest_config.DTestConfig object at 0x7efddad76a90>
fixture_dtest_setup_overrides = <dtest_setup_overrides.DTestSetupOverrides
object at 0x7efdda346700>
fixture_logging_setup = None, fixture_dtest_cluster_name = 'test'
fixture_dtest_create_cluster_func = <function DTestSetup.create_ccm_cluster
at 0x7efddb41faf0>

@pytest.fixture(scope='function', autouse=False)
def fixture_dtest_setup(request,
dtest_config,
fixture_dtest_setup_overrides,
fixture_logging_setup,
fixture_dtest_cluster_name,
fixture_dtest_create_cluster_func):
if running_in_docker():
cleanup_docker_environment_before_test_execution()

# do all of our setup operations to get the enviornment ready for the actual
test
# to run (e.g. bring up a cluster with the necessary config, populate
variables, etc)
initial_environment = copy.deepcopy(os.environ)
dtest_setup = DTestSetup(dtest_config=dtest_config,
setup_overrides=fixture_dtest_setup_overrides,
cluster_name=fixture_dtest_cluster_name)
dtest_setup.initialize_cluster(fixture_dtest_create_cluster_func)

if not dtest_config.disable_active_log_watching:
dtest_setup.begin_active_log_watch()

# at this point we're done with our setup operations in this fixture
# yield to allow the actual test to run
yield dtest_setup

# phew! we're back after executing the test, now we need to do
# all of our teardown and cleanup operations

reset_environment_vars(initial_environment)
dtest_setup.jvm_args = []

for con in dtest_setup.connections:
con.cluster.shutdown()
dtest_setup.connections = []

failed = False
try:
if not dtest_setup.allow_log_errors:
errors = check_logs_for_errors(dtest_setup)
if len(errors) > 0:
failed = True
pytest.fail(msg='Unexpected error found in node logs (see stdout for full
details). Errors: [{errors}]'
.format(errors=str.join(", ", errors)), pytrace=False)
finally:
try:
# save the logs for inspection
if failed or not dtest_config.delete_logs:
copy_logs(request, dtest_setup.cluster)
except Exception as e:
logger.error("Error saving log:", str(e))
finally:
> dtest_setup.cleanup_cluster(request)

conftest.py:352:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
_ _

self = <dtest_setup.DTestSetup object at 0x7efdda346550>
request = <SubRequest 'fixture_dtest_setup' for <Function
'test_hintedhandoff_setmaxwindow'>>

def cleanup_cluster(self, request=None):
with log_filter('cassandra'): # quiet noise from driver when nodes start
going down
> if self.dtest_config.keep_test_dir or
(self.dtest_config.keep_failed_test_dir and request and
request.node.rep_call.failed):
E AttributeError: 'Function' object has no attribute 'rep_call'

dtest_setup.py:351: AttributeError
----------------------------------------------------------------------------
Cassandra dtests // test_drop_with_stopped_build // Error
test teardown failure

request = <SubRequest 'fixture_dtest_setup' for <Function
'test_drop_with_stopped_build'>>
dtest_config = <dtest_config.DTestConfig object at 0x7fb60d81eca0>
fixture_dtest_setup_overrides = <dtest_setup_overrides.DTestSetupOverrides
object at 0x7fb5fff55820>
fixture_logging_setup = None, fixture_dtest_cluster_name = 'test'
fixture_dtest_create_cluster_func = <function DTestSetup.create_ccm_cluster
at 0x7fb60e1089d0>

@pytest.fixture(scope='function', autouse=False)
def fixture_dtest_setup(request,
dtest_config,
fixture_dtest_setup_overrides,
fixture_logging_setup,
fixture_dtest_cluster_name,
fixture_dtest_create_cluster_func):
if running_in_docker():
cleanup_docker_environment_before_test_execution()

# do all of our setup operations to get the enviornment ready for the actual
test
# to run (e.g. bring up a cluster with the necessary config, populate
variables, etc)
initial_environment = copy.deepcopy(os.environ)
dtest_setup = DTestSetup(dtest_config=dtest_config,
setup_overrides=fixture_dtest_setup_overrides,
cluster_name=fixture_dtest_cluster_name)
dtest_setup.initialize_cluster(fixture_dtest_create_cluster_func)

if not dtest_config.disable_active_log_watching:
dtest_setup.begin_active_log_watch()

# at this point we're done with our setup operations in this fixture
# yield to allow the actual test to run
yield dtest_setup

# phew! we're back after executing the test, now we need to do
# all of our teardown and cleanup operations

reset_environment_vars(initial_environment)
dtest_setup.jvm_args = []

for con in dtest_setup.connections:
con.cluster.shutdown()
dtest_setup.connections = []

failed = False
try:
if not dtest_setup.allow_log_errors:
errors = check_logs_for_errors(dtest_setup)
if len(errors) > 0:
failed = True
pytest.fail(msg='Unexpected error found in node logs (see stdout for full
details). Errors: [{errors}]'
.format(errors=str.join(", ", errors)), pytrace=False)
finally:
try:
# save the logs for inspection
if failed or not dtest_config.delete_logs:
copy_logs(request, dtest_setup.cluster)
except Exception as e:
logger.error("Error saving log:", str(e))
finally:
> dtest_setup.cleanup_cluster(request)

conftest.py:352:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
_ _

self = <dtest_setup.DTestSetup object at 0x7fb5fffa4670>
request = <SubRequest 'fixture_dtest_setup' for <Function
'test_drop_with_stopped_build'>>

def cleanup_cluster(self, request=None):
with log_filter('cassandra'): # quiet noise from driver when nodes start
going down
> if self.dtest_config.keep_test_dir or
(self.dtest_config.keep_failed_test_dir and request and
request.node.rep_call.failed):
E AttributeError: 'Function' object has no attribute 'rep_call'

dtest_setup.py:351: AttributeError
----------------------------------------------------------------------------
Cassandra dtests // test_tombstone_failure_v5 // Failure
cassandra.cluster.NoHostAvailable: ('Unable to connect to any servers',
{'127.0.0.1:9042': ConnectionShutdown('CRC mismatch on header 1085. Received
0", computed 6ab8cc.')})

self = <read_failures_test.TestReadFailures object at 0x7fb60da42d30>

@since('3.10')
def test_tombstone_failure_v5(self):
"""
A failed read due to tombstones at v5 should result in a ReadFailure with
an error code map containing error code 0x0001 (indicating that the replica
(s)
read too many tombstones)
"""
self.protocol_version = 5
> session = self._prepare_cluster()

read_failures_test.py:117:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
_ _
read_failures_test.py:43: in _prepare_cluster
session = self.patient_exclusive_cql_connection(self.nodes[0],
protocol_version=self.protocol_version)
dtest_setup.py:266: in patient_exclusive_cql_connection
return retry_till_success(
dtest_setup.py:39: in retry_till_success
return fun(*args, **kwargs)
dtest_setup.py:186: in exclusive_cql_connection
return self._create_session(node, keyspace, user, password, compression,
dtest_setup.py:216: in _create_session
session = cluster.connect(wait_for_all_pools=True)
../venv/src/cassandra-driver/cassandra/cluster.py:1690: in connect
self.control_connection.connect()
../venv/src/cassandra-driver/cassandra/cluster.py:3488: in connect
self._set_new_connection(self._reconnect_internal())
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
_ _

self = <cassandra.cluster.ControlConnection object at 0x7fb60dec9e20>

def _reconnect_internal(self):
"""
Tries to connect to each host in the query plan until one succeeds
or every attempt fails. If successful, a new Connection will be
returned. Otherwise, :exc:`NoHostAvailable` will be raised
with an "errors" arg that is a dict mapping host addresses
to the exception that was raised when an attempt was made to open
a connection to that host.
"""
errors = {}
lbp = (
self._cluster.load_balancing_policy
if self._cluster._config_mode == _ConfigMode.LEGACY else
self._cluster._default_load_balancing_policy
)

for host in lbp.make_query_plan():
try:
return self._try_connect(host)
except ConnectionException as exc:
errors[str(host.endpoint)] = exc
log.warning("[control connection] Error connecting to %s:", host,
exc_info=True)
self._cluster.signal_connection_failure(host, exc, is_host_addition=False)
except Exception as exc:
errors[str(host.endpoint)] = exc
log.warning("[control connection] Error connecting to %s:", host,
exc_info=True)
if self._is_shutdown:
raise DriverException("[control connection] Reconnection in progress during
shutdown")

> raise NoHostAvailable("Unable to connect to any servers", errors)
E cassandra.cluster.NoHostAvailable: ('Unable to connect to any servers',
{'127.0.0.1:9042': ConnectionShutdown('CRC mismatch on header 1085. Received
0", computed 6ab8cc.')})

../venv/src/cassandra-driver/cassandra/cluster.py:3533: NoHostAvailable
----------------------------------------------------------------------------
Cassandra dtests // test_resume_stopped_build // Error
test teardown failure

request = <SubRequest 'fixture_dtest_setup' for <Function
'test_resume_stopped_build'>>
dtest_config = <dtest_config.DTestConfig object at 0x7fac6ebb9f10>
fixture_dtest_setup_overrides = <dtest_setup_overrides.DTestSetupOverrides
object at 0x7fac6d2df250>
fixture_logging_setup = None, fixture_dtest_cluster_name = 'test'
fixture_dtest_create_cluster_func = <function DTestSetup.create_ccm_cluster
at 0x7fac6f3f1af0>

@pytest.fixture(scope='function', autouse=False)
def fixture_dtest_setup(request,
dtest_config,
fixture_dtest_setup_overrides,
fixture_logging_setup,
fixture_dtest_cluster_name,
fixture_dtest_create_cluster_func):
if running_in_docker():
cleanup_docker_environment_before_test_execution()

# do all of our setup operations to get the enviornment ready for the actual
test
# to run (e.g. bring up a cluster with the necessary config, populate
variables, etc)
initial_environment = copy.deepcopy(os.environ)
dtest_setup = DTestSetup(dtest_config=dtest_config,
setup_overrides=fixture_dtest_setup_overrides,
cluster_name=fixture_dtest_cluster_name)
dtest_setup.initialize_cluster(fixture_dtest_create_cluster_func)

if not dtest_config.disable_active_log_watching:
dtest_setup.begin_active_log_watch()

# at this point we're done with our setup operations in this fixture
# yield to allow the actual test to run
yield dtest_setup

# phew! we're back after executing the test, now we need to do
# all of our teardown and cleanup operations

reset_environment_vars(initial_environment)
dtest_setup.jvm_args = []

for con in dtest_setup.connections:
con.cluster.shutdown()
dtest_setup.connections = []

failed = False
try:
if not dtest_setup.allow_log_errors:
errors = check_logs_for_errors(dtest_setup)
if len(errors) > 0:
failed = True
pytest.fail(msg='Unexpected error found in node logs (see stdout for full
details). Errors: [{errors}]'
.format(errors=str.join(", ", errors)), pytrace=False)
finally:
try:
# save the logs for inspection
if failed or not dtest_config.delete_logs:
copy_logs(request, dtest_setup.cluster)
except Exception as e:
logger.error("Error saving log:", str(e))
finally:
> dtest_setup.cleanup_cluster(request)

conftest.py:352:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
_ _

self = <dtest_setup.DTestSetup object at 0x7fac6c18f460>
request = <SubRequest 'fixture_dtest_setup' for <Function
'test_resume_stopped_build'>>

def cleanup_cluster(self, request=None):
with log_filter('cassandra'): # quiet noise from driver when nodes start
going down
> if self.dtest_config.keep_test_dir or
(self.dtest_config.keep_failed_test_dir and request and
request.node.rep_call.failed):
E AttributeError: 'Function' object has no attribute 'rep_call'

dtest_setup.py:351: AttributeError
----------------------------------------------------------------------------
Cassandra dtests // test_13691 // Failure
ccmlib.node.NodeError: Error starting node1.

self = <counter_test.TestCounters object at 0x7f407e700b80>

@since('3.0', max_version='3.12')
def test_13691(self):
"""
2.0 -> 2.1 -> 3.0 counters upgrade test
@jira_ticket CASSANDRA-13691
"""
cluster = self.cluster
default_install_dir = cluster.get_install_dir()

#
# set up a 2.0 cluster with 3 nodes and set up schema
#

cluster.set_install_dir(version='2.0.17')
cluster.populate(3)
> cluster.start()

counter_test.py:35:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
_ _

self = <ccmlib.cluster.Cluster object at 0x7f407c6d93a0>, no_wait = False
verbose = False, wait_for_binary_proto = True, wait_other_notice = True
jvm_args = [], profile_options = None, quiet_start = False, allow_root =
False
jvm_version = None, kwargs = {}
node = <ccmlib.node.Node object at 0x7f407e705ca0>, itf = ('127.0.0.3',
9042)
started = [(<ccmlib.node.Node object at 0x7f407e705ca0>, <subprocess.Popen
object at 0x7f407d8f7310>, 0), (<ccmlib.node.Node obj... at 0x7f407e7026a0>,
0), (<ccmlib.node.Node object at 0x7f407c6d91c0>, <subprocess.Popen object
at 0x7f407e702790>, 0)]
mark = 0, node_wait_for_binary_proto = False
p = <subprocess.Popen object at 0x7f407d8f7310>, timeout = 120

def start(self, no_wait=False, verbose=False, wait_for_binary_proto=True,
wait_other_notice=True, jvm_args=None, profile_options=None,
quiet_start=False, allow_root=False, jvm_version=None, **kwargs):
if jvm_args is None:
jvm_args = []

extension.pre_cluster_start(self)

# check whether all loopback aliases are available before starting any nodes
for node in list(self.nodes.values()):
if not node.is_running():
for itf in node.network_interfaces.values():
if itf is not None:
common.assert_socket_available(itf)

started = []
for node in list(self.nodes.values()):
if not node.is_running():
mark = 0
if os.path.exists(node.logfilename()):
mark = node.mark_log()

# if the node is going to allocate_strategy_ tokens during start, then
wait_for_binary_proto=True
node_wait_for_binary_proto = (self.can_generate_tokens() and self.use_vnodes
and node.initial_token is None)

p = node.start(update_pid=False, jvm_args=jvm_args, jvm_version=jvm_version,
profile_options=profile_options, verbose=verbose, quiet_start=quiet_start,
allow_root=allow_root, wait_for_binary_proto=node_wait_for_binary_proto)

# Prior to JDK8, starting every node at once could lead to a
# nanotime collision where the RNG that generates a node's tokens
# gives identical tokens to several nodes. Thus, we stagger
# the node starts
if common.get_jdk_version() < '1.8':
time.sleep(1)

started.append((node, p, mark))

if no_wait:
time.sleep(2) # waiting 2 seconds to check for early errors and for the pid
to be set
else:
for node, p, mark in started:
try:
timeout=kwargs.get('timeout', DEFAULT_CLUSTER_WAIT_TIMEOUT_IN_SECS)
timeout=int(os.environ.get('CCM_CLUSTER_START_TIMEOUT_OVERRIDE', timeout))
start_message = "Listening for thrift clients..." if self.cassandra_version
() < "2.2" else "Starting listening for CQL clients"
node.watch_log_for(start_message, timeout=timeout, process=p,
verbose=verbose, from_mark=mark)
except RuntimeError:
return None

self.__update_pids(started)

for node, p, _ in started:
if not node.is_running():
> raise NodeError("Error starting {0}.".format(node.name), p)
E ccmlib.node.NodeError: Error starting node1.

../venv/src/ccm/ccmlib/cluster.py:551: NodeError
----------------------------------------------------------------------------
Cassandra dtests // test_alter_table // Error
test teardown failure

request = <SubRequest 'fixture_dtest_setup' for <Function
'test_alter_table'>>
dtest_config = <dtest_config.DTestConfig object at 0x7f5102da7b80>
fixture_dtest_setup_overrides = <dtest_setup_overrides.DTestSetupOverrides
object at 0x7f51000c6580>
fixture_logging_setup = None, fixture_dtest_cluster_name = 'test'
fixture_dtest_create_cluster_func = <function DTestSetup.create_ccm_cluster
at 0x7f51035dfa60>

@pytest.fixture(scope='function', autouse=False)
def fixture_dtest_setup(request,
dtest_config,
fixture_dtest_setup_overrides,
fixture_logging_setup,
fixture_dtest_cluster_name,
fixture_dtest_create_cluster_func):
if running_in_docker():
cleanup_docker_environment_before_test_execution()

# do all of our setup operations to get the enviornment ready for the actual
test
# to run (e.g. bring up a cluster with the necessary config, populate
variables, etc)
initial_environment = copy.deepcopy(os.environ)
dtest_setup = DTestSetup(dtest_config=dtest_config,
setup_overrides=fixture_dtest_setup_overrides,
cluster_name=fixture_dtest_cluster_name)
dtest_setup.initialize_cluster(fixture_dtest_create_cluster_func)

if not dtest_config.disable_active_log_watching:
dtest_setup.begin_active_log_watch()

# at this point we're done with our setup operations in this fixture
# yield to allow the actual test to run
yield dtest_setup

# phew! we're back after executing the test, now we need to do
# all of our teardown and cleanup operations

reset_environment_vars(initial_environment)
dtest_setup.jvm_args = []

for con in dtest_setup.connections:
con.cluster.shutdown()
dtest_setup.connections = []

failed = False
try:
if not dtest_setup.allow_log_errors:
errors = check_logs_for_errors(dtest_setup)
if len(errors) > 0:
failed = True
pytest.fail(msg='Unexpected error found in node logs (see stdout for full
details). Errors: [{errors}]'
.format(errors=str.join(", ", errors)), pytrace=False)
finally:
try:
# save the logs for inspection
if failed or not dtest_config.delete_logs:
copy_logs(request, dtest_setup.cluster)
except Exception as e:
logger.error("Error saving log:", str(e))
finally:
> dtest_setup.cleanup_cluster(request)

conftest.py:352:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
_ _

self = <dtest_setup.DTestSetup object at 0x7f50e839b730>
request = <SubRequest 'fixture_dtest_setup' for <Function
'test_alter_table'>>

def cleanup_cluster(self, request=None):
with log_filter('cassandra'): # quiet noise from driver when nodes start
going down
> if self.dtest_config.keep_test_dir or
(self.dtest_config.keep_failed_test_dir and request and
request.node.rep_call.failed):
E AttributeError: 'Function' object has no attribute 'rep_call'

dtest_setup.py:351: AttributeError
----------------------------------------------------------------------------
Cassandra dtests // test_mutation_v2 // Error
test teardown failure

request = <SubRequest 'fixture_dtest_setup' for <Function
'test_mutation_v2'>>
dtest_config = <dtest_config.DTestConfig object at 0x7f936f686e80>
fixture_dtest_setup_overrides = <dtest_setup_overrides.DTestSetupOverrides
object at 0x7f936f7fe670>
fixture_logging_setup = None, fixture_dtest_cluster_name = 'test'
fixture_dtest_create_cluster_func = <function DTestSetup.create_ccm_cluster
at 0x7f936fe4aa60>

@pytest.fixture(scope='function', autouse=False)
def fixture_dtest_setup(request,
dtest_config,
fixture_dtest_setup_overrides,
fixture_logging_setup,
fixture_dtest_cluster_name,
fixture_dtest_create_cluster_func):
if running_in_docker():
cleanup_docker_environment_before_test_execution()

# do all of our setup operations to get the enviornment ready for the actual
test
# to run (e.g. bring up a cluster with the necessary config, populate
variables, etc)
initial_environment = copy.deepcopy(os.environ)
dtest_setup = DTestSetup(dtest_config=dtest_config,
setup_overrides=fixture_dtest_setup_overrides,
cluster_name=fixture_dtest_cluster_name)
dtest_setup.initialize_cluster(fixture_dtest_create_cluster_func)

if not dtest_config.disable_active_log_watching:
dtest_setup.begin_active_log_watch()

# at this point we're done with our setup operations in this fixture
# yield to allow the actual test to run
yield dtest_setup

# phew! we're back after executing the test, now we need to do
# all of our teardown and cleanup operations

reset_environment_vars(initial_environment)
dtest_setup.jvm_args = []

for con in dtest_setup.connections:
con.cluster.shutdown()
dtest_setup.connections = []

failed = False
try:
if not dtest_setup.allow_log_errors:
errors = check_logs_for_errors(dtest_setup)
if len(errors) > 0:
failed = True
pytest.fail(msg='Unexpected error found in node logs (see stdout for full
details). Errors: [{errors}]'
.format(errors=str.join(", ", errors)), pytrace=False)
finally:
try:
# save the logs for inspection
if failed or not dtest_config.delete_logs:
copy_logs(request, dtest_setup.cluster)
except Exception as e:
logger.error("Error saving log:", str(e))
finally:
> dtest_setup.cleanup_cluster(request)

conftest.py:352:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
_ _

self = <dtest_setup.DTestSetup object at 0x7f936f7f70d0>
request = <SubRequest 'fixture_dtest_setup' for <Function
'test_mutation_v2'>>

def cleanup_cluster(self, request=None):
with log_filter('cassandra'): # quiet noise from driver when nodes start
going down
> if self.dtest_config.keep_test_dir or
(self.dtest_config.keep_failed_test_dir and request and
request.node.rep_call.failed):
E AttributeError: 'Function' object has no attribute 'rep_call'

dtest_setup.py:351: AttributeError
----------------------------------------------------------------------------
Cassandra dtests // test_failed_read_repair // Error
test teardown failure

request = <SubRequest 'fixture_dtest_setup' for <Function
'test_failed_read_repair'>>
dtest_config = <dtest_config.DTestConfig object at 0x7f8f02add2e0>
fixture_dtest_setup_overrides = <dtest_setup_overrides.DTestSetupOverrides
object at 0x7f8f007ef2b0>
fixture_logging_setup = None, fixture_dtest_cluster_name = 'test'
fixture_dtest_create_cluster_func = <function DTestSetup.create_ccm_cluster
at 0x7f8f032ada60>

@pytest.fixture(scope='function', autouse=False)
def fixture_dtest_setup(request,
dtest_config,
fixture_dtest_setup_overrides,
fixture_logging_setup,
fixture_dtest_cluster_name,
fixture_dtest_create_cluster_func):
if running_in_docker():
cleanup_docker_environment_before_test_execution()

# do all of our setup operations to get the enviornment ready for the actual
test
# to run (e.g. bring up a cluster with the necessary config, populate
variables, etc)
initial_environment = copy.deepcopy(os.environ)
dtest_setup = DTestSetup(dtest_config=dtest_config,
setup_overrides=fixture_dtest_setup_overrides,
cluster_name=fixture_dtest_cluster_name)
dtest_setup.initialize_cluster(fixture_dtest_create_cluster_func)

if not dtest_config.disable_active_log_watching:
dtest_setup.begin_active_log_watch()

# at this point we're done with our setup operations in this fixture
# yield to allow the actual test to run
yield dtest_setup

# phew! we're back after executing the test, now we need to do
# all of our teardown and cleanup operations

reset_environment_vars(initial_environment)
dtest_setup.jvm_args = []

for con in dtest_setup.connections:
con.cluster.shutdown()
dtest_setup.connections = []

failed = False
try:
if not dtest_setup.allow_log_errors:
errors = check_logs_for_errors(dtest_setup)
if len(errors) > 0:
failed = True
pytest.fail(msg='Unexpected error found in node logs (see stdout for full
details). Errors: [{errors}]'
.format(errors=str.join(", ", errors)), pytrace=False)
finally:
try:
# save the logs for inspection
if failed or not dtest_config.delete_logs:
copy_logs(request, dtest_setup.cluster)
except Exception as e:
logger.error("Error saving log:", str(e))
finally:
> dtest_setup.cleanup_cluster(request)

conftest.py:352:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
_ _

self = <dtest_setup.DTestSetup object at 0x7f8f007ef3a0>
request = <SubRequest 'fixture_dtest_setup' for <Function
'test_failed_read_repair'>>

def cleanup_cluster(self, request=None):
with log_filter('cassandra'): # quiet noise from driver when nodes start
going down
> if self.dtest_config.keep_test_dir or
(self.dtest_config.keep_failed_test_dir and request and
request.node.rep_call.failed):
E AttributeError: 'Function' object has no attribute 'rep_call'

dtest_setup.py:351: AttributeError
----------------------------------------------------------------------------
Cassandra dtests // test_drop_index_while_building // Error
test teardown failure

request = <SubRequest 'fixture_dtest_setup' for <Function
'test_drop_index_while_building'>>
dtest_config = <dtest_config.DTestConfig object at 0x7f396821fa30>
fixture_dtest_setup_overrides = <dtest_setup_overrides.DTestSetupOverrides
object at 0x7f3964d64be0>
fixture_logging_setup = None, fixture_dtest_cluster_name = 'test'
fixture_dtest_create_cluster_func = <function DTestSetup.create_ccm_cluster
at 0x7f3968b13b80>

@pytest.fixture(scope='function', autouse=False)
def fixture_dtest_setup(request,
dtest_config,
fixture_dtest_setup_overrides,
fixture_logging_setup,
fixture_dtest_cluster_name,
fixture_dtest_create_cluster_func):
if running_in_docker():
cleanup_docker_environment_before_test_execution()

# do all of our setup operations to get the enviornment ready for the actual
test
# to run (e.g. bring up a cluster with the necessary config, populate
variables, etc)
initial_environment = copy.deepcopy(os.environ)
dtest_setup = DTestSetup(dtest_config=dtest_config,
setup_overrides=fixture_dtest_setup_overrides,
cluster_name=fixture_dtest_cluster_name)
dtest_setup.initialize_cluster(fixture_dtest_create_cluster_func)

if not dtest_config.disable_active_log_watching:
dtest_setup.begin_active_log_watch()

# at this point we're done with our setup operations in this fixture
# yield to allow the actual test to run
yield dtest_setup

# phew! we're back after executing the test, now we need to do
# all of our teardown and cleanup operations

reset_environment_vars(initial_environment)
dtest_setup.jvm_args = []

for con in dtest_setup.connections:
con.cluster.shutdown()
dtest_setup.connections = []

failed = False
try:
if not dtest_setup.allow_log_errors:
errors = check_logs_for_errors(dtest_setup)
if len(errors) > 0:
failed = True
pytest.fail(msg='Unexpected error found in node logs (see stdout for full
details). Errors: [{errors}]'
.format(errors=str.join(", ", errors)), pytrace=False)
finally:
try:
# save the logs for inspection
if failed or not dtest_config.delete_logs:
copy_logs(request, dtest_setup.cluster)
except Exception as e:
logger.error("Error saving log:", str(e))
finally:
> dtest_setup.cleanup_cluster(request)

conftest.py:352:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
_ _

self = <dtest_setup.DTestSetup object at 0x7f39679a3e20>
request = <SubRequest 'fixture_dtest_setup' for <Function
'test_drop_index_while_building'>>

def cleanup_cluster(self, request=None):
with log_filter('cassandra'): # quiet noise from driver when nodes start
going down
> if self.dtest_config.keep_test_dir or
(self.dtest_config.keep_failed_test_dir and request and
request.node.rep_call.failed):
E AttributeError: 'Function' object has no attribute 'rep_call'

dtest_setup.py:351: AttributeError
----------------------------------------------------------------------------
Cassandra dtests // test_normal_read_repair // Error
test teardown failure

request = <SubRequest 'fixture_dtest_setup' for <Function
'test_normal_read_repair'>>
dtest_config = <dtest_config.DTestConfig object at 0x7f1fbc802430>
fixture_dtest_setup_overrides = <dtest_setup_overrides.DTestSetupOverrides
object at 0x7f1fba506a30>
fixture_logging_setup = None, fixture_dtest_cluster_name = 'test'
fixture_dtest_create_cluster_func = <function DTestSetup.create_ccm_cluster
at 0x7f1fbcfd0a60>

@pytest.fixture(scope='function', autouse=False)
def fixture_dtest_setup(request,
dtest_config,
fixture_dtest_setup_overrides,
fixture_logging_setup,
fixture_dtest_cluster_name,
fixture_dtest_create_cluster_func):
if running_in_docker():
cleanup_docker_environment_before_test_execution()

# do all of our setup operations to get the enviornment ready for the actual
test
# to run (e.g. bring up a cluster with the necessary config, populate
variables, etc)
initial_environment = copy.deepcopy(os.environ)
dtest_setup = DTestSetup(dtest_config=dtest_config,
setup_overrides=fixture_dtest_setup_overrides,
cluster_name=fixture_dtest_cluster_name)
dtest_setup.initialize_cluster(fixture_dtest_create_cluster_func)

if not dtest_config.disable_active_log_watching:
dtest_setup.begin_active_log_watch()

# at this point we're done with our setup operations in this fixture
# yield to allow the actual test to run
yield dtest_setup

# phew! we're back after executing the test, now we need to do
# all of our teardown and cleanup operations

reset_environment_vars(initial_environment)
dtest_setup.jvm_args = []

for con in dtest_setup.connections:
con.cluster.shutdown()
dtest_setup.connections = []

failed = False
try:
if not dtest_setup.allow_log_errors:
errors = check_logs_for_errors(dtest_setup)
if len(errors) > 0:
failed = True
pytest.fail(msg='Unexpected error found in node logs (see stdout for full
details). Errors: [{errors}]'
.format(errors=str.join(", ", errors)), pytrace=False)
finally:
try:
# save the logs for inspection
if failed or not dtest_config.delete_logs:
copy_logs(request, dtest_setup.cluster)
except Exception as e:
logger.error("Error saving log:", str(e))
finally:
> dtest_setup.cleanup_cluster(request)

conftest.py:352:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
_ _

self = <dtest_setup.DTestSetup object at 0x7f1fbb7da700>
request = <SubRequest 'fixture_dtest_setup' for <Function
'test_normal_read_repair'>>

def cleanup_cluster(self, request=None):
with log_filter('cassandra'): # quiet noise from driver when nodes start
going down
> if self.dtest_config.keep_test_dir or
(self.dtest_config.keep_failed_test_dir and request and
request.node.rep_call.failed):
E AttributeError: 'Function' object has no attribute 'rep_call'

dtest_setup.py:351: AttributeError
----------------------------------------------------------------------------
Cassandra dtests // test_speculative_data_request // Error
test teardown failure

request = <SubRequest 'fixture_dtest_setup' for <Function
'test_speculative_data_request'>>
dtest_config = <dtest_config.DTestConfig object at 0x7f2a7e807310>
fixture_dtest_setup_overrides = <dtest_setup_overrides.DTestSetupOverrides
object at 0x7f2a7ce58700>
fixture_logging_setup = None, fixture_dtest_cluster_name = 'test'
fixture_dtest_create_cluster_func = <function DTestSetup.create_ccm_cluster
at 0x7f2a7efd4af0>

@pytest.fixture(scope='function', autouse=False)
def fixture_dtest_setup(request,
dtest_config,
fixture_dtest_setup_overrides,
fixture_logging_setup,
fixture_dtest_cluster_name,
fixture_dtest_create_cluster_func):
if running_in_docker():
cleanup_docker_environment_before_test_execution()

# do all of our setup operations to get the enviornment ready for the actual
test
# to run (e.g. bring up a cluster with the necessary config, populate
variables, etc)
initial_environment = copy.deepcopy(os.environ)
dtest_setup = DTestSetup(dtest_config=dtest_config,
setup_overrides=fixture_dtest_setup_overrides,
cluster_name=fixture_dtest_cluster_name)
dtest_setup.initialize_cluster(fixture_dtest_create_cluster_func)

if not dtest_config.disable_active_log_watching:
dtest_setup.begin_active_log_watch()

# at this point we're done with our setup operations in this fixture
# yield to allow the actual test to run
yield dtest_setup

# phew! we're back after executing the test, now we need to do
# all of our teardown and cleanup operations

reset_environment_vars(initial_environment)
dtest_setup.jvm_args = []

for con in dtest_setup.connections:
con.cluster.shutdown()
dtest_setup.connections = []

failed = False
try:
if not dtest_setup.allow_log_errors:
errors = check_logs_for_errors(dtest_setup)
if len(errors) > 0:
failed = True
pytest.fail(msg='Unexpected error found in node logs (see stdout for full
details). Errors: [{errors}]'
.format(errors=str.join(", ", errors)), pytrace=False)
finally:
try:
# save the logs for inspection
if failed or not dtest_config.delete_logs:
copy_logs(request, dtest_setup.cluster)
except Exception as e:
logger.error("Error saving log:", str(e))
finally:
> dtest_setup.cleanup_cluster(request)

conftest.py:352:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
_ _

self = <dtest_setup.DTestSetup object at 0x7f2a7e94a280>
request = <SubRequest 'fixture_dtest_setup' for <Function
'test_speculative_data_request'>>

def cleanup_cluster(self, request=None):
with log_filter('cassandra'): # quiet noise from driver when nodes start
going down
> if self.dtest_config.keep_test_dir or
(self.dtest_config.keep_failed_test_dir and request and
request.node.rep_call.failed):
E AttributeError: 'Function' object has no attribute 'rep_call'

dtest_setup.py:351: AttributeError
----------------------------------------------------------------------------
Cassandra dtests // test_mutation_v5 // Error
test teardown failure

request = <SubRequest 'fixture_dtest_setup' for <Function
'test_mutation_v5'>>
dtest_config = <dtest_config.DTestConfig object at 0x7f2a7e807310>
fixture_dtest_setup_overrides = <dtest_setup_overrides.DTestSetupOverrides
object at 0x7f2a7e982580>
fixture_logging_setup = None, fixture_dtest_cluster_name = 'test'
fixture_dtest_create_cluster_func = <function DTestSetup.create_ccm_cluster
at 0x7f2a7efd4af0>

@pytest.fixture(scope='function', autouse=False)
def fixture_dtest_setup(request,
dtest_config,
fixture_dtest_setup_overrides,
fixture_logging_setup,
fixture_dtest_cluster_name,
fixture_dtest_create_cluster_func):
if running_in_docker():
cleanup_docker_environment_before_test_execution()

# do all of our setup operations to get the enviornment ready for the actual
test
# to run (e.g. bring up a cluster with the necessary config, populate
variables, etc)
initial_environment = copy.deepcopy(os.environ)
dtest_setup = DTestSetup(dtest_config=dtest_config,
setup_overrides=fixture_dtest_setup_overrides,
cluster_name=fixture_dtest_cluster_name)
dtest_setup.initialize_cluster(fixture_dtest_create_cluster_func)

if not dtest_config.disable_active_log_watching:
dtest_setup.begin_active_log_watch()

# at this point we're done with our setup operations in this fixture
# yield to allow the actual test to run
yield dtest_setup

# phew! we're back after executing the test, now we need to do
# all of our teardown and cleanup operations

reset_environment_vars(initial_environment)
dtest_setup.jvm_args = []

for con in dtest_setup.connections:
con.cluster.shutdown()
dtest_setup.connections = []

failed = False
try:
if not dtest_setup.allow_log_errors:
errors = check_logs_for_errors(dtest_setup)
if len(errors) > 0:
failed = True
pytest.fail(msg='Unexpected error found in node logs (see stdout for full
details). Errors: [{errors}]'
.format(errors=str.join(", ", errors)), pytrace=False)
finally:
try:
# save the logs for inspection
if failed or not dtest_config.delete_logs:
copy_logs(request, dtest_setup.cluster)
except Exception as e:
logger.error("Error saving log:", str(e))
finally:
> dtest_setup.cleanup_cluster(request)

conftest.py:352:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
_ _

self = <dtest_setup.DTestSetup object at 0x7f2a7ddb3040>
request = <SubRequest 'fixture_dtest_setup' for <Function
'test_mutation_v5'>>

def cleanup_cluster(self, request=None):
with log_filter('cassandra'): # quiet noise from driver when nodes start
going down
> if self.dtest_config.keep_test_dir or
(self.dtest_config.keep_failed_test_dir and request and
request.node.rep_call.failed):
E AttributeError: 'Function' object has no attribute 'rep_call'

dtest_setup.py:351: AttributeError
----------------------------------------------------------------------------
Cassandra dtests // test_speculative_write // Error
test teardown failure

request = <SubRequest 'fixture_dtest_setup' for <Function
'test_speculative_write'>>
dtest_config = <dtest_config.DTestConfig object at 0x7f3249aaa700>
fixture_dtest_setup_overrides = <dtest_setup_overrides.DTestSetupOverrides
object at 0x7f324a160ac0>
fixture_logging_setup = None, fixture_dtest_cluster_name = 'test'
fixture_dtest_create_cluster_func = <function DTestSetup.create_ccm_cluster
at 0x7f324a3659d0>

@pytest.fixture(scope='function', autouse=False)
def fixture_dtest_setup(request,
dtest_config,
fixture_dtest_setup_overrides,
fixture_logging_setup,
fixture_dtest_cluster_name,
fixture_dtest_create_cluster_func):
if running_in_docker():
cleanup_docker_environment_before_test_execution()

# do all of our setup operations to get the enviornment ready for the actual
test
# to run (e.g. bring up a cluster with the necessary config, populate
variables, etc)
initial_environment = copy.deepcopy(os.environ)
dtest_setup = DTestSetup(dtest_config=dtest_config,
setup_overrides=fixture_dtest_setup_overrides,
cluster_name=fixture_dtest_cluster_name)
dtest_setup.initialize_cluster(fixture_dtest_create_cluster_func)

if not dtest_config.disable_active_log_watching:
dtest_setup.begin_active_log_watch()

# at this point we're done with our setup operations in this fixture
# yield to allow the actual test to run
yield dtest_setup

# phew! we're back after executing the test, now we need to do
# all of our teardown and cleanup operations

reset_environment_vars(initial_environment)
dtest_setup.jvm_args = []

for con in dtest_setup.connections:
con.cluster.shutdown()
dtest_setup.connections = []

failed = False
try:
if not dtest_setup.allow_log_errors:
errors = check_logs_for_errors(dtest_setup)
if len(errors) > 0:
failed = True
pytest.fail(msg='Unexpected error found in node logs (see stdout for full
details). Errors: [{errors}]'
.format(errors=str.join(", ", errors)), pytrace=False)
finally:
try:
# save the logs for inspection
if failed or not dtest_config.delete_logs:
copy_logs(request, dtest_setup.cluster)
except Exception as e:
logger.error("Error saving log:", str(e))
finally:
> dtest_setup.cleanup_cluster(request)

conftest.py:352:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
_ _

self = <dtest_setup.DTestSetup object at 0x7f32480f3970>
request = <SubRequest 'fixture_dtest_setup' for <Function
'test_speculative_write'>>

def cleanup_cluster(self, request=None):
with log_filter('cassandra'): # quiet noise from driver when nodes start
going down
> if self.dtest_config.keep_test_dir or
(self.dtest_config.keep_failed_test_dir and request and
request.node.rep_call.failed):
E AttributeError: 'Function' object has no attribute 'rep_call'

dtest_setup.py:351: AttributeError
----------------------------------------------------------------------------
Cassandra dtests // test_multi_dc_tokens_default // Error
test teardown failure

request = <SubRequest 'fixture_dtest_setup' for <Function
'test_multi_dc_tokens_default'>>
dtest_config = <dtest_config.DTestConfig object at 0x7f3249aaa700>
fixture_dtest_setup_overrides = <dtest_setup_overrides.DTestSetupOverrides
object at 0x7f3249cc9940>
fixture_logging_setup = None, fixture_dtest_cluster_name = 'test'
fixture_dtest_create_cluster_func = <function DTestSetup.create_ccm_cluster
at 0x7f324a3659d0>

@pytest.fixture(scope='function', autouse=False)
def fixture_dtest_setup(request,
dtest_config,
fixture_dtest_setup_overrides,
fixture_logging_setup,
fixture_dtest_cluster_name,
fixture_dtest_create_cluster_func):
if running_in_docker():
cleanup_docker_environment_before_test_execution()

# do all of our setup operations to get the enviornment ready for the actual
test
# to run (e.g. bring up a cluster with the necessary config, populate
variables, etc)
initial_environment = copy.deepcopy(os.environ)
dtest_setup = DTestSetup(dtest_config=dtest_config,
setup_overrides=fixture_dtest_setup_overrides,
cluster_name=fixture_dtest_cluster_name)
dtest_setup.initialize_cluster(fixture_dtest_create_cluster_func)

if not dtest_config.disable_active_log_watching:
dtest_setup.begin_active_log_watch()

# at this point we're done with our setup operations in this fixture
# yield to allow the actual test to run
yield dtest_setup

# phew! we're back after executing the test, now we need to do
# all of our teardown and cleanup operations

reset_environment_vars(initial_environment)
dtest_setup.jvm_args = []

for con in dtest_setup.connections:
con.cluster.shutdown()
dtest_setup.connections = []

failed = False
try:
if not dtest_setup.allow_log_errors:
errors = check_logs_for_errors(dtest_setup)
if len(errors) > 0:
failed = True
pytest.fail(msg='Unexpected error found in node logs (see stdout for full
details). Errors: [{errors}]'
.format(errors=str.join(", ", errors)), pytrace=False)
finally:
try:
# save the logs for inspection
if failed or not dtest_config.delete_logs:
copy_logs(request, dtest_setup.cluster)
except Exception as e:
logger.error("Error saving log:", str(e))
finally:
> dtest_setup.cleanup_cluster(request)

conftest.py:352:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
_ _

self = <dtest_setup.DTestSetup object at 0x7f3249ccca90>
request = <SubRequest 'fixture_dtest_setup' for <Function
'test_multi_dc_tokens_default'>>

def cleanup_cluster(self, request=None):
with log_filter('cassandra'): # quiet noise from driver when nodes start
going down
> if self.dtest_config.keep_test_dir or
(self.dtest_config.keep_failed_test_dir and request and
request.node.rep_call.failed):
E AttributeError: 'Function' object has no attribute 'rep_call'

dtest_setup.py:351: AttributeError
----------------------------------------------------------------------------
Cassandra dtests // test_set_get_batchlog_replay_throttle // Error
test teardown failure

request = <SubRequest 'fixture_dtest_setup' for <Function
'test_set_get_batchlog_replay_throttle'>>
dtest_config = <dtest_config.DTestConfig object at 0x7fa5fa28ddc0>
fixture_dtest_setup_overrides = <dtest_setup_overrides.DTestSetupOverrides
object at 0x7fa5f88ca250>
fixture_logging_setup = None, fixture_dtest_cluster_name = 'test'
fixture_dtest_create_cluster_func = <function DTestSetup.create_ccm_cluster
at 0x7fa5fab41940>

@pytest.fixture(scope='function', autouse=False)
def fixture_dtest_setup(request,
dtest_config,
fixture_dtest_setup_overrides,
fixture_logging_setup,
fixture_dtest_cluster_name,
fixture_dtest_create_cluster_func):
if running_in_docker():
cleanup_docker_environment_before_test_execution()

# do all of our setup operations to get the enviornment ready for the actual
test
# to run (e.g. bring up a cluster with the necessary config, populate
variables, etc)
initial_environment = copy.deepcopy(os.environ)
dtest_setup = DTestSetup(dtest_config=dtest_config,
setup_overrides=fixture_dtest_setup_overrides,
cluster_name=fixture_dtest_cluster_name)
dtest_setup.initialize_cluster(fixture_dtest_create_cluster_func)

if not dtest_config.disable_active_log_watching:
dtest_setup.begin_active_log_watch()

# at this point we're done with our setup operations in this fixture
# yield to allow the actual test to run
yield dtest_setup

# phew! we're back after executing the test, now we need to do
# all of our teardown and cleanup operations

reset_environment_vars(initial_environment)
dtest_setup.jvm_args = []

for con in dtest_setup.connections:
con.cluster.shutdown()
dtest_setup.connections = []

failed = False
try:
if not dtest_setup.allow_log_errors:
errors = check_logs_for_errors(dtest_setup)
if len(errors) > 0:
failed = True
pytest.fail(msg='Unexpected error found in node logs (see stdout for full
details). Errors: [{errors}]'
.format(errors=str.join(", ", errors)), pytrace=False)
finally:
try:
# save the logs for inspection
if failed or not dtest_config.delete_logs:
copy_logs(request, dtest_setup.cluster)
except Exception as e:
logger.error("Error saving log:", str(e))
finally:
> dtest_setup.cleanup_cluster(request)

conftest.py:352:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
_ _

self = <dtest_setup.DTestSetup object at 0x7fa5f898ffd0>
request = <SubRequest 'fixture_dtest_setup' for <Function
'test_set_get_batchlog_replay_throttle'>>

def cleanup_cluster(self, request=None):
with log_filter('cassandra'): # quiet noise from driver when nodes start
going down
> if self.dtest_config.keep_test_dir or
(self.dtest_config.keep_failed_test_dir and request and
request.node.rep_call.failed):
E AttributeError: 'Function' object has no attribute 'rep_call'

dtest_setup.py:351: AttributeError
----------------------------------------------------------------------------
Cassandra dtests // test_quorum_requirement // Error
test teardown failure

request = <SubRequest 'fixture_dtest_setup' for <Function
'test_quorum_requirement'>>
dtest_config = <dtest_config.DTestConfig object at 0x7fa5fa28ddc0>
fixture_dtest_setup_overrides = <dtest_setup_overrides.DTestSetupOverrides
object at 0x7fa5fa4c3d60>
fixture_logging_setup = None, fixture_dtest_cluster_name = 'test'
fixture_dtest_create_cluster_func = <function DTestSetup.create_ccm_cluster
at 0x7fa5fab41940>

@pytest.fixture(scope='function', autouse=False)
def fixture_dtest_setup(request,
dtest_config,
fixture_dtest_setup_overrides,
fixture_logging_setup,
fixture_dtest_cluster_name,
fixture_dtest_create_cluster_func):
if running_in_docker():
cleanup_docker_environment_before_test_execution()

# do all of our setup operations to get the enviornment ready for the actual
test
# to run (e.g. bring up a cluster with the necessary config, populate
variables, etc)
initial_environment = copy.deepcopy(os.environ)
dtest_setup = DTestSetup(dtest_config=dtest_config,
setup_overrides=fixture_dtest_setup_overrides,
cluster_name=fixture_dtest_cluster_name)
dtest_setup.initialize_cluster(fixture_dtest_create_cluster_func)

if not dtest_config.disable_active_log_watching:
dtest_setup.begin_active_log_watch()

# at this point we're done with our setup operations in this fixture
# yield to allow the actual test to run
yield dtest_setup

# phew! we're back after executing the test, now we need to do
# all of our teardown and cleanup operations

reset_environment_vars(initial_environment)
dtest_setup.jvm_args = []

for con in dtest_setup.connections:
con.cluster.shutdown()
dtest_setup.connections = []

failed = False
try:
if not dtest_setup.allow_log_errors:
errors = check_logs_for_errors(dtest_setup)
if len(errors) > 0:
failed = True
pytest.fail(msg='Unexpected error found in node logs (see stdout for full
details). Errors: [{errors}]'
.format(errors=str.join(", ", errors)), pytrace=False)
finally:
try:
# save the logs for inspection
if failed or not dtest_config.delete_logs:
copy_logs(request, dtest_setup.cluster)
except Exception as e:
logger.error("Error saving log:", str(e))
finally:
> dtest_setup.cleanup_cluster(request)

conftest.py:352:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
_ _

self = <dtest_setup.DTestSetup object at 0x7fa5fa4c3c40>
request = <SubRequest 'fixture_dtest_setup' for <Function
'test_quorum_requirement'>>

def cleanup_cluster(self, request=None):
with log_filter('cassandra'): # quiet noise from driver when nodes start
going down
> if self.dtest_config.keep_test_dir or
(self.dtest_config.keep_failed_test_dir and request and
request.node.rep_call.failed):
E AttributeError: 'Function' object has no attribute 'rep_call'

dtest_setup.py:351: AttributeError
----------------------------------------------------------------------------
Cassandra dtests // test_multi_dc_tokens_murmur3 // Error
test teardown failure

request = <SubRequest 'fixture_dtest_setup' for <Function
'test_multi_dc_tokens_murmur3'>>
dtest_config = <dtest_config.DTestConfig object at 0x7fa5fa28ddc0>
fixture_dtest_setup_overrides = <dtest_setup_overrides.DTestSetupOverrides
object at 0x7fa5eafddfa0>
fixture_logging_setup = None, fixture_dtest_cluster_name = 'test'
fixture_dtest_create_cluster_func = <function DTestSetup.create_ccm_cluster
at 0x7fa5fab41940>

@pytest.fixture(scope='function', autouse=False)
def fixture_dtest_setup(request,
dtest_config,
fixture_dtest_setup_overrides,
fixture_logging_setup,
fixture_dtest_cluster_name,
fixture_dtest_create_cluster_func):
if running_in_docker():
cleanup_docker_environment_before_test_execution()

# do all of our setup operations to get the enviornment ready for the actual
test
# to run (e.g. bring up a cluster with the necessary config, populate
variables, etc)
initial_environment = copy.deepcopy(os.environ)
dtest_setup = DTestSetup(dtest_config=dtest_config,
setup_overrides=fixture_dtest_setup_overrides,
cluster_name=fixture_dtest_cluster_name)
dtest_setup.initialize_cluster(fixture_dtest_create_cluster_func)

if not dtest_config.disable_active_log_watching:
dtest_setup.begin_active_log_watch()

# at this point we're done with our setup operations in this fixture
# yield to allow the actual test to run
yield dtest_setup

# phew! we're back after executing the test, now we need to do
# all of our teardown and cleanup operations

reset_environment_vars(initial_environment)
dtest_setup.jvm_args = []

for con in dtest_setup.connections:
con.cluster.shutdown()
dtest_setup.connections = []

failed = False
try:
if not dtest_setup.allow_log_errors:
errors = check_logs_for_errors(dtest_setup)
if len(errors) > 0:
failed = True
pytest.fail(msg='Unexpected error found in node logs (see stdout for full
details). Errors: [{errors}]'
.format(errors=str.join(", ", errors)), pytrace=False)
finally:
try:
# save the logs for inspection
if failed or not dtest_config.delete_logs:
copy_logs(request, dtest_setup.cluster)
except Exception as e:
logger.error("Error saving log:", str(e))
finally:
> dtest_setup.cleanup_cluster(request)

conftest.py:352:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
_ _

self = <dtest_setup.DTestSetup object at 0x7fa5f89bfe50>
request = <SubRequest 'fixture_dtest_setup' for <Function
'test_multi_dc_tokens_murmur3'>>

def cleanup_cluster(self, request=None):
with log_filter('cassandra'): # quiet noise from driver when nodes start
going down
> if self.dtest_config.keep_test_dir or
(self.dtest_config.keep_failed_test_dir and request and
request.node.rep_call.failed):
E AttributeError: 'Function' object has no attribute 'rep_call'

dtest_setup.py:351: AttributeError
----------------------------------------------------------------------------
Cassandra dtests // test_quorum_requirement_on_speculated_read // Error
test teardown failure

request = <SubRequest 'fixture_dtest_setup' for <Function
'test_quorum_requirement_on_speculated_read'>>
dtest_config = <dtest_config.DTestConfig object at 0x7f8d56c38340>
fixture_dtest_setup_overrides = <dtest_setup_overrides.DTestSetupOverrides
object at 0x7f8d54070760>
fixture_logging_setup = None, fixture_dtest_cluster_name = 'test'
fixture_dtest_create_cluster_func = <function DTestSetup.create_ccm_cluster
at 0x7f8d574e5b80>

@pytest.fixture(scope='function', autouse=False)
def fixture_dtest_setup(request,
dtest_config,
fixture_dtest_setup_overrides,
fixture_logging_setup,
fixture_dtest_cluster_name,
fixture_dtest_create_cluster_func):
if running_in_docker():
cleanup_docker_environment_before_test_execution()

# do all of our setup operations to get the enviornment ready for the actual
test
# to run (e.g. bring up a cluster with the necessary config, populate
variables, etc)
initial_environment = copy.deepcopy(os.environ)
dtest_setup = DTestSetup(dtest_config=dtest_config,
setup_overrides=fixture_dtest_setup_overrides,
cluster_name=fixture_dtest_cluster_name)
dtest_setup.initialize_cluster(fixture_dtest_create_cluster_func)

if not dtest_config.disable_active_log_watching:
dtest_setup.begin_active_log_watch()

# at this point we're done with our setup operations in this fixture
# yield to allow the actual test to run
yield dtest_setup

# phew! we're back after executing the test, now we need to do
# all of our teardown and cleanup operations

reset_environment_vars(initial_environment)
dtest_setup.jvm_args = []

for con in dtest_setup.connections:
con.cluster.shutdown()
dtest_setup.connections = []

failed = False
try:
if not dtest_setup.allow_log_errors:
errors = check_logs_for_errors(dtest_setup)
if len(errors) > 0:
failed = True
pytest.fail(msg='Unexpected error found in node logs (see stdout for full
details). Errors: [{errors}]'
.format(errors=str.join(", ", errors)), pytrace=False)
finally:
try:
# save the logs for inspection
if failed or not dtest_config.delete_logs:
copy_logs(request, dtest_setup.cluster)
except Exception as e:
logger.error("Error saving log:", str(e))
finally:
> dtest_setup.cleanup_cluster(request)

conftest.py:352:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
_ _

self = <dtest_setup.DTestSetup object at 0x7f8d570d77f0>
request = <SubRequest 'fixture_dtest_setup' for <Function
'test_quorum_requirement_on_speculated_read'>>

def cleanup_cluster(self, request=None):
with log_filter('cassandra'): # quiet noise from driver when nodes start
going down
> if self.dtest_config.keep_test_dir or
(self.dtest_config.keep_failed_test_dir and request and
request.node.rep_call.failed):
E AttributeError: 'Function' object has no attribute 'rep_call'

dtest_setup.py:351: AttributeError
----------------------------------------------------------------------------
Cassandra dtests // test_multi_dc_tokens_random // Error
test teardown failure

request = <SubRequest 'fixture_dtest_setup' for <Function
'test_multi_dc_tokens_random'>>
dtest_config = <dtest_config.DTestConfig object at 0x7f8d56c38340>
fixture_dtest_setup_overrides = <dtest_setup_overrides.DTestSetupOverrides
object at 0x7f8d541fa730>
fixture_logging_setup = None, fixture_dtest_cluster_name = 'test'
fixture_dtest_create_cluster_func = <function DTestSetup.create_ccm_cluster
at 0x7f8d574e5b80>

@pytest.fixture(scope='function', autouse=False)
def fixture_dtest_setup(request,
dtest_config,
fixture_dtest_setup_overrides,
fixture_logging_setup,
fixture_dtest_cluster_name,
fixture_dtest_create_cluster_func):
if running_in_docker():
cleanup_docker_environment_before_test_execution()

# do all of our setup operations to get the enviornment ready for the actual
test
# to run (e.g. bring up a cluster with the necessary config, populate
variables, etc)
initial_environment = copy.deepcopy(os.environ)
dtest_setup = DTestSetup(dtest_config=dtest_config,
setup_overrides=fixture_dtest_setup_overrides,
cluster_name=fixture_dtest_cluster_name)
dtest_setup.initialize_cluster(fixture_dtest_create_cluster_func)

if not dtest_config.disable_active_log_watching:
dtest_setup.begin_active_log_watch()

# at this point we're done with our setup operations in this fixture
# yield to allow the actual test to run
yield dtest_setup

# phew! we're back after executing the test, now we need to do
# all of our teardown and cleanup operations

reset_environment_vars(initial_environment)
dtest_setup.jvm_args = []

for con in dtest_setup.connections:
con.cluster.shutdown()
dtest_setup.connections = []

failed = False
try:
if not dtest_setup.allow_log_errors:
errors = check_logs_for_errors(dtest_setup)
if len(errors) > 0:
failed = True
pytest.fail(msg='Unexpected error found in node logs (see stdout for full
details). Errors: [{errors}]'
.format(errors=str.join(", ", errors)), pytrace=False)
finally:
try:
# save the logs for inspection
if failed or not dtest_config.delete_logs:
copy_logs(request, dtest_setup.cluster)
except Exception as e:
logger.error("Error saving log:", str(e))
finally:
> dtest_setup.cleanup_cluster(request)

conftest.py:352:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
_ _

self = <dtest_setup.DTestSetup object at 0x7f8d56dfa550>
request = <SubRequest 'fixture_dtest_setup' for <Function
'test_multi_dc_tokens_random'>>

def cleanup_cluster(self, request=None):
with log_filter('cassandra'): # quiet noise from driver when nodes start
going down
> if self.dtest_config.keep_test_dir or
(self.dtest_config.keep_failed_test_dir and request and
request.node.rep_call.failed):
E AttributeError: 'Function' object has no attribute 'rep_call'

dtest_setup.py:351: AttributeError
----------------------------------------------------------------------------
Cassandra dtests // test_non_replicated_ks_repair // Error
test teardown failure

request = <SubRequest 'fixture_dtest_setup' for <Function
'test_non_replicated_ks_repair'>>
dtest_config = <dtest_config.DTestConfig object at 0x7f8d56c38340>
fixture_dtest_setup_overrides = <dtest_setup_overrides.DTestSetupOverrides
object at 0x7f8d553c7940>
fixture_logging_setup = None, fixture_dtest_cluster_name = 'test'
fixture_dtest_create_cluster_func = <function DTestSetup.create_ccm_cluster
at 0x7f8d574e5b80>

@pytest.fixture(scope='function', autouse=False)
def fixture_dtest_setup(request,
dtest_config,
fixture_dtest_setup_overrides,
fixture_logging_setup,
fixture_dtest_cluster_name,
fixture_dtest_create_cluster_func):
if running_in_docker():
cleanup_docker_environment_before_test_execution()

# do all of our setup operations to get the enviornment ready for the actual
test
# to run (e.g. bring up a cluster with the necessary config, populate
variables, etc)
initial_environment = copy.deepcopy(os.environ)
dtest_setup = DTestSetup(dtest_config=dtest_config,
setup_overrides=fixture_dtest_setup_overrides,
cluster_name=fixture_dtest_cluster_name)
dtest_setup.initialize_cluster(fixture_dtest_create_cluster_func)

if not dtest_config.disable_active_log_watching:
dtest_setup.begin_active_log_watch()

# at this point we're done with our setup operations in this fixture
# yield to allow the actual test to run
yield dtest_setup

# phew! we're back after executing the test, now we need to do
# all of our teardown and cleanup operations

reset_environment_vars(initial_environment)
dtest_setup.jvm_args = []

for con in dtest_setup.connections:
con.cluster.shutdown()
dtest_setup.connections = []

failed = False
try:
if not dtest_setup.allow_log_errors:
errors = check_logs_for_errors(dtest_setup)
if len(errors) > 0:
failed = True
pytest.fail(msg='Unexpected error found in node logs (see stdout for full
details). Errors: [{errors}]'
.format(errors=str.join(", ", errors)), pytrace=False)
finally:
try:
# save the logs for inspection
if failed or not dtest_config.delete_logs:
copy_logs(request, dtest_setup.cluster)
except Exception as e:
logger.error("Error saving log:", str(e))
finally:
> dtest_setup.cleanup_cluster(request)

conftest.py:352:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
_ _

self = <dtest_setup.DTestSetup object at 0x7f8d541f83a0>
request = <SubRequest 'fixture_dtest_setup' for <Function
'test_non_replicated_ks_repair'>>

def cleanup_cluster(self, request=None):
with log_filter('cassandra'): # quiet noise from driver when nodes start
going down
> if self.dtest_config.keep_test_dir or
(self.dtest_config.keep_failed_test_dir and request and
request.node.rep_call.failed):
E AttributeError: 'Function' object has no attribute 'rep_call'

dtest_setup.py:351: AttributeError
----------------------------------------------------------------------------
Cassandra dtests // test_index_is_not_rebuilt_at_restart // Error
test teardown failure

request = <SubRequest 'fixture_dtest_setup' for <Function
'test_index_is_not_rebuilt_at_restart'>>
dtest_config = <dtest_config.DTestConfig object at 0x7f8a23184190>
fixture_dtest_setup_overrides = <dtest_setup_overrides.DTestSetupOverrides
object at 0x7f8a21057880>
fixture_logging_setup = None, fixture_dtest_cluster_name = 'test'
fixture_dtest_create_cluster_func = <function DTestSetup.create_ccm_cluster
at 0x7f8a23a02af0>

@pytest.fixture(scope='function', autouse=False)
def fixture_dtest_setup(request,
dtest_config,
fixture_dtest_setup_overrides,
fixture_logging_setup,
fixture_dtest_cluster_name,
fixture_dtest_create_cluster_func):
if running_in_docker():
cleanup_docker_environment_before_test_execution()

# do all of our setup operations to get the enviornment ready for the actual
test
# to run (e.g. bring up a cluster with the necessary config, populate
variables, etc)
initial_environment = copy.deepcopy(os.environ)
dtest_setup = DTestSetup(dtest_config=dtest_config,
setup_overrides=fixture_dtest_setup_overrides,
cluster_name=fixture_dtest_cluster_name)
dtest_setup.initialize_cluster(fixture_dtest_create_cluster_func)

if not dtest_config.disable_active_log_watching:
dtest_setup.begin_active_log_watch()

# at this point we're done with our setup operations in this fixture
# yield to allow the actual test to run
yield dtest_setup

# phew! we're back after executing the test, now we need to do
# all of our teardown and cleanup operations

reset_environment_vars(initial_environment)
dtest_setup.jvm_args = []

for con in dtest_setup.connections:
con.cluster.shutdown()
dtest_setup.connections = []

failed = False
try:
if not dtest_setup.allow_log_errors:
errors = check_logs_for_errors(dtest_setup)
if len(errors) > 0:
failed = True
pytest.fail(msg='Unexpected error found in node logs (see stdout for full
details). Errors: [{errors}]'
.format(errors=str.join(", ", errors)), pytrace=False)
finally:
try:
# save the logs for inspection
if failed or not dtest_config.delete_logs:
copy_logs(request, dtest_setup.cluster)
except Exception as e:
logger.error("Error saving log:", str(e))
finally:
> dtest_setup.cleanup_cluster(request)

conftest.py:352:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
_ _

self = <dtest_setup.DTestSetup object at 0x7f8a20fdd7c0>
request = <SubRequest 'fixture_dtest_setup' for <Function
'test_index_is_not_rebuilt_at_restart'>>

def cleanup_cluster(self, request=None):
with log_filter('cassandra'): # quiet noise from driver when nodes start
going down
> if self.dtest_config.keep_test_dir or
(self.dtest_config.keep_failed_test_dir and request and
request.node.rep_call.failed):
E AttributeError: 'Function' object has no attribute 'rep_call'

dtest_setup.py:351: AttributeError
----------------------------------------------------------------------------
Cassandra dtests // test_zerocopy_streaming // Error
test teardown failure

request = <SubRequest 'fixture_dtest_setup' for <Function
'test_zerocopy_streaming'>>
dtest_config = <dtest_config.DTestConfig object at 0x7f8a23184190>
fixture_dtest_setup_overrides = <dtest_setup_overrides.DTestSetupOverrides
object at 0x7f8a0bf5de20>
fixture_logging_setup = None, fixture_dtest_cluster_name = 'test'
fixture_dtest_create_cluster_func = <function DTestSetup.create_ccm_cluster
at 0x7f8a23a02af0>

@pytest.fixture(scope='function', autouse=False)
def fixture_dtest_setup(request,
dtest_config,
fixture_dtest_setup_overrides,
fixture_logging_setup,
fixture_dtest_cluster_name,
fixture_dtest_create_cluster_func):
if running_in_docker():
cleanup_docker_environment_before_test_execution()

# do all of our setup operations to get the enviornment ready for the actual
test
# to run (e.g. bring up a cluster with the necessary config, populate
variables, etc)
initial_environment = copy.deepcopy(os.environ)
dtest_setup = DTestSetup(dtest_config=dtest_config,
setup_overrides=fixture_dtest_setup_overrides,
cluster_name=fixture_dtest_cluster_name)
dtest_setup.initialize_cluster(fixture_dtest_create_cluster_func)

if not dtest_config.disable_active_log_watching:
dtest_setup.begin_active_log_watch()

# at this point we're done with our setup operations in this fixture
# yield to allow the actual test to run
yield dtest_setup

# phew! we're back after executing the test, now we need to do
# all of our teardown and cleanup operations

reset_environment_vars(initial_environment)
dtest_setup.jvm_args = []

for con in dtest_setup.connections:
con.cluster.shutdown()
dtest_setup.connections = []

failed = False
try:
if not dtest_setup.allow_log_errors:
errors = check_logs_for_errors(dtest_setup)
if len(errors) > 0:
failed = True
pytest.fail(msg='Unexpected error found in node logs (see stdout for full
details). Errors: [{errors}]'
.format(errors=str.join(", ", errors)), pytrace=False)
finally:
try:
# save the logs for inspection
if failed or not dtest_config.delete_logs:
copy_logs(request, dtest_setup.cluster)
except Exception as e:
logger.error("Error saving log:", str(e))
finally:
> dtest_setup.cleanup_cluster(request)

conftest.py:352:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
_ _

self = <dtest_setup.DTestSetup object at 0x7f8a0bf5da60>
request = <SubRequest 'fixture_dtest_setup' for <Function
'test_zerocopy_streaming'>>

def cleanup_cluster(self, request=None):
with log_filter('cassandra'): # quiet noise from driver when nodes start
going down
> if self.dtest_config.keep_test_dir or
(self.dtest_config.keep_failed_test_dir and request and
request.node.rep_call.failed):
E AttributeError: 'Function' object has no attribute 'rep_call'

dtest_setup.py:351: AttributeError
----------------------------------------------------------------------------
Cassandra dtests // test_zerocopy_streaming_no_replication // Error
test teardown failure

request = <SubRequest 'fixture_dtest_setup' for <Function
'test_zerocopy_streaming_no_replication'>>
dtest_config = <dtest_config.DTestConfig object at 0x7fd9b351b970>
fixture_dtest_setup_overrides = <dtest_setup_overrides.DTestSetupOverrides
object at 0x7fd9b3892e80>
fixture_logging_setup = None, fixture_dtest_cluster_name = 'test'
fixture_dtest_create_cluster_func = <function DTestSetup.create_ccm_cluster
at 0x7fd9b3e00af0>

@pytest.fixture(scope='function', autouse=False)
def fixture_dtest_setup(request,
dtest_config,
fixture_dtest_setup_overrides,
fixture_logging_setup,
fixture_dtest_cluster_name,
fixture_dtest_create_cluster_func):
if running_in_docker():
cleanup_docker_environment_before_test_execution()

# do all of our setup operations to get the enviornment ready for the actual
test
# to run (e.g. bring up a cluster with the necessary config, populate
variables, etc)
initial_environment = copy.deepcopy(os.environ)
dtest_setup = DTestSetup(dtest_config=dtest_config,
setup_overrides=fixture_dtest_setup_overrides,
cluster_name=fixture_dtest_cluster_name)
dtest_setup.initialize_cluster(fixture_dtest_create_cluster_func)

if not dtest_config.disable_active_log_watching:
dtest_setup.begin_active_log_watch()

# at this point we're done with our setup operations in this fixture
# yield to allow the actual test to run
yield dtest_setup

# phew! we're back after executing the test, now we need to do
# all of our teardown and cleanup operations

reset_environment_vars(initial_environment)
dtest_setup.jvm_args = []

for con in dtest_setup.connections:
con.cluster.shutdown()
dtest_setup.connections = []

failed = False
try:
if not dtest_setup.allow_log_errors:
errors = check_logs_for_errors(dtest_setup)
if len(errors) > 0:
failed = True
pytest.fail(msg='Unexpected error found in node logs (see stdout for full
details). Errors: [{errors}]'
.format(errors=str.join(", ", errors)), pytrace=False)
finally:
try:
# save the logs for inspection
if failed or not dtest_config.delete_logs:
copy_logs(request, dtest_setup.cluster)
except Exception as e:
logger.error("Error saving log:", str(e))
finally:
> dtest_setup.cleanup_cluster(request)

conftest.py:352:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
_ _

self = <dtest_setup.DTestSetup object at 0x7fd9b049c700>
request = <SubRequest 'fixture_dtest_setup' for <Function
'test_zerocopy_streaming_no_replication'>>

def cleanup_cluster(self, request=None):
with log_filter('cassandra'): # quiet noise from driver when nodes start
going down
> if self.dtest_config.keep_test_dir or
(self.dtest_config.keep_failed_test_dir and request and
request.node.rep_call.failed):
E AttributeError: 'Function' object has no attribute 'rep_call'

dtest_setup.py:351: AttributeError
----------------------------------------------------------------------------
Cassandra dtests // test_archiving // Error
test teardown failure

request = <SubRequest 'fixture_dtest_setup' for <Function 'test_archiving'>>
dtest_config = <dtest_config.DTestConfig object at 0x7ff2f9bf98e0>
fixture_dtest_setup_overrides = <dtest_setup_overrides.DTestSetupOverrides
object at 0x7ff2f9bf9880>
fixture_logging_setup = None, fixture_dtest_cluster_name = 'test'
fixture_dtest_create_cluster_func = <function DTestSetup.create_ccm_cluster
at 0x7ff2fa4e7af0>

@pytest.fixture(scope='function', autouse=False)
def fixture_dtest_setup(request,
dtest_config,
fixture_dtest_setup_overrides,
fixture_logging_setup,
fixture_dtest_cluster_name,
fixture_dtest_create_cluster_func):
if running_in_docker():
cleanup_docker_environment_before_test_execution()

# do all of our setup operations to get the enviornment ready for the actual
test
# to run (e.g. bring up a cluster with the necessary config, populate
variables, etc)
initial_environment = copy.deepcopy(os.environ)
dtest_setup = DTestSetup(dtest_config=dtest_config,
setup_overrides=fixture_dtest_setup_overrides,
cluster_name=fixture_dtest_cluster_name)
dtest_setup.initialize_cluster(fixture_dtest_create_cluster_func)

if not dtest_config.disable_active_log_watching:
dtest_setup.begin_active_log_watch()

# at this point we're done with our setup operations in this fixture
# yield to allow the actual test to run
yield dtest_setup

# phew! we're back after executing the test, now we need to do
# all of our teardown and cleanup operations

reset_environment_vars(initial_environment)
dtest_setup.jvm_args = []

for con in dtest_setup.connections:
con.cluster.shutdown()
dtest_setup.connections = []

failed = False
try:
if not dtest_setup.allow_log_errors:
errors = check_logs_for_errors(dtest_setup)
if len(errors) > 0:
failed = True
pytest.fail(msg='Unexpected error found in node logs (see stdout for full
details). Errors: [{errors}]'
.format(errors=str.join(", ", errors)), pytrace=False)
finally:
try:
# save the logs for inspection
if failed or not dtest_config.delete_logs:
copy_logs(request, dtest_setup.cluster)
except Exception as e:
logger.error("Error saving log:", str(e))
finally:
> dtest_setup.cleanup_cluster(request)

conftest.py:352:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
_ _

self = <dtest_setup.DTestSetup object at 0x7ff2f9bf9520>
request = <SubRequest 'fixture_dtest_setup' for <Function 'test_archiving'>>

def cleanup_cluster(self, request=None):
with log_filter('cassandra'): # quiet noise from driver when nodes start
going down
> if self.dtest_config.keep_test_dir or
(self.dtest_config.keep_failed_test_dir and request and
request.node.rep_call.failed):
E AttributeError: 'Function' object has no attribute 'rep_call'

dtest_setup.py:351: AttributeError
----------------------------------------------------------------------------
Cassandra dtests // test_monotonic_reads[blocking] // Error
test teardown failure

request = <SubRequest 'fixture_dtest_setup' for <Function
'test_monotonic_reads[blocking]'>>
dtest_config = <dtest_config.DTestConfig object at 0x7ff2f9bf98e0>
fixture_dtest_setup_overrides = <dtest_setup_overrides.DTestSetupOverrides
object at 0x7ff2f894ea90>
fixture_logging_setup = None, fixture_dtest_cluster_name = 'test'
fixture_dtest_create_cluster_func = <function DTestSetup.create_ccm_cluster
at 0x7ff2fa4e7af0>

@pytest.fixture(scope='function', autouse=False)
def fixture_dtest_setup(request,
dtest_config,
fixture_dtest_setup_overrides,
fixture_logging_setup,
fixture_dtest_cluster_name,
fixture_dtest_create_cluster_func):
if running_in_docker():
cleanup_docker_environment_before_test_execution()

# do all of our setup operations to get the enviornment ready for the actual
test
# to run (e.g. bring up a cluster with the necessary config, populate
variables, etc)
initial_environment = copy.deepcopy(os.environ)
dtest_setup = DTestSetup(dtest_config=dtest_config,
setup_overrides=fixture_dtest_setup_overrides,
cluster_name=fixture_dtest_cluster_name)
dtest_setup.initialize_cluster(fixture_dtest_create_cluster_func)

if not dtest_config.disable_active_log_watching:
dtest_setup.begin_active_log_watch()

# at this point we're done with our setup operations in this fixture
# yield to allow the actual test to run
yield dtest_setup

# phew! we're back after executing the test, now we need to do
# all of our teardown and cleanup operations

reset_environment_vars(initial_environment)
dtest_setup.jvm_args = []

for con in dtest_setup.connections:
con.cluster.shutdown()
dtest_setup.connections = []

failed = False
try:
if not dtest_setup.allow_log_errors:
errors = check_logs_for_errors(dtest_setup)
if len(errors) > 0:
failed = True
pytest.fail(msg='Unexpected error found in node logs (see stdout for full
details). Errors: [{errors}]'
.format(errors=str.join(", ", errors)), pytrace=False)
finally:
try:
# save the logs for inspection
if failed or not dtest_config.delete_logs:
copy_logs(request, dtest_setup.cluster)
except Exception as e:
logger.error("Error saving log:", str(e))
finally:
> dtest_setup.cleanup_cluster(request)

conftest.py:352:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
_ _

self = <dtest_setup.DTestSetup object at 0x7ff2f8703910>
request = <SubRequest 'fixture_dtest_setup' for <Function
'test_monotonic_reads[blocking]'>>

def cleanup_cluster(self, request=None):
with log_filter('cassandra'): # quiet noise from driver when nodes start
going down
> if self.dtest_config.keep_test_dir or
(self.dtest_config.keep_failed_test_dir and request and
request.node.rep_call.failed):
E AttributeError: 'Function' object has no attribute 'rep_call'

dtest_setup.py:351: AttributeError
----------------------------------------------------------------------------
Cassandra dtests // test_multi_dc_tokens_random // Error
test teardown failure

request = <SubRequest 'fixture_dtest_setup' for <Function
'test_multi_dc_tokens_random'>>
dtest_config = <dtest_config.DTestConfig object at 0x7ff2f9bf98e0>
fixture_dtest_setup_overrides = <dtest_setup_overrides.DTestSetupOverrides
object at 0x7ff2f81a9a90>
fixture_logging_setup = None, fixture_dtest_cluster_name = 'test'
fixture_dtest_create_cluster_func = <function DTestSetup.create_ccm_cluster
at 0x7ff2fa4e7af0>

@pytest.fixture(scope='function', autouse=False)
def fixture_dtest_setup(request,
dtest_config,
fixture_dtest_setup_overrides,
fixture_logging_setup,
fixture_dtest_cluster_name,
fixture_dtest_create_cluster_func):
if running_in_docker():
cleanup_docker_environment_before_test_execution()

# do all of our setup operations to get the enviornment ready for the actual
test
# to run (e.g. bring up a cluster with the necessary config, populate
variables, etc)
initial_environment = copy.deepcopy(os.environ)
dtest_setup = DTestSetup(dtest_config=dtest_config,
setup_overrides=fixture_dtest_setup_overrides,
cluster_name=fixture_dtest_cluster_name)
dtest_setup.initialize_cluster(fixture_dtest_create_cluster_func)

if not dtest_config.disable_active_log_watching:
dtest_setup.begin_active_log_watch()

# at this point we're done with our setup operations in this fixture
# yield to allow the actual test to run
yield dtest_setup

# phew! we're back after executing the test, now we need to do
# all of our teardown and cleanup operations

reset_environment_vars(initial_environment)
dtest_setup.jvm_args = []

for con in dtest_setup.connections:
con.cluster.shutdown()
dtest_setup.connections = []

failed = False
try:
if not dtest_setup.allow_log_errors:
errors = check_logs_for_errors(dtest_setup)
if len(errors) > 0:
failed = True
pytest.fail(msg='Unexpected error found in node logs (see stdout for full
details). Errors: [{errors}]'
.format(errors=str.join(", ", errors)), pytrace=False)
finally:
try:
# save the logs for inspection
if failed or not dtest_config.delete_logs:
copy_logs(request, dtest_setup.cluster)
except Exception as e:
logger.error("Error saving log:", str(e))
finally:
> dtest_setup.cleanup_cluster(request)

conftest.py:352:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
_ _

self = <dtest_setup.DTestSetup object at 0x7ff2f9fe7b80>
request = <SubRequest 'fixture_dtest_setup' for <Function
'test_multi_dc_tokens_random'>>

def cleanup_cluster(self, request=None):
with log_filter('cassandra'): # quiet noise from driver when nodes start
going down
> if self.dtest_config.keep_test_dir or
(self.dtest_config.keep_failed_test_dir and request and
request.node.rep_call.failed):
E AttributeError: 'Function' object has no attribute 'rep_call'

dtest_setup.py:351: AttributeError
----------------------------------------------------------------------------
Cassandra dtests // test_non_replicated_ks_repair // Error
test teardown failure

request = <SubRequest 'fixture_dtest_setup' for <Function
'test_non_replicated_ks_repair'>>
dtest_config = <dtest_config.DTestConfig object at 0x7ff2f9bf98e0>
fixture_dtest_setup_overrides = <dtest_setup_overrides.DTestSetupOverrides
object at 0x7ff2fa1efd60>
fixture_logging_setup = None, fixture_dtest_cluster_name = 'test'
fixture_dtest_create_cluster_func = <function DTestSetup.create_ccm_cluster
at 0x7ff2fa4e7af0>

@pytest.fixture(scope='function', autouse=False)
def fixture_dtest_setup(request,
dtest_config,
fixture_dtest_setup_overrides,
fixture_logging_setup,
fixture_dtest_cluster_name,
fixture_dtest_create_cluster_func):
if running_in_docker():
cleanup_docker_environment_before_test_execution()

# do all of our setup operations to get the enviornment ready for the actual
test
# to run (e.g. bring up a cluster with the necessary config, populate
variables, etc)
initial_environment = copy.deepcopy(os.environ)
dtest_setup = DTestSetup(dtest_config=dtest_config,
setup_overrides=fixture_dtest_setup_overrides,
cluster_name=fixture_dtest_cluster_name)
dtest_setup.initialize_cluster(fixture_dtest_create_cluster_func)

if not dtest_config.disable_active_log_watching:
dtest_setup.begin_active_log_watch()

# at this point we're done with our setup operations in this fixture
# yield to allow the actual test to run
yield dtest_setup

# phew! we're back after executing the test, now we need to do
# all of our teardown and cleanup operations

reset_environment_vars(initial_environment)
dtest_setup.jvm_args = []

for con in dtest_setup.connections:
con.cluster.shutdown()
dtest_setup.connections = []

failed = False
try:
if not dtest_setup.allow_log_errors:
errors = check_logs_for_errors(dtest_setup)
if len(errors) > 0:
failed = True
pytest.fail(msg='Unexpected error found in node logs (see stdout for full
details). Errors: [{errors}]'
.format(errors=str.join(", ", errors)), pytrace=False)
finally:
try:
# save the logs for inspection
if failed or not dtest_config.delete_logs:
copy_logs(request, dtest_setup.cluster)
except Exception as e:
logger.error("Error saving log:", str(e))
finally:
> dtest_setup.cleanup_cluster(request)

conftest.py:352:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
_ _

self = <dtest_setup.DTestSetup object at 0x7ff2f823ff10>
request = <SubRequest 'fixture_dtest_setup' for <Function
'test_non_replicated_ks_repair'>>

def cleanup_cluster(self, request=None):
with log_filter('cassandra'): # quiet noise from driver when nodes start
going down
> if self.dtest_config.keep_test_dir or
(self.dtest_config.keep_failed_test_dir and request and
request.node.rep_call.failed):
E AttributeError: 'Function' object has no attribute 'rep_call'

dtest_setup.py:351: AttributeError
----------------------------------------------------------------------------
Cassandra dtests // test_large_collection_errors // Error
test teardown failure

request = <SubRequest 'fixture_dtest_setup' for <Function
'test_large_collection_errors'>>
dtest_config = <dtest_config.DTestConfig object at 0x7f61692496a0>
fixture_dtest_setup_overrides = <dtest_setup_overrides.DTestSetupOverrides
object at 0x7f616958daf0>
fixture_logging_setup = None, fixture_dtest_cluster_name = 'test'
fixture_dtest_create_cluster_func = <function DTestSetup.create_ccm_cluster
at 0x7f616979fc10>

@pytest.fixture(scope='function', autouse=False)
def fixture_dtest_setup(request,
dtest_config,
fixture_dtest_setup_overrides,
fixture_logging_setup,
fixture_dtest_cluster_name,
fixture_dtest_create_cluster_func):
if running_in_docker():
cleanup_docker_environment_before_test_execution()

# do all of our setup operations to get the enviornment ready for the actual
test
# to run (e.g. bring up a cluster with the necessary config, populate
variables, etc)
initial_environment = copy.deepcopy(os.environ)
dtest_setup = DTestSetup(dtest_config=dtest_config,
setup_overrides=fixture_dtest_setup_overrides,
cluster_name=fixture_dtest_cluster_name)
dtest_setup.initialize_cluster(fixture_dtest_create_cluster_func)

if not dtest_config.disable_active_log_watching:
dtest_setup.begin_active_log_watch()

# at this point we're done with our setup operations in this fixture
# yield to allow the actual test to run
yield dtest_setup

# phew! we're back after executing the test, now we need to do
# all of our teardown and cleanup operations

reset_environment_vars(initial_environment)
dtest_setup.jvm_args = []

for con in dtest_setup.connections:
con.cluster.shutdown()
dtest_setup.connections = []

failed = False
try:
if not dtest_setup.allow_log_errors:
errors = check_logs_for_errors(dtest_setup)
if len(errors) > 0:
failed = True
pytest.fail(msg='Unexpected error found in node logs (see stdout for full
details). Errors: [{errors}]'
.format(errors=str.join(", ", errors)), pytrace=False)
finally:
try:
# save the logs for inspection
if failed or not dtest_config.delete_logs:
copy_logs(request, dtest_setup.cluster)
except Exception as e:
logger.error("Error saving log:", str(e))
finally:
> dtest_setup.cleanup_cluster(request)

conftest.py:352:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
_ _

self = <dtest_setup.DTestSetup object at 0x7f616958df70>
request = <SubRequest 'fixture_dtest_setup' for <Function
'test_large_collection_errors'>>

def cleanup_cluster(self, request=None):
with log_filter('cassandra'): # quiet noise from driver when nodes start
going down
> if self.dtest_config.keep_test_dir or
(self.dtest_config.keep_failed_test_dir and request and
request.node.rep_call.failed):
E AttributeError: 'Function' object has no attribute 'rep_call'

dtest_setup.py:351: AttributeError
----------------------------------------------------------------------------
Cassandra dtests // test_only_superuser_can_create_users // Error
test teardown failure

request = <SubRequest 'fixture_dtest_setup' for <Function
'test_only_superuser_can_create_users'>>
dtest_config = <dtest_config.DTestConfig object at 0x7f04bb847460>
fixture_dtest_setup_overrides = <dtest_setup_overrides.DTestSetupOverrides
object at 0x7f04bb847940>
fixture_logging_setup = None, fixture_dtest_cluster_name = 'test'
fixture_dtest_create_cluster_func = <function DTestSetup.create_ccm_cluster
at 0x7f04bbdb6af0>

@pytest.fixture(scope='function', autouse=False)
def fixture_dtest_setup(request,
dtest_config,
fixture_dtest_setup_overrides,
fixture_logging_setup,
fixture_dtest_cluster_name,
fixture_dtest_create_cluster_func):
if running_in_docker():
cleanup_docker_environment_before_test_execution()

# do all of our setup operations to get the enviornment ready for the actual
test
# to run (e.g. bring up a cluster with the necessary config, populate
variables, etc)
initial_environment = copy.deepcopy(os.environ)
dtest_setup = DTestSetup(dtest_config=dtest_config,
setup_overrides=fixture_dtest_setup_overrides,
cluster_name=fixture_dtest_cluster_name)
dtest_setup.initialize_cluster(fixture_dtest_create_cluster_func)

if not dtest_config.disable_active_log_watching:
dtest_setup.begin_active_log_watch()

# at this point we're done with our setup operations in this fixture
# yield to allow the actual test to run
yield dtest_setup

# phew! we're back after executing the test, now we need to do
# all of our teardown and cleanup operations

reset_environment_vars(initial_environment)
dtest_setup.jvm_args = []

for con in dtest_setup.connections:
con.cluster.shutdown()
dtest_setup.connections = []

failed = False
try:
if not dtest_setup.allow_log_errors:
errors = check_logs_for_errors(dtest_setup)
if len(errors) > 0:
failed = True
pytest.fail(msg='Unexpected error found in node logs (see stdout for full
details). Errors: [{errors}]'
.format(errors=str.join(", ", errors)), pytrace=False)
finally:
try:
# save the logs for inspection
if failed or not dtest_config.delete_logs:
copy_logs(request, dtest_setup.cluster)
except Exception as e:
logger.error("Error saving log:", str(e))
finally:
> dtest_setup.cleanup_cluster(request)

conftest.py:352:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
_ _

self = <dtest_setup.DTestSetup object at 0x7f04bb844130>
request = <SubRequest 'fixture_dtest_setup' for <Function
'test_only_superuser_can_create_users'>>

def cleanup_cluster(self, request=None):
with log_filter('cassandra'): # quiet noise from driver when nodes start
going down
> if self.dtest_config.keep_test_dir or
(self.dtest_config.keep_failed_test_dir and request and
request.node.rep_call.failed):
E AttributeError: 'Function' object has no attribute 'rep_call'

dtest_setup.py:351: AttributeError
----------------------------------------------------------------------------
Cassandra dtests /
/ test_password_authenticator_create_user_requires_password // Error
test teardown failure

request = <SubRequest 'fixture_dtest_setup' for <Function
'test_password_authenticator_create_user_requires_password'>>
dtest_config = <dtest_config.DTestConfig object at 0x7f9bcab59610>
fixture_dtest_setup_overrides = <dtest_setup_overrides.DTestSetupOverrides
object at 0x7f9bcab4b430>
fixture_logging_setup = None, fixture_dtest_cluster_name = 'test'
fixture_dtest_create_cluster_func = <function DTestSetup.create_ccm_cluster
at 0x7f9bcb3e5c10>

@pytest.fixture(scope='function', autouse=False)
def fixture_dtest_setup(request,
dtest_config,
fixture_dtest_setup_overrides,
fixture_logging_setup,
fixture_dtest_cluster_name,
fixture_dtest_create_cluster_func):
if running_in_docker():
cleanup_docker_environment_before_test_execution()

# do all of our setup operations to get the enviornment ready for the actual
test
# to run (e.g. bring up a cluster with the necessary config, populate
variables, etc)
initial_environment = copy.deepcopy(os.environ)
dtest_setup = DTestSetup(dtest_config=dtest_config,
setup_overrides=fixture_dtest_setup_overrides,
cluster_name=fixture_dtest_cluster_name)
dtest_setup.initialize_cluster(fixture_dtest_create_cluster_func)

if not dtest_config.disable_active_log_watching:
dtest_setup.begin_active_log_watch()

# at this point we're done with our setup operations in this fixture
# yield to allow the actual test to run
yield dtest_setup

# phew! we're back after executing the test, now we need to do
# all of our teardown and cleanup operations

reset_environment_vars(initial_environment)
dtest_setup.jvm_args = []

for con in dtest_setup.connections:
con.cluster.shutdown()
dtest_setup.connections = []

failed = False
try:
if not dtest_setup.allow_log_errors:
errors = check_logs_for_errors(dtest_setup)
if len(errors) > 0:
failed = True
pytest.fail(msg='Unexpected error found in node logs (see stdout for full
details). Errors: [{errors}]'
.format(errors=str.join(", ", errors)), pytrace=False)
finally:
try:
# save the logs for inspection
if failed or not dtest_config.delete_logs:
copy_logs(request, dtest_setup.cluster)
except Exception as e:
logger.error("Error saving log:", str(e))
finally:
> dtest_setup.cleanup_cluster(request)

conftest.py:352:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
_ _

self = <dtest_setup.DTestSetup object at 0x7f9bcab4b5b0>
request = <SubRequest 'fixture_dtest_setup' for <Function
'test_password_authenticator_create_user_requires_password'>>

def cleanup_cluster(self, request=None):
with log_filter('cassandra'): # quiet noise from driver when nodes start
going down
> if self.dtest_config.keep_test_dir or
(self.dtest_config.keep_failed_test_dir and request and
request.node.rep_call.failed):
E AttributeError: 'Function' object has no attribute 'rep_call'

dtest_setup.py:351: AttributeError
----------------------------------------------------------------------------
Cassandra dtests // test_update_missed_by_transient_replica // Error
test teardown failure

request = <SubRequest 'fixture_dtest_setup' for <Function
'test_update_missed_by_transient_replica'>>
dtest_config = <dtest_config.DTestConfig object at 0x7fd003266970>
fixture_dtest_setup_overrides = <dtest_setup_overrides.DTestSetupOverrides
object at 0x7fd002fd5190>
fixture_logging_setup = None, fixture_dtest_cluster_name = 'test'
fixture_dtest_create_cluster_func = <function DTestSetup.create_ccm_cluster
at 0x7fd0037aa9d0>

@pytest.fixture(scope='function', autouse=False)
def fixture_dtest_setup(request,
dtest_config,
fixture_dtest_setup_overrides,
fixture_logging_setup,
fixture_dtest_cluster_name,
fixture_dtest_create_cluster_func):
if running_in_docker():
cleanup_docker_environment_before_test_execution()

# do all of our setup operations to get the enviornment ready for the actual
test
# to run (e.g. bring up a cluster with the necessary config, populate
variables, etc)
initial_environment = copy.deepcopy(os.environ)
dtest_setup = DTestSetup(dtest_config=dtest_config,
setup_overrides=fixture_dtest_setup_overrides,
cluster_name=fixture_dtest_cluster_name)
dtest_setup.initialize_cluster(fixture_dtest_create_cluster_func)

if not dtest_config.disable_active_log_watching:
dtest_setup.begin_active_log_watch()

# at this point we're done with our setup operations in this fixture
# yield to allow the actual test to run
yield dtest_setup

# phew! we're back after executing the test, now we need to do
# all of our teardown and cleanup operations

reset_environment_vars(initial_environment)
dtest_setup.jvm_args = []

for con in dtest_setup.connections:
con.cluster.shutdown()
dtest_setup.connections = []

failed = False
try:
if not dtest_setup.allow_log_errors:
errors = check_logs_for_errors(dtest_setup)
if len(errors) > 0:
failed = True
pytest.fail(msg='Unexpected error found in node logs (see stdout for full
details). Errors: [{errors}]'
.format(errors=str.join(", ", errors)), pytrace=False)
finally:
try:
# save the logs for inspection
if failed or not dtest_config.delete_logs:
copy_logs(request, dtest_setup.cluster)
except Exception as e:
logger.error("Error saving log:", str(e))
finally:
> dtest_setup.cleanup_cluster(request)

conftest.py:352:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
_ _

self = <dtest_setup.DTestSetup object at 0x7fd0030cb1f0>
request = <SubRequest 'fixture_dtest_setup' for <Function
'test_update_missed_by_transient_replica'>>

def cleanup_cluster(self, request=None):
with log_filter('cassandra'): # quiet noise from driver when nodes start
going down
> if self.dtest_config.keep_test_dir or
(self.dtest_config.keep_failed_test_dir and request and
request.node.rep_call.failed):
E AttributeError: 'Function' object has no attribute 'rep_call'

dtest_setup.py:351: AttributeError
----------------------------------------------------------------------------
Cassandra dtests // test_read_old_sstables_after_upgrade // Error
test teardown failure

request = <SubRequest 'fixture_dtest_setup' for <Function
'test_read_old_sstables_after_upgrade'>>
dtest_config = <dtest_config.DTestConfig object at 0x7fd003266970>
fixture_dtest_setup_overrides = <dtest_setup_overrides.DTestSetupOverrides
object at 0x7fd002596100>
fixture_logging_setup = None, fixture_dtest_cluster_name = 'test'
fixture_dtest_create_cluster_func = <function DTestSetup.create_ccm_cluster
at 0x7fd0037aa9d0>

@pytest.fixture(scope='function', autouse=False)
def fixture_dtest_setup(request,
dtest_config,
fixture_dtest_setup_overrides,
fixture_logging_setup,
fixture_dtest_cluster_name,
fixture_dtest_create_cluster_func):
if running_in_docker():
cleanup_docker_environment_before_test_execution()

# do all of our setup operations to get the enviornment ready for the actual
test
# to run (e.g. bring up a cluster with the necessary config, populate
variables, etc)
initial_environment = copy.deepcopy(os.environ)
dtest_setup = DTestSetup(dtest_config=dtest_config,
setup_overrides=fixture_dtest_setup_overrides,
cluster_name=fixture_dtest_cluster_name)
dtest_setup.initialize_cluster(fixture_dtest_create_cluster_func)

if not dtest_config.disable_active_log_watching:
dtest_setup.begin_active_log_watch()

# at this point we're done with our setup operations in this fixture
# yield to allow the actual test to run
yield dtest_setup

# phew! we're back after executing the test, now we need to do
# all of our teardown and cleanup operations

reset_environment_vars(initial_environment)
dtest_setup.jvm_args = []

for con in dtest_setup.connections:
con.cluster.shutdown()
dtest_setup.connections = []

failed = False
try:
if not dtest_setup.allow_log_errors:
errors = check_logs_for_errors(dtest_setup)
if len(errors) > 0:
failed = True
pytest.fail(msg='Unexpected error found in node logs (see stdout for full
details). Errors: [{errors}]'
.format(errors=str.join(", ", errors)), pytrace=False)
finally:
try:
# save the logs for inspection
if failed or not dtest_config.delete_logs:
copy_logs(request, dtest_setup.cluster)
except Exception as e:
logger.error("Error saving log:", str(e))
finally:
> dtest_setup.cleanup_cluster(request)

conftest.py:352:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
_ _

self = <dtest_setup.DTestSetup object at 0x7fd0030c8af0>
request = <SubRequest 'fixture_dtest_setup' for <Function
'test_read_old_sstables_after_upgrade'>>

def cleanup_cluster(self, request=None):
with log_filter('cassandra'): # quiet noise from driver when nodes start
going down
> if self.dtest_config.keep_test_dir or
(self.dtest_config.keep_failed_test_dir and request and
request.node.rep_call.failed):
E AttributeError: 'Function' object has no attribute 'rep_call'

dtest_setup.py:351: AttributeError
----------------------------------------------------------------------------
Cassandra dtests // test_json_tools // Error
test teardown failure

request = <SubRequest 'fixture_dtest_setup' for <Function
'test_json_tools'>>
dtest_config = <dtest_config.DTestConfig object at 0x7f62984fadf0>
fixture_dtest_setup_overrides = <dtest_setup_overrides.DTestSetupOverrides
object at 0x7f6295af07c0>
fixture_logging_setup = None, fixture_dtest_cluster_name = 'test'
fixture_dtest_create_cluster_func = <function DTestSetup.create_ccm_cluster
at 0x7f6298cbbaf0>

@pytest.fixture(scope='function', autouse=False)
def fixture_dtest_setup(request,
dtest_config,
fixture_dtest_setup_overrides,
fixture_logging_setup,
fixture_dtest_cluster_name,
fixture_dtest_create_cluster_func):
if running_in_docker():
cleanup_docker_environment_before_test_execution()

# do all of our setup operations to get the enviornment ready for the actual
test
# to run (e.g. bring up a cluster with the necessary config, populate
variables, etc)
initial_environment = copy.deepcopy(os.environ)
dtest_setup = DTestSetup(dtest_config=dtest_config,
setup_overrides=fixture_dtest_setup_overrides,
cluster_name=fixture_dtest_cluster_name)
dtest_setup.initialize_cluster(fixture_dtest_create_cluster_func)

if not dtest_config.disable_active_log_watching:
dtest_setup.begin_active_log_watch()

# at this point we're done with our setup operations in this fixture
# yield to allow the actual test to run
yield dtest_setup

# phew! we're back after executing the test, now we need to do
# all of our teardown and cleanup operations

reset_environment_vars(initial_environment)
dtest_setup.jvm_args = []

for con in dtest_setup.connections:
con.cluster.shutdown()
dtest_setup.connections = []

failed = False
try:
if not dtest_setup.allow_log_errors:
errors = check_logs_for_errors(dtest_setup)
if len(errors) > 0:
failed = True
pytest.fail(msg='Unexpected error found in node logs (see stdout for full
details). Errors: [{errors}]'
.format(errors=str.join(", ", errors)), pytrace=False)
finally:
try:
# save the logs for inspection
if failed or not dtest_config.delete_logs:
copy_logs(request, dtest_setup.cluster)
except Exception as e:
logger.error("Error saving log:", str(e))
finally:
> dtest_setup.cleanup_cluster(request)

conftest.py:352:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
_ _

self = <dtest_setup.DTestSetup object at 0x7f6297c69dc0>
request = <SubRequest 'fixture_dtest_setup' for <Function
'test_json_tools'>>

def cleanup_cluster(self, request=None):
with log_filter('cassandra'): # quiet noise from driver when nodes start
going down
> if self.dtest_config.keep_test_dir or
(self.dtest_config.keep_failed_test_dir and request and
request.node.rep_call.failed):
E AttributeError: 'Function' object has no attribute 'rep_call'

dtest_setup.py:351: AttributeError
----------------------------------------------------------------------------
Cassandra dtests // test_update_only_on_transient_replica // Error
test teardown failure

request = <SubRequest 'fixture_dtest_setup' for <Function
'test_update_only_on_transient_replica'>>
dtest_config = <dtest_config.DTestConfig object at 0x7f62984fadf0>
fixture_dtest_setup_overrides = <dtest_setup_overrides.DTestSetupOverrides
object at 0x7f6297bb8580>
fixture_logging_setup = None, fixture_dtest_cluster_name = 'test'
fixture_dtest_create_cluster_func = <function DTestSetup.create_ccm_cluster
at 0x7f6298cbbaf0>

@pytest.fixture(scope='function', autouse=False)
def fixture_dtest_setup(request,
dtest_config,
fixture_dtest_setup_overrides,
fixture_logging_setup,
fixture_dtest_cluster_name,
fixture_dtest_create_cluster_func):
if running_in_docker():
cleanup_docker_environment_before_test_execution()

# do all of our setup operations to get the enviornment ready for the actual
test
# to run (e.g. bring up a cluster with the necessary config, populate
variables, etc)
initial_environment = copy.deepcopy(os.environ)
dtest_setup = DTestSetup(dtest_config=dtest_config,
setup_overrides=fixture_dtest_setup_overrides,
cluster_name=fixture_dtest_cluster_name)
dtest_setup.initialize_cluster(fixture_dtest_create_cluster_func)

if not dtest_config.disable_active_log_watching:
dtest_setup.begin_active_log_watch()

# at this point we're done with our setup operations in this fixture
# yield to allow the actual test to run
yield dtest_setup

# phew! we're back after executing the test, now we need to do
# all of our teardown and cleanup operations

reset_environment_vars(initial_environment)
dtest_setup.jvm_args = []

for con in dtest_setup.connections:
con.cluster.shutdown()
dtest_setup.connections = []

failed = False
try:
if not dtest_setup.allow_log_errors:
errors = check_logs_for_errors(dtest_setup)
if len(errors) > 0:
failed = True
pytest.fail(msg='Unexpected error found in node logs (see stdout for full
details). Errors: [{errors}]'
.format(errors=str.join(", ", errors)), pytrace=False)
finally:
try:
# save the logs for inspection
if failed or not dtest_config.delete_logs:
copy_logs(request, dtest_setup.cluster)
except Exception as e:
logger.error("Error saving log:", str(e))
finally:
> dtest_setup.cleanup_cluster(request)

conftest.py:352:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
_ _

self = <dtest_setup.DTestSetup object at 0x7f6297a5d700>
request = <SubRequest 'fixture_dtest_setup' for <Function
'test_update_only_on_transient_replica'>>

def cleanup_cluster(self, request=None):
with log_filter('cassandra'): # quiet noise from driver when nodes start
going down
> if self.dtest_config.keep_test_dir or
(self.dtest_config.keep_failed_test_dir and request and
request.node.rep_call.failed):
E AttributeError: 'Function' object has no attribute 'rep_call'

dtest_setup.py:351: AttributeError
----------------------------------------------------------------------------
Cassandra dtests // test_only_superusers_can_drop_users // Error
test teardown failure

request = <SubRequest 'fixture_dtest_setup' for <Function
'test_only_superusers_can_drop_users'>>
dtest_config = <dtest_config.DTestConfig object at 0x7fe73b7ca430>
fixture_dtest_setup_overrides = <dtest_setup_overrides.DTestSetupOverrides
object at 0x7fe73b7c6850>
fixture_logging_setup = None, fixture_dtest_cluster_name = 'test'
fixture_dtest_create_cluster_func = <function DTestSetup.create_ccm_cluster
at 0x7fe73bd64a60>

@pytest.fixture(scope='function', autouse=False)
def fixture_dtest_setup(request,
dtest_config,
fixture_dtest_setup_overrides,
fixture_logging_setup,
fixture_dtest_cluster_name,
fixture_dtest_create_cluster_func):
if running_in_docker():
cleanup_docker_environment_before_test_execution()

# do all of our setup operations to get the enviornment ready for the actual
test
# to run (e.g. bring up a cluster with the necessary config, populate
variables, etc)
initial_environment = copy.deepcopy(os.environ)
dtest_setup = DTestSetup(dtest_config=dtest_config,
setup_overrides=fixture_dtest_setup_overrides,
cluster_name=fixture_dtest_cluster_name)
dtest_setup.initialize_cluster(fixture_dtest_create_cluster_func)

if not dtest_config.disable_active_log_watching:
dtest_setup.begin_active_log_watch()

# at this point we're done with our setup operations in this fixture
# yield to allow the actual test to run
yield dtest_setup

# phew! we're back after executing the test, now we need to do
# all of our teardown and cleanup operations

reset_environment_vars(initial_environment)
dtest_setup.jvm_args = []

for con in dtest_setup.connections:
con.cluster.shutdown()
dtest_setup.connections = []

failed = False
try:
if not dtest_setup.allow_log_errors:
errors = check_logs_for_errors(dtest_setup)
if len(errors) > 0:
failed = True
pytest.fail(msg='Unexpected error found in node logs (see stdout for full
details). Errors: [{errors}]'
.format(errors=str.join(", ", errors)), pytrace=False)
finally:
try:
# save the logs for inspection
if failed or not dtest_config.delete_logs:
copy_logs(request, dtest_setup.cluster)
except Exception as e:
logger.error("Error saving log:", str(e))
finally:
> dtest_setup.cleanup_cluster(request)

conftest.py:352:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
_ _

self = <dtest_setup.DTestSetup object at 0x7fe73b7ef340>
request = <SubRequest 'fixture_dtest_setup' for <Function
'test_only_superusers_can_drop_users'>>

def cleanup_cluster(self, request=None):
with log_filter('cassandra'): # quiet noise from driver when nodes start
going down
> if self.dtest_config.keep_test_dir or
(self.dtest_config.keep_failed_test_dir and request and
request.node.rep_call.failed):
E AttributeError: 'Function' object has no attribute 'rep_call'

dtest_setup.py:351: AttributeError
----------------------------------------------------------------------------
Cassandra dtests // test_truncate_failure // Error
test teardown failure

request = <SubRequest 'fixture_dtest_setup' for <Function
'test_truncate_failure'>>
dtest_config = <dtest_config.DTestConfig object at 0x7fe73b7ca430>
fixture_dtest_setup_overrides = <dtest_setup_overrides.DTestSetupOverrides
object at 0x7fe73935fb50>
fixture_logging_setup = None, fixture_dtest_cluster_name = 'test'
fixture_dtest_create_cluster_func = <function DTestSetup.create_ccm_cluster
at 0x7fe73bd64a60>

@pytest.fixture(scope='function', autouse=False)
def fixture_dtest_setup(request,
dtest_config,
fixture_dtest_setup_overrides,
fixture_logging_setup,
fixture_dtest_cluster_name,
fixture_dtest_create_cluster_func):
if running_in_docker():
cleanup_docker_environment_before_test_execution()

# do all of our setup operations to get the enviornment ready for the actual
test
# to run (e.g. bring up a cluster with the necessary config, populate
variables, etc)
initial_environment = copy.deepcopy(os.environ)
dtest_setup = DTestSetup(dtest_config=dtest_config,
setup_overrides=fixture_dtest_setup_overrides,
cluster_name=fixture_dtest_cluster_name)
dtest_setup.initialize_cluster(fixture_dtest_create_cluster_func)

if not dtest_config.disable_active_log_watching:
dtest_setup.begin_active_log_watch()

# at this point we're done with our setup operations in this fixture
# yield to allow the actual test to run
yield dtest_setup

# phew! we're back after executing the test, now we need to do
# all of our teardown and cleanup operations

reset_environment_vars(initial_environment)
dtest_setup.jvm_args = []

for con in dtest_setup.connections:
con.cluster.shutdown()
dtest_setup.connections = []

failed = False
try:
if not dtest_setup.allow_log_errors:
errors = check_logs_for_errors(dtest_setup)
if len(errors) > 0:
failed = True
pytest.fail(msg='Unexpected error found in node logs (see stdout for full
details). Errors: [{errors}]'
.format(errors=str.join(", ", errors)), pytrace=False)
finally:
try:
# save the logs for inspection
if failed or not dtest_config.delete_logs:
copy_logs(request, dtest_setup.cluster)
except Exception as e:
logger.error("Error saving log:", str(e))
finally:
> dtest_setup.cleanup_cluster(request)

conftest.py:352:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
_ _

self = <dtest_setup.DTestSetup object at 0x7fe73935f7f0>
request = <SubRequest 'fixture_dtest_setup' for <Function
'test_truncate_failure'>>

def cleanup_cluster(self, request=None):
with log_filter('cassandra'): # quiet noise from driver when nodes start
going down
> if self.dtest_config.keep_test_dir or
(self.dtest_config.keep_failed_test_dir and request and
request.node.rep_call.failed):
E AttributeError: 'Function' object has no attribute 'rep_call'

dtest_setup.py:351: AttributeError
----------------------------------------------------------------------------
Cassandra dtests // test_fql_nodetool_options // Error
test teardown failure

request = <SubRequest 'fixture_dtest_setup' for <Function
'test_fql_nodetool_options'>>
dtest_config = <dtest_config.DTestConfig object at 0x7f2e1eb76b80>
fixture_dtest_setup_overrides = <dtest_setup_overrides.DTestSetupOverrides
object at 0x7f2e1eb76b20>
fixture_logging_setup = None, fixture_dtest_cluster_name = 'test'
fixture_dtest_create_cluster_func = <function DTestSetup.create_ccm_cluster
at 0x7f2e1f438c10>

@pytest.fixture(scope='function', autouse=False)
def fixture_dtest_setup(request,
dtest_config,
fixture_dtest_setup_overrides,
fixture_logging_setup,
fixture_dtest_cluster_name,
fixture_dtest_create_cluster_func):
if running_in_docker():
cleanup_docker_environment_before_test_execution()

# do all of our setup operations to get the enviornment ready for the actual
test
# to run (e.g. bring up a cluster with the necessary config, populate
variables, etc)
initial_environment = copy.deepcopy(os.environ)
dtest_setup = DTestSetup(dtest_config=dtest_config,
setup_overrides=fixture_dtest_setup_overrides,
cluster_name=fixture_dtest_cluster_name)
dtest_setup.initialize_cluster(fixture_dtest_create_cluster_func)

if not dtest_config.disable_active_log_watching:
dtest_setup.begin_active_log_watch()

# at this point we're done with our setup operations in this fixture
# yield to allow the actual test to run
yield dtest_setup

# phew! we're back after executing the test, now we need to do
# all of our teardown and cleanup operations

reset_environment_vars(initial_environment)
dtest_setup.jvm_args = []

for con in dtest_setup.connections:
con.cluster.shutdown()
dtest_setup.connections = []

failed = False
try:
if not dtest_setup.allow_log_errors:
errors = check_logs_for_errors(dtest_setup)
if len(errors) > 0:
failed = True
pytest.fail(msg='Unexpected error found in node logs (see stdout for full
details). Errors: [{errors}]'
.format(errors=str.join(", ", errors)), pytrace=False)
finally:
try:
# save the logs for inspection
if failed or not dtest_config.delete_logs:
copy_logs(request, dtest_setup.cluster)
except Exception as e:
logger.error("Error saving log:", str(e))
finally:
> dtest_setup.cleanup_cluster(request)

conftest.py:352:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
_ _

self = <dtest_setup.DTestSetup object at 0x7f2e1eb767c0>
request = <SubRequest 'fixture_dtest_setup' for <Function
'test_fql_nodetool_options'>>

def cleanup_cluster(self, request=None):
with log_filter('cassandra'): # quiet noise from driver when nodes start
going down
> if self.dtest_config.keep_test_dir or
(self.dtest_config.keep_failed_test_dir and request and
request.node.rep_call.failed):
E AttributeError: 'Function' object has no attribute 'rep_call'

dtest_setup.py:351: AttributeError
----------------------------------------------------------------------------
Cassandra dtests // test_monotonic_reads[none] // Error
test teardown failure

request = <SubRequest 'fixture_dtest_setup' for <Function
'test_monotonic_reads[none]'>>
dtest_config = <dtest_config.DTestConfig object at 0x7f2e1eb76b80>
fixture_dtest_setup_overrides = <dtest_setup_overrides.DTestSetupOverrides
object at 0x7f2e1eb89490>
fixture_logging_setup = None, fixture_dtest_cluster_name = 'test'
fixture_dtest_create_cluster_func = <function DTestSetup.create_ccm_cluster
at 0x7f2e1f438c10>

@pytest.fixture(scope='function', autouse=False)
def fixture_dtest_setup(request,
dtest_config,
fixture_dtest_setup_overrides,
fixture_logging_setup,
fixture_dtest_cluster_name,
fixture_dtest_create_cluster_func):
if running_in_docker():
cleanup_docker_environment_before_test_execution()

# do all of our setup operations to get the enviornment ready for the actual
test
# to run (e.g. bring up a cluster with the necessary config, populate
variables, etc)
initial_environment = copy.deepcopy(os.environ)
dtest_setup = DTestSetup(dtest_config=dtest_config,
setup_overrides=fixture_dtest_setup_overrides,
cluster_name=fixture_dtest_cluster_name)
dtest_setup.initialize_cluster(fixture_dtest_create_cluster_func)

if not dtest_config.disable_active_log_watching:
dtest_setup.begin_active_log_watch()

# at this point we're done with our setup operations in this fixture
# yield to allow the actual test to run
yield dtest_setup

# phew! we're back after executing the test, now we need to do
# all of our teardown and cleanup operations

reset_environment_vars(initial_environment)
dtest_setup.jvm_args = []

for con in dtest_setup.connections:
con.cluster.shutdown()
dtest_setup.connections = []

failed = False
try:
if not dtest_setup.allow_log_errors:
errors = check_logs_for_errors(dtest_setup)
if len(errors) > 0:
failed = True
pytest.fail(msg='Unexpected error found in node logs (see stdout for full
details). Errors: [{errors}]'
.format(errors=str.join(", ", errors)), pytrace=False)
finally:
try:
# save the logs for inspection
if failed or not dtest_config.delete_logs:
copy_logs(request, dtest_setup.cluster)
except Exception as e:
logger.error("Error saving log:", str(e))
finally:
> dtest_setup.cleanup_cluster(request)

conftest.py:352:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
_ _

self = <dtest_setup.DTestSetup object at 0x7f2e0445cac0>
request = <SubRequest 'fixture_dtest_setup' for <Function
'test_monotonic_reads[none]'>>

def cleanup_cluster(self, request=None):
with log_filter('cassandra'): # quiet noise from driver when nodes start
going down
> if self.dtest_config.keep_test_dir or
(self.dtest_config.keep_failed_test_dir and request and
request.node.rep_call.failed):
E AttributeError: 'Function' object has no attribute 'rep_call'

dtest_setup.py:351: AttributeError
----------------------------------------------------------------------------
Cassandra dtests // test_remove_column_ttl_with_default_ttl // Error
test teardown failure

request = <SubRequest 'fixture_dtest_setup' for <Function
'test_remove_column_ttl_with_default_ttl'>>
dtest_config = <dtest_config.DTestConfig object at 0x7f1347c1dc10>
fixture_dtest_setup_overrides = <dtest_setup_overrides.DTestSetupOverrides
object at 0x7f1347e5b640>
fixture_logging_setup = None, fixture_dtest_cluster_name = 'test'
fixture_dtest_create_cluster_func = <function DTestSetup.create_ccm_cluster
at 0x7f13482bbb80>

@pytest.fixture(scope='function', autouse=False)
def fixture_dtest_setup(request,
dtest_config,
fixture_dtest_setup_overrides,
fixture_logging_setup,
fixture_dtest_cluster_name,
fixture_dtest_create_cluster_func):
if running_in_docker():
cleanup_docker_environment_before_test_execution()

# do all of our setup operations to get the enviornment ready for the actual
test
# to run (e.g. bring up a cluster with the necessary config, populate
variables, etc)
initial_environment = copy.deepcopy(os.environ)
dtest_setup = DTestSetup(dtest_config=dtest_config,
setup_overrides=fixture_dtest_setup_overrides,
cluster_name=fixture_dtest_cluster_name)
dtest_setup.initialize_cluster(fixture_dtest_create_cluster_func)

if not dtest_config.disable_active_log_watching:
dtest_setup.begin_active_log_watch()

# at this point we're done with our setup operations in this fixture
# yield to allow the actual test to run
yield dtest_setup

# phew! we're back after executing the test, now we need to do
# all of our teardown and cleanup operations

reset_environment_vars(initial_environment)
dtest_setup.jvm_args = []

for con in dtest_setup.connections:
con.cluster.shutdown()
dtest_setup.connections = []

failed = False
try:
if not dtest_setup.allow_log_errors:
errors = check_logs_for_errors(dtest_setup)
if len(errors) > 0:
failed = True
pytest.fail(msg='Unexpected error found in node logs (see stdout for full
details). Errors: [{errors}]'
.format(errors=str.join(", ", errors)), pytrace=False)
finally:
try:
# save the logs for inspection
if failed or not dtest_config.delete_logs:
copy_logs(request, dtest_setup.cluster)
except Exception as e:
logger.error("Error saving log:", str(e))
finally:
> dtest_setup.cleanup_cluster(request)

conftest.py:352:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
_ _

self = <dtest_setup.DTestSetup object at 0x7f1347e5b9a0>
request = <SubRequest 'fixture_dtest_setup' for <Function
'test_remove_column_ttl_with_default_ttl'>>

def cleanup_cluster(self, request=None):
with log_filter('cassandra'): # quiet noise from driver when nodes start
going down
> if self.dtest_config.keep_test_dir or
(self.dtest_config.keep_failed_test_dir and request and
request.node.rep_call.failed):
E AttributeError: 'Function' object has no attribute 'rep_call'

dtest_setup.py:351: AttributeError
----------------------------------------------------------------------------
Cassandra dtests // test_default_keyspaces_exist // Error
test teardown failure

request = <SubRequest 'fixture_dtest_setup' for <Function
'test_default_keyspaces_exist'>>
dtest_config = <dtest_config.DTestConfig object at 0x7f3e698926a0>
fixture_dtest_setup_overrides = <dtest_setup_overrides.DTestSetupOverrides
object at 0x7f3e69903ee0>
fixture_logging_setup = None, fixture_dtest_cluster_name = 'test'
fixture_dtest_create_cluster_func = <function DTestSetup.create_ccm_cluster
at 0x7f3e6a09ec10>

@pytest.fixture(scope='function', autouse=False)
def fixture_dtest_setup(request,
dtest_config,
fixture_dtest_setup_overrides,
fixture_logging_setup,
fixture_dtest_cluster_name,
fixture_dtest_create_cluster_func):
if running_in_docker():
cleanup_docker_environment_before_test_execution()

# do all of our setup operations to get the enviornment ready for the actual
test
# to run (e.g. bring up a cluster with the necessary config, populate
variables, etc)
initial_environment = copy.deepcopy(os.environ)
dtest_setup = DTestSetup(dtest_config=dtest_config,
setup_overrides=fixture_dtest_setup_overrides,
cluster_name=fixture_dtest_cluster_name)
dtest_setup.initialize_cluster(fixture_dtest_create_cluster_func)

if not dtest_config.disable_active_log_watching:
dtest_setup.begin_active_log_watch()

# at this point we're done with our setup operations in this fixture
# yield to allow the actual test to run
yield dtest_setup

# phew! we're back after executing the test, now we need to do
# all of our teardown and cleanup operations

reset_environment_vars(initial_environment)
dtest_setup.jvm_args = []

for con in dtest_setup.connections:
con.cluster.shutdown()
dtest_setup.connections = []

failed = False
try:
if not dtest_setup.allow_log_errors:
errors = check_logs_for_errors(dtest_setup)
if len(errors) > 0:
failed = True
pytest.fail(msg='Unexpected error found in node logs (see stdout for full
details). Errors: [{errors}]'
.format(errors=str.join(", ", errors)), pytrace=False)
finally:
try:
# save the logs for inspection
if failed or not dtest_config.delete_logs:
copy_logs(request, dtest_setup.cluster)
except Exception as e:
logger.error("Error saving log:", str(e))
finally:
> dtest_setup.cleanup_cluster(request)

conftest.py:352:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
_ _

self = <dtest_setup.DTestSetup object at 0x7f3e69903d00>
request = <SubRequest 'fixture_dtest_setup' for <Function
'test_default_keyspaces_exist'>>

def cleanup_cluster(self, request=None):
with log_filter('cassandra'): # quiet noise from driver when nodes start
going down
> if self.dtest_config.keep_test_dir or
(self.dtest_config.keep_failed_test_dir and request and
request.node.rep_call.failed):
E AttributeError: 'Function' object has no attribute 'rep_call'

dtest_setup.py:351: AttributeError
----------------------------------------------------------------------------
Cassandra dtests // test_rf_collapse_yaml_file_snitch // Error
test teardown failure

request = <SubRequest 'fixture_dtest_setup' for <Function
'test_rf_collapse_yaml_file_snitch'>>
dtest_config = <dtest_config.DTestConfig object at 0x7f3b6c0e3310>
fixture_dtest_setup_overrides = <dtest_setup_overrides.DTestSetupOverrides
object at 0x7f3b6c440c10>
fixture_logging_setup = None, fixture_dtest_cluster_name = 'test'
fixture_dtest_create_cluster_func = <function DTestSetup.create_ccm_cluster
at 0x7f3b6c99aaf0>

@pytest.fixture(scope='function', autouse=False)
def fixture_dtest_setup(request,
dtest_config,
fixture_dtest_setup_overrides,
fixture_logging_setup,
fixture_dtest_cluster_name,
fixture_dtest_create_cluster_func):
if running_in_docker():
cleanup_docker_environment_before_test_execution()

# do all of our setup operations to get the enviornment ready for the actual
test
# to run (e.g. bring up a cluster with the necessary config, populate
variables, etc)
initial_environment = copy.deepcopy(os.environ)
dtest_setup = DTestSetup(dtest_config=dtest_config,
setup_overrides=fixture_dtest_setup_overrides,
cluster_name=fixture_dtest_cluster_name)
dtest_setup.initialize_cluster(fixture_dtest_create_cluster_func)

if not dtest_config.disable_active_log_watching:
dtest_setup.begin_active_log_watch()

# at this point we're done with our setup operations in this fixture
# yield to allow the actual test to run
yield dtest_setup

# phew! we're back after executing the test, now we need to do
# all of our teardown and cleanup operations

reset_environment_vars(initial_environment)
dtest_setup.jvm_args = []

for con in dtest_setup.connections:
con.cluster.shutdown()
dtest_setup.connections = []

failed = False
try:
if not dtest_setup.allow_log_errors:
errors = check_logs_for_errors(dtest_setup)
if len(errors) > 0:
failed = True
pytest.fail(msg='Unexpected error found in node logs (see stdout for full
details). Errors: [{errors}]'
.format(errors=str.join(", ", errors)), pytrace=False)
finally:
try:
# save the logs for inspection
if failed or not dtest_config.delete_logs:
copy_logs(request, dtest_setup.cluster)
except Exception as e:
logger.error("Error saving log:", str(e))
finally:
> dtest_setup.cleanup_cluster(request)

conftest.py:352:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
_ _

self = <dtest_setup.DTestSetup object at 0x7f3b6c727100>
request = <SubRequest 'fixture_dtest_setup' for <Function
'test_rf_collapse_yaml_file_snitch'>>

def cleanup_cluster(self, request=None):
with log_filter('cassandra'): # quiet noise from driver when nodes start
going down
> if self.dtest_config.keep_test_dir or
(self.dtest_config.keep_failed_test_dir and request and
request.node.rep_call.failed):
E AttributeError: 'Function' object has no attribute 'rep_call'

dtest_setup.py:351: AttributeError
----------------------------------------------------------------------------
Cassandra dtests // test_rf_expand_yaml_file_snitch // Error
test teardown failure

request = <SubRequest 'fixture_dtest_setup' for <Function
'test_rf_expand_yaml_file_snitch'>>
dtest_config = <dtest_config.DTestConfig object at 0x7f9826e4f220>
fixture_dtest_setup_overrides = <dtest_setup_overrides.DTestSetupOverrides
object at 0x7f98271d2460>
fixture_logging_setup = None, fixture_dtest_cluster_name = 'test'
fixture_dtest_create_cluster_func = <function DTestSetup.create_ccm_cluster
at 0x7f98273ceaf0>

@pytest.fixture(scope='function', autouse=False)
def fixture_dtest_setup(request,
dtest_config,
fixture_dtest_setup_overrides,
fixture_logging_setup,
fixture_dtest_cluster_name,
fixture_dtest_create_cluster_func):
if running_in_docker():
cleanup_docker_environment_before_test_execution()

# do all of our setup operations to get the enviornment ready for the actual
test
# to run (e.g. bring up a cluster with the necessary config, populate
variables, etc)
initial_environment = copy.deepcopy(os.environ)
dtest_setup = DTestSetup(dtest_config=dtest_config,
setup_overrides=fixture_dtest_setup_overrides,
cluster_name=fixture_dtest_cluster_name)
dtest_setup.initialize_cluster(fixture_dtest_create_cluster_func)

if not dtest_config.disable_active_log_watching:
dtest_setup.begin_active_log_watch()

# at this point we're done with our setup operations in this fixture
# yield to allow the actual test to run
yield dtest_setup

# phew! we're back after executing the test, now we need to do
# all of our teardown and cleanup operations

reset_environment_vars(initial_environment)
dtest_setup.jvm_args = []

for con in dtest_setup.connections:
con.cluster.shutdown()
dtest_setup.connections = []

failed = False
try:
if not dtest_setup.allow_log_errors:
errors = check_logs_for_errors(dtest_setup)
if len(errors) > 0:
failed = True
pytest.fail(msg='Unexpected error found in node logs (see stdout for full
details). Errors: [{errors}]'
.format(errors=str.join(", ", errors)), pytrace=False)
finally:
try:
# save the logs for inspection
if failed or not dtest_config.delete_logs:
copy_logs(request, dtest_setup.cluster)
except Exception as e:
logger.error("Error saving log:", str(e))
finally:
> dtest_setup.cleanup_cluster(request)

conftest.py:352:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
_ _

self = <dtest_setup.DTestSetup object at 0x7f98249e06a0>
request = <SubRequest 'fixture_dtest_setup' for <Function
'test_rf_expand_yaml_file_snitch'>>

def cleanup_cluster(self, request=None):
with log_filter('cassandra'): # quiet noise from driver when nodes start
going down
> if self.dtest_config.keep_test_dir or
(self.dtest_config.keep_failed_test_dir and request and
request.node.rep_call.failed):
E AttributeError: 'Function' object has no attribute 'rep_call'

dtest_setup.py:351: AttributeError
----------------------------------------------------------------------------
Cassandra dtests // test_datetimeformat_round_trip_40 // Error
test teardown failure

request = <SubRequest 'fixture_dtest_setup' for <Function
'test_datetimeformat_round_trip_40'>>
dtest_config = <dtest_config.DTestConfig object at 0x7f136e3616a0>
fixture_dtest_setup_overrides = <dtest_setup_overrides.DTestSetupOverrides
object at 0x7f133c1e2100>
fixture_logging_setup = None, fixture_dtest_cluster_name = 'test'
fixture_dtest_create_cluster_func = <function DTestSetup.create_ccm_cluster
at 0x7f136e7e4c10>

@pytest.fixture(scope='function', autouse=False)
def fixture_dtest_setup(request,
dtest_config,
fixture_dtest_setup_overrides,
fixture_logging_setup,
fixture_dtest_cluster_name,
fixture_dtest_create_cluster_func):
if running_in_docker():
cleanup_docker_environment_before_test_execution()

# do all of our setup operations to get the enviornment ready for the actual
test
# to run (e.g. bring up a cluster with the necessary config, populate
variables, etc)
initial_environment = copy.deepcopy(os.environ)
dtest_setup = DTestSetup(dtest_config=dtest_config,
setup_overrides=fixture_dtest_setup_overrides,
cluster_name=fixture_dtest_cluster_name)
dtest_setup.initialize_cluster(fixture_dtest_create_cluster_func)

if not dtest_config.disable_active_log_watching:
dtest_setup.begin_active_log_watch()

# at this point we're done with our setup operations in this fixture
# yield to allow the actual test to run
yield dtest_setup

# phew! we're back after executing the test, now we need to do
# all of our teardown and cleanup operations

reset_environment_vars(initial_environment)
dtest_setup.jvm_args = []

for con in dtest_setup.connections:
con.cluster.shutdown()
dtest_setup.connections = []

failed = False
try:
if not dtest_setup.allow_log_errors:
errors = check_logs_for_errors(dtest_setup)
if len(errors) > 0:
failed = True
pytest.fail(msg='Unexpected error found in node logs (see stdout for full
details). Errors: [{errors}]'
.format(errors=str.join(", ", errors)), pytrace=False)
finally:
try:
# save the logs for inspection
if failed or not dtest_config.delete_logs:
copy_logs(request, dtest_setup.cluster)
except Exception as e:
logger.error("Error saving log:", str(e))
finally:
> dtest_setup.cleanup_cluster(request)

conftest.py:352:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
_ _

self = <dtest_setup.DTestSetup object at 0x7f133bbc8ee0>
request = <SubRequest 'fixture_dtest_setup' for <Function
'test_datetimeformat_round_trip_40'>>

def cleanup_cluster(self, request=None):
with log_filter('cassandra'): # quiet noise from driver when nodes start
going down
> if self.dtest_config.keep_test_dir or
(self.dtest_config.keep_failed_test_dir and request and
request.node.rep_call.failed):
E AttributeError: 'Function' object has no attribute 'rep_call'

dtest_setup.py:351: AttributeError
----------------------------------------------------------------------------
Cassandra dtests // test_authentication_from_cache_while_unavailable /
/ Error
test teardown failure

request = <SubRequest 'fixture_dtest_setup' for <Function
'test_authentication_from_cache_while_unavailable'>>
dtest_config = <dtest_config.DTestConfig object at 0x7fb622f4dac0>
fixture_dtest_setup_overrides = <dtest_setup_overrides.DTestSetupOverrides
object at 0x7fb6231f31f0>
fixture_logging_setup = None, fixture_dtest_cluster_name = 'test'
fixture_dtest_create_cluster_func = <function DTestSetup.create_ccm_cluster
at 0x7fb62372aaf0>

@pytest.fixture(scope='function', autouse=False)
def fixture_dtest_setup(request,
dtest_config,
fixture_dtest_setup_overrides,
fixture_logging_setup,
fixture_dtest_cluster_name,
fixture_dtest_create_cluster_func):
if running_in_docker():
cleanup_docker_environment_before_test_execution()

# do all of our setup operations to get the enviornment ready for the actual
test
# to run (e.g. bring up a cluster with the necessary config, populate
variables, etc)
initial_environment = copy.deepcopy(os.environ)
dtest_setup = DTestSetup(dtest_config=dtest_config,
setup_overrides=fixture_dtest_setup_overrides,
cluster_name=fixture_dtest_cluster_name)
dtest_setup.initialize_cluster(fixture_dtest_create_cluster_func)

if not dtest_config.disable_active_log_watching:
dtest_setup.begin_active_log_watch()

# at this point we're done with our setup operations in this fixture
# yield to allow the actual test to run
yield dtest_setup

# phew! we're back after executing the test, now we need to do
# all of our teardown and cleanup operations

reset_environment_vars(initial_environment)
dtest_setup.jvm_args = []

for con in dtest_setup.connections:
con.cluster.shutdown()
dtest_setup.connections = []

failed = False
try:
if not dtest_setup.allow_log_errors:
errors = check_logs_for_errors(dtest_setup)
if len(errors) > 0:
failed = True
pytest.fail(msg='Unexpected error found in node logs (see stdout for full
details). Errors: [{errors}]'
.format(errors=str.join(", ", errors)), pytrace=False)
finally:
try:
# save the logs for inspection
if failed or not dtest_config.delete_logs:
copy_logs(request, dtest_setup.cluster)
except Exception as e:
logger.error("Error saving log:", str(e))
finally:
> dtest_setup.cleanup_cluster(request)

conftest.py:352:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
_ _

self = <dtest_setup.DTestSetup object at 0x7fb6232033a0>
request = <SubRequest 'fixture_dtest_setup' for <Function
'test_authentication_from_cache_while_unavailable'>>

def cleanup_cluster(self, request=None):
with log_filter('cassandra'): # quiet noise from driver when nodes start
going down
> if self.dtest_config.keep_test_dir or
(self.dtest_config.keep_failed_test_dir and request and
request.node.rep_call.failed):
E AttributeError: 'Function' object has no attribute 'rep_call'

dtest_setup.py:351: AttributeError
----------------------------------------------------------------------------
Cassandra dtests /
/ test_credentials_cache_background_reload_handle_unavailable // Error
test teardown failure

request = <SubRequest 'fixture_dtest_setup' for <Function
'test_credentials_cache_background_reload_handle_unavailable'>>
dtest_config = <dtest_config.DTestConfig object at 0x7fd67eb986d0>
fixture_dtest_setup_overrides = <dtest_setup_overrides.DTestSetupOverrides
object at 0x7fd67ed80cd0>
fixture_logging_setup = None, fixture_dtest_cluster_name = 'test'
fixture_dtest_create_cluster_func = <function DTestSetup.create_ccm_cluster
at 0x7fd67f406b80>

@pytest.fixture(scope='function', autouse=False)
def fixture_dtest_setup(request,
dtest_config,
fixture_dtest_setup_overrides,
fixture_logging_setup,
fixture_dtest_cluster_name,
fixture_dtest_create_cluster_func):
if running_in_docker():
cleanup_docker_environment_before_test_execution()

# do all of our setup operations to get the enviornment ready for the actual
test
# to run (e.g. bring up a cluster with the necessary config, populate
variables, etc)
initial_environment = copy.deepcopy(os.environ)
dtest_setup = DTestSetup(dtest_config=dtest_config,
setup_overrides=fixture_dtest_setup_overrides,
cluster_name=fixture_dtest_cluster_name)
dtest_setup.initialize_cluster(fixture_dtest_create_cluster_func)

if not dtest_config.disable_active_log_watching:
dtest_setup.begin_active_log_watch()

# at this point we're done with our setup operations in this fixture
# yield to allow the actual test to run
yield dtest_setup

# phew! we're back after executing the test, now we need to do
# all of our teardown and cleanup operations

reset_environment_vars(initial_environment)
dtest_setup.jvm_args = []

for con in dtest_setup.connections:
con.cluster.shutdown()
dtest_setup.connections = []

failed = False
try:
if not dtest_setup.allow_log_errors:
errors = check_logs_for_errors(dtest_setup)
if len(errors) > 0:
failed = True
pytest.fail(msg='Unexpected error found in node logs (see stdout for full
details). Errors: [{errors}]'
.format(errors=str.join(", ", errors)), pytrace=False)
finally:
try:
# save the logs for inspection
if failed or not dtest_config.delete_logs:
copy_logs(request, dtest_setup.cluster)
except Exception as e:
logger.error("Error saving log:", str(e))
finally:
> dtest_setup.cleanup_cluster(request)

conftest.py:352:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
_ _

self = <dtest_setup.DTestSetup object at 0x7fd67ebe2160>
request = <SubRequest 'fixture_dtest_setup' for <Function
'test_credentials_cache_background_reload_handle_unavailable'>>

def cleanup_cluster(self, request=None):
with log_filter('cassandra'): # quiet noise from driver when nodes start
going down
> if self.dtest_config.keep_test_dir or
(self.dtest_config.keep_failed_test_dir and request and
request.node.rep_call.failed):
E AttributeError: 'Function' object has no attribute 'rep_call'

dtest_setup.py:351: AttributeError
----------------------------------------------------------------------------
Cassandra dtests // test_consistent_repair // Error
test teardown failure

request = <SubRequest 'fixture_dtest_setup' for <Function
'test_consistent_repair'>>
dtest_config = <dtest_config.DTestConfig object at 0x7fd67eb986d0>
fixture_dtest_setup_overrides = <dtest_setup_overrides.DTestSetupOverrides
object at 0x7fd67e152400>
fixture_logging_setup = None, fixture_dtest_cluster_name = 'test'
fixture_dtest_create_cluster_func = <function DTestSetup.create_ccm_cluster
at 0x7fd67f406b80>

@pytest.fixture(scope='function', autouse=False)
def fixture_dtest_setup(request,
dtest_config,
fixture_dtest_setup_overrides,
fixture_logging_setup,
fixture_dtest_cluster_name,
fixture_dtest_create_cluster_func):
if running_in_docker():
cleanup_docker_environment_before_test_execution()

# do all of our setup operations to get the enviornment ready for the actual
test
# to run (e.g. bring up a cluster with the necessary config, populate
variables, etc)
initial_environment = copy.deepcopy(os.environ)
dtest_setup = DTestSetup(dtest_config=dtest_config,
setup_overrides=fixture_dtest_setup_overrides,
cluster_name=fixture_dtest_cluster_name)
dtest_setup.initialize_cluster(fixture_dtest_create_cluster_func)

if not dtest_config.disable_active_log_watching:
dtest_setup.begin_active_log_watch()

# at this point we're done with our setup operations in this fixture
# yield to allow the actual test to run
yield dtest_setup

# phew! we're back after executing the test, now we need to do
# all of our teardown and cleanup operations

reset_environment_vars(initial_environment)
dtest_setup.jvm_args = []

for con in dtest_setup.connections:
con.cluster.shutdown()
dtest_setup.connections = []

failed = False
try:
if not dtest_setup.allow_log_errors:
errors = check_logs_for_errors(dtest_setup)
if len(errors) > 0:
failed = True
pytest.fail(msg='Unexpected error found in node logs (see stdout for full
details). Errors: [{errors}]'
.format(errors=str.join(", ", errors)), pytrace=False)
finally:
try:
# save the logs for inspection
if failed or not dtest_config.delete_logs:
copy_logs(request, dtest_setup.cluster)
except Exception as e:
logger.error("Error saving log:", str(e))
finally:
> dtest_setup.cleanup_cluster(request)

conftest.py:352:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
_ _

self = <dtest_setup.DTestSetup object at 0x7fd67f16bbb0>
request = <SubRequest 'fixture_dtest_setup' for <Function
'test_consistent_repair'>>

def cleanup_cluster(self, request=None):
with log_filter('cassandra'): # quiet noise from driver when nodes start
going down
> if self.dtest_config.keep_test_dir or
(self.dtest_config.keep_failed_test_dir and request and
request.node.rep_call.failed):
E AttributeError: 'Function' object has no attribute 'rep_call'

dtest_setup.py:351: AttributeError
----------------------------------------------------------------------------
Cassandra dtests // test_client_request_metrics // Error
test teardown failure

request = <SubRequest 'fixture_dtest_setup' for <Function
'test_client_request_metrics'>>
dtest_config = <dtest_config.DTestConfig object at 0x7f473cf1af10>
fixture_dtest_setup_overrides = <dtest_setup_overrides.DTestSetupOverrides
object at 0x7f473d6d7220>
fixture_logging_setup = None, fixture_dtest_cluster_name = 'test'
fixture_dtest_create_cluster_func = <function DTestSetup.create_ccm_cluster
at 0x7f473d761af0>

@pytest.fixture(scope='function', autouse=False)
def fixture_dtest_setup(request,
dtest_config,
fixture_dtest_setup_overrides,
fixture_logging_setup,
fixture_dtest_cluster_name,
fixture_dtest_create_cluster_func):
if running_in_docker():
cleanup_docker_environment_before_test_execution()

# do all of our setup operations to get the enviornment ready for the actual
test
# to run (e.g. bring up a cluster with the necessary config, populate
variables, etc)
initial_environment = copy.deepcopy(os.environ)
dtest_setup = DTestSetup(dtest_config=dtest_config,
setup_overrides=fixture_dtest_setup_overrides,
cluster_name=fixture_dtest_cluster_name)
dtest_setup.initialize_cluster(fixture_dtest_create_cluster_func)

if not dtest_config.disable_active_log_watching:
dtest_setup.begin_active_log_watch()

# at this point we're done with our setup operations in this fixture
# yield to allow the actual test to run
yield dtest_setup

# phew! we're back after executing the test, now we need to do
# all of our teardown and cleanup operations

reset_environment_vars(initial_environment)
dtest_setup.jvm_args = []

for con in dtest_setup.connections:
con.cluster.shutdown()
dtest_setup.connections = []

failed = False
try:
if not dtest_setup.allow_log_errors:
errors = check_logs_for_errors(dtest_setup)
if len(errors) > 0:
failed = True
pytest.fail(msg='Unexpected error found in node logs (see stdout for full
details). Errors: [{errors}]'
.format(errors=str.join(", ", errors)), pytrace=False)
finally:
try:
# save the logs for inspection
if failed or not dtest_config.delete_logs:
copy_logs(request, dtest_setup.cluster)
except Exception as e:
logger.error("Error saving log:", str(e))
finally:
> dtest_setup.cleanup_cluster(request)

conftest.py:352:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
_ _

self = <dtest_setup.DTestSetup object at 0x7f473d6e2f10>
request = <SubRequest 'fixture_dtest_setup' for <Function
'test_client_request_metrics'>>

def cleanup_cluster(self, request=None):
with log_filter('cassandra'): # quiet noise from driver when nodes start
going down
> if self.dtest_config.keep_test_dir or
(self.dtest_config.keep_failed_test_dir and request and
request.node.rep_call.failed):
E AttributeError: 'Function' object has no attribute 'rep_call'

dtest_setup.py:351: AttributeError
----------------------------------------------------------------------------
Cassandra dtests // test_failed_snitch_update_yaml_file_snitch // Error
test teardown failure

request = <SubRequest 'fixture_dtest_setup' for <Function
'test_failed_snitch_update_yaml_file_snitch'>>
dtest_config = <dtest_config.DTestConfig object at 0x7f473cf1af10>
fixture_dtest_setup_overrides = <dtest_setup_overrides.DTestSetupOverrides
object at 0x7f473c49ba00>
fixture_logging_setup = None, fixture_dtest_cluster_name = 'test'
fixture_dtest_create_cluster_func = <function DTestSetup.create_ccm_cluster
at 0x7f473d761af0>

@pytest.fixture(scope='function', autouse=False)
def fixture_dtest_setup(request,
dtest_config,
fixture_dtest_setup_overrides,
fixture_logging_setup,
fixture_dtest_cluster_name,
fixture_dtest_create_cluster_func):
if running_in_docker():
cleanup_docker_environment_before_test_execution()

# do all of our setup operations to get the enviornment ready for the actual
test
# to run (e.g. bring up a cluster with the necessary config, populate
variables, etc)
initial_environment = copy.deepcopy(os.environ)
dtest_setup = DTestSetup(dtest_config=dtest_config,
setup_overrides=fixture_dtest_setup_overrides,
cluster_name=fixture_dtest_cluster_name)
dtest_setup.initialize_cluster(fixture_dtest_create_cluster_func)

if not dtest_config.disable_active_log_watching:
dtest_setup.begin_active_log_watch()

# at this point we're done with our setup operations in this fixture
# yield to allow the actual test to run
yield dtest_setup

# phew! we're back after executing the test, now we need to do
# all of our teardown and cleanup operations

reset_environment_vars(initial_environment)
dtest_setup.jvm_args = []

for con in dtest_setup.connections:
con.cluster.shutdown()
dtest_setup.connections = []

failed = False
try:
if not dtest_setup.allow_log_errors:
errors = check_logs_for_errors(dtest_setup)
if len(errors) > 0:
failed = True
pytest.fail(msg='Unexpected error found in node logs (see stdout for full
details). Errors: [{errors}]'
.format(errors=str.join(", ", errors)), pytrace=False)
finally:
try:
# save the logs for inspection
if failed or not dtest_config.delete_logs:
copy_logs(request, dtest_setup.cluster)
except Exception as e:
logger.error("Error saving log:", str(e))
finally:
> dtest_setup.cleanup_cluster(request)

conftest.py:352:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
_ _

self = <dtest_setup.DTestSetup object at 0x7f473d3f9880>
request = <SubRequest 'fixture_dtest_setup' for <Function
'test_failed_snitch_update_yaml_file_snitch'>>

def cleanup_cluster(self, request=None):
with log_filter('cassandra'): # quiet noise from driver when nodes start
going down
> if self.dtest_config.keep_test_dir or
(self.dtest_config.keep_failed_test_dir and request and
request.node.rep_call.failed):
E AttributeError: 'Function' object has no attribute 'rep_call'

dtest_setup.py:351: AttributeError
----------------------------------------------------------------------------
Cassandra dtests // test_manual_session_fail // Error
test teardown failure

request = <SubRequest 'fixture_dtest_setup' for <Function
'test_manual_session_fail'>>
dtest_config = <dtest_config.DTestConfig object at 0x7f473cf1af10>
fixture_dtest_setup_overrides = <dtest_setup_overrides.DTestSetupOverrides
object at 0x7f473c4166d0>
fixture_logging_setup = None, fixture_dtest_cluster_name = 'test'
fixture_dtest_create_cluster_func = <function DTestSetup.create_ccm_cluster
at 0x7f473d761af0>

@pytest.fixture(scope='function', autouse=False)
def fixture_dtest_setup(request,
dtest_config,
fixture_dtest_setup_overrides,
fixture_logging_setup,
fixture_dtest_cluster_name,
fixture_dtest_create_cluster_func):
if running_in_docker():
cleanup_docker_environment_before_test_execution()

# do all of our setup operations to get the enviornment ready for the actual
test
# to run (e.g. bring up a cluster with the necessary config, populate
variables, etc)
initial_environment = copy.deepcopy(os.environ)
dtest_setup = DTestSetup(dtest_config=dtest_config,
setup_overrides=fixture_dtest_setup_overrides,
cluster_name=fixture_dtest_cluster_name)
dtest_setup.initialize_cluster(fixture_dtest_create_cluster_func)

if not dtest_config.disable_active_log_watching:
dtest_setup.begin_active_log_watch()

# at this point we're done with our setup operations in this fixture
# yield to allow the actual test to run
yield dtest_setup

# phew! we're back after executing the test, now we need to do
# all of our teardown and cleanup operations

reset_environment_vars(initial_environment)
dtest_setup.jvm_args = []

for con in dtest_setup.connections:
con.cluster.shutdown()
dtest_setup.connections = []

failed = False
try:
if not dtest_setup.allow_log_errors:
errors = check_logs_for_errors(dtest_setup)
if len(errors) > 0:
failed = True
pytest.fail(msg='Unexpected error found in node logs (see stdout for full
details). Errors: [{errors}]'
.format(errors=str.join(", ", errors)), pytrace=False)
finally:
try:
# save the logs for inspection
if failed or not dtest_config.delete_logs:
copy_logs(request, dtest_setup.cluster)
except Exception as e:
logger.error("Error saving log:", str(e))
finally:
> dtest_setup.cleanup_cluster(request)

conftest.py:352:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
_ _

self = <dtest_setup.DTestSetup object at 0x7f473c416070>
request = <SubRequest 'fixture_dtest_setup' for <Function
'test_manual_session_fail'>>

def cleanup_cluster(self, request=None):
with log_filter('cassandra'): # quiet noise from driver when nodes start
going down
> if self.dtest_config.keep_test_dir or
(self.dtest_config.keep_failed_test_dir and request and
request.node.rep_call.failed):
E AttributeError: 'Function' object has no attribute 'rep_call'

dtest_setup.py:351: AttributeError
----------------------------------------------------------------------------
Cassandra dtests // test_archiving_fql // Error
test teardown failure

request = <SubRequest 'fixture_dtest_setup' for <Function
'test_archiving_fql'>>
dtest_config = <dtest_config.DTestConfig object at 0x7f06ba2abe20>
fixture_dtest_setup_overrides = <dtest_setup_overrides.DTestSetupOverrides
object at 0x7f06ba2abdc0>
fixture_logging_setup = None, fixture_dtest_cluster_name = 'test'
fixture_dtest_create_cluster_func = <function DTestSetup.create_ccm_cluster
at 0x7f06bab6daf0>

@pytest.fixture(scope='function', autouse=False)
def fixture_dtest_setup(request,
dtest_config,
fixture_dtest_setup_overrides,
fixture_logging_setup,
fixture_dtest_cluster_name,
fixture_dtest_create_cluster_func):
if running_in_docker():
cleanup_docker_environment_before_test_execution()

# do all of our setup operations to get the enviornment ready for the actual
test
# to run (e.g. bring up a cluster with the necessary config, populate
variables, etc)
initial_environment = copy.deepcopy(os.environ)
dtest_setup = DTestSetup(dtest_config=dtest_config,
setup_overrides=fixture_dtest_setup_overrides,
cluster_name=fixture_dtest_cluster_name)
dtest_setup.initialize_cluster(fixture_dtest_create_cluster_func)

if not dtest_config.disable_active_log_watching:
dtest_setup.begin_active_log_watch()

# at this point we're done with our setup operations in this fixture
# yield to allow the actual test to run
yield dtest_setup

# phew! we're back after executing the test, now we need to do
# all of our teardown and cleanup operations

reset_environment_vars(initial_environment)
dtest_setup.jvm_args = []

for con in dtest_setup.connections:
con.cluster.shutdown()
dtest_setup.connections = []

failed = False
try:
if not dtest_setup.allow_log_errors:
errors = check_logs_for_errors(dtest_setup)
if len(errors) > 0:
failed = True
pytest.fail(msg='Unexpected error found in node logs (see stdout for full
details). Errors: [{errors}]'
.format(errors=str.join(", ", errors)), pytrace=False)
finally:
try:
# save the logs for inspection
if failed or not dtest_config.delete_logs:
copy_logs(request, dtest_setup.cluster)
except Exception as e:
logger.error("Error saving log:", str(e))
finally:
> dtest_setup.cleanup_cluster(request)

conftest.py:352:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
_ _

self = <dtest_setup.DTestSetup object at 0x7f06ba2ab970>
request = <SubRequest 'fixture_dtest_setup' for <Function
'test_archiving_fql'>>

def cleanup_cluster(self, request=None):
with log_filter('cassandra'): # quiet noise from driver when nodes start
going down
> if self.dtest_config.keep_test_dir or
(self.dtest_config.keep_failed_test_dir and request and
request.node.rep_call.failed):
E AttributeError: 'Function' object has no attribute 'rep_call'

dtest_setup.py:351: AttributeError
----------------------------------------------------------------------------
Cassandra dtests // test_atomic_writes[blocking] // Error
test teardown failure

request = <SubRequest 'fixture_dtest_setup' for <Function
'test_atomic_writes[blocking]'>>
dtest_config = <dtest_config.DTestConfig object at 0x7f06ba2abe20>
fixture_dtest_setup_overrides = <dtest_setup_overrides.DTestSetupOverrides
object at 0x7f06b9027100>
fixture_logging_setup = None, fixture_dtest_cluster_name = 'test'
fixture_dtest_create_cluster_func = <function DTestSetup.create_ccm_cluster
at 0x7f06bab6daf0>

@pytest.fixture(scope='function', autouse=False)
def fixture_dtest_setup(request,
dtest_config,
fixture_dtest_setup_overrides,
fixture_logging_setup,
fixture_dtest_cluster_name,
fixture_dtest_create_cluster_func):
if running_in_docker():
cleanup_docker_environment_before_test_execution()

# do all of our setup operations to get the enviornment ready for the actual
test
# to run (e.g. bring up a cluster with the necessary config, populate
variables, etc)
initial_environment = copy.deepcopy(os.environ)
dtest_setup = DTestSetup(dtest_config=dtest_config,
setup_overrides=fixture_dtest_setup_overrides,
cluster_name=fixture_dtest_cluster_name)
dtest_setup.initialize_cluster(fixture_dtest_create_cluster_func)

if not dtest_config.disable_active_log_watching:
dtest_setup.begin_active_log_watch()

# at this point we're done with our setup operations in this fixture
# yield to allow the actual test to run
yield dtest_setup

# phew! we're back after executing the test, now we need to do
# all of our teardown and cleanup operations

reset_environment_vars(initial_environment)
dtest_setup.jvm_args = []

for con in dtest_setup.connections:
con.cluster.shutdown()
dtest_setup.connections = []

failed = False
try:
if not dtest_setup.allow_log_errors:
errors = check_logs_for_errors(dtest_setup)
if len(errors) > 0:
failed = True
pytest.fail(msg='Unexpected error found in node logs (see stdout for full
details). Errors: [{errors}]'
.format(errors=str.join(", ", errors)), pytrace=False)
finally:
try:
# save the logs for inspection
if failed or not dtest_config.delete_logs:
copy_logs(request, dtest_setup.cluster)
except Exception as e:
logger.error("Error saving log:", str(e))
finally:
> dtest_setup.cleanup_cluster(request)

conftest.py:352:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
_ _

self = <dtest_setup.DTestSetup object at 0x7f06b90271c0>
request = <SubRequest 'fixture_dtest_setup' for <Function
'test_atomic_writes[blocking]'>>

def cleanup_cluster(self, request=None):
with log_filter('cassandra'): # quiet noise from driver when nodes start
going down
> if self.dtest_config.keep_test_dir or
(self.dtest_config.keep_failed_test_dir and request and
request.node.rep_call.failed):
E AttributeError: 'Function' object has no attribute 'rep_call'

dtest_setup.py:351: AttributeError
----------------------------------------------------------------------------
Cassandra dtests // test_sstableloader_with_failing_2i // Error
test teardown failure

request = <SubRequest 'fixture_dtest_setup' for <Function
'test_sstableloader_with_failing_2i'>>
dtest_config = <dtest_config.DTestConfig object at 0x7f06ba2abe20>
fixture_dtest_setup_overrides = <dtest_setup_overrides.DTestSetupOverrides
object at 0x7f06ba4421f0>
fixture_logging_setup = None, fixture_dtest_cluster_name = 'test'
fixture_dtest_create_cluster_func = <function DTestSetup.create_ccm_cluster
at 0x7f06bab6daf0>

@pytest.fixture(scope='function', autouse=False)
def fixture_dtest_setup(request,
dtest_config,
fixture_dtest_setup_overrides,
fixture_logging_setup,
fixture_dtest_cluster_name,
fixture_dtest_create_cluster_func):
if running_in_docker():
cleanup_docker_environment_before_test_execution()

# do all of our setup operations to get the enviornment ready for the actual
test
# to run (e.g. bring up a cluster with the necessary config, populate
variables, etc)
initial_environment = copy.deepcopy(os.environ)
dtest_setup = DTestSetup(dtest_config=dtest_config,
setup_overrides=fixture_dtest_setup_overrides,
cluster_name=fixture_dtest_cluster_name)
dtest_setup.initialize_cluster(fixture_dtest_create_cluster_func)

if not dtest_config.disable_active_log_watching:
dtest_setup.begin_active_log_watch()

# at this point we're done with our setup operations in this fixture
# yield to allow the actual test to run
yield dtest_setup

# phew! we're back after executing the test, now we need to do
# all of our teardown and cleanup operations

reset_environment_vars(initial_environment)
dtest_setup.jvm_args = []

for con in dtest_setup.connections:
con.cluster.shutdown()
dtest_setup.connections = []

failed = False
try:
if not dtest_setup.allow_log_errors:
errors = check_logs_for_errors(dtest_setup)
if len(errors) > 0:
failed = True
pytest.fail(msg='Unexpected error found in node logs (see stdout for full
details). Errors: [{errors}]'
.format(errors=str.join(", ", errors)), pytrace=False)
finally:
try:
# save the logs for inspection
if failed or not dtest_config.delete_logs:
copy_logs(request, dtest_setup.cluster)
except Exception as e:
logger.error("Error saving log:", str(e))
finally:
> dtest_setup.cleanup_cluster(request)

conftest.py:352:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
_ _

self = <dtest_setup.DTestSetup object at 0x7f06b8123fa0>
request = <SubRequest 'fixture_dtest_setup' for <Function
'test_sstableloader_with_failing_2i'>>

def cleanup_cluster(self, request=None):
with log_filter('cassandra'): # quiet noise from driver when nodes start
going down
> if self.dtest_config.keep_test_dir or
(self.dtest_config.keep_failed_test_dir and request and
request.node.rep_call.failed):
E AttributeError: 'Function' object has no attribute 'rep_call'

dtest_setup.py:351: AttributeError
----------------------------------------------------------------------------
Cassandra dtests // test_set_get_batchlog_replay_throttle // Error
test teardown failure

request = <SubRequest 'fixture_dtest_setup' for <Function
'test_set_get_batchlog_replay_throttle'>>
dtest_config = <dtest_config.DTestConfig object at 0x7f666ffa1070>
fixture_dtest_setup_overrides = <dtest_setup_overrides.DTestSetupOverrides
object at 0x7f666fd84cd0>
fixture_logging_setup = None, fixture_dtest_cluster_name = 'test'
fixture_dtest_create_cluster_func = <function DTestSetup.create_ccm_cluster
at 0x7f666fff8b80>

@pytest.fixture(scope='function', autouse=False)
def fixture_dtest_setup(request,
dtest_config,
fixture_dtest_setup_overrides,
fixture_logging_setup,
fixture_dtest_cluster_name,
fixture_dtest_create_cluster_func):
if running_in_docker():
cleanup_docker_environment_before_test_execution()

# do all of our setup operations to get the enviornment ready for the actual
test
# to run (e.g. bring up a cluster with the necessary config, populate
variables, etc)
initial_environment = copy.deepcopy(os.environ)
dtest_setup = DTestSetup(dtest_config=dtest_config,
setup_overrides=fixture_dtest_setup_overrides,
cluster_name=fixture_dtest_cluster_name)
dtest_setup.initialize_cluster(fixture_dtest_create_cluster_func)

if not dtest_config.disable_active_log_watching:
dtest_setup.begin_active_log_watch()

# at this point we're done with our setup operations in this fixture
# yield to allow the actual test to run
yield dtest_setup

# phew! we're back after executing the test, now we need to do
# all of our teardown and cleanup operations

reset_environment_vars(initial_environment)
dtest_setup.jvm_args = []

for con in dtest_setup.connections:
con.cluster.shutdown()
dtest_setup.connections = []

failed = False
try:
if not dtest_setup.allow_log_errors:
errors = check_logs_for_errors(dtest_setup)
if len(errors) > 0:
failed = True
pytest.fail(msg='Unexpected error found in node logs (see stdout for full
details). Errors: [{errors}]'
.format(errors=str.join(", ", errors)), pytrace=False)
finally:
try:
# save the logs for inspection
if failed or not dtest_config.delete_logs:
copy_logs(request, dtest_setup.cluster)
except Exception as e:
logger.error("Error saving log:", str(e))
finally:
> dtest_setup.cleanup_cluster(request)

conftest.py:352:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
_ _

self = <dtest_setup.DTestSetup object at 0x7f666c7079d0>
request = <SubRequest 'fixture_dtest_setup' for <Function
'test_set_get_batchlog_replay_throttle'>>

def cleanup_cluster(self, request=None):
with log_filter('cassandra'): # quiet noise from driver when nodes start
going down
> if self.dtest_config.keep_test_dir or
(self.dtest_config.keep_failed_test_dir and request and
request.node.rep_call.failed):
E AttributeError: 'Function' object has no attribute 'rep_call'

dtest_setup.py:351: AttributeError
----------------------------------------------------------------------------
Cassandra dtests // test_manual_session_cancel_non_coordinator_failure /
/ Error
test teardown failure

request = <SubRequest 'fixture_dtest_setup' for <Function
'test_manual_session_cancel_non_coordinator_failure'>>
dtest_config = <dtest_config.DTestConfig object at 0x7f666ffa1070>
fixture_dtest_setup_overrides = <dtest_setup_overrides.DTestSetupOverrides
object at 0x7f666c726af0>
fixture_logging_setup = None, fixture_dtest_cluster_name = 'test'
fixture_dtest_create_cluster_func = <function DTestSetup.create_ccm_cluster
at 0x7f666fff8b80>

@pytest.fixture(scope='function', autouse=False)
def fixture_dtest_setup(request,
dtest_config,
fixture_dtest_setup_overrides,
fixture_logging_setup,
fixture_dtest_cluster_name,
fixture_dtest_create_cluster_func):
if running_in_docker():
cleanup_docker_environment_before_test_execution()

# do all of our setup operations to get the enviornment ready for the actual
test
# to run (e.g. bring up a cluster with the necessary config, populate
variables, etc)
initial_environment = copy.deepcopy(os.environ)
dtest_setup = DTestSetup(dtest_config=dtest_config,
setup_overrides=fixture_dtest_setup_overrides,
cluster_name=fixture_dtest_cluster_name)
dtest_setup.initialize_cluster(fixture_dtest_create_cluster_func)

if not dtest_config.disable_active_log_watching:
dtest_setup.begin_active_log_watch()

# at this point we're done with our setup operations in this fixture
# yield to allow the actual test to run
yield dtest_setup

# phew! we're back after executing the test, now we need to do
# all of our teardown and cleanup operations

reset_environment_vars(initial_environment)
dtest_setup.jvm_args = []

for con in dtest_setup.connections:
con.cluster.shutdown()
dtest_setup.connections = []

failed = False
try:
if not dtest_setup.allow_log_errors:
errors = check_logs_for_errors(dtest_setup)
if len(errors) > 0:
failed = True
pytest.fail(msg='Unexpected error found in node logs (see stdout for full
details). Errors: [{errors}]'
.format(errors=str.join(", ", errors)), pytrace=False)
finally:
try:
# save the logs for inspection
if failed or not dtest_config.delete_logs:
copy_logs(request, dtest_setup.cluster)
except Exception as e:
logger.error("Error saving log:", str(e))
finally:
> dtest_setup.cleanup_cluster(request)

conftest.py:352:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
_ _

self = <dtest_setup.DTestSetup object at 0x7f666ffa17f0>
request = <SubRequest 'fixture_dtest_setup' for <Function
'test_manual_session_cancel_non_coordinator_failure'>>

def cleanup_cluster(self, request=None):
with log_filter('cassandra'): # quiet noise from driver when nodes start
going down
> if self.dtest_config.keep_test_dir or
(self.dtest_config.keep_failed_test_dir and request and
request.node.rep_call.failed):
E AttributeError: 'Function' object has no attribute 'rep_call'

dtest_setup.py:351: AttributeError
----------------------------------------------------------------------------
Cassandra dtests // test_datetime_values_40 // Error
test teardown failure

request = <SubRequest 'fixture_dtest_setup' for <Function
'test_datetime_values_40'>>
dtest_config = <dtest_config.DTestConfig object at 0x7f943a5c8be0>
fixture_dtest_setup_overrides = <dtest_setup_overrides.DTestSetupOverrides
object at 0x7f94381f57f0>
fixture_logging_setup = None, fixture_dtest_cluster_name = 'test'
fixture_dtest_create_cluster_func = <function DTestSetup.create_ccm_cluster
at 0x7f943ae3eb80>

@pytest.fixture(scope='function', autouse=False)
def fixture_dtest_setup(request,
dtest_config,
fixture_dtest_setup_overrides,
fixture_logging_setup,
fixture_dtest_cluster_name,
fixture_dtest_create_cluster_func):
if running_in_docker():
cleanup_docker_environment_before_test_execution()

# do all of our setup operations to get the enviornment ready for the actual
test
# to run (e.g. bring up a cluster with the necessary config, populate
variables, etc)
initial_environment = copy.deepcopy(os.environ)
dtest_setup = DTestSetup(dtest_config=dtest_config,
setup_overrides=fixture_dtest_setup_overrides,
cluster_name=fixture_dtest_cluster_name)
dtest_setup.initialize_cluster(fixture_dtest_create_cluster_func)

if not dtest_config.disable_active_log_watching:
dtest_setup.begin_active_log_watch()

# at this point we're done with our setup operations in this fixture
# yield to allow the actual test to run
yield dtest_setup

# phew! we're back after executing the test, now we need to do
# all of our teardown and cleanup operations

reset_environment_vars(initial_environment)
dtest_setup.jvm_args = []

for con in dtest_setup.connections:
con.cluster.shutdown()
dtest_setup.connections = []

failed = False
try:
if not dtest_setup.allow_log_errors:
errors = check_logs_for_errors(dtest_setup)
if len(errors) > 0:
failed = True
pytest.fail(msg='Unexpected error found in node logs (see stdout for full
details). Errors: [{errors}]'
.format(errors=str.join(", ", errors)), pytrace=False)
finally:
try:
# save the logs for inspection
if failed or not dtest_config.delete_logs:
copy_logs(request, dtest_setup.cluster)
except Exception as e:
logger.error("Error saving log:", str(e))
finally:
> dtest_setup.cleanup_cluster(request)

conftest.py:352:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
_ _

self = <dtest_setup.DTestSetup object at 0x7f94382601c0>
request = <SubRequest 'fixture_dtest_setup' for <Function
'test_datetime_values_40'>>

def cleanup_cluster(self, request=None):
with log_filter('cassandra'): # quiet noise from driver when nodes start
going down
> if self.dtest_config.keep_test_dir or
(self.dtest_config.keep_failed_test_dir and request and
request.node.rep_call.failed):
E AttributeError: 'Function' object has no attribute 'rep_call'

dtest_setup.py:351: AttributeError
----------------------------------------------------------------------------
Cassandra dtests // test_manual_session_force_cancel // Error
test teardown failure

request = <SubRequest 'fixture_dtest_setup' for <Function
'test_manual_session_force_cancel'>>
dtest_config = <dtest_config.DTestConfig object at 0x7f943a5c8be0>
fixture_dtest_setup_overrides = <dtest_setup_overrides.DTestSetupOverrides
object at 0x7f94381fa1c0>
fixture_logging_setup = None, fixture_dtest_cluster_name = 'test'
fixture_dtest_create_cluster_func = <function DTestSetup.create_ccm_cluster
at 0x7f943ae3eb80>

@pytest.fixture(scope='function', autouse=False)
def fixture_dtest_setup(request,
dtest_config,
fixture_dtest_setup_overrides,
fixture_logging_setup,
fixture_dtest_cluster_name,
fixture_dtest_create_cluster_func):
if running_in_docker():
cleanup_docker_environment_before_test_execution()

# do all of our setup operations to get the enviornment ready for the actual
test
# to run (e.g. bring up a cluster with the necessary config, populate
variables, etc)
initial_environment = copy.deepcopy(os.environ)
dtest_setup = DTestSetup(dtest_config=dtest_config,
setup_overrides=fixture_dtest_setup_overrides,
cluster_name=fixture_dtest_cluster_name)
dtest_setup.initialize_cluster(fixture_dtest_create_cluster_func)

if not dtest_config.disable_active_log_watching:
dtest_setup.begin_active_log_watch()

# at this point we're done with our setup operations in this fixture
# yield to allow the actual test to run
yield dtest_setup

# phew! we're back after executing the test, now we need to do
# all of our teardown and cleanup operations

reset_environment_vars(initial_environment)
dtest_setup.jvm_args = []

for con in dtest_setup.connections:
con.cluster.shutdown()
dtest_setup.connections = []

failed = False
try:
if not dtest_setup.allow_log_errors:
errors = check_logs_for_errors(dtest_setup)
if len(errors) > 0:
failed = True
pytest.fail(msg='Unexpected error found in node logs (see stdout for full
details). Errors: [{errors}]'
.format(errors=str.join(", ", errors)), pytrace=False)
finally:
try:
# save the logs for inspection
if failed or not dtest_config.delete_logs:
copy_logs(request, dtest_setup.cluster)
except Exception as e:
logger.error("Error saving log:", str(e))
finally:
> dtest_setup.cleanup_cluster(request)

conftest.py:352:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
_ _

self = <dtest_setup.DTestSetup object at 0x7f943adb1b50>
request = <SubRequest 'fixture_dtest_setup' for <Function
'test_manual_session_force_cancel'>>

def cleanup_cluster(self, request=None):
with log_filter('cassandra'): # quiet noise from driver when nodes start
going down
> if self.dtest_config.keep_test_dir or
(self.dtest_config.keep_failed_test_dir and request and
request.node.rep_call.failed):
E AttributeError: 'Function' object has no attribute 'rep_call'

dtest_setup.py:351: AttributeError
----------------------------------------------------------------------------
Cassandra dtests // test_full_dc_access // Error
test teardown failure

request = <SubRequest 'fixture_dtest_setup' for <Function
'test_full_dc_access'>>
dtest_config = <dtest_config.DTestConfig object at 0x7fa0d96c7250>
fixture_dtest_setup_overrides = <dtest_setup_overrides.DTestSetupOverrides
object at 0x7fa0d9e89430>
fixture_logging_setup = None, fixture_dtest_cluster_name = 'test'
fixture_dtest_create_cluster_func = <function DTestSetup.create_ccm_cluster
at 0x7fa0d9f32a60>

@pytest.fixture(scope='function', autouse=False)
def fixture_dtest_setup(request,
dtest_config,
fixture_dtest_setup_overrides,
fixture_logging_setup,
fixture_dtest_cluster_name,
fixture_dtest_create_cluster_func):
if running_in_docker():
cleanup_docker_environment_before_test_execution()

# do all of our setup operations to get the enviornment ready for the actual
test
# to run (e.g. bring up a cluster with the necessary config, populate
variables, etc)
initial_environment = copy.deepcopy(os.environ)
dtest_setup = DTestSetup(dtest_config=dtest_config,
setup_overrides=fixture_dtest_setup_overrides,
cluster_name=fixture_dtest_cluster_name)
dtest_setup.initialize_cluster(fixture_dtest_create_cluster_func)

if not dtest_config.disable_active_log_watching:
dtest_setup.begin_active_log_watch()

# at this point we're done with our setup operations in this fixture
# yield to allow the actual test to run
yield dtest_setup

# phew! we're back after executing the test, now we need to do
# all of our teardown and cleanup operations

reset_environment_vars(initial_environment)
dtest_setup.jvm_args = []

for con in dtest_setup.connections:
con.cluster.shutdown()
dtest_setup.connections = []

failed = False
try:
if not dtest_setup.allow_log_errors:
errors = check_logs_for_errors(dtest_setup)
if len(errors) > 0:
failed = True
pytest.fail(msg='Unexpected error found in node logs (see stdout for full
details). Errors: [{errors}]'
.format(errors=str.join(", ", errors)), pytrace=False)
finally:
try:
# save the logs for inspection
if failed or not dtest_config.delete_logs:
copy_logs(request, dtest_setup.cluster)
except Exception as e:
logger.error("Error saving log:", str(e))
finally:
> dtest_setup.cleanup_cluster(request)

conftest.py:352:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
_ _

self = <dtest_setup.DTestSetup object at 0x7fa0d989bb50>
request = <SubRequest 'fixture_dtest_setup' for <Function
'test_full_dc_access'>>

def cleanup_cluster(self, request=None):
with log_filter('cassandra'): # quiet noise from driver when nodes start
going down
> if self.dtest_config.keep_test_dir or
(self.dtest_config.keep_failed_test_dir and request and
request.node.rep_call.failed):
E AttributeError: 'Function' object has no attribute 'rep_call'

dtest_setup.py:351: AttributeError
----------------------------------------------------------------------------
Cassandra dtests // test_set_get_concurrent_view_builders // Error
test teardown failure

request = <SubRequest 'fixture_dtest_setup' for <Function
'test_set_get_concurrent_view_builders'>>
dtest_config = <dtest_config.DTestConfig object at 0x7fa0d96c7250>
fixture_dtest_setup_overrides = <dtest_setup_overrides.DTestSetupOverrides
object at 0x7fa0d9886af0>
fixture_logging_setup = None, fixture_dtest_cluster_name = 'test'
fixture_dtest_create_cluster_func = <function DTestSetup.create_ccm_cluster
at 0x7fa0d9f32a60>

@pytest.fixture(scope='function', autouse=False)
def fixture_dtest_setup(request,
dtest_config,
fixture_dtest_setup_overrides,
fixture_logging_setup,
fixture_dtest_cluster_name,
fixture_dtest_create_cluster_func):
if running_in_docker():
cleanup_docker_environment_before_test_execution()

# do all of our setup operations to get the enviornment ready for the actual
test
# to run (e.g. bring up a cluster with the necessary config, populate
variables, etc)
initial_environment = copy.deepcopy(os.environ)
dtest_setup = DTestSetup(dtest_config=dtest_config,
setup_overrides=fixture_dtest_setup_overrides,
cluster_name=fixture_dtest_cluster_name)
dtest_setup.initialize_cluster(fixture_dtest_create_cluster_func)

if not dtest_config.disable_active_log_watching:
dtest_setup.begin_active_log_watch()

# at this point we're done with our setup operations in this fixture
# yield to allow the actual test to run
yield dtest_setup

# phew! we're back after executing the test, now we need to do
# all of our teardown and cleanup operations

reset_environment_vars(initial_environment)
dtest_setup.jvm_args = []

for con in dtest_setup.connections:
con.cluster.shutdown()
dtest_setup.connections = []

failed = False
try:
if not dtest_setup.allow_log_errors:
errors = check_logs_for_errors(dtest_setup)
if len(errors) > 0:
failed = True
pytest.fail(msg='Unexpected error found in node logs (see stdout for full
details). Errors: [{errors}]'
.format(errors=str.join(", ", errors)), pytrace=False)
finally:
try:
# save the logs for inspection
if failed or not dtest_config.delete_logs:
copy_logs(request, dtest_setup.cluster)
except Exception as e:
logger.error("Error saving log:", str(e))
finally:
> dtest_setup.cleanup_cluster(request)

conftest.py:352:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
_ _

self = <dtest_setup.DTestSetup object at 0x7fa0d9c78460>
request = <SubRequest 'fixture_dtest_setup' for <Function
'test_set_get_concurrent_view_builders'>>

def cleanup_cluster(self, request=None):
with log_filter('cassandra'): # quiet noise from driver when nodes start
going down
> if self.dtest_config.keep_test_dir or
(self.dtest_config.keep_failed_test_dir and request and
request.node.rep_call.failed):
E AttributeError: 'Function' object has no attribute 'rep_call'

dtest_setup.py:351: AttributeError
----------------------------------------------------------------------------
Cassandra dtests // test_single_dc_access // Error
test teardown failure

request = <SubRequest 'fixture_dtest_setup' for <Function
'test_single_dc_access'>>
dtest_config = <dtest_config.DTestConfig object at 0x7fcf480ddbb0>
fixture_dtest_setup_overrides = <dtest_setup_overrides.DTestSetupOverrides
object at 0x7fcf480d1eb0>
fixture_logging_setup = None, fixture_dtest_cluster_name = 'test'
fixture_dtest_create_cluster_func = <function DTestSetup.create_ccm_cluster
at 0x7fcf48945ca0>

@pytest.fixture(scope='function', autouse=False)
def fixture_dtest_setup(request,
dtest_config,
fixture_dtest_setup_overrides,
fixture_logging_setup,
fixture_dtest_cluster_name,
fixture_dtest_create_cluster_func):
if running_in_docker():
cleanup_docker_environment_before_test_execution()

# do all of our setup operations to get the enviornment ready for the actual
test
# to run (e.g. bring up a cluster with the necessary config, populate
variables, etc)
initial_environment = copy.deepcopy(os.environ)
dtest_setup = DTestSetup(dtest_config=dtest_config,
setup_overrides=fixture_dtest_setup_overrides,
cluster_name=fixture_dtest_cluster_name)
dtest_setup.initialize_cluster(fixture_dtest_create_cluster_func)

if not dtest_config.disable_active_log_watching:
dtest_setup.begin_active_log_watch()

# at this point we're done with our setup operations in this fixture
# yield to allow the actual test to run
yield dtest_setup

# phew! we're back after executing the test, now we need to do
# all of our teardown and cleanup operations

reset_environment_vars(initial_environment)
dtest_setup.jvm_args = []

for con in dtest_setup.connections:
con.cluster.shutdown()
dtest_setup.connections = []

failed = False
try:
if not dtest_setup.allow_log_errors:
errors = check_logs_for_errors(dtest_setup)
if len(errors) > 0:
failed = True
pytest.fail(msg='Unexpected error found in node logs (see stdout for full
details). Errors: [{errors}]'
.format(errors=str.join(", ", errors)), pytrace=False)
finally:
try:
# save the logs for inspection
if failed or not dtest_config.delete_logs:
copy_logs(request, dtest_setup.cluster)
except Exception as e:
logger.error("Error saving log:", str(e))
finally:
> dtest_setup.cleanup_cluster(request)

conftest.py:352:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
_ _

self = <dtest_setup.DTestSetup object at 0x7fcf480ddd30>
request = <SubRequest 'fixture_dtest_setup' for <Function
'test_single_dc_access'>>

def cleanup_cluster(self, request=None):
with log_filter('cassandra'): # quiet noise from driver when nodes start
going down
> if self.dtest_config.keep_test_dir or
(self.dtest_config.keep_failed_test_dir and request and
request.node.rep_call.failed):
E AttributeError: 'Function' object has no attribute 'rep_call'

dtest_setup.py:351: AttributeError
----------------------------------------------------------------------------
Cassandra dtests // test_describecluster_more_information_three_datacenters
// Error
test teardown failure

request = <SubRequest 'fixture_dtest_setup' for <Function
'test_describecluster_more_information_three_datacenters'>>
dtest_config = <dtest_config.DTestConfig object at 0x7fcf480ddbb0>
fixture_dtest_setup_overrides = <dtest_setup_overrides.DTestSetupOverrides
object at 0x7fcf482e00d0>
fixture_logging_setup = None, fixture_dtest_cluster_name = 'test'
fixture_dtest_create_cluster_func = <function DTestSetup.create_ccm_cluster
at 0x7fcf48945ca0>

@pytest.fixture(scope='function', autouse=False)
def fixture_dtest_setup(request,
dtest_config,
fixture_dtest_setup_overrides,
fixture_logging_setup,
fixture_dtest_cluster_name,
fixture_dtest_create_cluster_func):
if running_in_docker():
cleanup_docker_environment_before_test_execution()

# do all of our setup operations to get the enviornment ready for the actual
test
# to run (e.g. bring up a cluster with the necessary config, populate
variables, etc)
initial_environment = copy.deepcopy(os.environ)
dtest_setup = DTestSetup(dtest_config=dtest_config,
setup_overrides=fixture_dtest_setup_overrides,
cluster_name=fixture_dtest_cluster_name)
dtest_setup.initialize_cluster(fixture_dtest_create_cluster_func)

if not dtest_config.disable_active_log_watching:
dtest_setup.begin_active_log_watch()

# at this point we're done with our setup operations in this fixture
# yield to allow the actual test to run
yield dtest_setup

# phew! we're back after executing the test, now we need to do
# all of our teardown and cleanup operations

reset_environment_vars(initial_environment)
dtest_setup.jvm_args = []

for con in dtest_setup.connections:
con.cluster.shutdown()
dtest_setup.connections = []

failed = False
try:
if not dtest_setup.allow_log_errors:
errors = check_logs_for_errors(dtest_setup)
if len(errors) > 0:
failed = True
pytest.fail(msg='Unexpected error found in node logs (see stdout for full
details). Errors: [{errors}]'
.format(errors=str.join(", ", errors)), pytrace=False)
finally:
try:
# save the logs for inspection
if failed or not dtest_config.delete_logs:
copy_logs(request, dtest_setup.cluster)
except Exception as e:
logger.error("Error saving log:", str(e))
finally:
> dtest_setup.cleanup_cluster(request)

conftest.py:352:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
_ _

self = <dtest_setup.DTestSetup object at 0x7fcf480dd550>
request = <SubRequest 'fixture_dtest_setup' for <Function
'test_describecluster_more_information_three_datacenters'>>

def cleanup_cluster(self, request=None):
with log_filter('cassandra'): # quiet noise from driver when nodes start
going down
> if self.dtest_config.keep_test_dir or
(self.dtest_config.keep_failed_test_dir and request and
request.node.rep_call.failed):
E AttributeError: 'Function' object has no attribute 'rep_call'

dtest_setup.py:351: AttributeError
----------------------------------------------------------------------------
Cassandra dtests // test_revoked_dc_access // Error
test teardown failure

request = <SubRequest 'fixture_dtest_setup' for <Function
'test_revoked_dc_access'>>
dtest_config = <dtest_config.DTestConfig object at 0x7fc7619e4670>
fixture_dtest_setup_overrides = <dtest_setup_overrides.DTestSetupOverrides
object at 0x7fc76218d3d0>
fixture_logging_setup = None, fixture_dtest_cluster_name = 'test'
fixture_dtest_create_cluster_func = <function DTestSetup.create_ccm_cluster
at 0x7fc7621d1a60>

@pytest.fixture(scope='function', autouse=False)
def fixture_dtest_setup(request,
dtest_config,
fixture_dtest_setup_overrides,
fixture_logging_setup,
fixture_dtest_cluster_name,
fixture_dtest_create_cluster_func):
if running_in_docker():
cleanup_docker_environment_before_test_execution()

# do all of our setup operations to get the enviornment ready for the actual
test
# to run (e.g. bring up a cluster with the necessary config, populate
variables, etc)
initial_environment = copy.deepcopy(os.environ)
dtest_setup = DTestSetup(dtest_config=dtest_config,
setup_overrides=fixture_dtest_setup_overrides,
cluster_name=fixture_dtest_cluster_name)
dtest_setup.initialize_cluster(fixture_dtest_create_cluster_func)

if not dtest_config.disable_active_log_watching:
dtest_setup.begin_active_log_watch()

# at this point we're done with our setup operations in this fixture
# yield to allow the actual test to run
yield dtest_setup

# phew! we're back after executing the test, now we need to do
# all of our teardown and cleanup operations

reset_environment_vars(initial_environment)
dtest_setup.jvm_args = []

for con in dtest_setup.connections:
con.cluster.shutdown()
dtest_setup.connections = []

failed = False
try:
if not dtest_setup.allow_log_errors:
errors = check_logs_for_errors(dtest_setup)
if len(errors) > 0:
failed = True
pytest.fail(msg='Unexpected error found in node logs (see stdout for full
details). Errors: [{errors}]'
.format(errors=str.join(", ", errors)), pytrace=False)
finally:
try:
# save the logs for inspection
if failed or not dtest_config.delete_logs:
copy_logs(request, dtest_setup.cluster)
except Exception as e:
logger.error("Error saving log:", str(e))
finally:
> dtest_setup.cleanup_cluster(request)

conftest.py:352:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
_ _

self = <dtest_setup.DTestSetup object at 0x7fc7619e97f0>
request = <SubRequest 'fixture_dtest_setup' for <Function
'test_revoked_dc_access'>>

def cleanup_cluster(self, request=None):
with log_filter('cassandra'): # quiet noise from driver when nodes start
going down
> if self.dtest_config.keep_test_dir or
(self.dtest_config.keep_failed_test_dir and request and
request.node.rep_call.failed):
E AttributeError: 'Function' object has no attribute 'rep_call'

dtest_setup.py:351: AttributeError
----------------------------------------------------------------------------
Cassandra dtests // test_sjk // Error
test teardown failure

request = <SubRequest 'fixture_dtest_setup' for <Function 'test_sjk'>>
dtest_config = <dtest_config.DTestConfig object at 0x7fc7619e4670>
fixture_dtest_setup_overrides = <dtest_setup_overrides.DTestSetupOverrides
object at 0x7fc760145eb0>
fixture_logging_setup = None, fixture_dtest_cluster_name = 'test'
fixture_dtest_create_cluster_func = <function DTestSetup.create_ccm_cluster
at 0x7fc7621d1a60>

@pytest.fixture(scope='function', autouse=False)
def fixture_dtest_setup(request,
dtest_config,
fixture_dtest_setup_overrides,
fixture_logging_setup,
fixture_dtest_cluster_name,
fixture_dtest_create_cluster_func):
if running_in_docker():
cleanup_docker_environment_before_test_execution()

# do all of our setup operations to get the enviornment ready for the actual
test
# to run (e.g. bring up a cluster with the necessary config, populate
variables, etc)
initial_environment = copy.deepcopy(os.environ)
dtest_setup = DTestSetup(dtest_config=dtest_config,
setup_overrides=fixture_dtest_setup_overrides,
cluster_name=fixture_dtest_cluster_name)
dtest_setup.initialize_cluster(fixture_dtest_create_cluster_func)

if not dtest_config.disable_active_log_watching:
dtest_setup.begin_active_log_watch()

# at this point we're done with our setup operations in this fixture
# yield to allow the actual test to run
yield dtest_setup

# phew! we're back after executing the test, now we need to do
# all of our teardown and cleanup operations

reset_environment_vars(initial_environment)
dtest_setup.jvm_args = []

for con in dtest_setup.connections:
con.cluster.shutdown()
dtest_setup.connections = []

failed = False
try:
if not dtest_setup.allow_log_errors:
errors = check_logs_for_errors(dtest_setup)
if len(errors) > 0:
failed = True
pytest.fail(msg='Unexpected error found in node logs (see stdout for full
details). Errors: [{errors}]'
.format(errors=str.join(", ", errors)), pytrace=False)
finally:
try:
# save the logs for inspection
if failed or not dtest_config.delete_logs:
copy_logs(request, dtest_setup.cluster)
except Exception as e:
logger.error("Error saving log:", str(e))
finally:
> dtest_setup.cleanup_cluster(request)

conftest.py:352:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
_ _

self = <dtest_setup.DTestSetup object at 0x7fc76119f340>
request = <SubRequest 'fixture_dtest_setup' for <Function 'test_sjk'>>

def cleanup_cluster(self, request=None):
with log_filter('cassandra'): # quiet noise from driver when nodes start
going down
> if self.dtest_config.keep_test_dir or
(self.dtest_config.keep_failed_test_dir and request and
request.node.rep_call.failed):
E AttributeError: 'Function' object has no attribute 'rep_call'

dtest_setup.py:351: AttributeError
----------------------------------------------------------------------------
Cassandra dtests // test_create_dc_validation // Error
test teardown failure

request = <SubRequest 'fixture_dtest_setup' for <Function
'test_create_dc_validation'>>
dtest_config = <dtest_config.DTestConfig object at 0x7fa7de6ac8b0>
fixture_dtest_setup_overrides = <dtest_setup_overrides.DTestSetupOverrides
object at 0x7fa7de8b1b20>
fixture_logging_setup = None, fixture_dtest_cluster_name = 'test'
fixture_dtest_create_cluster_func = <function DTestSetup.create_ccm_cluster
at 0x7fa7dec6d9d0>

@pytest.fixture(scope='function', autouse=False)
def fixture_dtest_setup(request,
dtest_config,
fixture_dtest_setup_overrides,
fixture_logging_setup,
fixture_dtest_cluster_name,
fixture_dtest_create_cluster_func):
if running_in_docker():
cleanup_docker_environment_before_test_execution()

# do all of our setup operations to get the enviornment ready for the actual
test
# to run (e.g. bring up a cluster with the necessary config, populate
variables, etc)
initial_environment = copy.deepcopy(os.environ)
dtest_setup = DTestSetup(dtest_config=dtest_config,
setup_overrides=fixture_dtest_setup_overrides,
cluster_name=fixture_dtest_cluster_name)
dtest_setup.initialize_cluster(fixture_dtest_create_cluster_func)

if not dtest_config.disable_active_log_watching:
dtest_setup.begin_active_log_watch()

# at this point we're done with our setup operations in this fixture
# yield to allow the actual test to run
yield dtest_setup

# phew! we're back after executing the test, now we need to do
# all of our teardown and cleanup operations

reset_environment_vars(initial_environment)
dtest_setup.jvm_args = []

for con in dtest_setup.connections:
con.cluster.shutdown()
dtest_setup.connections = []

failed = False
try:
if not dtest_setup.allow_log_errors:
errors = check_logs_for_errors(dtest_setup)
if len(errors) > 0:
failed = True
pytest.fail(msg='Unexpected error found in node logs (see stdout for full
details). Errors: [{errors}]'
.format(errors=str.join(", ", errors)), pytrace=False)
finally:
try:
# save the logs for inspection
if failed or not dtest_config.delete_logs:
copy_logs(request, dtest_setup.cluster)
except Exception as e:
logger.error("Error saving log:", str(e))
finally:
> dtest_setup.cleanup_cluster(request)

conftest.py:352:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
_ _

self = <dtest_setup.DTestSetup object at 0x7fa7de726340>
request = <SubRequest 'fixture_dtest_setup' for <Function
'test_create_dc_validation'>>

def cleanup_cluster(self, request=None):
with log_filter('cassandra'): # quiet noise from driver when nodes start
going down
> if self.dtest_config.keep_test_dir or
(self.dtest_config.keep_failed_test_dir and request and
request.node.rep_call.failed):
E AttributeError: 'Function' object has no attribute 'rep_call'

dtest_setup.py:351: AttributeError
----------------------------------------------------------------------------
Cassandra dtests // test_alter_dc_validation // Error
test teardown failure

request = <SubRequest 'fixture_dtest_setup' for <Function
'test_alter_dc_validation'>>
dtest_config = <dtest_config.DTestConfig object at 0x7f7eaa6ced90>
fixture_dtest_setup_overrides = <dtest_setup_overrides.DTestSetupOverrides
object at 0x7f7eaa6ceca0>
fixture_logging_setup = None, fixture_dtest_cluster_name = 'test'
fixture_dtest_create_cluster_func = <function DTestSetup.create_ccm_cluster
at 0x7f7eaae5db80>

@pytest.fixture(scope='function', autouse=False)
def fixture_dtest_setup(request,
dtest_config,
fixture_dtest_setup_overrides,
fixture_logging_setup,
fixture_dtest_cluster_name,
fixture_dtest_create_cluster_func):
if running_in_docker():
cleanup_docker_environment_before_test_execution()

# do all of our setup operations to get the enviornment ready for the actual
test
# to run (e.g. bring up a cluster with the necessary config, populate
variables, etc)
initial_environment = copy.deepcopy(os.environ)
dtest_setup = DTestSetup(dtest_config=dtest_config,
setup_overrides=fixture_dtest_setup_overrides,
cluster_name=fixture_dtest_cluster_name)
dtest_setup.initialize_cluster(fixture_dtest_create_cluster_func)

if not dtest_config.disable_active_log_watching:
dtest_setup.begin_active_log_watch()

# at this point we're done with our setup operations in this fixture
# yield to allow the actual test to run
yield dtest_setup

# phew! we're back after executing the test, now we need to do
# all of our teardown and cleanup operations

reset_environment_vars(initial_environment)
dtest_setup.jvm_args = []

for con in dtest_setup.connections:
con.cluster.shutdown()
dtest_setup.connections = []

failed = False
try:
if not dtest_setup.allow_log_errors:
errors = check_logs_for_errors(dtest_setup)
if len(errors) > 0:
failed = True
pytest.fail(msg='Unexpected error found in node logs (see stdout for full
details). Errors: [{errors}]'
.format(errors=str.join(", ", errors)), pytrace=False)
finally:
try:
# save the logs for inspection
if failed or not dtest_config.delete_logs:
copy_logs(request, dtest_setup.cluster)
except Exception as e:
logger.error("Error saving log:", str(e))
finally:
> dtest_setup.cleanup_cluster(request)

conftest.py:352:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
_ _

self = <dtest_setup.DTestSetup object at 0x7f7eaa8747f0>
request = <SubRequest 'fixture_dtest_setup' for <Function
'test_alter_dc_validation'>>

def cleanup_cluster(self, request=None):
with log_filter('cassandra'): # quiet noise from driver when nodes start
going down
> if self.dtest_config.keep_test_dir or
(self.dtest_config.keep_failed_test_dir and request and
request.node.rep_call.failed):
E AttributeError: 'Function' object has no attribute 'rep_call'

dtest_setup.py:351: AttributeError
----------------------------------------------------------------------------
Cassandra dtests // test_revoked_login // Error
test teardown failure

request = <SubRequest 'fixture_dtest_setup' for <Function
'test_revoked_login'>>
dtest_config = <dtest_config.DTestConfig object at 0x7f9b553eea30>
fixture_dtest_setup_overrides = <dtest_setup_overrides.DTestSetupOverrides
object at 0x7f9b553eaf70>
fixture_logging_setup = None, fixture_dtest_cluster_name = 'test'
fixture_dtest_create_cluster_func = <function DTestSetup.create_ccm_cluster
at 0x7f9b55b87c10>

@pytest.fixture(scope='function', autouse=False)
def fixture_dtest_setup(request,
dtest_config,
fixture_dtest_setup_overrides,
fixture_logging_setup,
fixture_dtest_cluster_name,
fixture_dtest_create_cluster_func):
if running_in_docker():
cleanup_docker_environment_before_test_execution()

# do all of our setup operations to get the enviornment ready for the actual
test
# to run (e.g. bring up a cluster with the necessary config, populate
variables, etc)
initial_environment = copy.deepcopy(os.environ)
dtest_setup = DTestSetup(dtest_config=dtest_config,
setup_overrides=fixture_dtest_setup_overrides,
cluster_name=fixture_dtest_cluster_name)
dtest_setup.initialize_cluster(fixture_dtest_create_cluster_func)

if not dtest_config.disable_active_log_watching:
dtest_setup.begin_active_log_watch()

# at this point we're done with our setup operations in this fixture
# yield to allow the actual test to run
yield dtest_setup

# phew! we're back after executing the test, now we need to do
# all of our teardown and cleanup operations

reset_environment_vars(initial_environment)
dtest_setup.jvm_args = []

for con in dtest_setup.connections:
con.cluster.shutdown()
dtest_setup.connections = []

failed = False
try:
if not dtest_setup.allow_log_errors:
errors = check_logs_for_errors(dtest_setup)
if len(errors) > 0:
failed = True
pytest.fail(msg='Unexpected error found in node logs (see stdout for full
details). Errors: [{errors}]'
.format(errors=str.join(", ", errors)), pytrace=False)
finally:
try:
# save the logs for inspection
if failed or not dtest_config.delete_logs:
copy_logs(request, dtest_setup.cluster)
except Exception as e:
logger.error("Error saving log:", str(e))
finally:
> dtest_setup.cleanup_cluster(request)

conftest.py:352:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
_ _

self = <dtest_setup.DTestSetup object at 0x7f9b55b408b0>
request = <SubRequest 'fixture_dtest_setup' for <Function
'test_revoked_login'>>

def cleanup_cluster(self, request=None):
with log_filter('cassandra'): # quiet noise from driver when nodes start
going down
> if self.dtest_config.keep_test_dir or
(self.dtest_config.keep_failed_test_dir and request and
request.node.rep_call.failed):
E AttributeError: 'Function' object has no attribute 'rep_call'

dtest_setup.py:351: AttributeError
----------------------------------------------------------------------------
Cassandra dtests // test_force // Error
test teardown failure

request = <SubRequest 'fixture_dtest_setup' for <Function 'test_force'>>
dtest_config = <dtest_config.DTestConfig object at 0x7fdafc07e940>
fixture_dtest_setup_overrides = <dtest_setup_overrides.DTestSetupOverrides
object at 0x7fdaf8688100>
fixture_logging_setup = None, fixture_dtest_cluster_name = 'test'
fixture_dtest_create_cluster_func = <function DTestSetup.create_ccm_cluster
at 0x7fdafc874af0>

@pytest.fixture(scope='function', autouse=False)
def fixture_dtest_setup(request,
dtest_config,
fixture_dtest_setup_overrides,
fixture_logging_setup,
fixture_dtest_cluster_name,
fixture_dtest_create_cluster_func):
if running_in_docker():
cleanup_docker_environment_before_test_execution()

# do all of our setup operations to get the enviornment ready for the actual
test
# to run (e.g. bring up a cluster with the necessary config, populate
variables, etc)
initial_environment = copy.deepcopy(os.environ)
dtest_setup = DTestSetup(dtest_config=dtest_config,
setup_overrides=fixture_dtest_setup_overrides,
cluster_name=fixture_dtest_cluster_name)
dtest_setup.initialize_cluster(fixture_dtest_create_cluster_func)

if not dtest_config.disable_active_log_watching:
dtest_setup.begin_active_log_watch()

# at this point we're done with our setup operations in this fixture
# yield to allow the actual test to run
yield dtest_setup

# phew! we're back after executing the test, now we need to do
# all of our teardown and cleanup operations

reset_environment_vars(initial_environment)
dtest_setup.jvm_args = []

for con in dtest_setup.connections:
con.cluster.shutdown()
dtest_setup.connections = []

failed = False
try:
if not dtest_setup.allow_log_errors:
errors = check_logs_for_errors(dtest_setup)
if len(errors) > 0:
failed = True
pytest.fail(msg='Unexpected error found in node logs (see stdout for full
details). Errors: [{errors}]'
.format(errors=str.join(", ", errors)), pytrace=False)
finally:
try:
# save the logs for inspection
if failed or not dtest_config.delete_logs:
copy_logs(request, dtest_setup.cluster)
except Exception as e:
logger.error("Error saving log:", str(e))
finally:
> dtest_setup.cleanup_cluster(request)

conftest.py:352:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
_ _

self = <dtest_setup.DTestSetup object at 0x7fdaf86f0850>
request = <SubRequest 'fixture_dtest_setup' for <Function 'test_force'>>

def cleanup_cluster(self, request=None):
with log_filter('cassandra'): # quiet noise from driver when nodes start
going down
> if self.dtest_config.keep_test_dir or
(self.dtest_config.keep_failed_test_dir and request and
request.node.rep_call.failed):
E AttributeError: 'Function' object has no attribute 'rep_call'

dtest_setup.py:351: AttributeError
----------------------------------------------------------------------------
Cassandra dtests // test_archive_on_startup // Error
test teardown failure

request = <SubRequest 'fixture_dtest_setup' for <Function
'test_archive_on_startup'>>
dtest_config = <dtest_config.DTestConfig object at 0x7fbf0c00edf0>
fixture_dtest_setup_overrides = <dtest_setup_overrides.DTestSetupOverrides
object at 0x7fbf0c00ed90>
fixture_logging_setup = None, fixture_dtest_cluster_name = 'test'
fixture_dtest_create_cluster_func = <function DTestSetup.create_ccm_cluster
at 0x7fbf0c8de9d0>

@pytest.fixture(scope='function', autouse=False)
def fixture_dtest_setup(request,
dtest_config,
fixture_dtest_setup_overrides,
fixture_logging_setup,
fixture_dtest_cluster_name,
fixture_dtest_create_cluster_func):
if running_in_docker():
cleanup_docker_environment_before_test_execution()

# do all of our setup operations to get the enviornment ready for the actual
test
# to run (e.g. bring up a cluster with the necessary config, populate
variables, etc)
initial_environment = copy.deepcopy(os.environ)
dtest_setup = DTestSetup(dtest_config=dtest_config,
setup_overrides=fixture_dtest_setup_overrides,
cluster_name=fixture_dtest_cluster_name)
dtest_setup.initialize_cluster(fixture_dtest_create_cluster_func)

if not dtest_config.disable_active_log_watching:
dtest_setup.begin_active_log_watch()

# at this point we're done with our setup operations in this fixture
# yield to allow the actual test to run
yield dtest_setup

# phew! we're back after executing the test, now we need to do
# all of our teardown and cleanup operations

reset_environment_vars(initial_environment)
dtest_setup.jvm_args = []

for con in dtest_setup.connections:
con.cluster.shutdown()
dtest_setup.connections = []

failed = False
try:
if not dtest_setup.allow_log_errors:
errors = check_logs_for_errors(dtest_setup)
if len(errors) > 0:
failed = True
pytest.fail(msg='Unexpected error found in node logs (see stdout for full
details). Errors: [{errors}]'
.format(errors=str.join(", ", errors)), pytrace=False)
finally:
try:
# save the logs for inspection
if failed or not dtest_config.delete_logs:
copy_logs(request, dtest_setup.cluster)
except Exception as e:
logger.error("Error saving log:", str(e))
finally:
> dtest_setup.cleanup_cluster(request)

conftest.py:352:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
_ _

self = <dtest_setup.DTestSetup object at 0x7fbf0c00e940>
request = <SubRequest 'fixture_dtest_setup' for <Function
'test_archive_on_startup'>>

def cleanup_cluster(self, request=None):
with log_filter('cassandra'): # quiet noise from driver when nodes start
going down
> if self.dtest_config.keep_test_dir or
(self.dtest_config.keep_failed_test_dir and request and
request.node.rep_call.failed):
E AttributeError: 'Function' object has no attribute 'rep_call'

dtest_setup.py:351: AttributeError
----------------------------------------------------------------------------
Cassandra dtests // test_atomic_writes[none] // Error
test teardown failure

request = <SubRequest 'fixture_dtest_setup' for <Function
'test_atomic_writes[none]'>>
dtest_config = <dtest_config.DTestConfig object at 0x7fbf0c00edf0>
fixture_dtest_setup_overrides = <dtest_setup_overrides.DTestSetupOverrides
object at 0x7fbf0b7d3280>
fixture_logging_setup = None, fixture_dtest_cluster_name = 'test'
fixture_dtest_create_cluster_func = <function DTestSetup.create_ccm_cluster
at 0x7fbf0c8de9d0>

@pytest.fixture(scope='function', autouse=False)
def fixture_dtest_setup(request,
dtest_config,
fixture_dtest_setup_overrides,
fixture_logging_setup,
fixture_dtest_cluster_name,
fixture_dtest_create_cluster_func):
if running_in_docker():
cleanup_docker_environment_before_test_execution()

# do all of our setup operations to get the enviornment ready for the actual
test
# to run (e.g. bring up a cluster with the necessary config, populate
variables, etc)
initial_environment = copy.deepcopy(os.environ)
dtest_setup = DTestSetup(dtest_config=dtest_config,
setup_overrides=fixture_dtest_setup_overrides,
cluster_name=fixture_dtest_cluster_name)
dtest_setup.initialize_cluster(fixture_dtest_create_cluster_func)

if not dtest_config.disable_active_log_watching:
dtest_setup.begin_active_log_watch()

# at this point we're done with our setup operations in this fixture
# yield to allow the actual test to run
yield dtest_setup

# phew! we're back after executing the test, now we need to do
# all of our teardown and cleanup operations

reset_environment_vars(initial_environment)
dtest_setup.jvm_args = []

for con in dtest_setup.connections:
con.cluster.shutdown()
dtest_setup.connections = []

failed = False
try:
if not dtest_setup.allow_log_errors:
errors = check_logs_for_errors(dtest_setup)
if len(errors) > 0:
failed = True
pytest.fail(msg='Unexpected error found in node logs (see stdout for full
details). Errors: [{errors}]'
.format(errors=str.join(", ", errors)), pytrace=False)
finally:
try:
# save the logs for inspection
if failed or not dtest_config.delete_logs:
copy_logs(request, dtest_setup.cluster)
except Exception as e:
logger.error("Error saving log:", str(e))
finally:
> dtest_setup.cleanup_cluster(request)

conftest.py:352:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
_ _

self = <dtest_setup.DTestSetup object at 0x7fbf0b7d3970>
request = <SubRequest 'fixture_dtest_setup' for <Function
'test_atomic_writes[none]'>>

def cleanup_cluster(self, request=None):
with log_filter('cassandra'): # quiet noise from driver when nodes start
going down
> if self.dtest_config.keep_test_dir or
(self.dtest_config.keep_failed_test_dir and request and
request.node.rep_call.failed):
E AttributeError: 'Function' object has no attribute 'rep_call'

dtest_setup.py:351: AttributeError
----------------------------------------------------------------------------
Cassandra dtests // test_wide_row_repair // Error
test teardown failure

request = <SubRequest 'fixture_dtest_setup' for <Function
'test_wide_row_repair'>>
dtest_config = <dtest_config.DTestConfig object at 0x7fbf0c00edf0>
fixture_dtest_setup_overrides = <dtest_setup_overrides.DTestSetupOverrides
object at 0x7fbf0c0022b0>
fixture_logging_setup = None, fixture_dtest_cluster_name = 'test'
fixture_dtest_create_cluster_func = <function DTestSetup.create_ccm_cluster
at 0x7fbf0c8de9d0>

@pytest.fixture(scope='function', autouse=False)
def fixture_dtest_setup(request,
dtest_config,
fixture_dtest_setup_overrides,
fixture_logging_setup,
fixture_dtest_cluster_name,
fixture_dtest_create_cluster_func):
if running_in_docker():
cleanup_docker_environment_before_test_execution()

# do all of our setup operations to get the enviornment ready for the actual
test
# to run (e.g. bring up a cluster with the necessary config, populate
variables, etc)
initial_environment = copy.deepcopy(os.environ)
dtest_setup = DTestSetup(dtest_config=dtest_config,
setup_overrides=fixture_dtest_setup_overrides,
cluster_name=fixture_dtest_cluster_name)
dtest_setup.initialize_cluster(fixture_dtest_create_cluster_func)

if not dtest_config.disable_active_log_watching:
dtest_setup.begin_active_log_watch()

# at this point we're done with our setup operations in this fixture
# yield to allow the actual test to run
yield dtest_setup

# phew! we're back after executing the test, now we need to do
# all of our teardown and cleanup operations

reset_environment_vars(initial_environment)
dtest_setup.jvm_args = []

for con in dtest_setup.connections:
con.cluster.shutdown()
dtest_setup.connections = []

failed = False
try:
if not dtest_setup.allow_log_errors:
errors = check_logs_for_errors(dtest_setup)
if len(errors) > 0:
failed = True
pytest.fail(msg='Unexpected error found in node logs (see stdout for full
details). Errors: [{errors}]'
.format(errors=str.join(", ", errors)), pytrace=False)
finally:
try:
# save the logs for inspection
if failed or not dtest_config.delete_logs:
copy_logs(request, dtest_setup.cluster)
except Exception as e:
logger.error("Error saving log:", str(e))
finally:
> dtest_setup.cleanup_cluster(request)

conftest.py:352:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
_ _

self = <dtest_setup.DTestSetup object at 0x7fbf0c376280>
request = <SubRequest 'fixture_dtest_setup' for <Function
'test_wide_row_repair'>>

def cleanup_cluster(self, request=None):
with log_filter('cassandra'): # quiet noise from driver when nodes start
going down
> if self.dtest_config.keep_test_dir or
(self.dtest_config.keep_failed_test_dir and request and
request.node.rep_call.failed):
E AttributeError: 'Function' object has no attribute 'rep_call'

dtest_setup.py:351: AttributeError
----------------------------------------------------------------------------
Cassandra dtests // test_force_with_none_down // Error
test teardown failure

request = <SubRequest 'fixture_dtest_setup' for <Function
'test_force_with_none_down'>>
dtest_config = <dtest_config.DTestConfig object at 0x7fbaee8eea30>
fixture_dtest_setup_overrides = <dtest_setup_overrides.DTestSetupOverrides
object at 0x7fbaede44250>
fixture_logging_setup = None, fixture_dtest_cluster_name = 'test'
fixture_dtest_create_cluster_func = <function DTestSetup.create_ccm_cluster
at 0x7fbaef0e7c10>

@pytest.fixture(scope='function', autouse=False)
def fixture_dtest_setup(request,
dtest_config,
fixture_dtest_setup_overrides,
fixture_logging_setup,
fixture_dtest_cluster_name,
fixture_dtest_create_cluster_func):
if running_in_docker():
cleanup_docker_environment_before_test_execution()

# do all of our setup operations to get the enviornment ready for the actual
test
# to run (e.g. bring up a cluster with the necessary config, populate
variables, etc)
initial_environment = copy.deepcopy(os.environ)
dtest_setup = DTestSetup(dtest_config=dtest_config,
setup_overrides=fixture_dtest_setup_overrides,
cluster_name=fixture_dtest_cluster_name)
dtest_setup.initialize_cluster(fixture_dtest_create_cluster_func)

if not dtest_config.disable_active_log_watching:
dtest_setup.begin_active_log_watch()

# at this point we're done with our setup operations in this fixture
# yield to allow the actual test to run
yield dtest_setup

# phew! we're back after executing the test, now we need to do
# all of our teardown and cleanup operations

reset_environment_vars(initial_environment)
dtest_setup.jvm_args = []

for con in dtest_setup.connections:
con.cluster.shutdown()
dtest_setup.connections = []

failed = False
try:
if not dtest_setup.allow_log_errors:
errors = check_logs_for_errors(dtest_setup)
if len(errors) > 0:
failed = True
pytest.fail(msg='Unexpected error found in node logs (see stdout for full
details). Errors: [{errors}]'
.format(errors=str.join(", ", errors)), pytrace=False)
finally:
try:
# save the logs for inspection
if failed or not dtest_config.delete_logs:
copy_logs(request, dtest_setup.cluster)
except Exception as e:
logger.error("Error saving log:", str(e))
finally:
> dtest_setup.cleanup_cluster(request)

conftest.py:352:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
_ _

self = <dtest_setup.DTestSetup object at 0x7fbaede4ae50>
request = <SubRequest 'fixture_dtest_setup' for <Function
'test_force_with_none_down'>>

def cleanup_cluster(self, request=None):
with log_filter('cassandra'): # quiet noise from driver when nodes start
going down
> if self.dtest_config.keep_test_dir or
(self.dtest_config.keep_failed_test_dir and request and
request.node.rep_call.failed):
E AttributeError: 'Function' object has no attribute 'rep_call'

dtest_setup.py:351: AttributeError
----------------------------------------------------------------------------
Cassandra dtests // test_hosts // Error
test teardown failure

request = <SubRequest 'fixture_dtest_setup' for <Function 'test_hosts'>>
dtest_config = <dtest_config.DTestConfig object at 0x7f4888e76910>
fixture_dtest_setup_overrides = <dtest_setup_overrides.DTestSetupOverrides
object at 0x7f48881f3130>
fixture_logging_setup = None, fixture_dtest_cluster_name = 'test'
fixture_dtest_create_cluster_func = <function DTestSetup.create_ccm_cluster
at 0x7f488966faf0>

@pytest.fixture(scope='function', autouse=False)
def fixture_dtest_setup(request,
dtest_config,
fixture_dtest_setup_overrides,
fixture_logging_setup,
fixture_dtest_cluster_name,
fixture_dtest_create_cluster_func):
if running_in_docker():
cleanup_docker_environment_before_test_execution()

# do all of our setup operations to get the enviornment ready for the actual
test
# to run (e.g. bring up a cluster with the necessary config, populate
variables, etc)
initial_environment = copy.deepcopy(os.environ)
dtest_setup = DTestSetup(dtest_config=dtest_config,
setup_overrides=fixture_dtest_setup_overrides,
cluster_name=fixture_dtest_cluster_name)
dtest_setup.initialize_cluster(fixture_dtest_create_cluster_func)

if not dtest_config.disable_active_log_watching:
dtest_setup.begin_active_log_watch()

# at this point we're done with our setup operations in this fixture
# yield to allow the actual test to run
yield dtest_setup

# phew! we're back after executing the test, now we need to do
# all of our teardown and cleanup operations

reset_environment_vars(initial_environment)
dtest_setup.jvm_args = []

for con in dtest_setup.connections:
con.cluster.shutdown()
dtest_setup.connections = []

failed = False
try:
if not dtest_setup.allow_log_errors:
errors = check_logs_for_errors(dtest_setup)
if len(errors) > 0:
failed = True
pytest.fail(msg='Unexpected error found in node logs (see stdout for full
details). Errors: [{errors}]'
.format(errors=str.join(", ", errors)), pytrace=False)
finally:
try:
# save the logs for inspection
if failed or not dtest_config.delete_logs:
copy_logs(request, dtest_setup.cluster)
except Exception as e:
logger.error("Error saving log:", str(e))
finally:
> dtest_setup.cleanup_cluster(request)

conftest.py:352:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
_ _

self = <dtest_setup.DTestSetup object at 0x7f48882445b0>
request = <SubRequest 'fixture_dtest_setup' for <Function 'test_hosts'>>

def cleanup_cluster(self, request=None):
with log_filter('cassandra'): # quiet noise from driver when nodes start
going down
> if self.dtest_config.keep_test_dir or
(self.dtest_config.keep_failed_test_dir and request and
request.node.rep_call.failed):
E AttributeError: 'Function' object has no attribute 'rep_call'

dtest_setup.py:351: AttributeError
----------------------------------------------------------------------------
Cassandra dtests // test_compaction_delete[LeveledCompactionStrategy] /
/ Error
test teardown failure

request = <SubRequest 'fixture_dtest_setup' for <Function
'test_compaction_delete[LeveledCompactionStrategy]'>>
dtest_config = <dtest_config.DTestConfig object at 0x7fad507278b0>
fixture_dtest_setup_overrides = <dtest_setup_overrides.DTestSetupOverrides
object at 0x7fad4c5df070>
fixture_logging_setup = None, fixture_dtest_cluster_name = 'test'
fixture_dtest_create_cluster_func = <function DTestSetup.create_ccm_cluster
at 0x7fad50fa3b80>

@pytest.fixture(scope='function', autouse=False)
def fixture_dtest_setup(request,
dtest_config,
fixture_dtest_setup_overrides,
fixture_logging_setup,
fixture_dtest_cluster_name,
fixture_dtest_create_cluster_func):
if running_in_docker():
cleanup_docker_environment_before_test_execution()

# do all of our setup operations to get the enviornment ready for the actual
test
# to run (e.g. bring up a cluster with the necessary config, populate
variables, etc)
initial_environment = copy.deepcopy(os.environ)
dtest_setup = DTestSetup(dtest_config=dtest_config,
setup_overrides=fixture_dtest_setup_overrides,
cluster_name=fixture_dtest_cluster_name)
dtest_setup.initialize_cluster(fixture_dtest_create_cluster_func)

if not dtest_config.disable_active_log_watching:
dtest_setup.begin_active_log_watch()

# at this point we're done with our setup operations in this fixture
# yield to allow the actual test to run
yield dtest_setup

# phew! we're back after executing the test, now we need to do
# all of our teardown and cleanup operations

reset_environment_vars(initial_environment)
dtest_setup.jvm_args = []

for con in dtest_setup.connections:
con.cluster.shutdown()
dtest_setup.connections = []

failed = False
try:
if not dtest_setup.allow_log_errors:
errors = check_logs_for_errors(dtest_setup)
if len(errors) > 0:
failed = True
pytest.fail(msg='Unexpected error found in node logs (see stdout for full
details). Errors: [{errors}]'
.format(errors=str.join(", ", errors)), pytrace=False)
finally:
try:
# save the logs for inspection
if failed or not dtest_config.delete_logs:
copy_logs(request, dtest_setup.cluster)
except Exception as e:
logger.error("Error saving log:", str(e))
finally:
> dtest_setup.cleanup_cluster(request)

conftest.py:352:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
_ _

self = <dtest_setup.DTestSetup object at 0x7fad4ce46280>
request = <SubRequest 'fixture_dtest_setup' for <Function
'test_compaction_delete[LeveledCompactionStrategy]'>>

def cleanup_cluster(self, request=None):
with log_filter('cassandra'): # quiet noise from driver when nodes start
going down
> if self.dtest_config.keep_test_dir or
(self.dtest_config.keep_failed_test_dir and request and
request.node.rep_call.failed):
E AttributeError: 'Function' object has no attribute 'rep_call'

dtest_setup.py:351: AttributeError
----------------------------------------------------------------------------
Cassandra dtests // test_subrange // Error
test teardown failure

request = <SubRequest 'fixture_dtest_setup' for <Function 'test_subrange'>>
dtest_config = <dtest_config.DTestConfig object at 0x7fad507278b0>
fixture_dtest_setup_overrides = <dtest_setup_overrides.DTestSetupOverrides
object at 0x7fad4fc4fa00>
fixture_logging_setup = None, fixture_dtest_cluster_name = 'test'
fixture_dtest_create_cluster_func = <function DTestSetup.create_ccm_cluster
at 0x7fad50fa3b80>

@pytest.fixture(scope='function', autouse=False)
def fixture_dtest_setup(request,
dtest_config,
fixture_dtest_setup_overrides,
fixture_logging_setup,
fixture_dtest_cluster_name,
fixture_dtest_create_cluster_func):
if running_in_docker():
cleanup_docker_environment_before_test_execution()

# do all of our setup operations to get the enviornment ready for the actual
test
# to run (e.g. bring up a cluster with the necessary config, populate
variables, etc)
initial_environment = copy.deepcopy(os.environ)
dtest_setup = DTestSetup(dtest_config=dtest_config,
setup_overrides=fixture_dtest_setup_overrides,
cluster_name=fixture_dtest_cluster_name)
dtest_setup.initialize_cluster(fixture_dtest_create_cluster_func)

if not dtest_config.disable_active_log_watching:
dtest_setup.begin_active_log_watch()

# at this point we're done with our setup operations in this fixture
# yield to allow the actual test to run
yield dtest_setup

# phew! we're back after executing the test, now we need to do
# all of our teardown and cleanup operations

reset_environment_vars(initial_environment)
dtest_setup.jvm_args = []

for con in dtest_setup.connections:
con.cluster.shutdown()
dtest_setup.connections = []

failed = False
try:
if not dtest_setup.allow_log_errors:
errors = check_logs_for_errors(dtest_setup)
if len(errors) > 0:
failed = True
pytest.fail(msg='Unexpected error found in node logs (see stdout for full
details). Errors: [{errors}]'
.format(errors=str.join(", ", errors)), pytrace=False)
finally:
try:
# save the logs for inspection
if failed or not dtest_config.delete_logs:
copy_logs(request, dtest_setup.cluster)
except Exception as e:
logger.error("Error saving log:", str(e))
finally:
> dtest_setup.cleanup_cluster(request)

conftest.py:352:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
_ _

self = <dtest_setup.DTestSetup object at 0x7fad4fc4fb20>
request = <SubRequest 'fixture_dtest_setup' for <Function 'test_subrange'>>

def cleanup_cluster(self, request=None):
with log_filter('cassandra'): # quiet noise from driver when nodes start
going down
> if self.dtest_config.keep_test_dir or
(self.dtest_config.keep_failed_test_dir and request and
request.node.rep_call.failed):
E AttributeError: 'Function' object has no attribute 'rep_call'

dtest_setup.py:351: AttributeError
----------------------------------------------------------------------------
Cassandra dtests // test_compaction_delete[SizeTieredCompactionStrategy] /
/ Error
test teardown failure

request = <SubRequest 'fixture_dtest_setup' for <Function
'test_compaction_delete[SizeTieredCompactionStrategy]'>>
dtest_config = <dtest_config.DTestConfig object at 0x7fadf5ecb070>
fixture_dtest_setup_overrides = <dtest_setup_overrides.DTestSetupOverrides
object at 0x7fadf5e6f0d0>
fixture_logging_setup = None, fixture_dtest_cluster_name = 'test'
fixture_dtest_create_cluster_func = <function DTestSetup.create_ccm_cluster
at 0x7fadf670ac10>

@pytest.fixture(scope='function', autouse=False)
def fixture_dtest_setup(request,
dtest_config,
fixture_dtest_setup_overrides,
fixture_logging_setup,
fixture_dtest_cluster_name,
fixture_dtest_create_cluster_func):
if running_in_docker():
cleanup_docker_environment_before_test_execution()

# do all of our setup operations to get the enviornment ready for the actual
test
# to run (e.g. bring up a cluster with the necessary config, populate
variables, etc)
initial_environment = copy.deepcopy(os.environ)
dtest_setup = DTestSetup(dtest_config=dtest_config,
setup_overrides=fixture_dtest_setup_overrides,
cluster_name=fixture_dtest_cluster_name)
dtest_setup.initialize_cluster(fixture_dtest_create_cluster_func)

if not dtest_config.disable_active_log_watching:
dtest_setup.begin_active_log_watch()

# at this point we're done with our setup operations in this fixture
# yield to allow the actual test to run
yield dtest_setup

# phew! we're back after executing the test, now we need to do
# all of our teardown and cleanup operations

reset_environment_vars(initial_environment)
dtest_setup.jvm_args = []

for con in dtest_setup.connections:
con.cluster.shutdown()
dtest_setup.connections = []

failed = False
try:
if not dtest_setup.allow_log_errors:
errors = check_logs_for_errors(dtest_setup)
if len(errors) > 0:
failed = True
pytest.fail(msg='Unexpected error found in node logs (see stdout for full
details). Errors: [{errors}]'
.format(errors=str.join(", ", errors)), pytrace=False)
finally:
try:
# save the logs for inspection
if failed or not dtest_config.delete_logs:
copy_logs(request, dtest_setup.cluster)
except Exception as e:
logger.error("Error saving log:", str(e))
finally:
> dtest_setup.cleanup_cluster(request)

conftest.py:352:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
_ _

self = <dtest_setup.DTestSetup object at 0x7fadf5e68760>
request = <SubRequest 'fixture_dtest_setup' for <Function
'test_compaction_delete[SizeTieredCompactionStrategy]'>>

def cleanup_cluster(self, request=None):
with log_filter('cassandra'): # quiet noise from driver when nodes start
going down
> if self.dtest_config.keep_test_dir or
(self.dtest_config.keep_failed_test_dir and request and
request.node.rep_call.failed):
E AttributeError: 'Function' object has no attribute 'rep_call'

dtest_setup.py:351: AttributeError
----------------------------------------------------------------------------
Cassandra dtests // test_tombstone_failure_threshold_message // Failure
cassandra.cluster.NoHostAvailable: ('Unable to connect to any servers',
{'127.0.0.1:9042': ConnectionShutdown('CRC mismatch on header 1085. Received
0", computed 6ab8cc.')})

self = <pushed_notifications_test.TestVariousNotifications object at
0x7fadf64bc040>

@since('2.2')
def test_tombstone_failure_threshold_message(self):
"""
Ensure nodes return an error message in case of
TombstoneOverwhelmingExceptions rather
than dropping the request. A drop makes the coordinator waits for the
specified
read_request_timeout_in_ms.
@jira_ticket CASSANDRA-7886
"""
have_v5_protocol = self.cluster.version() >= LooseVersion('3.10')

self.fixture_dtest_setup.allow_log_errors = True
self.cluster.set_configuration_options(
values={
'tombstone_failure_threshold': 500,
'read_request_timeout_in_ms': 30000, # 30 seconds
'range_request_timeout_in_ms': 40000
}
)
self.cluster.populate(3).start()
node1, node2, node3 = self.cluster.nodelist()
proto_version = 5 if have_v5_protocol else None
> session = self.patient_cql_connection(node1,
protocol_version=proto_version)

pushed_notifications_test.py:401:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
_ _
dtest_setup.py:238: in patient_cql_connection
session = retry_till_success(
dtest_setup.py:39: in retry_till_success
return fun(*args, **kwargs)
dtest_setup.py:176: in cql_connection
return self._create_session(node, keyspace, user, password, compression,
dtest_setup.py:216: in _create_session
session = cluster.connect(wait_for_all_pools=True)
../venv/src/cassandra-driver/cassandra/cluster.py:1690: in connect
self.control_connection.connect()
../venv/src/cassandra-driver/cassandra/cluster.py:3488: in connect
self._set_new_connection(self._reconnect_internal())
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
_ _

self = <cassandra.cluster.ControlConnection object at 0x7fadf53d0910>

def _reconnect_internal(self):
"""
Tries to connect to each host in the query plan until one succeeds
or every attempt fails. If successful, a new Connection will be
returned. Otherwise, :exc:`NoHostAvailable` will be raised
with an "errors" arg that is a dict mapping host addresses
to the exception that was raised when an attempt was made to open
a connection to that host.
"""
errors = {}
lbp = (
self._cluster.load_balancing_policy
if self._cluster._config_mode == _ConfigMode.LEGACY else
self._cluster._default_load_balancing_policy
)

for host in lbp.make_query_plan():
try:
return self._try_connect(host)
except ConnectionException as exc:
errors[str(host.endpoint)] = exc
log.warning("[control connection] Error connecting to %s:", host,
exc_info=True)
self._cluster.signal_connection_failure(host, exc, is_host_addition=False)
except Exception as exc:
errors[str(host.endpoint)] = exc
log.warning("[control connection] Error connecting to %s:", host,
exc_info=True)
if self._is_shutdown:
raise DriverException("[control connection] Reconnection in progress during
shutdown")

> raise NoHostAvailable("Unable to connect to any servers", errors)
E cassandra.cluster.NoHostAvailable: ('Unable to connect to any servers',
{'127.0.0.1:9042': ConnectionShutdown('CRC mismatch on header 1085. Received
0", computed 6ab8cc.')})

../venv/src/cassandra-driver/cassandra/cluster.py:3533: NoHostAvailable
----------------------------------------------------------------------------
Cassandra dtests // test_optional_outbound_tls // Error
test teardown failure

request = <SubRequest 'fixture_dtest_setup' for <Function
'test_optional_outbound_tls'>>
dtest_config = <dtest_config.DTestConfig object at 0x7fadf5ecb070>
fixture_dtest_setup_overrides = <dtest_setup_overrides.DTestSetupOverrides
object at 0x7fadf52cf4c0>
fixture_logging_setup = None, fixture_dtest_cluster_name = 'test'
fixture_dtest_create_cluster_func = <function DTestSetup.create_ccm_cluster
at 0x7fadf670ac10>

@pytest.fixture(scope='function', autouse=False)
def fixture_dtest_setup(request,
dtest_config,
fixture_dtest_setup_overrides,
fixture_logging_setup,
fixture_dtest_cluster_name,
fixture_dtest_create_cluster_func):
if running_in_docker():
cleanup_docker_environment_before_test_execution()

# do all of our setup operations to get the enviornment ready for the actual
test
# to run (e.g. bring up a cluster with the necessary config, populate
variables, etc)
initial_environment = copy.deepcopy(os.environ)
dtest_setup = DTestSetup(dtest_config=dtest_config,
setup_overrides=fixture_dtest_setup_overrides,
cluster_name=fixture_dtest_cluster_name)
dtest_setup.initialize_cluster(fixture_dtest_create_cluster_func)

if not dtest_config.disable_active_log_watching:
dtest_setup.begin_active_log_watch()

# at this point we're done with our setup operations in this fixture
# yield to allow the actual test to run
yield dtest_setup

# phew! we're back after executing the test, now we need to do
# all of our teardown and cleanup operations

reset_environment_vars(initial_environment)
dtest_setup.jvm_args = []

for con in dtest_setup.connections:
con.cluster.shutdown()
dtest_setup.connections = []

failed = False
try:
if not dtest_setup.allow_log_errors:
errors = check_logs_for_errors(dtest_setup)
if len(errors) > 0:
failed = True
pytest.fail(msg='Unexpected error found in node logs (see stdout for full
details). Errors: [{errors}]'
.format(errors=str.join(", ", errors)), pytrace=False)
finally:
try:
# save the logs for inspection
if failed or not dtest_config.delete_logs:
copy_logs(request, dtest_setup.cluster)
except Exception as e:
logger.error("Error saving log:", str(e))
finally:
> dtest_setup.cleanup_cluster(request)

conftest.py:352:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
_ _

self = <dtest_setup.DTestSetup object at 0x7fadf4325ac0>
request = <SubRequest 'fixture_dtest_setup' for <Function
'test_optional_outbound_tls'>>

def cleanup_cluster(self, request=None):
with log_filter('cassandra'): # quiet noise from driver when nodes start
going down
> if self.dtest_config.keep_test_dir or
(self.dtest_config.keep_failed_test_dir and request and
request.node.rep_call.failed):
E AttributeError: 'Function' object has no attribute 'rep_call'

dtest_setup.py:351: AttributeError
----------------------------------------------------------------------------
Cassandra dtests // test_repaired_tracking_with_partition_deletes // Error
test teardown failure

request = <SubRequest 'fixture_dtest_setup' for <Function
'test_repaired_tracking_with_partition_deletes'>>
dtest_config = <dtest_config.DTestConfig object at 0x7fadf5ecb070>
fixture_dtest_setup_overrides = <dtest_setup_overrides.DTestSetupOverrides
object at 0x7fadf525b220>
fixture_logging_setup = None, fixture_dtest_cluster_name = 'test'
fixture_dtest_create_cluster_func = <function DTestSetup.create_ccm_cluster
at 0x7fadf670ac10>

@pytest.fixture(scope='function', autouse=False)
def fixture_dtest_setup(request,
dtest_config,
fixture_dtest_setup_overrides,
fixture_logging_setup,
fixture_dtest_cluster_name,
fixture_dtest_create_cluster_func):
if running_in_docker():
cleanup_docker_environment_before_test_execution()

# do all of our setup operations to get the enviornment ready for the actual
test
# to run (e.g. bring up a cluster with the necessary config, populate
variables, etc)
initial_environment = copy.deepcopy(os.environ)
dtest_setup = DTestSetup(dtest_config=dtest_config,
setup_overrides=fixture_dtest_setup_overrides,
cluster_name=fixture_dtest_cluster_name)
dtest_setup.initialize_cluster(fixture_dtest_create_cluster_func)

if not dtest_config.disable_active_log_watching:
dtest_setup.begin_active_log_watch()

# at this point we're done with our setup operations in this fixture
# yield to allow the actual test to run
yield dtest_setup

# phew! we're back after executing the test, now we need to do
# all of our teardown and cleanup operations

reset_environment_vars(initial_environment)
dtest_setup.jvm_args = []

for con in dtest_setup.connections:
con.cluster.shutdown()
dtest_setup.connections = []

failed = False
try:
if not dtest_setup.allow_log_errors:
errors = check_logs_for_errors(dtest_setup)
if len(errors) > 0:
failed = True
pytest.fail(msg='Unexpected error found in node logs (see stdout for full
details). Errors: [{errors}]'
.format(errors=str.join(", ", errors)), pytrace=False)
finally:
try:
# save the logs for inspection
if failed or not dtest_config.delete_logs:
copy_logs(request, dtest_setup.cluster)
except Exception as e:
logger.error("Error saving log:", str(e))
finally:
> dtest_setup.cleanup_cluster(request)

conftest.py:352:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
_ _

self = <dtest_setup.DTestSetup object at 0x7fadf52c9790>
request = <SubRequest 'fixture_dtest_setup' for <Function
'test_repaired_tracking_with_partition_deletes'>>

def cleanup_cluster(self, request=None):
with log_filter('cassandra'): # quiet noise from driver when nodes start
going down
> if self.dtest_config.keep_test_dir or
(self.dtest_config.keep_failed_test_dir and request and
request.node.rep_call.failed):
E AttributeError: 'Function' object has no attribute 'rep_call'

dtest_setup.py:351: AttributeError
----------------------------------------------------------------------------
Cassandra dtests // test_compaction_delete[DateTieredCompactionStrategy] /
/ Error
test teardown failure

request = <SubRequest 'fixture_dtest_setup' for <Function
'test_compaction_delete[DateTieredCompactionStrategy]'>>
dtest_config = <dtest_config.DTestConfig object at 0x7f6f4ba62280>
fixture_dtest_setup_overrides = <dtest_setup_overrides.DTestSetupOverrides
object at 0x7f6f4c13aa00>
fixture_logging_setup = None, fixture_dtest_cluster_name = 'test'
fixture_dtest_create_cluster_func = <function DTestSetup.create_ccm_cluster
at 0x7f6f4c266af0>

@pytest.fixture(scope='function', autouse=False)
def fixture_dtest_setup(request,
dtest_config,
fixture_dtest_setup_overrides,
fixture_logging_setup,
fixture_dtest_cluster_name,
fixture_dtest_create_cluster_func):
if running_in_docker():
cleanup_docker_environment_before_test_execution()

# do all of our setup operations to get the enviornment ready for the actual
test
# to run (e.g. bring up a cluster with the necessary config, populate
variables, etc)
initial_environment = copy.deepcopy(os.environ)
dtest_setup = DTestSetup(dtest_config=dtest_config,
setup_overrides=fixture_dtest_setup_overrides,
cluster_name=fixture_dtest_cluster_name)
dtest_setup.initialize_cluster(fixture_dtest_create_cluster_func)

if not dtest_config.disable_active_log_watching:
dtest_setup.begin_active_log_watch()

# at this point we're done with our setup operations in this fixture
# yield to allow the actual test to run
yield dtest_setup

# phew! we're back after executing the test, now we need to do
# all of our teardown and cleanup operations

reset_environment_vars(initial_environment)
dtest_setup.jvm_args = []

for con in dtest_setup.connections:
con.cluster.shutdown()
dtest_setup.connections = []

failed = False
try:
if not dtest_setup.allow_log_errors:
errors = check_logs_for_errors(dtest_setup)
if len(errors) > 0:
failed = True
pytest.fail(msg='Unexpected error found in node logs (see stdout for full
details). Errors: [{errors}]'
.format(errors=str.join(", ", errors)), pytrace=False)
finally:
try:
# save the logs for inspection
if failed or not dtest_config.delete_logs:
copy_logs(request, dtest_setup.cluster)
except Exception as e:
logger.error("Error saving log:", str(e))
finally:
> dtest_setup.cleanup_cluster(request)

conftest.py:352:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
_ _

self = <dtest_setup.DTestSetup object at 0x7f6f4a070d90>
request = <SubRequest 'fixture_dtest_setup' for <Function
'test_compaction_delete[DateTieredCompactionStrategy]'>>

def cleanup_cluster(self, request=None):
with log_filter('cassandra'): # quiet noise from driver when nodes start
going down
> if self.dtest_config.keep_test_dir or
(self.dtest_config.keep_failed_test_dir and request and
request.node.rep_call.failed):
E AttributeError: 'Function' object has no attribute 'rep_call'

dtest_setup.py:351: AttributeError
----------------------------------------------------------------------------
Cassandra dtests // test_repaired_tracking_with_varying_sstable_sets /
/ Error
test teardown failure

request = <SubRequest 'fixture_dtest_setup' for <Function
'test_repaired_tracking_with_varying_sstable_sets'>>
dtest_config = <dtest_config.DTestConfig object at 0x7f6f4ba62280>
fixture_dtest_setup_overrides = <dtest_setup_overrides.DTestSetupOverrides
object at 0x7f6f4aed7340>
fixture_logging_setup = None, fixture_dtest_cluster_name = 'test'
fixture_dtest_create_cluster_func = <function DTestSetup.create_ccm_cluster
at 0x7f6f4c266af0>

@pytest.fixture(scope='function', autouse=False)
def fixture_dtest_setup(request,
dtest_config,
fixture_dtest_setup_overrides,
fixture_logging_setup,
fixture_dtest_cluster_name,
fixture_dtest_create_cluster_func):
if running_in_docker():
cleanup_docker_environment_before_test_execution()

# do all of our setup operations to get the enviornment ready for the actual
test
# to run (e.g. bring up a cluster with the necessary config, populate
variables, etc)
initial_environment = copy.deepcopy(os.environ)
dtest_setup = DTestSetup(dtest_config=dtest_config,
setup_overrides=fixture_dtest_setup_overrides,
cluster_name=fixture_dtest_cluster_name)
dtest_setup.initialize_cluster(fixture_dtest_create_cluster_func)

if not dtest_config.disable_active_log_watching:
dtest_setup.begin_active_log_watch()

# at this point we're done with our setup operations in this fixture
# yield to allow the actual test to run
yield dtest_setup

# phew! we're back after executing the test, now we need to do
# all of our teardown and cleanup operations

reset_environment_vars(initial_environment)
dtest_setup.jvm_args = []

for con in dtest_setup.connections:
con.cluster.shutdown()
dtest_setup.connections = []

failed = False
try:
if not dtest_setup.allow_log_errors:
errors = check_logs_for_errors(dtest_setup)
if len(errors) > 0:
failed = True
pytest.fail(msg='Unexpected error found in node logs (see stdout for full
details). Errors: [{errors}]'
.format(errors=str.join(", ", errors)), pytrace=False)
finally:
try:
# save the logs for inspection
if failed or not dtest_config.delete_logs:
copy_logs(request, dtest_setup.cluster)
except Exception as e:
logger.error("Error saving log:", str(e))
finally:
> dtest_setup.cleanup_cluster(request)

conftest.py:352:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
_ _

self = <dtest_setup.DTestSetup object at 0x7f6f4aed79d0>
request = <SubRequest 'fixture_dtest_setup' for <Function
'test_repaired_tracking_with_varying_sstable_sets'>>

def cleanup_cluster(self, request=None):
with log_filter('cassandra'): # quiet noise from driver when nodes start
going down
> if self.dtest_config.keep_test_dir or
(self.dtest_config.keep_failed_test_dir and request and
request.node.rep_call.failed):
E AttributeError: 'Function' object has no attribute 'rep_call'

dtest_setup.py:351: AttributeError
----------------------------------------------------------------------------
Cassandra dtests // test_replay // Error
test teardown failure

request = <SubRequest 'fixture_dtest_setup' for <Function 'test_replay'>>
dtest_config = <dtest_config.DTestConfig object at 0x7fc28320fd00>
fixture_dtest_setup_overrides = <dtest_setup_overrides.DTestSetupOverrides
object at 0x7fc28187f340>
fixture_logging_setup = None, fixture_dtest_cluster_name = 'test'
fixture_dtest_create_cluster_func = <function DTestSetup.create_ccm_cluster
at 0x7fc283a55a60>

@pytest.fixture(scope='function', autouse=False)
def fixture_dtest_setup(request,
dtest_config,
fixture_dtest_setup_overrides,
fixture_logging_setup,
fixture_dtest_cluster_name,
fixture_dtest_create_cluster_func):
if running_in_docker():
cleanup_docker_environment_before_test_execution()

# do all of our setup operations to get the enviornment ready for the actual
test
# to run (e.g. bring up a cluster with the necessary config, populate
variables, etc)
initial_environment = copy.deepcopy(os.environ)
dtest_setup = DTestSetup(dtest_config=dtest_config,
setup_overrides=fixture_dtest_setup_overrides,
cluster_name=fixture_dtest_cluster_name)
dtest_setup.initialize_cluster(fixture_dtest_create_cluster_func)

if not dtest_config.disable_active_log_watching:
dtest_setup.begin_active_log_watch()

# at this point we're done with our setup operations in this fixture
# yield to allow the actual test to run
yield dtest_setup

# phew! we're back after executing the test, now we need to do
# all of our teardown and cleanup operations

reset_environment_vars(initial_environment)
dtest_setup.jvm_args = []

for con in dtest_setup.connections:
con.cluster.shutdown()
dtest_setup.connections = []

failed = False
try:
if not dtest_setup.allow_log_errors:
errors = check_logs_for_errors(dtest_setup)
if len(errors) > 0:
failed = True
pytest.fail(msg='Unexpected error found in node logs (see stdout for full
details). Errors: [{errors}]'
.format(errors=str.join(", ", errors)), pytrace=False)
finally:
try:
# save the logs for inspection
if failed or not dtest_config.delete_logs:
copy_logs(request, dtest_setup.cluster)
except Exception as e:
logger.error("Error saving log:", str(e))
finally:
> dtest_setup.cleanup_cluster(request)

conftest.py:352:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
_ _

self = <dtest_setup.DTestSetup object at 0x7fc28187f100>
request = <SubRequest 'fixture_dtest_setup' for <Function 'test_replay'>>

def cleanup_cluster(self, request=None):
with log_filter('cassandra'): # quiet noise from driver when nodes start
going down
> if self.dtest_config.keep_test_dir or
(self.dtest_config.keep_failed_test_dir and request and
request.node.rep_call.failed):
E AttributeError: 'Function' object has no attribute 'rep_call'

dtest_setup.py:351: AttributeError
----------------------------------------------------------------------------
Cassandra dtests // test_repaired_tracking_with_mismatching_replicas /
/ Error
test teardown failure

request = <SubRequest 'fixture_dtest_setup' for <Function
'test_repaired_tracking_with_mismatching_replicas'>>
dtest_config = <dtest_config.DTestConfig object at 0x7fc28320fd00>
fixture_dtest_setup_overrides = <dtest_setup_overrides.DTestSetupOverrides
object at 0x7fc2828cefd0>
fixture_logging_setup = None, fixture_dtest_cluster_name = 'test'
fixture_dtest_create_cluster_func = <function DTestSetup.create_ccm_cluster
at 0x7fc283a55a60>

@pytest.fixture(scope='function', autouse=False)
def fixture_dtest_setup(request,
dtest_config,
fixture_dtest_setup_overrides,
fixture_logging_setup,
fixture_dtest_cluster_name,
fixture_dtest_create_cluster_func):
if running_in_docker():
cleanup_docker_environment_before_test_execution()

# do all of our setup operations to get the enviornment ready for the actual
test
# to run (e.g. bring up a cluster with the necessary config, populate
variables, etc)
initial_environment = copy.deepcopy(os.environ)
dtest_setup = DTestSetup(dtest_config=dtest_config,
setup_overrides=fixture_dtest_setup_overrides,
cluster_name=fixture_dtest_cluster_name)
dtest_setup.initialize_cluster(fixture_dtest_create_cluster_func)

if not dtest_config.disable_active_log_watching:
dtest_setup.begin_active_log_watch()

# at this point we're done with our setup operations in this fixture
# yield to allow the actual test to run
yield dtest_setup

# phew! we're back after executing the test, now we need to do
# all of our teardown and cleanup operations

reset_environment_vars(initial_environment)
dtest_setup.jvm_args = []

for con in dtest_setup.connections:
con.cluster.shutdown()
dtest_setup.connections = []

failed = False
try:
if not dtest_setup.allow_log_errors:
errors = check_logs_for_errors(dtest_setup)
if len(errors) > 0:
failed = True
pytest.fail(msg='Unexpected error found in node logs (see stdout for full
details). Errors: [{errors}]'
.format(errors=str.join(", ", errors)), pytrace=False)
finally:
try:
# save the logs for inspection
if failed or not dtest_config.delete_logs:
copy_logs(request, dtest_setup.cluster)
except Exception as e:
logger.error("Error saving log:", str(e))
finally:
> dtest_setup.cleanup_cluster(request)

conftest.py:352:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
_ _

self = <dtest_setup.DTestSetup object at 0x7fc2828ceb50>
request = <SubRequest 'fixture_dtest_setup' for <Function
'test_repaired_tracking_with_mismatching_replicas'>>

def cleanup_cluster(self, request=None):
with log_filter('cassandra'): # quiet noise from driver when nodes start
going down
> if self.dtest_config.keep_test_dir or
(self.dtest_config.keep_failed_test_dir and request and
request.node.rep_call.failed):
E AttributeError: 'Function' object has no attribute 'rep_call'

dtest_setup.py:351: AttributeError
----------------------------------------------------------------------------
Cassandra dtests // test_compare // Error
test teardown failure

request = <SubRequest 'fixture_dtest_setup' for <Function 'test_compare'>>
dtest_config = <dtest_config.DTestConfig object at 0x7f952f075dc0>
fixture_dtest_setup_overrides = <dtest_setup_overrides.DTestSetupOverrides
object at 0x7f952f2258e0>
fixture_logging_setup = None, fixture_dtest_cluster_name = 'test'
fixture_dtest_create_cluster_func = <function DTestSetup.create_ccm_cluster
at 0x7f952f920af0>

@pytest.fixture(scope='function', autouse=False)
def fixture_dtest_setup(request,
dtest_config,
fixture_dtest_setup_overrides,
fixture_logging_setup,
fixture_dtest_cluster_name,
fixture_dtest_create_cluster_func):
if running_in_docker():
cleanup_docker_environment_before_test_execution()

# do all of our setup operations to get the enviornment ready for the actual
test
# to run (e.g. bring up a cluster with the necessary config, populate
variables, etc)
initial_environment = copy.deepcopy(os.environ)
dtest_setup = DTestSetup(dtest_config=dtest_config,
setup_overrides=fixture_dtest_setup_overrides,
cluster_name=fixture_dtest_cluster_name)
dtest_setup.initialize_cluster(fixture_dtest_create_cluster_func)

if not dtest_config.disable_active_log_watching:
dtest_setup.begin_active_log_watch()

# at this point we're done with our setup operations in this fixture
# yield to allow the actual test to run
yield dtest_setup

# phew! we're back after executing the test, now we need to do
# all of our teardown and cleanup operations

reset_environment_vars(initial_environment)
dtest_setup.jvm_args = []

for con in dtest_setup.connections:
con.cluster.shutdown()
dtest_setup.connections = []

failed = False
try:
if not dtest_setup.allow_log_errors:
errors = check_logs_for_errors(dtest_setup)
if len(errors) > 0:
failed = True
pytest.fail(msg='Unexpected error found in node logs (see stdout for full
details). Errors: [{errors}]'
.format(errors=str.join(", ", errors)), pytrace=False)
finally:
try:
# save the logs for inspection
if failed or not dtest_config.delete_logs:
copy_logs(request, dtest_setup.cluster)
except Exception as e:
logger.error("Error saving log:", str(e))
finally:
> dtest_setup.cleanup_cluster(request)

conftest.py:352:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
_ _

self = <dtest_setup.DTestSetup object at 0x7f952c64d340>
request = <SubRequest 'fixture_dtest_setup' for <Function 'test_compare'>>

def cleanup_cluster(self, request=None):
with log_filter('cassandra'): # quiet noise from driver when nodes start
going down
> if self.dtest_config.keep_test_dir or
(self.dtest_config.keep_failed_test_dir and request and
request.node.rep_call.failed):
E AttributeError: 'Function' object has no attribute 'rep_call'

dtest_setup.py:351: AttributeError
----------------------------------------------------------------------------
Cassandra dtests // test_compare_mismatch // Error
test teardown failure

request = <SubRequest 'fixture_dtest_setup' for <Function
'test_compare_mismatch'>>
dtest_config = <dtest_config.DTestConfig object at 0x7fc3800044f0>
fixture_dtest_setup_overrides = <dtest_setup_overrides.DTestSetupOverrides
object at 0x7fc37c50db50>
fixture_logging_setup = None, fixture_dtest_cluster_name = 'test'
fixture_dtest_create_cluster_func = <function DTestSetup.create_ccm_cluster
at 0x7fc38080b940>

@pytest.fixture(scope='function', autouse=False)
def fixture_dtest_setup(request,
dtest_config,
fixture_dtest_setup_overrides,
fixture_logging_setup,
fixture_dtest_cluster_name,
fixture_dtest_create_cluster_func):
if running_in_docker():
cleanup_docker_environment_before_test_execution()

# do all of our setup operations to get the enviornment ready for the actual
test
# to run (e.g. bring up a cluster with the necessary config, populate
variables, etc)
initial_environment = copy.deepcopy(os.environ)
dtest_setup = DTestSetup(dtest_config=dtest_config,
setup_overrides=fixture_dtest_setup_overrides,
cluster_name=fixture_dtest_cluster_name)
dtest_setup.initialize_cluster(fixture_dtest_create_cluster_func)

if not dtest_config.disable_active_log_watching:
dtest_setup.begin_active_log_watch()

# at this point we're done with our setup operations in this fixture
# yield to allow the actual test to run
yield dtest_setup

# phew! we're back after executing the test, now we need to do
# all of our teardown and cleanup operations

reset_environment_vars(initial_environment)
dtest_setup.jvm_args = []

for con in dtest_setup.connections:
con.cluster.shutdown()
dtest_setup.connections = []

failed = False
try:
if not dtest_setup.allow_log_errors:
errors = check_logs_for_errors(dtest_setup)
if len(errors) > 0:
failed = True
pytest.fail(msg='Unexpected error found in node logs (see stdout for full
details). Errors: [{errors}]'
.format(errors=str.join(", ", errors)), pytrace=False)
finally:
try:
# save the logs for inspection
if failed or not dtest_config.delete_logs:
copy_logs(request, dtest_setup.cluster)
except Exception as e:
logger.error("Error saving log:", str(e))
finally:
> dtest_setup.cleanup_cluster(request)

conftest.py:352:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
_ _

self = <dtest_setup.DTestSetup object at 0x7fc37cd5d160>
request = <SubRequest 'fixture_dtest_setup' for <Function
'test_compare_mismatch'>>

def cleanup_cluster(self, request=None):
with log_filter('cassandra'): # quiet noise from driver when nodes start
going down
> if self.dtest_config.keep_test_dir or
(self.dtest_config.keep_failed_test_dir and request and
request.node.rep_call.failed):
E AttributeError: 'Function' object has no attribute 'rep_call'

dtest_setup.py:351: AttributeError
----------------------------------------------------------------------------
Cassandra dtests // test_archive_on_shutdown // Error
test teardown failure

request = <SubRequest 'fixture_dtest_setup' for <Function
'test_archive_on_shutdown'>>
dtest_config = <dtest_config.DTestConfig object at 0x7f29276f3a90>
fixture_dtest_setup_overrides = <dtest_setup_overrides.DTestSetupOverrides
object at 0x7f29276f3a30>
fixture_logging_setup = None, fixture_dtest_cluster_name = 'test'
fixture_dtest_create_cluster_func = <function DTestSetup.create_ccm_cluster
at 0x7f2927fe2af0>

@pytest.fixture(scope='function', autouse=False)
def fixture_dtest_setup(request,
dtest_config,
fixture_dtest_setup_overrides,
fixture_logging_setup,
fixture_dtest_cluster_name,
fixture_dtest_create_cluster_func):
if running_in_docker():
cleanup_docker_environment_before_test_execution()

# do all of our setup operations to get the enviornment ready for the actual
test
# to run (e.g. bring up a cluster with the necessary config, populate
variables, etc)
initial_environment = copy.deepcopy(os.environ)
dtest_setup = DTestSetup(dtest_config=dtest_config,
setup_overrides=fixture_dtest_setup_overrides,
cluster_name=fixture_dtest_cluster_name)
dtest_setup.initialize_cluster(fixture_dtest_create_cluster_func)

if not dtest_config.disable_active_log_watching:
dtest_setup.begin_active_log_watch()

# at this point we're done with our setup operations in this fixture
# yield to allow the actual test to run
yield dtest_setup

# phew! we're back after executing the test, now we need to do
# all of our teardown and cleanup operations

reset_environment_vars(initial_environment)
dtest_setup.jvm_args = []

for con in dtest_setup.connections:
con.cluster.shutdown()
dtest_setup.connections = []

failed = False
try:
if not dtest_setup.allow_log_errors:
errors = check_logs_for_errors(dtest_setup)
if len(errors) > 0:
failed = True
pytest.fail(msg='Unexpected error found in node logs (see stdout for full
details). Errors: [{errors}]'
.format(errors=str.join(", ", errors)), pytrace=False)
finally:
try:
# save the logs for inspection
if failed or not dtest_config.delete_logs:
copy_logs(request, dtest_setup.cluster)
except Exception as e:
logger.error("Error saving log:", str(e))
finally:
> dtest_setup.cleanup_cluster(request)

conftest.py:352:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
_ _

self = <dtest_setup.DTestSetup object at 0x7f29276f36d0>
request = <SubRequest 'fixture_dtest_setup' for <Function
'test_archive_on_shutdown'>>

def cleanup_cluster(self, request=None):
with log_filter('cassandra'): # quiet noise from driver when nodes start
going down
> if self.dtest_config.keep_test_dir or
(self.dtest_config.keep_failed_test_dir and request and
request.node.rep_call.failed):
E AttributeError: 'Function' object has no attribute 'rep_call'

dtest_setup.py:351: AttributeError
----------------------------------------------------------------------------
Cassandra dtests // test_failing_manual_rebuild_index // Error
test teardown failure

request = <SubRequest 'fixture_dtest_setup' for <Function
'test_failing_manual_rebuild_index'>>
dtest_config = <dtest_config.DTestConfig object at 0x7f29276f3a90>
fixture_dtest_setup_overrides = <dtest_setup_overrides.DTestSetupOverrides
object at 0x7f29252a57c0>
fixture_logging_setup = None, fixture_dtest_cluster_name = 'test'
fixture_dtest_create_cluster_func = <function DTestSetup.create_ccm_cluster
at 0x7f2927fe2af0>

@pytest.fixture(scope='function', autouse=False)
def fixture_dtest_setup(request,
dtest_config,
fixture_dtest_setup_overrides,
fixture_logging_setup,
fixture_dtest_cluster_name,
fixture_dtest_create_cluster_func):
if running_in_docker():
cleanup_docker_environment_before_test_execution()

# do all of our setup operations to get the enviornment ready for the actual
test
# to run (e.g. bring up a cluster with the necessary config, populate
variables, etc)
initial_environment = copy.deepcopy(os.environ)
dtest_setup = DTestSetup(dtest_config=dtest_config,
setup_overrides=fixture_dtest_setup_overrides,
cluster_name=fixture_dtest_cluster_name)
dtest_setup.initialize_cluster(fixture_dtest_create_cluster_func)

if not dtest_config.disable_active_log_watching:
dtest_setup.begin_active_log_watch()

# at this point we're done with our setup operations in this fixture
# yield to allow the actual test to run
yield dtest_setup

# phew! we're back after executing the test, now we need to do
# all of our teardown and cleanup operations

reset_environment_vars(initial_environment)
dtest_setup.jvm_args = []

for con in dtest_setup.connections:
con.cluster.shutdown()
dtest_setup.connections = []

failed = False
try:
if not dtest_setup.allow_log_errors:
errors = check_logs_for_errors(dtest_setup)
if len(errors) > 0:
failed = True
pytest.fail(msg='Unexpected error found in node logs (see stdout for full
details). Errors: [{errors}]'
.format(errors=str.join(", ", errors)), pytrace=False)
finally:
try:
# save the logs for inspection
if failed or not dtest_config.delete_logs:
copy_logs(request, dtest_setup.cluster)
except Exception as e:
logger.error("Error saving log:", str(e))
finally:
> dtest_setup.cleanup_cluster(request)

conftest.py:352:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
_ _

self = <dtest_setup.DTestSetup object at 0x7f2924801400>
request = <SubRequest 'fixture_dtest_setup' for <Function
'test_failing_manual_rebuild_index'>>

def cleanup_cluster(self, request=None):
with log_filter('cassandra'): # quiet noise from driver when nodes start
going down
> if self.dtest_config.keep_test_dir or
(self.dtest_config.keep_failed_test_dir and request and
request.node.rep_call.failed):
E AttributeError: 'Function' object has no attribute 'rep_call'

dtest_setup.py:351: AttributeError
----------------------------------------------------------------------------
Cassandra dtests // test_hintedhandoff_setmaxwindow // Error
test teardown failure

request = <SubRequest 'fixture_dtest_setup' for <Function
'test_hintedhandoff_setmaxwindow'>>
dtest_config = <dtest_config.DTestConfig object at 0x7fb956d00250>
fixture_dtest_setup_overrides = <dtest_setup_overrides.DTestSetupOverrides
object at 0x7fb95716b520>
fixture_logging_setup = None, fixture_dtest_cluster_name = 'test'
fixture_dtest_create_cluster_func = <function DTestSetup.create_ccm_cluster
at 0x7fb95737eaf0>

@pytest.fixture(scope='function', autouse=False)
def fixture_dtest_setup(request,
dtest_config,
fixture_dtest_setup_overrides,
fixture_logging_setup,
fixture_dtest_cluster_name,
fixture_dtest_create_cluster_func):
if running_in_docker():
cleanup_docker_environment_before_test_execution()

# do all of our setup operations to get the enviornment ready for the actual
test
# to run (e.g. bring up a cluster with the necessary config, populate
variables, etc)
initial_environment = copy.deepcopy(os.environ)
dtest_setup = DTestSetup(dtest_config=dtest_config,
setup_overrides=fixture_dtest_setup_overrides,
cluster_name=fixture_dtest_cluster_name)
dtest_setup.initialize_cluster(fixture_dtest_create_cluster_func)

if not dtest_config.disable_active_log_watching:
dtest_setup.begin_active_log_watch()

# at this point we're done with our setup operations in this fixture
# yield to allow the actual test to run
yield dtest_setup

# phew! we're back after executing the test, now we need to do
# all of our teardown and cleanup operations

reset_environment_vars(initial_environment)
dtest_setup.jvm_args = []

for con in dtest_setup.connections:
con.cluster.shutdown()
dtest_setup.connections = []

failed = False
try:
if not dtest_setup.allow_log_errors:
errors = check_logs_for_errors(dtest_setup)
if len(errors) > 0:
failed = True
pytest.fail(msg='Unexpected error found in node logs (see stdout for full
details). Errors: [{errors}]'
.format(errors=str.join(", ", errors)), pytrace=False)
finally:
try:
# save the logs for inspection
if failed or not dtest_config.delete_logs:
copy_logs(request, dtest_setup.cluster)
except Exception as e:
logger.error("Error saving log:", str(e))
finally:
> dtest_setup.cleanup_cluster(request)

conftest.py:352:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
_ _

self = <dtest_setup.DTestSetup object at 0x7fb95716b2b0>
request = <SubRequest 'fixture_dtest_setup' for <Function
'test_hintedhandoff_setmaxwindow'>>

def cleanup_cluster(self, request=None):
with log_filter('cassandra'): # quiet noise from driver when nodes start
going down
> if self.dtest_config.keep_test_dir or
(self.dtest_config.keep_failed_test_dir and request and
request.node.rep_call.failed):
E AttributeError: 'Function' object has no attribute 'rep_call'

dtest_setup.py:351: AttributeError
----------------------------------------------------------------------------
Cassandra dtests // test_drop_with_stopped_build // Error
test teardown failure

request = <SubRequest 'fixture_dtest_setup' for <Function
'test_drop_with_stopped_build'>>
dtest_config = <dtest_config.DTestConfig object at 0x7f42d8896a30>
fixture_dtest_setup_overrides = <dtest_setup_overrides.DTestSetupOverrides
object at 0x7f42d88dd6d0>
fixture_logging_setup = None, fixture_dtest_cluster_name = 'test'
fixture_dtest_create_cluster_func = <function DTestSetup.create_ccm_cluster
at 0x7f42d91299d0>

@pytest.fixture(scope='function', autouse=False)
def fixture_dtest_setup(request,
dtest_config,
fixture_dtest_setup_overrides,
fixture_logging_setup,
fixture_dtest_cluster_name,
fixture_dtest_create_cluster_func):
if running_in_docker():
cleanup_docker_environment_before_test_execution()

# do all of our setup operations to get the enviornment ready for the actual
test
# to run (e.g. bring up a cluster with the necessary config, populate
variables, etc)
initial_environment = copy.deepcopy(os.environ)
dtest_setup = DTestSetup(dtest_config=dtest_config,
setup_overrides=fixture_dtest_setup_overrides,
cluster_name=fixture_dtest_cluster_name)
dtest_setup.initialize_cluster(fixture_dtest_create_cluster_func)

if not dtest_config.disable_active_log_watching:
dtest_setup.begin_active_log_watch()

# at this point we're done with our setup operations in this fixture
# yield to allow the actual test to run
yield dtest_setup

# phew! we're back after executing the test, now we need to do
# all of our teardown and cleanup operations

reset_environment_vars(initial_environment)
dtest_setup.jvm_args = []

for con in dtest_setup.connections:
con.cluster.shutdown()
dtest_setup.connections = []

failed = False
try:
if not dtest_setup.allow_log_errors:
errors = check_logs_for_errors(dtest_setup)
if len(errors) > 0:
failed = True
pytest.fail(msg='Unexpected error found in node logs (see stdout for full
details). Errors: [{errors}]'
.format(errors=str.join(", ", errors)), pytrace=False)
finally:
try:
# save the logs for inspection
if failed or not dtest_config.delete_logs:
copy_logs(request, dtest_setup.cluster)
except Exception as e:
logger.error("Error saving log:", str(e))
finally:
> dtest_setup.cleanup_cluster(request)

conftest.py:352:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
_ _

self = <dtest_setup.DTestSetup object at 0x7f42d2fc5610>
request = <SubRequest 'fixture_dtest_setup' for <Function
'test_drop_with_stopped_build'>>

def cleanup_cluster(self, request=None):
with log_filter('cassandra'): # quiet noise from driver when nodes start
going down
> if self.dtest_config.keep_test_dir or
(self.dtest_config.keep_failed_test_dir and request and
request.node.rep_call.failed):
E AttributeError: 'Function' object has no attribute 'rep_call'

dtest_setup.py:351: AttributeError
----------------------------------------------------------------------------
Cassandra dtests // test_tombstone_failure_v5 // Failure
cassandra.cluster.NoHostAvailable: ('Unable to connect to any servers',
{'127.0.0.1:9042': ConnectionShutdown('CRC mismatch on header 1085. Received
0", computed 6ab8cc.')})

self = <read_failures_test.TestReadFailures object at 0x7f42d8f189a0>

@since('3.10')
def test_tombstone_failure_v5(self):
"""
A failed read due to tombstones at v5 should result in a ReadFailure with
an error code map containing error code 0x0001 (indicating that the replica
(s)
read too many tombstones)
"""
self.protocol_version = 5
> session = self._prepare_cluster()

read_failures_test.py:117:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
_ _
read_failures_test.py:43: in _prepare_cluster
session = self.patient_exclusive_cql_connection(self.nodes[0],
protocol_version=self.protocol_version)
dtest_setup.py:266: in patient_exclusive_cql_connection
return retry_till_success(
dtest_setup.py:39: in retry_till_success
return fun(*args, **kwargs)
dtest_setup.py:186: in exclusive_cql_connection
return self._create_session(node, keyspace, user, password, compression,
dtest_setup.py:216: in _create_session
session = cluster.connect(wait_for_all_pools=True)
../venv/src/cassandra-driver/cassandra/cluster.py:1690: in connect
self.control_connection.connect()
../venv/src/cassandra-driver/cassandra/cluster.py:3488: in connect
self._set_new_connection(self._reconnect_internal())
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
_ _

self = <cassandra.cluster.ControlConnection object at 0x7f42d8a3b790>

def _reconnect_internal(self):
"""
Tries to connect to each host in the query plan until one succeeds
or every attempt fails. If successful, a new Connection will be
returned. Otherwise, :exc:`NoHostAvailable` will be raised
with an "errors" arg that is a dict mapping host addresses
to the exception that was raised when an attempt was made to open
a connection to that host.
"""
errors = {}
lbp = (
self._cluster.load_balancing_policy
if self._cluster._config_mode == _ConfigMode.LEGACY else
self._cluster._default_load_balancing_policy
)

for host in lbp.make_query_plan():
try:
return self._try_connect(host)
except ConnectionException as exc:
errors[str(host.endpoint)] = exc
log.warning("[control connection] Error connecting to %s:", host,
exc_info=True)
self._cluster.signal_connection_failure(host, exc, is_host_addition=False)
except Exception as exc:
errors[str(host.endpoint)] = exc
log.warning("[control connection] Error connecting to %s:", host,
exc_info=True)
if self._is_shutdown:
raise DriverException("[control connection] Reconnection in progress during
shutdown")

> raise NoHostAvailable("Unable to connect to any servers", errors)
E cassandra.cluster.NoHostAvailable: ('Unable to connect to any servers',
{'127.0.0.1:9042': ConnectionShutdown('CRC mismatch on header 1085. Received
0", computed 6ab8cc.')})

../venv/src/cassandra-driver/cassandra/cluster.py:3533: NoHostAvailable
----------------------------------------------------------------------------
Cassandra dtests // test_resume_stopped_build // Error
test teardown failure

request = <SubRequest 'fixture_dtest_setup' for <Function
'test_resume_stopped_build'>>
dtest_config = <dtest_config.DTestConfig object at 0x7f37616c0a30>
fixture_dtest_setup_overrides = <dtest_setup_overrides.DTestSetupOverrides
object at 0x7f376185aa60>
fixture_logging_setup = None, fixture_dtest_cluster_name = 'test'
fixture_dtest_create_cluster_func = <function DTestSetup.create_ccm_cluster
at 0x7f3761efbaf0>

@pytest.fixture(scope='function', autouse=False)
def fixture_dtest_setup(request,
dtest_config,
fixture_dtest_setup_overrides,
fixture_logging_setup,
fixture_dtest_cluster_name,
fixture_dtest_create_cluster_func):
if running_in_docker():
cleanup_docker_environment_before_test_execution()

# do all of our setup operations to get the enviornment ready for the actual
test
# to run (e.g. bring up a cluster with the necessary config, populate
variables, etc)
initial_environment = copy.deepcopy(os.environ)
dtest_setup = DTestSetup(dtest_config=dtest_config,
setup_overrides=fixture_dtest_setup_overrides,
cluster_name=fixture_dtest_cluster_name)
dtest_setup.initialize_cluster(fixture_dtest_create_cluster_func)

if not dtest_config.disable_active_log_watching:
dtest_setup.begin_active_log_watch()

# at this point we're done with our setup operations in this fixture
# yield to allow the actual test to run
yield dtest_setup

# phew! we're back after executing the test, now we need to do
# all of our teardown and cleanup operations

reset_environment_vars(initial_environment)
dtest_setup.jvm_args = []

for con in dtest_setup.connections:
con.cluster.shutdown()
dtest_setup.connections = []

failed = False
try:
if not dtest_setup.allow_log_errors:
errors = check_logs_for_errors(dtest_setup)
if len(errors) > 0:
failed = True
pytest.fail(msg='Unexpected error found in node logs (see stdout for full
details). Errors: [{errors}]'
.format(errors=str.join(", ", errors)), pytrace=False)
finally:
try:
# save the logs for inspection
if failed or not dtest_config.delete_logs:
copy_logs(request, dtest_setup.cluster)
except Exception as e:
logger.error("Error saving log:", str(e))
finally:
> dtest_setup.cleanup_cluster(request)

conftest.py:352:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
_ _

self = <dtest_setup.DTestSetup object at 0x7f376181e610>
request = <SubRequest 'fixture_dtest_setup' for <Function
'test_resume_stopped_build'>>

def cleanup_cluster(self, request=None):
with log_filter('cassandra'): # quiet noise from driver when nodes start
going down
> if self.dtest_config.keep_test_dir or
(self.dtest_config.keep_failed_test_dir and request and
request.node.rep_call.failed):
E AttributeError: 'Function' object has no attribute 'rep_call'

dtest_setup.py:351: AttributeError
----------------------------------------------------------------------------
Cassandra dtests // test_alter_table // Error
test teardown failure

request = <SubRequest 'fixture_dtest_setup' for <Function
'test_alter_table'>>
dtest_config = <dtest_config.DTestConfig object at 0x7f8e11b53730>
fixture_dtest_setup_overrides = <dtest_setup_overrides.DTestSetupOverrides
object at 0x7f8e10d02220>
fixture_logging_setup = None, fixture_dtest_cluster_name = 'test'
fixture_dtest_create_cluster_func = <function DTestSetup.create_ccm_cluster
at 0x7f8e1238f9d0>

@pytest.fixture(scope='function', autouse=False)
def fixture_dtest_setup(request,
dtest_config,
fixture_dtest_setup_overrides,
fixture_logging_setup,
fixture_dtest_cluster_name,
fixture_dtest_create_cluster_func):
if running_in_docker():
cleanup_docker_environment_before_test_execution()

# do all of our setup operations to get the enviornment ready for the actual
test
# to run (e.g. bring up a cluster with the necessary config, populate
variables, etc)
initial_environment = copy.deepcopy(os.environ)
dtest_setup = DTestSetup(dtest_config=dtest_config,
setup_overrides=fixture_dtest_setup_overrides,
cluster_name=fixture_dtest_cluster_name)
dtest_setup.initialize_cluster(fixture_dtest_create_cluster_func)

if not dtest_config.disable_active_log_watching:
dtest_setup.begin_active_log_watch()

# at this point we're done with our setup operations in this fixture
# yield to allow the actual test to run
yield dtest_setup

# phew! we're back after executing the test, now we need to do
# all of our teardown and cleanup operations

reset_environment_vars(initial_environment)
dtest_setup.jvm_args = []

for con in dtest_setup.connections:
con.cluster.shutdown()
dtest_setup.connections = []

failed = False
try:
if not dtest_setup.allow_log_errors:
errors = check_logs_for_errors(dtest_setup)
if len(errors) > 0:
failed = True
pytest.fail(msg='Unexpected error found in node logs (see stdout for full
details). Errors: [{errors}]'
.format(errors=str.join(", ", errors)), pytrace=False)
finally:
try:
# save the logs for inspection
if failed or not dtest_config.delete_logs:
copy_logs(request, dtest_setup.cluster)
except Exception as e:
logger.error("Error saving log:", str(e))
finally:
> dtest_setup.cleanup_cluster(request)

conftest.py:352:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
_ _

self = <dtest_setup.DTestSetup object at 0x7f8e10d02940>
request = <SubRequest 'fixture_dtest_setup' for <Function
'test_alter_table'>>

def cleanup_cluster(self, request=None):
with log_filter('cassandra'): # quiet noise from driver when nodes start
going down
> if self.dtest_config.keep_test_dir or
(self.dtest_config.keep_failed_test_dir and request and
request.node.rep_call.failed):
E AttributeError: 'Function' object has no attribute 'rep_call'

dtest_setup.py:351: AttributeError
----------------------------------------------------------------------------
Cassandra dtests // test_failed_read_repair // Error
test teardown failure

request = <SubRequest 'fixture_dtest_setup' for <Function
'test_failed_read_repair'>>
dtest_config = <dtest_config.DTestConfig object at 0x7fa656851250>
fixture_dtest_setup_overrides = <dtest_setup_overrides.DTestSetupOverrides
object at 0x7fa644233fa0>
fixture_logging_setup = None, fixture_dtest_cluster_name = 'test'
fixture_dtest_create_cluster_func = <function DTestSetup.create_ccm_cluster
at 0x7fa65701d9d0>

@pytest.fixture(scope='function', autouse=False)
def fixture_dtest_setup(request,
dtest_config,
fixture_dtest_setup_overrides,
fixture_logging_setup,
fixture_dtest_cluster_name,
fixture_dtest_create_cluster_func):
if running_in_docker():
cleanup_docker_environment_before_test_execution()

# do all of our setup operations to get the enviornment ready for the actual
test
# to run (e.g. bring up a cluster with the necessary config, populate
variables, etc)
initial_environment = copy.deepcopy(os.environ)
dtest_setup = DTestSetup(dtest_config=dtest_config,
setup_overrides=fixture_dtest_setup_overrides,
cluster_name=fixture_dtest_cluster_name)
dtest_setup.initialize_cluster(fixture_dtest_create_cluster_func)

if not dtest_config.disable_active_log_watching:
dtest_setup.begin_active_log_watch()

# at this point we're done with our setup operations in this fixture
# yield to allow the actual test to run
yield dtest_setup

# phew! we're back after executing the test, now we need to do
# all of our teardown and cleanup operations

reset_environment_vars(initial_environment)
dtest_setup.jvm_args = []

for con in dtest_setup.connections:
con.cluster.shutdown()
dtest_setup.connections = []

failed = False
try:
if not dtest_setup.allow_log_errors:
errors = check_logs_for_errors(dtest_setup)
if len(errors) > 0:
failed = True
pytest.fail(msg='Unexpected error found in node logs (see stdout for full
details). Errors: [{errors}]'
.format(errors=str.join(", ", errors)), pytrace=False)
finally:
try:
# save the logs for inspection
if failed or not dtest_config.delete_logs:
copy_logs(request, dtest_setup.cluster)
except Exception as e:
logger.error("Error saving log:", str(e))
finally:
> dtest_setup.cleanup_cluster(request)

conftest.py:352:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
_ _

self = <dtest_setup.DTestSetup object at 0x7fa644233070>
request = <SubRequest 'fixture_dtest_setup' for <Function
'test_failed_read_repair'>>

def cleanup_cluster(self, request=None):
with log_filter('cassandra'): # quiet noise from driver when nodes start
going down
> if self.dtest_config.keep_test_dir or
(self.dtest_config.keep_failed_test_dir and request and
request.node.rep_call.failed):
E AttributeError: 'Function' object has no attribute 'rep_call'

dtest_setup.py:351: AttributeError
----------------------------------------------------------------------------
Cassandra dtests // test_mutation_v2 // Error
test teardown failure

request = <SubRequest 'fixture_dtest_setup' for <Function
'test_mutation_v2'>>
dtest_config = <dtest_config.DTestConfig object at 0x7fa656851250>
fixture_dtest_setup_overrides = <dtest_setup_overrides.DTestSetupOverrides
object at 0x7fa644452a90>
fixture_logging_setup = None, fixture_dtest_cluster_name = 'test'
fixture_dtest_create_cluster_func = <function DTestSetup.create_ccm_cluster
at 0x7fa65701d9d0>

@pytest.fixture(scope='function', autouse=False)
def fixture_dtest_setup(request,
dtest_config,
fixture_dtest_setup_overrides,
fixture_logging_setup,
fixture_dtest_cluster_name,
fixture_dtest_create_cluster_func):
if running_in_docker():
cleanup_docker_environment_before_test_execution()

# do all of our setup operations to get the enviornment ready for the actual
test
# to run (e.g. bring up a cluster with the necessary config, populate
variables, etc)
initial_environment = copy.deepcopy(os.environ)
dtest_setup = DTestSetup(dtest_config=dtest_config,
setup_overrides=fixture_dtest_setup_overrides,
cluster_name=fixture_dtest_cluster_name)
dtest_setup.initialize_cluster(fixture_dtest_create_cluster_func)

if not dtest_config.disable_active_log_watching:
dtest_setup.begin_active_log_watch()

# at this point we're done with our setup operations in this fixture
# yield to allow the actual test to run
yield dtest_setup

# phew! we're back after executing the test, now we need to do
# all of our teardown and cleanup operations

reset_environment_vars(initial_environment)
dtest_setup.jvm_args = []

for con in dtest_setup.connections:
con.cluster.shutdown()
dtest_setup.connections = []

failed = False
try:
if not dtest_setup.allow_log_errors:
errors = check_logs_for_errors(dtest_setup)
if len(errors) > 0:
failed = True
pytest.fail(msg='Unexpected error found in node logs (see stdout for full
details). Errors: [{errors}]'
.format(errors=str.join(", ", errors)), pytrace=False)
finally:
try:
# save the logs for inspection
if failed or not dtest_config.delete_logs:
copy_logs(request, dtest_setup.cluster)
except Exception as e:
logger.error("Error saving log:", str(e))
finally:
> dtest_setup.cleanup_cluster(request)

conftest.py:352:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
_ _

self = <dtest_setup.DTestSetup object at 0x7fa6444b08b0>
request = <SubRequest 'fixture_dtest_setup' for <Function
'test_mutation_v2'>>

def cleanup_cluster(self, request=None):
with log_filter('cassandra'): # quiet noise from driver when nodes start
going down
> if self.dtest_config.keep_test_dir or
(self.dtest_config.keep_failed_test_dir and request and
request.node.rep_call.failed):
E AttributeError: 'Function' object has no attribute 'rep_call'

dtest_setup.py:351: AttributeError
----------------------------------------------------------------------------
Cassandra dtests // test_drop_index_while_building // Error
test teardown failure

request = <SubRequest 'fixture_dtest_setup' for <Function
'test_drop_index_while_building'>>
dtest_config = <dtest_config.DTestConfig object at 0x7fd3f4381460>
fixture_dtest_setup_overrides = <dtest_setup_overrides.DTestSetupOverrides
object at 0x7fd3f13166d0>
fixture_logging_setup = None, fixture_dtest_cluster_name = 'test'
fixture_dtest_create_cluster_func = <function DTestSetup.create_ccm_cluster
at 0x7fd3f4c71af0>

@pytest.fixture(scope='function', autouse=False)
def fixture_dtest_setup(request,
dtest_config,
fixture_dtest_setup_overrides,
fixture_logging_setup,
fixture_dtest_cluster_name,
fixture_dtest_create_cluster_func):
if running_in_docker():
cleanup_docker_environment_before_test_execution()

# do all of our setup operations to get the enviornment ready for the actual
test
# to run (e.g. bring up a cluster with the necessary config, populate
variables, etc)
initial_environment = copy.deepcopy(os.environ)
dtest_setup = DTestSetup(dtest_config=dtest_config,
setup_overrides=fixture_dtest_setup_overrides,
cluster_name=fixture_dtest_cluster_name)
dtest_setup.initialize_cluster(fixture_dtest_create_cluster_func)

if not dtest_config.disable_active_log_watching:
dtest_setup.begin_active_log_watch()

# at this point we're done with our setup operations in this fixture
# yield to allow the actual test to run
yield dtest_setup

# phew! we're back after executing the test, now we need to do
# all of our teardown and cleanup operations

reset_environment_vars(initial_environment)
dtest_setup.jvm_args = []

for con in dtest_setup.connections:
con.cluster.shutdown()
dtest_setup.connections = []

failed = False
try:
if not dtest_setup.allow_log_errors:
errors = check_logs_for_errors(dtest_setup)
if len(errors) > 0:
failed = True
pytest.fail(msg='Unexpected error found in node logs (see stdout for full
details). Errors: [{errors}]'
.format(errors=str.join(", ", errors)), pytrace=False)
finally:
try:
# save the logs for inspection
if failed or not dtest_config.delete_logs:
copy_logs(request, dtest_setup.cluster)
except Exception as e:
logger.error("Error saving log:", str(e))
finally:
> dtest_setup.cleanup_cluster(request)

conftest.py:352:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
_ _

self = <dtest_setup.DTestSetup object at 0x7fd3f1a1dc40>
request = <SubRequest 'fixture_dtest_setup' for <Function
'test_drop_index_while_building'>>

def cleanup_cluster(self, request=None):
with log_filter('cassandra'): # quiet noise from driver when nodes start
going down
> if self.dtest_config.keep_test_dir or
(self.dtest_config.keep_failed_test_dir and request and
request.node.rep_call.failed):
E AttributeError: 'Function' object has no attribute 'rep_call'

dtest_setup.py:351: AttributeError
----------------------------------------------------------------------------
Cassandra dtests // test_normal_read_repair // Error
test teardown failure

request = <SubRequest 'fixture_dtest_setup' for <Function
'test_normal_read_repair'>>
dtest_config = <dtest_config.DTestConfig object at 0x7f8448f94370>
fixture_dtest_setup_overrides = <dtest_setup_overrides.DTestSetupOverrides
object at 0x7f84204b36d0>
fixture_logging_setup = None, fixture_dtest_cluster_name = 'test'
fixture_dtest_create_cluster_func = <function DTestSetup.create_ccm_cluster
at 0x7f84497659d0>

@pytest.fixture(scope='function', autouse=False)
def fixture_dtest_setup(request,
dtest_config,
fixture_dtest_setup_overrides,
fixture_logging_setup,
fixture_dtest_cluster_name,
fixture_dtest_create_cluster_func):
if running_in_docker():
cleanup_docker_environment_before_test_execution()

# do all of our setup operations to get the enviornment ready for the actual
test
# to run (e.g. bring up a cluster with the necessary config, populate
variables, etc)
initial_environment = copy.deepcopy(os.environ)
dtest_setup = DTestSetup(dtest_config=dtest_config,
setup_overrides=fixture_dtest_setup_overrides,
cluster_name=fixture_dtest_cluster_name)
dtest_setup.initialize_cluster(fixture_dtest_create_cluster_func)

if not dtest_config.disable_active_log_watching:
dtest_setup.begin_active_log_watch()

# at this point we're done with our setup operations in this fixture
# yield to allow the actual test to run
yield dtest_setup

# phew! we're back after executing the test, now we need to do
# all of our teardown and cleanup operations

reset_environment_vars(initial_environment)
dtest_setup.jvm_args = []

for con in dtest_setup.connections:
con.cluster.shutdown()
dtest_setup.connections = []

failed = False
try:
if not dtest_setup.allow_log_errors:
errors = check_logs_for_errors(dtest_setup)
if len(errors) > 0:
failed = True
pytest.fail(msg='Unexpected error found in node logs (see stdout for full
details). Errors: [{errors}]'
.format(errors=str.join(", ", errors)), pytrace=False)
finally:
try:
# save the logs for inspection
if failed or not dtest_config.delete_logs:
copy_logs(request, dtest_setup.cluster)
except Exception as e:
logger.error("Error saving log:", str(e))
finally:
> dtest_setup.cleanup_cluster(request)

conftest.py:352:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
_ _

self = <dtest_setup.DTestSetup object at 0x7f84494838e0>
request = <SubRequest 'fixture_dtest_setup' for <Function
'test_normal_read_repair'>>

def cleanup_cluster(self, request=None):
with log_filter('cassandra'): # quiet noise from driver when nodes start
going down
> if self.dtest_config.keep_test_dir or
(self.dtest_config.keep_failed_test_dir and request and
request.node.rep_call.failed):
E AttributeError: 'Function' object has no attribute 'rep_call'

dtest_setup.py:351: AttributeError
----------------------------------------------------------------------------
Cassandra dtests // test_speculative_data_request // Error
test teardown failure

request = <SubRequest 'fixture_dtest_setup' for <Function
'test_speculative_data_request'>>
dtest_config = <dtest_config.DTestConfig object at 0x7f0e0cac6370>
fixture_dtest_setup_overrides = <dtest_setup_overrides.DTestSetupOverrides
object at 0x7f0e0c055850>
fixture_logging_setup = None, fixture_dtest_cluster_name = 'test'
fixture_dtest_create_cluster_func = <function DTestSetup.create_ccm_cluster
at 0x7f0e0d293a60>

@pytest.fixture(scope='function', autouse=False)
def fixture_dtest_setup(request,
dtest_config,
fixture_dtest_setup_overrides,
fixture_logging_setup,
fixture_dtest_cluster_name,
fixture_dtest_create_cluster_func):
if running_in_docker():
cleanup_docker_environment_before_test_execution()

# do all of our setup operations to get the enviornment ready for the actual
test
# to run (e.g. bring up a cluster with the necessary config, populate
variables, etc)
initial_environment = copy.deepcopy(os.environ)
dtest_setup = DTestSetup(dtest_config=dtest_config,
setup_overrides=fixture_dtest_setup_overrides,
cluster_name=fixture_dtest_cluster_name)
dtest_setup.initialize_cluster(fixture_dtest_create_cluster_func)

if not dtest_config.disable_active_log_watching:
dtest_setup.begin_active_log_watch()

# at this point we're done with our setup operations in this fixture
# yield to allow the actual test to run
yield dtest_setup

# phew! we're back after executing the test, now we need to do
# all of our teardown and cleanup operations

reset_environment_vars(initial_environment)
dtest_setup.jvm_args = []

for con in dtest_setup.connections:
con.cluster.shutdown()
dtest_setup.connections = []

failed = False
try:
if not dtest_setup.allow_log_errors:
errors = check_logs_for_errors(dtest_setup)
if len(errors) > 0:
failed = True
pytest.fail(msg='Unexpected error found in node logs (see stdout for full
details). Errors: [{errors}]'
.format(errors=str.join(", ", errors)), pytrace=False)
finally:
try:
# save the logs for inspection
if failed or not dtest_config.delete_logs:
copy_logs(request, dtest_setup.cluster)
except Exception as e:
logger.error("Error saving log:", str(e))
finally:
> dtest_setup.cleanup_cluster(request)

conftest.py:352:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
_ _

self = <dtest_setup.DTestSetup object at 0x7f0e0c1f8130>
request = <SubRequest 'fixture_dtest_setup' for <Function
'test_speculative_data_request'>>

def cleanup_cluster(self, request=None):
with log_filter('cassandra'): # quiet noise from driver when nodes start
going down
> if self.dtest_config.keep_test_dir or
(self.dtest_config.keep_failed_test_dir and request and
request.node.rep_call.failed):
E AttributeError: 'Function' object has no attribute 'rep_call'

dtest_setup.py:351: AttributeError
----------------------------------------------------------------------------
Cassandra dtests // test_speculative_write // Error
test teardown failure

request = <SubRequest 'fixture_dtest_setup' for <Function
'test_speculative_write'>>
dtest_config = <dtest_config.DTestConfig object at 0x7fac4c7b0cd0>
fixture_dtest_setup_overrides = <dtest_setup_overrides.DTestSetupOverrides
object at 0x7fac4ce89a00>
fixture_logging_setup = None, fixture_dtest_cluster_name = 'test'
fixture_dtest_create_cluster_func = <function DTestSetup.create_ccm_cluster
at 0x7fac4d0a5a60>

@pytest.fixture(scope='function', autouse=False)
def fixture_dtest_setup(request,
dtest_config,
fixture_dtest_setup_overrides,
fixture_logging_setup,
fixture_dtest_cluster_name,
fixture_dtest_create_cluster_func):
if running_in_docker():
cleanup_docker_environment_before_test_execution()

# do all of our setup operations to get the enviornment ready for the actual
test
# to run (e.g. bring up a cluster with the necessary config, populate
variables, etc)
initial_environment = copy.deepcopy(os.environ)
dtest_setup = DTestSetup(dtest_config=dtest_config,
setup_overrides=fixture_dtest_setup_overrides,
cluster_name=fixture_dtest_cluster_name)
dtest_setup.initialize_cluster(fixture_dtest_create_cluster_func)

if not dtest_config.disable_active_log_watching:
dtest_setup.begin_active_log_watch()

# at this point we're done with our setup operations in this fixture
# yield to allow the actual test to run
yield dtest_setup

# phew! we're back after executing the test, now we need to do
# all of our teardown and cleanup operations

reset_environment_vars(initial_environment)
dtest_setup.jvm_args = []

for con in dtest_setup.connections:
con.cluster.shutdown()
dtest_setup.connections = []

failed = False
try:
if not dtest_setup.allow_log_errors:
errors = check_logs_for_errors(dtest_setup)
if len(errors) > 0:
failed = True
pytest.fail(msg='Unexpected error found in node logs (see stdout for full
details). Errors: [{errors}]'
.format(errors=str.join(", ", errors)), pytrace=False)
finally:
try:
# save the logs for inspection
if failed or not dtest_config.delete_logs:
copy_logs(request, dtest_setup.cluster)
except Exception as e:
logger.error("Error saving log:", str(e))
finally:
> dtest_setup.cleanup_cluster(request)

conftest.py:352:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
_ _

self = <dtest_setup.DTestSetup object at 0x7fac4c85e0a0>
request = <SubRequest 'fixture_dtest_setup' for <Function
'test_speculative_write'>>

def cleanup_cluster(self, request=None):
with log_filter('cassandra'): # quiet noise from driver when nodes start
going down
> if self.dtest_config.keep_test_dir or
(self.dtest_config.keep_failed_test_dir and request and
request.node.rep_call.failed):
E AttributeError: 'Function' object has no attribute 'rep_call'

dtest_setup.py:351: AttributeError
----------------------------------------------------------------------------
Cassandra dtests // test_mutation_v5 // Error
test teardown failure

request = <SubRequest 'fixture_dtest_setup' for <Function
'test_mutation_v5'>>
dtest_config = <dtest_config.DTestConfig object at 0x7fac4c7b0cd0>
fixture_dtest_setup_overrides = <dtest_setup_overrides.DTestSetupOverrides
object at 0x7fac4ce2c100>
fixture_logging_setup = None, fixture_dtest_cluster_name = 'test'
fixture_dtest_create_cluster_func = <function DTestSetup.create_ccm_cluster
at 0x7fac4d0a5a60>

@pytest.fixture(scope='function', autouse=False)
def fixture_dtest_setup(request,
dtest_config,
fixture_dtest_setup_overrides,
fixture_logging_setup,
fixture_dtest_cluster_name,
fixture_dtest_create_cluster_func):
if running_in_docker():
cleanup_docker_environment_before_test_execution()

# do all of our setup operations to get the enviornment ready for the actual
test
# to run (e.g. bring up a cluster with the necessary config, populate
variables, etc)
initial_environment = copy.deepcopy(os.environ)
dtest_setup = DTestSetup(dtest_config=dtest_config,
setup_overrides=fixture_dtest_setup_overrides,
cluster_name=fixture_dtest_cluster_name)
dtest_setup.initialize_cluster(fixture_dtest_create_cluster_func)

if not dtest_config.disable_active_log_watching:
dtest_setup.begin_active_log_watch()

# at this point we're done with our setup operations in this fixture
# yield to allow the actual test to run
yield dtest_setup

# phew! we're back after executing the test, now we need to do
# all of our teardown and cleanup operations

reset_environment_vars(initial_environment)
dtest_setup.jvm_args = []

for con in dtest_setup.connections:
con.cluster.shutdown()
dtest_setup.connections = []

failed = False
try:
if not dtest_setup.allow_log_errors:
errors = check_logs_for_errors(dtest_setup)
if len(errors) > 0:
failed = True
pytest.fail(msg='Unexpected error found in node logs (see stdout for full
details). Errors: [{errors}]'
.format(errors=str.join(", ", errors)), pytrace=False)
finally:
try:
# save the logs for inspection
if failed or not dtest_config.delete_logs:
copy_logs(request, dtest_setup.cluster)
except Exception as e:
logger.error("Error saving log:", str(e))
finally:
> dtest_setup.cleanup_cluster(request)

conftest.py:352:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
_ _

self = <dtest_setup.DTestSetup object at 0x7fac4c9ccc70>
request = <SubRequest 'fixture_dtest_setup' for <Function
'test_mutation_v5'>>

def cleanup_cluster(self, request=None):
with log_filter('cassandra'): # quiet noise from driver when nodes start
going down
> if self.dtest_config.keep_test_dir or
(self.dtest_config.keep_failed_test_dir and request and
request.node.rep_call.failed):
E AttributeError: 'Function' object has no attribute 'rep_call'

dtest_setup.py:351: AttributeError
----------------------------------------------------------------------------
Cassandra dtests // test_set_get_batchlog_replay_throttle // Error
test teardown failure

request = <SubRequest 'fixture_dtest_setup' for <Function
'test_set_get_batchlog_replay_throttle'>>
dtest_config = <dtest_config.DTestConfig object at 0x7fa431d576a0>
fixture_dtest_setup_overrides = <dtest_setup_overrides.DTestSetupOverrides
object at 0x7fa430412730>
fixture_logging_setup = None, fixture_dtest_cluster_name = 'test'
fixture_dtest_create_cluster_func = <function DTestSetup.create_ccm_cluster
at 0x7fa432613940>

@pytest.fixture(scope='function', autouse=False)
def fixture_dtest_setup(request,
dtest_config,
fixture_dtest_setup_overrides,
fixture_logging_setup,
fixture_dtest_cluster_name,
fixture_dtest_create_cluster_func):
if running_in_docker():
cleanup_docker_environment_before_test_execution()

# do all of our setup operations to get the enviornment ready for the actual
test
# to run (e.g. bring up a cluster with the necessary config, populate
variables, etc)
initial_environment = copy.deepcopy(os.environ)
dtest_setup = DTestSetup(dtest_config=dtest_config,
setup_overrides=fixture_dtest_setup_overrides,
cluster_name=fixture_dtest_cluster_name)
dtest_setup.initialize_cluster(fixture_dtest_create_cluster_func)

if not dtest_config.disable_active_log_watching:
dtest_setup.begin_active_log_watch()

# at this point we're done with our setup operations in this fixture
# yield to allow the actual test to run
yield dtest_setup

# phew! we're back after executing the test, now we need to do
# all of our teardown and cleanup operations

reset_environment_vars(initial_environment)
dtest_setup.jvm_args = []

for con in dtest_setup.connections:
con.cluster.shutdown()
dtest_setup.connections = []

failed = False
try:
if not dtest_setup.allow_log_errors:
errors = check_logs_for_errors(dtest_setup)
if len(errors) > 0:
failed = True
pytest.fail(msg='Unexpected error found in node logs (see stdout for full
details). Errors: [{errors}]'
.format(errors=str.join(", ", errors)), pytrace=False)
finally:
try:
# save the logs for inspection
if failed or not dtest_config.delete_logs:
copy_logs(request, dtest_setup.cluster)
except Exception as e:
logger.error("Error saving log:", str(e))
finally:
> dtest_setup.cleanup_cluster(request)

conftest.py:352:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
_ _

self = <dtest_setup.DTestSetup object at 0x7fa430398610>
request = <SubRequest 'fixture_dtest_setup' for <Function
'test_set_get_batchlog_replay_throttle'>>

def cleanup_cluster(self, request=None):
with log_filter('cassandra'): # quiet noise from driver when nodes start
going down
> if self.dtest_config.keep_test_dir or
(self.dtest_config.keep_failed_test_dir and request and
request.node.rep_call.failed):
E AttributeError: 'Function' object has no attribute 'rep_call'

dtest_setup.py:351: AttributeError
----------------------------------------------------------------------------
Cassandra dtests // test_quorum_requirement // Error
test teardown failure

request = <SubRequest 'fixture_dtest_setup' for <Function
'test_quorum_requirement'>>
dtest_config = <dtest_config.DTestConfig object at 0x7fa431d576a0>
fixture_dtest_setup_overrides = <dtest_setup_overrides.DTestSetupOverrides
object at 0x7fa432433970>
fixture_logging_setup = None, fixture_dtest_cluster_name = 'test'
fixture_dtest_create_cluster_func = <function DTestSetup.create_ccm_cluster
at 0x7fa432613940>

@pytest.fixture(scope='function', autouse=False)
def fixture_dtest_setup(request,
dtest_config,
fixture_dtest_setup_overrides,
fixture_logging_setup,
fixture_dtest_cluster_name,
fixture_dtest_create_cluster_func):
if running_in_docker():
cleanup_docker_environment_before_test_execution()

# do all of our setup operations to get the enviornment ready for the actual
test
# to run (e.g. bring up a cluster with the necessary config, populate
variables, etc)
initial_environment = copy.deepcopy(os.environ)
dtest_setup = DTestSetup(dtest_config=dtest_config,
setup_overrides=fixture_dtest_setup_overrides,
cluster_name=fixture_dtest_cluster_name)
dtest_setup.initialize_cluster(fixture_dtest_create_cluster_func)

if not dtest_config.disable_active_log_watching:
dtest_setup.begin_active_log_watch()

# at this point we're done with our setup operations in this fixture
# yield to allow the actual test to run
yield dtest_setup

# phew! we're back after executing the test, now we need to do
# all of our teardown and cleanup operations

reset_environment_vars(initial_environment)
dtest_setup.jvm_args = []

for con in dtest_setup.connections:
con.cluster.shutdown()
dtest_setup.connections = []

failed = False
try:
if not dtest_setup.allow_log_errors:
errors = check_logs_for_errors(dtest_setup)
if len(errors) > 0:
failed = True
pytest.fail(msg='Unexpected error found in node logs (see stdout for full
details). Errors: [{errors}]'
.format(errors=str.join(", ", errors)), pytrace=False)
finally:
try:
# save the logs for inspection
if failed or not dtest_config.delete_logs:
copy_logs(request, dtest_setup.cluster)
except Exception as e:
logger.error("Error saving log:", str(e))
finally:
> dtest_setup.cleanup_cluster(request)

conftest.py:352:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
_ _

self = <dtest_setup.DTestSetup object at 0x7fa431de9a60>
request = <SubRequest 'fixture_dtest_setup' for <Function
'test_quorum_requirement'>>

def cleanup_cluster(self, request=None):
with log_filter('cassandra'): # quiet noise from driver when nodes start
going down
> if self.dtest_config.keep_test_dir or
(self.dtest_config.keep_failed_test_dir and request and
request.node.rep_call.failed):
E AttributeError: 'Function' object has no attribute 'rep_call'

dtest_setup.py:351: AttributeError
----------------------------------------------------------------------------
Cassandra dtests // test_multi_dc_tokens_default // Error
test teardown failure

request = <SubRequest 'fixture_dtest_setup' for <Function
'test_multi_dc_tokens_default'>>
dtest_config = <dtest_config.DTestConfig object at 0x7fa431d576a0>
fixture_dtest_setup_overrides = <dtest_setup_overrides.DTestSetupOverrides
object at 0x7fa43129aa60>
fixture_logging_setup = None, fixture_dtest_cluster_name = 'test'
fixture_dtest_create_cluster_func = <function DTestSetup.create_ccm_cluster
at 0x7fa432613940>

@pytest.fixture(scope='function', autouse=False)
def fixture_dtest_setup(request,
dtest_config,
fixture_dtest_setup_overrides,
fixture_logging_setup,
fixture_dtest_cluster_name,
fixture_dtest_create_cluster_func):
if running_in_docker():
cleanup_docker_environment_before_test_execution()

# do all of our setup operations to get the enviornment ready for the actual
test
# to run (e.g. bring up a cluster with the necessary config, populate
variables, etc)
initial_environment = copy.deepcopy(os.environ)
dtest_setup = DTestSetup(dtest_config=dtest_config,
setup_overrides=fixture_dtest_setup_overrides,
cluster_name=fixture_dtest_cluster_name)
dtest_setup.initialize_cluster(fixture_dtest_create_cluster_func)

if not dtest_config.disable_active_log_watching:
dtest_setup.begin_active_log_watch()

# at this point we're done with our setup operations in this fixture
# yield to allow the actual test to run
yield dtest_setup

# phew! we're back after executing the test, now we need to do
# all of our teardown and cleanup operations

reset_environment_vars(initial_environment)
dtest_setup.jvm_args = []

for con in dtest_setup.connections:
con.cluster.shutdown()
dtest_setup.connections = []

failed = False
try:
if not dtest_setup.allow_log_errors:
errors = check_logs_for_errors(dtest_setup)
if len(errors) > 0:
failed = True
pytest.fail(msg='Unexpected error found in node logs (see stdout for full
details). Errors: [{errors}]'
.format(errors=str.join(", ", errors)), pytrace=False)
finally:
try:
# save the logs for inspection
if failed or not dtest_config.delete_logs:
copy_logs(request, dtest_setup.cluster)
except Exception as e:
logger.error("Error saving log:", str(e))
finally:
> dtest_setup.cleanup_cluster(request)

conftest.py:352:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
_ _

self = <dtest_setup.DTestSetup object at 0x7fa4323b5940>
request = <SubRequest 'fixture_dtest_setup' for <Function
'test_multi_dc_tokens_default'>>

def cleanup_cluster(self, request=None):
with log_filter('cassandra'): # quiet noise from driver when nodes start
going down
> if self.dtest_config.keep_test_dir or
(self.dtest_config.keep_failed_test_dir and request and
request.node.rep_call.failed):
E AttributeError: 'Function' object has no attribute 'rep_call'

dtest_setup.py:351: AttributeError
----------------------------------------------------------------------------
Cassandra dtests // test_quorum_requirement_on_speculated_read // Error
test teardown failure

request = <SubRequest 'fixture_dtest_setup' for <Function
'test_quorum_requirement_on_speculated_read'>>
dtest_config = <dtest_config.DTestConfig object at 0x7fad572e0340>
fixture_dtest_setup_overrides = <dtest_setup_overrides.DTestSetupOverrides
object at 0x7fad3c4629a0>
fixture_logging_setup = None, fixture_dtest_cluster_name = 'test'
fixture_dtest_create_cluster_func = <function DTestSetup.create_ccm_cluster
at 0x7fad57b98a60>

@pytest.fixture(scope='function', autouse=False)
def fixture_dtest_setup(request,
dtest_config,
fixture_dtest_setup_overrides,
fixture_logging_setup,
fixture_dtest_cluster_name,
fixture_dtest_create_cluster_func):
if running_in_docker():
cleanup_docker_environment_before_test_execution()

# do all of our setup operations to get the enviornment ready for the actual
test
# to run (e.g. bring up a cluster with the necessary config, populate
variables, etc)
initial_environment = copy.deepcopy(os.environ)
dtest_setup = DTestSetup(dtest_config=dtest_config,
setup_overrides=fixture_dtest_setup_overrides,
cluster_name=fixture_dtest_cluster_name)
dtest_setup.initialize_cluster(fixture_dtest_create_cluster_func)

if not dtest_config.disable_active_log_watching:
dtest_setup.begin_active_log_watch()

# at this point we're done with our setup operations in this fixture
# yield to allow the actual test to run
yield dtest_setup

# phew! we're back after executing the test, now we need to do
# all of our teardown and cleanup operations

reset_environment_vars(initial_environment)
dtest_setup.jvm_args = []

for con in dtest_setup.connections:
con.cluster.shutdown()
dtest_setup.connections = []

failed = False
try:
if not dtest_setup.allow_log_errors:
errors = check_logs_for_errors(dtest_setup)
if len(errors) > 0:
failed = True
pytest.fail(msg='Unexpected error found in node logs (see stdout for full
details). Errors: [{errors}]'
.format(errors=str.join(", ", errors)), pytrace=False)
finally:
try:
# save the logs for inspection
if failed or not dtest_config.delete_logs:
copy_logs(request, dtest_setup.cluster)
except Exception as e:
logger.error("Error saving log:", str(e))
finally:
> dtest_setup.cleanup_cluster(request)

conftest.py:352:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
_ _

self = <dtest_setup.DTestSetup object at 0x7fad3c5160a0>
request = <SubRequest 'fixture_dtest_setup' for <Function
'test_quorum_requirement_on_speculated_read'>>

def cleanup_cluster(self, request=None):
with log_filter('cassandra'): # quiet noise from driver when nodes start
going down
> if self.dtest_config.keep_test_dir or
(self.dtest_config.keep_failed_test_dir and request and
request.node.rep_call.failed):
E AttributeError: 'Function' object has no attribute 'rep_call'

dtest_setup.py:351: AttributeError
----------------------------------------------------------------------------
Cassandra dtests // test_multi_dc_tokens_murmur3 // Error
test teardown failure

request = <SubRequest 'fixture_dtest_setup' for <Function
'test_multi_dc_tokens_murmur3'>>
dtest_config = <dtest_config.DTestConfig object at 0x7fad572e0340>
fixture_dtest_setup_overrides = <dtest_setup_overrides.DTestSetupOverrides
object at 0x7fad3c3963a0>
fixture_logging_setup = None, fixture_dtest_cluster_name = 'test'
fixture_dtest_create_cluster_func = <function DTestSetup.create_ccm_cluster
at 0x7fad57b98a60>

@pytest.fixture(scope='function', autouse=False)
def fixture_dtest_setup(request,
dtest_config,
fixture_dtest_setup_overrides,
fixture_logging_setup,
fixture_dtest_cluster_name,
fixture_dtest_create_cluster_func):
if running_in_docker():
cleanup_docker_environment_before_test_execution()

# do all of our setup operations to get the enviornment ready for the actual
test
# to run (e.g. bring up a cluster with the necessary config, populate
variables, etc)
initial_environment = copy.deepcopy(os.environ)
dtest_setup = DTestSetup(dtest_config=dtest_config,
setup_overrides=fixture_dtest_setup_overrides,
cluster_name=fixture_dtest_cluster_name)
dtest_setup.initialize_cluster(fixture_dtest_create_cluster_func)

if not dtest_config.disable_active_log_watching:
dtest_setup.begin_active_log_watch()

# at this point we're done with our setup operations in this fixture
# yield to allow the actual test to run
yield dtest_setup

# phew! we're back after executing the test, now we need to do
# all of our teardown and cleanup operations

reset_environment_vars(initial_environment)
dtest_setup.jvm_args = []

for con in dtest_setup.connections:
con.cluster.shutdown()
dtest_setup.connections = []

failed = False
try:
if not dtest_setup.allow_log_errors:
errors = check_logs_for_errors(dtest_setup)
if len(errors) > 0:
failed = True
pytest.fail(msg='Unexpected error found in node logs (see stdout for full
details). Errors: [{errors}]'
.format(errors=str.join(", ", errors)), pytrace=False)
finally:
try:
# save the logs for inspection
if failed or not dtest_config.delete_logs:
copy_logs(request, dtest_setup.cluster)
except Exception as e:
logger.error("Error saving log:", str(e))
finally:
> dtest_setup.cleanup_cluster(request)

conftest.py:352:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
_ _

self = <dtest_setup.DTestSetup object at 0x7fad5409ec10>
request = <SubRequest 'fixture_dtest_setup' for <Function
'test_multi_dc_tokens_murmur3'>>

def cleanup_cluster(self, request=None):
with log_filter('cassandra'): # quiet noise from driver when nodes start
going down
> if self.dtest_config.keep_test_dir or
(self.dtest_config.keep_failed_test_dir and request and
request.node.rep_call.failed):
E AttributeError: 'Function' object has no attribute 'rep_call'

dtest_setup.py:351: AttributeError
----------------------------------------------------------------------------
Cassandra dtests // test_index_is_not_rebuilt_at_restart // Error
test teardown failure

request = <SubRequest 'fixture_dtest_setup' for <Function
'test_index_is_not_rebuilt_at_restart'>>
dtest_config = <dtest_config.DTestConfig object at 0x7efe8f0d4e20>
fixture_dtest_setup_overrides = <dtest_setup_overrides.DTestSetupOverrides
object at 0x7efe8f71adc0>
fixture_logging_setup = None, fixture_dtest_cluster_name = 'test'
fixture_dtest_create_cluster_func = <function DTestSetup.create_ccm_cluster
at 0x7efe8f9c6b80>

@pytest.fixture(scope='function', autouse=False)
def fixture_dtest_setup(request,
dtest_config,
fixture_dtest_setup_overrides,
fixture_logging_setup,
fixture_dtest_cluster_name,
fixture_dtest_create_cluster_func):
if running_in_docker():
cleanup_docker_environment_before_test_execution()

# do all of our setup operations to get the enviornment ready for the actual
test
# to run (e.g. bring up a cluster with the necessary config, populate
variables, etc)
initial_environment = copy.deepcopy(os.environ)
dtest_setup = DTestSetup(dtest_config=dtest_config,
setup_overrides=fixture_dtest_setup_overrides,
cluster_name=fixture_dtest_cluster_name)
dtest_setup.initialize_cluster(fixture_dtest_create_cluster_func)

if not dtest_config.disable_active_log_watching:
dtest_setup.begin_active_log_watch()

# at this point we're done with our setup operations in this fixture
# yield to allow the actual test to run
yield dtest_setup

# phew! we're back after executing the test, now we need to do
# all of our teardown and cleanup operations

reset_environment_vars(initial_environment)
dtest_setup.jvm_args = []

for con in dtest_setup.connections:
con.cluster.shutdown()
dtest_setup.connections = []

failed = False
try:
if not dtest_setup.allow_log_errors:
errors = check_logs_for_errors(dtest_setup)
if len(errors) > 0:
failed = True
pytest.fail(msg='Unexpected error found in node logs (see stdout for full
details). Errors: [{errors}]'
.format(errors=str.join(", ", errors)), pytrace=False)
finally:
try:
# save the logs for inspection
if failed or not dtest_config.delete_logs:
copy_logs(request, dtest_setup.cluster)
except Exception as e:
logger.error("Error saving log:", str(e))
finally:
> dtest_setup.cleanup_cluster(request)

conftest.py:352:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
_ _

self = <dtest_setup.DTestSetup object at 0x7efe8e8c6910>
request = <SubRequest 'fixture_dtest_setup' for <Function
'test_index_is_not_rebuilt_at_restart'>>

def cleanup_cluster(self, request=None):
with log_filter('cassandra'): # quiet noise from driver when nodes start
going down
> if self.dtest_config.keep_test_dir or
(self.dtest_config.keep_failed_test_dir and request and
request.node.rep_call.failed):
E AttributeError: 'Function' object has no attribute 'rep_call'

dtest_setup.py:351: AttributeError
----------------------------------------------------------------------------
Cassandra dtests // test_zerocopy_streaming // Error
test teardown failure

request = <SubRequest 'fixture_dtest_setup' for <Function
'test_zerocopy_streaming'>>
dtest_config = <dtest_config.DTestConfig object at 0x7f7f7d3cc9a0>
fixture_dtest_setup_overrides = <dtest_setup_overrides.DTestSetupOverrides
object at 0x7f7f7d5ef6d0>
fixture_logging_setup = None, fixture_dtest_cluster_name = 'test'
fixture_dtest_create_cluster_func = <function DTestSetup.create_ccm_cluster
at 0x7f7f7dcb2a60>

@pytest.fixture(scope='function', autouse=False)
def fixture_dtest_setup(request,
dtest_config,
fixture_dtest_setup_overrides,
fixture_logging_setup,
fixture_dtest_cluster_name,
fixture_dtest_create_cluster_func):
if running_in_docker():
cleanup_docker_environment_before_test_execution()

# do all of our setup operations to get the enviornment ready for the actual
test
# to run (e.g. bring up a cluster with the necessary config, populate
variables, etc)
initial_environment = copy.deepcopy(os.environ)
dtest_setup = DTestSetup(dtest_config=dtest_config,
setup_overrides=fixture_dtest_setup_overrides,
cluster_name=fixture_dtest_cluster_name)
dtest_setup.initialize_cluster(fixture_dtest_create_cluster_func)

if not dtest_config.disable_active_log_watching:
dtest_setup.begin_active_log_watch()

# at this point we're done with our setup operations in this fixture
# yield to allow the actual test to run
yield dtest_setup

# phew! we're back after executing the test, now we need to do
# all of our teardown and cleanup operations

reset_environment_vars(initial_environment)
dtest_setup.jvm_args = []

for con in dtest_setup.connections:
con.cluster.shutdown()
dtest_setup.connections = []

failed = False
try:
if not dtest_setup.allow_log_errors:
errors = check_logs_for_errors(dtest_setup)
if len(errors) > 0:
failed = True
pytest.fail(msg='Unexpected error found in node logs (see stdout for full
details). Errors: [{errors}]'
.format(errors=str.join(", ", errors)), pytrace=False)
finally:
try:
# save the logs for inspection
if failed or not dtest_config.delete_logs:
copy_logs(request, dtest_setup.cluster)
except Exception as e:
logger.error("Error saving log:", str(e))
finally:
> dtest_setup.cleanup_cluster(request)

conftest.py:352:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
_ _

self = <dtest_setup.DTestSetup object at 0x7f7f7ca2c7c0>
request = <SubRequest 'fixture_dtest_setup' for <Function
'test_zerocopy_streaming'>>

def cleanup_cluster(self, request=None):
with log_filter('cassandra'): # quiet noise from driver when nodes start
going down
> if self.dtest_config.keep_test_dir or
(self.dtest_config.keep_failed_test_dir and request and
request.node.rep_call.failed):
E AttributeError: 'Function' object has no attribute 'rep_call'

dtest_setup.py:351: AttributeError
----------------------------------------------------------------------------
Cassandra dtests // test_zerocopy_streaming_no_replication // Error
test teardown failure

request = <SubRequest 'fixture_dtest_setup' for <Function
'test_zerocopy_streaming_no_replication'>>
dtest_config = <dtest_config.DTestConfig object at 0x7f19ec077c70>
fixture_dtest_setup_overrides = <dtest_setup_overrides.DTestSetupOverrides
object at 0x7f19e872b430>
fixture_logging_setup = None, fixture_dtest_cluster_name = 'test'
fixture_dtest_create_cluster_func = <function DTestSetup.create_ccm_cluster
at 0x7f19ec950af0>

@pytest.fixture(scope='function', autouse=False)
def fixture_dtest_setup(request,
dtest_config,
fixture_dtest_setup_overrides,
fixture_logging_setup,
fixture_dtest_cluster_name,
fixture_dtest_create_cluster_func):
if running_in_docker():
cleanup_docker_environment_before_test_execution()

# do all of our setup operations to get the enviornment ready for the actual
test
# to run (e.g. bring up a cluster with the necessary config, populate
variables, etc)
initial_environment = copy.deepcopy(os.environ)
dtest_setup = DTestSetup(dtest_config=dtest_config,
setup_overrides=fixture_dtest_setup_overrides,
cluster_name=fixture_dtest_cluster_name)
dtest_setup.initialize_cluster(fixture_dtest_create_cluster_func)

if not dtest_config.disable_active_log_watching:
dtest_setup.begin_active_log_watch()

# at this point we're done with our setup operations in this fixture
# yield to allow the actual test to run
yield dtest_setup

# phew! we're back after executing the test, now we need to do
# all of our teardown and cleanup operations

reset_environment_vars(initial_environment)
dtest_setup.jvm_args = []

for con in dtest_setup.connections:
con.cluster.shutdown()
dtest_setup.connections = []

failed = False
try:
if not dtest_setup.allow_log_errors:
errors = check_logs_for_errors(dtest_setup)
if len(errors) > 0:
failed = True
pytest.fail(msg='Unexpected error found in node logs (see stdout for full
details). Errors: [{errors}]'
.format(errors=str.join(", ", errors)), pytrace=False)
finally:
try:
# save the logs for inspection
if failed or not dtest_config.delete_logs:
copy_logs(request, dtest_setup.cluster)
except Exception as e:
logger.error("Error saving log:", str(e))
finally:
> dtest_setup.cleanup_cluster(request)

conftest.py:352:
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
_ _

self = <dtest_setup.DTestSetup object at 0x7f19e87a27c0>
request = <SubRequest 'fixture_dtest_setup' for <Function
'test_zerocopy_streaming_no_replication'>>

def cleanup_cluster(self, request=None):
with log_filter('cassandra'): # quiet noise from driver when nodes start
going down
> if self.dtest_config.keep_test_dir or
(self.dtest_config.keep_failed_test_dir and request and
request.node.rep_call.failed):
E AttributeError: 'Function' object has no attribute 'rep_call'

dtest_setup.py:351: AttributeError
----------------------------------------------------------------------------
cython // test_complete_in_create_columnfamily // Error
-------------------- >> begin captured logging << -------------------
- test_cqlsh: INFO: Spawning '/home/jenkins/jenkins-slave/workspace/
Cassandra-3.11-cqlsh-tests/bin/cqlsh' subprocess with args: ('127.0.0.1',
'9042', '--keyspace', 'CqlshTests_l11Ft2') and env: {'PYTHONPATH': '',
'TERM': 'xterm', 'CQLSH_NO_BUNDLED': '', 'COLUMNS': '100000'} test_cqlsh:
DEBUG: Searching for '\n(\\S+@)?cqlsh(:\\S+)?> ' test_cqlsh: DEBUG: read
'Connected to \x1b[0;1;34mtest\x1b[0m at 127.0.0.1:9042.\r\n' from subproc
test_cqlsh: DEBUG: read '[cqlsh 5.0.1 | Cassandra 3.11.10-SNAPSHOT | CQL
spec 3.4.4 | Native protocol v4]\r\nUse HELP for help.\r\ncqlsh:
CqlshTests_l11Ft2> ' from subproc test_cqlsh: DEBUG: read 'CREATE C' from
subproc test_cqlsh: DEBUG: read '\x07' from subproc test_cqlsh: DEBUG: read
'\r\nCOLUMNFAMILY CUSTOM \r\n' from subproc test_cqlsh: DEBUG: read 'cqlsh:
CqlshTests_l11Ft2> CREATE C' from subproc test_cqlsh: DEBUG: Searching for
'\n(\\S+@)?cqlsh(:\\S+)?> ' test_cqlsh: DEBUG: read '\r\n' from subproc
test_cqlsh: DEBUG: read 'cqlsh:CqlshTests_l11Ft2> ' from subproc test_cqlsh:
DEBUG: Searching for '\n(\\S+@)?cqlsh(:\\S+)?> ' test_cqlsh: DEBUG: read
'\r\ncqlsh:CqlshTests_l11Ft2> ' from subproc test_cqlsh: DEBUG: read 'CREATE
CO' from subproc test_cqlsh: DEBUG: read 'LUMNFAMILY ' from subproc
test_cqlsh: DEBUG: Searching for '\n(\\S+@)?cqlsh(:\\S+)?> ' test_cqlsh:
DEBUG: read '\r\ncqlsh:CqlshTests_l11Ft2> ' from subproc test_cqlsh: DEBUG:
read 'CREATE COLUMNFAMILY ' from subproc test_cqlsh: DEBUG: read '\x07' from
subproc test_cqlsh: DEBUG: read '\r\n "CqlshTests_l11Ft2" <new_table_name>
IF \r\n' from subproc test_cqlsh: DEBUG: read 'cqlsh:CqlshTests_l11Ft2>
CREATE COLUMNFAMILY ' from subproc test_cqlsh: DEBUG: Searching for '\n
(\\S+@)?cqlsh(:\\S+)?> ' test_cqlsh: DEBUG: read '\r\n' from subproc
test_cqlsh: DEBUG: read 'cqlsh:CqlshTests_l11Ft2> ' from subproc test_cqlsh:
DEBUG: Searching for '\n(\\S+@)?cqlsh(:\\S+)?> ' test_cqlsh: DEBUG: read
'\r\ncqlsh:CqlshTests_l11Ft2> ' from subproc test_cqlsh: DEBUG: read 'CREATE
COLUMNFAMILY IF ' from subproc test_cqlsh: DEBUG: read 'NOT EXISTS ' from
subproc test_cqlsh: DEBUG: Searching for '\n(\\S+@)?cqlsh(:\\S+)?> '
test_cqlsh: DEBUG: read '\r\ncqlsh:CqlshTests_l11Ft2> ' from subproc
test_cqlsh: DEBUG: read 'CREATE COLUMNFAMILY IF NOT EXISTS ' from subproc
test_cqlsh: DEBUG: read '\x07' from subproc test_cqlsh: DEBUG: read '\r\n
"CqlshTests_l11Ft2" <new_table_name> \r\n' from subproc test_cqlsh: DEBUG:
read 'cqlsh:CqlshTests_l11Ft2> CREATE COLUMNFAMILY IF NOT EXISTS ' from
subproc test_cqlsh: DEBUG: Searching for '\n(\\S+@)?cqlsh(:\\S+)?> '
test_cqlsh: DEBUG: read '\r\ncqlsh:CqlshTests_l11Ft2> ' from subproc
test_cqlsh: DEBUG: Searching for '\n(\\S+@)?cqlsh(:\\S+)?> ' test_cqlsh:
DEBUG: read '\r\ncqlsh:CqlshTests_l11Ft2> ' from subproc test_cqlsh: DEBUG:
read 'CREATE COLUMNFAMILY IF NOT EXISTS new_table ' from subproc test_cqlsh:
DEBUG: read '( ' from subproc test_cqlsh: DEBUG: Searching for '\n
(\\S+@)?cqlsh(:\\S+)?> ' test_cqlsh: DEBUG: read '\r\ncqlsh:
CqlshTests_l11Ft2> ' from subproc test_cqlsh: DEBUG: read 'CREATE
COLUMNFAMILY "CqlshTests_l11Ft2"' from subproc test_cqlsh: DEBUG: read
'\x07' from subproc test_cqlsh: DEBUG: read '\r\n( . \r\n' from subproc
test_cqlsh: DEBUG: read 'cqlsh:CqlshTests_l11Ft2> CREATE COLUMNFAMILY
"CqlshTests_l11Ft2"' from subproc test_cqlsh: DEBUG: Searching for '\n
(\\S+@)?cqlsh(:\\S+)?> ' test_cqlsh: DEBUG: read '\r\ncqlsh:
CqlshTests_l11Ft2> ' from subproc test_cqlsh: DEBUG: Searching for '\n
(\\S+@)?cqlsh(:\\S+)?> ' test_cqlsh: DEBUG: read '\r\ncqlsh:
CqlshTests_l11Ft2> ' from subproc test_cqlsh: DEBUG: read 'CREATE
COLUMNFAMILY "CqlshTests_l11Ft2"( ' from subproc test_cqlsh: DEBUG: read
'\x07' from subproc test_cqlsh: DEBUG: read '\r\n <identifier>
<new_column_name> <quotedName> \r\ncqlsh:CqlshTests_l11Ft2> CREATE
COLUMNFAMILY "CqlshTests_l11Ft2"( ' from subproc test_cqlsh: DEBUG:
Searching for '\n(\\S+@)?cqlsh(:\\S+)?> ' test_cqlsh: DEBUG: read
'\r\ncqlsh:CqlshTests_l11Ft2> ' from subproc test_cqlsh: DEBUG: Searching
for '\n(\\S+@)?cqlsh(:\\S+)?> ' test_cqlsh: DEBUG: read '\r\ncqlsh:
CqlshTests_l11Ft2> ' from subproc test_cqlsh: DEBUG: read 'CREATE
COLUMNFAMILY "CqlshTests_l11Ft2".' from subproc test_cqlsh: DEBUG: read
'\x07' from subproc test_cqlsh: DEBUG: read '\r\n <new_table_name> \r\n'
from subproc test_cqlsh: DEBUG: read 'cqlsh:CqlshTests_l11Ft2> CREATE
COLUMNFAMILY "CqlshTests_l11Ft2".' from subproc test_cqlsh: DEBUG: Searching
for '\n(\\S+@)?cqlsh(:\\S+)?> ' test_cqlsh: DEBUG: read '\r\ncqlsh:
CqlshTests_l11Ft2> ' from subproc test_cqlsh: DEBUG: Searching for '\n
(\\S+@)?cqlsh(:\\S+)?> ' test_cqlsh: DEBUG: read '\r\ncqlsh:
CqlshTests_l11Ft2> ' from subproc test_cqlsh: DEBUG: read 'CREATE
COLUMNFAMILY "CqlshTests_l11Ft2".new_table ' from subproc test_cqlsh: DEBUG:
read '( ' from subproc test_cqlsh: DEBUG: Searching for '\n(\\S+@)?cqlsh(:
\\S+)?> ' test_cqlsh: DEBUG: read '\r\ncqlsh:CqlshTests_l11Ft2> ' from
subproc test_cqlsh: DEBUG: read 'CREATE COLUMNFAMILY
"CqlshTests_l11Ft2".new_table ( ' from subproc test_cqlsh: DEBUG: read
'\x07' from subproc test_cqlsh: DEBUG: read '\r\n <identifier>
<new_column_name> <quotedName> \r\ncqlsh:CqlshTests_l11Ft2> CREATE
COLUMNFAMILY "CqlshTests_l11Ft2".new_table ( ' from subproc test_cqlsh:
DEBUG: Searching for '\n(\\S+@)?cqlsh(:\\S+)?> ' test_cqlsh: DEBUG: read
'\r\n' from subproc test_cqlsh: DEBUG: read 'cqlsh:CqlshTests_l11Ft2> ' from
subproc test_cqlsh: DEBUG: Searching for '\n(\\S+@)?cqlsh(:\\S+)?> '
test_cqlsh: DEBUG: read '\r\n' from subproc test_cqlsh: DEBUG: read 'cqlsh:
CqlshTests_l11Ft2> ' from subproc test_cqlsh: DEBUG: read 'CREATE
COLUMNFAMILY new_table ( ' from subproc test_cqlsh: DEBUG: read '\x07' from
subproc test_cqlsh: DEBUG: read '\r\n <identifier> <new_column_name>
<quotedName> \r\ncqlsh:CqlshTests_l11Ft2> CREATE COLUMNFAMILY new_table ( '
from subproc test_cqlsh: DEBUG: Searching for '\n(\\S+@)?cqlsh(:\\S+)?> '
test_cqlsh: DEBUG: read '\r\ncqlsh:CqlshTests_l11Ft2> ' from subproc
test_cqlsh: DEBUG: Searching for '\n(\\S+@)?cqlsh(:\\S+)?> ' test_cqlsh:
DEBUG: read '\r\ncqlsh:CqlshTests_l11Ft2> ' from subproc test_cqlsh: DEBUG:
read 'CREATE COLUMNFAMILY new_table (col_a ine' from subproc test_cqlsh:
DEBUG: read 't ' from subproc test_cqlsh: DEBUG: Searching for '\n
(\\S+@)?cqlsh(:\\S+)?> ' test_cqlsh: DEBUG: read '\r\n' from subproc
test_cqlsh: DEBUG: read 'cqlsh:CqlshTests_l11Ft2> ' from subproc test_cqlsh:
DEBUG: read 'CREATE COLUMNFAMILY new_table (col_a int ' from subproc
test_cqlsh: DEBUG: read '\x07' from subproc test_cqlsh: DEBUG: read '\r\n,
PRIMARY \r\n' from subproc test_cqlsh: DEBUG: read 'cqlsh:CqlshTests_l11Ft2>
CREATE COLUMNFAMILY new_table (col_a int ' from subproc test_cqlsh: DEBUG:
Searching for '\n(\\S+@)?cqlsh(:\\S+)?> ' test_cqlsh: DEBUG: read
'\r\ncqlsh:CqlshTests_l11Ft2> ' from subproc test_cqlsh: DEBUG: Searching
for '\n(\\S+@)?cqlsh(:\\S+)?> ' test_cqlsh: DEBUG: read '\r\ncqlsh:
CqlshTests_l11Ft2> ' from subproc test_cqlsh: DEBUG: read 'CREATE
COLUMNFAMILY new_table (col_a int P' from subproc test_cqlsh: DEBUG: read
'RIMARY KEY ' from subproc test_cqlsh: DEBUG: Searching for '\n(\\S+@)?cqlsh
(:\\S+)?> ' test_cqlsh: DEBUG: read '\r\ncqlsh:CqlshTests_l11Ft2> ' from
subproc test_cqlsh: DEBUG: read 'CREATE COLUMNFAMILY new_table (col_a int
PRIMARY KEY ' from subproc test_cqlsh: DEBUG: read '\x07' from subproc
test_cqlsh: DEBUG: read '\r\n) , ' from subproc test_cqlsh: DEBUG: read
'\r\ncqlsh:CqlshTests_l11Ft2> CREATE COLUMNFAMILY new_table (col_a int
PRIMARY KEY ' from subproc test_cqlsh: DEBUG: Searching for '\n(\\S+@)?cqlsh
(:\\S+)?> ' test_cqlsh: DEBUG: read '\r\ncqlsh:CqlshTests_l11Ft2> ' from
subproc test_cqlsh: DEBUG: Searching for '\n(\\S+@)?cqlsh(:\\S+)?> '
test_cqlsh: DEBUG: read '\r\ncqlsh:CqlshTests_l11Ft2> ' from subproc
test_cqlsh: DEBUG: read 'CREATE COLUMNFAMILY new_table (col_a int PRIMARY
KEY,' from subproc test_cqlsh: DEBUG: read '\x07' from subproc test_cqlsh:
DEBUG: read '\r\n <identifier> <quotedName> \r\n' from subproc test_cqlsh:
DEBUG: read 'cqlsh:CqlshTests_l11Ft2> CREATE COLUMNFAMILY new_table (col_a
int PRIMARY KEY,' from subproc test_cqlsh: DEBUG: Searching for '\n
(\\S+@)?cqlsh(:\\S+)?> ' test_cqlsh: DEBUG: read '\r\n' from subproc
test_cqlsh: DEBUG: read 'cqlsh:CqlshTests_l11Ft2> ' from subproc test_cqlsh:
DEBUG: Searching for '\n(\\S+@)?cqlsh(:\\S+)?> ' test_cqlsh: DEBUG: read
'\r\n' from subproc test_cqlsh: DEBUG: read 'cqlsh:CqlshTests_l11Ft2> ' from
subproc test_cqlsh: DEBUG: read 'CREATE COLUMNFAMILY new_table (col_a int
PRIMARY KEY)' from subproc test_cqlsh: DEBUG: read '\x07 ' from subproc
test_cqlsh: DEBUG: Searching for '\n(\\S+@)?cqlsh(:\\S+)?> ' test_cqlsh:
DEBUG: read '\r\n' from subproc test_cqlsh: DEBUG: read 'cqlsh:
CqlshTests_l11Ft2> ' from subproc test_cqlsh: DEBUG: read 'CREATE
COLUMNFAMILY new_table (col_a int PRIMARY KEY) ' from subproc test_cqlsh:
DEBUG: read '\x07' from subproc test_cqlsh: DEBUG: read '\r\n; WITH
\r\ncqlsh:CqlshTests_l11Ft2> CREATE COLUMNFAMILY new_table (col_a int
PRIMARY KEY) ' from subproc test_cqlsh: DEBUG: Searching for '\n
(\\S+@)?cqlsh(:\\S+)?> ' test_cqlsh: DEBUG: read '\r\n' from subproc
test_cqlsh: DEBUG: read 'cqlsh:CqlshTests_l11Ft2> ' from subproc test_cqlsh:
DEBUG: Searching for '\n(\\S+@)?cqlsh(:\\S+)?> ' test_cqlsh: DEBUG: read
'\r\n' from subproc test_cqlsh: DEBUG: read 'cqlsh:CqlshTests_l11Ft2> ' from
subproc test_cqlsh: DEBUG: read 'CREATE COLUMNFAMILY new_table (col_a int
PRIMARY KEY) W' from subproc test_cqlsh: DEBUG: read 'ITH ' from subproc
test_cqlsh: DEBUG: Searching for '\n(\\S+@)?cqlsh(:\\S+)?> ' test_cqlsh:
DEBUG: read '\r\n' from subproc test_cqlsh: DEBUG: read 'cqlsh:
CqlshTests_l11Ft2> ' from subproc test_cqlsh: DEBUG: read 'CREATE
COLUMNFAMILY new_table (col_a int PRIMARY KEY) WITH ' from subproc
test_cqlsh: DEBUG: read '\x07' from subproc test_cqlsh: DEBUG: read '\r\n'
from subproc test_cqlsh: DEBUG: read 'CLUSTERING COMPACT
bloom_filter_fp_chance caching cdc comment compaction compression
dclocal_read_repair_chance default_time_to_live gc_grace_seconds
max_index_interval memtable_flush_period_in_ms min_index_interval
read_repair_chance speculative_retry \r\ncqlsh:CqlshTests_l11Ft2> CREATE
COLUMNFAMILY new_table (col_a int PRIMARY KEY) WITH ' from subproc
test_cqlsh: DEBUG: Searching for '\n(\\S+@)?cqlsh(:\\S+)?> ' test_cqlsh:
DEBUG: read '\r\n' from subproc test_cqlsh: DEBUG: read 'cqlsh:
CqlshTests_l11Ft2> ' from subproc test_cqlsh: DEBUG: Searching for '\n
(\\S+@)?cqlsh(:\\S+)?> ' test_cqlsh: DEBUG: read '\r\n' from subproc
test_cqlsh: DEBUG: read 'cqlsh:CqlshTests_l11Ft2> ' from subproc test_cqlsh:
DEBUG: read 'CREATE COLUMNFAMILY new_table (col_a int PRIMARY KEY) WITH '
from subproc test_cqlsh: DEBUG: read '\x07' from subproc test_cqlsh: DEBUG:
read '\r\n' from subproc test_cqlsh: DEBUG: read 'CLUSTERING COMPACT
bloom_filter_fp_chance caching cdc comment compaction compression
dclocal_read_repair_chance default_time_to_live gc_grace_seconds
max_index_interval memtable_flush_period_in_ms min_index_interval
read_repair_chance speculative_retry \r\ncqlsh:CqlshTests_l11Ft2> CREATE
COLUMNFAMILY new_table (col_a int PRIMARY KEY) WITH ' from subproc
test_cqlsh: DEBUG: Searching for '\n(\\S+@)?cqlsh(:\\S+)?> ' test_cqlsh:
DEBUG: read '\r\n' from subproc test_cqlsh: DEBUG: read 'cqlsh:
CqlshTests_l11Ft2> ' from subproc test_cqlsh: DEBUG: Searching for '\n
(\\S+@)?cqlsh(:\\S+)?> ' test_cqlsh: DEBUG: read '\r\n' from subproc
test_cqlsh: DEBUG: read 'cqlsh:CqlshTests_l11Ft2> ' from subproc test_cqlsh:
DEBUG: read 'CREATE COLUMNFAMILY new_table (col_a int PRIMARY KEY) WITH
bloom_filter_fp_chance ' from subproc test_cqlsh: DEBUG: read '= ' from
subproc test_cqlsh: DEBUG: Searching for '\n(\\S+@)?cqlsh(:\\S+)?> '
test_cqlsh: DEBUG: read '\r\ncqlsh:CqlshTests_l11Ft2> ' from subproc
test_cqlsh: DEBUG: read 'CREATE COLUMNFAMILY new_table (col_a int PRIMARY
KEY) WITH bloom_filter_fp_chance = \x07' from subproc test_cqlsh: DEBUG:
read '\r\n' from subproc test_cqlsh: DEBUG: read ' <float_between_0_and_1> '
from subproc test_cqlsh: DEBUG: read '\r\n' from subproc test_cqlsh: DEBUG:
read 'cqlsh:CqlshTests_l11Ft2> CREATE COLUMNFAMILY new_table (col_a int
PRIMARY KEY) WITH bloom_filter_fp_chance = ' from subproc test_cqlsh: DEBUG:
Searching for '\n(\\S+@)?cqlsh(:\\S+)?> ' test_cqlsh: DEBUG: read '\r\n'
from subproc test_cqlsh: DEBUG: read 'cqlsh:CqlshTests_l11Ft2> ' from
subproc test_cqlsh: DEBUG: Searching for '\n(\\S+@)?cqlsh(:\\S+)?> ' -------
-------------- >> end captured logging << ---------------------

File "/usr/lib/python2.7/unittest/case.py", line 329, in run
testMethod()
File "/home/jenkins/jenkins-slave/workspace/Cassandra-3.11-cqlsh-tests/
pylib/cqlshlib/test/test_cqlsh_completion.py", line 675, in
test_complete_in_create_columnfamily
self.create_columnfamily_table_template('COLUMNFAMILY')
File "/home/jenkins/jenkins-slave/workspace/Cassandra-3.11-cqlsh-tests/
pylib/cqlshlib/test/test_cqlsh_completion.py", line 612, in
create_columnfamily_table_template
choices=['<float_between_0_and_1>'])
File "/home/jenkins/jenkins-slave/workspace/Cassandra-3.11-cqlsh-tests/
pylib/cqlshlib/test/test_cqlsh_completion.py", line 136, in trycompletions
self.cqlsh.read_to_next_prompt()
File "/home/jenkins/jenkins-slave/workspace/Cassandra-3.11-cqlsh-tests/
pylib/cqlshlib/test/run_cqlsh.py", line 274, in read_to_next_prompt
return self.read_until(self.prompt, timeout=10.0, ptty_timeout=3)
File "/home/jenkins/jenkins-slave/workspace/Cassandra-3.11-cqlsh-tests/
pylib/cqlshlib/test/run_cqlsh.py", line 198, in read_until
val = self.read(blksize, ptty_timeout)
File "/home/jenkins/jenkins-slave/workspace/Cassandra-3.11-cqlsh-tests/
pylib/cqlshlib/test/run_cqlsh.py", line 180, in read_tty
return os.read(self.childpty, blksize)
File "/home/jenkins/jenkins-slave/workspace/Cassandra-3.11-cqlsh-tests/
pylib/cqlshlib/test/run_cqlsh.py", line 63, in raiser
raise exc()
'\n-------------------- >> begin captured logging << --------------------
\ntest_cqlsh: INFO: Spawning \'/home/jenkins/jenkins-slave/workspace/
Cassandra-3.11-cqlsh-tests/bin/cqlsh\' subprocess with args: (\'127.0.0.1\',
\'9042\', \'--keyspace\', \'CqlshTests_l11Ft2\') and env: {\'PYTHONPATH\':
\'\', \'TERM\': \'xterm\', \'CQLSH_NO_BUNDLED\': \'\', \'COLUMNS\':
\'100000\'}\ntest_cqlsh: DEBUG: Searching for \'\\n(\\\\S+@)?cqlsh(:
\\\\S+)?> \'\ntest_cqlsh: DEBUG: read \'Connected to \\x1b[0;1;34mtest\\x1b
[0m at 127.0.0.1:9042.\\r\\n\' from subproc\ntest_cqlsh: DEBUG: read \'
[cqlsh 5.0.1 | Cassandra 3.11.10-SNAPSHOT | CQL spec 3.4.4 | Native protocol
v4]\\r\\nUse HELP for help.\\r\\ncqlsh:CqlshTests_l11Ft2> \' from
subproc\ntest_cqlsh: DEBUG: read \'CREATE C\' from subproc\ntest_cqlsh:
DEBUG: read \'\\x07\' from subproc\ntest_cqlsh: DEBUG: read
\'\\r\\nCOLUMNFAMILY CUSTOM \\r\\n\' from subproc\ntest_cqlsh: DEBUG: read
\'cqlsh:CqlshTests_l11Ft2> CREATE C\' from subproc\ntest_cqlsh: DEBUG:
Searching for \'\\n(\\\\S+@)?cqlsh(:\\\\S+)?> \'\ntest_cqlsh: DEBUG: read
\'\\r\\n\' from subproc\ntest_cqlsh: DEBUG: read \'cqlsh:CqlshTests_l11Ft2>
\' from subproc\ntest_cqlsh: DEBUG: Searching for \'\\n(\\\\S+@)?cqlsh(:
\\\\S+)?> \'\ntest_cqlsh: DEBUG: read \'\\r\\ncqlsh:CqlshTests_l11Ft2> \'
from subproc\ntest_cqlsh: DEBUG: read \'CREATE CO\' from
subproc\ntest_cqlsh: DEBUG: read \'LUMNFAMILY \' from subproc\ntest_cqlsh:
DEBUG: Searching for \'\\n(\\\\S+@)?cqlsh(:\\\\S+)?> \'\ntest_cqlsh: DEBUG:
read \'\\r\\ncqlsh:CqlshTests_l11Ft2> \' from subproc\ntest_cqlsh: DEBUG:
read \'CREATE COLUMNFAMILY \' from subproc\ntest_cqlsh: DEBUG: read
\'\\x07\' from subproc\ntest_cqlsh: DEBUG: read \'\\r\\n "CqlshTests_l11Ft2"
<new_table_name> IF \\r\\n\' from subproc\ntest_cqlsh: DEBUG: read \'cqlsh:
CqlshTests_l11Ft2> CREATE COLUMNFAMILY \' from subproc\ntest_cqlsh: DEBUG:
Searching for \'\\n(\\\\S+@)?cqlsh(:\\\\S+)?> \'\ntest_cqlsh: DEBUG: read
\'\\r\\n\' from subproc\ntest_cqlsh: DEBUG: read \'cqlsh:CqlshTests_l11Ft2>
\' from subproc\ntest_cqlsh: DEBUG: Searching for \'\\n(\\\\S+@)?cqlsh(:
\\\\S+)?> \'\ntest_cqlsh: DEBUG: read \'\\r\\ncqlsh:CqlshTests_l11Ft2> \'
from subproc\ntest_cqlsh: DEBUG: read \'CREATE COLUMNFAMILY IF \' from
subproc\ntest_cqlsh: DEBUG: read \'NOT EXISTS \' from subproc\ntest_cqlsh:
DEBUG: Searching for \'\\n(\\\\S+@)?cqlsh(:\\\\S+)?> \'\ntest_cqlsh: DEBUG:
read \'\\r\\ncqlsh:CqlshTests_l11Ft2> \' from subproc\ntest_cqlsh: DEBUG:
read \'CREATE COLUMNFAMILY IF NOT EXISTS \' from subproc\ntest_cqlsh: DEBUG:
read \'\\x07\' from subproc\ntest_cqlsh: DEBUG: read \'\\r\\n
"CqlshTests_l11Ft2" <new_table_name> \\r\\n\' from subproc\ntest_cqlsh:
DEBUG: read \'cqlsh:CqlshTests_l11Ft2> CREATE COLUMNFAMILY IF NOT EXISTS \'
from subproc\ntest_cqlsh: DEBUG: Searching for \'\\n(\\\\S+@)?cqlsh(:
\\\\S+)?> \'\ntest_cqlsh: DEBUG: read \'\\r\\ncqlsh:CqlshTests_l11Ft2> \'
from subproc\ntest_cqlsh: DEBUG: Searching for \'\\n(\\\\S+@)?cqlsh(:
\\\\S+)?> \'\ntest_cqlsh: DEBUG: read \'\\r\\ncqlsh:CqlshTests_l11Ft2> \'
from subproc\ntest_cqlsh: DEBUG: read \'CREATE COLUMNFAMILY IF NOT EXISTS
new_table \' from subproc\ntest_cqlsh: DEBUG: read \'( \' from
subproc\ntest_cqlsh: DEBUG: Searching for \'\\n(\\\\S+@)?cqlsh(:\\\\S+)?>
\'\ntest_cqlsh: DEBUG: read \'\\r\\ncqlsh:CqlshTests_l11Ft2> \' from
subproc\ntest_cqlsh: DEBUG: read \'CREATE COLUMNFAMILY "CqlshTests_l11Ft2"\'
from subproc\ntest_cqlsh: DEBUG: read \'\\x07\' from subproc\ntest_cqlsh:
DEBUG: read \'\\r\\n( . \\r\\n\' from subproc\ntest_cqlsh: DEBUG: read
\'cqlsh:CqlshTests_l11Ft2> CREATE COLUMNFAMILY "CqlshTests_l11Ft2"\' from
subproc\ntest_cqlsh: DEBUG: Searching for \'\\n(\\\\S+@)?cqlsh(:\\\\S+)?>
\'\ntest_cqlsh: DEBUG: read \'\\r\\ncqlsh:CqlshTests_l11Ft2> \' from
subproc\ntest_cqlsh: DEBUG: Searching for \'\\n(\\\\S+@)?cqlsh(:\\\\S+)?>
\'\ntest_cqlsh: DEBUG: read \'\\r\\ncqlsh:CqlshTests_l11Ft2> \' from
subproc\ntest_cqlsh: DEBUG: read \'CREATE COLUMNFAMILY "CqlshTests_l11Ft2"
( \' from subproc\ntest_cqlsh: DEBUG: read \'\\x07\' from
subproc\ntest_cqlsh: DEBUG: read \'\\r\\n <identifier> <new_column_name>
<quotedName> \\r\\ncqlsh:CqlshTests_l11Ft2> CREATE COLUMNFAMILY
"CqlshTests_l11Ft2"( \' from subproc\ntest_cqlsh: DEBUG: Searching for \'\\n
(\\\\S+@)?cqlsh(:\\\\S+)?> \'\ntest_cqlsh: DEBUG: read \'\\r\\ncqlsh:
CqlshTests_l11Ft2> \' from subproc\ntest_cqlsh: DEBUG: Searching for \'\\n
(\\\\S+@)?cqlsh(:\\\\S+)?> \'\ntest_cqlsh: DEBUG: read \'\\r\\ncqlsh:
CqlshTests_l11Ft2> \' from subproc\ntest_cqlsh: DEBUG: read \'CREATE
COLUMNFAMILY "CqlshTests_l11Ft2".\' from subproc\ntest_cqlsh: DEBUG: read
\'\\x07\' from subproc\ntest_cqlsh: DEBUG: read \'\\r\\n <new_table_name>
\\r\\n\' from subproc\ntest_cqlsh: DEBUG: read \'cqlsh:CqlshTests_l11Ft2>
CREATE COLUMNFAMILY "CqlshTests_l11Ft2".\' from subproc\ntest_cqlsh: DEBUG:
Searching for \'\\n(\\\\S+@)?cqlsh(:\\\\S+)?> \'\ntest_cqlsh: DEBUG: read
\'\\r\\ncqlsh:CqlshTests_l11Ft2> \' from subproc\ntest_cqlsh: DEBUG:
Searching for \'\\n(\\\\S+@)?cqlsh(:\\\\S+)?> \'\ntest_cqlsh: DEBUG: read
\'\\r\\ncqlsh:CqlshTests_l11Ft2> \' from subproc\ntest_cqlsh: DEBUG: read
\'CREATE COLUMNFAMILY "CqlshTests_l11Ft2".new_table \' from
subproc\ntest_cqlsh: DEBUG: read \'( \' from subproc\ntest_cqlsh: DEBUG:
Searching for \'\\n(\\\\S+@)?cqlsh(:\\\\S+)?> \'\ntest_cqlsh: DEBUG: read
\'\\r\\ncqlsh:CqlshTests_l11Ft2> \' from subproc\ntest_cqlsh: DEBUG: read
\'CREATE COLUMNFAMILY "CqlshTests_l11Ft2".new_table ( \' from
subproc\ntest_cqlsh: DEBUG: read \'\\x07\' from subproc\ntest_cqlsh: DEBUG:
read \'\\r\\n <identifier> <new_column_name> <quotedName> \\r\\ncqlsh:
CqlshTests_l11Ft2> CREATE COLUMNFAMILY "CqlshTests_l11Ft2".new_table ( \'
from subproc\ntest_cqlsh: DEBUG: Searching for \'\\n(\\\\S+@)?cqlsh(:
\\\\S+)?> \'\ntest_cqlsh: DEBUG: read \'\\r\\n\' from subproc\ntest_cqlsh:
DEBUG: read \'cqlsh:CqlshTests_l11Ft2> \' from subproc\ntest_cqlsh: DEBUG:
Searching for \'\\n(\\\\S+@)?cqlsh(:\\\\S+)?> \'\ntest_cqlsh: DEBUG: read
\'\\r\\n\' from subproc\ntest_cqlsh: DEBUG: read \'cqlsh:CqlshTests_l11Ft2>
\' from subproc\ntest_cqlsh: DEBUG: read \'CREATE COLUMNFAMILY new_table
( \' from subproc\ntest_cqlsh: DEBUG: read \'\\x07\' from
subproc\ntest_cqlsh: DEBUG: read \'\\r\\n <identifier> <new_column_name>
<quotedName> \\r\\ncqlsh:CqlshTests_l11Ft2> CREATE COLUMNFAMILY new_table
( \' from subproc\ntest_cqlsh: DEBUG: Searching for \'\\n(\\\\S+@)?cqlsh(:
\\\\S+)?> \'\ntest_cqlsh: DEBUG: read \'\\r\\ncqlsh:CqlshTests_l11Ft2> \'
from subproc\ntest_cqlsh: DEBUG: Searching for \'\\n(\\\\S+@)?cqlsh(:
\\\\S+)?> \'\ntest_cqlsh: DEBUG: read \'\\r\\ncqlsh:CqlshTests_l11Ft2> \'
from subproc\ntest_cqlsh: DEBUG: read \'CREATE COLUMNFAMILY new_table (col_a
ine\' from subproc\ntest_cqlsh: DEBUG: read \'t \' from subproc\ntest_cqlsh:
DEBUG: Searching for \'\\n(\\\\S+@)?cqlsh(:\\\\S+)?> \'\ntest_cqlsh: DEBUG:
read \'\\r\\n\' from subproc\ntest_cqlsh: DEBUG: read \'cqlsh:
CqlshTests_l11Ft2> \' from subproc\ntest_cqlsh: DEBUG: read \'CREATE
COLUMNFAMILY new_table (col_a int \' from subproc\ntest_cqlsh: DEBUG: read
\'\\x07\' from subproc\ntest_cqlsh: DEBUG: read \'\\r\\n, PRIMARY \\r\\n\'
from subproc\ntest_cqlsh: DEBUG: read \'cqlsh:CqlshTests_l11Ft2> CREATE
COLUMNFAMILY new_table (col_a int \' from subproc\ntest_cqlsh: DEBUG:
Searching for \'\\n(\\\\S+@)?cqlsh(:\\\\S+)?> \'\ntest_cqlsh: DEBUG: read
\'\\r\\ncqlsh:CqlshTests_l11Ft2> \' from subproc\ntest_cqlsh: DEBUG:
Searching for \'\\n(\\\\S+@)?cqlsh(:\\\\S+)?> \'\ntest_cqlsh: DEBUG: read
\'\\r\\ncqlsh:CqlshTests_l11Ft2> \' from subproc\ntest_cqlsh: DEBUG: read
\'CREATE COLUMNFAMILY new_table (col_a int P\' from subproc\ntest_cqlsh:
DEBUG: read \'RIMARY KEY \' from subproc\ntest_cqlsh: DEBUG: Searching for
\'\\n(\\\\S+@)?cqlsh(:\\\\S+)?> \'\ntest_cqlsh: DEBUG: read \'\\r\\ncqlsh:
CqlshTests_l11Ft2> \' from subproc\ntest_cqlsh: DEBUG: read \'CREATE
COLUMNFAMILY new_table (col_a int PRIMARY KEY \' from subproc\ntest_cqlsh:
DEBUG: read \'\\x07\' from subproc\ntest_cqlsh: DEBUG: read \'\\r\\n) , \'
from subproc\ntest_cqlsh: DEBUG: read \'\\r\\ncqlsh:CqlshTests_l11Ft2>
CREATE COLUMNFAMILY new_table (col_a int PRIMARY KEY \' from
subproc\ntest_cqlsh: DEBUG: Searching for \'\\n(\\\\S+@)?cqlsh(:\\\\S+)?>
\'\ntest_cqlsh: DEBUG: read \'\\r\\ncqlsh:CqlshTests_l11Ft2> \' from
subproc\ntest_cqlsh: DEBUG: Searching for \'\\n(\\\\S+@)?cqlsh(:\\\\S+)?>
\'\ntest_cqlsh: DEBUG: read \'\\r\\ncqlsh:CqlshTests_l11Ft2> \' from
subproc\ntest_cqlsh: DEBUG: read \'CREATE COLUMNFAMILY new_table (col_a int
PRIMARY KEY,\' from subproc\ntest_cqlsh: DEBUG: read \'\\x07\' from
subproc\ntest_cqlsh: DEBUG: read \'\\r\\n <identifier> <quotedName> \\r\\n\'
from subproc\ntest_cqlsh: DEBUG: read \'cqlsh:CqlshTests_l11Ft2> CREATE
COLUMNFAMILY new_table (col_a int PRIMARY KEY,\' from subproc\ntest_cqlsh:
DEBUG: Searching for \'\\n(\\\\S+@)?cqlsh(:\\\\S+)?> \'\ntest_cqlsh: DEBUG:
read \'\\r\\n\' from subproc\ntest_cqlsh: DEBUG: read \'cqlsh:
CqlshTests_l11Ft2> \' from subproc\ntest_cqlsh: DEBUG: Searching for \'\\n
(\\\\S+@)?cqlsh(:\\\\S+)?> \'\ntest_cqlsh: DEBUG: read \'\\r\\n\' from
subproc\ntest_cqlsh: DEBUG: read \'cqlsh:CqlshTests_l11Ft2> \' from
subproc\ntest_cqlsh: DEBUG: read \'CREATE COLUMNFAMILY new_table (col_a int
PRIMARY KEY)\' from subproc\ntest_cqlsh: DEBUG: read \'\\x07 \' from
subproc\ntest_cqlsh: DEBUG: Searching for \'\\n(\\\\S+@)?cqlsh(:\\\\S+)?>
\'\ntest_cqlsh: DEBUG: read \'\\r\\n\' from subproc\ntest_cqlsh: DEBUG: read
\'cqlsh:CqlshTests_l11Ft2> \' from subproc\ntest_cqlsh: DEBUG: read \'CREATE
COLUMNFAMILY new_table (col_a int PRIMARY KEY) \' from subproc\ntest_cqlsh:
DEBUG: read \'\\x07\' from subproc\ntest_cqlsh: DEBUG: read \'\\r\\n; WITH
\\r\\ncqlsh:CqlshTests_l11Ft2> CREATE COLUMNFAMILY new_table (col_a int
PRIMARY KEY) \' from subproc\ntest_cqlsh: DEBUG: Searching for \'\\n
(\\\\S+@)?cqlsh(:\\\\S+)?> \'\ntest_cqlsh: DEBUG: read \'\\r\\n\' from
subproc\ntest_cqlsh: DEBUG: read \'cqlsh:CqlshTests_l11Ft2> \' from
subproc\ntest_cqlsh: DEBUG: Searching for \'\\n(\\\\S+@)?cqlsh(:\\\\S+)?>
\'\ntest_cqlsh: DEBUG: read \'\\r\\n\' from subproc\ntest_cqlsh: DEBUG: read
\'cqlsh:CqlshTests_l11Ft2> \' from subproc\ntest_cqlsh: DEBUG: read \'CREATE
COLUMNFAMILY new_table (col_a int PRIMARY KEY) W\' from subproc\ntest_cqlsh:
DEBUG: read \'ITH \' from subproc\ntest_cqlsh: DEBUG: Searching for \'\\n
(\\\\S+@)?cqlsh(:\\\\S+)?> \'\ntest_cqlsh: DEBUG: read \'\\r\\n\' from
subproc\ntest_cqlsh: DEBUG: read \'cqlsh:CqlshTests_l11Ft2> \' from
subproc\ntest_cqlsh: DEBUG: read \'CREATE COLUMNFAMILY new_table (col_a int
PRIMARY KEY) WITH \' from subproc\ntest_cqlsh: DEBUG: read \'\\x07\' from
subproc\ntest_cqlsh: DEBUG: read \'\\r\\n\' from subproc\ntest_cqlsh: DEBUG:
read \'CLUSTERING COMPACT bloom_filter_fp_chance caching cdc comment
compaction compression dclocal_read_repair_chance default_time_to_live
gc_grace_seconds max_index_interval memtable_flush_period_in_ms
min_index_interval read_repair_chance speculative_retry \\r\\ncqlsh:
CqlshTests_l11Ft2> CREATE COLUMNFAMILY new_table (col_a int PRIMARY KEY)
WITH \' from subproc\ntest_cqlsh: DEBUG: Searching for \'\\n(\\\\S+@)?cqlsh
(:\\\\S+)?> \'\ntest_cqlsh: DEBUG: read \'\\r\\n\' from subproc\ntest_cqlsh:
DEBUG: read \'cqlsh:CqlshTests_l11Ft2> \' from subproc\ntest_cqlsh: DEBUG:
Searching for \'\\n(\\\\S+@)?cqlsh(:\\\\S+)?> \'\ntest_cqlsh: DEBUG: read
\'\\r\\n\' from subproc\ntest_cqlsh: DEBUG: read \'cqlsh:CqlshTests_l11Ft2>
\' from subproc\ntest_cqlsh: DEBUG: read \'CREATE COLUMNFAMILY new_table
(col_a int PRIMARY KEY) WITH \' from subproc\ntest_cqlsh: DEBUG: read
\'\\x07\' from subproc\ntest_cqlsh: DEBUG: read \'\\r\\n\' from
subproc\ntest_cqlsh: DEBUG: read \'CLUSTERING COMPACT bloom_filter_fp_chance
caching cdc comment compaction compression dclocal_read_repair_chance
default_time_to_live gc_grace_seconds max_index_interval
memtable_flush_period_in_ms min_index_interval read_repair_chance
speculative_retry \\r\\ncqlsh:CqlshTests_l11Ft2> CREATE COLUMNFAMILY
new_table (col_a int PRIMARY KEY) WITH \' from subproc\ntest_cqlsh: DEBUG:
Searching for \'\\n(\\\\S+@)?cqlsh(:\\\\S+)?> \'\ntest_cqlsh: DEBUG: read
\'\\r\\n\' from subproc\ntest_cqlsh: DEBUG: read \'cqlsh:CqlshTests_l11Ft2>
\' from subproc\ntest_cqlsh: DEBUG: Searching for \'\\n(\\\\S+@)?cqlsh(:
\\\\S+)?> \'\ntest_cqlsh: DEBUG: read \'\\r\\n\' from subproc\ntest_cqlsh:
DEBUG: read \'cqlsh:CqlshTests_l11Ft2> \' from subproc\ntest_cqlsh: DEBUG:
read \'CREATE COLUMNFAMILY new_table (col_a int PRIMARY KEY) WITH
bloom_filter_fp_chance \' from subproc\ntest_cqlsh: DEBUG: read \'= \' from
subproc\ntest_cqlsh: DEBUG: Searching for \'\\n(\\\\S+@)?cqlsh(:\\\\S+)?>
\'\ntest_cqlsh: DEBUG: read \'\\r\\ncqlsh:CqlshTests_l11Ft2> \' from
subproc\ntest_cqlsh: DEBUG: read \'CREATE COLUMNFAMILY new_table (col_a int
PRIMARY KEY) WITH bloom_filter_fp_chance = \\x07\' from subproc\ntest_cqlsh:
DEBUG: read \'\\r\\n\' from subproc\ntest_cqlsh: DEBUG: read \'
<float_between_0_and_1> \' from subproc\ntest_cqlsh: DEBUG: read \'\\r\\n\'
from subproc\ntest_cqlsh: DEBUG: read \'cqlsh:CqlshTests_l11Ft2> CREATE
COLUMNFAMILY new_table (col_a int PRIMARY KEY) WITH bloom_filter_fp_chance =
\' from subproc\ntest_cqlsh: DEBUG: Searching for \'\\n(\\\\S+@)?cqlsh(:
\\\\S+)?> \'\ntest_cqlsh: DEBUG: read \'\\r\\n\' from subproc\ntest_cqlsh:
DEBUG: read \'cqlsh:CqlshTests_l11Ft2> \' from subproc\ntest_cqlsh: DEBUG:
Searching for \'\\n(\\\\S+@)?cqlsh(:\\\\S+)?> \'\n--------------------- >>
end captured logging << ---------------------'
----------------------------------------------------------------------------
cython // test_complete_in_create_keyspace // Error
-------------------- >> begin captured logging << -------------------
- test_cqlsh: INFO: Spawning '/home/jenkins/jenkins-slave/workspace/
Cassandra-3.11-cqlsh-tests/bin/cqlsh' subprocess with args: ('127.0.0.1',
'9042', '--keyspace', 'CqlshTests_l11Ft2') and env: {'PYTHONPATH': '',
'TERM': 'xterm', 'CQLSH_NO_BUNDLED': '', 'COLUMNS': '100000'} test_cqlsh:
DEBUG: Searching for '\n(\\S+@)?cqlsh(:\\S+)?> ' test_cqlsh: DEBUG: read
'Connected to \x1b[0;1;34mtest\x1b[0m at 127.0.0.1:9042.\r\n' from subproc
test_cqlsh: DEBUG: read '[cqlsh 5.0.1 | Cassandra 3.11.10-SNAPSHOT | CQL
spec 3.4.4 | Native protocol v4]\r\nUse HELP for help.\r\ncqlsh:
CqlshTests_l11Ft2> ' from subproc test_cqlsh: DEBUG: read 'create keyspace '
from subproc test_cqlsh: DEBUG: read '\x07' from subproc test_cqlsh: DEBUG:
read '\r\n <identifier> <quotedName> IF \r\ncqlsh:CqlshTests_l11Ft2> create
keyspace ' from subproc test_cqlsh: DEBUG: Searching for '\n(\\S+@)?cqlsh(:
\\S+)?> ' test_cqlsh: DEBUG: read '\r\ncqlsh:CqlshTests_l11Ft2> ' from
subproc test_cqlsh: DEBUG: Searching for '\n(\\S+@)?cqlsh(:\\S+)?> '
test_cqlsh: DEBUG: read '\r\ncqlsh:CqlshTests_l11Ft2> ' from subproc
test_cqlsh: DEBUG: read 'create keyspace moo ' from subproc test_cqlsh:
DEBUG: read "WITH replication = {'class': '" from subproc test_cqlsh: DEBUG:
Searching for '\n(\\S+@)?cqlsh(:\\S+)?> ' test_cqlsh: DEBUG: read '\r\n'
from subproc test_cqlsh: DEBUG: read 'cqlsh:CqlshTests_l11Ft2> ' from
subproc test_cqlsh: DEBUG: read 'create keyspace "12SomeName" with ' from
subproc test_cqlsh: DEBUG: read "replication = {'class': '" from subproc
test_cqlsh: DEBUG: Searching for '\n(\\S+@)?cqlsh(:\\S+)?> ' test_cqlsh:
DEBUG: read '\r\ncqlsh:CqlshTests_l11Ft2> ' from subproc test_cqlsh: DEBUG:
read 'create keyspace fjdkljf with foo=bar ' from subproc test_cqlsh: DEBUG:
read '\x07' from subproc test_cqlsh: DEBUG: read '\r\n; AND \r\ncqlsh:
CqlshTests_l11Ft2> create keyspace fjdkljf with foo=bar ' from subproc
test_cqlsh: DEBUG: Searching for '\n(\\S+@)?cqlsh(:\\S+)?> ' test_cqlsh:
DEBUG: read '\r\ncqlsh:CqlshTests_l11Ft2> ' from subproc test_cqlsh: DEBUG:
Searching for '\n(\\S+@)?cqlsh(:\\S+)?> ' test_cqlsh: DEBUG: read
'\r\ncqlsh:CqlshTests_l11Ft2> ' from subproc test_cqlsh: DEBUG: read 'create
keyspace fjdkljf with foo=bar AND ' from subproc test_cqlsh: DEBUG: read
"replication = {'class': '" from subproc test_cqlsh: DEBUG: Searching for
'\n(\\S+@)?cqlsh(:\\S+)?> ' test_cqlsh: DEBUG: read '\r\ncqlsh:
CqlshTests_l11Ft2> ' from subproc test_cqlsh: DEBUG: read 'create keyspace
moo with replication' from subproc test_cqlsh: DEBUG: read " = {'class': '"
from subproc test_cqlsh: DEBUG: Searching for '\n(\\S+@)?cqlsh(:\\S+)?> '
test_cqlsh: DEBUG: read '\r\n' from subproc test_cqlsh: DEBUG: read 'cqlsh:
CqlshTests_l11Ft2> ' from subproc test_cqlsh: DEBUG: read 'create keyspace
moo with replication=' from subproc test_cqlsh: DEBUG: read " {'class': '"
from subproc test_cqlsh: DEBUG: Searching for '\n(\\S+@)?cqlsh(:\\S+)?> '
test_cqlsh: DEBUG: read '\r\ncqlsh:CqlshTests_l11Ft2> ' from subproc
test_cqlsh: DEBUG: read 'create keyspace moo with replication={' from
subproc test_cqlsh: DEBUG: read "'class':'" from subproc test_cqlsh: DEBUG:
Searching for '\n(\\S+@)?cqlsh(:\\S+)?> ' test_cqlsh: DEBUG: read
'\r\ncqlsh:CqlshTests_l11Ft2> ' from subproc test_cqlsh: DEBUG: read "create
keyspace moo with replication={'class'" from subproc test_cqlsh: DEBUG: read
":'" from subproc test_cqlsh: DEBUG: Searching for '\n(\\S+@)?cqlsh(:\\S+)?>
' test_cqlsh: DEBUG: read '\r\ncqlsh:CqlshTests_l11Ft2> ' from subproc
test_cqlsh: DEBUG: read "create keyspace moo with replication={'class': "
from subproc test_cqlsh: DEBUG: read "\x07'" from subproc test_cqlsh: DEBUG:
Searching for '\n(\\S+@)?cqlsh(:\\S+)?> ' test_cqlsh: DEBUG: read
'\r\ncqlsh:CqlshTests_l11Ft2> ' from subproc test_cqlsh: DEBUG: read "create
keyspace moo with replication={'class': '" from subproc test_cqlsh: DEBUG:
read '\x07' from subproc test_cqlsh: DEBUG: read
"\r\nNetworkTopologyStrategy OldNetworkTopologyStrategy SimpleStrategy
\r\ncqlsh:CqlshTests_l11Ft2> create keyspace moo with replication={'class':
'" from subproc test_cqlsh: DEBUG: Searching for '\n(\\S+@)?cqlsh(:\\S+)?> '
test_cqlsh: DEBUG: read '\r\ncqlsh:CqlshTests_l11Ft2> ' from subproc
test_cqlsh: DEBUG: Searching for '\n(\\S+@)?cqlsh(:\\S+)?> ' test_cqlsh:
DEBUG: read '\r\ncqlsh:CqlshTests_l11Ft2> ' from subproc test_cqlsh: DEBUG:
read "create keySPACE ttl with replication ={ 'class' : 'SimpleStrategy'"
from subproc test_cqlsh: DEBUG: read ", 'replication_factor': " from subproc
test_cqlsh: DEBUG: Searching for '\n(\\S+@)?cqlsh(:\\S+)?> ' test_cqlsh:
DEBUG: read '\r\ncqlsh:CqlshTests_l11Ft2> ' from subproc test_cqlsh: DEBUG:
read "create keyspace ttl with replication ={'class':'SimpleStrategy'," from
subproc test_cqlsh: DEBUG: read " 'replication_factor': " from subproc
test_cqlsh: DEBUG: Searching for '\n(\\S+@)?cqlsh(:\\S+)?> ' test_cqlsh:
DEBUG: read '\r\ncqlsh:CqlshTests_l11Ft2> ' from subproc test_cqlsh: DEBUG:
read 'create keyspace "ttl" with replication ={\'class\':
\'SimpleStrategy\', ' from subproc test_cqlsh: DEBUG: read
"'replication_factor': " from subproc test_cqlsh: DEBUG: Searching for '\n
(\\S+@)?cqlsh(:\\S+)?> ' test_cqlsh: DEBUG: read '\r\ncqlsh:
CqlshTests_l11Ft2> ' from subproc test_cqlsh: DEBUG: read 'create keyspace
"ttl" with replication ={\'class\': \'SimpleStrategy\', \'repl' from subproc
test_cqlsh: DEBUG: read "ication_factor'" from subproc test_cqlsh: DEBUG:
Searching for '\n(\\S+@)?cqlsh(:\\S+)?> ' test_cqlsh: DEBUG: read
'\r\ncqlsh:CqlshTests_l11Ft2> ' from subproc test_cqlsh: DEBUG: read "create
keyspace foo with replication ={'class': 'SimpleStrategy',
'replication_factor': " from subproc test_cqlsh: DEBUG: read '\x07' from
subproc test_cqlsh: DEBUG: read '\r\n <term> \r\n' from subproc test_cqlsh:
DEBUG: read "cqlsh:CqlshTests_l11Ft2> create keyspace foo with replication =
{'class': 'SimpleStrategy', 'replication_factor': " from subproc test_cqlsh:
DEBUG: Searching for '\n(\\S+@)?cqlsh(:\\S+)?> ' test_cqlsh: DEBUG: read
'\r\n' from subproc test_cqlsh: DEBUG: read 'cqlsh:CqlshTests_l11Ft2> ' from
subproc test_cqlsh: DEBUG: Searching for '\n(\\S+@)?cqlsh(:\\S+)?> '
test_cqlsh: DEBUG: read '\r\ncqlsh:CqlshTests_l11Ft2> ' from subproc
test_cqlsh: DEBUG: read "create keyspace foo with replication ={'class':
'SimpleStrategy', 'replication_factor': 1" from subproc test_cqlsh: DEBUG:
read '\x07' from subproc test_cqlsh: DEBUG: read '\r\n' from subproc
test_cqlsh: DEBUG: read ' <term> ' from subproc test_cqlsh: DEBUG: read
'\r\n' from subproc test_cqlsh: DEBUG: read "cqlsh:CqlshTests_l11Ft2> create
keyspace foo with replication ={'class': 'SimpleStrategy',
'replication_factor': 1" from subproc test_cqlsh: DEBUG: Searching for '\n
(\\S+@)?cqlsh(:\\S+)?> ' test_cqlsh: DEBUG: read '\r\n' from subproc
test_cqlsh: DEBUG: read 'cqlsh:CqlshTests_l11Ft2> ' from subproc test_cqlsh:
DEBUG: Searching for '\n(\\S+@)?cqlsh(:\\S+)?> ' --------------------- >>
end captured logging << ---------------------

File "/usr/lib/python2.7/unittest/case.py", line 329, in run
testMethod()
File "/home/jenkins/jenkins-slave/workspace/Cassandra-3.11-cqlsh-tests/
pylib/cqlshlib/test/test_cqlsh_completion.py", line 497, in
test_complete_in_create_keyspace
choices=('<term>',))
File "/home/jenkins/jenkins-slave/workspace/Cassandra-3.11-cqlsh-tests/
pylib/cqlshlib/test/test_cqlsh_completion.py", line 136, in trycompletions
self.cqlsh.read_to_next_prompt()
File "/home/jenkins/jenkins-slave/workspace/Cassandra-3.11-cqlsh-tests/
pylib/cqlshlib/test/run_cqlsh.py", line 274, in read_to_next_prompt
return self.read_until(self.prompt, timeout=10.0, ptty_timeout=3)
File "/home/jenkins/jenkins-slave/workspace/Cassandra-3.11-cqlsh-tests/
pylib/cqlshlib/test/run_cqlsh.py", line 198, in read_until
val = self.read(blksize, ptty_timeout)
File "/home/jenkins/jenkins-slave/workspace/Cassandra-3.11-cqlsh-tests/
pylib/cqlshlib/test/run_cqlsh.py", line 180, in read_tty
return os.read(self.childpty, blksize)
File "/home/jenkins/jenkins-slave/workspace/Cassandra-3.11-cqlsh-tests/
pylib/cqlshlib/test/run_cqlsh.py", line 63, in raiser
raise exc()
'\n-------------------- >> begin captured logging << --------------------
\ntest_cqlsh: INFO: Spawning \'/home/jenkins/jenkins-slave/workspace/
Cassandra-3.11-cqlsh-tests/bin/cqlsh\' subprocess with args: (\'127.0.0.1\',
\'9042\', \'--keyspace\', \'CqlshTests_l11Ft2\') and env: {\'PYTHONPATH\':
\'\', \'TERM\': \'xterm\', \'CQLSH_NO_BUNDLED\': \'\', \'COLUMNS\':
\'100000\'}\ntest_cqlsh: DEBUG: Searching for \'\\n(\\\\S+@)?cqlsh(:
\\\\S+)?> \'\ntest_cqlsh: DEBUG: read \'Connected to \\x1b[0;1;34mtest\\x1b
[0m at 127.0.0.1:9042.\\r\\n\' from subproc\ntest_cqlsh: DEBUG: read \'
[cqlsh 5.0.1 | Cassandra 3.11.10-SNAPSHOT | CQL spec 3.4.4 | Native protocol
v4]\\r\\nUse HELP for help.\\r\\ncqlsh:CqlshTests_l11Ft2> \' from
subproc\ntest_cqlsh: DEBUG: read \'create keyspace \' from
subproc\ntest_cqlsh: DEBUG: read \'\\x07\' from subproc\ntest_cqlsh: DEBUG:
read \'\\r\\n <identifier> <quotedName> IF \\r\\ncqlsh:CqlshTests_l11Ft2>
create keyspace \' from subproc\ntest_cqlsh: DEBUG: Searching for \'\\n
(\\\\S+@)?cqlsh(:\\\\S+)?> \'\ntest_cqlsh: DEBUG: read \'\\r\\ncqlsh:
CqlshTests_l11Ft2> \' from subproc\ntest_cqlsh: DEBUG: Searching for \'\\n
(\\\\S+@)?cqlsh(:\\\\S+)?> \'\ntest_cqlsh: DEBUG: read \'\\r\\ncqlsh:
CqlshTests_l11Ft2> \' from subproc\ntest_cqlsh: DEBUG: read \'create
keyspace moo \' from subproc\ntest_cqlsh: DEBUG: read "WITH replication =
{\'class\': \'" from subproc\ntest_cqlsh: DEBUG: Searching for \'\\n
(\\\\S+@)?cqlsh(:\\\\S+)?> \'\ntest_cqlsh: DEBUG: read \'\\r\\n\' from
subproc\ntest_cqlsh: DEBUG: read \'cqlsh:CqlshTests_l11Ft2> \' from
subproc\ntest_cqlsh: DEBUG: read \'create keyspace "12SomeName" with \' from
subproc\ntest_cqlsh: DEBUG: read "replication = {\'class\': \'" from
subproc\ntest_cqlsh: DEBUG: Searching for \'\\n(\\\\S+@)?cqlsh(:\\\\S+)?>
\'\ntest_cqlsh: DEBUG: read \'\\r\\ncqlsh:CqlshTests_l11Ft2> \' from
subproc\ntest_cqlsh: DEBUG: read \'create keyspace fjdkljf with foo=bar \'
from subproc\ntest_cqlsh: DEBUG: read \'\\x07\' from subproc\ntest_cqlsh:
DEBUG: read \'\\r\\n; AND \\r\\ncqlsh:CqlshTests_l11Ft2> create keyspace
fjdkljf with foo=bar \' from subproc\ntest_cqlsh: DEBUG: Searching for \'\\n
(\\\\S+@)?cqlsh(:\\\\S+)?> \'\ntest_cqlsh: DEBUG: read \'\\r\\ncqlsh:
CqlshTests_l11Ft2> \' from subproc\ntest_cqlsh: DEBUG: Searching for \'\\n
(\\\\S+@)?cqlsh(:\\\\S+)?> \'\ntest_cqlsh: DEBUG: read \'\\r\\ncqlsh:
CqlshTests_l11Ft2> \' from subproc\ntest_cqlsh: DEBUG: read \'create
keyspace fjdkljf with foo=bar AND \' from subproc\ntest_cqlsh: DEBUG: read
"replication = {\'class\': \'" from subproc\ntest_cqlsh: DEBUG: Searching
for \'\\n(\\\\S+@)?cqlsh(:\\\\S+)?> \'\ntest_cqlsh: DEBUG: read
\'\\r\\ncqlsh:CqlshTests_l11Ft2> \' from subproc\ntest_cqlsh: DEBUG: read
\'create keyspace moo with replication\' from subproc\ntest_cqlsh: DEBUG:
read " = {\'class\': \'" from subproc\ntest_cqlsh: DEBUG: Searching for
\'\\n(\\\\S+@)?cqlsh(:\\\\S+)?> \'\ntest_cqlsh: DEBUG: read \'\\r\\n\' from
subproc\ntest_cqlsh: DEBUG: read \'cqlsh:CqlshTests_l11Ft2> \' from
subproc\ntest_cqlsh: DEBUG: read \'create keyspace moo with replication=\'
from subproc\ntest_cqlsh: DEBUG: read " {\'class\': \'" from
subproc\ntest_cqlsh: DEBUG: Searching for \'\\n(\\\\S+@)?cqlsh(:\\\\S+)?>
\'\ntest_cqlsh: DEBUG: read \'\\r\\ncqlsh:CqlshTests_l11Ft2> \' from
subproc\ntest_cqlsh: DEBUG: read \'create keyspace moo with replication={\'
from subproc\ntest_cqlsh: DEBUG: read "\'class\':\'" from
subproc\ntest_cqlsh: DEBUG: Searching for \'\\n(\\\\S+@)?cqlsh(:\\\\S+)?>
\'\ntest_cqlsh: DEBUG: read \'\\r\\ncqlsh:CqlshTests_l11Ft2> \' from
subproc\ntest_cqlsh: DEBUG: read "create keyspace moo with replication=
{\'class\'" from subproc\ntest_cqlsh: DEBUG: read ":\'" from
subproc\ntest_cqlsh: DEBUG: Searching for \'\\n(\\\\S+@)?cqlsh(:\\\\S+)?>
\'\ntest_cqlsh: DEBUG: read \'\\r\\ncqlsh:CqlshTests_l11Ft2> \' from
subproc\ntest_cqlsh: DEBUG: read "create keyspace moo with replication=
{\'class\': " from subproc\ntest_cqlsh: DEBUG: read "\\x07\'" from
subproc\ntest_cqlsh: DEBUG: Searching for \'\\n(\\\\S+@)?cqlsh(:\\\\S+)?>
\'\ntest_cqlsh: DEBUG: read \'\\r\\ncqlsh:CqlshTests_l11Ft2> \' from
subproc\ntest_cqlsh: DEBUG: read "create keyspace moo with replication=
{\'class\': \'" from subproc\ntest_cqlsh: DEBUG: read \'\\x07\' from
subproc\ntest_cqlsh: DEBUG: read "\\r\\nNetworkTopologyStrategy
OldNetworkTopologyStrategy SimpleStrategy \\r\\ncqlsh:CqlshTests_l11Ft2>
create keyspace moo with replication={\'class\': \'" from
subproc\ntest_cqlsh: DEBUG: Searching for \'\\n(\\\\S+@)?cqlsh(:\\\\S+)?>
\'\ntest_cqlsh: DEBUG: read \'\\r\\ncqlsh:CqlshTests_l11Ft2> \' from
subproc\ntest_cqlsh: DEBUG: Searching for \'\\n(\\\\S+@)?cqlsh(:\\\\S+)?>
\'\ntest_cqlsh: DEBUG: read \'\\r\\ncqlsh:CqlshTests_l11Ft2> \' from
subproc\ntest_cqlsh: DEBUG: read "create keySPACE ttl with replication =
{ \'class\' : \'SimpleStrategy\'" from subproc\ntest_cqlsh: DEBUG: read ",
\'replication_factor\': " from subproc\ntest_cqlsh: DEBUG: Searching for
\'\\n(\\\\S+@)?cqlsh(:\\\\S+)?> \'\ntest_cqlsh: DEBUG: read \'\\r\\ncqlsh:
CqlshTests_l11Ft2> \' from subproc\ntest_cqlsh: DEBUG: read "create keyspace
ttl with replication ={\'class\':\'SimpleStrategy\'," from
subproc\ntest_cqlsh: DEBUG: read " \'replication_factor\': " from
subproc\ntest_cqlsh: DEBUG: Searching for \'\\n(\\\\S+@)?cqlsh(:\\\\S+)?>
\'\ntest_cqlsh: DEBUG: read \'\\r\\ncqlsh:CqlshTests_l11Ft2> \' from
subproc\ntest_cqlsh: DEBUG: read \'create keyspace "ttl" with replication =
{\\\'class\\\': \\\'SimpleStrategy\\\', \' from subproc\ntest_cqlsh: DEBUG:
read "\'replication_factor\': " from subproc\ntest_cqlsh: DEBUG: Searching
for \'\\n(\\\\S+@)?cqlsh(:\\\\S+)?> \'\ntest_cqlsh: DEBUG: read
\'\\r\\ncqlsh:CqlshTests_l11Ft2> \' from subproc\ntest_cqlsh: DEBUG: read
\'create keyspace "ttl" with replication ={\\\'class\\\':
\\\'SimpleStrategy\\\', \\\'repl\' from subproc\ntest_cqlsh: DEBUG: read
"ication_factor\'" from subproc\ntest_cqlsh: DEBUG: Searching for \'\\n
(\\\\S+@)?cqlsh(:\\\\S+)?> \'\ntest_cqlsh: DEBUG: read \'\\r\\ncqlsh:
CqlshTests_l11Ft2> \' from subproc\ntest_cqlsh: DEBUG: read "create keyspace
foo with replication ={\'class\': \'SimpleStrategy\',
\'replication_factor\': " from subproc\ntest_cqlsh: DEBUG: read \'\\x07\'
from subproc\ntest_cqlsh: DEBUG: read \'\\r\\n <term> \\r\\n\' from
subproc\ntest_cqlsh: DEBUG: read "cqlsh:CqlshTests_l11Ft2> create keyspace
foo with replication ={\'class\': \'SimpleStrategy\',
\'replication_factor\': " from subproc\ntest_cqlsh: DEBUG: Searching for
\'\\n(\\\\S+@)?cqlsh(:\\\\S+)?> \'\ntest_cqlsh: DEBUG: