diff --git a/additional-info/inter-cluster.md b/additional-info/inter-cluster.md index 159a79bcfcad7a04b28042a10044b9b6132e0ba4..31e85602f9bbf225aa6d801746ed7660b25f8721 100644 --- a/additional-info/inter-cluster.md +++ b/additional-info/inter-cluster.md @@ -14,12 +14,24 @@ spec: "type": "l2sm", "device": "l2sm-vNet", "kind": { - "inter": { + "ext-vnet": { "provider": { "name": "<idco-name>", "domain": "<domain-name>" }, - "accessList": ["<public-key-1>","<public-key-2>",...,"<public-key-N>"] + "accessList": [ # no tiene porq ser asÃ. Dejar en abierto. + # { + # "user": "<username-1>", + # "public-key": "<public-key-1>" + # }, + # { + # "user": "<username-2>", + # "public-key": "<public-key-2>" + # }, + # { + # "user": "<username-3>", + # "public-key": "<public-key-3>" + # } ] } } @@ -32,7 +44,11 @@ Se crea esta red en cada clúster usando el L2S-M k8s Client. Es necesario para Se crea un network con el mismo nombre dentro del host. Operador avisa al idco de que se ha conectado a la interfaz, se dice cual es el veth empleado. El idco anota, pero no añade aún. -Se crea un secret dentro del cluster con la firma de la public key. + +Se crea una firma (en local, se puede dar un script en conjunto para hacer que esto se haga en una lÃnea de comandos)) en forma secret dentro del cluster con la private key, se pone dentro como anotacion en el pod, en conjunto con el nombre del usuario. el operador puede leerla. + +En esta key hay un timestamp, el nombre de la red, identificador del usuario. + ```yaml apiVersion: v1 @@ -63,7 +79,32 @@ spec: secretName: sample-one-authorization-key ``` +Se avisa al operador, y este avisa a ambos controladores, siendo estos los que se encargan de comprobar la firma. -> Y ver si hay autorización + +Si no es autorizado, el intent del NED no se crea en el controlador, si es autorizado, se hace intent desde NED, la interfaz veth que corresponda con la que el operador solicita. + + + +Que habrÃa que implementar-> +IDCO: + Doy por hecho que el idco funciona. + Base de datos con: public keys asociados a users. permisos asociados a users. Usar plataforma externa o internamente se define en el controller? Hacer un portal de autorizaciones externo a ONOS? + +L2SM-Switch: + interfaces veth adicionales que conecten a los NED + +NED: + como l2sm switch, pero que pueden tener varios controladores. con hostNetwork, van generando interfaces en el host para conecarse con L2S-M switch. un cable por pod o un cable por red? + +L2S-M Operator: + Cuando encienda que sepa si está en modo inter o no por un argumento. + Según lo descrito: + evento cuando se crea red inter + evento cuando se añade pod + +L2S-M Client: + A través de este se crean los networks. Con docker por ejemplo? o programa instalado por lÃnea de comandos? Si alguien quiere unirse a la red, attachea al pod, utilizando