Merge pull request #48328 from garethgreenaway/48274_s3_get_signature_fail

[2018.3] Fixes to utils/s3.py
This commit is contained in:
Nicole Thomas 2018-07-02 09:22:31 -04:00 committed by GitHub
commit 222c1d65db
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23

View file

@ -23,6 +23,7 @@ import salt.utils.hashutils
import salt.utils.xmlutil as xml
from salt._compat import ElementTree as ET
from salt.exceptions import CommandExecutionError
from salt.ext.six.moves.urllib.parse import quote as _quote # pylint: disable=import-error,no-name-in-module
from salt.ext import six
log = logging.getLogger(__name__)
@ -117,6 +118,7 @@ def query(key, keyid, method='GET', params=None, headers=None,
location = salt.utils.aws.get_location()
data = ''
fh = None
payload_hash = None
if method == 'PUT':
if local_file:
@ -124,6 +126,7 @@ def query(key, keyid, method='GET', params=None, headers=None,
if path is None:
path = ''
path = _quote(path)
if not requesturl:
requesturl = (('https' if https_enable else 'http')+'://{0}/{1}').format(endpoint, path)
@ -152,7 +155,8 @@ def query(key, keyid, method='GET', params=None, headers=None,
try:
if method == 'PUT':
if local_file:
data = salt.utils.files.fopen(local_file, 'r') # pylint: disable=resource-leakage
fh = salt.utils.files.fopen(local_file, 'rb') # pylint: disable=resource-leakage
data = fh.read() # pylint: disable=resource-leakage
result = requests.request(method,
requesturl,
headers=headers,
@ -173,8 +177,8 @@ def query(key, keyid, method='GET', params=None, headers=None,
data=data,
verify=verify_ssl)
finally:
if data is not None:
data.close()
if fh is not None:
fh.close()
err_code = None
err_msg = None