diff --git a/capitulos/anexo_mininet.tex b/capitulos/anexo_mininet.tex new file mode 100644 index 0000000..7bd310a --- /dev/null +++ b/capitulos/anexo_mininet.tex @@ -0,0 +1,106 @@ +\chapter{Script Mininet Red Transporte} +\label{sec:scriptmininet} + +\begin{lstlisting} +from mininet.net import Mininet +from mininet.node import Controller, RemoteController, OVSController +from mininet.link import Intf +from mininet.cli import CLI +from mininet.nodelib import NAT +import time + +class RedEspana(): + +def __init__(self): + +net = Mininet() + +controller_onos = net.addController('controller', +controller = RemoteController, ip = '10.0.2.11') + +numberElements = 21 + +switches = [] +hosts = [] +vimIndexes = [8,19] + +for s in range(numberElements): + switch = net.addSwitch('s'+str(s+1)) + switches.append(switch) + + +for h in range(numberElements): + if h not in vimIndexes: + host = net.addHost('h'+str(h+1), + ip = '15.0.0.'+str(h+1+50)+'/24') + hosts.append(host) + net.addLink(host, switches[h]) + + +net.addLink(switches[0], switches[1]) +net.addLink(switches[0], switches[2]) +net.addLink(switches[1], switches[2]) +net.addLink(switches[1], switches[3]) +net.addLink(switches[2], switches[4]) +net.addLink(switches[2], switches[6]) +net.addLink(switches[3], switches[4]) +net.addLink(switches[3], switches[9]) +net.addLink(switches[4], switches[5]) +net.addLink(switches[4], switches[7]) +net.addLink(switches[5], switches[8]) +net.addLink(switches[6], switches[8]) +net.addLink(switches[6], switches[14]) +net.addLink(switches[7], switches[8]) +net.addLink(switches[7], switches[10]) +net.addLink(switches[7], switches[11]) +net.addLink(switches[8], switches[12]) +net.addLink(switches[9], switches[10]) +net.addLink(switches[9], switches[20]) +net.addLink(switches[10], switches[19]) +net.addLink(switches[10], switches[20]) +net.addLink(switches[11], switches[12]) +net.addLink(switches[11], switches[18]) +net.addLink(switches[11], switches[19]) +net.addLink(switches[12], switches[13]) +net.addLink(switches[12], switches[17]) +net.addLink(switches[13], switches[14]) +net.addLink(switches[13], switches[16]) +net.addLink(switches[14], switches[15]) +net.addLink(switches[15], switches[16]) +net.addLink(switches[16], switches[17]) +net.addLink(switches[17], switches[18]) +net.addLink(switches[18], switches[19]) +net.addLink(switches[19], switches[20]) + +intf_vimone = Intf('enx0050b6253bb0',switches[8]) +intf_vimtwo = Intf('enx0050b6253baf',switches[19]) + +print('Added physical interfaces '+str(intf_vimone)+' and '+str(intf_vimtwo)) + +controller.start() + +net.start() + +time.sleep(3) + +net.pingAll() + +for host in hosts: + host.cmd('ip route add 15.0.2.0/24 via 15.0.0.59') + host.cmd('ip route add 15.0.3.0/24 via 15.0.0.70') + host.cmd('/usr/sbin/sshd -D&') + ping_vimone = host.cmd('ping 15.0.0.59 -c 1') + print(str(ping_vimone)) + ping_vimtwo = host.cmd('ping 15.0.0.70 -c 1') + print(str(ping_vimtwo)) + +CLI(net) + + + + +topos = { 'mytopo' : ( lambda : RedEspana() ) } +\end{lstlisting} + + +\cleardoublepage diff --git a/capitulos/anexo_osmclient.tex b/capitulos/anexo_osmclient.tex new file mode 100644 index 0000000..cc90a1e --- /dev/null +++ b/capitulos/anexo_osmclient.tex @@ -0,0 +1,101 @@ +\chapter{OSMClient - Comandos disponibles} +\label{sec:anexoosmclient} + +\begin{lstlisting} +config-agent-add adds a config agent +config-agent-delete deletes a config agent NAME: name of the... +config-agent-list list config agents +netslice-instance-create creates a new Network Slice Instance +netslice-instance-delete deletes a Network Slice Instance (NSI) +netslice-instance-list list all Network Slice Instances (NSI) +netslice-instance-op-list shows the history of operations over a... +netslice-instance-op-show shows the info of an operation over a Network +Slice Instance(NSI) +netslice-instance-show shows the content of a Network Slice Instance (NSI) +netslice-template-create creates a new Network Slice Template (NST) +netslice-template-delete deletes a Network Slice Template (NST) +netslice-template-list list all Network Slice Templates (NST) in the... +netslice-template-show shows the content of a Network Slice Template (NST) +netslice-template-update updates a Network Slice Template (NST) +nf-list list all NF instances Options: --ns TEXT NS... +nfpkg-create creates a new NFpkg +nfpkg-delete deletes a NFpkg +nfpkg-list list all NFpkg (VNFpkg, PNFpkg, HNFpkg) in... +nfpkg-show shows the content of a NF Descriptor +nfpkg-update updates a NFpkg +ns-action executes an action/primitive over a NS... +ns-alarm-create creates a new alarm for a NS instance +ns-create creates a new Network Service instance +ns-delete deletes a NS instance +ns-list list all NS instances Options: --filter... +ns-metric-export exports a metric to the internal OSM bus,... +ns-monitoring-show +ns-op-list shows the history of operations over a NS... +ns-op-show shows the info of an operation +ns-scale scales NS NS_NAME: name of the NS instance to... +ns-scaling-show shows the status of a NS scaling operation... +ns-show shows the info of a NS instance +nsd-create creates a new NSD/NSpkg +nsd-delete deletes a NSD/NSpkg +nsd-list list all NSD/NSpkg in the system +nsd-show shows the content of a NSD +nsd-update updates a NSD/NSpkg +nsi-create creates a new Network Slice Instance +nsi-delete deletes a Network Slice Instance (NSI) +nsi-list list all Network Slice Instances (NSI) +nsi-op-list shows the history of operations over a... +nsi-op-show shows the info of an operation over a Network +Slice Instance(NSI) +nsi-show shows the content of a Network Slice Instance (NSI) +nspkg-create creates a new NSD/NSpkg +nspkg-delete deletes a NSD/NSpkg +nspkg-list list all NSD/NSpkg in the system +nspkg-show shows the content of a NSD +nspkg-update updates a NSD/NSpkg +nst-create creates a new Network Slice Template (NST) +nst-delete deletes a Network Slice Template (NST) +nst-list list all Network Slice Templates (NST) in the... +nst-show shows the content of a Network Slice Template (NST) +nst-update updates a Network Slice Template (NST) +pdu-create adds a new Physical Deployment Unit to the +catalog +pdu-delete deletes a Physical Deployment Unit (PDU) +pdu-list list all Physical Deployment Units (PDU) +pdu-show shows the content of a Physical Deployment Unit (PDU) +project-create Creates a new project NAME: name of the... +project-delete deletes a project NAME: name or ID of the... +project-list list all projects +project-show shows the details of a project NAME: name or... +ro-dump shows RO agent information +sdnc-create creates a new SDN controller +sdnc-delete deletes an SDN controller NAME: name or ID of... +sdnc-list list all SDN controllers +sdnc-show shows the details of an SDN controller NAME:... +sdnc-update updates an SDN controller +upload-package uploads a VNF package or NS package FILENAME:... +user-create Creates a new user USERNAME: name of the user +user-delete deletes a user NAME: name or ID of the user... +user-list list all users +user-show shows the details of a user NAME: name or ID... +vcs-list +vim-create creates a new VIM account +vim-delete deletes a VIM account NAME: name or ID of the... +vim-list list all VIM accounts +vim-show shows the details of a VIM account NAME: name... +vim-update updates a VIM account +vnf-list list all NF instances +vnf-monitoring-show +vnf-scale executes a VNF scale (adding/removing VDUs)... +vnf-show shows the info of a VNF instance +vnfd-create creates a new VNFD/VNFpkg +vnfd-delete deletes a VNFD/VNFpkg +vnfd-list list all VNFD/VNFpkg in the system +vnfd-show shows the content of a VNFD +vnfd-update updates a new VNFD/VNFpkg +vnfpkg-create creates a new VNFD/VNFpkg +vnfpkg-delete deletes a VNFD/VNFpkg +vnfpkg-list list all VNFD/VNFpkg in the system +vnfpkg-show shows the content of a VNFD +vnfpkg-update updates a VNFD/VNFpkg +\end{lstlisting} +\cleardoublepage \ No newline at end of file diff --git a/capitulos/herramientas.tex b/capitulos/herramientas.tex index 20115e1..ac805dd 100644 --- a/capitulos/herramientas.tex +++ b/capitulos/herramientas.tex @@ -149,6 +149,10 @@ \section{OSM} \subsection{OSMClient} \label{subsec:osmclientpython} +OSMClient\cite{osmclientbib} es una cliente REST programado en Python por la ETSI para interactuar con OSM. Fue introducido en la \textit{release} 2 y permite al usuario ejecutar numerosas acciones, como subir un nuevo descriptor, instanciar un nuevo NS, eliminar un NS, entre otras. + +En el anexo \ref{sec:anexoosmclient} se puede ver detalladamente los diferentes comandos que permite ejecutar OSMClient. + \section{OpenStack} \label{sec:openstack} @@ -161,7 +165,7 @@ \section{OpenStack} \label{fig:openstackarch} \end{figure} -Está compuesto de diferentes servicios o bloques, encargándose cada uno de ellos de una funcionalidad concreta dentro de la arquitectura. La principal característica de estos servicios es que son accesibles de forma independiente sin dependen los unos de los otros. Los servicios principales de OpenStack son los siguientes: +Está compuesto de diferentes servicios o bloques, encargándose cada uno de ellos de una funcionalidad concreta dentro de la arquitectura. La principal característica de estos servicios es que son accesibles de forma independiente. Los servicios principales de OpenStack son los siguientes: \begin{itemize} \item \textbf{Keystone:} Este servicio controla la identificación de los diferentes usuarios que se conecten a la infraestructura de OpenStack, y el acceso a según que aplicaciones de los mismos. diff --git a/main.tex b/main.tex index 53ea8fc..c7de74b 100644 --- a/main.tex +++ b/main.tex @@ -207,7 +207,9 @@ \appendix % Cue to tell LaTeX that the following "chapters" are Appendices \clearpage -\include{capitulos/anexo} +\include{capitulos/anexo_osmclient} +\clearpage +\include{capitulos/anexo_mininet} \clearpage