Skip to content

Conversation

frankbu
Copy link
Contributor

@frankbu frankbu commented Sep 15, 2017

Release note:

New config model (breaking change). Migration instructions are [here](https://github.com/istio/istio/blob/release-0.2/samples/CONFIG-MIGRATION.md)

@istio-merge-robot
Copy link

[APPROVALNOTIFIER] This PR is NOT APPROVED

This pull-request has been approved by:
We suggest the following additional approver: ldemailly

Assign the PR to them by writing /assign @ldemailly in a comment when ready.

The full list of commands accepted by this bot can be found here.

Needs approval from an approver in each of these OWNERS Files:

You can indicate your approval by writing /approve in a comment
You can cancel your approval by writing /approve cancel in a comment

@rshriram
Copy link
Member

Merging as this is for just markdown file.

@rshriram rshriram merged commit 8ba82fb into master Sep 15, 2017
kubectl apply -f myrule.yaml
istioctl create -f myrule.yaml

or (for Kubernetes users):
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This is just confusing, kubectl will work for anything, and it is secure, by comparison with istioctl which is not.

@ldemailly ldemailly deleted the frankb-rules branch September 16, 2017 22:52
@ldemailly
Copy link
Member

ldemailly commented Sep 16, 2017

are there any changes to ingress, if so can we add them ?
(I'm personally still struggling with my test/app and ingress rewrite rule)

istio-merge-robot pushed a commit to istio/test-infra that referenced this pull request Oct 5, 2017
Automatic merge from submit-queue.

Add release-note collector

**Release note**:

```release-note
none
```

It's a binary to collect release-note from repos.

Example command: 
``` Bash
$ bazel-bin/toolbox/release_note_collector/release_note_collector --repos istio --previous_release 0.2.2 --current_release 0.2.4 --pr_link
```
And the release-note would be put into a local file, default is in current directory, named "<repo>.releasenote"

The example output is: 
```Bash
$ cat istio.releasenote
istio: istio -- 0.2.4 release note
Previous release version: 0.2.2
* Provide default Mixer configuration for prometheus metrics and stdio logs.  istio/istio#866
* test setup doc update  istio/istio#831
* New config model (breaking change). Migration instructions are [here](https://github.com/istio/istio/blob/release-0.2/samples/CONFIG-MIGRATION.md)  istio/istio#829
```
mandarjog pushed a commit to mandarjog/istio that referenced this pull request Oct 30, 2017
…ry (istio#829)

* Hand written generated code for sample template, registrar and registry

- Added a sample template for report case
- Added generated code (go and proto) for the sample template
- Added a sample noop2 adapter that implements processort for the sample template
- Added generated registrar code
- Added generated registry code

TODO I have checked in two pb.go files. Ideally just the proto file should be sufficient. I will update this PR once I figure out how to use go_proto_library properly and delete the checked in pb.go files under pkg/templates

* const out the template name and use full pkg name for generated code.

* Fix accidental removal of imports

* Add missing pb.go files.

* Name the imports in generated file. This is done so that goimports tool does not delete the imports.

* Refactor handler interface.

* Address comments from Martin.

* Add regex for gen.go files.

* Introduce a builder so that Adapters can be instantiated and configured atomically.

Adapters will register their builder, builder's Create method will be invoked by the Mixer to
instantiate the Adapter instance. The create method will take the adapter configuration.

* Chatted with mtail@ and refactored the Configuration code into the Builder interface.

This will allow us to make it explicit to the Adapter writer about what get's called during the configuration and what gets called during runtime.

The only piece that is not ideal is the Build method on the HandlerBuilder will return a base Handler object and there is not compile time mechanish to ensure that the returned Handler has all the template specific processor interfaces implemented (for all the templates that the Adapter registered itself for in the Register method).
So, to overcome that issue, Mixer will call Build and then do a runtime cast check on the returned Handler to ensure that the Handler has implemented all the required Processor interfaces.
If we want to avoid this runtime check and do a compile time check, it would mean we will need a separate New*TempalteName* on the HandlerBuilder. So the HandlerBuilder will have to implement NewMetric, NewQuota, NewLog etc. Which is fine, except with that patter adapter authors are more encouraged to pass us a new Handler for every New call. Ideally we just want one Handler that serves all the template specific Process calls.

* Remove close from Builder and move HandlerConfigure to Builde method.

* Made the registrar interface such that adapters are required to pass one builder and a list of templates they support.

Chatted with mtail@ on this. The idea is to enforce the adapter authors to provide one builder and one handler. Mixer code will decide how many instances it wants to create.

* Deleted all the checked in pb.go files.

* Getting rid of the script file.

Now things are building via the bazel rule and checked in .pb.go files are deleted, we no longer need this script file.

* Make linter happy

* Remove redundant file presense check in the bazel_to_go.py.

* Worked around the issue of having two pb.go files after running bazel_to_go.py

The issue was, we need to modify the pb.go files generated by go_proto_library to replace ValueType.ValueType_UNSPECIFIED to VALUETYPE_ValueType_VALUE_TYPE_UNSPECIFIED to VALUE_TYPE_UNSPECIFIED.
Once we do that there exists two .pb.go files (original and altered). Running bazel_to_go.py that copies .pb.go results into two almost identical files causing compile time issues.

Work around is to rename the altered files as .altered.pb.go and only symlink those files.

* Make DefaultConfig and ValidateConfig as a field on BuilderInfo.
Some renames and cleanup.

* Rename templates dir to template.

* address feedback


Former-commit-id: 34f52fc54c6630e8f90b93fce891d76aa361541f
rshriram pushed a commit that referenced this pull request Oct 30, 2017
mandarjog pushed a commit that referenced this pull request Oct 31, 2017
…ry (#829)

* Hand written generated code for sample template, registrar and registry

- Added a sample template for report case
- Added generated code (go and proto) for the sample template
- Added a sample noop2 adapter that implements processort for the sample template
- Added generated registrar code
- Added generated registry code

TODO I have checked in two pb.go files. Ideally just the proto file should be sufficient. I will update this PR once I figure out how to use go_proto_library properly and delete the checked in pb.go files under pkg/templates

* const out the template name and use full pkg name for generated code.

* Fix accidental removal of imports

* Add missing pb.go files.

* Name the imports in generated file. This is done so that goimports tool does not delete the imports.

* Refactor handler interface.

* Address comments from Martin.

* Add regex for gen.go files.

* Introduce a builder so that Adapters can be instantiated and configured atomically.

Adapters will register their builder, builder's Create method will be invoked by the Mixer to
instantiate the Adapter instance. The create method will take the adapter configuration.

* Chatted with mtail@ and refactored the Configuration code into the Builder interface.

This will allow us to make it explicit to the Adapter writer about what get's called during the configuration and what gets called during runtime.

The only piece that is not ideal is the Build method on the HandlerBuilder will return a base Handler object and there is not compile time mechanish to ensure that the returned Handler has all the template specific processor interfaces implemented (for all the templates that the Adapter registered itself for in the Register method).
So, to overcome that issue, Mixer will call Build and then do a runtime cast check on the returned Handler to ensure that the Handler has implemented all the required Processor interfaces.
If we want to avoid this runtime check and do a compile time check, it would mean we will need a separate New*TempalteName* on the HandlerBuilder. So the HandlerBuilder will have to implement NewMetric, NewQuota, NewLog etc. Which is fine, except with that patter adapter authors are more encouraged to pass us a new Handler for every New call. Ideally we just want one Handler that serves all the template specific Process calls.

* Remove close from Builder and move HandlerConfigure to Builde method.

* Made the registrar interface such that adapters are required to pass one builder and a list of templates they support.

Chatted with mtail@ on this. The idea is to enforce the adapter authors to provide one builder and one handler. Mixer code will decide how many instances it wants to create.

* Deleted all the checked in pb.go files.

* Getting rid of the script file.

Now things are building via the bazel rule and checked in .pb.go files are deleted, we no longer need this script file.

* Make linter happy

* Remove redundant file presense check in the bazel_to_go.py.

* Worked around the issue of having two pb.go files after running bazel_to_go.py

The issue was, we need to modify the pb.go files generated by go_proto_library to replace ValueType.ValueType_UNSPECIFIED to VALUETYPE_ValueType_VALUE_TYPE_UNSPECIFIED to VALUE_TYPE_UNSPECIFIED.
Once we do that there exists two .pb.go files (original and altered). Running bazel_to_go.py that copies .pb.go results into two almost identical files causing compile time issues.

Work around is to rename the altered files as .altered.pb.go and only symlink those files.

* Make DefaultConfig and ValidateConfig as a field on BuilderInfo.
Some renames and cleanup.

* Rename templates dir to template.

* address feedback


Former-commit-id: 4958f8b843ca6eb516dcadb37e925162cbde26b2
vbatts pushed a commit to vbatts/istio that referenced this pull request Oct 31, 2017
mandarjog pushed a commit that referenced this pull request Nov 2, 2017
ChristinaLyu0710-zz pushed a commit to ChristinaLyu0710-zz/istio-flakey-test that referenced this pull request Jun 11, 2019
Automatic merge from submit-queue.

Add release-note collector

**Release note**:

```release-note
none
```

It's a binary to collect release-note from repos.

Example command: 
``` Bash
$ bazel-bin/toolbox/release_note_collector/release_note_collector --repos istio --previous_release 0.2.2 --current_release 0.2.4 --pr_link
```
And the release-note would be put into a local file, default is in current directory, named "<repo>.releasenote"

The example output is: 
```Bash
$ cat istio.releasenote
istio: istio -- 0.2.4 release note
Previous release version: 0.2.2
* Provide default Mixer configuration for prometheus metrics and stdio logs.  istio/istio#866
* test setup doc update  istio/istio#831
* New config model (breaking change). Migration instructions are [here](https://github.com/istio/istio/blob/release-0.2/samples/CONFIG-MIGRATION.md)  istio/istio#829
```
0x01001011 pushed a commit to thedemodrive/istio that referenced this pull request Jul 16, 2020
istio#829)

* Add jwks to allow using public key directly in JWT policy.

Signed-off-by: Yangmin Zhu <ymzhu@google.com>

* do not use oneof

* fix build
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

Successfully merging this pull request may close these issues.

6 participants