Commit 0dbe66b2 authored by Vladimir Bashkirtsev's avatar Vladimir Bashkirtsev

Updated ceph to 14.2.2

parent 2642a230
......@@ -30,14 +30,13 @@ all: ceph-config
mount --bind tmp /tmp
ln -s /lib /lib64
tar xf ceph-14.2.1.tar.gz
patch -Np1 -d ceph-14.2.1 < ceph-14.2.1-fix_tests.patch
patch -Np1 -d ceph-14.2.1 < ceph-14.2.1-fix_rgw_sync.patch
cd ceph-14.2.1 && ./do_cmake.sh -DCMAKE_BUILD_TYPE=Release -DCMAKE_INSTALL_PREFIX=/usr -DCMAKE_INSTALL_SYSCONFDIR=/etc -DCMAKE_INSTALL_LIBEXECDIR=/lib -DWITH_SPDK=OFF -DWITH_RDMA=OFF -DWITH_RADOSGW_AMQP_ENDPOINT=OFF
$(MAKE) -C ceph-14.2.1/build npm_config_cache=/build/.npm
tar xf ceph-14.2.2.tar.gz
patch -Np1 -d ceph-14.2.2 < ceph-14.2.2-fix_rgw_sync.patch
cd ceph-14.2.2 && ./do_cmake.sh -DCMAKE_BUILD_TYPE=Release -DCMAKE_INSTALL_PREFIX=/usr -DCMAKE_INSTALL_SYSCONFDIR=/etc -DCMAKE_INSTALL_LIBEXECDIR=/lib -DWITH_SPDK=OFF -DWITH_RDMA=OFF -DWITH_RADOSGW_AMQP_ENDPOINT=OFF
$(MAKE) -C ceph-14.2.2/build npm_config_cache=/build/.npm
hostname localhost
cd ceph-14.2.1 && tar xf ../ceph-object-corpus.tar.xz
cd ceph-14.2.1/build && make check
cd ceph-14.2.2 && tar xf ../ceph-object-corpus.tar.xz
cd ceph-14.2.2/build && make check
rm -rf /lib64
umount /tmp
......@@ -45,7 +44,7 @@ all: ceph-config
swapoff swap
rm -rf swap
$(MAKE) -C ceph-14.2.1/build install
$(MAKE) -C ceph-14.2.2/build install
rm /usr/bin/ceph_test*
find / -name *.pyc -exec rm -f '{}' ';'
find / -name *.js.map -exec rm -f '{}' ';'
......@@ -71,7 +70,7 @@ all: ceph-config
systemctl enable ceph-mon.target
rm -rf ceph-14.2.1
rm -rf ceph-14.2.2
ceph-config:
define CEPH_CONFIG
......
diff -uNr ceph-14.2.1/src/rgw/rgw_http_client.cc ceph-14.2.1-fix_rgw_sync/src/rgw/rgw_http_client.cc
--- ceph-14.2.1/src/rgw/rgw_http_client.cc 2019-04-26 03:45:48.000000000 +0930
+++ ceph-14.2.1-fix_rgw_sync/src/rgw/rgw_http_client.cc 2019-06-29 14:10:43.430981168 +0930
@@ -1141,7 +1141,8 @@
curl_easy_getinfo(e, CURLINFO_RESPONSE_CODE, (void **)&http_status);
int status = rgw_http_error_to_errno(http_status);
- if (result != CURLE_OK && http_status == 0) {
+ if (result != CURLE_OK && status == 0) {
+ dout(0) << "ERROR: curl error: " << curl_easy_strerror((CURLcode)result) << ", maybe network unstable" << dendl;
status = -EAGAIN;
}
int id = req_data->id;
diff -uNr ceph-14.2.1/src/rgw/rgw_rados.cc ceph-14.2.1-fix_rgw_sync/src/rgw/rgw_rados.cc
--- ceph-14.2.1/src/rgw/rgw_rados.cc 2019-04-26 03:45:48.000000000 +0930
+++ ceph-14.2.1-fix_rgw_sync/src/rgw/rgw_rados.cc 2019-06-29 14:08:41.470629630 +0930
@@ -4374,6 +4374,7 @@
string etag;
real_time set_mtime;
+ uint64_t expected_size = 0;
RGWObjState *dest_state = NULL;
@@ -4408,7 +4409,8 @@
goto set_err_state;
}
- ret = conn->complete_request(in_stream_req, &etag, &set_mtime, nullptr, nullptr, nullptr);
+ ret = conn->complete_request(in_stream_req, &etag, &set_mtime,
+ &expected_size, nullptr, nullptr);
if (ret < 0) {
goto set_err_state;
}
@@ -4416,6 +4418,12 @@
if (ret < 0) {
goto set_err_state;
}
+ if (cb.get_data_len() != expected_size) {
+ ret = -EIO;
+ ldout(cct, 0) << "ERROR: object truncated during fetching, expected "
+ << expected_size << " bytes but received " << cb.get_data_len() << dendl;
+ goto set_err_state;
+ }
if (compressor && compressor->is_compressed()) {
bufferlist tmp;
RGWCompressionInfo cs_info;
diff -uNr ceph-14.2.1/src/test/rgw/test_http_manager.cc ceph-14.2.1-fix_rgw_sync/src/test/rgw/test_http_manager.cc
--- ceph-14.2.1/src/test/rgw/test_http_manager.cc 2019-04-26 03:45:48.000000000 +0930
+++ ceph-14.2.1-fix_rgw_sync/src/test/rgw/test_http_manager.cc 2019-06-29 14:11:56.499191779 +0930
@@ -16,8 +16,39 @@
#include "global/global_init.h"
#include "common/ceph_argparse.h"
#include <curl/curl.h>
+#include <boost/asio/ip/tcp.hpp>
+#include <boost/asio/write.hpp>
+#include <thread>
#include <gtest/gtest.h>
+TEST(HTTPManager, ReadTruncated)
+{
+ using tcp = boost::asio::ip::tcp;
+ tcp::endpoint endpoint(tcp::v4(), 0);
+ boost::asio::io_context ioctx;
+ tcp::acceptor acceptor(ioctx);
+ acceptor.open(endpoint.protocol());
+ acceptor.bind(endpoint);
+ acceptor.listen();
+
+ std::thread server{[&] {
+ tcp::socket socket{ioctx};
+ acceptor.accept(socket);
+ std::string_view response =
+ "HTTP/1.1 200 OK\r\n"
+ "Content-Length: 1024\r\n"
+ "\r\n"
+ "short body";
+ boost::asio::write(socket, boost::asio::buffer(response));
+ }};
+ const auto url = std::string{"http://127.0.0.1:"} + std::to_string(acceptor.local_endpoint().port());
+
+ RGWHTTPClient client{g_ceph_context, "GET", url};
+ EXPECT_EQ(-EAGAIN, RGWHTTP::process(&client));
+
+ server.join();
+}
+
TEST(HTTPManager, SignalThread)
{
auto cct = g_ceph_context;
diff -uNr ceph-14.2.1/src/pybind/mgr/dashboard/tests/test_task.py ceph-14.2.1-fix_tests/src/pybind/mgr/dashboard/tests/test_task.py
--- ceph-14.2.1/src/pybind/mgr/dashboard/tests/test_task.py 2019-04-26 03:45:48.000000000 +0930
+++ ceph-14.2.1-fix_tests/src/pybind/mgr/dashboard/tests/test_task.py 2019-06-16 14:04:33.077065222 +0930
diff -uNr ceph-14.2.2/src/pybind/mgr/dashboard/tests/test_task.py ceph-14.2.2-fix_tests/src/pybind/mgr/dashboard/tests/test_task.py
--- ceph-14.2.2/src/pybind/mgr/dashboard/tests/test_task.py 2019-07-18 00:42:36.000000000 +0930
+++ ceph-14.2.2-fix_tests/src/pybind/mgr/dashboard/tests/test_task.py 2019-07-18 14:12:56.775680196 +0930
@@ -177,57 +177,6 @@
self.assertEqual(str(fn_t[0].exception), "Task Unexpected Exception")
self.assertEqual(fn_t[0].progress, 70)
......@@ -106,9 +106,9 @@ diff -uNr ceph-14.2.1/src/pybind/mgr/dashboard/tests/test_task.py ceph-14.2.1-fi
def test_fast_async_task(self):
task1 = MyTask(1, is_async=True)
state, result = task1.run('test9/task1')
diff -uNr ceph-14.2.1/src/test/CMakeLists.txt ceph-14.2.1-fix_tests/src/test/CMakeLists.txt
--- ceph-14.2.1/src/test/CMakeLists.txt 2019-04-26 03:45:48.000000000 +0930
+++ ceph-14.2.1-fix_tests/src/test/CMakeLists.txt 2019-06-16 13:48:11.863870417 +0930
diff -uNr ceph-14.2.2/src/test/CMakeLists.txt ceph-14.2.2-fix_tests/src/test/CMakeLists.txt
--- ceph-14.2.2/src/test/CMakeLists.txt 2019-07-18 00:42:36.000000000 +0930
+++ ceph-14.2.2-fix_tests/src/test/CMakeLists.txt 2019-07-18 14:12:56.775680196 +0930
@@ -528,6 +528,7 @@
if(WITH_RBD)
......@@ -117,9 +117,9 @@ diff -uNr ceph-14.2.1/src/test/CMakeLists.txt ceph-14.2.1-fix_tests/src/test/CMa
if(FREEBSD)
add_ceph_test(rbd-ggate.sh ${CMAKE_CURRENT_SOURCE_DIR}/rbd-ggate.sh)
endif(FREEBSD)
diff -uNr ceph-14.2.1/src/test/mgr/CMakeLists.txt ceph-14.2.1-fix_tests/src/test/mgr/CMakeLists.txt
--- ceph-14.2.1/src/test/mgr/CMakeLists.txt 2019-04-26 03:45:48.000000000 +0930
+++ ceph-14.2.1-fix_tests/src/test/mgr/CMakeLists.txt 2019-06-16 13:48:11.863870417 +0930
diff -uNr ceph-14.2.2/src/test/mgr/CMakeLists.txt ceph-14.2.2-fix_tests/src/test/mgr/CMakeLists.txt
--- ceph-14.2.2/src/test/mgr/CMakeLists.txt 2019-07-18 00:42:36.000000000 +0930
+++ ceph-14.2.2-fix_tests/src/test/mgr/CMakeLists.txt 2019-07-18 14:12:56.775680196 +0930
@@ -2,6 +2,7 @@
if(WITH_MGR_DASHBOARD_FRONTEND)
if(NOT CMAKE_SYSTEM_PROCESSOR MATCHES "aarch64|AARCH64|arm|ARM")
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment