scylladb / scylla-cluster-tests

Tests for Scylla Clusters
GNU Affero General Public License v3.0
58 stars 95 forks source link

TypeError: can only concatenate str (not "int") to str: cluster_max_size += nemesis_node_count #9274

Closed asias closed 1 week ago

asias commented 2 weeks ago

With the following yam config, sct fails to run

n_db_nodes: '2 2' nemesis_add_node_cnt: 3 use_capacity_reservation: true


08:28:40    File "/home/ubuntu/scylla-cluster-tests/sdcm/sct_config.py", line 2626, in update_argus_with_version
08:28:40      test_config.argus_client().submit_packages([package])
08:28:40    File "/usr/local/lib/python3.10/site-packages/argus/client/sct/client.py", line 110, in submit_packages
08:28:40      self.check_response(response)
08:28:40    File "/usr/local/lib/python3.10/site-packages/argus/client/base.py", line 68, in check_response
08:28:40      raise ArgusClientError(
08:28:40  argus.client.base.ArgusClientError: ('API Error encountered using endpoint: POST /api/v1/client/sct/ac947416-42a9-4922-8dc4-c59b6ad5cc0d/packages/submit', 'Run not found')
08:28:40  Provision syslog-ng logging service
08:28:40  New directory created: /home/ubuntu/sct-results/20241119-062840-212561
08:28:40  Symlink `/home/ubuntu/sct-results/latest' updated to `/home/ubuntu/sct-results/20241119-062840-212561'
08:28:44  syslog-ng listen on port 32768 (config: /tmp/syslog-ngejs6ug9i.conf)
08:28:44  Provision aws cloud resources
08:28:44  No capacity reservations found.
08:28:44  Traceback (most recent call last):
08:28:44    File "/home/ubuntu/scylla-cluster-tests/./sct.py", line 1881, in <module>
08:28:44      cli.main(prog_name="hydra")
08:28:44    File "/usr/local/lib/python3.10/site-packages/click/core.py", line 1055, in main
08:28:44      rv = self.invoke(ctx)
08:28:44    File "/usr/local/lib/python3.10/site-packages/click/core.py", line 1657, in invoke
08:28:44      return _process_result(sub_ctx.command.invoke(sub_ctx))
08:28:44    File "/usr/local/lib/python3.10/site-packages/click/core.py", line 1404, in invoke
08:28:44      return ctx.invoke(self.callback, **ctx.params)
08:28:44    File "/usr/local/lib/python3.10/site-packages/click/core.py", line 760, in invoke
08:28:44      return __callback(*args, **kwargs)
08:28:44    File "/home/ubuntu/scylla-cluster-tests/./sct.py", line 236, in provision_resources
08:28:44      layout.provision()
08:28:44    File "/home/ubuntu/scylla-cluster-tests/sdcm/sct_provision/aws/layout.py", line 32, in provision
08:28:44      SCTCapacityReservation.reserve(self._params)
08:28:44    File "/home/ubuntu/scylla-cluster-tests/sdcm/provision/aws/capacity_reservation.py", line 152, in reserve
08:28:44      request, duration = cls._get_cr_request_based_on_sct_config(params)
08:28:44    File "/home/ubuntu/scylla-cluster-tests/sdcm/provision/aws/capacity_reservation.py", line 43, in _get_cr_request_based_on_sct_config
08:28:44      cluster_max_size += nemesis_node_count
08:28:44  TypeError: can only concatenate str (not "int") to str
08:28:45  Cleaning SSH agent
08:28:45  Agent pid 2396 killed
soyacz commented 2 weeks ago

@asias for the meantime, can you use without capacity reservation? (btw. do you hit issues with AWS capacity in this test?)

asias commented 2 weeks ago

@asias for the meantime, can you use without capacity reservation? (btw. do you hit issues with AWS capacity in this test?)

I disabled it as soon as I found it is the culprit. No I did not hit capacity issue so far, which I assume you meant could not allocate instances in the middle of the test.

fruch commented 2 weeks ago

@asias for the meantime, can you use without capacity reservation? (btw. do you hit issues with AWS capacity in this test?)

I disabled it as soon as I found it is the culprit. No I did not hit capacity issue so far, which I assume you meant could not allocate instances in the middle of the test.

this feature helps making sure you get all the allocation need upfront in the beginning of the test, and no surprises during the test itself.

it also have the ability to fallback to next AZ, if there no capacity in the select AZ

it mostly for general stability of jobs we are running regularly, for your case it's probably not really needed.