Merge branch '2015.8' into '2106.3'

Conflicts:
  - salt/loader.py
  - salt/modules/s3.py
  - salt/utils/s3.py
  - tests/unit/modules/s3_test.py
This commit is contained in:
rallytime 2016-08-24 09:58:56 -06:00
commit 61e37d5956
9 changed files with 90 additions and 94 deletions

View file

@ -29,7 +29,6 @@ import salt.utils.templates
import salt.utils.url
import salt.utils.gzip_util
import salt.utils.http
import salt.utils.s3
from salt.utils.locales import sdecode
from salt.utils.openstack.swift import SaltSwift
@ -63,6 +62,7 @@ class Client(object):
'''
def __init__(self, opts):
self.opts = opts
self.utils = salt.loader.utils(self.opts)
self.serial = salt.payload.Serial(self.opts)
# Add __setstate__ and __getstate__ so that the object may be
@ -596,17 +596,17 @@ class Client(object):
return self.opts['pillar']['s3'][key]
except (KeyError, TypeError):
return default
salt.utils.s3.query(method='GET',
bucket=url_data.netloc,
path=url_data.path[1:],
return_bin=False,
local_file=dest,
action=None,
key=s3_opt('key'),
keyid=s3_opt('keyid'),
service_url=s3_opt('service_url'),
verify_ssl=s3_opt('verify_ssl', True),
location=s3_opt('location'))
self.utils['s3.query'](method='GET',
bucket=url_data.netloc,
path=url_data.path[1:],
return_bin=False,
local_file=dest,
action=None,
key=s3_opt('key'),
keyid=s3_opt('keyid'),
service_url=s3_opt('service_url'),
verify_ssl=s3_opt('verify_ssl', True),
location=s3_opt('location'))
return dest
except Exception as exc:
raise MinionError(

View file

@ -69,7 +69,6 @@ import logging
import salt.fileserver as fs
import salt.modules
import salt.utils
import salt.utils.s3 as s3
# Import 3rd-party libs
# pylint: disable=import-error,no-name-in-module,redefined-builtin
@ -400,7 +399,7 @@ def _refresh_buckets_cache_file(cache_file):
# helper s3 query function
def __get_s3_meta(bucket, key=key, keyid=keyid):
return s3.query(
return __utils__['s3.query'](
key=key,
keyid=keyid,
kms_keyid=keyid,
@ -634,7 +633,7 @@ def _get_file_from_s3(metadata, saltenv, bucket_name, path, cached_file_path):
log.debug('cached file size equal to metadata size and '
'cached file mtime later than metadata last '
'modification time.')
ret = s3.query(
ret = __utils__['s3.query'](
key=key,
keyid=keyid,
kms_keyid=keyid,
@ -665,7 +664,7 @@ def _get_file_from_s3(metadata, saltenv, bucket_name, path, cached_file_path):
return
# ... or get the file from S3
s3.query(
__utils__['s3.query'](
key=key,
keyid=keyid,
kms_keyid=keyid,

View file

@ -334,12 +334,14 @@ def pillars(opts, functions, context=None):
'''
Returns the pillars modules
'''
ret = LazyLoader(
_module_dirs(opts, 'pillar', 'pillar'),
opts,
tag='pillar',
pack={'__salt__': functions, '__context__': context},
)
if context is None:
context = {}
ret = LazyLoader(_module_dirs(opts, 'pillar', 'pillar'),
opts,
tag='pillar',
pack={'__salt__': functions,
'__context__': context,
'__utils__': utils(opts)})
ret.pack['__ext_pillar__'] = ret
return FilterDictWrapper(ret, '.ext_pillar')
@ -423,12 +425,11 @@ def fileserver(opts, backends):
'''
Returns the file server modules
'''
return LazyLoader(
_module_dirs(opts, 'fileserver', 'fileserver'),
opts,
tag='fileserver',
whitelist=backends,
)
return LazyLoader(_module_dirs(opts, 'fileserver', 'fileserver'),
opts,
tag='fileserver',
whitelist=backends,
pack={'__utils__': utils(opts)})
def roster(opts, whitelist=None):

View file

@ -27,7 +27,7 @@ __proxyenabled__ = ['fx2']
try:
run_all = __salt__['cmd.run_all']
except NameError:
except (NameError, KeyError):
import salt.modules.cmdmod
__salt__ = {
'cmd.run_all': salt.modules.cmdmod._run_all_quiet

View file

@ -56,10 +56,6 @@ from __future__ import absolute_import
# Import Python libs
import logging
# Import Salt libs
import salt.utils
import salt.utils.s3
log = logging.getLogger(__name__)
@ -94,17 +90,17 @@ def delete(bucket, path=None, action=None, key=None, keyid=None,
role_arn,
)
return salt.utils.s3.query(method='DELETE',
bucket=bucket,
path=path,
action=action,
key=key,
keyid=keyid,
kms_keyid=kms_keyid,
service_url=service_url,
verify_ssl=verify_ssl,
location=location,
role_arn=role_arn)
return __utils__['s3.query'](method='DELETE',
bucket=bucket,
path=path,
action=action,
key=key,
keyid=keyid,
kms_keyid=kms_keyid,
service_url=service_url,
verify_ssl=verify_ssl,
location=location,
role_arn=role_arn)
def get(bucket=None, path=None, return_bin=False, action=None,
@ -171,19 +167,19 @@ def get(bucket=None, path=None, return_bin=False, action=None,
role_arn,
)
return salt.utils.s3.query(method='GET',
bucket=bucket,
path=path,
return_bin=return_bin,
local_file=local_file,
action=action,
key=key,
keyid=keyid,
kms_keyid=kms_keyid,
service_url=service_url,
verify_ssl=verify_ssl,
location=location,
role_arn=role_arn)
return __utils__['s3.query'](method='GET',
bucket=bucket,
path=path,
return_bin=return_bin,
local_file=local_file,
action=action,
key=key,
keyid=keyid,
kms_keyid=kms_keyid,
service_url=service_url,
verify_ssl=verify_ssl,
location=location,
role_arn=role_arn)
def head(bucket, path=None, key=None, keyid=None, service_url=None,
@ -208,17 +204,17 @@ def head(bucket, path=None, key=None, keyid=None, service_url=None,
role_arn,
)
return salt.utils.s3.query(method='HEAD',
bucket=bucket,
path=path,
key=key,
keyid=keyid,
kms_keyid=kms_keyid,
service_url=service_url,
verify_ssl=verify_ssl,
location=location,
full_headers=True,
role_arn=role_arn)
return __utils__['s3.query'](method='HEAD',
bucket=bucket,
path=path,
key=key,
keyid=keyid,
kms_keyid=kms_keyid,
service_url=service_url,
verify_ssl=verify_ssl,
location=location,
full_headers=True,
role_arn=role_arn)
def put(bucket, path=None, return_bin=False, action=None, local_file=None,
@ -249,19 +245,19 @@ def put(bucket, path=None, return_bin=False, action=None, local_file=None,
role_arn,
)
return salt.utils.s3.query(method='PUT',
bucket=bucket,
path=path,
return_bin=return_bin,
local_file=local_file,
action=action,
key=key,
keyid=keyid,
kms_keyid=kms_keyid,
service_url=service_url,
verify_ssl=verify_ssl,
location=location,
role_arn=role_arn)
return __utils__['s3.query'](method='PUT',
bucket=bucket,
path=path,
return_bin=return_bin,
local_file=local_file,
action=action,
key=key,
keyid=keyid,
kms_keyid=kms_keyid,
service_url=service_url,
verify_ssl=verify_ssl,
location=location,
role_arn=role_arn)
def _get_key(key, keyid, service_url, verify_ssl, kms_keyid, location, role_arn):

View file

@ -98,7 +98,6 @@ from salt.ext.six.moves.urllib.parse import quote as _quote
# Import salt libs
from salt.pillar import Pillar
import salt.utils
import salt.utils.s3 as s3
# Set up logging
log = logging.getLogger(__name__)
@ -257,7 +256,7 @@ def _refresh_buckets_cache_file(creds, cache_file, multiple_env, environment, pr
# helper s3 query function
def __get_s3_meta():
return s3.query(
return __utils__['s3.query'](
key=creds.key,
keyid=creds.keyid,
kms_keyid=creds.kms_keyid,
@ -399,7 +398,7 @@ def _get_file_from_s3(creds, metadata, saltenv, bucket, path,
return
# ... or get the file from S3
s3.query(
__utils__['s3.query'](
key=creds.key,
keyid=creds.keyid,
kms_keyid=creds.kms_keyid,

View file

@ -568,7 +568,7 @@ def get_region_from_metadata():
return None
def get_location(opts, provider=None):
def get_location(opts=None, provider=None):
'''
Return the region to use, in this order:
opts['location']
@ -576,6 +576,8 @@ def get_location(opts, provider=None):
get_region_from_metadata()
DEFAULT_LOCATION
'''
if opts is None:
opts = __opts__
ret = opts.get('location', provider.get('location'))
if ret is None:
ret = get_region_from_metadata()

View file

@ -96,6 +96,9 @@ def query(key, keyid, method='GET', params=None, headers=None,
headers['x-amz-server-side-encryption'] = 'aws:kms'
headers['x-amz-server-side-encryption-aws-kms-key-id'] = kms_keyid
if not location:
location = __utils__['aws.get_location']()
data = ''
payload_hash = None
if method == 'PUT':

View file

@ -19,10 +19,10 @@ from salttesting.helpers import ensure_in_syspath
ensure_in_syspath('../../')
# Import Salt Libs
import salt.utils.s3
from salt.modules import s3
s3.__salt__ = {}
s3.__utils__ = {'s3.query': MagicMock(return_value='A')}
@skipIf(NO_MOCK, NO_MOCK_REASON)
@ -47,8 +47,7 @@ class S3TestCase(TestCase):
return_value=('key', 'keyid', 'service_url',
'verify_ssl', 'kms_keyid', 'location',
'role_arn')):
with patch.object(salt.utils.s3, 'query', return_value='A'):
self.assertEqual(s3.delete('bucket'), 'A')
self.assertEqual(s3.delete('bucket'), 'A')
def test_get(self):
'''
@ -59,8 +58,7 @@ class S3TestCase(TestCase):
return_value=('key', 'keyid', 'service_url',
'verify_ssl', 'kms_keyid', 'location',
'role_arn')):
with patch.object(salt.utils.s3, 'query', return_value='A'):
self.assertEqual(s3.get(), 'A')
self.assertEqual(s3.get(), 'A')
def test_head(self):
'''
@ -70,8 +68,7 @@ class S3TestCase(TestCase):
return_value=('key', 'keyid', 'service_url',
'verify_ssl', 'kms_keyid', 'location',
'role_arn')):
with patch.object(salt.utils.s3, 'query', return_value='A'):
self.assertEqual(s3.head('bucket'), 'A')
self.assertEqual(s3.head('bucket'), 'A')
def test_put(self):
'''
@ -81,8 +78,7 @@ class S3TestCase(TestCase):
return_value=('key', 'keyid', 'service_url',
'verify_ssl', 'kms_keyid', 'location',
'role_arn')):
with patch.object(salt.utils.s3, 'query', return_value='A'):
self.assertEqual(s3.put('bucket'), 'A')
self.assertEqual(s3.put('bucket'), 'A')
if __name__ == '__main__':