Merge branch 'master' into cleanup/codacy-cleanup
This commit is contained in:
commit
a7bc7500fb
7 changed files with 53 additions and 63 deletions
57
README.md
57
README.md
|
@ -40,61 +40,8 @@ the CORE mailing lists:
|
|||
|
||||
## Building CORE
|
||||
|
||||
```shell
|
||||
./bootstrap.sh
|
||||
./configure
|
||||
make
|
||||
sudo make install
|
||||
```
|
||||
|
||||
### Building Documentation
|
||||
|
||||
```shell
|
||||
./bootstrap.sh
|
||||
./configure
|
||||
make doc
|
||||
```
|
||||
|
||||
### Building Packages
|
||||
|
||||
Install fpm: <http://fpm.readthedocs.io/en/latest/installing.html>
|
||||
|
||||
Build package commands, DESTDIR is used for gui packaging only
|
||||
|
||||
```shell
|
||||
./bootstrap.sh
|
||||
./configure
|
||||
make
|
||||
mkdir /tmp/core-gui
|
||||
make fpm DESTDIR=/tmp/core-gui
|
||||
```
|
||||
|
||||
This will produce:
|
||||
|
||||
* CORE GUI rpm/deb files
|
||||
* core-gui_$VERSION_$ARCH
|
||||
* CORE ns3 rpm/deb files
|
||||
* python-core-ns3_$VERSION_$ARCH
|
||||
* CORE python rpm/deb files for SysV and systemd service types
|
||||
* python-core-sysv_$VERSION_$ARCH
|
||||
* python-core-systemd_$VERSION_$ARCH
|
||||
See [CORE Installation](http://coreemu.github.io/core/install.html) for detailed build instructions.
|
||||
|
||||
### Running CORE
|
||||
|
||||
First start the CORE services:
|
||||
|
||||
```shell
|
||||
# sysv
|
||||
sudo service core-daemon start
|
||||
# systemd
|
||||
sudo systemctl start core-daemon
|
||||
```
|
||||
|
||||
This automatically runs the core-daemon program.
|
||||
Assuming the GUI is in your PATH, run the CORE GUI by typing the following:
|
||||
|
||||
```shell
|
||||
core-gui
|
||||
```
|
||||
|
||||
This launches the CORE GUI. You do not need to run the GUI as root.
|
||||
See [Using the CORE GUI](http://coreemu.github.io/core/usage.html) for more details on running CORE.
|
||||
|
|
|
@ -583,7 +583,8 @@ class EmuSession(Session):
|
|||
x, y, _ = self.location.getxyz(lat, lon, alt)
|
||||
|
||||
# set position and broadcast
|
||||
node.setposition(x, y, None)
|
||||
if None not in [x, y]:
|
||||
node.setposition(x, y, None)
|
||||
|
||||
# broadcast updated location when using lat/lon/alt
|
||||
if using_lat_lon_alt:
|
||||
|
|
|
@ -228,8 +228,8 @@ UseDNS no
|
|||
class DhcpService(UtilService):
|
||||
name = "DHCP"
|
||||
configs = ("/etc/dhcp/dhcpd.conf",)
|
||||
dirs = ("/etc/dhcp",)
|
||||
startup = ("dhcpd",)
|
||||
dirs = ("/etc/dhcp","/var/lib/dhcp")
|
||||
startup = ("touch /var/lib/dhcp/dhcpd.leases","dhcpd")
|
||||
shutdown = ("killall dhcpd",)
|
||||
validate = ("pidof dhcpd",)
|
||||
|
||||
|
|
|
@ -377,8 +377,6 @@ class CoreXmlWriter(object):
|
|||
|
||||
links = []
|
||||
for node in self.session.objects.itervalues():
|
||||
logger.info("writer adding node(%s)", node.name)
|
||||
|
||||
# network node
|
||||
if isinstance(node, coreobj.PyCoreNet) and not nodeutils.is_node(node, NodeTypes.CONTROL_NET):
|
||||
self.write_network(node)
|
||||
|
|
|
@ -87,13 +87,11 @@ class CoreXmlDeployment(object):
|
|||
|
||||
def find_device(self, name):
|
||||
device = self.scenario.find("devices/device[@name='%s']" % name)
|
||||
logger.info("specific found scenario device: %s", device)
|
||||
return device
|
||||
|
||||
def find_interface(self, device, name):
|
||||
interface = self.scenario.find("devices/device[@name='%s']/interfaces/interface[@name='%s']" % (
|
||||
device.name, name))
|
||||
logger.info("specific found scenario interface: %s", interface)
|
||||
return interface
|
||||
|
||||
def add_deployment(self):
|
||||
|
|
|
@ -179,7 +179,7 @@ sudo apt install automake pkg-config gcc libev-dev bridge-utils ebtables python-
|
|||
#### Ubuntu 16.04 Requirements
|
||||
|
||||
```shell
|
||||
sudo apt-get install automake bridge-utils ebtables python-dev libev-dev python-sphinx python-setuptools python-enum34 python-lxml
|
||||
sudo apt-get install automake bridge-utils ebtables python-dev libev-dev python-sphinx python-setuptools python-enum34 python-lxml libtk-img
|
||||
```
|
||||
|
||||
|
||||
|
@ -194,12 +194,46 @@ You can obtain the CORE source from the [CORE GitHub](https://github.com/coreemu
|
|||
```shell
|
||||
tar xzf core-*.tar.gz
|
||||
cd core-*
|
||||
```
|
||||
|
||||
#### Tradional Autotools Build
|
||||
```shell
|
||||
./bootstrap.sh
|
||||
./configure
|
||||
make
|
||||
sudo make install
|
||||
```
|
||||
|
||||
#### Build Documentation
|
||||
```shell
|
||||
./bootstrap.sh
|
||||
./configure
|
||||
make doc
|
||||
```
|
||||
|
||||
#### Build Packages
|
||||
Install fpm: http://fpm.readthedocs.io/en/latest/installing.html
|
||||
Build package commands, DESTDIR is used for gui packaging only
|
||||
|
||||
```shell
|
||||
./bootstrap.sh
|
||||
./configure
|
||||
make
|
||||
mkdir /tmp/core-gui
|
||||
make fpm DESTDIR=/tmp/core-gui
|
||||
|
||||
```
|
||||
This will produce:
|
||||
|
||||
* CORE GUI rpm/deb files
|
||||
* core-gui_$VERSION_$ARCH
|
||||
* CORE ns3 rpm/deb files
|
||||
* python-core-ns3_$VERSION_$ARCH
|
||||
* CORE python rpm/deb files for SysV and systemd service types
|
||||
* python-core-sysv_$VERSION_$ARCH
|
||||
* python-core-systemd_$VERSION_$ARCH
|
||||
|
||||
|
||||
### Quagga Routing Software
|
||||
|
||||
Virtual networks generally require some form of routing in order to work (e.g. to automatically populate routing tables for routing packets from one subnet to another.) CORE builds OSPF routing protocol configurations by default when the blue router node type is used. The OSPF protocol is available from the [Quagga open source routing suit](http://www.quagga.net).
|
||||
|
|
|
@ -11,6 +11,18 @@ CORE can be used via the GUI or [Python_Scripting](scripting.md). Often the GUI
|
|||
|
||||
CORE can be customized to perform any action at each phase in the workflow above. See the *Hooks...* entry on the **Session Menu** for details about when these session states are reached.
|
||||
|
||||
## Prerequisites
|
||||
|
||||
Beyond instaling CORE, you must have the CORE daemon running. This is done on the command line with either Systemd or SysV
|
||||
```shell
|
||||
# systed
|
||||
sudo systemctl daemon-reload
|
||||
sudo systemctl start core-daemon
|
||||
|
||||
# sysv
|
||||
sudo service core-daemon start
|
||||
```
|
||||
|
||||
## Modes of Operation
|
||||
|
||||
The CORE GUI has two primary modes of operation, **Edit** and **Execute** modes. Running the GUI, by typing **core-gui** with no options, starts in Edit mode. Nodes are drawn on a blank canvas using the toolbar on the left and configured from right-click menus or by double-clicking them. The GUI does not need to be run as root.
|
||||
|
|
Loading…
Reference in a new issue