saltstack_quickstart.sh
## 0.Introduction
Salt is:
-- a configuration management system, capable of maintaining remote nodes in defined states (for example, ensuring that specific packages are installed and specific services are running)
-- a distributed remote execution system used to execute commands and query data on remote nodes, either individually or by arbitrary selection criteria
## 1.Enabling EPEL on RHEL
# RHEL 5:
rpm -Uvh http://mirror.pnl.gov/epel/5/i386/epel-release-5-4.noarch.rpm
wget http://copr.fedoraproject.org/coprs/saltstack/zeromq4/repo/epel-5/saltstack-zeromq4-epel-5.repo -O /etc/yum.repos.d/saltstack-zeromq4.repo
yum install -y python-hashlib python26-zmq
# RHEL 6:
rpm -Uvh http://ftp.linux.ncsu.edu/pub/epel/6/i386/epel-release-6-8.noarch.rpm
wget http://copr.fedoraproject.org/coprs/saltstack/zeromq4/repo/epel-6/saltstack-zeromq4-epel-6.repo -O /etc/yum.repos.d/saltstack-zeromq4.repo
####### a script can be an option #######
#!/bin/bash 
PATH=/bin:/sbin:/usr/bin:/usr/sbin:/usr/local/bin:/usr/local/sbin 
exprot PATH
function_salt_repo()
{
RHEL_VER=`uname -r | awk 'BEGIN {FS="."} {print $4}'`
case $RHEL_VER in 
    "el5")
        rpm -Uvh http://mirror.pnl.gov/epel/5/i386/epel-release-5-4.noarch.rpm
        wget http://copr.fedoraproject.org/coprs/saltstack/zeromq4/repo/epel-5/saltstack-zeromq4-epel-5.repo -O /etc/yum.repos.d/saltstack-zeromq4.repo
        yum install -y python-hashlib python26-zmq
        ;;
    "el6")
        rpm -Uvh http://ftp.linux.ncsu.edu/pub/epel/6/i386/epel-release-6-8.noarch.rpm
        wget http://copr.fedoraproject.org/coprs/saltstack/zeromq4/repo/epel-6/saltstack-zeromq4-epel-6.repo -O /etc/yum.repos.d/saltstack-zeromq4.repo
        ;;
    *)
        echo "Only Support CentOS 5 || 6!"
        ;;
esac
}
####### end of file #######
## 2. install 
# salt-master
yum install salt-master
chkconfig salt-master on
/etc/init.d/salt-master start
# salt-minion
yum install salt-minion | yum --enablerepo=epel-testing install salt-minion
chkconfig salt-minion on
/etc/init.d/salt-minion start 
# ZEROMQ 4 http://copr.fedoraproject.org/coprs/saltstack/zeromq4/
# RHEL/CentOS 5 Users Using COPR repos on RHEL/CentOS 5 requires that the 
# python-hashlib package be installed. Not having it present will result in 
# checksum errors because YUM will not be able to process the SHA256 
# checksums used by COPR.
## 3. configuration 
# master configuration
vim /etc/salt/master
file_roots:
  base:
    - /srv/salt
    
# minion configuration
vim /etc/salt/minion 
- # master: salt
+ master: 192.168.1.11
- $id: 
+ $id: 101
# run salt in the foreground
salt-master 
salt-minion 
# add key && test 
# salt-key
salt-key -L
salt-key -A
salt-key -D
salt-key -a 101 
salt-key -d 101 
# test 
salt \* test.ping -v