Refine the English in doc/radosgw/multisite.rst up to (but not
including) "Configure Secondary Zones".
https://tracker.ceph.com/issues/58632
Signed-off-by: Zac Dover <zac.dover@proton.me>
cephadm/box: create osds with podman.
Reviewed-by: Ernesto Puerta <epuertat@redhat.com>
Reviewed-by: Juan Miguel Olmo <jolmomar@redhat.com>
Reviewed-by: Nizamudeen A <nia@redhat.com>
IOHandler also represents the Connection as ConnectionHandler.
ProtocolV2 and IOHandler will be finally running in different cores, as
ProtocolV2 will need to call IOHandler interfaces asynchronously. And
IOHandler will also notify ProtocolV2 through HandshakeListener
asynchronously.
Signed-off-by: Yingxin Cheng <yingxin.cheng@intel.com>
Process mark_down in Protocol rather than in ProtocolV2 to prevent
further event dispatching after mark_down is called by user. Then notify
ProtocolV2 as the IO/socket core and handshake core can be different and
the notification can be asynchronous.
Signed-off-by: Yingxin Cheng <yingxin.cheng@intel.com>
Infer is_connected by connection events instead of the protocol V2
internals. That can save a cross-core operation for connection users
from the connection IO core to the handshake core.
Signed-off-by: Yingxin Cheng <yingxin.cheng@intel.com>
FrameAssemblerV2 is owned by ProtocolV2 during handshake, and owned by
Protocol during messaging.
Signed-off-by: Yingxin Cheng <yingxin.cheng@intel.com>
Previously, the socket state is transparent to the protocol and
implicitly handled. Move the responsibilities into protocol for finer
controls to further decouple the IO and handshake.
Also, refactor the fault handling and make the in/out message
dispatching more symmetric.
Signed-off-by: Yingxin Cheng <yingxin.cheng@intel.com>
* prepare the execution_done before the function is invoked, not after.
* execution_done future doesn't need to be shared.
Signed-off-by: Yingxin Cheng <yingxin.cheng@intel.com>
To prevent others to close the connection before the gate, and causing
abort without proper closing the moving socket.
Signed-off-by: Yingxin Cheng <yingxin.cheng@intel.com>
FrameAssemblerV2 encapsulates the low-level frame processing for
protocol v2, and manages the socket instance.
FrameAssemblerV2 is supposed to be running on the socket core for
performance reasons, which will be changable.
Signed-off-by: Yingxin Cheng <yingxin.cheng@intel.com>
Refine the text in the "Maintenance" section of
doc/radosgw/multisite.rst.
https://tracker.ceph.com/issues/58632
Co-authored-by: Cole Mitchell <cole.mitchell@gmail.com>
Signed-off-by: Zac Dover <zac.dover@proton.me>
As per the docs (and the codes), the rgw_spec.endpoint should actually
be rgw_spec.zone_endpoint.
```
rgw_realm: myrealm
rgw_zonegroup: myzonegroup
rgw_zone: myzone
zone_endpoints: http://<rgw_host1>:<rgw_port1>, http://<rgw_host2>:<rgw_port2>
```
Refer: https://docs.ceph.com/en/latest/mgr/rgw/#rgw-realm-operations
Signed-off-by: Nizamudeen A <nia@redhat.com>
More specifically, if we get e.g. a 504 while attempting to download a
.list file, fail the build and log the status code.
Signed-off-by: Zack Cerza <zack@redhat.com>