Skip to main content

Salt stack issues


  • The function "state.apply" is running as PID


Restart salt-minion with command: service salt-minion restart

  • No matching sls found for 'init' in env 'base'


Add top.sls file in the directory where your main sls file is present.

Create the file as follows:

[code language="bash"]
base:
'web*':
- apache

[/code]

If the sls is present in a subdirectory elasticsearch/init.sls then write the top.sls as:

[code language="bash"]
base:
'*':
- elasticsearch.init
[/code]

  • How to execute saltstack-formulas

    1. create file /srv/pillar/top.sls with content:



    base:
    '*':
    - salt



    1. create file /srv/pillar/salt.sls with content:



    salt:
    master:
    worker_threads: 2
    fileserver_backend:
    - roots
    - git
    gitfs_remotes:
    - git://github.com/saltstack-formulas/epel-formula.git
    - git://github.com/saltstack-formulas/git-formula.git
    - git://github.com/saltstack-formulas/nano-formula.git
    - git://github.com/saltstack-formulas/rabbitmq-formula.git
    - git://github.com/saltstack-formulas/remi-formula.git
    - git://github.com/saltstack-formulas/vim-formula.git
    - git://github.com/saltstack-formulas/salt-formula.git
    - git://github.com/saltstack-formulas/users-formula.git
    external_auth:
    pam:
    tiger:
    - .*
    - '@runner'
    - '@wheel'
    file_roots:
    base:
    - /srv/salt
    pillar_roots:
    base:
    - /srv/pillar
    halite:
    level: 'debug'
    server: 'gevent'
    host: '0.0.0.0'
    port: '8080'
    cors: False
    tls: True
    certpath: '/etc/pki/tls/certs/localhost.crt'
    keypath: '/etc/pki/tls/certs/localhost.key'
    pempath: '/etc/pki/tls/certs/localhost.pem'
    minion:
    master: localhost



    1. before you can use saltstack-formula you need to make one change to /etc/salt/master and add next config:



    fileserver_backend:
    - roots
    - git
    gitfs_remotes:
    - git://github.com/saltstack-formulas/salt-formula.git



    1. restart salt-master (e.g. service salt-master restart)

    2. run salt-call state.sls salt.master



  • The Salt Master has cached the public key for this node


Execute the following command:

delete the exiting key on master by:

salt-key -d <minion-id>

then restart minion. Then reaccept the key on master:

salt-key -a <minion-id>

  • If salt-cloud is giving error as below:


Missing dependency: 'netaddr'. The openstack driver requires 'netaddr' to be installed.

Execute the command: yum install python-netaddr

then verify if your provider is loaded with command: salt-cloud --list-providers

  • Remove dead minions keys in salt


salt-run manage.down removekeys=True

Comments

  1. […] If you face any issues then refer these links: https://apassionatechie.wordpress.com/2017/07/31/salt-issues/ […]

    ReplyDelete

Post a Comment

Popular posts from this blog

Saltstack and Vault integration

First install and configure vault using this tutorial: https://apassionatechie.wordpress.com/2017/03/05/hashicorp-vault/ Use the latest version of vault. Then install salt using the steps given here: https://docs.saltstack.com/en/latest/topics/installation/ If you face any issues then refer these links: https://apassionatechie.wordpress.com/2017/07/31/salt-issues/ https://apassionatechie.wordpress.com/2017/08/03/salt-stack-formulas/ Now let's integrate vault and salt so that we can access vault secrets from inside salt state. First let's add some key values into our vault. vault write secret/ssh/user1 password="abc123" Then you can check it by reading: vault read secret/ssh/user1 To allow salt to access your secrets you must firstly create a policy as follows: salt-policy.hcl [code] path "secret/*" { capabilities = ["read", "list"] } path "auth/*" { capabilities = ["read", "list","sudo",...

Salt stack issues

The function “state.apply” is running as PID Restart salt-minion with command:  service salt-minion restart No matching sls found for ‘init’ in env ‘base’ Add top.sls file in the directory where your main sls file is present. Create the file as follows: 1 2 3 base: 'web*' : - apache If the sls is present in a subdirectory elasticsearch/init.sls then write the top.sls as: 1 2 3 base: '*' : - elasticsearch.init How to execute saltstack-formulas create file  /srv/pillar/top.sls  with content: base : ' * ' : - salt create file  /srv/pillar/salt.sls  with content: salt : master : worker_threads : 2 fileserver_backend : - roots - git gitfs_remotes : - git://github.com/saltstack-formulas/epel-formula.git - git://github.com/saltstack-formulas/git-formula.git - git://github.com/saltstack-formulas/nano-formula.git - git://github.com/saltstack-f...

How to grep the output of cURL?

curl writes the output to stderr, so redirect that and also suppress the progress: curl - v -- silent https :// google . com / 2 >& 1 | grep expire The reason why  curl  writes the information to stderr is so you can do: curl <url> | someprgram  without that information clobbering the input of  someprogram It is possible to use  --stderr -  as parameter, to redirect the output from stderr (default) to stdout. With this option you also should use  --silent  to suppress the progress bar. $ curl - v -- silent https :// google . com / -- stderr - | grep expire * expire date : 2015 - 09 - 01 00 : 00 : 00 GMT