GithubHelp home page GithubHelp logo

techiewarrior / slt-ans-networks Goto Github PK

View Code? Open in Web Editor NEW

This project forked from nickrusso42518/slt-ans-networks

0.0 0.0 0.0 25 KB

Safari Live Training - Ansible for Managing Network Devices

License: GNU General Public License v3.0

Makefile 100.00%

slt-ans-networks's Introduction

Build Status

Safari Live Training - Ansible for Managing Network Devices

Source code for the training course. Please contact me with any questions. Before beginning, be sure you know how to use git at a basic level on your computer. For this course, only Linux platforms should be used for the control/development machine.

Contact information:
Email: [email protected]
Twitter: @nickrusso42518

Download Instructions

The easiest way to consume this code is to clone it using SSH or HTTPS.

SSH: git clone [email protected]:nickrusso42518/slt-ans-networks

or

HTTPS: git clone https://github.com/nickrusso42518/slt-ans-networks.git

After cloning, you should see the following file system structure:

$ tree
.
├── getter
│   ├── ansible.cfg
│   ├── getter_playbook.yml
│   ├── group_vars
│   │   └── routers.yml
│   ├── hosts.yml
│   └── README.md
├── LICENSE
├── Makefile
├── ntp
│   ├── ansible.cfg
│   ├── group_vars
│   │   └── routers.yml
│   ├── hosts.yml
│   ├── ntp_playbook.yml
│   ├── README.md
│   └── templates
│       └── ntp_config.j2
├── README.md
└── requirements.txt

Ensure you have Python 3.6 or newer installed along with pip.

Visit https://www.python.org/downloads/ to download Python.

sudo python -m ensurepip

or

sudo easy_install pip

You can install the specific packages (really just Ansible and a YAML linter) using the following command:

pip install -r requirements.txt

You should have access to the ansible command on the correct version.

$ ansible --version
ansible 2.8.7
  config file = /home/ec2-user/racc/ansible.cfg
  configured module search path = ['/home/ec2-user/.ansible/plugins/modules',
    '/usr/share/ansible/plugins/modules']
  ansible python module location =
    /home/ec2-user/environments/racc287/lib/python3.7/site-packages/ansible
  executable location = /home/ec2-user/environments/racc287/bin/ansible
  python version = 3.7.3 (default, Aug 27 2019, 16:56:53)
    [GCC 4.8.5 20150623 (Red Hat 4.8.5-36)]

Usage

There are two main subdirectories, each containing their own project files. The getter/ subdirectory is a basic configuration runner and the ntp/ subdirectory performs basic line-level NTP configuration management.

These individual projects have their own READMEs which provides more information about their main purpose in this course.

Testing

A GNU Makefile with phony targets is used for testing this codebase. There is currently only one step:

  • lint: Runs YAML linter. This captures any syntax or styling errors with the Ansible playbooks or variable files.

You can run make lint to execute the testing manually. Because these two projects are used for reference only and are not cloned into the course, more detailed testing is not needed. They are kept as simple as possible for learning purposes. The production playbooks racc and natm have more comprehensive testing via CI.

slt-ans-networks's People

Contributors

nickrusso42518 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.