Book Image

Mastering Python Networking

Book Image

Mastering Python Networking

Overview of this book

This book begins with a review of the TCP/ IP protocol suite and a refresher of the core elements of the Python language. Next, you will start using Python and supported libraries to automate network tasks from the current major network vendors. We will look at automating traditional network devices based on the command-line interface, as well as newer devices with API support, with hands-on labs. We will then learn the concepts and practical use cases of the Ansible framework in order to achieve your network goals. We will then move on to using Python for DevOps, starting with using open source tools to test, secure, and analyze your network. Then, we will focus on network monitoring and visualization. We will learn how to retrieve network information using a polling mechanism, ?ow-based monitoring, and visualizing the data programmatically. Next, we will learn how to use the Python framework to build your own customized network web services. In the last module, you will use Python for SDN, where you will use a Python-based controller with OpenFlow in a hands-on lab to learn its concepts and applications. We will compare and contrast OpenFlow, OpenStack, OpenDaylight, and NFV. Finally, you will use everything you’ve learned in the book to construct a migration plan to go from a legacy to a scalable SDN-based network.
Table of Contents (22 chapters)
Title
Humble Bundle
Credits
Foreword
About the Author
About the Reviewer
www.PacktPub.com
Customer Feedback
Preface
12
OpenStack, OpenDaylight, and NFV

Ansible conditionals


Ansible conditionals are similar to programming conditionals, as they are used to control the flow of your playbooks. In many cases, the result of a play may depend on the value of a fact, variable, or the previous task result. For example, if you have a playbook for upgrading router images, you want to make sure the router image is presented before you move onto the play of rebooting the router.

In this section, we will discuss the when clause that is supported for all modules as well as unique conditional states supported in Ansible networking command modules, such as follows:

  • Equal (eq)
  • Not equal (neq)
  • Greater than (gt)
  • Greater than or equal (ge)
  • Less than (lt)
  • Less than or equal (le)
  • Contains

The when clause

The when clause is useful when you need to check the output from the result and act accordingly. Let's look at a simple example of its usage in chapter5_1.yml:

    ---
    - name: IOS Command Output
      hosts: "iosv-devices"
      gather_facts: false
      connection...