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

Streamline QuotaDescriptor. #35

Merged
merged 1 commit into from
Jan 31, 2017
Merged

Streamline QuotaDescriptor. #35

merged 1 commit into from
Jan 31, 2017

Conversation

geeknoid
Copy link
Contributor

This generalizes refresh windows and eliminates the API level distinction between allocation and rate quotas.

Allocated quota now just has an expiration period which determines when how long an allocation 'survives' until it is automatically freed. If you specify a expiration time of 0, then the quota is never freed.

This removes the notion of precise/imprecise quotas. That was just a leftover of how things are handled in GCP and isn't really an appropriate top-level concern.

PER_MINUTE_LIMIT = 2;
}
// The amount of time allocated quota remains valid before it is
// automatically released. If this is 0, then allocated quota is
Copy link
Contributor

Choose a reason for hiding this comment

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

Are we happy using 0 as opposed to a wrapped value?

@geeknoid
Copy link
Contributor Author

geeknoid commented Jan 31, 2017 via email

@louiscryan
Copy link
Contributor

louiscryan commented Jan 31, 2017 via email

@geeknoid
Copy link
Contributor Author

geeknoid commented Jan 31, 2017 via email

Copy link
Contributor

@mandarjog mandarjog left a comment

Choose a reason for hiding this comment

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

LGTM

@geeknoid geeknoid merged commit 7917b2d into istio:master Jan 31, 2017
incfly pushed a commit to incfly/api that referenced this pull request Jun 13, 2018
* Add golang echo backend sample

Add sample Go backend server so that nodejs version and dependency can
be removed. Go is likely already present on build system due to other
istio components usage.

* Remove nodejs echo backend
incfly pushed a commit to incfly/api that referenced this pull request Jun 13, 2018
nacx pushed a commit to nacx/api that referenced this pull request Apr 15, 2020
* Service Inventory gRPC server integration

- server main should to utilize cobra command-line
- Dockerfile to include "--server-name" param
- minor gRPC server fix: NewTracer could return nil io.Closer
- Jaeger ReporterConfig post endpoint should be CollectorEndpoint (instead of LocalAgentHostPort?)

* First-cut pilot xDS interface routines for obtaining service inventory
from Istio Pilot. Includes the following:

- Routine to Connect to pilot
- Send CDS/EDS streaming requests
- Receive and handle DiscoveryResponse responses
- Unmarshal clusters, and endpoints and print them
- Test routine for above steps

* Unmarshal CDS/EDS into Tetrate Service proto compatible

- Separate out unmarshal CDS & EDS streams; each of those return
  tetrate.Service protos to be used to populate DB
- Stitch Cluster/Endpoint fields into appropriate Service/Endpoint fields

* chaned pkg name and a fix in jaegar.go

* Service Inventory gRPC server integration

- server main should to utilize cobra command-line
- Dockerfile to include "--server-name" param
- minor gRPC server fix: NewTracer could return nil io.Closer
- Jaeger ReporterConfig post endpoint should be CollectorEndpoint (instead of LocalAgentHostPort?)

* minor changes to fix errors

* xDS CDS/EDS inventory with following further changes:

- Renamed pkg/client to pkg/xdsclient; package renamed to xdsclient
- Updated PLSQL file to update/insert services if not unique (occurs 2 times)
- cmd/test-data/main.go now includes psql.CreateService() for populating
  DB services, clusters, endpoints, etc.
- Minor fixes, compilation issues

* first cut of xdsclient

* Service Inventory/plsql change accommodating the following:

- Delete list of services; plsql routines and sql routines for same
- Makefile phony to include protos (force descriptor generation everytime)

* Fixed compilation issues in cmd/test-data

* Soft-delete service entries

- Mark service deleted using Service.Status field enum
- Update PLSQL delete_services() macro to update status field

* fixes after testing..

* Further updates to xDS client and DB interfacing:

- Integrate xdsclient code to server
- Invoke DB updates with appropriate context
- Added CreateServices([]Services)

* re-arranged calling Unmarshall, test function change

* First-cut pilot xDS interface routines for obtaining service inventory
from Istio Pilot. Includes the following:

- Routine to Connect to pilot
- Send CDS/EDS streaming requests
- Receive and handle DiscoveryResponse responses
- Unmarshal clusters, and endpoints and print them
- Test routine for above steps

* Unmarshal CDS/EDS into Tetrate Service proto compatible

- Separate out unmarshal CDS & EDS streams; each of those return
  tetrate.Service protos to be used to populate DB
- Stitch Cluster/Endpoint fields into appropriate Service/Endpoint fields

* chaned pkg name and a fix in jaegar.go

* minor changes to fix errors

* xDS CDS/EDS inventory with following further changes:

- Renamed pkg/client to pkg/xdsclient; package renamed to xdsclient
- Updated PLSQL file to update/insert services if not unique (occurs 2 times)
- cmd/test-data/main.go now includes psql.CreateService() for populating
  DB services, clusters, endpoints, etc.
- Minor fixes, compilation issues

* first cut of xdsclient

* Service Inventory/plsql change accommodating the following:

- Delete list of services; plsql routines and sql routines for same
- Makefile phony to include protos (force descriptor generation everytime)

* Fixed compilation issues in cmd/test-data

* fixes after testing..

* Further updates to xDS client and DB interfacing:

- Integrate xdsclient code to server
- Invoke DB updates with appropriate context
- Added CreateServices([]Services)

* re-arranged calling Unmarshall, test function change

* Service/cluster DB updates incorporating the following:

- Added cluster.name constraint for uniqueness required for ON CONFLICT updates
- PLSQL delete_services() macro to delete all services, if no services string provided
- Invoke delete prior to EDS updates

* Service/cluster DB updates incorporating the following:

- Added cluster.name constraint for uniqueness required for ON CONFLICT updates
- delete_services() DB macro to delete all services, if no services string provided
- Invoke delete prior to EDS updates

* Minor Updates to Service Inventory xDS interfaces

- Renamed pkg/xdsclient/xds_resp_unmarshall.go to xds_unmarshal.go
- enum types for CDS/EDS type URLs
- Removed unnecessary logs/prints in responses

* Multiple Istio Pilot interfaces (change istio#1):

Bring in grpc_server changes with appropriate command-line to
inventory-server; Updated interface to use array of pilot addresses

* Added :authority to work with VirtualService

* Handling array of pilots

* Addressed PR Comments, Moved xdsclient_test.go to different dir

* Service Inventory gRPC server integration (istio#35)

* Service Inventory gRPC server integration

- server main should to utilize cobra command-line
- Dockerfile to include "--server-name" param
- minor gRPC server fix: NewTracer could return nil io.Closer
- Jaeger ReporterConfig post endpoint should be CollectorEndpoint (instead of LocalAgentHostPort?)

* Moving "--server-name" flags to deployment from Dockerfile. Earlier
commits (4c45233) are still valid.

* Azure onboarding improvements (istio#50)

* Automatically onboard all subscriptions
* Better look for user emails
* Unified Makefiles

* Added onboarding APIs (istio#49)

* Added onboarding APIs
* Fetch service principals when fetching users
* API method to bind services to policies (groups)
* Basic import users and group implementation
* Better comments in proto files
* Added filtering capabilities to the onboarding interfaces

* Service Inventory with cached updates:

- Handling of multiple pilot addresses
- Common cached/incremental update framework
- cached DB updates to DB; Update services to do add/mod/del DB updates

* Minor fix to Gopkg.lock to use correct prometheus client_golang revision

* mTLS changes; UT changes

* removed certs and fixed errors in yaml

* Minor changes to cache infra

- Cache tests for add/mod/delete, list and delta updates
- Cache to use keyFunc instead of service-specific function; moving service key to plsql pkg

* Minor fixes to unit test, and earlier PR review comments; Use map to
gather list of locality zones sent to service

* mtls fixes and templatization

* minor fix

* UT fix

* changes to xdshandler to take a map

* Service Category improvement fixes addressing the following:

- Added cloud provider based on zone/locality
- header inclusions, and updated variables (post rebase)
- Gopkg fixes

* changed intermediary cert validity to 365 days - PR Comment

* Service Catalog PR fixes, and minor improvements:

- Addressed PR fixes except cache, SQL library for queries (will cover next)
- Ensure atleast one endpoint in identifying provider
- Using pkg/logs instead
- Use third_party/protobuf for proto compilation
- Added inventory.proto-descriptor to .gitignore

* Minor updates to Service Inventory in branch to enable correct compilation
packages; Updated tetrate.sql with (missed) merge changes from master

* move xdsclient_test.go to /test - PR comment

* Service Inventory improvement fixes addressing the following:

- Cache wrapper on top of istio cache supporting custom key/equal/deltas;
  moved cache to pkg/cache
- plsql/service.go now initializes a service-specific cache instance
  for local package operations
- Moved out service-related routines into plsql/service.go
- Replaced PLSQL macros calls with sql prepare tx context across insert/queries
- PLSQL tetrate.sql tables with correct primary keys/constraints
- fixed deployment yaml missing mount/secret stanzas (rebase merge issue)
- Addressed all other PR comments

* Ridding of istio constraints in Gopkg.toml; also CircleCI build fails resolving to 1.0.0

* Service Catalog improvements incorporating the following:

- Addressed all PR comments across packages
- Included bunch relevant unit tests
- Used errors.Wrap for annotated errors with stack trace, pkg/log, and t.log

* Addressing PR Comments by zack

* Fixed minor compilation issues post rebase to master

* Added UT tests for cache expiry/eviction, and cloud providers

* Minor compilation issues fixed post rebase to master

* Incorporated recent PR comments including the following:

- Endpoint now handles IPv4/v6 addresses
- Moved Service (ListServices), and Service binding routines into plsql/service.go
- Added log context to pkg/cache
- api/inventory/v1/Makefile won't force rebuilding of proto sources (make CircleCI happy)
- Included log/errors/debug specific to package as appropriate
- Fixes to golinter, imports, formatting & statement recommendations

Mirrored from https://github.com/tetrateio/tetrate @ 38397984da9b30a32eac5cb6fca59adba80ce578
nacx pushed a commit to nacx/api that referenced this pull request Feb 23, 2022
* use generic message instead of protobuf.Struct

Signed-off-by: Shriram Rajagopalan <[email protected]>

* undos

Signed-off-by: Shriram Rajagopalan <[email protected]>
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.

None yet

3 participants