Neutron – Network
Neutron fornisce “network connectivity as a service” tra le interfacce, come i vNIC (virtual Network Integrated Card, le schede di rete virtuali) gestite da altri servii di OpenStack, come Nova. Il servizio funziona permettendo agli utenti di creare le loro reti e poi assegnare delle interfacce ad esse; Neutron ha un’architettura ad innesto che supporta le soluzioni e le tecnologie di vari vendors.
- neutro-server accetta le richieste API e le instrada al plugin di neutron corretto;
- plugin e Agenti compiono le azioni vere e proprie, come connettere/disconnettere le porte, creare le reti, le sottoreti e assegnare gli indirizzi IP;
- message queue per instradare le informazioni fra neutron-server e i vari Agenti;
- neutron database per raccogliere le informazioni sullo stato di networking per determinati plugin.
Neutron interagisce principalmente con Nova fornendo connessioni e reti per le sue istanze.
Cinder permette ai dispositivi a blocchi di venir esposti e connessi alle istanze in modo da avere più storage e migliori prestazioni a disposizione.
- cinder-api accetta le richieste e le dirige a cinder-volume dove vengono eseguite;
- cinder-volume aggiorna il database di Cinder sulle operazioni di reading e writing per mantenere lo stato, interagisce con altri processi (come cinder-scheduler) per mezzo di una message queue o direttamente con lo storage a blocchi cinder-scheduler sceglie il nodo ottimale del dispositivo a blocco per creare un volume su di esso;
- messages queue instrada le informazioni fra i processi di Cinder;
- cinder database raccoglie le informazioni sullo stato dei volumi.
Come Neutron, anche Nova interagisce principalmente con Nova, fornendo i volumi per le istanze.