Skip to content
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

FAIL: TestDenials (159.34s) mixer_test.go:301: Bad metric value: got 0.000000, want at least 1 #365

Closed
ldemailly opened this issue Jun 6, 2017 · 35 comments
Assignees
Milestone

Comments

@ldemailly
Copy link
Contributor

Unearthed in #361

The TestDenials keeps failing
--- FAIL: TestDenials (159.34s)
mixer_test.go:301: Bad metric value: got 0.000000, want at least 1

@douglas-reid wrote "
when I look at the reported results for this test, I see no 4xx responses when a denial rule is in place. Is this related to the change in error reporting (are we still forwarding rpc statuses to mixer, rather than the internal status messages)? "

@ldemailly ldemailly added this to the istio beta milestone Jun 6, 2017
@ldemailly
Copy link
Contributor Author

@geeknoid replied "In the new world, the Check RPC no longer returns 4xx results. Instead, the RPC itself succeeds, and the check yes/no indication is contained in the CheckResponse.status field instead."

so we need to update the caller ?

@geeknoid geeknoid removed their assignment Jun 6, 2017
@geeknoid
Copy link
Contributor

geeknoid commented Jun 6, 2017

Yes, the client needs to look in the right place for the yes/no signal.

@douglas-reid
Copy link
Contributor

Ok. I've found mixer logs for this:

I0606 17:23:03.836452       1 grpcServer.go:148] Dispatching Check
I0606 17:23:03.836510       1 runtime.go:208] resolveRules (aspects:<kind:"attributes" adapter:"default" params:&AttributesGeneratorParams{InputExpressions:map[string]string{originUID: origin.uid | "",sourceUID: source.uid | "",targetService: request.headers["authority"] | request.host | "",targetUID: target.uid | "",},AttributeBindings:map[string]string{source.ip: sourcePodIp,source.labels: sourceLabels,source.name: sourcePodName,source.namespace: sourceNamespace,source.service: sourceService,source.serviceAccount: sourceServiceAccountName,target.ip: targetPodIp,target.labels: targetLabels,target.name: targetPodName,target.namespace: targetNamespace,target.service: targetService,target.serviceAccount: targetServiceAccountName,},} > aspects:<kind:"quotas" adapter:"default" params:&QuotasParams{Quotas:[&QuotasParams_Quota{DescriptorName:RequestCount,Labels:map[string]string{},MaxAmount:5000,Expiration:1s,}],} > aspects:<kind:"metrics" adapter:"prometheus" params:&MetricsParams{Metrics:[&MetricsParams_Metric{DescriptorName:request_count,Value:1,Labels:map[string]string{method: request.path | "unknown",response_code: response.code | 200,service: target.labels["app"] | "unknown",source: source.labels["app"] | "unknown",target: target.service | "unknown",version: target.labels["version"] | "unknown",},} &MetricsParams_Metric{DescriptorName:request_duration,Value:response.latency | response.duration | "0ms",Labels:map[string]string{method: request.path | "unknown",response_code: response.code | 200,service: target.labels["app"] | "unknown",source: source.labels["app"] | "unknown",target: target.service | "unknown",version: target.labels["version"] | "unknown",},}],} > aspects:<kind:"access-logs" adapter:"default" params:&AccessLogsParams{LogName:access_log,Log:AccessLogsParams_AccessLog{DescriptorName:accesslog.common,TemplateExpressions:map[string]string{method: request.method,originIp: origin.ip,protocol: request.scheme,responseCode: response.code,responseSize: response.size,sourceUser: origin.user,timestamp: request.time,url: request.path,},Labels:map[string]string{method: request.method,originIp: origin.ip,protocol: request.scheme,responseCode: response.code,responseSize: response.size,sourceUser: origin.user,timestamp: request.time,url: request.path,},},} > ) ==> / 
I0606 17:23:03.836751       1 runtime.go:248] Rule () applies, using aspect kinds [denials, lists]:
- did not select aspect kind attributes named 'default', wrong kind
- did not select aspect kind quotas named 'default', wrong kind
- did not select aspect kind metrics named 'prometheus', wrong kind
- did not select aspect kind access-logs named 'default', wrong kind
I0606 17:23:03.836817       1 runtime.go:154] no rules for global/mixer-test-4ead6d3d6ab44859b8034b6fed.svc.cluster.local
I0606 17:23:03.836852       1 runtime.go:208] resolveRules (selector:"source.labels[\"app\"]==\"reviews\" && source.labels[\"version\"] == \"v3\"" aspects:<kind:"denials" adapter:"default" params:&DenialsParams{} > ) ==> / 
I0606 17:23:03.836947       1 runtime.go:248] Rule (source.labels["app"]=="reviews" && source.labels["version"] == "v3") applies, using aspect kinds [lists, denials]:
- selected aspect kind denials with config: name:"default" impl:"denyChecker" params:&Params{Error:google_rpc.Status{Code:9,Message:,Details:[],},} 
I0606 17:23:03.837013       1 runtime.go:154] no rules for mixer-test-4ead6d3d6ab44859b8034b6fed.svc.cluster.local/mixer-test-4ead6d3d6ab44859b8034b6fed.svc.cluster.local
I0606 17:23:03.837082       1 runtime.go:154] no rules for mixer-test-4ead6d3d6ab44859b8034b6fed.svc.cluster.local/ratings.mixer-test-4ead6d3d6ab44859b8034b6fed.svc.cluster.local
I0606 17:23:03.837116       1 runtime.go:154] no rules for ratings.mixer-test-4ead6d3d6ab44859b8034b6fed.svc.cluster.local/ratings.mixer-test-4ead6d3d6ab44859b8034b6fed.svc.cluster.local
I0606 17:23:03.837166       1 manager.go:203] Resolved 1 configs: [builder: name:"default" impl:"denyChecker" params:&Params{Error:google_rpc.Status{Code:9,Message:,Details:[],},}  aspect: kind:"denials" adapter:"default" params:&DenialsParams{} ] 
I0606 17:23:03.837360       1 grpcServer.go:150] Check returned with: FAILED_PRECONDITION builder: name:"default" impl:"denyChecker" params:&Params{Error:google_rpc.Status{Code:9,Message:,Details:[],},}  aspect: kind:"denials" adapter:"default" params:&DenialsParams{} :

It appears that mixer is sending back FAILED_PRECONDITION responses, but those are not getting back to Mixer in the corresponding Report() calls as anything but 200s:

request_count{method="/ratings",response_code="200",service="ratings",source="reviews",target="ratings.mixer-test-03aa4fa67c1d4f3cbf6a94fa1e.svc.cluster.local",version="v1"} 5

@qiwzhang @geeknoid thoughts on how to fix this?

@douglas-reid
Copy link
Contributor

To replicate: $ tests/e2e.sh -test.run TestDenials

sebastienvas added a commit that referenced this issue Jun 6, 2017
* Skip TestDenials

* Update format and linter to skip git files

* Using git ls-files instead of find

* Remove extra buildifier call
@geeknoid
Copy link
Contributor

geeknoid commented Jun 6, 2017

Doug, why did you reassign this to me? Mixer is returning the right result, right?

@douglas-reid
Copy link
Contributor

@geeknoid because you worked on the protocol change. I don't care who fixes it, just that we fix it.

@qiwzhang
Copy link
Contributor

qiwzhang commented Jun 6, 2017

@geeknoid

my understanding is any rpc status is networking status. server status should be returned in response.status. Please make sure mixer is returning all errors in response.status.

For network status, there is another flag network_failure_policy to use, default is open, any network error will mean open.

@qiwzhang
Copy link
Contributor

qiwzhang commented Jun 6, 2017

@douglas-reid Please make sure mixer is returning all errors in response.status. That is what protocol required.

@douglas-reid
Copy link
Contributor

@qiwzhang I'm not sure what you mean. We have the log message saying that it is returning FAILED_PRECONDITION. Are you suggesting the log doesn't match the behavior? @geeknoid can you confirm behavior, based on your changes to grpcServer.go ?

@qiwzhang
Copy link
Contributor

qiwzhang commented Jun 6, 2017

There are two status: rpc status from the unary call, and status inside the response body. client treats the rpc status error as network error, and only extract response.status.

@mandarjog
Copy link
Contributor

is there a log that we can enable to see what mixer_client is seeing?

@geeknoid
Copy link
Contributor

geeknoid commented Jun 6, 2017

With current Mixer bits, the expected behavior is:

  • The Check method's RPC status should reflect network connectivity issues only. If the RPC returns OK, it means Mixer ran the request. If the result != OK, then Mixer didn't understand the request or the network failed.

  • The CheckResponse.status field carries an rpc.Status object representing the semantic result of the Check operation. It'll be OK or non-OK to reflect whether the preconditions passed or not.

Within the grpcServer.go code in Mixer, this is handled here:

	// do the actual work for the message
	out = worker(ctx, preprocResponseBag, responseBag)

	if dState.result != nil {
		*dState.result = out
		out = status.OK
	}

In this case for the Check call, it takes the Status value obtained from running the adapters, sticks it in CheckResponse.Status, and has the RPC proper return OK.

As we've had problems with this kind of stuff in the past, what exact version of the Mixer is being used in these tests? The latest bits, or some snapshot from last week?

@geeknoid
Copy link
Contributor

geeknoid commented Jun 6, 2017

When I run Doug's command-line to replicate this, I get a bunch of console output and two instances of this error:

I0606 16:10:35.855202   98556 kubernetes.go:99] Setting up kubeInfo
I0606 16:10:35.855254   98556 commonUtils.go:53] Running command kubectl create namespace demo-test-1ed55a0d60b54aa9a599a431399
E0606 16:10:35.908361   98556 kubernetes.go:106] Failed to create namespace.
E0606 16:10:35.910386   98556 framework.go:192] Failed to complete Init. Error command failed: "The connection to the server 104.198.106.38 was refused - did you specify the right host or port?\n" exit status 1
I0606 16:10:35.910432   98556 framework.go:176] Saving logs

So I don't think it's getting to the point of running Mixer. Is there some extra setup voodoo necessary?

@mandarjog
Copy link
Contributor

@geeknoid looks like you could not create a new namespace, so the test did not run at all.
there is a small chance that you need to refetch your cluster creds; or something similar is wrong locally.

I am looking at this problem as well.

@mandarjog
Copy link
Contributor

latest bits are being used from mixer / proxy / manager and mixer client.
mixer build from Jun 5, 2017.

@douglas-reid
Copy link
Contributor

@geeknoid @qiwzhang @mandarjog can I help with anything more here? should I try to grab logs from proxies?

@kyessenov
Copy link
Contributor

this should be P0. If anything, we should be adding tests, not removing tests.

ldemailly pushed a commit that referenced this issue Jun 8, 2017
* Rbac ingress (#320)

* Add ingresses/status to rbac

* fix bash'ism (#325)

* fix bash'ism

we tell people to `curl -L https://git.io/getIstio | sh -` so we can't use bash extentions
I was getting [[ unknown command on line 12, fixing this

* also updating comment

* updateVersion.sh to not modify templates (#229)

* istio install templates

* fix copy

* fix temp var

* []byte values

* fix linter errors

* comment out unused ca vars

* gofmt kubernetes.go

* fix macros

* fix kubeTest.sh

* move istio-auth-with-cluster-ca.yaml out of templates dir (#334)

* fix broken link (#335)

* fixing #321 (#336)

fixing broken links

* Getting master ready for beta (#322)

0.1.x -> 0.2.x

* Add v1/stable version (#351)

* Add v1/stable version

* Start of a local development directory (#337)

* initial skeleton notes for local dev

* tweaks

* adding the rules.yaml for local dev and updating the scripts

* Fixing English typo

* Also start to address dev getting started

Issue #348

* incorporated most of my noogler notes

* Adding the sample quota

* adding note about -v=5

for debug/verbose output

* Code review comments

* typo fix


will follow up with moving most of mixer/dev/development.md into this

* Moving most of mixer/doc/dev/development.md here (#352)

* Moving most of mixer/doc/dev/development.md here

https://github.com/istio/mixer/blob/master/doc/dev/development.md to
here with updates to make it a bit more generic than just mixer

* Also move conventions.md and performance.md here

* Review comments

And linking the conventions and perf docs

* minor update

* Manager -> pilot rename (#359)

* Manager -> Pilot

 git ls-files | grep -v tests/e2e|grep -v bookinfo| xargs -n 1 sed -i
.bak -e 's/Manager/Pilot/g'

As tests/e2e and bookinfo have other Manager unrelated to pilot

* manager -> pilot

 git ls-files | grep -v tests/e2e|grep -v bookinfo| xargs -n 1 sed -i
.bak -e 's/manager/pilot/g'

* Manual changes in e2e

* MANAGER to PILOT

git ls-files | xargs -n 1 sed -i .bak -e 's/MANAGER/PILOT/g'

and manually excluding some

* Rename yaml file too

* Last few selective renames

Last piece, only remaining ‘manager’ are:
```
ldemailly-macbookpro:istio ldemailly$ git grep -i manager
samples/apps/bookinfo/src/reviews/reviews-wlpcfg/servers/LibertyProjectS
erver/server.xml:    <featureManager>
samples/apps/bookinfo/src/reviews/reviews-wlpcfg/servers/LibertyProjectS
erver/server.xml:    </featureManager>
tests/e2e/README.md:### appManager.go
tests/e2e/README.md:`appManager` gather apps required for test into a
array and deploy them while setup()
tests/e2e/framework/BUILD:        "appManager.go",
tests/e2e/framework/appManager.go:// AppManager organize and deploy apps
tests/e2e/framework/appManager.go:type AppManager struct {
tests/e2e/framework/appManager.go:// NewAppManager create a new
AppManager
tests/e2e/framework/appManager.go:func NewAppManager(tmpDir, namespace
string, istioctl *Istioctl) *AppManager {
tests/e2e/framework/appManager.go:      return &AppManager{
tests/e2e/framework/appManager.go:func (am *AppManager)
generateAppYaml(a *App) error {
tests/e2e/framework/appManager.go:func (am *AppManager) deploy(a *App)
error {
tests/e2e/framework/appManager.go:func (am *AppManager) Setup() error {
tests/e2e/framework/appManager.go:func (am *AppManager) Teardown()
error {
tests/e2e/framework/appManager.go:func (am *AppManager) AddApp(a *App) {
tests/e2e/framework/framework.go:
c.Cleanup.RegisterCleanable(c.Kube.AppManager)
tests/e2e/framework/kubernetes.go:      pilotHub =
flag.String("pilot_hub", os.Getenv(pilotHubEnvVar), "Manager hub")
tests/e2e/framework/kubernetes.go:      pilotTag =
flag.String("pilot_tag", os.Getenv(pilotTagEnvVar), "Manager tag")
tests/e2e/framework/kubernetes.go:              "manager",
tests/e2e/framework/kubernetes.go:      // App Manager
tests/e2e/framework/kubernetes.go:      AppManager *AppManager
tests/e2e/framework/kubernetes.go:      a := NewAppManager(tmpDir,
*namespace, i)
tests/e2e/framework/kubernetes.go:              AppManager:       a,
tests/e2e/framework/kubernetes.go:      case "manager":
tests/e2e/tests/bookinfo/demo_test.go:
tc.Kube.AppManager.AddApp(demoApp)
tests/e2e/tests/mixer/mixer_test.go:
tc.Kube.AppManager.AddApp(demoApp)
```

* Review comment

changed flag from m to p

* make linter happy bin/fmt.sh + review updates

* show in logs url being used (#360)

A bit more info in logs for when download fails

* Update images for Pilot & Unary (#361)

* Update image for Unary

* Fix forgotten renames

* Disabling failing test until #365 is fixed (#366)

* Skip TestDenials

* Update format and linter to skip git files

* Using git ls-files instead of find

* Remove extra buildifier call

* missed manager->pilot rename and use lowercase -c for ca image (#363)

* Make shell utility functions variadic (#377)

This simplifies usage a bit by not requiring user to call fmt.Sprintf
themselves.

* Re-enable TestDenials

* Revert "Update images for Pilot & Unary (#361)"

This reverts commit 2b210ac.

* Revert "Getting master ready for beta (#322)"

This reverts commit 910a025.

* Update to latest version of manager
@douglas-reid
Copy link
Contributor

Is it possible we are running into potentially new issues with caching?

I see the following in the CheckResponse: Cachability:CachabilityInfo{Duration:5s,UseCount:10000,}. Maybe we need more sleeps in TestDenials ?

@douglas-reid
Copy link
Contributor

douglas-reid commented Jun 8, 2017

If I add time.Sleep(15 * time.Second) to TestDenials's request loop, I see:

request_count{method="/details",response_code="200",service="details",source="productpage",target="details.mixer-test-607e9aced2ca45518457942eb8.svc.cluster.local",version="v1"} 6
request_count{method="/productpage",response_code="200",service="productpage",source="unknown",target="productpage.mixer-test-607e9aced2ca45518457942eb8.svc.cluster.local",version="v1"} 6
request_count{method="/ratings",response_code="200",service="ratings",source="reviews",target="ratings.mixer-test-607e9aced2ca45518457942eb8.svc.cluster.local",version="v1"} 4
request_count{method="/reviews",response_code="200",service="reviews",source="productpage",target="reviews.mixer-test-607e9aced2ca45518457942eb8.svc.cluster.local",version="v1"} 2
request_count{method="/reviews",response_code="200",service="reviews",source="productpage",target="reviews.mixer-test-607e9aced2ca45518457942eb8.svc.cluster.local",version="v2"} 2
request_count{method="/reviews",response_code="200",service="reviews",source="productpage",target="reviews.mixer-test-607e9aced2ca45518457942eb8.svc.cluster.local",version="v3"} 2

To translate, it looks like the 2 requests from reviews-v3 to ratings that should have FAILED_PRECONDITION show up in the Report()s to Mixer as successes.

@qiwzhang can you please help debug why the statuses are translated to 200s?

@douglas-reid
Copy link
Contributor

I've looked at TestRateLimit. I see RESOURCE_EXHAUSTEDs in the response codes:

request_count{method="/ratings",response_code="200",service="ratings",source="reviews",target="ratings.mixer-test-d93bb1944c63420c8db1c2e4fb.svc.cluster.local",version="v1"} 54
request_count{method="/ratings",response_code="429",service="ratings",source="reviews",target="ratings.mixer-test-d93bb1944c63420c8db1c2e4fb.svc.cluster.local",version="v1"} 43
request_count{method="/ratings",response_code="500",service="ratings",source="reviews",target="ratings.mixer-test-d93bb1944c63420c8db1c2e4fb.svc.cluster.local",version="v1"} 6

Not entirely sure what the difference is. I think we need a thorough regression review of the Report() mechanism from Envoy to Mixer.

@qiwzhang
Copy link
Contributor

qiwzhang commented Jun 8, 2017

Are you using check_cache? Did you set "check_cache_keys" in the envoy config?

@douglas-reid
Copy link
Contributor

All of these tests are with the default configuration for everything. As far as I know, the e2e tests don't explicitly set any non-default values.

You can check by starting up a test: $ tests/e2e.sh -test.run TestDenials --skip_cleanup.

@qiwzhang
Copy link
Contributor

qiwzhang commented Jun 8, 2017

I need to study this whole e2e test in order to debug it. It will be great if someone can help.

I have a integration test making sure error status from mixer are passed to client.

https://github.com/istio/proxy/blob/master/src/envoy/mixer/integration_test/failed_request_test.go#L147

@douglas-reid
Copy link
Contributor

the e2e test is how we validate releases. it uses the images as indicated in istio.VERSION. the particular test in question TestDenials sets up the bookinfo sample (samples/apps/bookinfo) in a test namespace and sends 6 requests to the productpage. 2 of those requests should result in 400s. We check that we get at least 1.

@ldemailly
Copy link
Contributor Author

ping - we shouldn't leave trunk broken for so long if at all possible

@qiwzhang
Copy link
Contributor

qiwzhang commented Jun 9, 2017

Can someone try with latest proxy/mixer build? It is easier to debug with latest proxy since I added debug log to print status from mixer. If still have problem, I will debug.

ldemailly added a commit that referenced this issue Jun 9, 2017
issue #365 : let's have the test run again to see if the debug added by @qiwzhang helps
@ldemailly
Copy link
Contributor Author

@qiwzhang let's see what jenkins shows on #400 with your new debug - but this should be easy to repro on your own env no ? (why not?)

@qiwzhang
Copy link
Contributor

qiwzhang commented Jun 9, 2017

In my own integration test with just proxy/mixer, I could not reproduce it.

In the mixer config, I added

    • kind: denials

Mixer did get 400

"logName":"access_log","labels":{"method":"GET","protocol":"http","responseCode":400,"responseSize":200,"timestamp":"2017-06-09T01:23:36.583137929Z","url":"/echo"},"textPayload":"- - - [09/Jun/2017:01:23:36 +0000] "GET /echo http" 400 200"}

@ldemailly
Copy link
Contributor Author

@qiwzhang
https://testing.istio.io/job/istio/job/presubmit/663/console
browser search for "FAIL: TestDenials"

do you see your additional info and does it help ?

@qiwzhang
Copy link
Contributor

qiwzhang commented Jun 9, 2017

It confirmed that it still fails with latest proxy. The Jenkins log did not have debug proxy log. Not sure how easy to capture mixer debug log and proxy debug log in this e2e test.

Otherwise, I have to manually run it to debug it.

@sebastienvas
Copy link
Contributor

We currently do not capture debug logs at the moment. I have an issue created for that. In the mean time can you run the thing manually ? Do you have minikube set up or a cluster that you can use ?

ldemailly added a commit that referenced this issue Jun 12, 2017
* reenable test

issue #365 : let's have the test run again to see if the debug added by @qiwzhang helps

* Trying a newer pilot/proxy
@douglas-reid
Copy link
Contributor

OK. We figured this out. We were stuck on a version of the client that, while supporting unary, did not use the response code from within the CheckResponse. This was patched in the very next PR on the same day. Unfortunately, that detail was very hard to tease out of all of the SHA deps.

@ldemailly
Copy link
Contributor Author

fixed in #400

rshriram pushed a commit that referenced this issue Oct 30, 2017
* Skip TestDenials

* Update format and linter to skip git files

* Using git ls-files instead of find

* Remove extra buildifier call


Former-commit-id: c15a192
rshriram pushed a commit that referenced this issue Oct 30, 2017
* reenable test

issue #365 : let's have the test run again to see if the debug added by @qiwzhang helps

* Trying a newer pilot/proxy


Former-commit-id: 89d5625
mandarjog pushed a commit that referenced this issue Oct 31, 2017
* Rbac ingress (#320)

* Add ingresses/status to rbac

* fix bash'ism (#325)

* fix bash'ism

we tell people to `curl -L https://git.io/getIstio | sh -` so we can't use bash extentions
I was getting [[ unknown command on line 12, fixing this

* also updating comment

* updateVersion.sh to not modify templates (#229)

* istio install templates

* fix copy

* fix temp var

* []byte values

* fix linter errors

* comment out unused ca vars

* gofmt kubernetes.go

* fix macros

* fix kubeTest.sh

* move istio-auth-with-cluster-ca.yaml out of templates dir (#334)

* fix broken link (#335)

* fixing #321 (#336)

fixing broken links

* Getting master ready for beta (#322)

0.1.x -> 0.2.x

* Add v1/stable version (#351)

* Add v1/stable version

* Start of a local development directory (#337)

* initial skeleton notes for local dev

* tweaks

* adding the rules.yaml for local dev and updating the scripts

* Fixing English typo

* Also start to address dev getting started

Issue #348

* incorporated most of my noogler notes

* Adding the sample quota

* adding note about -v=5

for debug/verbose output

* Code review comments

* typo fix


will follow up with moving most of mixer/dev/development.md into this

* Moving most of mixer/doc/dev/development.md here (#352)

* Moving most of mixer/doc/dev/development.md here

https://github.com/istio/mixer/blob/master/doc/dev/development.md to
here with updates to make it a bit more generic than just mixer

* Also move conventions.md and performance.md here

* Review comments

And linking the conventions and perf docs

* minor update

* Manager -> pilot rename (#359)

* Manager -> Pilot

 git ls-files | grep -v tests/e2e|grep -v bookinfo| xargs -n 1 sed -i
.bak -e 's/Manager/Pilot/g'

As tests/e2e and bookinfo have other Manager unrelated to pilot

* manager -> pilot

 git ls-files | grep -v tests/e2e|grep -v bookinfo| xargs -n 1 sed -i
.bak -e 's/manager/pilot/g'

* Manual changes in e2e

* MANAGER to PILOT

git ls-files | xargs -n 1 sed -i .bak -e 's/MANAGER/PILOT/g'

and manually excluding some

* Rename yaml file too

* Last few selective renames

Last piece, only remaining ‘manager’ are:
```
ldemailly-macbookpro:istio ldemailly$ git grep -i manager
samples/apps/bookinfo/src/reviews/reviews-wlpcfg/servers/LibertyProjectS
erver/server.xml:    <featureManager>
samples/apps/bookinfo/src/reviews/reviews-wlpcfg/servers/LibertyProjectS
erver/server.xml:    </featureManager>
tests/e2e/README.md:### appManager.go
tests/e2e/README.md:`appManager` gather apps required for test into a
array and deploy them while setup()
tests/e2e/framework/BUILD:        "appManager.go",
tests/e2e/framework/appManager.go:// AppManager organize and deploy apps
tests/e2e/framework/appManager.go:type AppManager struct {
tests/e2e/framework/appManager.go:// NewAppManager create a new
AppManager
tests/e2e/framework/appManager.go:func NewAppManager(tmpDir, namespace
string, istioctl *Istioctl) *AppManager {
tests/e2e/framework/appManager.go:      return &AppManager{
tests/e2e/framework/appManager.go:func (am *AppManager)
generateAppYaml(a *App) error {
tests/e2e/framework/appManager.go:func (am *AppManager) deploy(a *App)
error {
tests/e2e/framework/appManager.go:func (am *AppManager) Setup() error {
tests/e2e/framework/appManager.go:func (am *AppManager) Teardown()
error {
tests/e2e/framework/appManager.go:func (am *AppManager) AddApp(a *App) {
tests/e2e/framework/framework.go:
c.Cleanup.RegisterCleanable(c.Kube.AppManager)
tests/e2e/framework/kubernetes.go:      pilotHub =
flag.String("pilot_hub", os.Getenv(pilotHubEnvVar), "Manager hub")
tests/e2e/framework/kubernetes.go:      pilotTag =
flag.String("pilot_tag", os.Getenv(pilotTagEnvVar), "Manager tag")
tests/e2e/framework/kubernetes.go:              "manager",
tests/e2e/framework/kubernetes.go:      // App Manager
tests/e2e/framework/kubernetes.go:      AppManager *AppManager
tests/e2e/framework/kubernetes.go:      a := NewAppManager(tmpDir,
*namespace, i)
tests/e2e/framework/kubernetes.go:              AppManager:       a,
tests/e2e/framework/kubernetes.go:      case "manager":
tests/e2e/tests/bookinfo/demo_test.go:
tc.Kube.AppManager.AddApp(demoApp)
tests/e2e/tests/mixer/mixer_test.go:
tc.Kube.AppManager.AddApp(demoApp)
```

* Review comment

changed flag from m to p

* make linter happy bin/fmt.sh + review updates

* show in logs url being used (#360)

A bit more info in logs for when download fails

* Update images for Pilot & Unary (#361)

* Update image for Unary

* Fix forgotten renames

* Disabling failing test until #365 is fixed (#366)

* Skip TestDenials

* Update format and linter to skip git files

* Using git ls-files instead of find

* Remove extra buildifier call

* missed manager->pilot rename and use lowercase -c for ca image (#363)

* Make shell utility functions variadic (#377)

This simplifies usage a bit by not requiring user to call fmt.Sprintf
themselves.

* Re-enable TestDenials

* Revert "Update images for Pilot & Unary (#361)"

This reverts commit 6362d37 [formerly 2b210ac].

* Revert "Getting master ready for beta (#322)"

This reverts commit 52e8937 [formerly 910a025].

* Update to latest version of manager

Former-commit-id: 6a65da1
mandarjog pushed a commit that referenced this issue Nov 2, 2017
* Skip TestDenials

* Update format and linter to skip git files

* Using git ls-files instead of find

* Remove extra buildifier call


Former-commit-id: c15a192
mandarjog pushed a commit that referenced this issue Nov 2, 2017
* reenable test

issue #365 : let's have the test run again to see if the debug added by @qiwzhang helps

* Trying a newer pilot/proxy


Former-commit-id: 89d5625
guptasu pushed a commit to guptasu/istio that referenced this issue Jun 11, 2018
* Doc clarifications

* regenerate go files
howardjohn pushed a commit to howardjohn/istio that referenced this issue Jan 12, 2020
The verbs could be trimmed.  This is just a first pass to get things
moving.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

7 participants