)]}'
{"doc/notification_samples/audit-delete.json":[{"author":{"_account_id":12394,"name":"David TARDIVEL","email":"David.TARDIVEL@b-com.com","username":"David.T"},"change_message_id":"324eab59949946c331cfebd3b5dd97ec391744dc","unresolved":false,"context_lines":[{"line_number":1,"context_line":"{"},{"line_number":2,"context_line":"  \"priority\": \"INFO\","},{"line_number":3,"context_line":"  \"payload\": {"},{"line_number":4,"context_line":"    \"watcher_object.data\": {"},{"line_number":5,"context_line":"      \"audit_type\": \"ONESHOT\","},{"line_number":6,"context_line":"      \"parameters\": {"},{"line_number":7,"context_line":"        \"para2\": \"hello\","},{"line_number":8,"context_line":"        \"para1\": 3.2"},{"line_number":9,"context_line":"      },"},{"line_number":10,"context_line":"      \"state\": \"DELETED\","},{"line_number":11,"context_line":"      \"updated_at\": null,"},{"line_number":12,"context_line":"      \"deleted_at\": null,"},{"line_number":13,"context_line":"      \"goal\": {"},{"line_number":14,"context_line":"        \"watcher_object.data\": {"},{"line_number":15,"context_line":"          \"uuid\": \"bc830f84-8ae3-4fc6-8bc6-e3dd15e8b49a\","},{"line_number":16,"context_line":"          \"name\": \"dummy\","},{"line_number":17,"context_line":"          \"updated_at\": null,"},{"line_number":18,"context_line":"          \"deleted_at\": null,"},{"line_number":19,"context_line":"          \"efficacy_specification\": [],"},{"line_number":20,"context_line":"          \"created_at\": \"2016-11-04T16:25:35Z\","},{"line_number":21,"context_line":"          \"display_name\": \"Dummy goal\""},{"line_number":22,"context_line":"        },"},{"line_number":23,"context_line":"        \"watcher_object.name\": \"GoalPayload\","},{"line_number":24,"context_line":"        \"watcher_object.version\": \"1.0\","},{"line_number":25,"context_line":"        \"watcher_object.namespace\": \"watcher\""},{"line_number":26,"context_line":"      },"},{"line_number":27,"context_line":"      \"interval\": null,"},{"line_number":28,"context_line":"      \"scope\": [],"},{"line_number":29,"context_line":"      \"strategy\": {"},{"line_number":30,"context_line":"        \"watcher_object.data\": {"},{"line_number":31,"context_line":"          \"parameters_spec\": {"},{"line_number":32,"context_line":"            \"properties\": {"},{"line_number":33,"context_line":"              \"para2\": {"},{"line_number":34,"context_line":"                \"type\": \"string\","},{"line_number":35,"context_line":"                \"default\": \"hello\","},{"line_number":36,"context_line":"                \"description\": \"string parameter example\""},{"line_number":37,"context_line":"              },"},{"line_number":38,"context_line":"              \"para1\": {"},{"line_number":39,"context_line":"                \"description\": \"number parameter example\","},{"line_number":40,"context_line":"                \"maximum\": 10.2,"},{"line_number":41,"context_line":"                \"type\": \"number\","},{"line_number":42,"context_line":"                \"default\": 3.2,"},{"line_number":43,"context_line":"                \"minimum\": 1.0"},{"line_number":44,"context_line":"              }"},{"line_number":45,"context_line":"            }"},{"line_number":46,"context_line":"          },"},{"line_number":47,"context_line":"          \"name\": \"dummy\","},{"line_number":48,"context_line":"          \"uuid\": \"75234dfe-87e3-4f11-a0e0-3c3305d86a39\","},{"line_number":49,"context_line":"          \"updated_at\": null,"},{"line_number":50,"context_line":"          \"deleted_at\": null,"},{"line_number":51,"context_line":"          \"created_at\": \"2016-11-04T16:25:35Z\","},{"line_number":52,"context_line":"          \"display_name\": \"Dummy strategy\""},{"line_number":53,"context_line":"        },"},{"line_number":54,"context_line":"        \"watcher_object.name\": \"StrategyPayload\","},{"line_number":55,"context_line":"        \"watcher_object.version\": \"1.0\","},{"line_number":56,"context_line":"        \"watcher_object.namespace\": \"watcher\""},{"line_number":57,"context_line":"      },"},{"line_number":58,"context_line":"      \"created_at\": \"2016-11-04T16:29:20Z\","},{"line_number":59,"context_line":"      \"uuid\": \"4a97b9dd-2023-43dc-b713-815bdd94d4d6\""},{"line_number":60,"context_line":"    },"},{"line_number":61,"context_line":"    \"watcher_object.name\": \"AuditDeletePayload\","},{"line_number":62,"context_line":"    \"watcher_object.version\": \"1.0\","},{"line_number":63,"context_line":"    \"watcher_object.namespace\": \"watcher\""},{"line_number":64,"context_line":"  },"},{"line_number":65,"context_line":"  \"publisher_id\": \"infra-optim:localhost\","},{"line_number":66,"context_line":"  \"timestamp\": \"2016-11-04 16:31:36.264673   \","},{"line_number":67,"context_line":"  \"event_type\": \"audit.create\","},{"line_number":68,"context_line":"  \"message_id\": \"cbcf9f2c-7c53-4b4d-91ec-db49cca024b6\""},{"line_number":69,"context_line":"}"}],"source_content_type":"application/json","patch_set":9,"id":"7a77a97e_d5ee9deb","line":69,"range":{"start_line":1,"start_character":0,"end_line":69,"end_character":1},"updated":"2016-11-15 09:50:15.000000000","message":"this sample is not correct. Here is a audit.delete notification caught on devstack:\n\n{  \n   \u0027priority\u0027:\u0027INFO\u0027,\n   \u0027event_type\u0027:u\u0027audit.delete\u0027,\n   \u0027timestamp\u0027:u\u00272016-11-15 09:28:48.918305   \u0027, \n   \u0027publisher_id\u0027:u\u0027infra-optim:10.50.0.223\u0027,\n   \u0027payload\u0027:{  \n      \u0027watcher_object.namespace\u0027:\u0027watcher\u0027,\n      \u0027watcher_object.name\u0027:\u0027AuditDeletePayload\u0027,\n      \u0027watcher_object.version\u0027:\u00271.0\u0027,\n      \u0027watcher_object.data\u0027:{  \n         \u0027audit_type\u0027:u\u0027ONESHOT\u0027,\n         \u0027goal\u0027:{  \n            \u0027watcher_object.namespace\u0027:\u0027watcher\u0027,\n            \u0027watcher_object.name\u0027:\u0027GoalPayload\u0027,\n            \u0027watcher_object.version\u0027:\u00271.0\u0027,\n            \u0027watcher_object.data\u0027:{  \n               \u0027display_name\u0027:u\u0027Server Consolidation\u0027,\n               \u0027uuid\u0027:\u002749441e8c-a95d-4ba4-b9dc-85c7c3491052\u0027,\n               \u0027created_at\u0027:\u00272016-11-14T16:53:53Z\u0027,\n               \u0027updated_at\u0027:None,\n               \u0027efficacy_specification\u0027:[  \n                  {  \n                     u\u0027description\u0027:u\u0027The number of compute nodes to be released.\u0027,\n                     u\u0027name\u0027:u\u0027released_compute_nodes_count\u0027,\n                     u\u0027unit\u0027:None,\n                     u\u0027schema\u0027:u\u0027Range(min\u003d0,\n                     max\u003dNone,\n                     min_included\u003dTrue,\n                     max_included\u003dTrue,\n                     msg\u003dNone)\u0027\n                  },\n                  {  \n                     u\u0027description\u0027:u\u0027The number of VM migrations to be performed.\u0027,\n                     u\u0027name\u0027:u\u0027instance_migrations_count\u0027,\n                     u\u0027unit\u0027:None,\n                     u\u0027schema\u0027:u\u0027Range(min\u003d0,\n                     max\u003dNone,\n                     min_included\u003dTrue,\n                     max_included\u003dTrue,\n                     msg\u003dNone)\u0027\n                  }\n               ],\n               \u0027deleted_at\u0027:None,\n               \u0027name\u0027:u\u0027server_consolidation\u0027\n            }\n         },\n         \u0027parameters\u0027:{  \n            u\u0027migration_attempts\u0027:0\n         },\n         \u0027created_at\u0027:\u00272016-11-14T17:00:55Z\u0027,\n         \u0027interval\u0027:None,\n         \u0027updated_at\u0027:\u00272016-11-14T17:00:57Z\u0027,\n         \u0027strategy\u0027:{  \n            \u0027watcher_object.namespace\u0027:\u0027watcher\u0027,\n            \u0027watcher_object.name\u0027:\u0027StrategyPayload\u0027,\n            \u0027watcher_object.version\u0027:\u00271.0\u0027,\n            \u0027watcher_object.data\u0027:{  \n               \u0027display_name\u0027:u\u0027Basic offline consolidation\u0027,\n               \u0027uuid\u0027:\u00279d24c916-6198-4b0b-834c-4d35e254eaef\u0027,\n               \u0027created_at\u0027:\u00272016-11-14T16:53:54Z\u0027,\n               \u0027updated_at\u0027:None,\n               \u0027parameters_spec\u0027:{  \n                  u\u0027properties\u0027:{  \n                     u\u0027migration_attempts\u0027:{  \n                        u\u0027default\u0027:0,\n                        u\u0027type\u0027:u\u0027number\u0027,\n                        u\u0027description\u0027:u\u0027Maximum number of combinations to be tried by the strategy while searching for potential candidates. To remove the limit,\n                        set it to 0 (by default)\u0027\n                     }\n                  }\n               },\n               \u0027deleted_at\u0027:None,\n               \u0027name\u0027:u\u0027basic\u0027\n            }\n         },\n         \u0027state\u0027:u\u0027DELETED\u0027,\n         \u0027scope\u0027:[  \n\n         ],\n         \u0027deleted_at\u0027:None,\n         \u0027uuid\u0027:\u00272b26ed64-f292-4069-8316-7940c1dd96b6\u0027\n      }\n   },\n   \u0027message_id\u0027:u\u0027d8485585-8146-439c-b7f9-bb3406550a6a\u0027\n}\n\nNote: deleted_at should be set by the time of deletion.","commit_id":"752c8dc736936443d6abe63b06626864d62d64c4"},{"author":{"_account_id":12394,"name":"David TARDIVEL","email":"David.TARDIVEL@b-com.com","username":"David.T"},"change_message_id":"c8d78acadf320a76a204d7ab0efa38180805c577","unresolved":false,"context_lines":[{"line_number":64,"context_line":"  },"},{"line_number":65,"context_line":"  \"publisher_id\": \"infra-optim:localhost\","},{"line_number":66,"context_line":"  \"timestamp\": \"2016-11-04 16:31:36.264673   \","},{"line_number":67,"context_line":"  \"event_type\": \"audit.create\","},{"line_number":68,"context_line":"  \"message_id\": \"cbcf9f2c-7c53-4b4d-91ec-db49cca024b6\""},{"line_number":69,"context_line":"}"}],"source_content_type":"application/json","patch_set":12,"id":"7a77a97e_4e07491c","line":67,"range":{"start_line":67,"start_character":17,"end_line":67,"end_character":29},"updated":"2016-11-15 16:46:35.000000000","message":"audit.delete","commit_id":"e433fae0bb01b00f8cce9e5292025a87850738db"},{"author":{"_account_id":18971,"name":"Vincent Françoise","email":"Vincent.FRANCOISE@b-com.com","username":"v-francoise"},"change_message_id":"80194d6b8466f2b1bf8a8ee0ec6429ccbb399321","unresolved":false,"context_lines":[{"line_number":64,"context_line":"  },"},{"line_number":65,"context_line":"  \"publisher_id\": \"infra-optim:localhost\","},{"line_number":66,"context_line":"  \"timestamp\": \"2016-11-04 16:31:36.264673   \","},{"line_number":67,"context_line":"  \"event_type\": \"audit.create\","},{"line_number":68,"context_line":"  \"message_id\": \"cbcf9f2c-7c53-4b4d-91ec-db49cca024b6\""},{"line_number":69,"context_line":"}"}],"source_content_type":"application/json","patch_set":12,"id":"7a77a97e_51560cd3","line":67,"range":{"start_line":67,"start_character":17,"end_line":67,"end_character":29},"in_reply_to":"7a77a97e_4e07491c","updated":"2016-11-15 16:50:42.000000000","message":"Done","commit_id":"e433fae0bb01b00f8cce9e5292025a87850738db"}],"watcher/objects/audit.py":[{"author":{"_account_id":12394,"name":"David TARDIVEL","email":"David.TARDIVEL@b-com.com","username":"David.T"},"change_message_id":"324eab59949946c331cfebd3b5dd97ec391744dc","unresolved":false,"context_lines":[{"line_number":285,"context_line":"        self.state \u003d State.DELETED"},{"line_number":286,"context_line":"        self.save()"},{"line_number":287,"context_line":""},{"line_number":288,"context_line":"        def _notify():"},{"line_number":289,"context_line":"            notifications.audit.send_delete(self._context, self)"},{"line_number":290,"context_line":""},{"line_number":291,"context_line":"        _notify()"}],"source_content_type":"text/x-python","patch_set":9,"id":"7a77a97e_b576813c","line":288,"range":{"start_line":288,"start_character":8,"end_line":288,"end_character":22},"updated":"2016-11-15 09:50:15.000000000","message":"Why did you declare an internal function for sending the notification ?","commit_id":"752c8dc736936443d6abe63b06626864d62d64c4"}],"watcher/tests/notifications/test_audit_notification.py":[{"author":{"_account_id":12394,"name":"David TARDIVEL","email":"David.TARDIVEL@b-com.com","username":"David.T"},"change_message_id":"324eab59949946c331cfebd3b5dd97ec391744dc","unresolved":false,"context_lines":[{"line_number":282,"context_line":"                        },"},{"line_number":283,"context_line":"                        \"watcher_object.name\": \"GoalPayload\""},{"line_number":284,"context_line":"                    },"},{"line_number":285,"context_line":"                    \"deleted_at\": None,"},{"line_number":286,"context_line":"                    \"scope\": [],"},{"line_number":287,"context_line":"                    \"state\": \"DELETED\","},{"line_number":288,"context_line":"                    \"updated_at\": None,"}],"source_content_type":"text/x-python","patch_set":9,"id":"7a77a97e_b5f20199","line":285,"range":{"start_line":285,"start_character":20,"end_line":285,"end_character":39},"updated":"2016-11-15 09:50:15.000000000","message":"deleted_at should be set with datetime of soft_deletion","commit_id":"752c8dc736936443d6abe63b06626864d62d64c4"}]}
