Skip to content
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
16 changes: 0 additions & 16 deletions .travis.yml

This file was deleted.

22 changes: 17 additions & 5 deletions XDS_PROTOCOL.md
Original file line number Diff line number Diff line change
Expand Up @@ -191,11 +191,23 @@ drop can't be tolerated, traffic drop could have been avoided by providing a
CDS/EDS update with both __X__ and __Y__, then the RDS update repointing from
__X__ to __Y__ and then a CDS/EDS update dropping __X__.

In general, to avoid traffic drop:
* Sequencing should be make before break.
* LDS and CDS updates should arrive before the respective RDS and EDS updates.
* CDS/EDS resources corresponding to routes in LDS/RDS should be available at
update.
In general, to avoid traffic drop, sequencing of updates should follow a
`make before break` model, wherein
* CDS updates (if any) must always be pushed first.
* EDS updates (if any) must arrive after CDS updates for the respective clusters.
* LDS updates must arrive after corresponding CDS/EDS updates.
* RDS updates related to the newly added listeners must arrive in the end.
* Stale CDS clusters and related EDS endpoints (ones no longer being
referenced) can then be removed.

xDS updates can be pushed independently if no new clusters/routes/listeners
are added or if it's acceptable to temporarily drop traffic during
updates. Note that in case of LDS updates, the listeners will be warmed
before they receive traffic, i.e. the dependent routes are fetched through
RDS if configured. On the other hand, clusters are not warmed when
adding/removing/updating clusters. Similarly, routes are not warmed --
i.e., the management plane must ensure that clusters referenced by a route
are in place, before pushing the updates for a rotue.

### Aggregated Discovery Services (ADS)

Expand Down
26 changes: 26 additions & 0 deletions api/mds.proto
Original file line number Diff line number Diff line change
@@ -0,0 +1,26 @@
syntax = "proto3";

package envoy.api.v2;

import "google/api/annotations.proto";
import "io/prometheus/client/metrics.proto";

service MetricsService {
rpc FetchProxyMetrics (MetricsRequest) returns (MetricsResponse) {
option (google.api.http) = {
post: "/v2/metrics"
body: "*"
};
}
}

message MetricsRequest {

}

message MetricsResponse {
repeated MetricFamily proxy_metrics = 1;
}



6 changes: 1 addition & 5 deletions ci/build_setup.sh
Original file line number Diff line number Diff line change
Expand Up @@ -9,11 +9,7 @@ NUM_CPUS=`grep -c ^processor /proc/cpuinfo`
export ENVOY_SRCDIR=/source

export BUILD_DIR=/build
if [[ ! -d "${BUILD_DIR}" ]]
then
echo "${BUILD_DIR} mount missing - did you forget -v <something>:${BUILD_DIR}?"
exit 1
fi
mkdir -p ${BUILD_DIR}

# Create a fake home. Python site libs tries to do getpwuid(3) if we don't and
# the CI Docker image gets confused as it has no passwd entry when running
Expand Down
17 changes: 0 additions & 17 deletions ci/ci_steps.sh

This file was deleted.

11 changes: 0 additions & 11 deletions ci/run_envoy_docker.sh

This file was deleted.