Bug #54012
closedcephadm,ingress: Crash with s3website serving
0%
Description
I am using Ceph v16.2.7 using ceph orch/cephadm using the stock quay.io Docker images.
I am trying to setup radosgw with the s3website feature. I have setup
- ceph-s3-ext.example.com -- for the S3 protocol
- ceph-s3-website-ext.example.com -- for S3 and s3website
using `ceph orch apply -i CONFIG.yml`, shown at the bottom.
The configuration of the resulting rgw.ext and rgw.ext-website daemons via `ceph --admin-daemon` is attached.
Now I observe the following.
The following works nicely.
$ aws --profile=ext-web --endpoint-url=https://ceph-s3-ext.example.com s3 ls 2022-01-25 08:09:48 test
I expect the ceph-s3-website-ext.example.com to work in the same way, as it provides the s3 protocol in addition to s3website.
$ aws --profile=ext-web --endpoint-url=https://ceph-s3-website-ext.example.com s3 ls 2022-01-25 08:09:48 test
Interestingly, this leads to a crash documented in the attached crash.log file.
I was planning to subsequently use "aws s3 website" on the endpoint, but:
$ aws --profile=ext-cubi-web --endpoint-url=https://ceph-s3-website-ext.example.com \ s3 website s3://test --index-document=index.html --error-document=404.html An error occurred (405) when calling the PutBucketWebsite operation: Method Not Allowed
Below is the YAML input for ceph orch apply.
==> ingress.rgw.ext-website.yml <== service_type: ingress service_id: rgw.ext-website placement: hosts: - osd-3 spec: backend_service: rgw.ext-website virtual_ip: 172.16.62.43/19 # ceph-s3-website-ext.example.com frontend_port: 443 monitor_port: 1969 ssl_cert: | ==> ingress.rgw.ext.yml <== service_type: ingress service_id: rgw.ext placement: hosts: - osd-5 spec: backend_service: rgw.ext virtual_ip: 172.16.62.27/19 # ceph-s3-ext.example.com frontend_port: 443 monitor_port: 1968 ssl_cert: | ==> rgw.ext-website.yml <== service_type: rgw service_id: ext-website service_name: rgw.ext-website placement: hosts: - osd-3 spec: rgw_frontend_port: 8200 rgw_realm: ext rgw_zone: ext-default-primary config: rgw_dns_name: ceph-s3-ext.example.com rgw_dns_s3website_name: ceph-s3-website-ext.example.com rgw_enable_apis: s3, s3website rgw_enable_static_website: true rgw_resolve_cname: true ==> rgw.ext.yml <== service_type: rgw service_id: ext service_name: rgw.ext placement: hosts: - osd-5 spec: rgw_frontend_port: 8100 rgw_realm: ext rgw_zone: ext-default-primary config: rgw_dns_name: ceph-s3-ext.example.com rgw_dns_s3website_name: ceph-s3-website-ext.example.com rgw_enable_apis: s3 rgw_enable_static_website: false rgw_expose_bucket: true rgw_resolve_cname: true
Files
Updated by Sebastian Wagner about 2 years ago
- Project changed from 18 to Orchestrator
- Subject changed from Crash with s3website serving to cephadm,ingress: Crash with s3website serving
Updated by Redouane Kachach Elhichou almost 2 years ago
- Project changed from Orchestrator to rgw
Moving to RGW since this seems to cause a crash in RGW code:
*** Caught signal (Segmentation fault) ** in thread 7f61767ab700 thread_name:radosgw ceph version 16.2.7 (dd0603118f56ab514f133c8d2e3adfc983942503) pacific (stable) 1: /lib64/libpthread.so.0(+0x12c20) [0x7f621e28cc20] 2: (RGWHandler_REST_S3Website::retarget(RGWOp*, RGWOp**, optional_yield)+0x174) [0x7f62292fbc24] 3: (rgw_process_authenticated(RGWHandler_REST*, RGWOp*&, RGWRequest*, req_state*, optional_yield, bool)+0xf0a) [0x7f6228e9a35a] 4: (process_request(rgw::sal::RGWRadosStore*, RGWREST*, RGWRequest*, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, rgw::auth::StrategyRegistry const&, RGWRestfulIO*, OpsLogSink*, optional_yield, rgw::dmclock::Scheduler*, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >*, std::chrono::duration<unsigned long, std::ratio<1l, 1000000000l> >*, int*)+0x2891) [0x7f6228e9de21] 5: /lib64/libradosgw.so.2(+0x4b1b63) [0x7f6228dedb63] 6: /lib64/libradosgw.so.2(+0x4b3604) [0x7f6228def604] 7: /lib64/libradosgw.so.2(+0x4b386e) [0x7f6228def86e] 8: make_fcontext() debug 2022-01-25T12:08:34.615+0000 7f61767ab700 -1 *** Caught signal (Segmentation fault) ** in thread 7f61767ab700 thread_name:radosgw
Updated by Casey Bodley over 1 year ago
- Is duplicate of Backport #56654: pacific: crash: RGWHandler_REST_S3Website::retarget(RGWOp*, RGWOp**, optional_yield) added