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

awslimitchecker unable to find TrustedAdvisor checks #466

Closed
xRokco opened this issue May 7, 2020 · 8 comments
Closed

awslimitchecker unable to find TrustedAdvisor checks #466

xRokco opened this issue May 7, 2020 · 8 comments

Comments

@xRokco
Copy link

xRokco commented May 7, 2020

Bug Report

When reporting a bug in awslimitchecker, please provide all of the following information,
as well as any additional details that may be useful in reproducing or fixing
the issue:

Version

Python, 8.0.2

Installation Method

Using pip, with awslimitchecker in a requirement.txt file
pip install -r requirements.txt --target .

Supporting Software Versions

➜ python --version
Python 3.7.5

➜ virtualenv --version
16.7.9

Actual Output

awslimitchecker 8.0.2 is AGPL-licensed free software; all users have a right to the full source code of this version. See <https://github.com/jantman/awslimitchecker>
...
Querying Trusted Advisor checks
Unable to find check with category 'performance' and name 'Service Limits'.
Unable to find 'Service Limits' Trusted Advisor check; not using Trusted Advisor data.
Updating TA limits on all services

Expected Output

Looking at the code, the _get_limit_check_id() function in trustedadvisor.py seems to poll Trusted Advisor for its set of checks and then loop through it, looking for a check with category "performance" and name "Service Limits", but does not find any.

Doing some research into Trusted Advisor, I can see that there are five separate categories of checks in my account - Cost Optimization, Performance, Security, Fault Tolerance and Service Limits.

However, looking at how Trusted Advisor used to be laid out (at least many years ago) from this AWS blog post it appears that previously "Service Limits" fell under the "Performance" category, as the awslimitchecker code seems to indicate.

Perhaps I'm missing something but I don't seem to be able to find a way to use Trusted Advisor currently.

TrustedAdvisor

Business support

Testing Assistance

Yes

@jantman
Copy link
Owner

jantman commented May 7, 2020

@xRokco I'll look into this, thanks for reporting it.

What region are you running in? Unless you're in China or GovCloud, Trusted Advisor will provide no value whatsoever, as every limit that it supports is also provided by either Service Quotas or the individual service's own API. At this point the Trusted Advisor code really only exists to support users in GovCloud and China until those partitions catch up with Service Quotas (which, for all I know, may have happened already).

@xRokco
Copy link
Author

xRokco commented May 8, 2020

Yeah we're just in regular region (us-east-2, eu-west-1, etc).
So there is no longer any limits in these regions that are captured by Trusted Advisor that Service Quotas doesn't also capture? I was under the impression that Trusted Advisor checks were still done for a subset of limits but maybe I'm mistaken, if so, this isn't a bug and it can be ignored.

@jantman
Copy link
Owner

jantman commented May 8, 2020

@xRokco The Trusted Advisor checks are still done, but appear to essentially be ignored. Looking at the Supported Limits table in the docs, every limit outside of China and GovCloud (which still have the per-instance-size EC2 limits) that's reported by Trusted Advisor is also reported by either Service Quotas or the service's own API... and limit values from Service Quotas or API take precedence over Trusted Advisor.

So yeah, Trusted Advisor is not only not providing any additional data, but the data it does provide ends up getting ignored in normal regions.

I'm going to leave this issue open, though, as we should really be either not even attempting TA polling outside of China/Gov, or we should at least get rid of the now-midleading warning messages.

@skraga
Copy link

skraga commented Jun 2, 2020

Hi, we're using regular AWS and China AWS. Trusted Advisor support will be very good for us as Service Quotas isn't available in China and there are some checks that available via Trusted Advisor but not via Service API.

@jacobeatsspam
Copy link

jacobeatsspam commented Aug 6, 2020

@jantman I just went through a long rabbit hole with support (Enterprise) and can confirm that this check has been removed in February.

this notification is to inform you of three changes planned as of February 18,2020.

We plan to disable the combined "Service Limits" check with check ID "..." on February 18, 2020. After this time you will not be able to access this check via API, CLI or console.

  • We recommend discontinuing the use of the Service Limits check (check ID "..."). Instead, we recommend obtaining service limit data from the separate checks, per service, in the "service limit category" [5]. The checks in "service limit" category include all the information in the combined Service Limits check as well as 11 additional checks for improved coverage.
  • For EC2 service limits specifically, we recommend using the EC2 On Demand Instances Service Limit check (ID: "...") which now has support for vCPU limits.

@jantman
Copy link
Owner

jantman commented Aug 9, 2020

Thanks, @jacobisaliveandwell. Apologies for any confusion you encountered with this. I'll do my best to get this cleaned up soon.

jantman added a commit that referenced this issue Dec 1, 2020
Fixes #466 - Disable TA by default except in China and GovCloud
@jantman
Copy link
Owner

jantman commented Dec 1, 2020

This will be fixed (well, really, worked around) in the next release, by #505.

@jantman
Copy link
Owner

jantman commented Dec 2, 2020

A fix for this issue has been merged to the develop branch and is slated for release in 10.0.0 on Monday, December 7, 2020. Anyone who is able to test the fix is strongly encouraged to do so, and comment on this issue with their results. Instructions for installing awslimitchecker from a git branch are available in the Installing for Development documentation.

@jantman jantman closed this as completed in 7d84e81 Dec 7, 2020
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

4 participants