2
0
Commit Graph

179 Commits

Author SHA1 Message Date
Matthew X. Economou
827ed47a25 Filter all calls to formulas_git_opt through load_yaml
Jinja macros are not actually functions.  The only thing they can return
is a string.  In order to return structured data, the callee must
serialize it, and the caller must deserialize it.  This state formula
uses YAML as the intermediary, hence the occurrence of both the
`|yaml` (callee) and `|load_yaml` (caller) filters in its code.

The post-render "mapping values are not allowed here" error in
*salt/formulas.sls* or the broken rendering of
*salt/files/master.d/f_defaults.conf* happens because invocations of the
`formulas_git_opt` macro in several Jinja `set` statements do not get
deserialized, resulting in the trailing newline followed by three dot
characters (`...`), which YAML uses to signal the end of a document.
Correcting these rendering errors requires adding the necessary
deserialization code at those locations (i.e., filtering the macro call
through `|load_yaml`).
2015-09-03 14:56:45 -04:00
Shane Poage
f0e691fa13 Fixed conflict with git-formula by allowing either inclusion of formula to install git dependency or specify a package name to install with a custom state ID. 2015-09-01 18:33:18 -05:00
Brian Jackson
9779609bc4 Remove mapping test
This test isn't available in certain popular versions of Jinja (namely the one
installed by default in CentOS 6).
2015-08-27 17:37:53 -05:00
Shane Poage
addc6d5a26 Added logic to properly install pygit2 on ubuntu systems and made the pygit2 installation more flexible in general. 2015-08-20 02:46:16 -05:00
Nitin Madhok
5db269e560 Merge pull request #166 from irtnog/enable-salt-api-service
Configure the salt-api service to start at boot time
2015-08-09 07:58:04 -04:00
Simon Lloyd
02f7b279a1 Only watch salt-api package if install_packages=true
Also watch salt-api pkg instead of salt-master one.
2015-08-08 17:58:45 +02:00
jpic
825fd7cd77 Fixed pillar_roots generation for salt-master.
With a simple pillar like this::

    $ sudo salt-call --config-dir /srv/etc/bootstrap --pillar-root /srv/pillar pillar.get salt:pillar_roots
    local:
        ----------
        base:
            - /srv/pillar

This was generated in /etc/salt/master.d/f_defaults.conf::

    # highstate format, and is generally just key/value pairs.
    pillar_roots:base:- /srv/pillar
    #

Resulting in parse errors by salt::

    $ sudo salt '*' state.highstate
    [ERROR   ] Error parsing configuration file: /etc/salt/master.d/f_defaults.conf - while scanning a simple key
      in "<string>", line 531, column 1:
        pillar_roots:base:- /srv/pillar
        ^
    could not found expected ':'
      in "<string>", line 532, column 1:
        #
        ^
    [ERROR   ] Error parsing configuration file: /etc/salt/master.d/f_defaults.conf - while scanning a simple key
      in "<string>", line 531, column 1:
        pillar_roots:base:- /srv/pillar
        ^
    could not found expected ':'
      in "<string>", line 532, column 1:
        #
        ^

This patch will fix it as such::

          ID: salt-master
    Function: file.recurse
        Name: /etc/salt/master.d
      Result: True
     Comment: Recursively updated /etc/salt/master.d
     Started: 11:37:12.946823
    Duration: 6255.296 ms
     Changes:
              ----------
              /etc/salt/master.d/f_defaults.conf:
                  ----------
                  diff:
                      ---
                      +++
                      @@ -528,7 +528,9 @@
                       # Pillar is laid out in the same fashion as the file server, with environments,
                       # a top file and sls files. However, pillar data does not need to be in the
                       # highstate format, and is generally just key/value pairs.
                      -pillar_roots:base:- /srv/pillar
                      +pillar_roots:
                      +  base:
                      +    - /srv/pillar
                       #

Resulting in::

    # highstate format, and is generally just key/value pairs.
    pillar_roots:
      base:
        - /srv/pillar
    #
2015-08-06 11:37:55 +02:00
Matthew X. Economou
c014015e79 Configure the salt-api service to start at boot time 2015-08-02 21:17:36 -04:00
puneet kandhari
2af4bf3bb5 Merge pull request #161 from genuss/sign_pubkey
Add options for mult-master setup
2015-07-27 06:58:48 -05:00
Matthew X. Economou
ba9cc2605c Use the py27-pygit2 package when installing pygit2 on FreeBSD 2015-07-24 17:06:15 -04:00
Matthew X. Economou
ea5a9f1f2c Merge remote-tracking branch 'upstream/master' into fix-freebsd-gitpython-package 2015-07-24 16:53:24 -04:00
Matthew X. Economou
ef275bd138 Allow customizing the GitPython package name. 2015-07-24 16:31:00 -04:00
Matthew X. Economou
b477990830 Use the py27-GitPython package when installing GitPython on FreeBSD. 2015-07-24 16:30:02 -04:00
Matthew X. Economou
85a426ccdf Add new salt:python_git key.
This key defaults to a value of `python-git`.
2015-07-24 16:27:52 -04:00
Matthew X. Economou
5b93601c78 Use the py27-salt package when installing salt-ssh on FreeBSD
On FreeBSD salt-ssh gets bundled into a single package with the other
SaltStack components (minion, master, etc.).
2015-07-24 16:11:23 -04:00
genus
a738198d8b Add verify_master_pubkey_sign 2015-07-24 17:58:41 +03:00
genus
fffd30fe17 Add master_sign_pubkey option 2015-07-24 17:41:49 +03:00
Brian Jackson
4c1f57792a Revert "Advance sal/api.sls, install rest_cherrypy or rest_tornado from pip."
This reverts commit 7bb82b0178.
2015-07-20 17:05:57 -05:00
Brian Jackson
6e98d508c4 Revert "Fix salt/api.sls."
This reverts commit 8a1b8dc9db.
2015-07-20 17:05:57 -05:00
Brian Jackson
d216a3f651 Revert "Install cherrypy/tornado from pip only if use_pip is True."
This reverts commit 90282eff03.
2015-07-20 17:05:56 -05:00
Brian Jackson
8448aa4021 Revert "Fix stuff suggested by @iggy."
This reverts commit c5ae289fa1.
2015-07-20 17:05:56 -05:00
Brian Jackson
ed3ab22a13 Revert "Add support for GitPython and salt-ssh on FreeBSD masters"
This reverts commit b03831c0b0.
2015-07-20 17:05:56 -05:00
Brian Jackson
f9cb912a65 Revert "salt.api state fails"
This reverts commit 22b8dde1ff.
2015-07-20 17:05:56 -05:00
Brian Jackson
ef73e4ce98 Revert "Change variable lookup to match usage in other states"
This reverts commit 14b466e022.
2015-07-20 17:05:54 -05:00
puneet kandhari
b04fc8c843 Merge pull request #154 from irtnog/add-freebsd-support-saltssh-gitpython
Add support for GitPython and salt-ssh on FreeBSD masters
2015-07-14 06:43:03 -07:00
Matthew X. Economou
14b466e022 Change variable lookup to match usage in other states
Done at the maintainer's request.
2015-07-14 09:40:16 -04:00
Marco Orovecchia
22b8dde1ff salt.api state fails
Seems there are several colons missing for salt.api to work correctly, hope I found all of them
2015-07-14 14:21:14 +02:00
Matthew X. Economou
b03831c0b0 Add support for GitPython and salt-ssh on FreeBSD masters
This change tweaks the GitPython package installation state to support
alternate package names (on FreeBSD, it's called "py27-GitPython").
Also, on FreeBSD salt-ssh is included in the "py27-salt" package by
default, requiring an update to `distro_map`.
2015-07-14 03:22:28 -04:00
René Jochum
c5ae289fa1 Fix stuff suggested by @iggy.
Signed-off-by: René Jochum <rene@jochums.at>
2015-07-13 22:31:32 +02:00
René Jochum
90282eff03 Install cherrypy/tornado from pip only if use_pip is True.
Signed-off-by: René Jochum <rene@jochums.at>
2015-07-13 22:08:20 +02:00
René Jochum
8a1b8dc9db Fix salt/api.sls.
Signed-off-by: René Jochum <rene@jochums.at>
2015-07-13 13:46:17 +02:00
René Jochum
7bb82b0178 Advance sal/api.sls, install rest_cherrypy or rest_tornado from pip.
Signed-off-by: René Jochum <rene@jochums.at>
2015-07-13 13:37:10 +02:00
Brian Jackson
779e6c9c63 Merge pull request #122 from matthew-parlette/master
Updated master.d/f_defaults for 2014.7
2015-07-07 12:43:01 -05:00
Devin Christensen
645b4c65ce Fix syntax error 2015-06-19 15:33:16 -06:00
puneet kandhari
8fcb42819b Merge pull request #146 from quixoten/fix_syndic
Fix syndic requisites
2015-06-17 11:28:28 -05:00
Devin Christensen
8479111cbd Fix syndic requisites
The syndic service was depending upon itself, which caused the salt run
to fail. This commit fixes that by depending on the salt-master service
rather than the salt-syndic service. I also made it more general by
using IDs to specify the provider rather than the name, which is a bit
less reliable.
2015-06-17 09:53:31 -06:00
Petr Demin
eb421c676f formulas.jinja: python 2.6 support 2015-06-17 17:51:40 +03:00
Petr Demin
d4180295e3 formulas.jinja: python 2.6 support 2015-06-17 17:12:28 +03:00
Niels Abspoel
6ec31374cb Remove hardcoded paths with {{ slspath }} variable 2015-06-09 23:05:49 +02:00
Matt Willsher
1cf72d85f8 The git command line tool is a requirement of pygit2 2015-06-05 21:27:01 +01:00
Matt Willsher
e2d192ba89 Improvements to Enterprise Linux family OSs.
* Install pygit from package
* Add Official Salt ZeroMQ 4 COPR repository

Note that Salt itself is assumed to already to be available to the system via yum, via EPEL for example
2015-06-04 17:35:40 +01:00
puneet kandhari
145b58a9d3 Remove Duplicates from defaults.yaml and map.jinja 2015-05-26 13:28:17 -05:00
Niels Abspoel
14c262fdad fix empty formulas list in pillar with empty dic. 2015-05-17 15:39:49 +02:00
Edvinas Klovas
8992e15882 fix typo 2015-05-16 15:51:19 +03:00
Edvinas Klovas
47b37f2ffb Fix pillar_roots configuration format in master
This commit fixes how `pillar_roots` are generated and after this fix the
generated configuration does not contain any unnecessary new lines:

```yaml
pillar_roots:
  base:
     /srv/salt/dir1
  dev:
     /srv/salt/dir2
     /srv/salt/dir3
  locale:
     /srv/salt/dir4
```

Before this commit the pillar_roots in `f_defaults.conf` for master would be
generated with a lot of empty lines in between directories, like this:

```yaml
pillar_roots:

  base:

     /srv/salt/dir1

  dev:

     /srv/salt/dir2

     /srv/salt/dir3

  local:

     /srv/salt/dir4

```

The minion configuration is not affected and renders fine.
2015-05-16 15:15:56 +03:00
Javier Domingo
4344a1311b Cleanup template for easier user reading
The user will already have it's /etc/salt/minion file, so it doesn't need all this info, and it makes easier to know what has been generated and what not
2015-05-08 22:33:43 +02:00
Andrew Vant
a01249a7fc ec2/gce profiles/providers are no longer configured if they are not used.
Needed because salt-cloud will attempt to load them even if they are
filled with invalid default values, creating error spam.
2015-04-17 10:48:47 -04:00
Matt Parlette
efcefd6579 Updated master.d/f_defaults for 2014.7
Added config setting for:

* pillar_source_merging_strategy
2015-04-15 15:36:09 -04:00
Brian Jackson
15e63e8fd0 Merge pull request #117 from andrew-vant/cloud-templates-redirect
Added pillar option to redirect profile and map folders.
2015-04-14 11:34:12 -05:00
Andrew Vant
e632b8bcb5 Cloud file.recurse loop no longer hardcodes folder list. 2015-04-13 16:08:11 -04:00