This repository is deprecated; please follow the main search page or use the ‘Related code repos’ widget on the right side of the current page.

Nexus to ACI

Nexus to ACI is a solution that allows you to migrate your current nexus basic configuration (NTP, DNS, etc) to the
Application Policy Infrastructure Controller. To use this tool, complete the form with the credentials and upload a nexus configuration file.
The tool will search for the configurations of interest and will send that information to the APIC.

The application runs on top of a Flask Application and uses Javascript (Sijax) and other constructs to create a simple HTML
application that can be deployed in a production environment using Apache/NGINX with WSGI.

Contacts:

Installation

As this is a Flask application you will need to either integrate the application in your production environment or you can
get it operational in a virtual environment on your computer. In the distribution is a requirements.txt file that you can
use to get the package requirements that are needed. The requirements file is located in the root directory of the distribution.

You also need to install docker within your environment. It can be local or remote. In case that you use a remote docker server be aware
that by default the solution looks for a local docker server. To change that behaviour go to app -> sijax_handlers -> docker_handler
and change the constant DOCKER_URL

It might make sense for you to create a Python Virtual Environment before installing the requirements file. For information on utilizing
a virtual environment please read http://docs.python-guide.org/en/latest/dev/virtualenvs/. Once you have a virtual environment active then
install the packages in the requirements file.

(virtualenv) % pip install -r requirements.txt

For security you should change the default flask secret key for this project:

Inside this project
Go to app -> init

Assign this variable:

app.secret_key = ''

This is a flask parameter, just choose a random string of no less than 40 characters.
E.g:
'A0Zr4FhJASD1LFmw0918jHH!jm84$#ssaWQsif!1'

Also, you should generate your own SSL certificates. This command will create them:

openssl req -x509 -newkey rsa:2048 -keyout NCAkey.pem -out NCAcert.pem -days 365 -nodes

After creation, replace the cert and key file within the project.

To run the the application just execute the run.py file.
E.g. for a linux machine will be sudo python run.py

If you need to make the application visible outside your computer, change the run.py file with your own
IP. You can also change the port that the application will be listening.

Use Case

Nexus to ACI is a solution that enables you to migrate your current nexus basic configuration (including NTP and DNS) to the Application Policy Infrastructure Controller. To use this tool, complete the form with the credentials and upload a nexus configuration file. The tool will search for the configurations and will send that information to the APIC.

The application runs on top of a Flask Application and uses Javascript (Sijax) and other constructs to create a simple HTML application. The application can be deployed in a production environment using Apache/NGINX with WSGI.

Contacts:

Prerequisites

You will need to install Docker within your environment, locally or remotely. By default, the solution looks for a local docker server. If you use a remote Docker server, navigate to app/sijax_handlers/docker_handler and edit the DOCKER_URL parameter.

You may want to create a Python Virtual Environment before installing the requirements file. For information about virtual environments, refer to the Python documentation.

Installation

Because this is a Flask application, you can integrate the application in your production environment or launch it in a virtual environment on your computer. The distribution includes a requirements.txt file in the root directory, which you will use to get the package requirements.

  1. Use the following command to install the requirements:

    (virtualenv) % pip install -r requirements.txt
  2. Change the default flask secret key for this project. Navigate to app/__init__ and assign a random string of no less than 40 characters to the app.secret_key parameter, as shown in the following example:

    app.secret_key = ''A0Zr4FhJASD1LFmw0918jHH!jm84$#ssaWQsif!1"
  3. Generate your own SSL certificates with the following command:

    openssl req -x509 -newkey rsa:2048 -keyout NCAkey.pem -out NCAcert.pem -days 365 -nodes
  4. After creation, replace the cert and key file within the project.

  5. To run the application, execute the run.py file. For example, on a Linux machine, use the following command:

    sudo python run.py

If you need to make the application visible outside your computer, edit run.py and add your own IP address. You can also change the port on which the application will be listening.

View code on GitHub
  • Owner

  • Contributors

    +1Github contributor
  • Categories

  • Products

    ACI
  • Programming Languages

    CSSPython
  • License

    Apache License 2.0

Code Exchange Community

Get help, share code, and collaborate with other developers in the Code Exchange community.View Community
Disclaimer:
Cisco provides Code Exchange for convenience and informational purposes only, with no support of any kind. This page contains information and links from third-party websites that are governed by their own separate terms. Reference to a project or contributor on this page does not imply any affiliation with or endorsement by Cisco.