mirror of
https://github.com/saltstack/salt.git
synced 2025-04-17 10:10:20 +00:00
Merge pull request #50057 from rallytime/merge-2018.3
[2018.3] Merge forward from 2017.7 to 2018.3
This commit is contained in:
commit
a9e9974bd5
10 changed files with 52 additions and 35 deletions
|
@ -114,6 +114,12 @@ Set up the provider cloud config at ``/etc/salt/cloud.providers`` or
|
|||
|
||||
driver: gce
|
||||
|
||||
.. note::
|
||||
|
||||
Empty strings as values for ``service_account_private_key`` and ``service_account_email_address``
|
||||
can be used on GCE instances. This will result in the service account assigned to the GCE instance
|
||||
being used.
|
||||
|
||||
.. note::
|
||||
|
||||
The value provided for ``project`` must not contain underscores or spaces and
|
||||
|
|
|
@ -4,3 +4,13 @@ In Progress: Salt 2017.7.9 Release Notes
|
|||
|
||||
Version 2017.7.9 is an **unreleased** bugfix release for :ref:`2017.7.0 <release-2017-7-0>`.
|
||||
This release is still in progress and has not been released yet.
|
||||
|
||||
Salt Cloud Features
|
||||
===================
|
||||
|
||||
GCE Driver
|
||||
----------
|
||||
The GCE salt cloud driver can now be used with GCE instance credentials by
|
||||
setting the configuration paramaters ``service_account_private_key`` and
|
||||
``service_account_private_email`` to an empty string.
|
||||
|
||||
|
|
|
@ -134,7 +134,8 @@ def __virtual__():
|
|||
|
||||
parameters = details['gce']
|
||||
pathname = os.path.expanduser(parameters['service_account_private_key'])
|
||||
if salt.utils.cloud.check_key_path_and_mode(
|
||||
# empty pathname will tell libcloud to use instance credentials
|
||||
if pathname and salt.utils.cloud.check_key_path_and_mode(
|
||||
provider, pathname
|
||||
) is False:
|
||||
return False
|
||||
|
|
|
@ -1589,7 +1589,7 @@ class Minion(MinionBase):
|
|||
|
||||
sdata = {'pid': os.getpid()}
|
||||
sdata.update(data)
|
||||
log.info('Starting a new job with PID %s', sdata['pid'])
|
||||
log.info('Starting a new job %s with PID %s', data['jid'], sdata['pid'])
|
||||
with salt.utils.files.fopen(fn_, 'w+b') as fp_:
|
||||
fp_.write(minion_instance.serial.dumps(sdata))
|
||||
ret = {'success': False}
|
||||
|
|
|
@ -1035,11 +1035,8 @@ def _parse_conf(conf_file=None, in_mem=False, family='ipv4'):
|
|||
if args[-1].startswith('-'):
|
||||
args.append('')
|
||||
parsed_args = []
|
||||
if sys.version.startswith('2.6'):
|
||||
(opts, leftover_args) = parser.parse_args(args)
|
||||
parsed_args = vars(opts)
|
||||
else:
|
||||
parsed_args = vars(parser.parse_args(args))
|
||||
opts, _ = parser.parse_known_args(args)
|
||||
parsed_args = vars(opts)
|
||||
ret_args = {}
|
||||
chain = parsed_args['append']
|
||||
for arg in parsed_args:
|
||||
|
|
|
@ -1989,17 +1989,20 @@ def processlist(**connection_args):
|
|||
"SHOW FULL PROCESSLIST".
|
||||
|
||||
Returns: a list of dicts, with each dict representing a process:
|
||||
|
||||
.. code-block:: python
|
||||
|
||||
{'Command': 'Query',
|
||||
'Host': 'localhost',
|
||||
'Id': 39,
|
||||
'Info': 'SHOW FULL PROCESSLIST',
|
||||
'Rows_examined': 0,
|
||||
'Rows_read': 1,
|
||||
'Rows_sent': 0,
|
||||
'State': None,
|
||||
'Time': 0,
|
||||
'User': 'root',
|
||||
'db': 'mysql'}
|
||||
'Host': 'localhost',
|
||||
'Id': 39,
|
||||
'Info': 'SHOW FULL PROCESSLIST',
|
||||
'Rows_examined': 0,
|
||||
'Rows_read': 1,
|
||||
'Rows_sent': 0,
|
||||
'State': None,
|
||||
'Time': 0,
|
||||
'User': 'root',
|
||||
'db': 'mysql'}
|
||||
|
||||
CLI Example:
|
||||
|
||||
|
|
|
@ -48,7 +48,7 @@ def present(name,
|
|||
The keyId or keyIds to add to the GPG keychain.
|
||||
|
||||
user
|
||||
Add GPG keys to the user's keychain
|
||||
Add GPG keys to the specified user's keychain
|
||||
|
||||
keyserver
|
||||
The keyserver to retrieve the keys from.
|
||||
|
@ -151,7 +151,7 @@ def absent(name,
|
|||
The keyId or keyIds to add to the GPG keychain.
|
||||
|
||||
user
|
||||
Add GPG keys to the user's keychain
|
||||
Remove GPG keys from the specified user's keychain
|
||||
|
||||
gnupghome
|
||||
Override GNUPG Home directory
|
||||
|
|
|
@ -42,7 +42,7 @@ def __virtual__():
|
|||
|
||||
def pv_present(name, **kwargs):
|
||||
'''
|
||||
Set a physical device to be used as an LVM physical volume
|
||||
Set a Physical Device to be used as an LVM Physical Volume
|
||||
|
||||
name
|
||||
The device name to initialize.
|
||||
|
@ -106,13 +106,13 @@ def pv_absent(name):
|
|||
|
||||
def vg_present(name, devices=None, **kwargs):
|
||||
'''
|
||||
Create an LVM volume group
|
||||
Create an LVM Volume Group
|
||||
|
||||
name
|
||||
The volume group name to create
|
||||
The Volume Group name to create
|
||||
|
||||
devices
|
||||
A list of devices that will be added to the volume group
|
||||
A list of devices that will be added to the Volume Group
|
||||
|
||||
kwargs
|
||||
Any supported options to vgcreate. See
|
||||
|
@ -214,16 +214,16 @@ def lv_present(name,
|
|||
force=False,
|
||||
**kwargs):
|
||||
'''
|
||||
Create a new logical volume
|
||||
Create a new Logical Volume
|
||||
|
||||
name
|
||||
The name of the logical volume
|
||||
The name of the Logical Volume
|
||||
|
||||
vgname
|
||||
The volume group name for this logical volume
|
||||
The name of the Volume Group on which the Logical Volume resides
|
||||
|
||||
size
|
||||
The initial size of the logical volume
|
||||
The initial size of the Logical Volume
|
||||
|
||||
extents
|
||||
The number of logical extents to allocate
|
||||
|
@ -232,7 +232,7 @@ def lv_present(name,
|
|||
The name of the snapshot
|
||||
|
||||
pv
|
||||
The physical volume to use
|
||||
The Physical Volume to use
|
||||
|
||||
kwargs
|
||||
Any supported options to lvcreate. See
|
||||
|
@ -241,10 +241,10 @@ def lv_present(name,
|
|||
.. versionadded:: to_complete
|
||||
|
||||
thinvolume
|
||||
Logical volume is thinly provisioned
|
||||
Logical Volume is thinly provisioned
|
||||
|
||||
thinpool
|
||||
Logical volume is a thin pool
|
||||
Logical Volume is a thin pool
|
||||
|
||||
.. versionadded:: 2018.3.0
|
||||
|
||||
|
@ -297,13 +297,13 @@ def lv_present(name,
|
|||
|
||||
def lv_absent(name, vgname=None):
|
||||
'''
|
||||
Remove a given existing logical volume from a named existing volume group
|
||||
Remove a given existing Logical Volume from a named existing volume group
|
||||
|
||||
name
|
||||
The logical volume to remove
|
||||
The Logical Volume to remove
|
||||
|
||||
vgname
|
||||
The volume group name
|
||||
The name of the Volume Group on which the Logical Volume resides
|
||||
'''
|
||||
ret = {'changes': {},
|
||||
'comment': '',
|
||||
|
|
|
@ -26,7 +26,7 @@ def absent(name, user=None, signal=None):
|
|||
The pattern to match.
|
||||
|
||||
user
|
||||
The user process belongs
|
||||
The user to which the process belongs
|
||||
|
||||
signal
|
||||
Signal to send to the process(es).
|
||||
|
|
|
@ -55,7 +55,7 @@ def managed(name, port, services=None, user=None, password=None, bypass_domains=
|
|||
The username to use for the proxy server if required
|
||||
|
||||
password
|
||||
The password to use if required by the server
|
||||
The password to use for the proxy server if required
|
||||
|
||||
bypass_domains
|
||||
An array of the domains that should bypass the proxy
|
||||
|
|
Loading…
Add table
Reference in a new issue