-
Notifications
You must be signed in to change notification settings - Fork 845
Merge 10 dev into master #9352
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Merged
Merged
Merge 10 dev into master #9352
Conversation
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This reverts commit 4208ecb. Reverting the removal of the incompatible changes that we took out of master so that those incompatible changes will be in our 10-Dev branch.
…ections (apache#8623) * For client connections, disable setting SO_LINGER by default
This commit introduces JSONRPC 2.0 support for ATS. This basically replaces the existing binary protocol to handle mgmt queries for traffic_server, removes the need of having traffic_manager as a local client to talk with traffic_server, now the only binary that is needed to be running is traffic_server. traffic_ctl(and any tool that uses the legacy protocol) is updated to talk with the JSONRPC node directly using this as a protocol format. Although the binary is still built, traffic_manager is no longer needed to run traffic_server. traffic_ctl uses the same CLI options as before,it only adds a bunch of new handy options to play around with JSON. With some exception(noted in the docs) all the existing mgmt API handlers are still honoured and use the JSONRPC server instead of the mgmt api, which gives us the same compatibility for local clients. Summary of changes: traffic_server: - JSONRPC protocol implementation(Server and Manager) - JSONRPC Handlers(API’s): Configuration, Metrics, Storage, Records, Host, Plugins. This basically covers all the existing traffic_ctl cli api’s. - Configuration support for JSONRPC server. - Add JSONRPC support for traffic_ctl. This now uses JSONRPC as protocol. - Add JSON Schema for request and response verification(not used inside the server, this is for documentation and validation purposes only) - Merge FileManager and ConfigManager and make it a Singleton. Tools: - traffic_top is updated to talk with the JSONRPC node instead of the legacy MGMT API. - Remove TM connectivity from traffic_crashlog(stacktrace is removed) Documentation: JSONRPC 2.0 general docs Traffic_ctl docs update API implementation with JSNORPC Unit Test: All tests are updated to use traffic_server binary. Unit test extension to work around jsonrpc request/responses. Several changes around the Errata: - Implement Rv constructor that takes an rvalue Errata. - Implement Errata constructor to take an std::error_code - Implement Errata::push(Errata) method (was declared).
…ee difference between files timestamps. (apache#8644)
…ill dump the file in the config folder by default, it can be disabled by parameter if needed. (apache#8641) With this change I am also removing the need to specify the runroot file when calling traffic_ctl(jsonrpc). Base on this change all the tests were adjusted.
This merges c46a4ca into our 10-Dev branch.
We put in some symbols to keep ABI compatibility between 9.1.x and 9.2.x. We do not need nor want these symbols in 10.x. Removing them.
Merging the following master HEAD into 10-Dev: 0ae34d4
Make ssl_multicert_loader use traffic_server binary instead of traffic_manager. With this change the expected return code was also updated to the exit code returned by the fatal call(EX_SOFTWARE(70)) in traffic_server.
Add Input option to invoke a rpc function by specifying the method name and the parameters directly from the command line.
… easy to use. 'all,req,resp' are now grouped into the '--format rpc' option. (apache#8704)
* Update traffic_ctl to query HostStatus directly - Updates HostStatus to eliminate stats creation. - Updates traffic_ctl JSON-RPC to query HostStatus directly. - adds in a new persistance mechanism for HosStatus. * Changes from review comments. * remove redundant 'const'.
) * Require use of 'override' keyword when valid. (apache#8737) Co-authored-by: Walt Karas <wkaras@yahooinc.com> (cherry picked from commit 97ee33c) * Add use of override keyword to RPC code. Co-authored-by: Walt Karas <wkaras@yahooinc.com>
Merge the master master branch, currently 39c3de5, into 10-Dev.
…pache#8782) HostStatus::createHostStat(), that was removed with PR apache#8689.
Some tests create a so-called sandbox directory, use it for the files the object under test creates, then remove that temporary sandbox directory. To do this they use getTemporaryDir(). The test_jsonrpcserver test attempted to do the same thing, but since that function wasn't readily available, it used a similarly sounding fs::temp_directory_path(). That function, however, just references /tmp. As a result, test_jsonrpcserver would store files in /tmp then remove /tmp instead of a test-specific temporary directory. This is a problem since it would remove other processes' temporary files stored in /tmp along with its own test files. This patch fixes this by creating getTemporaryDir() for test_jsonrpcserver and calling that instead. Fixes apache#8792
This merges the lastest master changes into 10-Dev.
This updates the repository's .gitignore file to ignore the JSONRPC traffic_ctl and the overridable_txn_vars.cc generated files.
Merges in from master commit 6ad81f3 Conflicts: proxy/http/HttpSM.cc
We have supported response body data sink for a while but have never provided the analogous functionality for request bodies. This adds the ability for a plugin to register for a request body sink transformation.
- Add default configuration file. - Re-order the documentation related to the configuration of the JSONRPC node, this now follows the existing documentation style.
…he formatting type. (apache#8852) - This also changesthe output style for a better quick read.
…alling admin_server_start_drain when it was supposed to call admin_server_stop_drain. (apache#8856)
This merges the latest ASF master branch into 10-Dev. Conflicts: src/traffic_server/traffic_server.cc
This was somehow missed with the latest merge.
Conflicts: doc/admin-guide/files/sni.yaml.en.rst
* Remove cqhv log field * Update a comment
Co-authored-by: Serris Lew <lserris@apple.com> Co-authored-by: Bryan Call <bcall@apache.org>
* Remove deprecated TS APIs * Update documenet * Fix doc format
Conflicts:
doc/admin-guide/files/records.config.en.rst
include/tscore/Ptr.h
mgmt/RecordsConfig.cc
src/records/RecLocal.cc
This addresses the following link error that Debian based builds were experiences with the `make check` target: root@4a3eeaf3152e:/var/tmp/trafficserver/mgmt/rpc# make V=1 test_jsonrpcserver /bin/bash ../../libtool --tag=CXX --mode=link ccache c++ -std=c++17 -g -pipe -Wall -Wextra -Wno-ignored-qualifiers -Wno-unused-parameter -Wno-format-truncation -Wno-cast-function-type -Wno-stringop-overflow -O3 -feliminate-unused-debug-symbols -fno-strict-aliasing -Wno-invalid-offsetof -Wno-noexcept-type -Wsuggest-override -mcx16 -rdynamic -Wl,--as-needed -o test_jsonrpcserver server/unit_tests/test_jsonrpcserver-unit_test_main.o test_jsonrpcserver-IPCSocketClient.o server/unit_tests/test_jsonrpcserver-test_rpcserver.o libjsonrpc_protocol.la libjsonrpc_server.la ../../src/tscpp/util/libtscpputil.la ../../src/records/librecords_p.a ../../src/tscore/libtscore.la ../../iocore/eventsystem/libinkevent.a ../../src/records/librecords_p.a ../../iocore/eventsystem/libinkevent.a ../../src/tscore/libtscore.la ../../mgmt/libmgmt_p.la ../../proxy/shared/libUglyLogStubs.a -lyamlcpp -lhwloc -lpthread -ldl libtool: link: ccache c++ -std=c++17 -g -pipe -Wall -Wextra -Wno-ignored-qualifiers -Wno-unused-parameter -Wno-format-truncation -Wno-cast-function-type -Wno-stringop-overflow -O3 -feliminate-unused-debug-symbols -fno-strict-aliasing -Wno-invalid-offsetof -Wno-noexcept-type -Wsuggest-override -mcx16 -rdynamic -Wl,--as-needed -o .libs/test_jsonrpcserver server/unit_tests/test_jsonrpcserver-unit_test_main.o test_jsonrpcserver-IPCSocketClient.o server/unit_tests/test_jsonrpcserver-test_rpcserver.o ./.libs/libjsonrpc_protocol.a ./.libs/libjsonrpc_server.a ../../src/tscpp/util/.libs/libtscpputil.so ../../src/records/librecords_p.a ../../iocore/eventsystem/libinkevent.a ../../src/tscore/.libs/libtscore.so ../../mgmt/.libs/libmgmt_p.a ../../proxy/shared/libUglyLogStubs.a /var/tmp/trafficserver/lib/yamlcpp/.libs/libyamlcpp.a -lhwloc -lpthread -ldl -Wl,-rpath -Wl,/var/tmp/ts_build/lib /usr/bin/ld: ../../iocore/eventsystem/libinkevent.a(EventSystem.o): undefined reference to symbol '_ZN2ts13svtoi_convertE' /usr/bin/ld: ../../src/tscpp/util/.libs/libtscpputil.so: error adding symbols: DSO missing from command line collect2: error: ld returned 1 exit status make: *** [Makefile:1216: test_jsonrpcserver] Error 1 Note that libinkevent.a has a dependency upon ts::svtoi_convert. This is provided by libtscpputil.la, so it must come later in the library order when provided to the linker.
* Fix build issues in H3 unit tests * Use ifndef
- builds quiche - building based on version releases of the ng tools - builds the applications for nghttp2
…che#9314) ET_UDP has to have a valid value because it's used to check the number of threads for the type.
Conflicts:
plugins/lua/ts_lua_http_config.c
tests/gold_tests/autest-site/trafficserver.test.ext
Contributor
|
I converted this to a Draft, to make sure we don't merge it, yet. |
Contributor
|
Just for the record, this does contains #9264 records.yaml (already approved) |
zwoop
approved these changes
Feb 1, 2023
Contributor
zwoop
left a comment
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I checked every single line, looks good.
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
This is the trivial (i.e., non-conflicting) merge from 10-Dev into master. Master has been merged frequently into 10-Dev, as recently as this morning. Thus this merge brings master to be the same content as 10-Dev.
@zwoop points out that we probably want to "merge" this rather "squash and merge".