[ 
https://issues.apache.org/jira/browse/CASSANDRA-18499?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17743529#comment-17743529
 ] 

Michael Semb Wever commented on CASSANDRA-18499:
------------------------------------------------

pytest-7.2.0 changed how annotations were inherited from parent classes. ref: 
https://github.com/pytest-dev/pytest/issues/7792

circleci is using pytest-7.0.1, ci-cassandra.a.o is using pytest-7.4.0, and 
locally using new in-tree scripts I'm picking up pytest-7.3.2.

The following patches ensures these tests are run when requested, and adds the 
dtest-upgrade-large test type to the in-tree scripts, but does not fix the 
failures:
 - 
https://github.com/apache/cassandra-dtest/compare/trunk...thelastpickle:cassandra-dtest:mck/CASSANDRA-18499
 - 
https://github.com/apache/cassandra/compare/trunk...thelastpickle:cassandra:mck/CASSANDRA-18499/trunk

> Test Failure: 
> upgrade_through_versions_test.py::TestUpgrade::test_rolling_upgrade_with_internode_ssl
> ----------------------------------------------------------------------------------------------------
>
>                 Key: CASSANDRA-18499
>                 URL: https://issues.apache.org/jira/browse/CASSANDRA-18499
>             Project: Cassandra
>          Issue Type: Bug
>          Components: Test/dtest/python
>            Reporter: Andres de la Peña
>            Priority: Normal
>             Fix For: 5.x
>
>
> The upgrade Python dtest 
> {{upgrade_through_versions_test.py::TestUpgrade::test_rolling_upgrade_with_internode_ssl}}
>  seems to fail on CircleCI at least for trunk:
>  * 
> [https://app.circleci.com/pipelines/github/adelapena/cassandra/2882/workflows/b9abc2b2-2e79-47b2-b7ce-c549e75293bc/jobs/42698/tests]
> {code:java}
> self = 
> <upgrade_tests.upgrade_through_versions_test.TestProtoV3Upgrade_AllVersions_EndsAt_Trunk_HEAD
>  object at 0x7f89fc0f17f0>
>     @pytest.mark.timeout(3000)
>     def test_rolling_upgrade_with_internode_ssl(self):
>         """
>         Rolling upgrade test using internode ssl.
>         """
> >       self.upgrade_scenario(rolling=True, internode_ssl=True)
> upgrade_tests/upgrade_through_versions_test.py:371: 
> _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ 
> _ 
> self = 
> <upgrade_tests.upgrade_through_versions_test.TestProtoV3Upgrade_AllVersions_EndsAt_Trunk_HEAD
>  object at 0x7f89fc0f17f0>
> populate = True, create_schema = True, rolling = True, after_upgrade_call = ()
> internode_ssl = True
>     def upgrade_scenario(self, populate=True, create_schema=True, 
> rolling=False, after_upgrade_call=(), internode_ssl=False):
>         # Record the rows we write as we go:
>         if populate:
>             self.prepare()
>         self.row_values = set()
>         cluster = self.cluster
>         if cluster.version() >= '3.0':
>             
> cluster.set_configuration_options({'enable_user_defined_functions': 'true',
>                                                
> 'enable_scripted_user_defined_functions': 'true'})
>         elif cluster.version() >= '2.2':
>             
> cluster.set_configuration_options({'enable_user_defined_functions': 'true'})
>     
>         if internode_ssl:
>             logger.debug("***using internode ssl***")
>             generate_ssl_stores(self.fixture_dtest_setup.test_path)
>             
> self.cluster.enable_internode_ssl(self.fixture_dtest_setup.test_path)
>     
>         if populate:
>             # Start with 3 node cluster
>             logger.debug('Creating cluster (%s)' % 
> self.test_version_metas[0].version)
>             cluster.populate(3)
>             [node.start(use_jna=True, wait_for_binary_proto=True) for node in 
> cluster.nodelist()]
>         else:
>             logger.debug("Skipping cluster creation (should already be 
> built)")
>     
>         # add nodes to self for convenience
>         for i, node in enumerate(cluster.nodelist(), 1):
>             node_name = 'node' + str(i)
>             setattr(self, node_name, node)
>     
>         if create_schema:
>             if rolling:
>                 self._create_schema_for_rolling()
>             else:
>                 self._create_schema()
>         else:
>             logger.debug("Skipping schema creation (should already be built)")
>     
>         self._log_current_ver(self.test_version_metas[0])
>     
>         if rolling:
>             # start up processes to write and verify data
>             write_proc, verify_proc, verification_queue = 
> self._start_continuous_write_and_verify(wait_for_rowcount=5000)
>     
>             # upgrade through versions
>             for version_meta in self.test_version_metas[1:]:
>                 if version_meta.family > '3.11' and internode_ssl:
>                     seeds =[]
>                     for seed in cluster.seeds:
> >                       seeds.append(seed.ip_addr + ':7001')
> E                       AttributeError: 'str' object has no attribute 
> 'ip_addr'
> upgrade_tests/upgrade_through_versions_test.py:422: AttributeError
> {code}
> I haven't seen this failure on Jenkins yet.



--
This message was sent by Atlassian Jira
(v8.20.10#820010)

---------------------------------------------------------------------
To unsubscribe, e-mail: commits-unsubscr...@cassandra.apache.org
For additional commands, e-mail: commits-h...@cassandra.apache.org

Reply via email to