Difference between revisions of "Fiche de suivi - CoCass"

From air
Jump to navigation Jump to search
(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...")
 
 
(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)
 
   
=== Week 2: February 1st - February 7th ===
+
=== 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
   
=== Week 3: February 8th - February 14th ===
+
=== 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)
   
=== Week 4: February 15th - February 21st ===
+
=== 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
   
=== Week 5: February 22nd - February 28th (Vacation) ===
+
=== 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.
 
   
=== Week 7: March 7th - March 13th ===
+
=== 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://wiki.gentoo.org/wiki/SSH_jump_host SSH Jump Host]
+
* [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 11:12, 15 March 2017

Planning Cocass.png

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

Liens utils

Documentation sur le projet