standalone command to generate mixerclient config from openapi with g…#1
Closed
standalone command to generate mixerclient config from openapi with g…#1
Conversation
Owner
Author
|
FYI @manlinl |
Automatic merge from submit-queue. Support one handler for mulitple GCP services and fixes - Allow one handler handles multiple GCP services - Expand metric support - Minor fixes in reportBuilder
Automatic merge from submit-queue. Switch Mixer tracing package to use jaeger library. **What this PR does / why we need it**: This PR switches Mixer from using the openzipkin tracing library to the jaeger tracing library for tracing Mixer functions. This switch accomplishes a few key items: - Adds Mixer support for Jaeger backends - Removes the need for a custom fork of the OpenZipkin library - Adds better flag support for tracing control - Enables development of Jaeger adapter (library conflict with OpenZipkin library). It deprecates the `--traceOutput` flag and replaces it with several additional flags: - `zipkinURL`, - `jaegerURL` - `logTraceSpans` **Which issue this PR fixes** *(optional, in `fixes #<issue number>(, fixes #<issue_number>, ...)` format, will close that issue when PR gets merged)*: fixes # Fixes istio/old_mixer_repo#1352 **Special notes for your reviewer**: **Release note**: ```release-note Add Jaeger support to Mixer. ```
The CLI flags have been modified accordingly.
* pre-commit to run fmt.sh (gofmt / gosimple / buildifier) * rerun fmt.sh * add presubmit check for formatting * build goimports / buildifier on demand in fmt.sh * revert WORKSPACE change, it's actually unnecessary * refine fmt.sh a bit The previous code causes a failure because of set -e. * move fmt.sh position in presubmit * fix git errors * fix fmt.sh: it needs to be after init.sh, but want to ignore some files * add new formatting fix * exclude 'generated_files' change for failures
* added model/egress_rules.go - put egress rules helper functions there * fixed a typo * use string formatting instead string concatenation * use bytes.Buffer for effective string concatenation * minor error string formatting fix * remove a duplicated line
Automatic merge from submit-queue. trivial style fixes **What this PR does / why we need it**: **Which issue this PR fixes** *(optional, in `fixes #<issue number>(, fixes #<issue_number>, ...)` format, will close that issue when PR gets merged)*: fixes # **Special notes for your reviewer**: **Release note**: ```release-note none ```
Automatic merge from submit-queue. Support bazel 0.8.x rules_protobuf needs the update for 0.8 support. **What this PR does / why we need it**: **Which issue this PR fixes** *(optional, in `fixes #<issue number>(, fixes #<issue_number>, ...)` format, will close that issue when PR gets merged)*: fixes istio#1868 **Special notes for your reviewer**: **Release note**: ```release-note none ```
Automatic merge from submit-queue. Stop using span pools for Mixer tracing. **What this PR does / why we need it**: Turns span pooling off. Observing race conditions in post-submits related to spans. This will eliminate a potential source of those race conditions. Note: I have not been able to locally repro the span issues, but based on Mixer architecture and warnings surrounding `PoolSpans`, I believe this to be a likely source of the race. **Which issue this PR fixes** *(optional, in `fixes #<issue number>(, fixes #<issue_number>, ...)` format, will close that issue when PR gets merged)*: fixes # **Special notes for your reviewer**: **Release note**: ```release-note-none ```
* Test using default hub and tag * Rename flag to be more expanatory
…part2). (istio#1702) * Implement bootstraping code for submessage support inside templates.
…ory of the project (istio#1900) Automatic merge from submit-queue. move cross-cutting bazel defs out of //mixer and into the root directory This is the same as istio#1881; I didn't realize I made that change in my master branch, so when I brought master in line with istio/istio:master I overwrote the change/closed the PR. ```release-note NONE ```
Note this would mean the checked in .gen.go files and the checked in .pb.go files can go out of sync and will not be tested for correctness.
Automatic merge from submit-queue. dep ensure on cache miss in circleci Pin Istio/api and istio/fortio to particular SHAs in Gopkg.toml. Otherwise, builds in circleci will continue using old cached version of Gopkg.lock, which will prevent people from updating istio/api and applying the updates here.
* dep ensure on cache miss * key using Gopkg.toml * rm Gopkg.lock
Automatic merge from submit-queue. Expand metric support and fix linter issues
* update to latest refactoring of istio-api repo * proxyconfig->routing * update gopkg for circleci
Automatic merge from submit-queue. Fix population of version information Bazel only wants to look at tools/bazel.rc, but monorepo didn't move the indvidual repo's files to istio/tools/bazel.rc (which also requires unifying the differences in the files). Additionally, the linkstamp references weren't updated to the new library paths used in post-monorepo. Without this change the version info in "istioctl version" was empty (besides go verison), and after this change the version info is populated. I also removed files that were only used by cloud builder in 0.2. I thought these were already deleted to either I overlooked them or someone added them back. ```release-note NONE ```
Automatic merge from submit-queue. update proxy sha **What this PR does / why we need it**: Update the proxy sha to latest **Which issue this PR fixes** *(optional, in `fixes #<issue number>(, fixes #<issue_number>, ...)` format, will close that issue when PR gets merged)*: fixes # **Special notes for your reviewer**: **Release note**: ```release-note NONE ```
Automatic merge from submit-queue. Enable LRU cache for check call
* Fix linter errors. * format files. * Fix format. * Fix linters errors. * Fix linters errors. * Addressed some review comments. * Addressed some review comments. * Fiexed linter error.
…ongo, rebased. (istio#1913) * use ConvertCaseInsensitiveStringToProtocol instead of strings.ToUpper() * added using model.IsEgressRulesSupportedHTTPProtocol() function * added Mongo as a supported protocol * fixed format strings in error messages * added rejecting conflicting egress rules on the same port different protocols on the same port
* removed using redis_proxy for redis protocol * Revert "removed using redis_proxy for redis protocol" This reverts commit 03d0d45. * handle Redis protocol as TCP in buildTCPListener * update pilot/proxy/envoy/testdata according to disabled redis protocol
…tio#1861) * Add additional install method via Google Cloud Deployment Manager See install/gcp/deployment_manager/README.md for instructions. * Add more description details * Swap order of cd/checkout * Update version to 0.3.0
Automatic merge from submit-queue. Circonus metrics adapter **What this PR does / why we need it**: This PR adds a metrics adapter for Circonus, similar to the Prometheus and Statsd adapters. It draws from my previous PR for the 0.1 based metrics implementation - this has been updated to use the new handler structure. It uses the `ScheduleWork()` call per the adapter development guide to schedule flushes to Circonus. The tests are fashioned after the existing adapter tests. I implemented a version using `testenv`, but I wasn't able to access the adapter. It looks like it is possible, but will require a bit more understanding on my part, and possible additional test methods. I've verified that the adapter works as advertised both in mixc client environment as well as with the BookInfo sample in GKE. I included a sample operator config - I didn't see that with the additional adapters, but think it will be useful to the end user. Please let me know how this looks, any suggestions are welcome. **Which issue this PR fixes** *(optional, in `fixes #<issue number>(, fixes #<issue_number>, ...)` format, will close that issue when PR gets merged)*: fixes # **Special notes for your reviewer**: Unit tests don't need an http trap submission url, a fake one is part of the testdata config. **Release note**: ```This change introduces a metrics adapter for Circonus metrics collection.```
Automatic merge from submit-queue. Authz template sub messages **What this PR does / why we need it**: We need a authorization template for mixer adapters **Which issue this PR fixes** *(optional, in `fixes #<issue number>(, fixes #<issue_number>, ...)` format, will close that issue when PR gets merged)*: fixes # **Special notes for your reviewer**: authz template has sub messages **Release note**: ```release-note Authorization adapter template. Any authorization module needs to answer the question: Is a “subject” allowed to do an “action”. ```
* Apa Template bootstrap codegen. It does the generation of instances that are dispatched to APA adapters and also generates new attributes from the response of the adapter. This PR finishes the APA support in Mixer. Next: - Change the Kubernetes adapter to use the new model. - Finally cleanup the old model. * make linter happy * Add test for []byte inside templates. * make linter happy
* add simple identity registry and registry-based authorizer * small fix
ayj
added a commit
that referenced
this pull request
Dec 5, 2017
* s/sh/bash * remove `function` keyword
GKE 1.8.x is required to enable webhook config validation in e2e tests.
Automatic merge from submit-queue. Upgrade the istio/api version in istio/istio **What this PR does / why we need it**: upgrade the version of Istio/api inside istio/istio **Which issue this PR fixes** *(optional, in `fixes #<issue number>(, fixes #<issue_number>, ...)` format, will close that issue when PR gets merged)*: fixes # **Special notes for your reviewer**: **Release note**: ```release-note none ```
Automatic merge from submit-queue. Integration framework improvement **What this PR does / why we need it**: Some improvements based on the prototype before. **Which issue this PR fixes** *(optional, in `fixes #<issue number>(, fixes #<issue_number>, ...)` format, will close that issue when PR gets merged)*: fixes # **Special notes for your reviewer**: **Release note**: ```release-note none ``` 1. Introduce common components and env 2. Introduce entry script 3. Add flags instead of hardcoded binary path. Also include a doc about steps to adding tests: https://goo.gl/fej8qb For design and concept, please refer https://goo.gl/1zE5Rq Will create a github README page after this PR merged. For now, you can checkout my branch and run tests/integration/integration.sh on a machine where you can run envoy binary. /cc @wattli @mandarjog @douglas-reid
Pilot validation webhooks can be enable on GKE >= 1.8 now that kubernetes/kubernetes#49987 is fixed. Add config validation webhook to Pilot e2e tests and enable by default. The following changes are made as part of this PR: * Rename external-admission-webhook-gke-1-7-x-workaround.sh to generate-webhook-cert.sh and refactor to use cfssl and k8s API to generate and sign webhook certificate with k8s CA. * Refactored pilot and e2e test defaults to use `istio-pilot` instead of `istio-pilot-external` load balancer service workaround. The k8s api-server will invoke the istio-pilot's webhook service directly to validate config. * Added test code to generate self-signed CA and signed server cert/key. This enables validation webhook in automated e2e testing.
…consul and Eurkea demos (istio#1998) Automatic merge from submit-queue. re-add kubeconfig to the create_release_archive script. Required for… … consul and Eurkea demos **What this PR does / why we need it**: `kubeconfig` was not added to the `find` and so the kubeconfig file in install/consul and install/eureka is not getting added to the release. **Which issue this PR fixes** *(optional, in `fixes #<issue number>(, fixes #<issue_number>, ...)` format, will close that issue when PR gets merged)*: fixes # Issue istio#1995 **Special notes for your reviewer**: **Release note**: ```release-note NONE ```
Automatic merge from submit-queue.
Avoid using StringTable for runtime data.
**What this PR does / why we need it**:
This fixes an issue in the evaluator that causes runtime strings to be captured in the strings table. With this fix:
- The strings are stored in heap, similar to other interface{} objects.
- The comparisons are performed using regular string comparison.
- The size-based expression cache eviction algorithm (& its parameter) is removed.
- Renamed the method on StringTable from GetID => Add for clarity.
**Which issue this PR fixes** *(optional, in `fixes #<issue number>(, fixes #<issue_number>, ...)` format, will close that issue when PR gets merged)*: fixes #
fixes istio#1369
**Special notes for your reviewer**:
This will most likely conflict with the pkg/server change. I'll wait until that one lands, before checking this in.
**Release note**:
```release-note NONE
```
* del git checkout on removed lintconfig.json * initial set * make keyfile optional * add enc suffix * disable docker * consistent path * fix var name * fix var name * try compression * add istioctl/ to create_release_archives * fix proxy deb * add mfest subs * fix var name * fix log msg * add clarifying comments * fix template name * add mfest subs * compressed tar fix * made gcr/docker consistent about hostname * copy xml on github rel * add header * simplify * simplify * fixheader * enable docker * add .enc to default name * use cat rather than echo, add --retry 3 to some curl calls * del -release suffix on deb * allow disbling of docker w/o code change * switch version file ref * add to BUILD.bazel
…template). (istio#1993) * Use standard types in templates. * Make linter happy * Fix template.md documentation.
ayj
pushed a commit
that referenced
this pull request
Apr 23, 2018
* Vendor changes adding Informers and Listers * Secret Controller code * Linter detected issues * Vendor update related sha change * Adding final bits to the controller * Fixing controller startup code * Adding required RBAC rules to watch for secrets * Refactor Cluster Store initialization place * Fixing Unit test failure * Fixing Unit test failure * Addressing comments part #1 * Fixing Unit test * Switching to different type of Informer * Add create k8s_cr.Cluster object * Fixing if statement * Fixing lint error * Cosmetic changes * Fixing lint error
ayj
added a commit
that referenced
this pull request
Jun 23, 2018
* # This is a combination of 5 commits. # This is the 1st commit message: update istio.io/api for new mcp definitions # This is the commit message #1: update mcp server # This is the commit message #2: update snapshot package # This is the commit message #3: use mcp service in galley/pkg/server # This is the commit message #4: fix linter * update istio.io/api for new mcp definitions update the latest mcp service definitions from istio.io/api * fix linter error (again?)
ayj
pushed a commit
that referenced
this pull request
Aug 14, 2018
* [test-framework] Design sketch for test framework. * [test-framework] Reorgnanization and linter fixes (istio#5128) * [test-framework] Adding pilot test showcase (doesn't build) * [test-framework] Adding mixer test showcase (doesn't build) * [test-framework] Get the code to build. * [test-framework] Cleanup the dependency model. (istio#5212) * Cleanup the dependency model. + Colocate all (current) dependencies. + Tighten the Dependency interface. + Introduce internal.Stateful to reduce the surface area of Dependency. * Cleanup and linter fixes. * [test-framework] Adding basic cluster app (istio#5257) * [test-framework] Adding cluster App creation (istio#5342) * [test-framework] Add example to simple showcase test (istio#5369) * add new changes to simple showcase test * Fix typo * [test-framework] Rationalize FortioApp model. (#1) (istio#5452) * Rationalize FortioApp model. - GetFortioApp returns a single instance of DeployedFortioApp and error. It uses a name pick the app directly, similar to the GetApp model. - Add *OrFail overload, similar to GetApp case. - Add GetFortioApps which has a label selector, and returns an array of deployed apps. * More cleanup of the Fortio code and get the code to compile. * [test-framework] First pass cleanup of the model (#2) (istio#5451) * First pass cleanup of the model: - Add CallOrFail to DeployedApp for expedient test authoring. - Replace the Mixer mock adapter with a mock PolicyBackend. This is much easier to manage from a testing standpoint. - Remove label based custom logic. Labels are used for filtering only. - Align Mixer showcase test with the Pilot app model. This way, we can author Mixer integrations tests by applying configuration and controlling app/Mixer backend behavior. * Accommodate CR feedback. * [test-framework] Remove charts/DeployedIstioComponent and Environment cleanup (istio#5474) * Remove charts and DeployedIstioComponent. * Cleanup the Environment interface and enforce methods in local and cluster implementations. * [test-framework] Refactor the driver interface and implementation. (istio#5475) * [test-framework] Cleaning up App API to simplify URL construction (istio#5487) * [test-framework] API and command-line cleanup. (istio#5510) * Improve the command-line handling and remove ApiServer & Helm code. * - Check double-run in driver.Interface.Run(). - Add support for suite level dependency processing. - Use scoped logs in the driver. * [test-framework] Add internal interface for the environment (istio#5523) * Minor improvements to environment & dependency interfaces. * Add internal environment interfaces. * Fix formatting and some linter issues. * [test-framework] Adding bootstrap for local Envoy and Pilot App (istio#5513) * [test-framework] Add health check to local envoy agent at startup (istio#5551) Also fixing a bug in the envoy yaml template that was preventing the configuration of multiple ports to a single instance. Expanded the test to cover this. * [test-framework] Switch from testing.T => testing.TB and uniformize *OrFail. (istio#5716) * [test-framework] Further rationalize driver model. (istio#5742) * Further rationalize driver model. - Extract out a "Context" to be used internally within the testing code. This is mainly useful to break cyclic dependency between the environment and the driver code. - Cleanup the logging code: Most of the code here is not needed anymore: as the standard set of logging flags already take care of writing logs to well known locations - Similarly, tmp code can be cleaned up now, to mainly focus on per-component state storage. Moved the code within driver folder to reduce fragmentation. * Move the GetEnvironment method from the driver interface to Context. The move allows us to use context object as the single handle to pass through the rest of the test-framework stack. * Minor naming fix. * [test-framework] Revamp the internal machinery of the test framework. (istio#5804) - Simplify the dependency model. Instead of dependencies having logic, they simply are enums. - Rename GetEnvironment to AcquireEnvironment and change semantics to at most one per test. With this model, we can reset the internal state of dependencies during the acquisition of the environment. - Implement a loose object model that opt-in to test framework services through interface implementation. The three services that can be opt-in to are: receiving user supplied configuration, cleanup, and reset with every environment acquisition. - Implement a resource tracker for supplying these services. - Switch to a common, internal environment interface, as opposed to environment specific internal interfaces. This switches the dispatch model so that environments are inherently aware of how each dependency work, rather than dependencies adjusting themselves for each environment. In effect, the internal structure of the code should be simplified. - Use os.TempDir() as the default workdir. - Fix formatting of help output. - Switch internal.TestContext interface to be a struct to reduce code clutter. * [test-framework] Implement Mixer related infrastructure for local environment. (istio#5805) * Add local-Mixer infrastructure and implement a basic test to cover. * Accommodate CR feedback. * Separate out the settings. * [test-framework] Adding local pilot (istio#6077) * [test-framework] Add cluster support to the test framework. (istio#6179) * Add cluster support to the test framework. * CR feedback. * Minor linter fixes. * [test-framework] Integrating local Pilot and Envoy (istio#6332) - Updated configuration of Envoy to use discovery v2 API on Pilot - Adding a discovery proxy to allow interception of responses from Pilot. This will provide the ability to modify the Envoy configs to support local testing. - Updated the agent test to incorporate a local pilot. Also starting to hash out how to determine whether or not an Envoy has received a configuration update. * [test-framework] Refactoring pilot test application (istio#6489) Simplifying the structure to make the code more readable and to make it better fit in with the application model of the new local agent. * [test-framework] A few fixes for local envoy code (istio#6537) * [test-framework] More robust port reservation (istio#6736) This PR reserves a block of ports, so that future attempts to pick a port will not collide with previous attempts. * [test-framework] Add control RPC to test service (istio#6737) The RPC allows us to simulate in-mesh traffic from one service to another. Creating a copy of the pilot test service under pkg/test. This is a more appropriate home for the code and also avoids changing the rest of the code that depends on the old service. * [test-framework] Support local in-mesh traffic (istio#6743) There are a lot of changes here that are interrelated. Here's the summary. 1) Adds concept of a protocol client, which is used to intercept outbound URLs. The interception is performed by the proxy which modifies the URL host:port so that an outbound call from service A to B will first go through service A's Envoy proxy. 2) Moved the discovery response filtering logic into the application proxy, since the additional logic requires state from the proxy. 3) Updated the discovery filtering logic to intercept the outbound listeners created by Pilot to enable communication with other services (e.g. so A can talk to B). Pilot uses virtual listeners which are not actually bound to a port (since outbound traffic would typically be redirected to 15001 in a cluster configuration). The updated logic modifies these listeners by assigning a newly reserved port and forcing the listener to bind to that port. The new port is then stored in a port map, which is used to modify the URLs on outbound traffic from the application. * [test-framework] Remove tagging/label support. (istio#6975) * Remove tagging/label support. * remove ignore * [test-framework] Add API Server support. (istio#7276) * [test-framework] APIServer + Galley tests (istio#7277) * [test-framework] Code cleanup: Move and simplify the core driver code. (istio#7286) * Refactor the core driver code: + Created test/framework/ as the namespace of the internal/implementation of the test framework. + Moved the top-level driver code to test/framework/driver + Simplified the code at the pkg/test level, leaving only framework.go for top-level test framework operations. + Simplified code in framework.go to simply redirect to the driver. * More code move: + Created framework/environments and moveed cluster & local there. + Renamed cluster to kubernetes. + Moved test/internal to test/framework/internal. + Moved test/tmpl to test/framework/tml. Also renamed environment.Interface to framework.Environment. * More shuffling: + Moved test/dependency =? test/framework/dependency. + Moved framework/environment.go => framework/environment/environment.go This is needed to break the dependency cycle. + Moved environment variable flags, args code to framework/settings. + Moved test/framework(formerly operations.go) to test/api.go. + Moved driver code from framework/driver/... to framework/ * Fix the mutex error. * Rename construct => new * [test-framework] Support non-HTTP ports in local agent (istio#7419) Also doing some other cleanup and build fixes. * [test-framework] Componentize the test framework. (istio#7344) * Refactor and componentize the test-framework. * Accommodate CR feedback. * [test-framework] Move pilot to components. (istio#7515) * [test-framework] Some minor cleanup for pilot component (istio#7536) * [test-framework] Adding support for component dependencies (istio#7598) - Added Component interface, which is now implemented by all components - Separate component registries for local and kubernetes - Updated the dependency Tracker to initialize all dependencies of a component before initializing the component, itself. * [test-framework] Integrating test apps into framework (istio#7628) * [test-framework] Updating jsonpb dependency * [test-framework] fixing linter errors in generated files Needed to rename the files so they'd be ignored. * [test-framework] Removing t.Skip calls in unit tests. * [test-framework] removing accidental edit
ayj
pushed a commit
that referenced
this pull request
Aug 15, 2018
* Implement mTLS functionality in MCP. Add utility code to load&watch certificates and build a TransportCredentials object. Add an authenticaton check mechanism to admit/fail incoming streams. Add a basic list-based implementation for authentication check. Move test certificates from galley/validator folder to pkg/mcp/testing. * Accommodate CR comments #1
ayj
pushed a commit
that referenced
this pull request
Dec 19, 2018
* Move Galley validation integration test to its own folder. * Introduce Galley conversion integration tests. - Implement a conversion test based on an input-output golden file model that tests Galley's MCP output, based on K8s resource inputs in YAML form. - Make Galley Server restartable. This is done by making the event registration restartable as well. - Add a new local-only Galley component in the new test framework. - Fix Makefile issue that causes test.integration.* targets to shadow test.integration.*.kube targets. - Introduce an in-memory mcp/client/Updater implementation for testing. * Cleanup. * make format * Fix lint issues. * Add missing close method. * Try to appease Lint gods. * One more sacrifice. * Accommodate CR comments. * Try to fix linter problem #1. * linter fixes. * "Fix" lint issue. * "Fix" lint issue.
ayj
pushed a commit
that referenced
this pull request
Apr 1, 2019
* Unblock ip6 tables to allow ipv6 traffic Signed-off-by: Serguei Bezverkhi <sbezverk@cisco.com> * Enable ip6tables when hostname return ipv6 address Signed-off-by: Serguei Bezverkhi <sbezverk@cisco.com> * fix syntax error in istio-iptables.sh Signed-off-by: Serguei Bezverkhi <sbezverk@cisco.com> * fix logic error in istio-iptables.sh Signed-off-by: Serguei Bezverkhi <sbezverk@cisco.com> * fix another logic error Signed-off-by: Serguei Bezverkhi <sbezverk@cisco.com> * debug #1 Signed-off-by: Serguei Bezverkhi <sbezverk@cisco.com> * Reverting debug related changes Signed-off-by: Serguei Bezverkhi <sbezverk@cisco.com>
ayj
pushed a commit
that referenced
this pull request
Jul 23, 2019
* Fixing iptabes ranges Signed-off-by: Serguei Bezverkhi <sbezverk@cisco.com> * fix shellcheck errors Signed-off-by: Serguei Bezverkhi <sbezverk@cisco.com> * fixing ci failures #1 Signed-off-by: Serguei Bezverkhi <sbezverk@cisco.com> * fixing ci failures #2 Signed-off-by: Serguei Bezverkhi <sbezverk@cisco.com> * fixing ci failures #3 Signed-off-by: Serguei Bezverkhi <sbezverk@cisco.com> * Addressing comments Signed-off-by: Serguei Bezverkhi <sbezverk@cisco.com>
ayj
pushed a commit
that referenced
this pull request
Jan 13, 2020
Adapt istio-installer after testing
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
No description provided.