-
Notifications
You must be signed in to change notification settings - Fork 188
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
Switch to boto3? #95
Comments
We are transitioning all of our stuff from boto2 to boto3. Would recommend! |
See also the Migrating from boto 2.x guide |
Before merging:
|
…now that we have a pair of functions that we just pass an API name into
…ke_with_throttling_retries(); also remove the boto2 ResultSet pagination logic, trimming pagination down ot just dicts
…nd this commit for all accounts I have access to; boto3 conversion and connection refactor should be mostly complete
The tests on the latest commit for this failed. It turns out that the boto3/botocore code being called by So the boto3 provider.load_credentials() for the first provider in Travis appears to go to InstanceMetadataProvider.load(). This goes to So... I think the real question is that InstanceMetadataProvider seems to be either not loading/being loaded in my local test (on phoenix), or is somehow exiting before pytest-blockage catches the request??? The key appears to be here where So I think that what's going on here is, based on that list in that function, is that the instance metadata provider is never getting called locally. I should add some instrumentation to my local botocore code to confirm this. Another way around it might be that the docstring for Furthermore, am I sure that my function will even work without credentials? https://github.com/boto/boto3/blob/1.2.3/boto3/session.py#L26 does have a param to pass in a botocore session, instead of creating a new one. |
Ok, I reproduced the blockage failures locally. d'oh. I didn't move |
Ok, I fixed the InstanceMetadata one by creating the botocore session directly, and passing in a It looks like the simplest way to fix this is to export some bogus AWS credential environment vars, which will prevent any of the HTTP-firing credential providers from working. |
…n for awslimitchecker.tests.services.result_fixtures.get_boto3_resource_model(), if it can't find local credentials, fires off a HTTP request to the Instance Metadata service. See: #95 (comment)
Fix was merged in #119 |
boto3 is out and is where new development is supposedly happening, and is also the official AWS python SDK. Look into how difficult it would be to transition to using it.
The text was updated successfully, but these errors were encountered: