Deletion jobs should be send to queuing system
Krótki opis
W trakcie ostatnich rozmów pomiędzy developerami urodził się pomysł jak lepiej mógłaby działać aplikacja openstack-vm. Mianowicie w aktualnym stanie stanie aplikacja podczas usuwania zasobów stosuje tzw. filelock aby uninknać wyścigów pomiędzy wieloma działającymi aplikacjami, działającymi na tym samym projekcie chmurowym podczas usuwania zasobów. Niestety sposób ten zaczął zawodzić jeśli poszczególne instacje aplikacji są uruchomione na różnych hostach (nie mają dostępu do wspólnej przestrzeni dyskowej z folderem gdzie zapisuje się filelock). I tak o to narodził się pomysł aby wykorzystać system kolejkowy.
Propozycja
Zapewnić system kolejkowy (celery+redis lub celery+rabbit). Oznacza to że aplikacja musi być podzielona na dwa moduły:
- Tak jak do tej pory wywoływanie w commandline i tworzenie wymaganych zasobów dla GitLab-CI oraz usuwanie zasobów(usuwanie nie będzie lokalnie a będzie wysyłąło żądanie do systemu kolejkowego).
- Moduły trybu nasłuchiwania, który wstawałby wraz z redisem (lub rabbitem) i oczekiwał zadań do usuwania zasobów z systemu kolejkowego i po kolei je wykonywał.