Skip to content

Commit

Permalink
Merge remote-tracking branch 'upstream/2015.5' into merge-forward-2015.8
Browse files Browse the repository at this point in the history
Conflicts:
    doc/conf.py
    doc/topics/cloud/config.rst
    doc/topics/cloud/index.rst
    salt/modules/git.py
    salt/states/git.py
    salt/states/pkgrepo.py
  • Loading branch information
basepi committed Sep 1, 2015
2 parents 47bc60a + 135a8a6 commit 1e1f5f3
Show file tree
Hide file tree
Showing 21 changed files with 281 additions and 117 deletions.
7 changes: 5 additions & 2 deletions doc/conf.py
Expand Up @@ -228,8 +228,11 @@ def __getattr__(cls, name):
.. _`salt-packagers`: https://groups.google.com/forum/#!forum/salt-packagers
.. |windownload| raw:: html
<a href="https://repo.saltstack.com/windows/Salt-Minion-{release}-2-x86-Setup.exe"><strong>Salt-Minion-{release}-x86-Setup.exe</strong></a>
| <a href="https://repo.saltstack.com/windows/Salt-Minion-{release}-x86-Setup.exe.md5"><strong>md5</strong></a>
<p>x86: <a href="https://repo.saltstack.com/windows/Salt-Minion-{release}-x86-Setup.exe"><strong>Salt-Minion-{release}-x86-Setup.exe</strong></a>
| <a href="https://repo.saltstack.com/windows/Salt-Minion-{release}-x86-Setup.exe.md5"><strong>md5</strong></a></p>
<p>AMD64: <a href="https://repo.saltstack.com/windows/Salt-Minion-{release}-AMD64-Setup.exe"><strong>Salt-Minion-{release}-AMD64-Setup.exe</strong></a>
| <a href="https://repo.saltstack.com/windows/Salt-Minion-{release}-AMD64-Setup.exe.md5"><strong>md5</strong></a></p>
""".format(release=release)

Expand Down
23 changes: 22 additions & 1 deletion doc/ref/cli/salt-key.rst
Expand Up @@ -15,6 +15,27 @@ Description
Salt-key executes simple management of Salt server public keys used for
authentication.

On initial connection, a Salt minion sends its public key to the Salt
master. This key must be accepted using the ``salt-key`` command on the
Salt master.

Salt minion keys can be in one of the following states:

- **unaccepted**: key is waiting to be accepted.
- **accepted**: key was accepted and the minion can communicate with the Salt
master.
- **rejected**: key was rejected using the ``salt-key`` command. In
this state the minion does not receive any communication from the Salt
master.
- **denied**: key was rejected automatically by the Salt master.
This occurs when a minion has a duplicate ID, or when a minion was rebuilt or
had new keys generated and the previous key was not deleted from the Salt
master. In this state the minion does not receive any communication from the
Salt master.

To change the state of a minion key, use ``-d`` to delete the key and then
accept or reject the key.

Options
=======

Expand Down Expand Up @@ -163,4 +184,4 @@ See also

:manpage:`salt(7)`
:manpage:`salt-master(1)`
:manpage:`salt-minion(1)`
:manpage:`salt-minion(1)`
15 changes: 15 additions & 0 deletions doc/ref/modules/index.rst
Expand Up @@ -333,6 +333,21 @@ on.
The platform field is a comma-delimited list of platforms that this module is
known to run on.

Log Output
==========

You can call the logger from custom modules to write messages to the minion
logs. The following code snippet demonstrates writing log messages:

.. code-block:: python
import logging
log = logging.getLogger(__name__)
log.info('Here is Some Information')
log.warning('You Should Not Do That')
log.error('It Is Busted')
Private Functions
=================

Expand Down
16 changes: 16 additions & 0 deletions doc/ref/states/writing.rst
Expand Up @@ -228,6 +228,22 @@ prepared to refresh, then return True and the mod_init will not be called
the next time a pkg state is evaluated, otherwise return False and the mod_init
will be called next time a pkg state is evaluated.

Log Output
==========

You can call the logger from custom modules to write messages to the minion
logs. The following code snippet demonstrates writing log messages:

.. code-block:: python
import logging
log = logging.getLogger(__name__)
log.info('Here is Some Information')
log.warning('You Should Not Do That')
log.error('It Is Busted')
Full State Module Example
=========================

Expand Down
34 changes: 5 additions & 29 deletions doc/topics/cloud/config.rst
Expand Up @@ -500,35 +500,11 @@ And in the map file:
Saltify
-------

The Saltify driver is a new, experimental driver for installing Salt on
existing machines (virtual or bare metal). Because it does not use an actual
cloud provider, it needs no configuration in the main cloud config file.
However, it does still require a profile to be set up, and is most useful when
used inside a map file. The key parameters to be set are ``ssh_host``,
``ssh_username`` and either ``ssh_keyfile`` or ``ssh_password``. These may all
be set in either the profile or the map. An example configuration might use the
following in cloud.profiles:

.. code-block:: yaml
make_salty:
driver: saltify
And in the map file:

.. code-block:: yaml
make_salty:
- myinstance:
ssh_host: 54.262.11.38
ssh_username: ubuntu
ssh_keyfile: '/etc/salt/mysshkey.pem'
sudo: True
.. note::

In the cloud profile that uses this provider configuration, the syntax for the
``provider`` required field would be ``provider: make_salty``.
The Saltify driver is a new, experimental driver designed to install Salt on a remote
machine, virtual or bare metal, using SSH. This driver is useful for provisioning
machines which are already installed, but not Salted. For more information about using
this driver and for configuration examples, please see the
:ref:`Gettting Started with Saltify <getting-started-with-saltify>` documentation.


Extending Profiles and Cloud Providers Configuration
Expand Down
4 changes: 1 addition & 3 deletions doc/topics/cloud/index.rst
Expand Up @@ -171,16 +171,14 @@ Cloud Provider Specifics
Getting Started With Parallels <parallels>
Getting Started With Proxmox <proxmox>
Getting Started With Rackspace <rackspace>
Getting Started With Saltify <saltify>
Getting Started With Scaleway <scaleway>
Getting Started With SoftLayer <softlayer>
Getting Started With Vexxhost <vexxhost>
Getting Started With VMware <vmware>
Getting Started With vSphere <vsphere>





Miscellaneous Options
=====================

Expand Down
121 changes: 121 additions & 0 deletions doc/topics/cloud/saltify.rst
@@ -0,0 +1,121 @@
.. _getting-started-with-saltify:

============================
Getting Started With Saltify
============================

The Saltify driver is a new, experimental driver for installing Salt on existing
machines (virtual or bare metal).


Dependencies
============
The Saltify driver has no external dependencies.


Configuration
=============

Because the Saltify driver does not use an actual cloud provider host, it has a
simple provider configuration. The only thing that is required to be set is the
driver name, and any other potentially useful information, like the location of
the salt-master:

.. code-block:: yaml
# Note: This example is for /etc/salt/cloud.providers file or any file in
# the /etc/salt/cloud.providers.d/ directory.
my-saltify-config:
minion:
master: 111.222.333.444
provider: saltify
Profiles
========

Saltify requires a profile to be configured for each machine that needs Salt
installed. The initial profile can be set up at ``/etc/salt/cloud.profiles``
or in the ``/etc/salt/cloud.profiles.d/`` directory. Each profile requires
both an ``ssh_host`` and an ``ssh_username`` key parameter as well as either
an ``key_filename`` or a ``password``.

Profile configuration example:

.. code-block:: yaml
# /etc/salt/cloud.profiles.d/saltify.conf
salt-this-machine:
ssh_host: 12.34.56.78
ssh_username: root
key_filename: '/etc/salt/mysshkey.pem'
provider: my-saltify-config
The machine can now be "Salted" with the following command:

.. code-block:: bash
salt-cloud -p salt-this-machine my-machine
This will install salt on the machine specified by the cloud profile,
``salt-this-machine``, and will give the machine the minion id of
``my-machine``. If the command was executed on the salt-master, its Salt
key will automatically be signed on the master.

Once a salt-minion has been successfully installed on the instance, connectivity
to it can be verified with Salt:

.. code-block:: bash
salt my-machine test.ping
Using Map Files
---------------
The settings explained in the section above may also be set in a map file. An
example of how to use the Saltify driver with a map file follows:

.. code-block:: yaml
# /etc/salt/saltify-map
make_salty:
- my-instance-0:
ssh_host: 12.34.56.78
ssh_username: root
password: very-bad-password
- my-instance-1:
ssh_host: 44.33.22.11
ssh_username: root
password: another-bad-pass
Note: When using a cloud map with the Saltify driver, the name of the profile
to use, in this case ``make_salty``, must be defined in a profile config. For
example:

.. code-block:: yaml
# /etc/salt/cloud.profiles.d/saltify.conf
make_salty:
provider: my-saltify-config
The machines listed in the map file can now be "Salted" by applying the
following salt map command:

.. code-block:: bash
salt-cloud -m /etc/salt/saltify-map
This command will install salt on the machines specified in the map and will
give each machine their minion id of ``my-instance-0`` and ``my-instance-1``,
respectively. If the command was executed on the salt-master, its Salt key will
automatically be signed on the master.

Connectivity to the new "Salted" instances can now be verified with Salt:

.. code-block:: bash
salt 'my-instance-*' test.ping
2 changes: 1 addition & 1 deletion doc/topics/development/logging.rst
Expand Up @@ -2,4 +2,4 @@
Logging Internals
=================

TODO
TODO
26 changes: 1 addition & 25 deletions doc/topics/installation/suse.rst
Expand Up @@ -2,7 +2,7 @@
SUSE Installation
=================

With openSUSE 13.1, Salt 0.16.4 has been available in the primary repositories.
With openSUSE 13.2, Salt 2014.1.11 is available in the primary repositories.
The devel:language:python repo will have more up to date versions of salt,
all package development will be done there.

Expand Down Expand Up @@ -109,30 +109,6 @@ For openSUSE 13.1 run the following as root:
zypper refresh
zypper install salt salt-minion salt-master
For openSUSE 12.3 run the following as root:

.. code-block:: bash
zypper addrepo http://download.opensuse.org/repositories/devel:languages:python/openSUSE_12.3/devel:languages:python.repo
zypper refresh
zypper install salt salt-minion salt-master
For openSUSE 12.2 run the following as root:

.. code-block:: bash
zypper addrepo http://download.opensuse.org/repositories/devel:languages:python/openSUSE_12.2/devel:languages:python.repo
zypper refresh
zypper install salt salt-minion salt-master
For openSUSE 12.1 run the following as root:

.. code-block:: bash
zypper addrepo http://download.opensuse.org/repositories/devel:languages:python/openSUSE_12.1/devel:languages:python.repo
zypper refresh
zypper install salt salt-minion salt-master
For bleeding edge python Factory run the following as root:

.. code-block:: bash
Expand Down
2 changes: 1 addition & 1 deletion doc/topics/installation/windows.rst
Expand Up @@ -23,7 +23,7 @@ minion exe>` should match the contents of the corresponding md5 file.

`Earlier builds from supported branches <https://repo.saltstack.com/windows/>`__

`Archived builds from unsupported branches <https://repo.saltstack.com/archive/>`__
`Archived builds from unsupported branches <https://repo.saltstack.com/windows/archive/>`__

.. note::

Expand Down
13 changes: 7 additions & 6 deletions doc/topics/jobs/schedule.rst
Expand Up @@ -184,14 +184,15 @@ configuration file:
.. code-block:: yaml
schedule:
orchestrate:
run_my_orch:
function: state.orchestrate
seconds: 35
minutes: 30
hours: 3
hours: 6
splay: 600
args:
- orchestration.my_orch
The above configuration will execute the state.orchestrate runner every 3 hours,
30 minutes and 35 seconds, or every 12,635 seconds.
The above configuration is analogous to running
``salt-run state.orch orchestration.my_orch`` every 6 hours.

Scheduler With Returner
=======================
Expand Down
38 changes: 38 additions & 0 deletions doc/topics/ssh/index.html
@@ -0,0 +1,38 @@

<row class="intro-row">
<div class="col-sm-6">
<div class="intro-text">Execute salt commands and states over ssh without installing a salt-minion.</div>
</div>

<div class="col-sm-6">
<div class="embed-responsive embed-responsive-16by9">
<iframe class="embed-responsive-item" src="https://www.youtube.com/embed/F3WZKhKKhz0"></iframe>
</div>
</div>

</row>

<row class="intro-row">
<div class="col-sm-12"><br />
</div>
</row>

<row class="intro-row">
<div class="col-sm-6">
<div class="embed-responsive embed-responsive-16by9">
<iframe class="embed-responsive-item" src="https://www.youtube.com/embed/qWG5pI8Glbs"></iframe>
</div>
</div>

<div class="col-sm-6">
<div class="embed-responsive embed-responsive-16by9">
<iframe class="embed-responsive-item" src="https://www.youtube.com/embed/d1Q1g5AFHbk"></iframe>
</div>
</div>

</row>

<row class="intro-row">
<div class="col-sm-12"><br />
</div>
</row>

0 comments on commit 1e1f5f3

Please sign in to comment.