Drop awscli dependency (#9459)

Fixes https://github.com/certbot/certbot/issues/9458.

* update readme

* drop awscli

Co-authored-by: ohemorange <ebportnoy@gmail.com>
This commit is contained in:
Brad Warren
2022-11-16 17:10:18 -08:00
committed by GitHub
co-authored by ohemorange
parent 455f9a0d6c
commit 652d5e96be
4 changed files with 23 additions and 48 deletions
+9 -21
View File
@@ -19,16 +19,16 @@ This package is installed in the Certbot development environment that is
created by following the instructions at created by following the instructions at
https://certbot.eff.org/docs/contributing.html#running-a-local-copy-of-the-client. https://certbot.eff.org/docs/contributing.html#running-a-local-copy-of-the-client.
After activating that virtual environment, you can then configure AWS These tests use the AWS SDK for Python (boto3) to manipulate EC2 instances.
credentials and create a key by running: Before running the tests, you'll need to set up credentials by following the
``` instructions at
>aws configure --profile <profile name> https://boto3.amazonaws.com/v1/documentation/api/latest/guide/quickstart.html#configuration.
[interactive: enter secrets for IAM role] You will also want to create a `~/.aws/config` file setting the region for your
>aws ec2 create-key-pair --profile <profile name> --key-name <key name> --query 'KeyMaterial' --output text > whatever/path/you/want.pem profile to `us-east-1`, following the instructions in the boto3 quickstart guide above.
```
Note: whatever you pick for `<key name>` will be shown to other users with AWS access.
When prompted for a default region name, enter: `us-east-1`. Lastly, you will want to create a file on your system containing a trusted SSH key
by following the instructions at
https://docs.aws.amazon.com/AWSEC2/latest/UserGuide/create-key-pairs.html.
## Usage ## Usage
To run tests, activate the virtual environment you created above and from this directory run: To run tests, activate the virtual environment you created above and from this directory run:
@@ -36,18 +36,6 @@ To run tests, activate the virtual environment you created above and from this d
>letstest targets/targets.yaml /path/to/your/key.pem <profile name> scripts/<test to run> >letstest targets/targets.yaml /path/to/your/key.pem <profile name> scripts/<test to run>
``` ```
You can only run up to two tests at once. The following error is often indicative of there being too many AWS instances running on our account:
```
NameError: name 'instances' is not defined
```
If you see this, you can run the following command to shut down all running instances:
```
aws ec2 terminate-instances --profile <profile name> --instance-ids $(aws ec2 describe-instances --profile <profile name> | grep <key name> | cut -f8)
```
It will take a minute for these instances to shut down and become available again. Running this will invalidate any in progress tests.
A temporary directory whose name is output by the tests is also created with a log file from each instance of the test and a file named "results" containing the output above. A temporary directory whose name is output by the tests is also created with a log file from each instance of the test and a file named "results" containing the output above.
The tests take quite a while to run. The tests take quite a while to run.
-4
View File
@@ -27,10 +27,6 @@ setup(
packages=find_packages(), packages=find_packages(),
include_package_data=True, include_package_data=True,
install_requires=[ install_requires=[
# awscli isn't required by the tests themselves, but it is a useful
# tool to have when using these tests to generate keys and control
# running instances so the dependency is declared here for convenience.
'awscli',
'boto3', 'boto3',
'botocore', 'botocore',
# The API from Fabric 2.0+ is used instead of the 1.0 API. # The API from Fabric 2.0+ is used instead of the 1.0 API.
-8
View File
@@ -35,14 +35,6 @@ letstest = {path = "../../../letstest"}
windows-installer = {path = "../../../windows-installer"} windows-installer = {path = "../../../windows-installer"}
# Extra dependencies # Extra dependencies
# awscli is just listed here as a performance optimization. As of writing this,
# there are some conflicts in shared dependencies between it and other packages
# we depend on. To try and resolve them, poetry searches through older versions
# of awscli to see if that resolves the conflict, but there are over 1000
# versions of awscli on PyPI so this process takes too long. Providing a high
# minimum version here prevents poetry from searching this path and it fairly
# quickly resolves the dependency conflict in another way.
awscli = ">=1.22.76"
# As of writing this, cython is a build dependency of pyyaml. Since there # As of writing this, cython is a build dependency of pyyaml. Since there
# doesn't appear to be a good way to automatically track down and pin build # doesn't appear to be a good way to automatically track down and pin build
# dependencies in Python (see # dependencies in Python (see
+14 -15
View File
@@ -10,7 +10,6 @@ apacheconfig==0.3.2 ; python_version >= "3.7" and python_version < "4.0"
appnope==0.1.3 ; python_version >= "3.7" and python_version < "4.0" and sys_platform == "darwin" appnope==0.1.3 ; python_version >= "3.7" and python_version < "4.0" and sys_platform == "darwin"
astroid==2.11.7 ; python_version >= "3.7" and python_version < "4.0" astroid==2.11.7 ; python_version >= "3.7" and python_version < "4.0"
attrs==22.1.0 ; python_version >= "3.7" and python_version < "4.0" attrs==22.1.0 ; python_version >= "3.7" and python_version < "4.0"
awscli==1.27.7 ; python_version >= "3.7" and python_version < "4.0"
azure-devops==6.0.0b4 ; python_version >= "3.7" and python_version < "4.0" azure-devops==6.0.0b4 ; python_version >= "3.7" and python_version < "4.0"
babel==2.11.0 ; python_version >= "3.7" and python_version < "4.0" babel==2.11.0 ; python_version >= "3.7" and python_version < "4.0"
backcall==0.2.0 ; python_version >= "3.7" and python_version < "4.0" backcall==0.2.0 ; python_version >= "3.7" and python_version < "4.0"
@@ -18,8 +17,8 @@ backports-cached-property==1.0.2 ; python_version >= "3.7" and python_version <
bcrypt==4.0.1 ; python_version >= "3.7" and python_version < "4.0" bcrypt==4.0.1 ; python_version >= "3.7" and python_version < "4.0"
beautifulsoup4==4.11.1 ; python_version >= "3.7" and python_version < "4.0" beautifulsoup4==4.11.1 ; python_version >= "3.7" and python_version < "4.0"
bleach==5.0.1 ; python_version >= "3.7" and python_version < "4.0" bleach==5.0.1 ; python_version >= "3.7" and python_version < "4.0"
boto3==1.26.7 ; python_version >= "3.7" and python_version < "4.0" boto3==1.26.8 ; python_version >= "3.7" and python_version < "4.0"
botocore==1.29.7 ; python_version >= "3.7" and python_version < "4.0" botocore==1.29.8 ; python_version >= "3.7" and python_version < "4.0"
cachecontrol==0.12.11 ; python_version >= "3.7" and python_version < "4.0" cachecontrol==0.12.11 ; python_version >= "3.7" and python_version < "4.0"
cachetools==5.2.0 ; python_version >= "3.7" and python_version < "4.0" cachetools==5.2.0 ; python_version >= "3.7" and python_version < "4.0"
cachy==0.3.0 ; python_version >= "3.7" and python_version < "4.0" cachy==0.3.0 ; python_version >= "3.7" and python_version < "4.0"
@@ -28,7 +27,7 @@ cffi==1.15.1 ; python_version >= "3.7" and python_version < "4.0"
charset-normalizer==2.1.1 ; python_version >= "3.7" and python_version < "4" charset-normalizer==2.1.1 ; python_version >= "3.7" and python_version < "4"
cleo==1.0.0a5 ; python_version >= "3.7" and python_version < "4.0" cleo==1.0.0a5 ; python_version >= "3.7" and python_version < "4.0"
cloudflare==2.10.4 ; python_version >= "3.7" and python_version < "4.0" cloudflare==2.10.4 ; python_version >= "3.7" and python_version < "4.0"
colorama==0.4.4 ; python_version >= "3.7" and python_version < "4.0" colorama==0.4.6 ; python_version >= "3.7" and python_version < "4.0" and sys_platform == "win32" or python_version >= "3.7" and python_version < "4.0" and platform_system == "Windows"
commonmark==0.9.1 ; python_version >= "3.7" and python_version < "4.0" commonmark==0.9.1 ; python_version >= "3.7" and python_version < "4.0"
configargparse==1.5.3 ; python_version >= "3.7" and python_version < "4.0" configargparse==1.5.3 ; python_version >= "3.7" and python_version < "4.0"
configobj==5.0.6 ; python_version >= "3.7" and python_version < "4.0" configobj==5.0.6 ; python_version >= "3.7" and python_version < "4.0"
@@ -42,9 +41,9 @@ distlib==0.3.6 ; python_version >= "3.7" and python_version < "4.0"
distro==1.8.0 ; python_version >= "3.7" and python_version < "4.0" distro==1.8.0 ; python_version >= "3.7" and python_version < "4.0"
dns-lexicon==3.11.7 ; python_version >= "3.7" and python_version < "4.0" dns-lexicon==3.11.7 ; python_version >= "3.7" and python_version < "4.0"
dnspython==2.2.1 ; python_version >= "3.7" and python_version < "4.0" dnspython==2.2.1 ; python_version >= "3.7" and python_version < "4.0"
docutils==0.16 ; python_version >= "3.7" and python_version < "4.0" docutils==0.17.1 ; python_version >= "3.7" and python_version < "4.0"
dulwich==0.20.50 ; python_version >= "3.7" and python_version < "4.0" dulwich==0.20.50 ; python_version >= "3.7" and python_version < "4.0"
exceptiongroup==1.0.1 ; python_version >= "3.7" and python_version < "3.11" exceptiongroup==1.0.2 ; python_version >= "3.7" and python_version < "3.11"
execnet==1.9.0 ; python_version >= "3.7" and python_version < "4.0" execnet==1.9.0 ; python_version >= "3.7" and python_version < "4.0"
fabric==2.7.1 ; python_version >= "3.7" and python_version < "4.0" fabric==2.7.1 ; python_version >= "3.7" and python_version < "4.0"
filelock==3.8.0 ; python_version >= "3.7" and python_version < "4.0" filelock==3.8.0 ; python_version >= "3.7" and python_version < "4.0"
@@ -84,7 +83,7 @@ more-itertools==9.0.0 ; python_version >= "3.7" and python_version < "4.0"
msgpack==1.0.4 ; python_version >= "3.7" and python_version < "4.0" msgpack==1.0.4 ; python_version >= "3.7" and python_version < "4.0"
msrest==0.6.21 ; python_version >= "3.7" and python_version < "4.0" msrest==0.6.21 ; python_version >= "3.7" and python_version < "4.0"
mypy-extensions==0.4.3 ; python_version >= "3.7" and python_version < "4.0" mypy-extensions==0.4.3 ; python_version >= "3.7" and python_version < "4.0"
mypy==0.990 ; python_version >= "3.7" and python_version < "4.0" mypy==0.991 ; python_version >= "3.7" and python_version < "4.0"
oauth2client==4.1.3 ; python_version >= "3.7" and python_version < "4.0" oauth2client==4.1.3 ; python_version >= "3.7" and python_version < "4.0"
oauthlib==3.2.2 ; python_version >= "3.7" and python_version < "4.0" oauthlib==3.2.2 ; python_version >= "3.7" and python_version < "4.0"
packaging==21.3 ; python_version >= "3.7" and python_version < "4.0" packaging==21.3 ; python_version >= "3.7" and python_version < "4.0"
@@ -97,7 +96,7 @@ pickleshare==0.7.5 ; python_version >= "3.7" and python_version < "4.0"
pip==22.3.1 ; python_version >= "3.7" and python_version < "4.0" pip==22.3.1 ; python_version >= "3.7" and python_version < "4.0"
pkginfo==1.8.3 ; python_version >= "3.7" and python_version < "4.0" pkginfo==1.8.3 ; python_version >= "3.7" and python_version < "4.0"
pkgutil-resolve-name==1.3.10 ; python_version >= "3.7" and python_version < "3.9" pkgutil-resolve-name==1.3.10 ; python_version >= "3.7" and python_version < "3.9"
platformdirs==2.5.3 ; python_version >= "3.7" and python_version < "4.0" platformdirs==2.5.4 ; python_version >= "3.7" and python_version < "4.0"
pluggy==1.0.0 ; python_version >= "3.7" and python_version < "4.0" pluggy==1.0.0 ; python_version >= "3.7" and python_version < "4.0"
ply==3.11 ; python_version >= "3.7" and python_version < "4.0" ply==3.11 ; python_version >= "3.7" and python_version < "4.0"
poetry-core==1.3.2 ; python_version >= "3.7" and python_version < "4.0" poetry-core==1.3.2 ; python_version >= "3.7" and python_version < "4.0"
@@ -128,7 +127,7 @@ python-digitalocean==1.17.0 ; python_version >= "3.7" and python_version < "4.0"
pytz==2022.6 ; python_version >= "3.7" and python_version < "4.0" pytz==2022.6 ; python_version >= "3.7" and python_version < "4.0"
pywin32-ctypes==0.2.0 ; python_version >= "3.7" and python_version < "4.0" and sys_platform == "win32" pywin32-ctypes==0.2.0 ; python_version >= "3.7" and python_version < "4.0" and sys_platform == "win32"
pywin32==305 ; python_version >= "3.7" and python_version < "4.0" and sys_platform == "win32" pywin32==305 ; python_version >= "3.7" and python_version < "4.0" and sys_platform == "win32"
pyyaml==5.4.1 ; python_version >= "3.7" and python_version < "4.0" pyyaml==6.0 ; python_version >= "3.7" and python_version < "4.0"
readme-renderer==37.3 ; python_version >= "3.7" and python_version < "4.0" readme-renderer==37.3 ; python_version >= "3.7" and python_version < "4.0"
requests-download==0.1.2 ; python_version >= "3.7" and python_version < "4.0" requests-download==0.1.2 ; python_version >= "3.7" and python_version < "4.0"
requests-file==1.5.1 ; python_version >= "3.7" and python_version < "4.0" requests-file==1.5.1 ; python_version >= "3.7" and python_version < "4.0"
@@ -137,7 +136,7 @@ requests-toolbelt==0.9.1 ; python_version >= "3.7" and python_version < "4.0"
requests==2.28.1 ; python_version >= "3.7" and python_version < "4" requests==2.28.1 ; python_version >= "3.7" and python_version < "4"
rfc3986==2.0.0 ; python_version >= "3.7" and python_version < "4.0" rfc3986==2.0.0 ; python_version >= "3.7" and python_version < "4.0"
rich==12.6.0 ; python_version >= "3.7" and python_version < "4.0" rich==12.6.0 ; python_version >= "3.7" and python_version < "4.0"
rsa==4.7.2 ; python_version >= "3.7" and python_version < "4" rsa==4.9 ; python_version >= "3.7" and python_version < "4"
s3transfer==0.6.0 ; python_version >= "3.7" and python_version < "4.0" s3transfer==0.6.0 ; python_version >= "3.7" and python_version < "4.0"
secretstorage==3.3.3 ; python_version >= "3.7" and python_version < "4.0" and sys_platform == "linux" secretstorage==3.3.3 ; python_version >= "3.7" and python_version < "4.0" and sys_platform == "linux"
semantic-version==2.10.0 ; python_version >= "3.7" and python_version < "4.0" semantic-version==2.10.0 ; python_version >= "3.7" and python_version < "4.0"
@@ -148,7 +147,7 @@ six==1.16.0 ; python_version >= "3.7" and python_version < "4.0"
snowballstemmer==2.2.0 ; python_version >= "3.7" and python_version < "4.0" snowballstemmer==2.2.0 ; python_version >= "3.7" and python_version < "4.0"
soupsieve==2.3.2.post1 ; python_version >= "3.7" and python_version < "4.0" soupsieve==2.3.2.post1 ; python_version >= "3.7" and python_version < "4.0"
sphinx-rtd-theme==1.1.1 ; python_version >= "3.7" and python_version < "4.0" sphinx-rtd-theme==1.1.1 ; python_version >= "3.7" and python_version < "4.0"
sphinx==5.1.1 ; python_version >= "3.7" and python_version < "4.0" sphinx==5.3.0 ; python_version >= "3.7" and python_version < "4.0"
sphinxcontrib-applehelp==1.0.2 ; python_version >= "3.7" and python_version < "4.0" sphinxcontrib-applehelp==1.0.2 ; python_version >= "3.7" and python_version < "4.0"
sphinxcontrib-devhelp==1.0.2 ; python_version >= "3.7" and python_version < "4.0" sphinxcontrib-devhelp==1.0.2 ; python_version >= "3.7" and python_version < "4.0"
sphinxcontrib-htmlhelp==2.0.0 ; python_version >= "3.7" and python_version < "4.0" sphinxcontrib-htmlhelp==2.0.0 ; python_version >= "3.7" and python_version < "4.0"
@@ -159,7 +158,7 @@ tldextract==3.4.0 ; python_version >= "3.7" and python_version < "4.0"
toml==0.10.2 ; python_version >= "3.7" and python_version < "4.0" toml==0.10.2 ; python_version >= "3.7" and python_version < "4.0"
tomli==2.0.1 ; python_version >= "3.7" and python_full_version <= "3.11.0a6" tomli==2.0.1 ; python_version >= "3.7" and python_full_version <= "3.11.0a6"
tomlkit==0.11.6 ; python_version >= "3.7" and python_version < "4.0" tomlkit==0.11.6 ; python_version >= "3.7" and python_version < "4.0"
tox==3.27.0 ; python_version >= "3.7" and python_version < "4.0" tox==3.27.1 ; python_version >= "3.7" and python_version < "4.0"
traitlets==5.5.0 ; python_version >= "3.7" and python_version < "4.0" traitlets==5.5.0 ; python_version >= "3.7" and python_version < "4.0"
twine==4.0.1 ; python_version >= "3.7" and python_version < "4.0" twine==4.0.1 ; python_version >= "3.7" and python_version < "4.0"
typed-ast==1.5.4 ; python_version >= "3.7" and python_version < "3.8" typed-ast==1.5.4 ; python_version >= "3.7" and python_version < "3.8"
@@ -169,13 +168,13 @@ types-pyrfc3339==1.1.1 ; python_version >= "3.7" and python_version < "4.0"
types-python-dateutil==2.8.19.3 ; python_version >= "3.7" and python_version < "4.0" types-python-dateutil==2.8.19.3 ; python_version >= "3.7" and python_version < "4.0"
types-pytz==2022.6.0.1 ; python_version >= "3.7" and python_version < "4.0" types-pytz==2022.6.0.1 ; python_version >= "3.7" and python_version < "4.0"
types-requests==2.28.11.4 ; python_version >= "3.7" and python_version < "4.0" types-requests==2.28.11.4 ; python_version >= "3.7" and python_version < "4.0"
types-setuptools==65.5.0.2 ; python_version >= "3.7" and python_version < "4.0" types-setuptools==65.5.0.3 ; python_version >= "3.7" and python_version < "4.0"
types-six==1.16.21.2 ; python_version >= "3.7" and python_version < "4.0" types-six==1.16.21.3 ; python_version >= "3.7" and python_version < "4.0"
types-urllib3==1.26.25.3 ; python_version >= "3.7" and python_version < "4.0" types-urllib3==1.26.25.3 ; python_version >= "3.7" and python_version < "4.0"
typing-extensions==4.4.0 ; python_version >= "3.7" and python_version < "4.0" typing-extensions==4.4.0 ; python_version >= "3.7" and python_version < "4.0"
uritemplate==4.1.1 ; python_version >= "3.7" and python_version < "4.0" uritemplate==4.1.1 ; python_version >= "3.7" and python_version < "4.0"
urllib3==1.26.12 ; python_version >= "3.7" and python_version < "4" urllib3==1.26.12 ; python_version >= "3.7" and python_version < "4"
virtualenv==20.16.6 ; python_version >= "3.7" and python_version < "4.0" virtualenv==20.16.7 ; python_version >= "3.7" and python_version < "4.0"
wcwidth==0.2.5 ; python_version >= "3.7" and python_version < "4.0" wcwidth==0.2.5 ; python_version >= "3.7" and python_version < "4.0"
webencodings==0.5.1 ; python_version >= "3.7" and python_version < "4.0" webencodings==0.5.1 ; python_version >= "3.7" and python_version < "4.0"
wheel==0.38.4 ; python_version >= "3.7" and python_version < "4.0" wheel==0.38.4 ; python_version >= "3.7" and python_version < "4.0"