Last active
December 15, 2017 07:44
-
-
Save mpeuster/eb57f4cfec90d6266a1ac100caebf936 to your computer and use it in GitHub Desktop.
vim-emu debugging
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
import logging | |
from mininet.log import setLogLevel | |
from emuvim.dcemulator.net import DCNetwork | |
from emuvim.api.rest.rest_api_endpoint import RestApiEndpoint | |
from emuvim.api.openstack.openstack_api_endpoint import OpenstackApiEndpoint | |
logging.basicConfig(level=logging.INFO) | |
setLogLevel('info') # set Mininet loglevel | |
logging.getLogger('werkzeug').setLevel(logging.DEBUG) | |
logging.getLogger('api.openstack.base').setLevel(logging.DEBUG) | |
logging.getLogger('api.openstack.compute').setLevel(logging.DEBUG) | |
logging.getLogger('api.openstack.keystone').setLevel(logging.DEBUG) | |
logging.getLogger('api.openstack.nova').setLevel(logging.DEBUG) | |
logging.getLogger('api.openstack.neutron').setLevel(logging.DEBUG) | |
logging.getLogger('api.openstack.heat').setLevel(logging.DEBUG) | |
logging.getLogger('api.openstack.heat.parser').setLevel(logging.DEBUG) | |
logging.getLogger('api.openstack.glance').setLevel(logging.DEBUG) | |
logging.getLogger('api.openstack.helper').setLevel(logging.DEBUG) | |
def create_topology(): | |
net = DCNetwork(monitor=False, enable_learning=False) | |
dc1 = net.addDatacenter("dc1") | |
# add OpenStack-like APIs to the emulated DC | |
api1 = OpenstackApiEndpoint("0.0.0.0", 6001) | |
api1.connect_datacenter(dc1) | |
api1.start() | |
api1.connect_dc_network(net) | |
# add the command line interface endpoint to the emulated DC (REST API) | |
rapi1 = RestApiEndpoint("0.0.0.0", 5001) | |
rapi1.connectDCNetwork(net) | |
rapi1.connectDatacenter(dc1) | |
rapi1.start() | |
net.start() | |
net.CLI() | |
# when the user types exit in the CLI, we stop the emulator | |
net.stop() | |
def main(): | |
create_topology() | |
if __name__ == '__main__': | |
main() |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
# | |
# This example uses the "nested Docker" deployment option | |
# | |
# clone latest code | |
git clone https://osm.etsi.org/gerrit/osm/vim-emu.git | |
# build the container | |
docker build -t vim-emu-img . | |
# run the container | |
docker run --name vim-emu -it --rm --privileged --pid='host' -v /var/run/docker.sock:/var/run/docker.sock vim-emu-img /bin/bash | |
# run the emulator (inside container) | |
root@a6e31ff0ffb3:/son-emu# python examples/openstack_single_dc.py | |
# attach a second terminal to the container (outside container, new terminal window) | |
docker exec -it vim-emu /bin/bash | |
# check the emulator cli (inside container) | |
root@a6e31ff0ffb3:/son-emu# vim-emu datacenter list | |
+---------+-----------------+----------+----------------+--------------------+ | |
| Label | Internal Name | Switch | # Containers | # Metadata Items | | |
+=========+=================+==========+================+====================+ | |
| dc1 | dc1 | dc1.s1 | 0 | 0 | | |
+---------+-----------------+----------+----------------+--------------------+ | |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment