Skip to content

qa/multisite: switch to boto3#67011

Merged
batrick merged 5 commits intoceph:mainfrom
smanjara:wip-multisite-boto3
Feb 11, 2026
Merged

qa/multisite: switch to boto3#67011
batrick merged 5 commits intoceph:mainfrom
smanjara:wip-multisite-boto3

Conversation

@smanjara
Copy link
Contributor

@smanjara smanjara commented Jan 21, 2026

https://tracker.ceph.com/issues/74526

Contribution Guidelines

  • To sign and title your commits, please refer to Submitting Patches to Ceph.

  • If you are submitting a fix for a stable branch (e.g. "quincy"), please refer to Submitting Patches to Ceph - Backports for the proper workflow.

  • When filling out the below checklist, you may click boxes directly in the GitHub web UI. When entering or editing the entire PR message in the GitHub web UI editor, you may also select a checklist item by adding an x between the brackets: [x]. Spaces and capitalization matter when checking off items this way.

Checklist

  • Tracker (select at least one)
    • References tracker ticket
    • Very recent bug; references commit where it was introduced
    • New feature (ticket optional)
    • Doc update (no ticket needed)
    • Code cleanup (no ticket needed)
  • Component impact
    • Affects Dashboard, opened tracker ticket
    • Affects Orchestrator, opened tracker ticket
    • No impact that needs to be tracked
  • Documentation (select at least one)
    • Updates relevant documentation
    • No doc update is appropriate
  • Tests (select at least one)
Show available Jenkins commands

You must only issue one Jenkins command per-comment. Jenkins does not understand
comments with more than one command.

@smanjara
Copy link
Contributor Author

smanjara commented Jan 21, 2026

TODO: update rest of the files under tasks/rgw_multi:

  • zone_es.py (resource api)
  • zone_cloud.py (resource api)
  • tests.py (client api)
  • tests_es.py (client api)

@BBoozmen
Copy link
Contributor

This is still in Draft state and more work to do I believe...Tested https://github.com/ceph/ceph-ci/tree/test-oz-wip-multisite-boto3 (includes the first 2 commits), and it fails as expected. Adding it here as ref: https://qa-proxy.ceph.com/teuthology/bcs-ceph-2026-01-21_21:16:27-rgw:multisite-test-oz-wip-multisite-boto3-distro-default-trial/12074/teuthology.log

2026-01-22T02:11:34.078 INFO:teuthology.run_tasks:Running task rgw-multisite...
2026-01-22T02:11:34.117 ERROR:teuthology.run_tasks:Saw exception from tasks.
Traceback (most recent call last):
  File "/home/teuthworker/src/git.ceph.com_teuthology_f3df5a3a3153828dd8c0051ee630419067f719ee/teuthology/run_tasks.py", line 105, in run_tasks
    manager = run_one_task(taskname, ctx=ctx, config=config)
              ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/home/teuthworker/src/git.ceph.com_teuthology_f3df5a3a3153828dd8c0051ee630419067f719ee/teuthology/run_tasks.py", line 82, in run_one_task
    task = get_task(taskname)
           ^^^^^^^^^^^^^^^^^^
  File "/home/teuthworker/src/git.ceph.com_teuthology_f3df5a3a3153828dd8c0051ee630419067f719ee/teuthology/run_tasks.py", line 35, in get_task
    module = _import('tasks', module_name, task_name, fail_on_import_error=True)
             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/home/teuthworker/src/git.ceph.com_teuthology_f3df5a3a3153828dd8c0051ee630419067f719ee/teuthology/run_tasks.py", line 54, in _import
    module = __import__(
             ^^^^^^^^^^^
  File "/home/teuthworker/src/git.ceph.com_ceph-c_c1490aa46e9c19c68691936431df4815110135e3/qa/tasks/rgw_multisite.py", line 11, in <module>
    from tasks.rgw_multi import multisite
  File "/home/teuthworker/src/git.ceph.com_ceph-c_c1490aa46e9c19c68691936431df4815110135e3/qa/tasks/rgw_multi/multisite.py", line 6, in <module>
    from .conn import get_gateway_connection, get_gateway_iam_connection, get_gateway_secure_connection, get_gateway_sns_client, get_gateway_sts_connection, get_gateway_temp_s3_client
  File "/home/teuthworker/src/git.ceph.com_ceph-c_c1490aa46e9c19c68691936431df4815110135e3/qa/tasks/rgw_multi/conn.py", line 2, in <module>
    import boto.iam.connection
  File "/home/teuthworker/src/git.ceph.com_teuthology_f3df5a3a3153828dd8c0051ee630419067f719ee/virtualenv/lib/python3.12/site-packages/boto/__init__.py", line 27, in <module>
    from boto.pyami.config import Config, BotoConfigLocations
  File "/home/teuthworker/src/git.ceph.com_teuthology_f3df5a3a3153828dd8c0051ee630419067f719ee/virtualenv/lib/python3.12/site-packages/boto/pyami/config.py", line 29, in <module>
    from boto.compat import expanduser, ConfigParser, NoOptionError, NoSectionError, StringIO
  File "/home/teuthworker/src/git.ceph.com_teuthology_f3df5a3a3153828dd8c0051ee630419067f719ee/virtualenv/lib/python3.12/site-packages/boto/compat.py", line 52, in <module>
    from boto.vendored.six.moves import filter, http_client, map, _thread, \
ModuleNotFoundError: No module named 'boto.vendored.six.moves'

boto module imports at https://github.com/ceph/ceph-ci/blob/c1490aa46e9c19c68691936431df4815110135e3/src/test/rgw/rgw_multi/conn.py#L2

import boto.iam.connection
import boto.sts.connection

are not used anymore with your changes I think. We can simply remove them.

@smanjara
Copy link
Contributor Author

This is still in Draft state and more work to do I believe...Tested https://github.com/ceph/ceph-ci/tree/test-oz-wip-multisite-boto3 (includes the first 2 commits), and it fails as expected. Adding it here as ref: https://qa-proxy.ceph.com/teuthology/bcs-ceph-2026-01-21_21:16:27-rgw:multisite-test-oz-wip-multisite-boto3-distro-default-trial/12074/teuthology.log
^^^^^^^^^^^

boto module imports at https://github.com/ceph/ceph-ci/blob/c1490aa46e9c19c68691936431df4815110135e3/src/test/rgw/rgw_multi/conn.py#L2

import boto.iam.connection
import boto.sts.connection

are not used anymore with your changes I think. We can simply remove them.

hi @BBoozmen thanks! yes it is not complete yet. still working on tests.py. there might still be some boto2 references that I plan to remove.

@smanjara smanjara force-pushed the wip-multisite-boto3 branch 2 times, most recently from a96638b to 9a6750f Compare January 22, 2026 23:59
@smanjara
Copy link
Contributor Author

TODO: update rest of the files under tasks/rgw_multi:

  • zone_es.py (resource api)
  • zone_cloud.py (resource api)
  • tests.py (client api)
  • tests_es.py (client api)

finished migrating tests.py to boto3. running it locally against python 3.12+ before scheduling on teuthology. the rest of the files need to be modified as well but that should not block us.

@smanjara
Copy link
Contributor Author

still working through test failures

@smanjara smanjara force-pushed the wip-multisite-boto3 branch from 5f520e9 to 8bb5da7 Compare January 26, 2026 20:57
Shilpa Jagannath added 3 commits January 26, 2026 16:34
Signed-off-by: Shilpa Jagannath <smanjara@redhat.com>
Signed-off-by: Shilpa Jagannath <smanjara@redhat.com>
Signed-off-by: Shilpa Jagannath <smanjara@redhat.com>
@smanjara
Copy link
Contributor Author

tests that forwarded requests to master were failing due to awsv4 signature mismatch. raised a PR.
pulling the changes to continue further testing here.

@smanjara
Copy link
Contributor Author

most of the tests are passing in a local run except for a few:

test_bucket_remove
test_delete_marker_full_sync
test_suspended_delete_marker_full_sync
test_concurrent_delete_markers_incremental_sync
test_suspended_delete_marker_incremental_sync
test_bucket_sync_disable

they seem to be boto3 related issues. working on debugging the test failures.

Signed-off-by: Shilpa Jagannath <smanjara@redhat.com>
@smanjara smanjara force-pushed the wip-multisite-boto3 branch from d22b648 to 90eb061 Compare January 30, 2026 21:09
@smanjara
Copy link
Contributor Author

test_bucket_remove
test_delete_marker_full_sync
test_suspended_delete_marker_full_sync
test_concurrent_delete_markers_incremental_sync
test_suspended_delete_marker_incremental_sync
test_bucket_sync_disable

they seem to be boto3 related issues. working on debugging the test failures.

fixed the above issues.. all tests that pass on main also pass on this branch when tested locally. will schedule a teuthology run, including PR

@smanjara smanjara marked this pull request as ready for review January 30, 2026 21:18
@smanjara smanjara requested a review from a team as a code owner January 30, 2026 21:18
@smanjara
Copy link
Contributor Author

smanjara commented Feb 2, 2026

https://pulpito.ceph.com/smanjara-2026-02-02_05:57:41-rgw:multisite-wip-multisite-boto3-distro-default-trial/

there are quite a few failures, unrelated to boto3 migration though. I don't have a good main baseline to compare to, as the logs from the older runs are not available anymore.

@smanjara
Copy link
Contributor Author

smanjara commented Feb 2, 2026

https://pulpito.ceph.com/smanjara-2026-02-02_05:57:41-rgw:multisite-wip-multisite-boto3-distro-default-trial/

there are quite a few failures, unrelated to boto3 migration though. I don't have a good main baseline to compare to, as the logs from the older runs are not available anymore.

@adamemerson @cbodley do you know if the logs from older runs are still saved somewhere? I am logged into trial002 and all the logs there are from after the lab move.

@cbodley
Copy link
Contributor

cbodley commented Feb 2, 2026

@adamemerson @cbodley do you know if the logs from older runs are still saved somewhere? I am logged into trial002 and all the logs there are from after the lab move.

according to this #sepia slack thread, old teuthology logs aren't available yet but will be eventually

@smanjara smanjara force-pushed the wip-multisite-boto3 branch 2 times, most recently from 6859971 to 287b26b Compare February 2, 2026 20:29
@smanjara
Copy link
Contributor Author

smanjara commented Feb 3, 2026

the results are looking good:

https://pulpito.ceph.com/smanjara-2026-02-03_00:51:38-rgw:multisite-wip-multisite-boto3-distro-default-trial/

two-zonegroup configuration fails with a known failure tracked in https://tracker.ceph.com/issues/70858.

I'll start backporting to squid and tentacle once approved.

@smanjara smanjara force-pushed the wip-multisite-boto3 branch from 287b26b to 8dfb732 Compare February 3, 2026 05:16
…tools.py.

tools.py should eventually be removed once all other dependent tests move to boto3

Signed-off-by: Shilpa Jagannath <smanjara@redhat.com>
@smanjara smanjara force-pushed the wip-multisite-boto3 branch from 8dfb732 to 3d08847 Compare February 3, 2026 05:19
@cbodley
Copy link
Contributor

cbodley commented Feb 3, 2026

https://jenkins.ceph.com/job/ceph-pull-requests/173716/

The following tests FAILED:
32 - run-rbd-unit-tests-61.sh (Timeout)
34 - run-rbd-unit-tests-127.sh (Timeout)

@cbodley
Copy link
Contributor

cbodley commented Feb 3, 2026

jenkins test make check

1 similar comment
@smanjara
Copy link
Contributor Author

smanjara commented Feb 4, 2026

jenkins test make check

@cbodley
Copy link
Contributor

cbodley commented Feb 5, 2026

https://jenkins.ceph.com/job/ceph-pull-requests/173861/

The following tests FAILED:
10 - run-tox-mgr-dashboard-lint (Failed)
301 - run-tox-qa (Failed)

@cbodley
Copy link
Contributor

cbodley commented Feb 5, 2026

jenkins test make check

@smanjara
Copy link
Contributor Author

smanjara commented Feb 5, 2026

@cbodley I see that you added ready-to-merge tag. but the make check is still failing

@smanjara
Copy link
Contributor Author

smanjara commented Feb 6, 2026

jenkins test make check

2 similar comments
@smanjara
Copy link
Contributor Author

jenkins test make check

@adamemerson
Copy link
Contributor

jenkins test make check

@adamemerson
Copy link
Contributor

@cbodley I see that you added ready-to-merge tag. but the make check is still failing

It's ready to merge, we just have a lot of spurious failures.

@batrick batrick merged commit 21b875e into ceph:main Feb 11, 2026
12 of 13 checks passed
@cbodley
Copy link
Contributor

cbodley commented Feb 24, 2026

in some prs, i see run-tox-qa failing with:

tasks/rgw_multi/tools.py:52: error: Name "boto.s3.user.User" is not defined [name-defined]

ex https://jenkins.ceph.com/job/ceph-pull-requests/175073/consoleFull

i raised #67486 to clean this up

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

5 participants