Skip to content

Commit

Permalink
Merge remote-tracking branch 'upstream/master' into xds_bootstrap_ser…
Browse files Browse the repository at this point in the history
…ver_interface_for_grpc_transport
  • Loading branch information
markdroth committed Feb 7, 2025
2 parents 06ae946 + 6b0f95b commit 5d3e795
Show file tree
Hide file tree
Showing 33 changed files with 217 additions and 230 deletions.
1 change: 1 addition & 0 deletions .github/labeler.yml
Original file line number Diff line number Diff line change
Expand Up @@ -46,6 +46,7 @@ lang/python:
- any-glob-to-any-file:
- bazel/python_rules.bzl
- examples/python/**
- requirements.bazel.lock
- requirements.bazel.txt
- src/compiler/python*
- all-globs-to-any-file:
Expand Down
2 changes: 1 addition & 1 deletion MODULE.bazel
Original file line number Diff line number Diff line change
Expand Up @@ -85,7 +85,7 @@ pip = use_extension("@rules_python//python/extensions:pip.bzl", "pip")
pip.parse(
hub_name = "grpc_python_dependencies",
python_version = python_version,
requirements_lock = "//:requirements.bazel.txt",
requirements_lock = "//:requirements.bazel.lock",
)
for python_version in PYTHON_VERSIONS
]
Expand Down
2 changes: 1 addition & 1 deletion WORKSPACE
Original file line number Diff line number Diff line change
Expand Up @@ -46,7 +46,7 @@ load("@rules_python//python:pip.bzl", "pip_parse")

pip_parse(
name = "grpc_python_dependencies",
requirements_lock = "@com_github_grpc_grpc//:requirements.bazel.txt",
requirements_lock = "@com_github_grpc_grpc//:requirements.bazel.lock",
)

load("@grpc_python_dependencies//:requirements.bzl", "install_deps")
Expand Down
60 changes: 0 additions & 60 deletions bazel/grpc_deps.bzl
Original file line number Diff line number Diff line change
Expand Up @@ -368,66 +368,6 @@ def grpc_test_only_deps():
Loads dependencies that are only needed to run grpc library's tests.
"""

if "com_github_twisted_twisted" not in native.existing_rules():
http_archive(
name = "com_github_twisted_twisted",
sha256 = "ca17699d0d62eafc5c28daf2c7d0a18e62ae77b4137300b6c7d7868b39b06139",
strip_prefix = "twisted-twisted-17.5.0",
urls = [
"https://storage.googleapis.com/grpc-bazel-mirror/github.com/twisted/twisted/archive/twisted-17.5.0.zip",
"https://github.com/twisted/twisted/archive/twisted-17.5.0.zip",
],
build_file = "@com_github_grpc_grpc//third_party:twisted.BUILD",
)

if "com_github_yaml_pyyaml" not in native.existing_rules():
http_archive(
name = "com_github_yaml_pyyaml",
sha256 = "e34d97db6d846f5e2ad51417fd646e7ce6a3a70726ccea2a857e0580a7155f39",
strip_prefix = "pyyaml-6.0.1",
urls = [
"https://storage.googleapis.com/grpc-bazel-mirror/github.com/yaml/pyyaml/archive/6.0.1.zip",
"https://github.com/yaml/pyyaml/archive/6.0.1.zip",
],
build_file = "@com_github_grpc_grpc//third_party:yaml.BUILD",
)

if "com_github_twisted_incremental" not in native.existing_rules():
http_archive(
name = "com_github_twisted_incremental",
sha256 = "f0ca93359ee70243ff7fbf2d904a6291810bd88cb80ed4aca6fa77f318a41a36",
strip_prefix = "incremental-incremental-17.5.0",
urls = [
"https://storage.googleapis.com/grpc-bazel-mirror/github.com/twisted/incremental/archive/incremental-17.5.0.zip",
"https://github.com/twisted/incremental/archive/incremental-17.5.0.zip",
],
build_file = "@com_github_grpc_grpc//third_party:incremental.BUILD",
)

if "com_github_zopefoundation_zope_interface" not in native.existing_rules():
http_archive(
name = "com_github_zopefoundation_zope_interface",
sha256 = "e9579fc6149294339897be3aa9ecd8a29217c0b013fe6f44fcdae00e3204198a",
strip_prefix = "zope.interface-4.4.3",
urls = [
"https://storage.googleapis.com/grpc-bazel-mirror/github.com/zopefoundation/zope.interface/archive/4.4.3.zip",
"https://github.com/zopefoundation/zope.interface/archive/4.4.3.zip",
],
build_file = "@com_github_grpc_grpc//third_party:zope_interface.BUILD",
)

if "com_github_twisted_constantly" not in native.existing_rules():
http_archive(
name = "com_github_twisted_constantly",
sha256 = "2702cd322161a579d2c0dbf94af4e57712eedc7bd7bbbdc554a230544f7d346c",
strip_prefix = "constantly-15.1.0",
urls = [
"https://storage.googleapis.com/grpc-bazel-mirror/github.com/twisted/constantly/archive/15.1.0.zip",
"https://github.com/twisted/constantly/archive/15.1.0.zip",
],
build_file = "@com_github_grpc_grpc//third_party:constantly.BUILD",
)

if "com_google_libprotobuf_mutator" not in native.existing_rules():
http_archive(
name = "com_google_libprotobuf_mutator",
Expand Down
116 changes: 116 additions & 0 deletions requirements.bazel.lock
Original file line number Diff line number Diff line change
@@ -0,0 +1,116 @@
#
# This file is autogenerated by pip-compile with Python 3.8
# by the following command:
#
# pip-compile --allow-unsafe requirements.bazel.in
#
absl-py==2.1.0
# via -r requirements.bazel.in
attrs==25.1.0
# via twisted
automat==24.8.1
# via twisted
cachetools==5.5.1
# via google-auth
certifi==2025.1.31
# via
# -r requirements.bazel.in
# requests
chardet==5.2.0
# via -r requirements.bazel.in
charset-normalizer==3.4.1
# via requests
constantly==23.10.4
# via twisted
deprecated==1.2.18
# via
# opentelemetry-api
# opentelemetry-semantic-conventions
gevent==24.2.1
# via -r requirements.bazel.in
google-auth==2.38.0
# via -r requirements.bazel.in
googleapis-common-protos==1.66.0
# via -r requirements.bazel.in
greenlet==3.1.1
# via gevent
hyperlink==21.0.0
# via twisted
idna==3.10
# via
# -r requirements.bazel.in
# hyperlink
# requests
importlib-metadata==8.5.0
# via opentelemetry-api
incremental==24.7.2
# via twisted
opentelemetry-api==1.30.0
# via
# -r requirements.bazel.in
# opentelemetry-exporter-prometheus
# opentelemetry-resourcedetector-gcp
# opentelemetry-sdk
# opentelemetry-semantic-conventions
opentelemetry-exporter-prometheus==0.51b0
# via -r requirements.bazel.in
opentelemetry-resourcedetector-gcp==1.9.0a0
# via -r requirements.bazel.in
opentelemetry-sdk==1.30.0
# via
# -r requirements.bazel.in
# opentelemetry-exporter-prometheus
# opentelemetry-resourcedetector-gcp
opentelemetry-semantic-conventions==0.51b0
# via opentelemetry-sdk
prometheus-client==0.21.1
# via opentelemetry-exporter-prometheus
protobuf==5.29.3
# via
# -r requirements.bazel.in
# googleapis-common-protos
pyasn1==0.6.1
# via
# pyasn1-modules
# rsa
pyasn1-modules==0.4.1
# via google-auth
pyyaml==6.0.2
# via -r requirements.bazel.in
requests==2.32.3
# via
# -r requirements.bazel.in
# opentelemetry-resourcedetector-gcp
rsa==4.9
# via google-auth
tomli==2.2.1
# via incremental
twisted==24.11.0
# via -r requirements.bazel.in
typing-extensions==4.12.2
# via
# automat
# opentelemetry-resourcedetector-gcp
# opentelemetry-sdk
# twisted
urllib3==2.2.3
# via
# -r requirements.bazel.in
# requests
wrapt==1.17.2
# via deprecated
zipp==3.20.2
# via importlib-metadata
zope-event==5.0
# via gevent
zope-interface==7.2
# via
# gevent
# twisted

# The following packages are considered to be unsafe in a requirements file:
setuptools==75.3.0
# via
# incremental
# zope-event
# zope-interface
82 changes: 41 additions & 41 deletions requirements.bazel.txt
Original file line number Diff line number Diff line change
@@ -1,41 +1,41 @@
# GRPC Python setup requirements
# The requirements listed below are solely for Bazel tests and should not be used elsewhere.
absl-py==1.4.0
cachetools==5.3.2
certifi==2023.7.22
chardet==3.0.4
charset-normalizer==3.3.2
coverage==4.5.4
cython==3.0.0
Deprecated==1.2.14
gevent==22.08.0
google-api-core==2.24.0
google-auth==2.23.4
google-cloud-monitoring==2.26.0
google-cloud-trace==1.15.0
googleapis-common-protos==1.63.1
greenlet==1.1.3.post0
idna==2.7
importlib-metadata==6.11.0
oauth2client==4.1.0
opencensus-context==0.1.3
opentelemetry-api==1.25.0
opentelemetry-exporter-prometheus==0.46b0
opentelemetry-resourcedetector-gcp==1.6.0a0
opentelemetry-sdk==1.25.0
opentelemetry-semantic-conventions==0.46b0
prometheus_client==0.20.0
proto-plus==1.25.0
protobuf>=5.27.1,<6.0dev
pyasn1-modules==0.3.0
pyasn1==0.5.0
requests==2.25.1
rsa==4.9
setuptools==44.1.1
typing-extensions==4.9.0
urllib3==1.26.18
wheel==0.38.1
wrapt==1.16.0
zipp==3.17.0
zope.event==4.5.0
zope.interface==6.1
# Copyright 2025 gRPC authors.
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
#
# http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.
#
# This file provides the source for generating requirements.bazel.lock.
# Instructions for generation follow:
# Use the oldest supported version of Python
#
# $ docker run -it --rm -v $(pwd):/grpc python:3.8 /bin/bash
# # cd grpc
# # pip install pip-tools
# # pip-compile --allow-unsafe requirements.bazel.txt > requirements.bazel.lock
# # exit
# $ sudo chown $USER requirements.bazel.lock

absl-py
certifi
chardet
gevent
google-auth
googleapis-common-protos
idna
opentelemetry-api
opentelemetry-exporter-prometheus
opentelemetry-resourcedetector-gcp
opentelemetry-sdk
protobuf
pyyaml # for DNS test
requests
twisted # for DNS test
urllib3
2 changes: 2 additions & 0 deletions src/core/BUILD
Original file line number Diff line number Diff line change
Expand Up @@ -5441,6 +5441,7 @@ grpc_cc_library(
tags = ["nofixdeps"],
deps = [
"certificate_provider_factory",
"down_cast",
"grpc_tls_credentials",
"json",
"json_args",
Expand Down Expand Up @@ -5593,6 +5594,7 @@ grpc_cc_library(
tags = ["nofixdeps"],
deps = [
"channel_creds_registry",
"down_cast",
"json",
"json_args",
"json_object_loader",
Expand Down
3 changes: 2 additions & 1 deletion src/core/lib/surface/init.cc
Original file line number Diff line number Diff line change
Expand Up @@ -238,7 +238,8 @@ bool grpc_wait_for_shutdown_with_timeout(absl::Duration timeout) {
grpc_core::MutexLock lock(g_init_mu);
while (g_initializations != 0) {
if (g_shutting_down_cv->WaitWithDeadline(g_init_mu, deadline)) {
LOG(ERROR) << "grpc_wait_for_shutdown_with_timeout() timed out.";
GRPC_TRACE_LOG(api, ERROR)
<< "grpc_wait_for_shutdown_with_timeout() timed out.";
return false;
}
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -18,7 +18,6 @@

#include "src/core/xds/grpc/file_watcher_certificate_provider_factory.h"

#include <grpc/support/port_platform.h>
#include <grpc/support/time.h>

#include <algorithm>
Expand All @@ -31,6 +30,7 @@
#include "absl/strings/str_join.h"
#include "src/core/config/core_configuration.h"
#include "src/core/lib/security/credentials/tls/grpc_tls_certificate_provider.h"
#include "src/core/util/down_cast.h"

namespace grpc_core {

Expand Down Expand Up @@ -119,7 +119,7 @@ FileWatcherCertificateProviderFactory::CreateCertificateProvider(
return nullptr;
}
auto* file_watcher_config =
static_cast<FileWatcherCertificateProviderFactory::Config*>(config.get());
DownCast<FileWatcherCertificateProviderFactory::Config*>(config.get());
return MakeRefCounted<FileWatcherCertificateProvider>(
file_watcher_config->private_key_file(),
file_watcher_config->identity_cert_file(),
Expand Down
4 changes: 2 additions & 2 deletions src/core/xds/grpc/xds_bootstrap_grpc.cc
Original file line number Diff line number Diff line change
Expand Up @@ -17,7 +17,6 @@
#include "src/core/xds/grpc/xds_bootstrap_grpc.h"

#include <grpc/support/json.h>
#include <grpc/support/port_platform.h>
#include <stdlib.h>

#include <optional>
Expand All @@ -32,6 +31,7 @@
#include "absl/strings/str_format.h"
#include "absl/strings/str_join.h"
#include "absl/strings/string_view.h"
#include "src/core/util/down_cast.h"
#include "src/core/util/json/json.h"
#include "src/core/util/json/json_object_loader.h"
#include "src/core/util/json/json_reader.h"
Expand Down Expand Up @@ -200,7 +200,7 @@ std::string GrpcXdsBootstrap::ToString() const {
std::vector<std::string> server_jsons;
for (const XdsServer* server : authority.servers()) {
server_jsons.emplace_back(
JsonDump(static_cast<const GrpcXdsServer*>(server)->ToJson()));
JsonDump(DownCast<const GrpcXdsServer*>(server)->ToJson()));
}
if (!server_jsons.empty()) {
parts.push_back(absl::StrFormat(" servers=[\n%s\n],\n",
Expand Down
4 changes: 2 additions & 2 deletions src/core/xds/grpc/xds_client_grpc.cc
Original file line number Diff line number Diff line change
Expand Up @@ -20,7 +20,6 @@
#include <grpc/impl/channel_arg_names.h>
#include <grpc/slice.h>
#include <grpc/support/alloc.h>
#include <grpc/support/port_platform.h>
#include <grpc/support/string_util.h>

#include <algorithm>
Expand Down Expand Up @@ -48,6 +47,7 @@
#include "src/core/lib/transport/error_utils.h"
#include "src/core/telemetry/metrics.h"
#include "src/core/util/debug_location.h"
#include "src/core/util/down_cast.h"
#include "src/core/util/env.h"
#include "src/core/util/load_file.h"
#include "src/core/util/orphanable.h"
Expand Down Expand Up @@ -321,7 +321,7 @@ GrpcXdsClient::GrpcXdsClient(
.value_or(Duration::Seconds(15)))),
key_(key),
certificate_provider_store_(MakeOrphanable<CertificateProviderStore>(
static_cast<const GrpcXdsBootstrap&>(this->bootstrap())
DownCast<const GrpcXdsBootstrap&>(this->bootstrap())
.certificate_providers())),
stats_plugin_group_(std::move(stats_plugin_group)),
registered_metric_callback_(stats_plugin_group_.RegisterCallback(
Expand Down
Loading

0 comments on commit 5d3e795

Please sign in to comment.