Skip to content
GitLab
Explore
Sign in
Primary navigation
Search or go to…
Project
integration
Manage
Activity
Members
Labels
Code
Merge requests
Repository
Branches
Commits
Tags
Repository graph
Compare revisions
Deploy
Releases
Package registry
Model registry
Operate
Terraform modules
Analyze
Contributor analytics
Model experiments
Help
Help
Support
GitLab documentation
Compare GitLab plans
Community forum
Contribute to GitLab
Provide feedback
Keyboard shortcuts
?
Snippets
Groups
Projects
Show more breadcrumbs
elixxir
integration
Commits
331cc98a
Commit
331cc98a
authored
3 years ago
by
Josh Brooks
Browse files
Options
Downloads
Patches
Plain Diff
Finalize documentation
parent
6d4af1a5
No related branches found
No related tags found
3 merge requests
!68
Master merge
,
!24
Josh/local env migration
,
!11
Release
Changes
2
Show whitespace changes
Inline
Side-by-side
Showing
2 changed files
README.md
+27
-29
27 additions, 29 deletions
README.md
localNetwork/README.md
+18
-0
18 additions, 0 deletions
localNetwork/README.md
with
45 additions
and
29 deletions
README.md
+
27
−
29
View file @
331cc98a
# Integration
# Integration
## Purpose
## Purpose
This is
to automatically test all the system's components and make sure they
This is
for running the network locally on a single machine.
work together correctly.
There are 2 testing suite packages
There are 2 testing suite packages
(smokeinfra and basice2e) and a
(smokeinfra and basice2e) and a
general long-running network package (localNetwork).
general
-use
long-running network package (localNetwork).
### Testing Suites
### Testing Suites
These testing suites are used by the xx network team to ensure basic functionality
This is to automatically test all the system's components and make sure they
work together correctly. These testing suites are used by the xx network team to ensure basic functionality
of the network and its clients. It is a part of their CI/CD workflow. If the
of the network and its clients. It is a part of their CI/CD workflow. If the
integration tedigga#1
integration tedigga#1
st fails with an unknown or unhandled error, they look at the logs
st fails with an unknown or unhandled error, they look at the logs
to narrow down and resolve the issue.
to narrow down and resolve the issue.
[
//
]:
#
(link to the readme?)
[
SmokeInfra
](
./smokeinfra/
)
is a simple test of the xx network, ensuring that rounds are running.
[
SmokeInfra
](
./smokeinfra/
)
is a simple test of the xx network, ensuring that rounds are running.
Generally speaking, this is for the xx network team and developers that wish to
Generally speaking, this is for the xx network team and developers that wish to
contribute to how the network operates.
contribute to how the network operates.
...
@@ -26,39 +26,23 @@ is added to this testing suite via the run script (`run.sh`)
...
@@ -26,39 +26,23 @@ is added to this testing suite via the run script (`run.sh`)
## Local Network
## Local Network
The
[
localNetwork package
](
./localNetwork
)
is a more general
use network tool.
The
[
localNetwork package
](
./localNetwork
)
is a more general
-
use network tool.
This package will run a local version of the xx network on a single machine until a
This package will run a local version of the xx network on a single machine until a
manually killed by the user. This can be done either via the
`run.sh`
script,
manually killed by the user. This can be done either via the
`run.sh`
script,
which will run the network with internal IP addresses, or the
`runpublish.sh`
, which runs the network
which will run the network with internal IP addresses, or the
`runpublish.sh`
, which runs the network
with remotely accessible IP addresses. With this network established, a developer may,
with remotely accessible IP addresses. With this network established, a developer may,
for example, test the xxDK
against it
.
for example, test the xxDK.
## How to manually run locally
## How to manually run locally
1.
Build the binaries
under test
for your operating system and place them in
1.
Build the binaries for your operating system and place them in
the
`bin`
directory.
the
`bin`
directory.
1
.
`cd`
to
`basice2e/`
and run
`run.sh`
. Observe the results and inspect the
2
.
`cd`
to
any of the three previously mentioned directories
and run
`run.sh`
. Observe the results and inspect the
logs if things go wrong.
logs if things go wrong.
1.
Make changes to the
`run.sh`
script, config files, and binaries as needed
3.
OPTIONAL:
Make changes to the
`run.sh`
script, config files, and binaries as needed
based on your analysis of the logs. You may want to add more logging or build
based on your analysis of the logs. You may want to add more logging or build
the binaries under test with race condition checking to track down problems.
the binaries under test with race condition checking to track down problems.
## What runs on continuous integration?
The
`master`
branch of integration runs whenever you merge anything to the
`master`
branch of any of the projects that integration tests. The CI server
downloads the latest
`master`
branch binaries that any CI server built and
uses them to run
`basice2e/run.sh`
.
The benchmark branch of integration runs nightly and produces information about
how fast the software runs. It doesn't provide the full performance picture
because it runs on one modest CI server, rather than on a team of powerful
servers. However, the information it provides is sometimes useful.
So, if you make changes that break integration and merge the fixes to the
`master`
branch of integration, you ought to also merge the
`master`
branch
into the
`benchmark`
branch so that the benchmarks will continue to function.
## Scripts
## Scripts
### `build.sh`
### `build.sh`
...
@@ -88,8 +72,6 @@ By default it downloads from a public bucket which includes release and master b
...
@@ -88,8 +72,6 @@ By default it downloads from a public bucket which includes release and master b
This script will require additional set-up steps, see the
[
Additional Set-Up
](
#Additional-Set-Up
)
section for
This script will require additional set-up steps, see the
[
Additional Set-Up
](
#Additional-Set-Up
)
section for
details.
details.
### My Multi Word Header
### download.sh
### download.sh
[
`download.sh`
](
./download.sh
)
will download all network related repositories to the working
[
`download.sh`
](
./download.sh
)
will download all network related repositories to the working
...
@@ -139,3 +121,19 @@ GITLAB_ACCESS_TOKEN=token_here ./download_cmix_binaries.sh [l/m] d
...
@@ -139,3 +121,19 @@ GITLAB_ACCESS_TOKEN=token_here ./download_cmix_binaries.sh [l/m] d
```
```
The script downloads from the CI when the second argument into it (the one after the platform flag) is
`d`
.
The script downloads from the CI when the second argument into it (the one after the platform flag) is
`d`
.
## What runs on continuous integration? (Team Only)
The
`master`
branch of integration runs whenever you merge anything to the
`master`
branch of any of the projects that integration tests. The CI server
downloads the latest
`master`
branch binaries that any CI server built and
uses them to run
`basice2e/run.sh`
.
The benchmark branch of integration runs nightly and produces information about
how fast the software runs. It doesn't provide the full performance picture
because it runs on one modest CI server, rather than on a team of powerful
servers. However, the information it provides is sometimes useful.
So, if you make changes that break integration and merge the fixes to the
`master`
branch of integration, you ought to also merge the
`master`
branch
into the
`benchmark`
branch so that the benchmarks will continue to function.
\ No newline at end of file
This diff is collapsed.
Click to expand it.
localNetwork/README.md
0 → 100644
+
18
−
0
View file @
331cc98a
= Local Continuously Running Network (localNetwork)
This tool runs several servers as a local simulation of the xx network.
The basic structure is as follows:
*
3 Nodes, BatchSize of 32
*
3 Gateways, each connected to its own node
*
User Discovery Bot
*
Scheduling Server
*
Client Registrar
With these tools you may run the xxDK off of the produced
[
ndf
](
./ndf.json
)
, testing locally without
having to operate on MainNet or any other live network.
## Configurability
If you wish to operate with a larger local network, you may generate a programmable number of gateways/servers
using the (generate)
This diff is collapsed.
Click to expand it.
Preview
0%
Loading
Try again
or
attach a new file
.
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Save comment
Cancel
Please
register
or
sign in
to comment