Fiche de suivi - CoCass: Difference between revisions
Jump to navigation
Jump to search
Anna.Bruel (talk | contribs) (Created page with " === Week 1: January 25th - January 31th === * Getting familiar with Docker (for some of the group members) * Fix Docker's DNS issue using public network (wifi-campus/eduroam...") |
Anna.Bruel (talk | contribs) No edit summary |
||
(11 intermediate revisions by 2 users not shown) | |||
Line 1: | Line 1: | ||
[[File:Planning_Cocass.png]] |
|||
=== Semaine 1: 23 Janvier - 27 Janvier === |
|||
* Mise en place d'outils de gestion de projet |
|||
** [https://app.craft.io/share/545F45A02305843009622224746 Craft] pour la gestion des sprints |
|||
** slack pour la communication |
|||
* Documentation sur Docker |
|||
** Petite Présentation par Quentin Faure |
|||
** Lecture de la documentation officielle de docker |
|||
** Installation de docker et manipulation des images |
|||
* Prise en main du projet iaas |
|||
=== Week 1: January 25th - January 31th === |
|||
** Telechargement du code depuis git |
|||
* Getting familiar with Docker (for some of the group members) |
|||
** Lancement des differents modules du projet |
|||
* Fix Docker's DNS issue using public network (wifi-campus/eduroam) |
|||
** Lancement du coordinateur et dd'un provider avec succès |
|||
* Contacting our supervisors |
|||
** premier essaie de lancement d'un client avec le front end |
|||
* First thoughts on this project, what we could do |
|||
** problème de dependance avec Méteor |
|||
* Redaction of specifications, creation of architecture diagrams |
|||
* Début de définition du but du projet |
|||
* Create scripts that start/stop containers automatically (some modifications still need to be done) |
|||
=== |
=== Semaine 2: 30 Janvier - 3 Février === |
||
* Réunion avec Donzes |
|||
* Manage and limit space disk usage of each container, limit resources allocation at containers' launch. |
|||
* Exploration d'autres pistes pour la réalisation du projet |
|||
** CPU and memory allocation: ok |
|||
** Documentation sur Docker swarm |
|||
** Docker doesn't seem to implement easy way to limit container's disk usage: implementing a watchdog (script) which will check container's disk usage and stop those that exceed a limit |
|||
** Documentation sur Kubernetes |
|||
* Think about restricted access to Docker containers: for the moment, providers are admin and can easily access containers |
|||
* Problème lié au Méteor résolu |
|||
* See how instances can easily give their network information to coordinator |
|||
* installation d'un serveur RabbitMQ |
|||
* Get familiar with Shinken and study the possibilities |
|||
* Utilisation du projet Iaas |
|||
* Specification of technologies used |
|||
* création de providers à partir du front end |
|||
* End of specification redaction + feedback from tutors |
|||
* allocation de ressources aux clients à partir du front end |
|||
* Start to work on Meteor-AngularJS tutorials |
|||
* problème d'envoie de clés rsa à resoudre |
|||
* Configure a personal VM for the frontend & setup meteor-angular on it |
|||
* Définition de la solution à utilisée |
|||
=== |
=== Semaine 3: 6 Février - 10 Février === |
||
* Réunion avec Didier Donser |
|||
* '''Objective for this week:''' get a prototype that contains a basic front-end which makes it possible to launch remote Docker instance. |
|||
* Définition et répartition des taches |
|||
* Container deployment: |
|||
* Mise en place de vpn |
|||
** Deploy all containers on the same network: that allows us to connect to the instances from the coordinator |
|||
* Tests de swarm sur vpn |
|||
** Create user on host: will be used to connect ourselves in ssh from coordinator instance to host and launch deployment scripts |
|||
* Création de maquêttes IHM |
|||
** Create script that totally automatizes user creation, images creation and build, coordinator's and shinken's containers launch |
|||
* IHM abstraite |
|||
* At the end of the week, the prototype is working: we can launch an instance an a provider machine from the front-end. We still need to establish and test the connection between a client and his instance. We have a good cornerstone of our project yet. |
|||
* Tests de limatation des ressources avec docker-machine |
|||
* Planification du projet (Gantt) |
|||
=== |
=== Semaine 4: 13 Février -17 Février === |
||
* Réunion du groupe pour les liens back-end front-end |
|||
* Try to establish a connection between a client and his container |
|||
* Lancement de l’embryon IHM sur le serveur AWS |
|||
* Continue client/provider's web page development on front-end |
|||
* Etude d’une ancienne IHM à utiliser pour créer l’embryon IHM du projet |
|||
* Start editing help page |
|||
* Petite Formation AngularJS |
|||
* Correct some responsive effects on the site |
|||
* manipulation de l’api rest de docker, pour obtention des données |
|||
* Container deployment: |
|||
* Préparation de la mini présentation |
|||
** Implement bandwidth restriction |
|||
* manipulation sur la base de donnée mongodb |
|||
** Create script that automatically set client public key in container's authorized_keys file, modify some script to automatically delete client public key in coordinator's authorized_keys file |
|||
* script pour création de base de donnée avec python |
|||
* Start to study and set up Rabbitmq (publish from provider to front-end for example) |
|||
* Script de mise en place du provider |
|||
=== |
=== Semaine 5: 20 Février - 24 Février (Vacances) === |
||
* Update wiki/help page, work on some responsive issues on the website |
|||
* Establish script that automatically create SSH-jump config for the client |
|||
* Work on foreign keys and database (front-end side) |
|||
* Continue front-end development |
|||
* Establish rabbitmq on both front-end side and provider side |
|||
=== Week 6: February 29th - March 6th === |
|||
* Container's deployment: |
|||
** Modify coordinator Dockerfile to install nodejs |
|||
** Create a cron job that will run a command every 30 seconds: that command will be used to send the file that contains container's information to rabbitmq server |
|||
** Modify coordinator to set up 2 users: one for the front-end and one for the clients. Each one will contain only the public key they need in authorized_keys' file |
|||
** Modify startProvider script to check is ssh-server is installed and running on provider, and change default port (22 to 22000) |
|||
** Modify watchdog functioning: up to now, the script was just checking if each instance was respecting a limit. Now its behaviour allows us to have different disk usage for each instance. Now we use a cron job, we won't need anymore to launch the script by ourselves |
|||
** Change monitoring system: we found an other monitoring system for Docker called cAdvisor which gives us enough informations about containers. |
|||
=== Semaine 6: 27 Février - 3 Mars === |
|||
* Frontend dev: |
|||
* Création du squelette pour l'api rest |
|||
** Generate a proper & unique instance name : <username>-<provider_domain_name>-<num_instance_user_at_provider> eg. : toto-domain1-0 |
|||
* création des fonction de connexion et deconnexion des utilisateurs |
|||
** Add form to modify provider machines informations |
|||
* Mise en place des fonctions de création des differents providers |
|||
** Fix warning "CSS file deliver as html file" by Meteor |
|||
* ajout d'une fonction de création d'un manager swarm |
|||
** Add README to explain how to use scripts, how files are organized (for github branch : frontendWebui , docker , master ) |
|||
* Script de création des services |
|||
** Improve user feedback (notifications) on errors/success |
|||
* lancement d'un premier site basique |
|||
** Proper parameters to start/stop instances |
|||
* Script de verification des installations sur les providers |
|||
** Add username field in profile |
|||
** Resolve bugs occurring when the machines allocate resources from a different user |
|||
=== Semaine 7: 6 Mars - 10 Mars === |
|||
*Test and feedback: |
|||
* Création de la page client et provider et premiers appels AJAX |
|||
** Set up the main test: container deployment and access to instance from the client |
|||
* correction sur la fonction d'ajout d'utilisateur |
|||
** Some permissions on coordinator instance needed to be changed |
|||
* ajout de collections dans la base de donnée |
|||
** SSH default configuration needed to be changed to: disable root login and authentication by password |
|||
* Mise en place d'un script de gestion de l'api docker |
|||
** Connection from client to his instance is working |
|||
=> The main development phase is finished since we have a working base. We still need to improve some things, eventually develop some advanced functionalities during the last two weeks. |
|||
=== |
=== Semaine 8: 13 Mars - 17 Mars === |
||
* Réunion final backend - frontend |
|||
* Finish creating the flyer |
|||
* Réalisation de la fonction scale |
|||
* Write report for our last MPI course |
|||
* Réalisation d'une fonction d'actualisation des stats provider |
|||
* End of Rabbitmq set up on front-end |
|||
* Ajout des fonctions de suppressions |
|||
* Test complete loop: |
|||
* Reglage des derniers bugs |
|||
** Create profile |
|||
* Tests complet |
|||
** Set required information (ssh public key) |
|||
** As a provider, give settings of the provided machine |
|||
** As a client, ask for an instance |
|||
** As a client connect to the instance (ssh) |
|||
** Check that Rabbitmq is correctly tracing back information about containers/instances |
|||
* Add a rating system which will be used to give a mark to providers. |
|||
* Start preparing the presentation |
|||
= Liens utils = |
|||
=== Week 8: March 14th - March 17th === |
|||
* Finish presentation preparation |
|||
* Fix some bugs: |
|||
** Start instances if they already exist |
|||
** Stop instances and no longer remove them in order to be reused/started again |
|||
** Really remove client instances running on provider when he choose to not be available |
|||
** Others minor fixes |
|||
== Documentation sur le projet == |
|||
= Useful links = |
|||
* [http://air.imag.fr/index.php/IaaS_collaboratif_avec_Docker Le projet Initial] |
|||
* [https://kubernetes.io/docs/tutorials/ Installaton Kubernetes] |
|||
== Network related == |
|||
* [https:// |
* [https://docs.docker.com/swarm/install-w-machine/ Installation Docker swarm] |
||
* [https://www.digitalocean.com/community/tutorials/how-to-install-and-manage-rabbitmq Installation de RabbitMq] |
Latest revision as of 09:12, 15 March 2017
Semaine 1: 23 Janvier - 27 Janvier
- Mise en place d'outils de gestion de projet
- Craft pour la gestion des sprints
- slack pour la communication
- Documentation sur Docker
- Petite Présentation par Quentin Faure
- Lecture de la documentation officielle de docker
- Installation de docker et manipulation des images
- Prise en main du projet iaas
- Telechargement du code depuis git
- Lancement des differents modules du projet
- Lancement du coordinateur et dd'un provider avec succès
- premier essaie de lancement d'un client avec le front end
- problème de dependance avec Méteor
- Début de définition du but du projet
Semaine 2: 30 Janvier - 3 Février
- Réunion avec Donzes
- Exploration d'autres pistes pour la réalisation du projet
- Documentation sur Docker swarm
- Documentation sur Kubernetes
- Problème lié au Méteor résolu
- installation d'un serveur RabbitMQ
- Utilisation du projet Iaas
- création de providers à partir du front end
- allocation de ressources aux clients à partir du front end
- problème d'envoie de clés rsa à resoudre
- Définition de la solution à utilisée
Semaine 3: 6 Février - 10 Février
- Réunion avec Didier Donser
- Définition et répartition des taches
- Mise en place de vpn
- Tests de swarm sur vpn
- Création de maquêttes IHM
- IHM abstraite
- Tests de limatation des ressources avec docker-machine
- Planification du projet (Gantt)
Semaine 4: 13 Février -17 Février
- Réunion du groupe pour les liens back-end front-end
- Lancement de l’embryon IHM sur le serveur AWS
- Etude d’une ancienne IHM à utiliser pour créer l’embryon IHM du projet
- Petite Formation AngularJS
- manipulation de l’api rest de docker, pour obtention des données
- Préparation de la mini présentation
- manipulation sur la base de donnée mongodb
- script pour création de base de donnée avec python
- Script de mise en place du provider
Semaine 5: 20 Février - 24 Février (Vacances)
Semaine 6: 27 Février - 3 Mars
- Création du squelette pour l'api rest
- création des fonction de connexion et deconnexion des utilisateurs
- Mise en place des fonctions de création des differents providers
- ajout d'une fonction de création d'un manager swarm
- Script de création des services
- lancement d'un premier site basique
- Script de verification des installations sur les providers
Semaine 7: 6 Mars - 10 Mars
- Création de la page client et provider et premiers appels AJAX
- correction sur la fonction d'ajout d'utilisateur
- ajout de collections dans la base de donnée
- Mise en place d'un script de gestion de l'api docker
Semaine 8: 13 Mars - 17 Mars
- Réunion final backend - frontend
- Réalisation de la fonction scale
- Réalisation d'une fonction d'actualisation des stats provider
- Ajout des fonctions de suppressions
- Reglage des derniers bugs
- Tests complet