Prerequisites

This section provides the required information about the connect module, ultimately enabling you to interact with customers more efficiently and to propose a solution respectively.

Who this guide is intended for:

  • Pre-sales Engineers

  • Developers/Deployment Engineers

  • Development Managers

Planning

There certain factors that you should consider when approaching a customer:

  1. Number and location of their sites (campus, data center)

  2. Number of networking gears (routers, multi-layer switches, firewalls, etc. ) that they manage

  3. Vendor and OS version of their network equipment

  4. Features and technologies that they utilize for instance:

    • Epipe

    • L3VPN

    • LDP

    • etc…

  5. inventory system in use:

    • Kind/brand

    • Quality of data in the inventory system

    • Does it support API calls? If so:

      • How is the quality of the API?

      • How is the response time of the API?

      • The slower the response, the more time it takes to develop/automate

    • Could Inmanta run it in a LAB environment?

    • Size of the data model

    • Interaction mode with the inventory:

      • transaction support

      • planning mode

      • etc…

Development

In general each developer will receive a virtual lab to develop and test on. Upon committing code, tests on that commit will run on our CI/CD solution. The CI server has one or more virtual lab instances of its own, for on-commit and nightly builds. If the LABs have components that can not be virtualized or are too expensive to have many, we share LABs, but that increases the cost of making the tests.

The figure below depicts our development workflow:

Topology

Under certain circumstances, we use physical LABs for our testing and development.

In order to set up a development environment, you need to follow these steps:

  1. Check out our developer getting started guide

  2. Set up a base project using this guide

  3. Check out our supported platforms and features

  4. Set up a test LAB using this guide

  5. Develop or test the current module

  6. Run tests using this guide

In case you could not find the answer to your question, please check out our FAQ page.