-----------------------INSTALL CORE --- OK OK



Fedora 23:

dnf install bash bridge-utils ebtables iproute libev python procps-ng net-tools tcl tk tkimg autoconf automake make libev-devel python-devel ImageMagick help2man


//重要,在CORE中,执行 /root/.core/configs/m-MPE-manet.imn,不能正常初始化。需要执行如下命令。

//  ​​ javascript:void(0)​

dnf install kernel-modules-extra-`uname -r`


CentOS 7:

yum install bash bridge-utils ebtables iproute libev python procps-ng net-tools tcl tk tkimg autoconf automake make libev-devel python-devel ImageMagick help2man


You can obtain the CORE source from the ​​ CORE source​​ page. Choose either a stable release version orthe development snapshot available in thenightly_snapshots directory.The-j8 argument tomake will run eight simultaneous

jobs, to speed upbuilds on multi-core systems. Notice theconfigure flag to tell the buildsystem that a systemd service file should be installed under Fedora.


[root@localhost core-4.8]# ./bootstrap.sh

[root@localhost core-4.8]# ./configure --with-startup=systemd

[root@localhost core-4.8]# make -j4

[root@localhost core-4.8]# make install


Note that the Linux RPM and Debian packages do not use the/usr/local prefix, and files are instead installed to/usr/sbin, and /usr/lib. This difference is a result of aligning with the directorystructure of Linux packaging systems and FreeBSD ports packaging.

Another note is that the ​​ Python​​ distutils in Fedora Linux will install the COREPython modules to/usr/lib/python2.7/site-packages/core, instead ofusing thedist-packages directory.

The CORE Manual documentation is built separately from thedoc/ sub-directory in the source. It requires Sphinx:

sudo yum install python-sphinx

cd core-4.8/doc

make html

make latexpdf

-----------------------INSTALL CORE --- OK OK




-----------------------Test CORE


To test that the CORE Network Emulator is working, start the CORE daemon and the GUI.


[root@localhost core-4.8]# pwd

/opt/tools/network_simulators/core/core-4.8


[root@localhost core-4.8]# /etc/init.d/core-daemon start

[root@localhost core-4.8]# core-gui


[root@localhost core-4.8]# ls /tmp/pycore.56386/

n1                    n1.xy                 n3.pid                n5.log                n7.conf/              n9

n10                   n2                    n3.xy                 n5.pid                n7.log                n9.conf/

n10.conf/             n2.conf/              n4                    n5.xy                 n7.pid                n9.log

n10.log               n2.log                n4.conf/              n6                    n7.xy                 n9.pid

n10.pid               n2.pid                n4.log                n6.conf/              n8                    n9.xy

n10.xy                n2.xy                 n4.pid                n6.log                n8.conf/              nodes

n1.conf/              n3                    n4.xy                 n6.pid                n8.log                servers

n1.log                n3.conf/              n5                    n6.xy                 n8.pid                session-deployed.xml

n1.pid                n3.log                n5.conf/              n7                    n8.xy                 state


++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

关键点

++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++


core-svnsnap.tgz


[root@localhost core]# pwd

/opt/tools/network_simulators/core/core


[root@localhost core]# gedit ./daemon/core/mobility.py

-------------------------------------设置节点移动的时间间隔

    def runround(self):

        ''' Advance script time and move nodes.

        '''

        #ztg add

        time.sleep(6)

-------------------------------------设置节点移动的间距

        #ztg add

        #wp = self.WayPoint(time, nodenum, coords=(x,y,z), speed=speed)

        wp = self.WayPoint(time, nodenum, coords=(x,y,z), speed=3)

-------------------------------------

[root@localhost core]# systemctl start squid.service

[root@localhost core]# systemctl start docker


[root@localhost core]# /etc/init.d/core-daemon stop

[root@localhost core]# make uninstall ;  make clean

[root@localhost core]# make -j4

[root@localhost core]# make install

[root@localhost core]# systemctl enable core-daemon

Created symlink from /etc/systemd/system/multi-user.target.wants/core-daemon.service to /etc/systemd/system/core-daemon.service.


problem:

[root@n6 n6.conf]# docker info

WARNING: bridge-nf-call-iptables is disabled

WARNING: bridge-nf-call-ip6tables is disabled

resolve:

[root@localhost core]# iptables -F

[root@localhost core]# ip6tables -F


[root@localhost 桌面]# service core-daemon status

Redirecting to /bin/systemctl status  core-daemon.service

core-daemon.service - Common Open Research Emulator Service

   Loaded: loaded (/etc/systemd/system/core-daemon.service; disabled)

   Active: inactive (dead)


[root@localhost 桌面]# cat /etc/systemd/system/core-daemon.service


[Unit]  
Description=Common Open Research Emulator Service
After=network.target

[Service]
Type=forking
PIDFile=/var/run/core-daemon.pid
ExecStart=/usr/bin/python /usr/local/sbin/core-daemon -d

[Install]
WantedBy=multi-user.target



Here maybe what is installed with 'make install':


/usr/local/bin/core-gui  
/usr/local/sbin/core-daemon
/usr/local/sbin/[vcmd, vnoded, coresendmsg, core-cleanup.sh]
/usr/local/lib/core/*
/usr/local/share/core/*
/usr/local/lib/python2.6/dist-packages/core/*
/usr/local/lib/python2.6/dist-packages/[netns,vcmd].so
/etc/core/*
/etc/init.d/core



[root@localhost core]# /usr/share/openvswitch/scripts/ovs-ctl --system-id=random start

Starting ovsdb-server                                      [  OK  ]

Configuring Open vSwitch system IDs                        [  OK  ]

Starting ovs-vswitchd                                      [  OK  ]

Enabling remote OVSDB managers                             [  OK  ]



//Fedora 23 & CentOS 7


[root@localhost core]# systemctl daemon-reload

[root@localhost core]# systemctl start core-daemon.service

[root@localhost core]# core-gui


(OK) INSTALL CORE on Fedora 23 or CentOS 7_python


----------------

NOTE: first to run the following command if using docker.

# systemctl start docker.service

----------------


NOTE: /root/.core/configs/m-MPE-manet.imn



++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

----------------

error:

----------------

  File "/usr/lib/python2.7/site-packages/docker/client.py", line 142, in _raise_for_status

    raise errors.APIError(e, response, explanation=explanation)

APIError: 400 Client Error: Bad Request ("client version 1.10 is too old. Minimum supported API version is 1.21, please upgrade your client to a newer version")

----------------


solution:

----------------

# gedit /opt/tools/network_simulators/core/core/daemon/core/services/dockersvc.py

----------------

if 'Client' in globals():

    client = Client(version='1.21')

----------------

++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++