Giter VIP home page Giter VIP logo

nso-ansible-ops's Introduction

Basic Ansible NSO playbook collection


Summary

An ansible collection that will install NSO and its packages and configurations into target systems based on an NSO system installation. The playbooks are intended to consist of small units of functionality that can be run sequentially to achieve an operations goal.

Basic Theory of Ops

3 variables are used for the playbooks

  • nsobin - the filename of the NSO installation binary
  • pkgdst - a directory on the destination where files will be uploaded
  • pkgsrc - a local directory where the NSO installer and the packages and NEDs are stored. This directory is expected to be prepared in advance of the playbook calls and have a structure of (pkgsrc = path/to/distribution):
           distribution/
                 |
     -----------------------
     |                     |
 nso-installer.bin      packages/
                  (.tgz or .tar.gz packages)

Setup

For best results, the following actions should be performed on the target system

  • add the management user. "tailf" is the example user in these playbooks. Other usernames should be changed in all files where they occur
  • add to the sudoers file as: tailf ALL=(ALL) NOPASSWD: ALL
  • if you cannot do the previous line, you will need to add --ask-sudo-pass to most of the playbook lines
  • add the manager ssh keys for the tailf user on the target system
  • edit the inventory file to add the target hosts

Examples

Basic examples of sequences below to show command execution from a bash shell (the variables have been set in advance).

To install

  • ansible-playbook -i inventory copy_packages.yml -e "pkgsrc=$SRCDIR pkgdst=$DSTDIR"
  • ansible-playbook -i inventory install_nso.yml -e "nsobin=$NSOBIN pkgdst=$DSTDIR"
  • ansible-playbook -i inventory start_nso.yml

To update the packages on an installation

  • ansible-playbook -i inventory copy_packages.yml -e "pkgsrc=$SRCDIR pkgdst=$BASEDIR"
  • ansible-playbook -i inventory update_packages.yml -e "pkgdst=$DSTDIR"
  • ansible-playbook -i inventory reload_packages.yml

To stop and remove an installation

  • ansible-playbook -i inventory stop_nso.yml
  • ansible-playbook -i inventory clean_nso.yml

nso-ansible-ops's People

Contributors

sbarvick-dd avatar

Stargazers

Joshua avatar Heine Melo avatar  avatar Sumit Kothiyal avatar  avatar

Watchers

 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.