New upstream version 3.1.1
This commit is contained in:
parent
4e9934e5ec
commit
e7b41df57b
229 changed files with 57000 additions and 12055 deletions
117
doc/Scripts.md
Normal file
117
doc/Scripts.md
Normal file
|
@ -0,0 +1,117 @@
|
|||
# Scripts
|
||||
|
||||
There are a number of useful scripts included with the distribution.
|
||||
Some of these scripts are only useful during build and development, but
|
||||
other scripts are intended for end users to be able to use. These scripts
|
||||
may be installed with n2n as part of your operating system package.
|
||||
|
||||
All scripts can be found in the `scripts` directory.
|
||||
|
||||
Short descriptions of these scripts are below.
|
||||
|
||||
## End user scripts
|
||||
|
||||
### `n2n-ctl`
|
||||
|
||||
This python script provides an easy command line interface to the running
|
||||
n2n processes. It uses UDP communications to talk to the Management API.
|
||||
By specifying the right UDP port, it can talk to both the edge and the
|
||||
supernode daemons.
|
||||
|
||||
Example:
|
||||
- `scripts/n2n-ctl --help`
|
||||
- `scripts/n2n-ctl help`
|
||||
|
||||
### `n2n-httpd`
|
||||
|
||||
This python script is a simple http gateway to the running edge. It provides
|
||||
a proxy for REST-like HTTP requests to talk to the Management API.
|
||||
|
||||
By default it runs on port 8080.
|
||||
|
||||
It also provides a simple HTML page showing some edge information, which when
|
||||
run with default settings can be seen at http://localhost:8080/ (Also
|
||||
a http://localhost:8080/supernode.html page for the supernode)
|
||||
|
||||
Example:
|
||||
- `scripts/n2n-httpd --help`
|
||||
- `scripts/n2n-httpd 8087`
|
||||
|
||||
## Build and Development scripts
|
||||
|
||||
### `hack_fakeautoconf.sh`
|
||||
|
||||
This shell script is used during development to help build on Windows
|
||||
systems. An example of how to use it is shown in
|
||||
the [Building document](Building.md)
|
||||
|
||||
### `indent.sh`
|
||||
|
||||
This shell script is a wrapper for the `uncrustify` C code style checker
|
||||
which checks or applies a set of rules to the code. It is used during
|
||||
the automated lint checks.
|
||||
|
||||
### `n2n-gateway.sh`
|
||||
|
||||
A sample script to route all the host traffic towards a remote gateway,
|
||||
which is reachable via the n2n virtual interface.
|
||||
|
||||
### `version.sh`
|
||||
|
||||
This script is used to determine the current version number during the
|
||||
build process.
|
||||
|
||||
It looks at both the VERSION file and the GIT tags and outputs the
|
||||
version number to use.
|
||||
|
||||
## Monitoring and statistics
|
||||
|
||||
### `munin/n2n_`
|
||||
|
||||
This is a simple monitoring script that can be used with the munin-node
|
||||
system to monitor the n2n daemons.
|
||||
|
||||
This is a fully autoconfigurable wildcard munin plugin, but to get a quick
|
||||
sample:
|
||||
|
||||
get a list of suggested plugin names:
|
||||
```
|
||||
munin/n2n_ suggest
|
||||
```
|
||||
|
||||
Enable some of those names:
|
||||
|
||||
```
|
||||
ln -s /usr/share/munin/plugins/n2n_ /etc/munin/plugins/n2n_supernode_pkts
|
||||
ln -s /usr/share/munin/plugins/n2n_ /etc/munin/plugins/n2n_supernode_counts
|
||||
```
|
||||
|
||||
Manually test fetching and config:
|
||||
|
||||
```
|
||||
/etc/munin/plugins/n2n_supernode_pkts
|
||||
/etc/munin/plugins/n2n_supernode_pkts config
|
||||
```
|
||||
|
||||
## Testing scripts
|
||||
|
||||
### `test_harness.sh`
|
||||
|
||||
This shell script is used to run automated tests during development. It is
|
||||
run with a testlist filename - pointing at a file containing the list of
|
||||
tests to run.
|
||||
|
||||
Each test needs a file containing the expected output `${TESTNAME}.expected`
|
||||
which is expected to exist in the same directory as the testlist (this dir is
|
||||
referred to as `${listdir}` below).
|
||||
|
||||
Each test is a program, searched for in several locations, including the
|
||||
`${listdir}/../scripts` dir.
|
||||
|
||||
Each test is run with its output being sent to `*.out` files in the `listdir`
|
||||
and compared with the expected output.
|
||||
|
||||
### `scripts/test_integration_supernode.sh`
|
||||
|
||||
This starts a supernode and runs an integration test on the Json API using
|
||||
the `n2n-ctl` command.
|
Loading…
Add table
Add a link
Reference in a new issue