Skip to content

Commit

Permalink
Merge pull request #5 from Juniper/main
Browse files Browse the repository at this point in the history
Rebase 22.8
  • Loading branch information
aburston authored Sep 28, 2022
2 parents 1196272 + d540d29 commit d33cb35
Show file tree
Hide file tree
Showing 4 changed files with 25 additions and 25 deletions.
14 changes: 7 additions & 7 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,12 +1,12 @@
# NITA 21.7
# NITA 22.8

Welcome to NITA 21.7.
Welcome to NITA 22.8.

NITA is an open source platform for automating the building and testing of complex networks.

# Release Notes

For a list of new features, bug fixes and other release details, please look at the [NITA Webapp README](https://github.com/Juniper/nita-webapp/blob/21.7/README.md#217-new-features-and-bug-fixes).
For a list of new features, bug fixes and other release details, please look at the [NITA Webapp README](https://github.com/Juniper/nita-webapp/blob/22.8/README.md#217-new-features-and-bug-fixes).

# History

Expand All @@ -25,14 +25,14 @@ In a nutshell, NITA can be used as a toolbox from which you can automate the dep

# Examples

If you want to experiment to see what NITA can do, we currently have [2 example projects](https://github.com/Juniper/nita-webapp/tree/21.7/examples) that are provided in the webapp repository:
If you want to experiment to see what NITA can do, we currently have [2 example projects](https://github.com/Juniper/nita-webapp/tree/22.8/examples) that are provided in the webapp repository:

* Build and test an [EVPN VXLAN data centre using Juniper QFX devices](https://github.com/Juniper/nita-webapp/tree/21.7/examples/evpn_vxlan_erb_dc)
* Build and test an [EVPN VXLAN data centre using Juniper QFX devices](https://github.com/Juniper/nita-webapp/tree/22.8/examples/evpn_vxlan_erb_dc)

This includes all of the config that you need to build the data centre fabric and VXLAN overlay along with 14 example Robot tests for the firewalls, switches, BGP leaf and spine devices and end IP connectivity.
We show integration with other operational tools for "Day 2 Management", storing inventory in Netbox and having that push changes to the network via the Juniper Paragon Insights product.

* Build and test a [Simple DC WAN topology based on IPCLOS and eBGP](https://github.com/Juniper/nita-webapp/tree/21.7/examples/ebgp_wan)
* Build and test a [Simple DC WAN topology based on IPCLOS and eBGP](https://github.com/Juniper/nita-webapp/tree/22.8/examples/ebgp_wan)

This is between 2 example datacentres, with 13 example Robot tests for border leaf routers, DC spines and WAN PE devices, plus BGP and IP connectivity tests.

Expand Down Expand Up @@ -62,7 +62,7 @@ We hope that you enjoy using NITA, and if you do, please give the code a star on

# Copyright

Copyright 2021, Juniper Networks, Inc.
Copyright 2022, Juniper Networks, Inc.

Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:

Expand Down
28 changes: 14 additions & 14 deletions docs/containers.md
Original file line number Diff line number Diff line change
Expand Up @@ -25,9 +25,9 @@ The ``docker`` binary is a client for interacting with the ``dockerd`` daemon th
$ docker ps
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
906f4235bd96 nginx:1.17.9 "nginx -g 'daemon of…" 4 months ago Up 47 minutes 80/tcp, 0.0.0.0:443->443/tcp nitawebapp_proxy_1
34743b207365 juniper/nita-webapp:21.7-1 "./build-and-test-we…" 4 months ago Up 47 minutes 8000/tcp nitawebapp_webapp_1
34743b207365 juniper/nita-webapp:22.8-1 "./build-and-test-we…" 4 months ago Up 47 minutes 8000/tcp nitawebapp_webapp_1
cfdc45177801 mariadb:10.4.12 "docker-entrypoint.s…" 4 months ago Up 47 minutes 3306/tcp nitawebapp_db_1
922a4eb21e05 juniper/nita-jenkins:21.7-1 "/sbin/tini -- /usr/…" 4 months ago Up 47 minutes (healthy) 8080/tcp, 50000/tcp, 0.0.0.0:8443->8443/tcp nitajenkins_jenkins_1
922a4eb21e05 juniper/nita-jenkins:22.8-1 "/sbin/tini -- /usr/…" 4 months ago Up 47 minutes (healthy) 8080/tcp, 50000/tcp, 0.0.0.0:8443->8443/tcp nitajenkins_jenkins_1
$
```
Here you can see the two persistent NITA containers (Jenkins and the Webapp) plus containers for the Nginx webserver and the Maria SQL database.
Expand All @@ -50,16 +50,16 @@ If you read the nita-cmd documentation you will see that it is in fact just a wr
```shell
$ nita-cmd containers ls
CONTAINER ID IMAGE CREATED STATUS PORTS NAMES
34743b207365 juniper/nita-webapp:21.7-1 4 months ago Up 43 minutes 8000/tcp nitawebapp_webapp_1
922a4eb21e05 juniper/nita-jenkins:21.7-1 4 months ago Up 43 minutes (healthy) 8080/tcp, 50000/tcp, 0.0.0.0:8443->8443/tcp nitajenkins_jenkins_1
34743b207365 juniper/nita-webapp:22.8-1 4 months ago Up 43 minutes 8000/tcp nitawebapp_webapp_1
922a4eb21e05 juniper/nita-jenkins:22.8-1 4 months ago Up 43 minutes (healthy) 8080/tcp, 50000/tcp, 0.0.0.0:8443->8443/tcp nitajenkins_jenkins_1
$
```
Here you can see the two persistent containers (Jenkins and Webapp) running. This command shows you some useful information, such as the image name and the container ID (that will be useful later, if you want to access them directly with ``docker``). If you need to find which versions of NITA container you have running, do the following:

```shell
$ nita-cmd containers versions
"/nitawebapp_webapp_1 juniper/nita-webapp:21.7-1"
"/nitajenkins_jenkins_1 juniper/nita-jenkins:21.7-1"
"/nitawebapp_webapp_1 juniper/nita-webapp:22.8-1"
"/nitajenkins_jenkins_1 juniper/nita-jenkins:22.8-1"
```

### Other ``nita-cmd`` options
Expand Down Expand Up @@ -90,9 +90,9 @@ You can log into a NITA container by providing the ``cli`` argument to the appro

| Command | Description |
|---|---|
| ``nita-cmd ansible cli 21.7`` | Start the Ansible container and log into its shell |
| ``nita-cmd ansible cli 22.8`` | Start the Ansible container and log into its shell |
| ``nita-cmd jenkins cli [ jenkins \| root ]`` | Log into the container shell as either the jenkins or root user |
| ``nita-cmd robot cli 21.7`` | Start the robot container and log into its shell |
| ``nita-cmd robot cli 22.8`` | Start the robot container and log into its shell |
| ``nita-cmd webapp cli`` | Log into the webapp container shell |

Note that because the Ansible and Robot containers are ephemeral, when you ``exit`` from the container's shell, the container itself will be stopped.
Expand All @@ -107,9 +107,9 @@ For example, if you want to log into the Maria DB container, first run ``docker
$ docker ps
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
906f4235bd96 nginx:1.17.9 "nginx -g 'daemon of…" 4 months ago Up 7 hours 80/tcp, 0.0.0.0:443->443/tcp nitawebapp_proxy_1
34743b207365 juniper/nita-webapp:21.7-1 "./build-and-test-we…" 4 months ago Up 7 hours 8000/tcp nitawebapp_webapp_1
34743b207365 juniper/nita-webapp:22.8-1 "./build-and-test-we…" 4 months ago Up 7 hours 8000/tcp nitawebapp_webapp_1
cfdc45177801 mariadb:10.4.12 "docker-entrypoint.s…" 4 months ago Up 7 hours 3306/tcp nitawebapp_db_1
922a4eb21e05 juniper/nita-jenkins:21.7-1 "/sbin/tini -- /usr/…" 4 months ago Up 7 hours (healthy) 8080/tcp, 50000/tcp, 0.0.0.0:8443->8443/tcp nitajenkins_jenkins_1
922a4eb21e05 juniper/nita-jenkins:22.8-1 "/sbin/tini -- /usr/…" 4 months ago Up 7 hours (healthy) 8080/tcp, 50000/tcp, 0.0.0.0:8443->8443/tcp nitajenkins_jenkins_1
$ docker exec -ti cfdc45177801 /bin/bash
root@cfdc45177801:/#
```
Expand All @@ -120,11 +120,11 @@ The ``docker exec -ti`` command allows you to open an interactive session on the

NITA uses two Docker containers for Ansible and Robot that are only started and stopped when needed (usually under the control of Jenkins). These containers are called ephemeral containers because of this behaviour. It is important to be aware that any information used by these containers during their execution is only temporary and is lost (or more accurately "reset") when they are stopped.

With that said, you can start and run these containers (outside of the control of Jenkins) either by using the ``nita-cmd`` command as shown above, or by using the ``docker run`` command. In fact, the command ``nita-cmd ansible cli 21.7`` is actually just a wrapper for ``docker run`` like this:
With that said, you can start and run these containers (outside of the control of Jenkins) either by using the ``nita-cmd`` command as shown above, or by using the ``docker run`` command. In fact, the command ``nita-cmd ansible cli 22.8`` is actually just a wrapper for ``docker run`` like this:

``docker run -ti -u root -v /var/nita_project:/project:rw -v /var/nita_configs:/var/tmp/build:rw juniper/nita-ansible:21.7-1 /bin/bash``
``docker run -ti -u root -v /var/nita_project:/project:rw -v /var/nita_configs:/var/tmp/build:rw juniper/nita-ansible:22.8-1 /bin/bash``

This command will use the Ansible 21.7-1 Docker image to run a new instance of the container, if one is not already running. It will then open an interactive terminal in the container by running the bash shell. Note that this command mounts several volumes (using ``-v [host-dir:container-dir:access]``) which you should not change. Also note that only one instance of the Ansible and Robot ephemeral containers can be running at any one time - so if you run a new instance by using ``docker run``, be aware that a Jenkins job may fail if it also then tries to run its own instance. Capisce?
This command will use the Ansible 22.8-1 Docker image to run a new instance of the container, if one is not already running. It will then open an interactive terminal in the container by running the bash shell. Note that this command mounts several volumes (using ``-v [host-dir:container-dir:access]``) which you should not change. Also note that only one instance of the Ansible and Robot ephemeral containers can be running at any one time - so if you run a new instance by using ``docker run``, be aware that a Jenkins job may fail if it also then tries to run its own instance. Capisce?

## The Jenkins Container

Expand Down Expand Up @@ -211,7 +211,7 @@ From here, you can run all kinds of SQL statements and queries... see the MariaD

# VERSION

This document is relevant for NITA version 21.7.
This document is relevant for NITA version 22.8.

# SEE ALSO

Expand Down
4 changes: 2 additions & 2 deletions docs/nita-cmd.md
Original file line number Diff line number Diff line change
Expand Up @@ -22,7 +22,7 @@ Without any arguments, simply typing ``nita-cmd`` on its own will take you into
$ nita-cmd
nita-cmd> help
nita-cmd ansible cli 21.7 => Starts an ansible container (version 21.7) command line shell interface in the /project directory.
nita-cmd ansible cli 22.8 => Starts an ansible container (version 22.8) command line shell interface in the /project directory.
nita-cmd cli version => Shows NITA CLI current version.
nita-cmd containers ls => Lists all running NITA containers.
nita-cmd containers versions => Lists all running NITA containers versions.
Expand Down Expand Up @@ -149,7 +149,7 @@ To see which version of NITA you are running, type the command ``nita-cmd cli ve
```shell
$ nita-cmd cli version
nita-cli 21.7
nita-cli 22.8
$
```
Expand Down
4 changes: 2 additions & 2 deletions docs/projects.md
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@ Projects. What you need to know to create your own projects in NITA.

# DESCRIPTION

NITA ships with two example projects that we use to demonstrate its ability to automate the build and test processes for both an [EVPN VXLAN data centre using Juniper QFX devices](https://github.com/Juniper/nita-webapp/tree/21.7/examples/evpn_vxlan_erb_dc) and a simple [DC WAN topology based on IPCLOS and eBGP](https://github.com/Juniper/nita-webapp/tree/21.7/examples/ebgp_wan). However, what if we wanted to configure it to do something else? This document explains how to do just that.
NITA ships with two example projects that we use to demonstrate its ability to automate the build and test processes for both an [EVPN VXLAN data centre using Juniper QFX devices](https://github.com/Juniper/nita-webapp/tree/22.8/examples/evpn_vxlan_erb_dc) and a simple [DC WAN topology based on IPCLOS and eBGP](https://github.com/Juniper/nita-webapp/tree/22.8/examples/ebgp_wan). However, what if we wanted to configure it to do something else? This document explains how to do just that.

# EXAMPLE

Expand Down Expand Up @@ -241,7 +241,7 @@ The following third party sites provide some useful tools which you may find hel
# VERSION
This document is relevant for NITA version 21.7.
This document is relevant for NITA version 22.8.
# SEE ALSO
Expand Down

0 comments on commit d33cb35

Please sign in to comment.