Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/titom73/ansible-junos-ztp
Sample project that use Ansible to automate setup and management of a ZTP server to provision Junos devices with software and startup configuration.
https://github.com/titom73/ansible-junos-ztp
ansible ansible-roles playbook-ztp ztp ztp-servers
Last synced: 3 months ago
JSON representation
Sample project that use Ansible to automate setup and management of a ZTP server to provision Junos devices with software and startup configuration.
- Host: GitHub
- URL: https://github.com/titom73/ansible-junos-ztp
- Owner: titom73
- License: apache-2.0
- Archived: true
- Created: 2016-08-02T19:32:46.000Z (over 8 years ago)
- Default Branch: master
- Last Pushed: 2020-10-27T21:16:08.000Z (about 4 years ago)
- Last Synced: 2024-09-26T06:01:25.824Z (3 months ago)
- Topics: ansible, ansible-roles, playbook-ztp, ztp, ztp-servers
- Homepage:
- Size: 104 KB
- Stars: 16
- Watchers: 7
- Forks: 3
- Open Issues: 1
-
Metadata Files:
- Readme: README.md
- Contributing: CONTRIBUTING.md
- License: LICENSE
Awesome Lists containing this project
README
[![Build Status](https://travis-ci.org/titom73/ansible-junos-ztp.svg?branch=master)](https://travis-ci.org/titom73/ansible-junos-ztp)
# Ansible to configure and update ZTP server
Sample project using Ansible to setup and manage ZTP server.
In this project you'll find:
- (1) **A role to install all software on the remote server** with Playbooks and variables based on Ubuntu/Debian system.
- (2) Severals **ansible roles** packaged and documented into [Ansible roles](roles) to configure DHCP server and to deploy configuration files on all remote ZTP servers (FTP).
- (3) **[Examples of ZTP configurations](conf/ztp)** files.
- (4) **Playbook to play with ZTP roles** and update ZTP in a more complex project.## Info on ZTP server
A Complete description of Zero Touch Provisionning (ZTP) is available on Juniper.net
http://www.juniper.net/techpubs/en_US/junos15.1/topics/concept/software-image-and-configuration-automatic-provisioning-understanding.html# 1. Ansible project to manage ZTP server
This project is managing the creation of a ZTP server running on a Debian like OS
- `ISC-DHCP-Server` is used as part of the DHCP server to provide IP address on the management network.
- `VSFTPd` is used to publish device's configuration and software packages.All devices names, Ip addresses loopback addresses etc .. are defined in the [inventory file named hosts.ini](hosts.ini).
# 2. Playbooks
Available playbooks are listed below:
- [`playbook-ztp-setup`](playbook-ztp-setup.yml): Setup all softwares on ZTP servers
- [`playbook-ztp-init`](playbook-ztp-init.yml): Init local repository
- [`playbook-junos-conf-generate.yml`](playbook-junos-conf-generate.yml): Playbook to generate default configuration for network devices
- [`playbook-ztp-conf-generate`](playbook-ztp-conf-generate.yml): Create configuration for ZTP and store files on a local basis
- [`playbook-ztp-push-data`](playbook-ztp-push-data.yml): Push configuration generated by `playbook-ztp-conf-generate` to remote ztp servers
- [`playbook-ztp-complete`](`playbook-ztp-complete.yml`): Execute all actions in one playbook# 3. Variables
All variables are stored in the [vars.yaml and ztp-variables.yaml](group_vars/all/). Description is available in this directory.
# 4. Additional information
More detailled information are available in the [wiki section](https://github.com/titom73/ansible-junos-ztp/wiki) of this repository
# 5. Contributing
Please refer to the file [CONTRIBUTING.md](CONTRIBUTING.md) for contribution guidelines.