Feature #411
Επέκταση του Ganeti backend ώστε να υποστηρίζει το χειρισμό ιδιωτικών δικτύων
Status: | Closed | Start date: | 04/12/2011 | |
---|---|---|---|---|
Priority: | Medium | Due date: | ||
Assignee: | Apollon Oikonomopoulos | % Done: | 0% |
|
Category: | Ganeti | Spent time: | - | |
Target version: | v0.4 |
Description
Η ανάπτυξη για αυτό το μέρος γίνεται ως μέρος του Ganeti και δεν αφορά άμεσα το Synnefo, αλλά ανοίγω εδώ το ticket ώστε να φαίνεται η εξάρτηση και να μπορούμε να το παρακολουθήσουμε στο roadmap.
Χρειάζεται το Ganeti να επεκταθεί ώστε να προσφέρει μηχανισμό δημιουργίας/καταστροφής ιδιωτικών δικτύων και σύνδεσης/αποσύνδεσης ganeti instances πάνω τους. Ο μηχανισμός αυτός πρέπει να παρέχεται τελικά μέσω του RAPI. Θα χρησιμοποιείται από την υλοποίηση του API στο Synnefo, το οποίο είναι υπεύθυνο για να κρατάει state για το ποια δίκτυα υπάρχουν, και ποια μηχανήματα είναι συνδεδεμένα πού, χωρίς να χρειάζεται να ρωτήσει το Ganeti για αυτό. Κάνει κλήσεις στο Ganeti για να πραγματοποιήσει αλλαγές στην τοπολογία των δικτύων.
Related issues
Associated revisions
History
#1 Updated by Vangelis Koukis almost 13 years ago
Τα patches από [apollon] για υποστήριξη IP pool management στο Ganeti έχουν εγκατασταθεί.
Το API implementation μπορεί να ζητήσει μια NIC να συνδεθεί με συγκεκριμένο link, στο οποίο έχει ενεργοποιηθεί IP pool management.
Έχουν προκύψει τα εξής θέματα:
- πώς αφαιρεί κανείς μια NIC; σύμφωνα με το documentation του Ganeti φαίνεται να μπορεί να αφαιρεθεί μόνο η τελευταία NIC (http://docs.ganeti.org/ganeti/2.4/html/rapi.html?highlight=rapi#id30)
- πώς είναι αριθμημένες οι NICs και τι θα συνέβαινε με το renumbering; τώρα διαγράφεται μόνο η τελευταία βέβαια.
- η προσθήκη ενός private network θα γίνεται με προσδιορισμό χωριστού, αυθαίρετου link. Αν είναι mode=routed απαιτείται IP, θα περνάει μια συγκεκριμένη, π.χ. "0.0.0.0"; αν είναι mode=bridged απαιτείται η ύπαρξη του [αυθαίρετου] link ως bridge στο σύστημα.
- το ip pool management δεν φαίνεται να συμμετέχει στη φάση prereq για ModifyInstance() οπότε δεν γίνεται να προσθέσει κανείς NIC με ip=pool μετά τη δημουργία του μηχανήματος.
#2 Updated by Faidon Liambotis almost 13 years ago
- Υπάρχει ένα limitation στην πλευρά του Ganeti κατά το οποίο επιτρέπεται μόνο push/pop δικτυακών καρτών και άρα η υλοποίηση της προσθαφαίρεσης δικτύων (και άρα καρτών) θα πρέπει να φροντίζει για την επαναδημιουργία του stack (λειτουργία η οποία μάλισταν δεν γίνεται να γίνει ατομικά)
- Το δημόσιο δίκτυο λόγω σχεδιασμού του Ωκεανού θα είναι mode=routed με κάποιο προκαθορισμένο link· το link τουλάχιστον (ενδεχομένως και το mode) θα πρέπει να είναι ρύθμιση στο settings.py.
- Τα ιδιωτικά δίκτυα, επίσης λόγω σχεδιασμού πρώτης έκδοσης του Ωκεανού, θα είναι mode=bridged με bridges που θα έχουν κάποια προκαθορισμένη (και ενδεχομένως επίσης ρυθμίσιμη) ονοματολογία, π.χ. prv10 για το ιδιωτικό δίκτυο 10.
- Το namespace της αρίθμησης των ιδιωτικών δικτύων το διαχειρίζεται το synnefo, ωστόσο τα δίκτυα προρυθμίζονται στους hosts μιας και το Ganeti απαιτεί την ύπαρξη του bridge interface προτού τρέξει το kvm-vif-bridge. Κατά συνέπεια είναι καλό να υπάρχει ένα προκαθορισμένο φάσμα αρίθμησης ιδιωτικών δικτύων και μάλιστα όχι πολύ μεγάλο(π.χ. 1-100)· κάτι τέτοιο σημαίνει αυτόματα ότι πρέπει να υλοποιηθεί η επαναχρησιμοποίηση αριθμών δικτύων και όχι η χρήση ενός συνεχώς αυξανόμενου αριθμού (π.χ. id).
#3 Updated by Vangelis Koukis almost 13 years ago
- Status changed from Assigned to Closed
το Ganeti backend έχει επεκταθεί ώστε να υποστηρίζει δημόσιο και ιδιωτικά δίκτυα.
Έχουν εγκατασταθεί και δοκιμαστεί στο development Ganeti τα patches του Απόλλωνα για IP pool management (gnt-network).
Υπάρχει kvm ifup script που θέτει σε κατάλληλα bridges τα virtual interfaces, και ενημερώνει τον NFDHCPD για τις IPs που έχουν ανατεθεί σε κάθε δημόσιο interface.
Αυτό κλείνει, ανοίγουμε νέο για ό,τι χρειαστεί, κατά περίπτωση.