Feature #155

Επικοινωνία: ServerHandler --> Django ORM --> DB

Added by Constantinos Venetsanopoulos about 13 years ago. Updated about 13 years ago.

Status:Closed Start date:01/19/2011
Priority:High Due date:
Assignee:Markos Gogoulos % Done:

0%

Category:Cyclades API Spent time: -
Target version:-

Description

O ServerHandler του Django θα μιλάει μέσω του Django ORM με μία βάση (DB), για να φέρνει τα στοιχεία των VMs που τρέχουν


Related issues

related to Synnefo - Feature #181: Δημιουργία Image model Closed 01/26/2011

History

#1 Updated by Markos Gogoulos about 13 years ago

  • Assignee changed from Christos Psaltis to Markos Gogoulos

#2 Updated by Markos Gogoulos about 13 years ago

Στη συνάντηση της τρίτης είχε ειπωθεί οτι θα μας ενημερώσετε για μια βάση την οποία θα χρησιμοποιούμε (mysql) remotely αν θυμάμαι καλά για να δουλέψουμε το ticket αυτό.

Υπάρχει κάποια πρόοδος?

#3 Updated by Constantinos Venetsanopoulos about 13 years ago

Tο Django ORM θα είναι έτοιμο εντός της ημέρας. Μέχρι τότε ασχοληθείτε αν γίνεται με τα high priority tickets που είναι ήδη ανοιχτά.

#4 Updated by Vangelis Koukis about 13 years ago

  • Status changed from New to Assigned

Έκανα commit, μετακινώντας τα μοντέλα του ORM στο db/models.py.
Αν δεν είναι η σωστή θέση, σχολιάστε.

Προφανώς προσθέτετε ο,τιδήποτε χρειάζεστε για την υλοποίηση του API στο κοινό σημείο,
για να συμπληρωθούν τα μοντέλα και να καλύπτουν την απαιτούμενη λειτουργικότητα.

Για τη ΒΔ, νομίζω ότι θα ήταν καλύτερα η unweb.me, που δουλεύει από το API προς τη βάση
και ο Βασίλης [bkarak] που δουλεύει ανανεώσεις κατάστασης από το Ganeti προς τη βάση, να έχετε δύο διαφορετικά instances
της MySQL προς το παρόν, ώστε να μην υπάρχουν conflicts καθώς κάνετε τις δοκιμές σας.
Οπότε, φτιάχνετε τους πίνακες σε ένα ιδιωτικό σας instance της MySQL, το οποίο φαντάζομαι ρυθμίζεται στα settings της εφαρμογής.

Από Τρίτη, βλέπουμε πώς θα ξεκινήσετε να παίζετε σε κοινό instance.

#5 Updated by Panagiotis Louridas about 13 years ago

Vangelis Koukis wrote:

Οπότε, φτιάχνετε τους πίνακες σε ένα ιδιωτικό σας instance της MySQL, το οποίο φαντάζομαι ρυθμίζεται στα settings της εφαρμογής.

Θα ρυθμίσετε το DATABASES dictionary στα Django settings. Μπορείτε να επικοινωνήσετε μαζί μας για να σας φτιάξουμε δύο διαφορετικά instances.

#6 Updated by Markos Gogoulos about 13 years ago

Το σημαντικό εδώ είναι τα δεδομένα - έστω και testing - για να μπορεί να γίνει η διασταύρωση και να μην το κάνει ο καθένας ξεχωριστά για το instance του. Θα βόλευε να υπάρχει ένα κεντρικό mysql με έτοιμα δεδομένα, σε περίπτωση που δεν σας ενοχλεί να έχετε mysql ανοιχτή προς τον έξω κόσμο.

Επίσης θα χρειαστεί και setup το django admin για να μπορεί να βάλει κάποιος τα δεδομένα.

#7 Updated by Markos Gogoulos about 13 years ago

το db/models.py ετσι οπως ειναι τωρα δεν εχει καποια αξια. Για να μπορει να χρησιμοποιηθει το models πρεπει το db να γινει django application (django-admin startapp db), και μετα θα μπορει να μπει στο settings.py σαν app.

Για την ωρα μπορει να μπει σαν ui/models.py για να μπορει να δουλεψει καποιος.

#8 Updated by Panagiotis Louridas about 13 years ago

Markos Gogoulos wrote:

το db/models.py ετσι οπως ειναι τωρα δεν εχει καποια αξια. Για να μπορει να χρησιμοποιηθει το models πρεπει το db να γινει django application (django-admin startapp db), και μετα θα μπορει να μπει στο settings.py σαν app.

Για την ωρα μπορει να μπει σαν ui/models.py για να μπορει να δουλεψει καποιος.

Ας το κάνουμε app με το όνομα aquarium (αφού έτσι ονομάζουμε τη βάση), δεδομένου ότι είναι πιο γενικό από το ui.

#9 Updated by Markos Gogoulos about 13 years ago

Επίσης θα πρότεινα τη μετονομασία του

class User(models.Model):

σε κάτι του τύπου

class SynnefoUser(models.Model):
user = models.ForeignKey(User)

γιατι User είναι το default name των django users (με βασικές πληροφορίες user, password, email) και αν θέλουμε να αποθηκεύσουμε επιπλέον πληροφορίες εκεί (όνομα, logo, προτιμήσεις κτλ) θα έχουμε conflict

δείτε και στο "Storing additional information about users" στο documentation του django (http://docs.djangoproject.com/en/dev/topics/auth/)

#10 Updated by Panagiotis Louridas about 13 years ago

Markos Gogoulos wrote:

Επίσης θα πρότεινα τη μετονομασία του

class User(models.Model):

σε κάτι του τύπου

class SynnefoUser(models.Model):
user = models.ForeignKey(User)

γιατι User είναι το default name των django users (με βασικές πληροφορίες user, password, email) και αν θέλουμε να αποθηκεύσουμε επιπλέον πληροφορίες εκεί (όνομα, logo, προτιμήσεις κτλ) θα έχουμε conflict

δείτε και στο "Storing additional information about users" στο documentation του django (http://docs.djangoproject.com/en/dev/topics/auth/)

OK, SynnefoUser ή Skywalker :-)

#11 Updated by Markos Gogoulos about 13 years ago

Το api/handlers.py έχει τροποποιηθεί ώστε αντί MOCK OBJECTS να επιστρέφει τιμές. Για την εισαγωγή των τιμών (User, flavor, Virtualmachines) φτιάχνουμε ένα admin.py στο aquarium application και ενεργοποιούμε το admin απο τα setting του project.

Στο models.py για το VirtualMachine, ενώ έχουν ληφθεί τα state, flavor, name, δεν έχει γίνει το ίδιο για τα πεδία:

ip, id, imageId, metadata, hostId

τα οποία υπάρχουν στα mock objects με τα οποία έχει σχεδιαστεί το ui.

Τι πρόβλεψη υπάρχει σχετικά με αυτά τα πεδία?

#12 Updated by Panagiotis Louridas about 13 years ago

Markos Gogoulos wrote:

Το api/handlers.py έχει τροποποιηθεί ώστε αντί MOCK OBJECTS να επιστρέφει τιμές. Για την εισαγωγή των τιμών (User, flavor, Virtualmachines) φτιάχνουμε ένα admin.py στο aquarium application και ενεργοποιούμε το admin απο τα setting του project.

Στο models.py για το VirtualMachine, ενώ έχουν ληφθεί τα state, flavor, name, δεν έχει γίνει το ίδιο για τα πεδία:

ip, id, imageId, metadata, hostId

τα οποία υπάρχουν στα mock objects με τα οποία έχει σχεδιαστεί το ui.

Τι πρόβλεψη υπάρχει σχετικά με αυτά τα πεδία?

Βάλτε ό,τι σας χρειάζεται και ενημερώστε bkarak.

#13 Updated by Vassilios Karakoidas about 13 years ago

Βάλτε ό,τι σας χρειάζεται και ενημερώστε bkarak.

Τα μοντέλα είναι πλέον πλήρως integrated με το υπόλοιπο webapp.

#14 Updated by Vangelis Koukis about 13 years ago

Χρειάζονται αλλαγές στα μοντέλα ώστε να υποστηρίζει την απαιτούμενη λειτουργικότητα στο API.
Θα προστεθούν μοντέλα για metadata των VMs και για Images.

#15 Updated by Vangelis Koukis about 13 years ago

  • Status changed from Assigned to Closed

Η υλοποίηση του RS API μιλάει με Django ORM στη βάση. Κλείνω αυτό το τίκετ για να ανοίξω ανεξάρτητα τίκετς για κάθε μέρος της υλοποίησης του API.

Also available in: Atom PDF