Skip to content

Commit

Permalink
Sync with release-1.1 (#11704)
Browse files Browse the repository at this point in the history
* Fix routing when DNS is resolved (#11522)

The DNSDomain variable needs to be enhanced to include more
then one DNS entry.  Change DNSDomain to DNSDomains as a meta
and add the dnsConfig in the meta.  As now DNSDomain is a slice
of strings instead of a string, the variable needs consolidation.

* adjust galley dashboard time range (#11627)

* Add update permissions to deployments/finalizers for galley clusterrole (#11586) (#11631)

(cherry picked from commit f9b6866)

* [release-1.1] Update fluentd adapter to be more robust (#11623)

* Update fluentd adapter to be more robust

* Minor touchup of bad merge

* Lint fixes

* Fix kubernetesenv workload attributes for multicluster with one control plane (#11581)

* remove myself from pilot OWNERS (#11632)

* remove me (#11636)

Signed-off-by: Kuat Yessenov <kuat@google.com>

* add debug logs for citadel authenticate fail (#11633)

* move apply plugin below buildscript (#11625)

The Cloud Foundry open source licensing scanner has a plugin that
identifies dependencies from gradle scripts, but it requires the
buildscript and plugins block be before anything else in the file.
This change does not affect the build, but makes our lives a smidge
easier.

Co-authored-by: Teal Stannard <tstannard@pivotal.io>

* check key.pem (#11599)

* Sample ServiceEntries for apt-get, pip, and git tools showing how to grant access to mesh. (#11508)

* Samples for accessing apt-get repo, Github, and pip repo

* A Readme explaining the samples

* Link to future doc on default external comm capability

* Incorporate documentation feedback from venilnoronha

* Add support for metadata constraints in RBAC (#11459)

* Add support for metadata constraints in RBAC

This adds support for mapping RBAC constraints with keys in the a[b]
format to Envoy's filter metadata matcher.

Signed-off-by: Venil Noronha <veniln@vmware.com>

* Use SplitN instead of Split for completeness

This updates the metadata matcher definition to use strings.SplitN
instead of strings.Split in order to capture the whole binary key in two
parts.

Signed-off-by: Venil Noronha <veniln@vmware.com>

* Accomodate [list] and plain value type constraints

This adds logic to accomodate filter metadata matching over both [list]
and value type constraints.

Signed-off-by: Venil Noronha <veniln@vmware.com>

* Add extra experimental. prefix test for matching

This adds an extra experimental. prefix test while creating metadata
matchers based on Envoy filters.

Signed-off-by: Venil Noronha <veniln@vmware.com>

* Update comments

This updates code comments.

Signed-off-by: Venil Noronha <veniln@vmware.com>

* add POST to ratings service to demonstrate security policies on HTTP Methods (#10778)

* add POST to ratings service

* put a space between if and opening parenthesis

* add comments

* remove extra line-break

* Enable remote clusters to check/report to local Mixer (#11585)

* Print error message if istio-sidecar-injector invalid, allow toJson as synonym for toJSON (#11570)

* Fix racetest in fluentd test (#11647)

* Bump the number of connection that can be re-use in Citadel (#11641)

* Bump the number of connection that can be re-use in Citadel

* A small fix

* First cut of xDS APi structural testing using the new integration tests (#11406)

* Fixes for k8s ingress (#11343)

* Fix ingress in pilot, writeback and multiple namespaces

* Fix tests, format

* Fix test - the generated service should be left in the namespace of ingress

* Additional test fixes, match the new 1.1 semantics

* Again make fmt and lint not matching

* Break up the helloworld sample into versions (#11650)

* Break up the helloworld sample into versions

* Moved to default namespace

* Seperated gateway file and added labels

* Update the doc

* Cleanup section updated too

* Fix build break due to #11406. (#11677)

https://k8s-gubernator.appspot.com/build/istio-prow/pr-logs/pull/istio_istio/11645/istio-integ-local-tests/5215

* make stackdriver e2e test cluster wide (#11674)

* Add handling for independent encoding in Report batches to Mixer (#11640)

* Add handling for independent encoding in Report batches to Mixer

* fix lll

* Address review

* protect protobag done

* exit circleci test early if setup fails (#11572)

* wip: exit circleci test early if setup fails

Many of the circleci tests will attempt to run the e2e/integration
tests even after the test setup fails. This leads to misleading test
failures that suggest the problem is with the feature test and not the
test setup itself.

Example test runs where the setup failed and the test was run but
immediately errored out because a dependency was missing:

https://circleci.com/gh/istio/istio/316588
https://circleci.com/gh/istio/istio/317262
https://circleci.com/gh/istio/istio/318281
https://circleci.com/gh/istio/istio/316031
https://circleci.com/gh/istio/istio/315952
https://circleci.com/gh/istio/istio/315871
https://circleci.com/gh/istio/istio/315813

ref: https://circleci.com/docs/2.0/configuration-reference/#the-when-attribute
```
By default, CircleCI will execute job steps one at a time, in the
order that they are defined in config.yml, until a step fails (returns
a non-zero exit code). After a command fails, no further job steps
will be executed.

Adding the when attribute to a job step allows you to override this
default behaviour, and selectively run or skip steps depending on the
status of the job.

The default value of on_success means that the step will run only if
all of the previous steps have been successful (returned exit code 0).

A value of always means that the step will run regardless of the exit
status of previous steps. This is useful if you have a task that you
want to run regardless of whether the previous steps are successful or
not. For example, you might have a job step that needs to upload logs
or code-coverage data somewhere.
```

* re-add `when: always` to codecov job

* Implementation of isolation for EDS (#11672)

* Implementation of isolation for EDS

* Provide nil proxy for older calls

* Always call loadAssignmentsForClusterIsolated

* Revert "Always call loadAssignmentsForClusterIsolated"

This reverts commit db2c997.

* Env variable to disable

* Lint

* Environment Variable controlled Graceful Termination with low defaults. (#11630)

* Feature flag graceful shutdown

Turn graceful shutdown off by default for 1.1 with a feature flag that allows users to opt-in.

Signed-off-by: Liam White <liam@tetrate.io>

* Address pr comments

Signed-off-by: Liam White <liam@tetrate.io>

* Clean up missed feature flag var

Signed-off-by: Liam White <liam@tetrate.io>

* Add turn off test case, todo comments and fix agent tests

Signed-off-by: Liam White <liam@tetrate.io>

* fix lint

Signed-off-by: Liam White <liam@tetrate.io>

* PR review comments

Signed-off-by: Liam White <liam@tetrate.io>

* Move TerminationDuration function and tests to Pilot features

Signed-off-by: Liam White <liam@tetrate.io>

* Update Proxy SHA to latest (release-1.1). (#11687)

Signed-off-by: Piotr Sikora <piotrsikora@google.com>

* Add empty check for proxy's locality (#11681)

Make sure empty proxy locality will fall back to using proxy service's instance locality.

* Increase sleep value to account for Galley default aggregation of 1 sec with MCP (#11685)

* cache ServiceAccounts and remove it drom Environment (#11442)

* cache ServiceAccounts and remove it drom Environment

* use allServices var

* fix ut

* Adding Envoy bootstrap template for a custom Pilot implementation. (#11395)

* Adding Envoy bootstrap template for a custom Pilot implementation.

New template connects to Pilot using Google gRPC Envoy client, which
allows to perform authz by passing additional credentials. Placed into
install/gcp due to being GCP installation specific.

To enable this template, introducing {{ .discovery_address }} variable,
which passes --discoveryAddress flag value "as is", without splitting it into
address/port_value parts as currently done for the {{ .pilot_grpc_address }} variable.

* Removing static interception listener from gcp_envoy_bootstrap.json
as it is generated by the Pilot.
  • Loading branch information
yangminzhu committed Feb 12, 2019
1 parent db48306 commit bace603
Show file tree
Hide file tree
Showing 104 changed files with 2,601 additions and 528 deletions.
15 changes: 0 additions & 15 deletions .circleci/config.yml
Expand Up @@ -241,8 +241,6 @@ jobs:
- run: docker images
- run:
no_output_timeout: 20m
# Run the test even if previous failed
when: always
name: make e2e_mixer
command: |
make test/local/noauth/e2e_mixer_envoyv2
Expand Down Expand Up @@ -277,8 +275,6 @@ jobs:
- run: docker images
- run:
no_output_timeout: 20m
# Run the test even if previous failed
when: always
name: make e2e_mixer (non-mcp)
command: |
E2E_ARGS="--use_mcp=false" \
Expand Down Expand Up @@ -318,8 +314,6 @@ jobs:
- run: docker images
- run:
no_output_timeout: 20m
# Run the test even if previous failed
when: always
name: make e2e_galley
command: |
make test/local/e2e_galley
Expand All @@ -343,7 +337,6 @@ jobs:
- run: make sync
- run:
no_output_timeout: 20m
when: always
command: |
export PATH=$GOPATH/bin:$PATH
make localTestEnv
Expand Down Expand Up @@ -381,8 +374,6 @@ jobs:
- run: docker images
- run:
no_output_timeout: 20m
# Run the test even if previous failed
when: always
command: |
make test/local/noauth/e2e_pilotv2
- <<: *recordZeroExitCodeIfTestPassed
Expand Down Expand Up @@ -420,8 +411,6 @@ jobs:
- run: docker images
- run:
no_output_timeout: 20m
# Run the test even if previous failed
when: always
command: |
E2E_ARGS="--use_mcp=false" \
make test/local/noauth/e2e_pilotv2
Expand Down Expand Up @@ -456,8 +445,6 @@ jobs:
- run: docker images
- run:
no_output_timeout: 20m
# Run the test even if previous failed
when: always
command: |
make test/local/auth/e2e_pilotv2
- <<: *recordZeroExitCodeIfTestPassed
Expand Down Expand Up @@ -515,8 +502,6 @@ jobs:
- run: docker images
- run:
no_output_timeout: 20m
# Run the test even if previous failed
when: always
command: |
E2E_ARGS="--use_mcp=false" \
make test/local/auth/e2e_pilotv2
Expand Down
79 changes: 79 additions & 0 deletions install/gcp/bootstrap/gcp_envoy_bootstrap.json
@@ -0,0 +1,79 @@
{
"node": {
"id": "{{ .nodeID }}",
"cluster": "{{ .cluster }}",
"locality": {
{{ if .region }}
"region": "{{ .region }}",
{{ end }}
{{ if .zone }}
"zone": "{{ .zone }}",
{{ end }}
{{ if .sub_zone }}
"sub_zone": "{{ .sub_zone }}",
{{ end }}
},
"metadata": {{ .meta_json_str }}
},
"dynamic_resources": {
"lds_config": {
"ads": {}
},
"cds_config": {
"ads": {}
},
"ads_config": {
"api_type": "GRPC",
"grpc_services": [
{
"google_grpc": {
"target_uri": "{{ .discovery_address }}",
"stat_prefix": "googlegrpcxds",
"channel_credentials": {
"ssl_credentials": {
"root_certs": {
"filename": "/etc/ssl/certs/ca-certificates.crt"
}
}
},
"call_credentials": {
"google_compute_engine": {}
}
}
}
]
}
},
"cluster_manager": {
"load_stats_config": {
"api_type": "GRPC",
"grpc_services": [
{
"google_grpc": {
"target_uri": "{{ .discovery_address }}",
"stat_prefix": "googlegrpcxds",
"channel_credentials": {
"ssl_credentials": {
"root_certs": {
"filename": "/etc/ssl/certs/ca-certificates.crt"
}
}
},
"call_credentials": {
"google_compute_engine": {}
}
}
}
]
}
},
"admin": {
"access_log_path": "/dev/null",
"address": {
"socket_address": {
"address": "127.0.0.1",
"port_value": {{ .config.ProxyAdminPort }}
}
}
}
}
Expand Up @@ -164,6 +164,11 @@ data:
valueFrom:
fieldRef:
fieldPath: metadata.namespace
{{- if .Values.global.podDNSSearchNamespaces }}
- name: ISTIO_META_DNS_DOMAINS
{{- $local := dict "first" true }}
value: {{ range $k, $v := .Values.global.podDNSSearchNamespaces }}{{- if not $local.first }},{{ end }}{{- $v }}{{- $_ := set $local "first" false }}{{- end }}
{{- end }}
- name: ISTIO_META_INTERCEPTION_MODE
value: {{ "[[ or (index .ObjectMeta.Annotations \"sidecar.istio.io/interceptionMode\") .ProxyConfig.InterceptionMode.String ]]" }}
{{- if .Values.global.network }}
Expand Down
Expand Up @@ -42,3 +42,7 @@ rules:
- apiGroups: ["extensions"]
resources: ["ingresses"]
verbs: ["get", "list", "watch"]
- apiGroups: ["extensions"]
resources: ["deployments/finalizers"]
resourceNames: ["istio-galley"]
verbs: ["update"]
Expand Up @@ -62,6 +62,14 @@ spec:
name: tcp-citadel
hosts:
- "*"
- port:
number: 15004
name: tls-mixer
protocol: TLS
tls:
mode: AUTO_PASSTHROUGH
hosts:
- "*"
---
{{- else }}
apiVersion: networking.istio.io/v1alpha3
Expand Down Expand Up @@ -90,6 +98,14 @@ spec:
name: tcp-citadel
hosts:
- "*"
- port:
number: 15004
name: tls-mixer
protocol: TLS
tls:
mode: AUTO_PASSTHROUGH
hosts:
- "*"
---
{{- end }}
{{- end }}
Expand Down
3 changes: 3 additions & 0 deletions install/kubernetes/helm/subcharts/gateways/values.yaml
Expand Up @@ -83,6 +83,9 @@ istio-ingressgateway:
- port: 15011
targetPort: 15011
name: tcp-pilot-grpc-tls
- port: 15004
targetPort: 15004
name: tcp-mixer-grpc-tls
- port: 8060
targetPort: 8060
name: tcp-citadel-grpc-tls
Expand Down
Expand Up @@ -1766,16 +1766,16 @@
}
}
],
"refresh": false,
"refresh": "5s",
"schemaVersion": 16,
"style": "dark",
"tags": [],
"templating": {
"list": []
},
"time": {
"from": "2019-01-23T20:37:30.445Z",
"to": "2019-01-23T20:47:30.445Z"
"from": "now-5m",
"to": "now"
},
"timepicker": {
"refresh_intervals": [
Expand Down
Expand Up @@ -33,7 +33,7 @@ spec:
initContainers:
- name: prom-init
image: "busybox"
command: ['sh', '-c', 'counter=0; until [ "$counter" -ge 30 ]; do if [ -d /etc/istio-certs ]; then exit 0; else echo waiting for istio certs && sleep 1 && counter=$((counter+1)); fi; done; exit 1;']
command: ['sh', '-c', 'counter=0; until [ "$counter" -ge 30 ]; do if [ -f /etc/istio-certs/key.pem ]; then exit 0; else echo waiting for istio certs && sleep 1 && counter=$((counter+1)); fi; done; exit 1;']
imagePullPolicy: {{ .Values.global.imagePullPolicy }}
volumeMounts:
- mountPath: /etc/istio-certs
Expand Down
@@ -1,3 +1,2 @@
approvers:
- ayj
- ostromart
2 changes: 1 addition & 1 deletion istio.deps
Expand Up @@ -4,7 +4,7 @@
"name": "PROXY_REPO_SHA",
"repoName": "proxy",
"file": "",
"lastStableSHA": "1ae5ab2ce8a222021c1f1227c32490fabc20a6c6"
"lastStableSHA": "f999ede41ae1c4896281c13abaa49e664d2eb4a3"
},
{
"_comment": "",
Expand Down
1 change: 1 addition & 0 deletions istioctl/cmd/istioctl/convert_ingress_test.go
Expand Up @@ -23,6 +23,7 @@ import (
)

func TestConvertIngress(t *testing.T) {

tt := []struct {
in []string
out string
Expand Down
4 changes: 2 additions & 2 deletions istioctl/cmd/istioctl/testdata/v1alpha3/merged-gateway.yaml
Expand Up @@ -3,10 +3,10 @@ kind: VirtualService
metadata:
creationTimestamp: null
name: wild-simple-ingress-istio-autogenerated-k8s-ingress
namespace: istio-system
namespace: default
spec:
gateways:
- istio-autogenerated-k8s-ingress
- istio-system/istio-autogenerated-k8s-ingress
hosts:
- '*'
http:
Expand Down
Expand Up @@ -3,10 +3,10 @@ kind: VirtualService
metadata:
creationTimestamp: null
name: wild-simple-ingress-istio-autogenerated-k8s-ingress
namespace: istio-system
namespace: default
spec:
gateways:
- istio-autogenerated-k8s-ingress
- istio-system/istio-autogenerated-k8s-ingress
hosts:
- '*'
http:
Expand Down
Expand Up @@ -3,10 +3,10 @@ kind: VirtualService
metadata:
creationTimestamp: null
name: wild-simple-ingress-istio-autogenerated-k8s-ingress
namespace: istio-system
namespace: default
spec:
gateways:
- istio-autogenerated-k8s-ingress
- istio-system/istio-autogenerated-k8s-ingress
hosts:
- '*'
http:
Expand Down
Expand Up @@ -3,10 +3,10 @@ kind: VirtualService
metadata:
creationTimestamp: null
name: wild-simple-ingress-istio-autogenerated-k8s-ingress
namespace: istio-system
namespace: default
spec:
gateways:
- istio-autogenerated-k8s-ingress
- istio-system/istio-autogenerated-k8s-ingress
hosts:
- '*'
http:
Expand Down
45 changes: 45 additions & 0 deletions mixer/adapter/fluentd/config/adapter.fluentd.config.pb.html

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

0 comments on commit bace603

Please sign in to comment.