Στο σημερινό οδηγό θα χρησιμοποιήσουμε το OpenQA για να ελέγξουμε, με αυτόματο τρόπο, την εγκατάσταση του Ubuntu 17.10. Ο αυτοματοποιημένος έλεγχος θα μας δώσει πληροφορίες για την επιτυχία η την αποτυχία της εγκατάστασης χωρίς να χρειαστεί να κάνουμε πραγματική εγκατάσταση σε υπολογιστή.
Το OpenQA είναι ένα ανοιχτού κώδικα αυτοματοποιημένο εργαλείο ελέγχου για τα λειτουργικά συστήματα. Χρησιμοποιείται από διανομές Linux για να ελέγχουν με αυτόματο τρόπο την επιτυχία η αποτυχία των διανομών τους και αρχικά δημιουργήθηκε το 2010 για να δοκιμάσουν το μέσο εγκατάστασης του openSUSE.
Πριν ξεκινήσετε θα πρέπει το σύστημά σας να έχει εγκατεστημένο το :
- Docker (Οδηγός εγκατάστασης και χρήσης Docker)
- curl
- git
Λήψη και χρήση του OpenQA Docker
Εκτελέστε το ακόλουθο bash script, το οποίο θα ξεκινήσει το openQA. Σε περίπτωση που έχετε έναν εξυπηρετητή που τρέχει στα 80 ή 443, απλά αλλάξτε τη μεταβλητή στα σενάρια σε μια άλλη θύρα.
#!/bin/bash user="generic" webport="80" rsyncport="873" sslport="443" #Start the openQA Web Interface docker run -d --name $user-openqa_webui \ -p $webport:80 -p $rsyncport:873 -p $sslport:443 \ -v $user-Assets:/var/lib/openqa/share/factory -v $user-Tests:/var/lib/openqa/share/tests \ binarysequence/openqa-webui #Generate fake key authentication sleep 5; curl -X POST http://localhost:$webport/login # Start one worker docker run -d --privileged --name $user-openqa_worker \ --link $user-openqa_webui:openqa-webui \ --volumes-from $user-openqa_webui \ binarysequence/openqa-worker-x86_64[/code]
Αποθηκεύστε τον παραπάνω κώδικα σε ένα αρχείο και εκτελέστε το:
chmod +x script.sh sudo ./script.sh
Τώρα ανοίξτε τον browser σας και μεταβείτε στο http://localhost:80
και συνδεθείτε. Αυτή είναι η διεπαφή του openQA. Βεβαιωθείτε ότι το worker σας είναι συνδεδεμένος στο διαδίκτυο.
Λήψη σεναρίων ελέγχου OpenQA
Τα δύο dockerπου τρέχουμε έχουν δημιουργήσει δύο καταλόγους κάτω από την προεπιλεγμένη θέση dockers για αποθήκευση δεδομένων στο /var/lib/docker/volume
:
drwxr-xr-x 1 root root 10 Mar 7 16:36 generic-Assets drwxr-xr-x 1 root root 10 Mar 7 16:36 generic-Tests
Και οι δύο περιέχουν ένα υποκατάλογο που ονομάζεται _data
το οποίο δημιουργείται από προεπιλογή στο Docker. Με αυτόν τον τρόπο, ο Docker μοιράζεται αυτούς τους τομείς μεταξύ των docker και του λειτουργικού συστήματος μας.
Μεταβείτε στο generic-Tests/_data/
και δημιουργήστε ένα φάκελο που ονομάζεται ubuntu
. Στη συνέχεια, πηγαίνετε μέσα σε αυτόν το φάκελο και κλωνοποιήστε αυτό το αποθετήριο:
cd /var/lib/docker/volumes/generic-Tests/_data/; mkdir ubuntu sudo git clone https://github.com/drpaneas/ubuntu_qa ubuntu
Λήψη του Ubuntu 17.10 για αυτοματοποιημένο έλεγχο
Τώρα θα χρειαστεί να κατεβάσουμε το Ubuntu 17.10 και να το βάλουμε στον φάκελο iso
για τις δοκιμές μας.
ISO="http://el.releases.ubuntu.com/17.10.1/ubuntu-17.10.1-desktop-amd64.iso" sudo wget $ISO -P /var/lib/docker/volumes/generic-Assets/_data/iso
Για να μπορέσει το δοχείο Docker να δημιουργήσει new needles
πρέπει να βεβαιωθείτε ότι ο κατάλογος έχει τα σωστά δικαιώματα:
cd /var/lib/docker/volumes/generic-Tests/_data/ubuntu/products/ubuntu sudo chown -R 496:nogroup needles/
Στη συνέχεια, βεβαιωθείτε ότι ο worker
μας openqa μπορεί να αποθηκεύσει αρχεία καταγραφής, βίντεο, εικόνες qcow2 κλπ:
cd /var/lib/docker/volumes/generic-Assets sudo chmod -R 775 _data/
Δημιουργία σεναρίου ελέγχων
Παρόλο που μπορείτε να το κάνετε αυτό μέσω της διεπαφής του OpenQA που ανοίξατε νωρίτερα, προσωπικά θεωρώ ότι είναι πιο εύκολη η χρήση ενός πρότυπου σεναρίου:
sudo docker exec -it generic-openqa_worker /usr/share/openqa/script/load_templates --host http://openqa-webui /var/lib/openqa/tests/ubuntu/templates
Μετά την εκτέλεση της παραπάνω γραμμής η αναμενόμενη έξοδος, θα πρέπει να είναι παρόμοια με αυτή:
{ JobTemplates => { added => 3, of => 3 }, Machines => { added => 1, of => 1 }, Products => { added => 1, of => 1 }, TestSuites => { added => 3, of => 3 }, }
Για να βεβαιωθείτε ότι όλα πήγαν ομαλά, μπορείτε να ανοίξετε τον Firefox και να περιηγηθείτε στο dashboard:
firefox http://$HOSTNAME/admin/{products,machines,test_suites,groups}
Εκκίνηση ελέγχων της εγκατάστασης Ubuntu 17.10 με το OpenQA
Χρησιμοποιήστε το βοηθητικό πρόγραμμα openqa-client
που είναι εγκατεστημένο στο openqa-worker μας για να προγραμματίσετε τις δοκιμές
sudo docker exec generic-openqa_worker openqa-client --host http://openqa-webui isos post DISTRI=ubuntu VERSION=17.10 FLAVOR=desktop ARCH=amd64
Στη συνέχεια, ανοίξτε τον Firefox και μεταβείτε στη διεπαφή ιστού για εποπτεία των αποτελεσμάτων.

Συνοδευτικό Video για το OpenQA
Για τον παραπάνω οδηγό, έχω ετοιμάσει και ένα βίντεο όπου εξηγώ κάποια επιπλέον πράγματα σχετικά με την χρήση του OpenQA αλλά και τα αναμενόμενα αποτελέσματα
παραπομπές:
Ωραίο! Ευχαριστούμε.