Explorar el Código

[ADD] odoo creation logging

Gogs hace 7 años
padre
commit
c10948d493
Se han modificado 1 ficheros con 31 adiciones y 2 borrados
  1. 31 2
      api/resources/odoo_resource.py

+ 31 - 2
api/resources/odoo_resource.py

@@ -22,6 +22,9 @@ from api.utils.jwt_token import get_user
 from api.utils.jwt_authentication import JWTAuthentication
 from simplejson import JSONDecodeError
 import simplejson as json
+import logging
+
+logger = logging.getLogger(__name__)
 
 class OdooResource(Resource):
     class Meta:
@@ -50,8 +53,10 @@ class OdooResource(Resource):
             name = data['name']
         except JSONDecodeError:
             name = None
+            logger.warning('json decode error')
         except KeyError:
             name = None
+            logger.warning('key error')
 
         r = Request.objects.create(name='Crear contenedor Odoo')
         r.user = user
@@ -61,9 +66,12 @@ class OdooResource(Resource):
             r.status = 5
             r.save()
 
+            logger.error('name is required')
+
             return self.create_response(request, {
                 'error_message': 'name is required'
             })
+        logger.info('%s: request is ok' % name)
 
         # 1. Check and get name
         name = normalize_name(name)
@@ -74,36 +82,43 @@ class OdooResource(Resource):
             r.status = 5
             r.save()
 
+            logger.error('%s: name is already exists' % name)
+
             return self.create_response(request, {
                 'error_message': '%s: name is already exists' % name
             })
+        logger.info('%s: name is ok' % name)
         
         # 2. Get port
         port = randomize_port()
+        logger.info('%s: port is ok' % port)
 
         # 3. Folder structure create
         folders_created = create_folders(name)
-
         if not folders_created:
             r.issue = '%s: folders structure cannot be created' % name
             r.status = 5
             r.save()
 
+            logger.error('%s: folders structure cannot be created' % name)
+
             return self.create_response(request, {
                 'error_message': '%s: folders structure cannot be created' % name
             })
+        logger.info('%s: folders is ok' % name)
 
         # 4. Configuration create
         conf_created = create_configuration(name)
-
         if not conf_created:
             r.issue = '%s: configuration cannot be created' % name
             r.status = 5
             r.save()
 
+            logger.error('%s: configuration cannot be created' % name)
             return self.create_response(request, {
                 'error_message': '%s: configuration cannot be created' % name
             })
+        logger.info('%s: configuration is ok' % name)
 
         # 5. Database create
         db_created = create_database(name)
@@ -113,9 +128,11 @@ class OdooResource(Resource):
             r.status = 5
             r.save()
 
+            logger.error('%s: database cannot be created' % name)
             return self.create_response(request, {
                 'error_message': '%s: database cannot be created' % name
             })
+        logger.info('%s: database is ok' % name)
 
         # 6. Copy a database backup
         seed_copied = copy_database_seed()
@@ -125,9 +142,11 @@ class OdooResource(Resource):
             r.status = 5
             r.save()
 
+            logger.error('%s: database seed cannot be copied' % name)
             return self.create_response(request, {
                 'error_message': '%s: database seed cannot be copied' % name
             })
+        logger.info('%s: database seed is ok' % name)
         
         # 7. Restore database schema 
         db_restored = restore_database(name)
@@ -137,9 +156,11 @@ class OdooResource(Resource):
             r.status = 5
             r.save()
 
+            logger.error('%s: database cannot be restored' % name)
             return self.create_response(request, {
                 'error_message': '%s: database cannot be restored' % name
             })
+        logger.info('%s: database restore is ok' % name)
 
         # 8. Remove unused bakup file
         seed_removed = remove_database_seed()
@@ -149,9 +170,11 @@ class OdooResource(Resource):
             r.status = 5
             r.save()
 
+            logger.error('%s: seed cannot be removed' % name)
             return self.create_response(request, {
                 'error_message': '%s: seed cannot be removed' % name
             })
+        logger.info('%s: database seed remove is ok' % name)
 
 
         # 9. Odoo create
@@ -162,9 +185,11 @@ class OdooResource(Resource):
             r.status = 5
             r.save()
 
+            logger.error('%s: odoo container cannot be created' % name)
             return self.create_response(request, {
                 'error_message': '%s: odoo container cannot be created' % name
             })
+        logger.info('%s: container creation is ok' % name)
 
         # 10. Apply permissions 
         permissions_applied = apply_permissions(name)
@@ -174,13 +199,17 @@ class OdooResource(Resource):
             r.status = 5
             r.save()
 
+            logger.error('%s: odoo container cannot be started' % name)
             return self.create_response(request, {
                 'error_message': '%s: odoo container cannot be started' % name
             })
+        logger.info('%s: container started is ok' % name)
 
         r.issue = '%s: odoo container created successfully' % name
         r.status = 4
         r.save()
+
+        logger.info('%s: odoo creation is ok' % name)
         
         return self.create_response(request, {
             'action': {