Repository for saltstack modules
This code is now being generated using the SDK generator at https://github.com/a10networks/sdkgenerator
a10-salstack is a set of Saltstack modules and example playbooks for interacting with AXAPI v3 for configuration and monitoring of A10 ACOS-based hardware and virtual appliances. The module code and example playbooks are generated using a combination of Python code and Jinja templates.
a10-saltstack is distributed as a Python package. It can be installed from the Github repository. It is assumed that saltstack is already installed and configured.
The salt modules have mvoed from a10-saltstack to a fork of the salt repo. That fork can be found here: https://github.com/a10networks/salt/tree/a10_salt
$ git clone https://github.com/a10networks/salt
$ cd salt
$ git checkout a10_salt
$ mkdir /srv/salt
$ ln -s ~/salt/salt/states /srv/salt/_states
$ ln -s ~/salt/salt/proxy /srv/salt/_proxy
$ ln -s ~/salt/salt/modules /srv/salt/_modules
- Note that if you are Ubuntu 16.04, you'll need to add the deb in order to access the latest version of saltstack. Follow the steps here: https://repo.saltstack.com/#ubuntu
-
Install the necessary packages:
sudo apt-get install salt-api; sudo apt-get install salt-cloud; sudo apt-get install salt-master; sudo apt-get install salt-ssh; sudo apt-get install salt-syndic
-
Clone the a10 salt repository:
git clone https://github.com/a10networks/salt
-
On the master, create the salt directory:
sudo mkdir /srv/salt
-
Create pillar directory and step into it:
mkdir /srv/pillar; cd /srv/pillar
-
Create
a10.sls
andtop.sls
files:
touch a10.sls top.sls
-
Add the following to
a10.sls
with information filled in:
proxytype: a10
host: <ip or dns name of host>
username: <username>
port: <port number>
protocol: <https, https, tcp, etc.>
password: <supersecret>
- Add the following to
top.sls
:
base:
'a10':
- a10
-
Link the proxy dir to the srv directory:
sudo ln -s ~/salt/salt/proxy /srv/salt/_proxy
-
Link the modules dir to the srv directory:
sudo ln -s ~/salt/salt/modules /srv/salt/_modules
-
Link the states dir to the srv directory:
sudo ln -s ~/salt/salt/states /srv/salt/_states
-
Ensure that the master is running:
sudo service salt-master restart
-
(Executed after proxy minion is configured an running to accept key):
sudo salt-key -y -a a10
-
On the proxy minion, install the following packages:
sudo apt-get install salt-api; sudo apt-get install salt-cloud; sudo apt-get install salt-minion; sudo apt-get install salt-ssh; sudo apt-get install salt-syndic
-
Clone this repository:
git clone git@github.com:a10networks/a10-saltstack.git
-
Pip install the repo:
cd a10-saltstack; sudo pip install -e .
-
Edit
/etc/salt/proxy
and add an entry for your master's location:
sudo vim /etc/salt/proxy
- Add
master: <master server ip>
to file
- Start the salt-proxy in debug mode:
sudo salt-proxy --proxyid=a10 -l debug
Please submit bug reports and feature requests via GitHub issues. When reporting bugs, please include the statefile that demonstrates the bug and the Saltstack output. Stack traces are always nice, but state files work well. Please ensure any sensitive information is redacted as Issues and Pull Requests are publicly viewable.
If you have a question that cannot be submitted via Github Issues, please email openstack-dl@a10networks.com with "a10-saltstack" in the subject line.