Git Product home page Git Product logo

netscaler-ansible-modules's Introduction

Citrix NetScaler Ansible modules

This repository provides Ansible modules for configuring Citrix NetScaler instances. It uses the NITRO REST API. All form factors of Citrix NetScaler are supported.

The code here should be considered alpha quality and may be broken at times due to experiments and refactoring. Tagged releases should be stable. The most stable version will be availble with Ansible automatically.

Documentation is hosted at readthedocs.

Currently the following modules are implemented

  • netscaler_cs_action. Configure content switching actions.
  • netscaler_cs_policy. Configure content switching policies
  • netscaler_cs_vserver. Configure content swtiching virtual servers.
  • netscaler_lb_monitor. Configure load balancing monitors.
  • netscaler_lb_vserver. Configure load balancing virtual servers.
  • netscaler_server. Configure server instances.
  • netscaler_service. Configure NetScaler services.
  • netscaler_servicegroup. Configure NetScaler service groups.
  • netscaler_ssl_cert_key. Configure NetScaler ssl certs
  • netscaler_gslb_vserver. Configure GSLB vserver
  • netscaler_gslb_service. Configure GSLB service
  • netscaler_gslb_site. Configure GSLB sites

Pre-requisites

Installation

Using virtualenv (recommended)

Use of a python virtualenv during installation is recommended.

  • Activate the virtualenv (source bin/activate)
  • Install all dependencies by running pip install -r requirements.test.txt from the project checkout.
  • Install the netscaler modules using python install.py

Global install

  • Install Ansible (sudo pip install ansible)
  • Install NetScaler SDK (sudo python install_nitro_sdk.py)
  • Install NetScaler modules (sudo python install.py). It tries to find the ansible installation directory and then copies the module files to the appropriate places.

If the ansible installation is on a dirctory that requires root access, the install script should be run with root privileges. If the isntallation script fails and you know where ansible is located on your system you can do a manual installation. Just copy the contents of the ansible-modules directory to the extras module directory and the netscaler.py file to the module_utils directory of ansible.

Usage

All modules are intended to be run on the ansible control machine or a jumpserver with access to the Citrix NetScaler appliance. To do this you need to use the local_action or the delegate_to options in your playbooks.

There are sample playbooks in the samples directory.

Detailed documentation for each module can be found in the htmldoc directory.

Documentation regarding the Citrix NetScaler appliance configuration in general can be found at the following link, http://docs.citrix.com/en-us/netscaler/11-1.html

Directory structure

  • ansible-modules. Contains all the ansible modules available. These are the files that must be installed on an ansible control node in order for the functionality to be present

  • tests. Contains the test suite for the modules. It requires some extra dependencies than the plain modules in order to run.

  • samples. Contains some sample playbooks that combine more than one modules together to achieve a desired configuration. Examples of the modules' usage are also contained in the EXAMPLES section of the modules themselves.

  • htmldoc. Contains the html documentation for each module.

  • utils. Contains utilities mainly used for the authoring of the modules and are not relevant to the end user.

  • documentation_fragments. Contains the Citrix NetScaler specific documentation files for ansible.

  • run_tests.py. Top level script to run all the tests.

LICENSE

GPL V3 See LICENSE

COPYRIGHT

COPYRIGHT 2017 CITRIX Systems Inc

Contributions

Pull requests and issues are welcome.

netscaler-ansible-modules's People

Contributors

chiradeep 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.