TYPE_NONE equals to 0, and we use it for the default value of entity's
messenger protocol version, if it is not specified. but we always use
TYPE_DEFAULT for the protocol version if it's not specified in the
parsed string or the parameter.
so we can just simplify the logic by assigning it to `newtype`, and
assign the parse value to `new_type` for better readability.
Signed-off-by: Kefu Chai <kchai@redhat.com>
marker is potional, however, it may also be provided empty
Fixes: https://tracker.ceph.com/issues/50135
Signed-off-by: Yuval Lifshitz <ylifshit@redhat.com>
resurrect 835f2f5f51, which was reverted by
1f885b6c2f
so all tests for `pacific` will be tested on the latest ubuntu version
Signed-off-by: Kefu Chai <kchai@redhat.com>
2d3c6561b4 introduced a new library directory
"%{_libdir}/ceph/denc/" in ceph-common but did not explicitly state that it
should be owned by the package. This caused OBS builds to fail as follows:
[ 5515s] ceph-common-17.0.0-2786.1.x86_64.rpm: directories not owned by a package:
[ 5515s] - /usr/lib64/ceph/denc
Fixes: 2d3c6561b4
Signed-off-by: Nathan Cutler <ncutler@suse.com>
detect the libpmem libraries' version using pkg-config
please note, the version is not identical to the ones defined in
libpmem.h or libpmemobj/base.h
Signed-off-by: Kefu Chai <kchai@redhat.com>
Starting with pacific, CEPHX_V2 is required by default but
pre-single-major.yaml kernel doesn't support it.
Signed-off-by: Ilya Dryomov <idryomov@gmail.com>
Using subscription-manager will fail in a container so use dnf
config-manager which should work on bare metal as well as in a
container.
Fixes: https://tracker.ceph.com/issues/50118
Signed-off-by: Brad Hubbard <bhubbard@redhat.com>
it can be replaced with entity_name_t::parse(string_view)
also refactor entity_name_t::parse(string_view) a little bit, to
embed the logic of `entity_name_t::parse(const char*...)` in it.
Signed-off-by: Kefu Chai <kchai@redhat.com>
in 6147c09171, "lo" is also skipped when
daemon is trying to find an address to bind. but that change reverts the
fix of 201b592043, to address the problem.
an option named "ms_bind_exclude_lo_iface" is added, it defaults to
"true". but it can be changed to false to allow daemon to bind on "lo".
Fixes: https://tracker.ceph.com/issues/50012
Signed-off-by: Kefu Chai <kchai@redhat.com>
* do not replicate the same logic in IPv4 and IPv6 paths
* use helpers returning bool for filtering the candidate addresses
for better readability
Signed-off-by: Kefu Chai <kchai@redhat.com>
crimson/osd: include headers at where they are used
Reviewed-by: Radoslaw Zarzynski <rzarzyns@redhat.com>
Reviewed-by: Xuehan Xu <xxhdx1985126@gmail.com>
Before the change an error handler (a callable passed as second
or further parameters to `safe_then()`) was supposed to return
`seastar::future<..>` if it handled the errors or one of allowed
error types otherwise (like `crimson::ct_error::enoent`). Now
they may return also an erroratored future (`errator<ErrorT>::future<...>`)
and its error-set will fused with other sources of errors to be
included in errorator `safe_then()` returns.
Signed-off-by: Radoslaw Zarzynski <rzarzyns@redhat.com>