https://code.grnet.gr/2011-05-13T11:13:26+03:00Greek Research and Technology Network's projectsSynnefo - Feature #469: Επέκταση του UI ώστε να κάνει κλήσεις στο /networks APIhttps://code.grnet.gr/issues/469?journal_id=21132011-05-13T11:13:26+03:00Vangelis Koukis
<ul><li><strong>Target version</strong> set to <i>v0.3</i></li></ul> Synnefo - Feature #469: Επέκταση του UI ώστε να κάνει κλήσεις στο /networks APIhttps://code.grnet.gr/issues/469?journal_id=21192011-05-13T11:18:21+03:00Vangelis Koukis
<ul><li><strong>Target version</strong> changed from <i>v0.3</i> to <i>v0.4</i></li></ul> Synnefo - Feature #469: Επέκταση του UI ώστε να κάνει κλήσεις στο /networks APIhttps://code.grnet.gr/issues/469?journal_id=21432011-05-14T15:15:47+03:00Christos Psaltis
<ul><li><strong>Assignee</strong> changed from <i>Dimitris Moraitis</i> to <i>Christos Psaltis</i></li></ul> Synnefo - Feature #469: Επέκταση του UI ώστε να κάνει κλήσεις στο /networks APIhttps://code.grnet.gr/issues/469?journal_id=21472011-05-14T15:21:45+03:00Christos Psaltis
<ul><li><strong>Status</strong> changed from <i>New</i> to <i>Assigned</i></li></ul> Synnefo - Feature #469: Επέκταση του UI ώστε να κάνει κλήσεις στο /networks APIhttps://code.grnet.gr/issues/469?journal_id=21752011-05-14T16:12:26+03:00Markos Gogoulos
<ul><li><strong>Assignee</strong> changed from <i>Christos Psaltis</i> to <i>Markos Gogoulos</i></li></ul> Synnefo - Feature #469: Επέκταση του UI ώστε να κάνει κλήσεις στο /networks APIhttps://code.grnet.gr/issues/469?journal_id=22212011-05-16T15:26:41+03:00Christos Psaltis
<ul><li><strong>Assignee</strong> changed from <i>Markos Gogoulos</i> to <i>Christos Psaltis</i></li></ul><p>Οι GET /networks και GET /networks/detail δεν σου επιστρέφουν έαν ένα δίκτυο είναι public ή όχι. Από την άλλη η GET /servers/id/ips από το spec σου δίνει public ips και private ips. Αυτό που δεν έχω καταλάβει είναι πώς σχετίζονται αυτά μεταξύ τους και τί είναι αυτό που πρέπει να δείχνω στο τέλος.</p>
<p>Για παράδειγμα θα πρέπει να κάνω ένα GET /networks και τόσα GET /servers/id/ips όσα είναι τα machines, και μετά από εκεί να ελέγξω τις τιμές των ip και να αποφασίσω εάν κάποιο δίκτυο είναι public?</p>
<p>Μήπως μου διαφεύγει κάτι;</p> Synnefo - Feature #469: Επέκταση του UI ώστε να κάνει κλήσεις στο /networks APIhttps://code.grnet.gr/issues/469?journal_id=22292011-05-16T16:22:37+03:00Christos Psaltis
<ul></ul><p>Η απάντηση του Κωνσταντίνου στο <a href="https://code.grnet.gr/issues/541" class="issue status-6 priority-1 closed" title="Wizard για create new network (Closed)">#541</a> μου έλυσε και αυτήν την απορία, ευχαριστώ.</p> Synnefo - Feature #469: Επέκταση του UI ώστε να κάνει κλήσεις στο /networks APIhttps://code.grnet.gr/issues/469?journal_id=22552011-05-17T18:04:47+03:00Christos Psaltis
<ul></ul><p>Κάνοντας διάφορα εδώ έχω συναντήσει το παρακάτω θέμα.</p>
<p>Η αρχική μου ιδέα ήταν να κάνω διαρκώς GET networks/detail και να ενημερώνω τη λίστα όπως και στα machines. Ωστόσο λείπουν πληροφορίες που της έχει μόνο στο GET servers/detail. Η αλήθεια είναι ότι η δεύτερη κλήση θα πρέπει να γίνεται συνεχώς ούτως ή άλλως ώστε να ενημερώνεται το ui για τυχόν αλλαγές στην κατάσταση των μηχανημάτων, πχ delete, stop κλπ. Η μόνη πληροφορία που δεν έχει το servers/detail ακι την έχει μόνο η networks/detail είναι τα ονόματα των ιδιωτικών δικτύων.</p>
<p>Για τον παραπάνω λόγο θα χρειαστεί να κάνω δύο επαναλαμβανόμενα calls ένα GET networks/detail και ένα GET servers/detail. Εάν αυτό δεν σας προκαλεί θέμα λόγω αύξησης του load να συνεχίσω έτσι. Διαφορετικά η μόνη λύση που βλέπω είναι να αλλάξει το api έτσι ώστε η μία από τις δύο κλήσεις, πιθανότατα η servers/detail, να επιστρέφει όλα τα δεδομένα που πρέπει να απεικονιστούν στο networks section.</p> Synnefo - Feature #469: Επέκταση του UI ώστε να κάνει κλήσεις στο /networks APIhttps://code.grnet.gr/issues/469?journal_id=22572011-05-17T18:12:17+03:00Vangelis Koukis
<ul></ul><p>Έχεις δίκιο. Η βασική κλήση είναι η GET /servers/detail. Από εκεί μπορείς να έχεις ποια μηχανήματα υπάρχουν, σε ποια δίκτυα είναι συνδεδεμένα, IPs / MACs για κάθε σύνδεση. Οπότε, όταν μια τέτοια κλήση επιστρέψει νέα δεδομένα (όχι HTTP 304 NOT MODIFIED), μπορείς να ανανεώνεις το view. Η δεύτερη κλήση, GET /networks/detail χρειάζεται για τα ονόματα των ιδιωτικών δικτύων, τα οποία αν καταλαβαίνω καλά δεν επιστρέφει η /servers/detail, αν κάνω λάθος ο [verigak] με διορθώνει.</p>
<p>Οπότε, ναι, περιοδικά θα γίνονται δύο κλήσεις όταν είναι στο networks tab, μία για /servers/detail [όλη η πληροφορία που ουσιαστικά παρουσιάζεται], μία για /networks/detail [τα ονόματα των δικτύων].</p> Synnefo - Feature #469: Επέκταση του UI ώστε να κάνει κλήσεις στο /networks APIhttps://code.grnet.gr/issues/469?journal_id=23252011-05-23T15:26:08+03:00Christos Psaltis
<ul><li><strong>Status</strong> changed from <i>Assigned</i> to <i>Feedback</i></li></ul><p>Δύο ερωτήματα σχετικά με τις ενέργειες σε μηχανήματα στο networks:</p>
<p>1. Όταν ένας server γίνεται disconnected από το public network τί θα πρέπει να γίνεται με τις ip του; Από ότι βλέπω δεν υπάρχει κάποια κλήση που μπορεί να τροποποιήσει public ips, ούτε στο openstack api ούτε στο δικό μας implementation. Μου διαφεύγει κάτι;</p>
<p>2. Tο action details σε servers στο public network ή σε κάποιο private τί θα πρέπει να επιστρέφει; Το GET server details; Και αν ναι πώς θα πρέπει να φαίνεται αυτό;</p> Synnefo - Feature #469: Επέκταση του UI ώστε να κάνει κλήσεις στο /networks APIhttps://code.grnet.gr/issues/469?journal_id=23272011-05-23T16:09:40+03:00Christos Psaltis
<ul></ul><p>Να προσθέσω άλλα δύο θέματα εδώ:</p>
<p>1. Όταν σβήσω ένα ιδιωτικό δίκτυο που περιέχει κάποιον server, τότε η server details μου λέει ότι το status του server είναι unknown και σαν συνέπεια στη λίστα των μηχανημάτων φαίνονται πλέον ώς ανενεργά.</p>
<p>2. Δεν υπάρχει κάποιο state στα δίκτυα που να μου επιτρέπει να καταλάβω εάν έχουν σβηστεί ή όχι. Οπότε την επόμενη φορά που το δίκτυο θα πάρει κάποιο change δε θα ξέρω εάν είναι νέο ή σβησμένο.</p> Synnefo - Feature #469: Επέκταση του UI ώστε να κάνει κλήσεις στο /networks APIhttps://code.grnet.gr/issues/469?journal_id=23292011-05-23T17:08:10+03:00Vangelis Koukis
<ul><li><strong>Status</strong> changed from <i>Feedback</i> to <i>Assigned</i></li></ul><p>Για το (2) έχει ανοίξει το <a href="https://code.grnet.gr/issues/569" class="issue status-6 priority-1 closed" title="Κάθε δίκτυο στο /networks του API πρέπει να έχει κατάσταση (Closed)">#569</a>, θα το δει o [verigak]. Τα δίκτυα θα έχουν τουλάχιστον τις καταστάσεις ACTIVE, DELETED. Ο κώδικας για τα δίκτυα στο UI μπορεί να έχει ακριβώς την ίδια συμπεριφορά που υλοποιεί για τις μηχανές.</p>
<p>Για το (1), δεν το κατάλαβα: λες ότι επιστρέφεται status="UNKNOWN" από την απάντηση GET /servers/detail; αυτό είναι γενικότερο θέμα, που παρατηρήσαμε κι εμείς σε άσχετη φάση, ίσως να είναι διαφορετικό bug. Όπως και να έχει, το UI εκεί έχει θέμα, δεν χειρίζεται σωστά την περίπτωση status="UNKNOWN", το εμφανίζει "Running". Έχω ανοίξει το <a href="https://code.grnet.gr/issues/571" class="issue status-6 priority-1 closed" title="Το UI δεν χειρίζεται σωστά status="UNKNOWN" (Closed)">#571</a> που περιγράφει ακριβώς τι συμβαίνει στην πλευρά του UI.</p>
<p>Επαναλαμβάνω, ότι δεν θα έπρεπε το API να επιστρέφει κάτι τέτοιο, αν μπορείτε να πείτε ακριβώς τι κάνετε και βλέπετε μηχανήματα UKNOWN θα βόλευε. Συμπληρώστε στο <a href="https://code.grnet.gr/issues/571" class="issue status-6 priority-1 closed" title="Το UI δεν χειρίζεται σωστά status="UNKNOWN" (Closed)">#571</a>. Και πάλι όμως, το UI πρέπει να χειρίζεται την κατάσταση UNKNOWN και να μη βγάζει (ψευδώς) ότι το μηχάνημα είναι "Running".</p>
<p>Εδώ η δουλειά μπορεί να συνεχιστεί με προβληματική την απάντηση ?changes-since, θα κλείσει μέσα στην εβδομάδα.</p> Synnefo - Feature #469: Επέκταση του UI ώστε να κάνει κλήσεις στο /networks APIhttps://code.grnet.gr/issues/469?journal_id=23332011-05-23T17:19:35+03:00Christos Psaltis
<ul></ul><p>Συνεχίζοντας εδώ,</p>
<p>1. Όταν ένα μηχάνημα είναι σταματημένο, τότε θεωρούμε ότι έχει ips, public και private? Θα πρέπει να εμφναίζεται στα αντίστοιχα δίκτυα;<br />2. Υπάρχουν κάποια δημόσια ip που δεν θεωρούνται έγκυρα, πχ 0.0.0.0 (v4), και αν ναι ποια; Σε αυτήν την περίπτωση θα πρέπει να μπαίνουν μόνο στα ιδιωτικά δίκτυα οι συγκεκριμένοι σέρβερ;<br />3. Αυτό που δεν μπορώ να δοκιμάσω από την δική μας πλευρά είναι το τί γίνεται εάν ένας χρήστης συνδεθεί, πχ με ssh, σε κάποιο μηχάνημα και αλλάξει από κει την public ip του. Για να προχωρήσω θα το κάνω χωρίς να το έχω δοκιμάσει.</p>
<p>Επίσης να θυμίσω λίγο και το σημείο 10 παραπάνω, μάλλον παράπεσε ανάμεσα στα υπόλοιπα.</p> Synnefo - Feature #469: Επέκταση του UI ώστε να κάνει κλήσεις στο /networks APIhttps://code.grnet.gr/issues/469?journal_id=23372011-05-23T17:37:09+03:00Vangelis Koukis
<ul></ul><p>Christos Psaltis wrote:</p>
<blockquote>
<p>Συνεχίζοντας εδώ,</p>
</blockquote>
<p>Με διορθώνει ο [verigak] αν κάτι ξεφύγει.</p>
<blockquote>
<p>1. Όταν ένα μηχάνημα είναι σταματημένο, τότε θεωρούμε ότι έχει ips, public και private? Θα πρέπει να εμφναίζεται στα αντίστοιχα δίκτυα;</p>
</blockquote>
<p>Δεν παίζει ρόλο αν το μηχάνημα είναι σταματημένο. Αν είναι συνδεδεμένο με κάποιο δίκτυο, αυτό θα εμφανίζεται στην απάντηση /servers/detail.<br />Το μηχάνημα θα πρέπει να εμφανίζεται κανονικά, σβησμένο ή αναμμένο, στα δίκτυα στα οποία το GET /servers/detail το εμφανίζει συνδεδεμένο.<br />Εδώ βολεύει να υπάρχει κάποια οργάνωση Model-View-Controller στο UI: το UI κρατάει κάπου την κατάσταση των servers και των δικτύων (Model), η Javascript με ?changes-since τα ανανεώνει περιοδικά (Controller) και φτιάχνει από αυτά Views (HTML5, DOM) για να τα δείχνει.</p>
<blockquote>
<p>2. Υπάρχουν κάποια δημόσια ip που δεν θεωρούνται έγκυρα, πχ 0.0.0.0 (v4), και αν ναι ποια; Σε αυτήν την περίπτωση θα πρέπει να μπαίνουν μόνο στα ιδιωτικά δίκτυα οι συγκεκριμένοι σέρβερ;</p>
</blockquote>
<p>Το UI εμφανίζει ακριβώς ότι του επιστρέφει το API. Άμα το API του πει ότι ένα μηχάνημα έχει IPv4 0.0.0.0 σε ένα δίκτυο, θα γράφει 0.0.0.0.<br />Αν κάποιο attribute δεν υπάρχει, ας το εμφανίζει κενό.</p>
<blockquote>
<p>3. Αυτό που δεν μπορώ να δοκιμάσω από την δική μας πλευρά είναι το τί γίνεται εάν ένας χρήστης συνδεθεί, πχ με ssh, σε κάποιο μηχάνημα και αλλάξει από κει την public ip του. Για να προχωρήσω θα το κάνω χωρίς να το έχω δοκιμάσει.</p>
</blockquote>
<p>Δεν γίνεται τίποτε. Οι χρήστες δεν έχουν δικαίωμα να αλλάζουν IPs μέσα στο μηχάνημα. Αν το κάνουν δεν θα έχουν δίκτυο.<br />Υπάρχει ένας ολόκληρος μηχανισμός από πίσω, δεν είναι μόνο ό,τι βλέπετε στο API. Ο μηχανισμός αυτός ξέρει τι IPs έχουν ανατεθεί, τις απαντάει με DHCP, και αν κάποιος καρφώσει άσχετη IP με το χέρι, δεν μπορεί να δρομολογήσει πακέτα προς το δίκτυο. Οπότε δεν υπάρχει λόγος να σας απασχολεί αυτό.</p>
<blockquote>
<p>Επίσης να θυμίσω λίγο και το σημείο 10 παραπάνω, μάλλον παράπεσε ανάμεσα στα υπόλοιπα.</p>
</blockquote>
<p>Αν λες το σημείο (1), έχω ανοίξει το <a href="https://code.grnet.gr/issues/571" class="issue status-6 priority-1 closed" title="Το UI δεν χειρίζεται σωστά status="UNKNOWN" (Closed)">#571</a> για το UI (χειρισμός κατάστασης "UNKNOWN") και προσπαθώ να δω γιατί συμβαίνει έτσι κι αλλιώς αυτό στο API, αν έχετε reproducible τρόπο στείλτε.</p> Synnefo - Feature #469: Επέκταση του UI ώστε να κάνει κλήσεις στο /networks APIhttps://code.grnet.gr/issues/469?journal_id=23412011-05-23T17:48:52+03:00Christos Psaltis
<ul></ul><p>οκ με όσα λες.</p>
<p>Δεν αναφερόμουν στο 11, που άνοιξαν τα tickets, αλλά στο σημείο 10. Εκεί ρωτάω τί γίνεται με το action disconnect στους servers των δημοσίων δικτύων και το action details στους servers και των δύο τύπων δικτύων.</p> Synnefo - Feature #469: Επέκταση του UI ώστε να κάνει κλήσεις στο /networks APIhttps://code.grnet.gr/issues/469?journal_id=23472011-05-23T18:57:35+03:00Vangelis Koukis
<ul></ul><p>Christos Psaltis wrote:</p>
<blockquote>
<p>Δύο ερωτήματα σχετικά με τις ενέργειες σε μηχανήματα στο networks:</p>
<p>1. Όταν ένας server γίνεται disconnected από το public network τί θα πρέπει να γίνεται με τις ip του; Από ότι βλέπω δεν υπάρχει κάποια κλήση που μπορεί να τροποποιήσει public ips, ούτε στο openstack api ούτε στο δικό μας implementation. Μου διαφεύγει κάτι;</p>
</blockquote>
<p>Όχι, δεν μπορεί να γίνει disconnected από το public δίκτυο, ούτε υπάρχει κλήση που να τροποποιεί public IPs, τα πάντα στο δημόσιο δίκτυο θεωρούμε ότι αποφασίζονται από το API.</p>
<p>Αν κάποιος δεν θέλει υποστήριξη για δημόσιο δίκτυο, υπάρχουν firewall profiles, αύριο θα είναι διαθέσιμη τεκμηρίωση για τη χρήση τους από τον [verigak].</p>
<blockquote>
<p>2. Tο action details σε servers στο public network ή σε κάποιο private τί θα πρέπει να επιστρέφει; Το GET server details; Και αν ναι πώς θα πρέπει να φαίνεται αυτό;</p>
</blockquote>
<p>Θα απαντήσει ο Κωνσταντίνος σε αυτό.</p> Synnefo - Feature #469: Επέκταση του UI ώστε να κάνει κλήσεις στο /networks APIhttps://code.grnet.gr/issues/469?journal_id=23492011-05-23T18:59:18+03:00Constantinos Venetsanopoulos
<ul></ul><p>To details θα πρέπει να τον πετάει στο αντίστοιχο single view του συγκεκριμένου machine</p> Synnefo - Feature #469: Επέκταση του UI ώστε να κάνει κλήσεις στο /networks APIhttps://code.grnet.gr/issues/469?journal_id=23652011-05-24T16:07:23+03:00Christos Psaltis
<ul></ul><p>Ακόμα μία ερώτηση εδώ.</p>
<p>Το edit action στα ιδιωτικά δίκτυα κάνει:<br />α) rename το δίκτυο;<br />β) τίποτα, αλλά πρέπει να μείνει;<br />γ) τίποτα και πρέπει να φύγει;<br />δ) κάτι άλλο</p> Synnefo - Feature #469: Επέκταση του UI ώστε να κάνει κλήσεις στο /networks APIhttps://code.grnet.gr/issues/469?journal_id=23672011-05-24T16:13:56+03:00Constantinos Venetsanopoulos
<ul></ul><p>τίποτα και πρέπει να φύγει. Το rename γίνεται με μολυβάκι ακριβώς όπως και στο machines</p> Synnefo - Feature #469: Επέκταση του UI ώστε να κάνει κλήσεις στο /networks APIhttps://code.grnet.gr/issues/469?journal_id=25632011-05-30T13:41:30+03:00Christos Psaltis
<ul><li><strong>Status</strong> changed from <i>Assigned</i> to <i>Feedback</i></li></ul><p>Εντάξει και αυτό, όλες οι λειτουργίες είναι έτοιμες και διορθώθηκαν λίγα css προβληματάκια που υπήρχαν μέχρι τώρα.</p> Synnefo - Feature #469: Επέκταση του UI ώστε να κάνει κλήσεις στο /networks APIhttps://code.grnet.gr/issues/469?journal_id=25952011-05-31T12:57:51+03:00Vangelis Koukis
<ul><li><strong>Status</strong> changed from <i>Feedback</i> to <i>Assigned</i></li></ul><p>Προσπαθώ να κάνω merge εδώ και υπάρχουν θέματα.</p>
<p>Έκανα ένα πρώτο merge του api-current στο ui-0.4 και σκάει γιατί:</p>
<p>[31/5/2011 12:22:04 μμ] JavaScript - <a class="external" href="http://62.217.120.67:8000/">http://62.217.120.67:8000/</a><br />Unknown thread<br />Uncaught exception: TypeError: Cannot convert 'server.addresses.values<sup><a href="#fn0">0</a></sup>' to object<br />Error thrown at line 337, column 12 in <anonymous function>(i, server) in <a class="external" href="http://62.217.120.67:8000/">http://62.217.120.67:8000/</a>:<br /> machine.find("a.ip span.public").text(String(server.addresses.values<sup><a href="#fn0">0</a></sup>.values<sup><a href="#fn0">0</a></sup>.addr).replace(',',' '));<br />called via Function.prototype.call() from line 49, column 866 in <anonymous function: each>(a, b, d) in <a class="external" href="http://62.217.120.67:8000/static/jquery.tools.min.js">http://62.217.120.67:8000/static/jquery.tools.min.js</a>:<br /> var f,e=0,j=a.length,i=j===w||c.isFunction(a);<br />called from line 253, column 4 in update_machines_view(data) in <a class="external" href="http://62.217.120.67:8000/">http://62.217.120.67:8000/</a>:<br /> $.each(data.servers.values, function(i,server) {<br />called from line 248, column 16 in <anonymous function: success>(data, textStatus, jqXHR) in <a class="external" href="http://62.217.120.67:8000/static/synnefo.js">http://62.217.120.67:8000/static/synnefo.js</a>:<br /> update_machines_view(data);<br />called from line 143, column 1033 in b() in <a class="external" href="http://62.217.120.67:8000/static/jquery.tools.min.js">http://62.217.120.67:8000/static/jquery.tools.min.js</a>:<br /> e.success&&<br />called via Function.prototype.call() from line 149, column 367 in <anonymous function: x.onreadystatechange>(q) in <a class="external" href="http://62.217.120.67:8000/static/jquery.tools.min.js">http://62.217.120.67:8000/static/jquery.tools.min.js</a>:<br /> j||b();</p>
<p>Το UI δεν πρέπει να κάνει υποθέσεις για την απάντηση.<br />Το μηχάνημα μπορεί να μην έχει IPv4, IPv6, να μην είναι στο public δίκτυο [ακόμη] κλπ.<br />Γενικά, αν κάτι δεν έχει τιμή ακόμη, μπορεί να λείπει εντελώς από την απάντηση [ipv4, ipv6 ή και το "addresses" attribute όπως είναι].<br />Αν κάποιο attribute δεν υπάρχει, πρέπει να πιάνετε το exception και να βγάζετε το αντίστοιχο πεδίο άδειο.<br />Επίσης, δεν υπάρχει εγγύηση ότι το public δίκτυο είναι το πρώτο δίκτυο της απάντησης. Το public δίκτυο είναι αυτό που έχει id="public" στην απάντηση GET /servers.</p>
<p>Αναλυτική περιγραφή του API και των επεκτάσεων:<br /><a class="external" href="http://trac.cslab.ece.ntua.gr:8081/cloud/wiki/OpenStackAPI#ListNetworks">http://trac.cslab.ece.ntua.gr:8081/cloud/wiki/OpenStackAPI#ListNetworks</a></p> Synnefo - Feature #469: Επέκταση του UI ώστε να κάνει κλήσεις στο /networks APIhttps://code.grnet.gr/issues/469?journal_id=25972011-05-31T17:29:36+03:00Christos Psaltis
<ul><li><strong>Status</strong> changed from <i>Assigned</i> to <i>Feedback</i></li></ul><p>Εδώ έχουν γίνει πολλές διορθώσεις και πλέον παίζει κανονικά με το merge του api-current. To τελευταίο commit είναι το commit:ccaa2c33.</p>
<p>Ένας από τους λόγους που χτυπούσε ήταν ότι τo δημόσιο δίκτυο αντί για id='public' έχει πλέον name='public'. Αυτό είναι διαφορετικό από ότι ίσχυε μέχρι τώρα και από τα docs του openstack και δεν ξέρω αν είναι επιλογή ή κάποιο πρόβλημα.</p> Synnefo - Feature #469: Επέκταση του UI ώστε να κάνει κλήσεις στο /networks APIhttps://code.grnet.gr/issues/469?journal_id=25992011-05-31T18:35:22+03:00Vangelis Koukis
<ul></ul><p>Αυτό θα το αλλάξουμε, θα είναι id="public" για το δημόσιο δίκτυο, id=κάτι-άλλο-μοναδικό για τα ιδιωτικά δίκτυα.</p>
<p>Και στα docs του openstack αυτό είναι πολύ θολό: δεν φαίνεται υποχρεωτικό να υπάρχει καν id="public", το id είναι απλώς ένα id.<br />Από την άλλη πλευρά, στην τρέχουσα έκδοση του API τους δεν έχουν και τη δυνατότητα να δημιουργήσει ο χρήστης δικά του δίκτυα. Οπότε τους αρκούσε ένα σταθερό id="public" κι ένα id="private", προδιαγεγραμμένα.</p>
<p>Δοκιμάζω τώρα το αποτέλεσμα του merge, θα ανοίξω ότι tickets προκύψουν.</p> Synnefo - Feature #469: Επέκταση του UI ώστε να κάνει κλήσεις στο /networks APIhttps://code.grnet.gr/issues/469?journal_id=26032011-05-31T19:28:46+03:00Vangelis Koukis
<ul><li><strong>Status</strong> changed from <i>Feedback</i> to <i>Assigned</i></li></ul><p>Με μια πρώτη δοκιμή υπάρχουν τα εξής θέματα:</p>
<p>θ1)</p>
<p>Vangelis Koukis wrote:</p>
<blockquote>
<p>Οπότε, ναι, περιοδικά θα γίνονται δύο κλήσεις όταν είναι στο networks tab, μία για /servers/detail [όλη η πληροφορία που ουσιαστικά παρουσιάζεται], μία για /networks/detail [τα ονόματα των δικτύων].</p>
</blockquote>
<p>Αυτό δεν φαίνεται να γίνεται, και προκαλεί πρόβλημα. Φτιάχνω ένα νέο δίκτυο, το οποίο δεν εμφανίζεται ποτέ, γιατί το UI δεν κάνει GET /networks, κάνει μόνο GET /servers.</p>
<p>Δοκιμάζω με Opera.</p>
<p>θ2) Στο κουτί που ζητάει τη δημιουργία νέου δικτύου πρέπει να παίζουν Enter / Esc.<br />θ3) έχει θέμα το παράθυρο για νέο ιδιωτικό δίκτυο αν επιστραφεί σφάλμα κατά τη δημιουργία του νέου δικτύου [μένει για πάντα στην οθόνη], το περιγράφω στο <a href="https://code.grnet.gr/issues/471" class="issue status-6 priority-2 closed" title="Ειδοποίηση του χρήστη όταν κάτι είναι σε εξέλιξη στο UI (Closed)">#471</a>.</p> Synnefo - Feature #469: Επέκταση του UI ώστε να κάνει κλήσεις στο /networks APIhttps://code.grnet.gr/issues/469?journal_id=26152011-06-01T11:15:01+03:00Mike Muzurakis
<ul></ul><p>Εδώ έγιναν τα θ2, θ3</p> Synnefo - Feature #469: Επέκταση του UI ώστε να κάνει κλήσεις στο /networks APIhttps://code.grnet.gr/issues/469?journal_id=26212011-06-01T11:30:58+03:00Vangelis Koukis
<ul></ul><p>Ναι, τα θ2, θ3 φαίνεται πως είναι ΟΚ τώρα.</p>
<p>Υπάρχουν ακόμη κάποια θέματα, π.χ. τώρα έχω φτιάξει ιδιωτικό δίκτυο, το βλέπω με cloud lsnet, δεν εμφανίζεται καθόλου στο UI. [API και UI που τρέχει στο 62.217.120.67:8000].</p>
<p>Οπότε, για να κλείσουμε το ζήτημα του merge, παρακαλώ κάντε μια περιήγηση στο networks tab κι επιβεβαιώσετε ότι γενικότερα δουλεύει σωστά, ώστε να το δω μια και καλή.</p> Synnefo - Feature #469: Επέκταση του UI ώστε να κάνει κλήσεις στο /networks APIhttps://code.grnet.gr/issues/469?journal_id=26272011-06-01T11:33:42+03:00Mike Muzurakis
<ul></ul><p>πράγματα, τα δίκτυα έοχυν εμφανίσει προβλήματα που δεν έβλεπα πριν (φαντάζομαι μετά τo merge με το api-current). Μόλις διορθωθούν, θα το γυρίσω σε feedback για να γίνει συνολικός έλεγχος πριν κλείσει.</p> Synnefo - Feature #469: Επέκταση του UI ώστε να κάνει κλήσεις στο /networks APIhttps://code.grnet.gr/issues/469?journal_id=26472011-06-01T13:58:27+03:00Christos Psaltis
<ul></ul><p>Εντάξει και το θ1 στο commit:9bb263c1, εδώ έχουμε πάλι μια εμφάνιση του <a href="https://code.grnet.gr/issues/317" class="issue status-6 priority-3 closed" title="Πρόβλημα με XmlHttpRequest στον Opera (Closed)">#317</a>. Η λύση είναι προσωρινή καθώς δεν επιτρέπει σωστό error reporting και θα πρέπει στο 0.5 να βρούμε κάποιον τρόπο να το λύσουμε μια και καλή αυτό.</p>
<p>Δεν έχει κλείσει εντελώς το ticket αυτό, θα ενημερώσω σε λίγο.</p> Synnefo - Feature #469: Επέκταση του UI ώστε να κάνει κλήσεις στο /networks APIhttps://code.grnet.gr/issues/469?journal_id=26492011-06-01T15:00:34+03:00Christos Psaltis
<ul><li><strong>Status</strong> changed from <i>Assigned</i> to <i>Feedback</i></li></ul><p>Εδώ δεν μπορώ να προσθέσω servers σε κάποιο δίκτυο ούτε με το ui αλλά και ούτε με το cloud tool.</p>
<p>Το post επιστρέφει επιτυχία, αλλά η λίστα με τους servers που έχει πλέον το δίκτυο είναι κενή. Το ίδιο παρατηρώ είτε πάω στο localhost:8000/api/v1.1/network/details είτε κάνω netinfo με το tool. Φαίνεται σαν πρόβλημα του api. Έχω κάνει merge την τελευταία έκδοση, με τις αλλαγές στο settings.py, και δεν διορθώθηκε.</p>
<p>Μπορείτε να επιβεβαιώσετε και σεις αυτήν την συμπεριφορά; Μήπως μου έχει ξεφύγει κάποιο updated setting?</p> Synnefo - Feature #469: Επέκταση του UI ώστε να κάνει κλήσεις στο /networks APIhttps://code.grnet.gr/issues/469?journal_id=26512011-06-01T15:06:25+03:00Christos Psaltis
<ul></ul><p>Επίσης σχετικά με το πρόβλημα που αναφέρεται στο σημείο 26 πιο πάνω, δεν κατάφερα να το αναπαράγω τοπικά και το 62.217.120.67:8000 μου δίνει 502.</p> Synnefo - Feature #469: Επέκταση του UI ώστε να κάνει κλήσεις στο /networks APIhttps://code.grnet.gr/issues/469?journal_id=26532011-06-01T15:19:26+03:00Vangelis Koukis
<ul><li><strong>Status</strong> changed from <i>Feedback</i> to <i>Assigned</i></li></ul><p>Christos Psaltis wrote:</p>
<blockquote>
<p>Εδώ δεν μπορώ να προσθέσω servers σε κάποιο δίκτυο ούτε με το ui αλλά και ούτε με το cloud tool.</p>
<p>Το post επιστρέφει επιτυχία, αλλά η λίστα με τους servers που έχει πλέον το δίκτυο είναι κενή. Το ίδιο παρατηρώ είτε πάω στο localhost:8000/api/v1.1/network/details είτε κάνω netinfo με το tool. Φαίνεται σαν πρόβλημα του api. Έχω κάνει merge την τελευταία έκδοση, με τις αλλαγές στο settings.py, και δεν διορθώθηκε.</p>
<p>Μπορείτε να επιβεβαιώσετε και σεις αυτήν την συμπεριφορά; Μήπως μου έχει ξεφύγει κάποιο updated setting?</p>
</blockquote>
<p>Ναι, αυτό είναι θέμα υλοποίησης της πλευράς του API, υπάρχει μικρό πρόβλημα με την ενημέρωση της ΒΔ. Δεν απασχολεί το UI. Αν δεν το βγάζει το command line εργαλείο, δεν το βγάζει.</p> Synnefo - Feature #469: Επέκταση του UI ώστε να κάνει κλήσεις στο /networks APIhttps://code.grnet.gr/issues/469?journal_id=26552011-06-01T15:20:39+03:00Vangelis Koukis
<ul></ul><p>Christos Psaltis wrote:</p>
<blockquote>
<p>Επίσης σχετικά με το πρόβλημα που αναφέρεται στο σημείο 26 πιο πάνω, δεν κατάφερα να το αναπαράγω τοπικά και το 62.217.120.67:8000 μου δίνει 502.</p>
</blockquote>
<p>Το έχω τώρα να τρέχει, συνδέσου.<br />Υπάρχουν δύο ιδιωτικά δίκτυα, το "new1" και το "aa1".<br />Όταν πρωτομπαίνω στο network tab, μου βγάζει μόνο το public δίκτυο "Internet".</p>
<p>Τώρα βλέπω ότι αν το αφήσω ~5 δευτερόλεπτα βγάζει και τα υπόλοιπα από κάτω. Αλλά θα περίμενε κανείς αυτά να βγαίνουν όλα μαζί, στην αρχή.</p> Synnefo - Feature #469: Επέκταση του UI ώστε να κάνει κλήσεις στο /networks APIhttps://code.grnet.gr/issues/469?journal_id=26572011-06-01T15:21:28+03:00Vangelis Koukis
<ul></ul><p>Κι ένα τελευταίο: το public δίκτυο έχει id="public", το API έχει ανανεωθεί ώστε να το κάνει σωστά αυτό.<br />Τα ονόματα είναι user-manageable πράγματα (το attribute "name") ας μην βασίζεται το UI σε αυτό.</p> Synnefo - Feature #469: Επέκταση του UI ώστε να κάνει κλήσεις στο /networks APIhttps://code.grnet.gr/issues/469?journal_id=26592011-06-01T15:30:38+03:00Christos Psaltis
<ul><li><strong>Status</strong> changed from <i>Assigned</i> to <i>Feedback</i></li></ul><p>Εφόσον αφήνουμε την προσθήκη server σε ιδιωτικό δίκτυο, τότε το θέμα της αναμονής για να σου βγάλει τα ιδιωτικά δίκτυα, συμπίπτει με το <a href="https://code.grnet.gr/issues/591" class="issue status-6 priority-1 closed" title="Το networks tab δεν κανει σωστό positioning του Internet pane (Closed)">#591</a> που έχει αναφέρει ο Κωνσταντίνος. Όσο για το id = 'public', αυτό έχει ήδη αλλάξει σε σχέση με χθες και είμαστε οκ.</p>
<p>Νομίζω ότι εάν δεν έχει εντοπιστεί κάτι άλλο και έχουμε ήδη το <a href="https://code.grnet.gr/issues/591" class="issue status-6 priority-1 closed" title="Το networks tab δεν κανει σωστό positioning του Internet pane (Closed)">#591</a>, που κοιτάω τώρα, μπορεί να κλείσει αυτό.</p> Synnefo - Feature #469: Επέκταση του UI ώστε να κάνει κλήσεις στο /networks APIhttps://code.grnet.gr/issues/469?journal_id=26612011-06-01T16:21:15+03:00Vangelis Koukis
<ul><li><strong>Status</strong> changed from <i>Feedback</i> to <i>Assigned</i></li></ul><p>Δείτε στο <a class="external" href="http://62.217.120.67:8001">http://62.217.120.67:8001</a>, το UI σκάει εξ αρχής.<br />Ενδεικτικά:</p>
<pre><code>[1/6/2011 4:17:49 μμ] JavaScript - <a class="external" href="http://62.217.120.67:8001/">http://62.217.120.67:8001/</a><br /> Unknown thread<br /> Uncaught exception: TypeError: Cannot convert 'a' to object<br /> Error thrown at line 49, column 866 in &lt;anonymous function: each&gt;(a, b, d) in <a class="external" href="http://62.217.120.67:8001/static/jquery.tools.min.js">http://62.217.120.67:8001/static/jquery.tools.min.js</a>:<br /> var f,e=0,j=a.length,i=j===w||c.isFunction(a);<br /> called from line 1295, column 16 in &lt;anonymous function&gt;(i, value) in <a class="external" href="http://62.217.120.67:8001/static/synnefo.js">http://62.217.120.67:8001/static/synnefo.js</a>:<br /> $.each (value.values, function(i, ip) {<br /> called via Function.prototype.call() from line 49, column 866 in &lt;anonymous function: each&gt;(a, b, d) in <a class="external" href="http://62.217.120.67:8001/static/jquery.tools.min.js">http://62.217.120.67:8001/static/jquery.tools.min.js</a>:<br /> var f,e=0,j=a.length,i=j===w||c.isFunction(a);<br /> called from line 1293, column 8 in get_public_ips(server) in <a class="external" href="http://62.217.120.67:8001/static/synnefo.js">http://62.217.120.67:8001/static/synnefo.js</a>:<br /> $.each (server.addresses.values, function(i, value) {<br /> called from line 369, column 12 in &lt;anonymous function&gt;(i, server) in <a class="external" href="http://62.217.120.67:8001/">http://62.217.120.67:8001/</a>:<br /> var ips = get_public_ips(server);<br /> called via Function.prototype.call() from line 49, column 866 in &lt;anonymous function: each&gt;(a, b, d) in <a class="external" href="http://62.217.120.67:8001/static/jquery.tools.min.js">http://62.217.120.67:8001/static/jquery.tools.min.js</a>:<br /> var f,e=0,j=a.length,i=j===w||c.isFunction(a);<br /> called from line 253, column 4 in update_machines_view(data) in <a class="external" href="http://62.217.120.67:8001/">http://62.217.120.67:8001/</a>:<br /> $.each(data.servers.values, function(i,server) {<br /> called from line 248, column 16 in &lt;anonymous function: success&gt;(data, textStatus, jqXHR) in <a class="external" href="http://62.217.120.67:8001/static/synnefo.js">http://62.217.120.67:8001/static/synnefo.js</a>:<br /> update_machines_view(data);<br /> called from line 143, column 1033 in b() in <a class="external" href="http://62.217.120.67:8001/static/jquery.tools.min.js">http://62.217.120.67:8001/static/jquery.tools.min.js</a>:<br /> e.success&&<br /> called via Function.prototype.call() from line 149, column 367 in &lt;anonymous function: x.onreadystatechange&gt;(q) in <a class="external" href="http://62.217.120.67:8001/static/jquery.tools.min.js">http://62.217.120.67:8001/static/jquery.tools.min.js</a>:<br /> j||b();</code></pre>
<pre><code>var f,e=0,j=a.length,i=j===w||c.isFunction(a);<br />called from line 1293, column 8 in get_public_ips(server) in <a class="external" href="http://62.217.120.67:8001/static/synnefo.js">http://62.217.120.67:8001/static/synnefo.js</a>:<br /> $.each (server.addresses.values, function(i, value) {<br />called from line 369, column 12 in &lt;anonymous function&gt;(i, server) in <a class="external" href="http://62.217.120.67:8001/">http://62.217.120.67:8001/</a>:<br /> var ips = get_public_ips(server);<br />called via Function.prototype.call() from line 49, column 866 in &lt;anonymous function: each&gt;(a, b, d) in <a class="external" href="http://62.217.120.67:8001/static/jquery.tools.min.js">http://62.217.120.67:8001/static/jquery.tools.min.js</a>:<br /> var f,e=0,j=a.length,i=j===w||c.isFunction(a);<br />called from line 253, column 4 in update_machines_view(data) in <a class="external" href="http://62.217.120.67:8001/">http://62.217.120.67:8001/</a>:<br /> $.each(data.servers.values, function(i,server) {<br />called from line 248, column 16 in &lt;anonymous function: success&gt;(data, textStatus, jqXHR) in <a class="external" href="http://62.217.120.67:8001/static/synnefo.js">http://62.217.120.67:8001/static/synnefo.js</a>:<br /> update_machines_view(data);<br />called from line 143, column 1033 in b() in <a class="external" href="http://62.217.120.67:8001/static/jquery.tools.min.js">http://62.217.120.67:8001/static/jquery.tools.min.js</a>:<br /> e.success&&<br />called via Function.prototype.call() from line 149, column 367 in &lt;anonymous function: x.onreadystatechange&gt;(q) in <a class="external" href="http://62.217.120.67:8001/static/jquery.tools.min.js">http://62.217.120.67:8001/static/jquery.tools.min.js</a>:<br /> j||b();</code></pre> Synnefo - Feature #469: Επέκταση του UI ώστε να κάνει κλήσεις στο /networks APIhttps://code.grnet.gr/issues/469?journal_id=26652011-06-01T16:40:43+03:00Christos Psaltis
<ul></ul><p>Νομίζω ότι με το commit:4667a575 έχει λυθεί αυτό. Μπορείτε να κάνετε ένα pull και να το δω ξανά;</p> Synnefo - Feature #469: Επέκταση του UI ώστε να κάνει κλήσεις στο /networks APIhttps://code.grnet.gr/issues/469?journal_id=26672011-06-01T16:45:33+03:00Constantinos Venetsanopoulos
<ul></ul><p>Έγινε pull, δες το γιατί δεν παίζει καθόλου</p> Synnefo - Feature #469: Επέκταση του UI ώστε να κάνει κλήσεις στο /networks APIhttps://code.grnet.gr/issues/469?journal_id=26692011-06-01T16:55:12+03:00Vangelis Koukis
<ul></ul><p>Επίσης, το networks tab δεν ανανεώνεται σωστά. Και πάλι καθυστερεί σημαντικά να ανανεωθεί, απλώς βγάζει το spinner στο ενδιάμεσο.</p>
<p>Έχε υπόψη ότι το κάθε πότε κάνει poll τελικά θα είναι configurable και θα αλλάξει αρκετές φορές από τους διαχειριστές μέχρι το τελικό deployment. Αυτό, γιατί είναι trade-off ανάμεσα στην αποκρισιμότητα του interface (πόσο γρήγορα τσιμπάει τις αλλαγές) και τον φόρτο στην υπηρεσία.</p>
<p>Οπότε, θα μπορούσε να είναι και 20sec. Απ'ό,τι καταλαβαίνω, τώρα πρέπει να περιμένει κανείς κάποιους κύκλους για να δείξει όλα τα δεδομένα, χωρίς να υπάρχει λόγος. Τα δεδομένα πρέπει την πρώτη φορά να έρχονται σωστά, με τη μία, και μετά να ξεκινάει το refresh. Όπως θα έπρεπε [είχα την εντύπωση ότι έτσι συνέβαινε] να γίνεται και με τους servers.</p> Synnefo - Feature #469: Επέκταση του UI ώστε να κάνει κλήσεις στο /networks APIhttps://code.grnet.gr/issues/469?journal_id=26712011-06-01T18:44:07+03:00Christos Psaltis
<ul><li><strong>Status</strong> changed from <i>Assigned</i> to <i>Feedback</i></li></ul><p>Δοκιμάστε ένα τελευταίο pull, νομίζω το πρόβλημα λύθηκε. Το έχω δοκιμάσει στη δική μου βάση με στοιχεία αντίστοιχα των instances στην :8000 και :8001.</p>
<p>Μαζί με αυτό λύθηκε πιστεύω και η δεύτερη παρατήρηση του <a href="https://code.grnet.gr/issues/591" class="issue status-6 priority-1 closed" title="Το networks tab δεν κανει σωστό positioning του Internet pane (Closed)">#591</a>. Θα γράψω και εκεί.</p> Synnefo - Feature #469: Επέκταση του UI ώστε να κάνει κλήσεις στο /networks APIhttps://code.grnet.gr/issues/469?journal_id=26752011-06-01T19:06:38+03:00Vangelis Koukis
<ul><li><strong>Status</strong> changed from <i>Feedback</i> to <i>Assigned</i></li></ul><p>Πράγματι, τώρα παίζει πολύ καλύτερα. Μπορώ να προσθέσω ιδιωτικό δίκτυο, να δω τα μηχανήματα που έχει μέσα κλπ.<br />Όμως, υπάρχει το εξής: Ζητάω να προστεθεί ένα μηχάνημα στο "new1" πχ, και βλέπω άπειρα POSTs στον runserver. Παλιότερα είχα δει καμιά 20αριά, τώρα βλέπω 5:</p>
<pre><code>[01/Jun/2011 16:02:08] "POST /api/v1.1/networks/18/action HTTP/1.0" 202 0<br /> [01/Jun/2011 16:02:08] "POST /api/v1.1/networks/18/action HTTP/1.0" 202 0<br /> [01/Jun/2011 16:02:09] "POST /api/v1.1/networks/18/action HTTP/1.0" 202 0<br /> [01/Jun/2011 16:02:09] "POST /api/v1.1/networks/18/action HTTP/1.0" 202 0<br /> [01/Jun/2011 16:02:09] "POST /api/v1.1/networks/18/action HTTP/1.0" 202 0</code></pre> Synnefo - Feature #469: Επέκταση του UI ώστε να κάνει κλήσεις στο /networks APIhttps://code.grnet.gr/issues/469?journal_id=26772011-06-01T19:15:26+03:00Christos Psaltis
<ul></ul><p>Σε ποιο instance το δοκιμάζεις, γιατί τοπικά δεν μου προκαλείται ούτε με το tool ούτε με το ui. Την προσθήκη την κάνεις από το UI?</p> Synnefo - Feature #469: Επέκταση του UI ώστε να κάνει κλήσεις στο /networks APIhttps://code.grnet.gr/issues/469?journal_id=26852011-06-01T20:59:10+03:00Vangelis Koukis
<ul></ul><p>Christos Psaltis wrote:</p>
<blockquote>
<p>Σε ποιο instance το δοκιμάζεις, γιατί τοπικά δεν μου προκαλείται ούτε με το tool ούτε με το ui. Την προσθήκη την κάνεις από το UI?</p>
</blockquote>
<p>Δοκιμάζω στο 62.217.120.67:8000, με Opera.<br />Αν κάνεις tools/cloud ls θα δεις ότι ο ένας server που υπάρχει έχει κάρτα δικτύου στο ίδιο ιδιωτικό δίκτυο 4-5 φορές, μία για κάθε POST που έγινε.</p> Synnefo - Feature #469: Επέκταση του UI ώστε να κάνει κλήσεις στο /networks APIhttps://code.grnet.gr/issues/469?journal_id=26872011-06-01T21:42:07+03:00Christos Psaltis
<ul></ul><p>Το φαντάστηκα ότι ήταν αυτό από το id του server και έκανα διάφορες δοκιμές χωρίς να καταφέρω να το αναπαράγω. Η κονσόλα του opera έδειχνε μόνο μία κλήση σε όλες τις δοκιμές που έκανα.</p>
<p>Μερικές σημειώσεις εδώ:</p>
<p>1. Το instance στην :8000 δεν είναι στην τελευταία έκδοση. Δε νομίζω ότι παίζει κάποιο ρόλο αυτό όμως.<br />2. Πώς κατάφερες να προσθέσεις μηχανές στο ιδιωτικό δίκτυο. Στο δικό μου instance δεν μπορώ να το κάνω ούτε με το tool, ούτε με το ui. Έχεις κάποια άλλη έκδοση με uncommited αλλαγές; Ίσως εκεί να έχουμε κάποιο θέμα.<br />3. Γιατί το api σου επιτρέπει να κάνεις πολλαπλά post με τον ίδιο server στο ίδιο δίκτυο; Υπάρχει κάποιος λόγος ή είναι κάτι που θα αλλάξει στο μέλλον;</p> Synnefo - Feature #469: Επέκταση του UI ώστε να κάνει κλήσεις στο /networks APIhttps://code.grnet.gr/issues/469?journal_id=26892011-06-01T21:58:25+03:00Vangelis Koukis
<ul></ul><p>Christos Psaltis wrote:</p>
<blockquote>
<p>Το φαντάστηκα ότι ήταν αυτό από το id του server και έκανα διάφορες δοκιμές χωρίς να καταφέρω να το αναπαράγω. Η κονσόλα του opera έδειχνε μόνο μία κλήση σε όλες τις δοκιμές που έκανα.</p>
<p>Μερικές σημειώσεις εδώ:</p>
<p>1. Το instance στην :8000 δεν είναι στην τελευταία έκδοση. Δε νομίζω ότι παίζει κάποιο ρόλο αυτό όμως.</p>
</blockquote>
<p>Σίγουρα; έκανα git pull και δεν έφερε κάτι, βασικά είναι στο commit:1c298d4d.</p>
<blockquote>
<p>2. Πώς κατάφερες να προσθέσεις μηχανές στο ιδιωτικό δίκτυο. Στο δικό μου instance δεν μπορώ να το κάνω ούτε με το tool, ούτε με το ui. Έχεις κάποια άλλη έκδοση με uncommited αλλαγές; Ίσως εκεί να έχουμε κάποιο θέμα.</p>
</blockquote>
<p>Όχι, τρέχω το τελευταίο ui-0.4, στο οποίο προηγούμενα είχα κάνει merge/push το τελευταίο api-current.<br />Δοκίμασε με ένα εντελώς νέο instance σου, γιατί μπορεί να έχει παίξει θέμα με το network configuration αυτού που έχεις τώρα, να είναι στραμπουληγμένο στο ganeti λόγω bugs προηγουμένων εκδόσεων. Επίσης, μπορείς να δοκιμάσεις να σβήσεις όλα τα ιδιωτικά σου δίκτυα, αν δεν τα χρειάζεσαι.</p>
<blockquote>
<p>3. Γιατί το api σου επιτρέπει να κάνεις πολλαπλά post με τον ίδιο server στο ίδιο δίκτυο; Υπάρχει κάποιος λόγος ή είναι κάτι που θα αλλάξει στο μέλλον;</p>
</blockquote>
<p>Γενικά το API είναι τελείως ασύγχρονο, δεν ξέρει ότι έχεις ζητήσει να μπει μια νέα σύνδεση όταν του ζητάς τη δεύτερη. Λέει ότι έχεις συνδεθεί, όταν το Ganeti [αργότερα] του το αναφέρει, και μπει στη ΒΔ.</p>
<p>Επίσης, δεν αποκλείεται πράγματι κάποιος να θέλει δύο κάρτες δικτύου στο ίδιο ιδιωτικό δίκτυο, π.χ. για δοκιμές.</p>
<p>Τέλος, για την προσθήκη μηχανήματος σε ιδιωτικό δίκτυο, γενικά μου παίζει αυτό:</p>
<pre><code>devel@store67:~/synnefo [ui-0.4]$ tools/cloud createnet kalhmera<br /> created: 2011-06-01T18:53:34.779572+00:00<br /> id: 22<br /> name: kalhmera<br /> servers:<br /> status: ACTIVE<br /> updated: 2011-06-01T18:53:34.779602+00:00</code></pre>
<pre><code>devel@store67:~/synnefo [ui-0.4]$ tools/cloud connect 79 22</code></pre>
<pre><code>devel@store67:~/synnefo [ui-0.4]$ tools/cloud ls -l</code></pre>
<pre><code>79 ll<br /> addresses: public/public aa:00:00:59:4e:ef [192.168.32.7]<br /> 18/lkl aa:00:00:98:bc:2a<br /> 18/lkl aa:00:00:61:92:a6<br /> 18/lkl aa:00:00:37:af:a8<br /> 20/lllkk aa:00:00:ea:a2:f1<br /> 21/xristos aa:00:00:ab:57:d7<br /> 22/kalhmera aa:00:00:50:29:8e<br /> created: 2011-06-01T15:52:26+00:00<br /> flavorRef: 1<br /> imageRef: 4<br /> metadata: OS="redhat" <br /> progress: 100<br /> status: ACTIVE<br /> updated: 2011-06-01T18:53:46+00:00</code></pre> Synnefo - Feature #469: Επέκταση του UI ώστε να κάνει κλήσεις στο /networks APIhttps://code.grnet.gr/issues/469?journal_id=26992011-06-02T13:18:29+03:00Mike Muzurakis
<ul><li><strong>Status</strong> changed from <i>Assigned</i> to <i>Feedback</i></li></ul><p>Σε μας είναι οκ τώρα τα δίκτυα. Έκανα push τις τελευταίες αλλαγές.</p>
<p>Παρατηρήσαμε ένα μικρό glitch όμως: Ενώ κάνουμε ένα POST για να προσθέσουμε σέρβερ σε ένα ιδιωτικό δίκτυο, μερικές φορές (μάλλον είναι θέμα timimg με το scheduled GET ή με το πόσο γρήγορα απαντάει το API?) παίρνουμε 2x2 200άρια GETs, ενώ θα έπρεπε να παίρνουμε 2x1 (ένα για το servers και ένα για το networks). Όταν παίρνουμε 2 servers/detail, το 1ο επιστρέφει μεν τον server που κάναμε add, αλλά χωρίς να τον έχει στο δίκτυο, ενώ το επόμενο GET 200 που έρχεται στο επόμενο refresh έχει το server μέσα στο δίκτυο. Δεν είναι critical, γιατί τελικά ο σέρβερ ζωγραφίζεται, απλά όταν συμβαίνει αυτό, αργεί να ζωγραφιστεί.</p>
<p>Το ερώτημα είναι, γιατί την 1η φορά το API μας απαντάει 200, και μας στέλνει το server όπως ήταν και πριν (χωρίς να τον έχει βάλει στο δίκτυο);</p>
<p>Κατά τα άλλα πρέπει να διορθώθηκαν τα προβλήματα.</p> Synnefo - Feature #469: Επέκταση του UI ώστε να κάνει κλήσεις στο /networks APIhttps://code.grnet.gr/issues/469?journal_id=27012011-06-02T13:39:18+03:00Christos Psaltis
<ul></ul><p>Να συμπληρώσω εδώ ότι για να λειτουργήσει η προσθήκη server σε δίκτυο, στο τοπικό μας instance, σβήστηκαν όλα τα μηχανήματα και τα δίκτυα που υπήρχαν ήδη και τέλος σβήστηκε και ξαναφτιάχτηκε η βάση.</p>
<p>Επίσης, μέχρι τώρα εργαστήκαμε στη λογική ότι δε θα επιτρέπεται η πολλαπλή προσθήκη ενός server στο ίδιο ιδιωτικό δίκτυο. Για να αλλάξει αυτό χρειάζονται εκτεταμένες επεμβάσεις σε διάφορα σημεία. Εάν θέλετε να το υποστηρίξουμε στο ui θα ήταν καλύτερο να ανοίξει σε νέο ticket σε επόμενο milestone.</p> Synnefo - Feature #469: Επέκταση του UI ώστε να κάνει κλήσεις στο /networks APIhttps://code.grnet.gr/issues/469?journal_id=27032011-06-02T14:39:34+03:00Vangelis Koukis
<ul></ul><p>Mike Muzurakis wrote:</p>
<blockquote>
<p>Σε μας είναι οκ τώρα τα δίκτυα. Έκανα push τις τελευταίες αλλαγές.</p>
</blockquote>
<p>ΟΚ, θα το δοκιμάσω αργότερα μέσα στη μέσα.</p>
<p>Γενικότερα, όχι μόνο για τώρα, χρειάζεται τεκμηρίωση της υλοποίησης.<br />Οπότε, ας γράφεται για κάθε πρόβλημα μια σύντομη περιγραφή της αιτίας του και στα tickets, ώστε η τελική τεκμηρίωση του κώδικα να είναι ευκολότερη.</p>
<p>Τι έφταιγε και συνέβαιναν πολλαπλά POST;</p>
<blockquote>
<p>Παρατηρήσαμε ένα μικρό glitch όμως: Ενώ κάνουμε ένα POST για να προσθέσουμε σέρβερ σε ένα ιδιωτικό δίκτυο, μερικές φορές (μάλλον είναι θέμα timimg με το scheduled GET ή με το πόσο γρήγορα απαντάει το API?) παίρνουμε 2x2 200άρια GETs, ενώ θα έπρεπε να παίρνουμε 2x1 (ένα για το servers και ένα για το networks). Όταν παίρνουμε 2 servers/detail, το 1ο επιστρέφει μεν τον server που κάναμε add, αλλά χωρίς να τον έχει στο δίκτυο, ενώ το επόμενο GET 200 που έρχεται στο επόμενο refresh έχει το server μέσα στο δίκτυο. Δεν είναι critical, γιατί τελικά ο σέρβερ ζωγραφίζεται, απλά όταν συμβαίνει αυτό, αργεί να ζωγραφιστεί.</p>
</blockquote>
<p>Γιατί αργεί να ζωγραφιστεί;<br />πράγματι, ο server γυρίζει γιατί κάποιο μέρος του API πειράζει την αντίστοιχη γραμμή στη ΒΔ. Να τεκμηριωθεί γιατί αυτό είναι πρόβλημα για το UI;</p>
<blockquote>
<p>Το ερώτημα είναι, γιατί την 1η φορά το API μας απαντάει 200, και μας στέλνει το server όπως ήταν και πριν (χωρίς να τον έχει βάλει στο δίκτυο);</p>
<p>Κατά τα άλλα πρέπει να διορθώθηκαν τα προβλήματα.</p>
</blockquote> Synnefo - Feature #469: Επέκταση του UI ώστε να κάνει κλήσεις στο /networks APIhttps://code.grnet.gr/issues/469?journal_id=27052011-06-02T14:41:10+03:00Vangelis Koukis
<ul><li><strong>Status</strong> changed from <i>Feedback</i> to <i>Assigned</i></li></ul><p>Christos Psaltis wrote:</p>
<blockquote>
<p>Επίσης, μέχρι τώρα εργαστήκαμε στη λογική ότι δε θα επιτρέπεται η πολλαπλή προσθήκη ενός server στο ίδιο ιδιωτικό δίκτυο. Για να αλλάξει αυτό χρειάζονται εκτεταμένες επεμβάσεις σε διάφορα σημεία. Εάν θέλετε να το υποστηρίξουμε στο ui θα ήταν καλύτερο να ανοίξει σε νέο ticket σε επόμενο milestone.</p>
</blockquote>
<p>Ναι, αυτή η υπόθεση δεν πρέπει να γίνει. Δεν υπάρχει λόγος να μπει τέτοιος περιορισμός, μάλλον υποβαθμίζει την ποιότητα του κώδικα.<br />Ας το αφήσουμε για την επόμενη έκδοση.<br />Μπορείς να γράψεις δύο λόγια σε ποια σημεία κάνει τέτοια υπόθεση μοναδικών συνδέσεων το UI;</p> Synnefo - Feature #469: Επέκταση του UI ώστε να κάνει κλήσεις στο /networks APIhttps://code.grnet.gr/issues/469?journal_id=27092011-06-02T15:06:36+03:00Mike Muzurakis
<ul><li><strong>Status</strong> changed from <i>Assigned</i> to <i>Feedback</i></li></ul><p>Για τα πολλαπλά POST: Έλειπε ένα return false; στο τέλος της function που εκτελείται όταν κάποιος πατάει Add για να προσθέσει ένα vm σε ένα ιδιωτικό δίκτυο. ( <a class="external" href="http://api.jquery.com/live#caveats">http://api.jquery.com/live#caveats</a> )</p>
<p>Για το ζήτημα με τα διπλά GET, αργεί να ζωγραφιστεί για τον εξής λόγο: Στο 1ο GET, το API επιστρέφει οτι υπάρχει αλλαγή (200) και δίνει πίσω το vm που άλλαξε, χωρίς όμως να το έχει μέσα στο δίκτυο στο οποίο έγινε add. Οπότε εφόσον το UI παίρνει 200, περνάει τις αλλαγές κανονικά για το vm και με βάση αυτό που του έχει επιστρέψει το API, το vm δεν ανήκει στο συγκεκριμένο δίκτυο οπότε δεν το ζωγραφίζει εκεί. Στο επόμενο GET 200, ξαναεπιστρέφεται το ίδιο vm αυτήν τη φορά με το δίκτυο περασμένο στα details του, οπότε το UI βλέπει το 200, διαβάζει την αλλαγή και το περνάει. Αν είναι δύσκολο να αλλάξει αυτό στο API, μπορούμε στην v0.5 να βρούμε κάποιο workaround στο UI, αλλά κτγμ δεν είναι και η πιο καθαρή λύση καθώς το UI θα κάνει στη συγκεκριμένη περίπτωση άλλα από αυτά που του λέει ρητά το API.</p>
<p>Τέλος για τα πολλαπλά vms στο ίδιο ιδιωτικό δίκτυο: Σε 2 σήμεία έχει γίνει η υπόθεση οτι δεν θα επιτρέπονται πολλαπλά vms στο ίδιο δίκτυο: Το ένα είναι περισσότερο defensive coding στο οποίο ο κώδικας του UI δεν επιτρέπει να ζωγραφιστεί 2 φορές το ίδιο μηχάνημα σε ένα δίκτυο και το άλλο είναι στον Add machine to network wizard όπου (υποθέτωντας οτι δεν θα γίνεται να προσθέσεις το ίδιο μηχάνημα 2 φορές στο δίκτυο) δείχνουμε τα vms που δεν είναι ήδη συνδεδεμένα στο δίκτυο αντί για όλα τα vms του χρήστη.</p> Synnefo - Feature #469: Επέκταση του UI ώστε να κάνει κλήσεις στο /networks APIhttps://code.grnet.gr/issues/469?journal_id=27112011-06-02T15:21:10+03:00Christos Psaltis
<ul></ul><p>Με ένα γρήγορο brainstorming να συμπληρώσω τα css id του κάθε server. Τώρα φτιάχνονται ως net-network.id-server-server.id. Εάν αλλάξει αυτό θα πρέπει να αλλάξει σε όλες τις κλήσεις ο τρόπος που εξάγεται το networkID ή το serverID. Φαντάζομαι ότι υπάρχουν και άλλα σημεία που επηρεάζονται και δεν είναι τόσο προφανή.</p> Synnefo - Feature #469: Επέκταση του UI ώστε να κάνει κλήσεις στο /networks APIhttps://code.grnet.gr/issues/469?journal_id=27212011-06-03T16:45:31+03:00Vangelis Koukis
<ul><li><strong>Status</strong> changed from <i>Feedback</i> to <i>Closed</i></li></ul><p>Αυτό κλείνει, η βασική λειτουργικότητα φαίνεται πως είναι ΟΚ, δημιουργούμε ιδιωτικά δίκτυα, συνδέουμε/αποσυνδέουμε servers σε/από αυτά.<br />Υπάρχουν διάφορα μικρά θέματα που θα ανοίξουν χωριστά, ως bugs, για τη v0.5.</p>