)]}'
{"doc/specs/in-progress/db_refactoring.rst":[{"author":{"_account_id":10475,"name":"Alexander Maretskiy","email":"amaretskiy@mirantis.com","username":"maretskiy"},"change_message_id":"88acb919c534e65d19c6dd0a775c96bc49679c26","unresolved":false,"context_lines":[{"line_number":32,"context_line":"    Store results of validation in DB"},{"line_number":33,"context_line":"    Store durations of all steps (validation/benchmarking)"},{"line_number":34,"context_line":"    Cleanup task status graph"},{"line_number":35,"context_line":""},{"line_number":36,"context_line":""},{"line_number":37,"context_line":"Current schema doesn\u0027t work for those cases."},{"line_number":38,"context_line":""}],"source_content_type":"text/x-rst","patch_set":1,"id":"1a6ced46_13605c00","line":35,"updated":"2015-03-25 15:05:10.000000000","message":"4. store cluster information","commit_id":"777702e3e175478f02319cf48d9bdda1e437e93d"},{"author":{"_account_id":10475,"name":"Alexander Maretskiy","email":"amaretskiy@mirantis.com","username":"maretskiy"},"change_message_id":"88acb919c534e65d19c6dd0a775c96bc49679c26","unresolved":false,"context_lines":[{"line_number":42,"context_line":"Changes in DB"},{"line_number":43,"context_line":"-------------"},{"line_number":44,"context_line":""},{"line_number":45,"context_line":"New DB schema"},{"line_number":46,"context_line":"~~~~~~~~~~~~~"},{"line_number":47,"context_line":""},{"line_number":48,"context_line":""}],"source_content_type":"text/x-rst","patch_set":1,"id":"1a6ced46_bf33c212","line":45,"updated":"2015-03-25 15:05:10.000000000","message":"Here is my proposal regarding db schema below.\n\nThat is just a topic to discuss (there are a lot of changes to add them per-line, that is why that is solid comment)\n\nNotes:\n * we do not need denormalization\n * `id\u0027 primary keys are mandatory\n * use singular names for tables (example: Tag, not Tags)\n * no `uuid\u0027 in Tags\n * use extra table for scenarios\n * scenarios docstrings, cluster info, chunks metadata\n\n Deployment                                      Tag\n ----------                                      ---\n (old scema)                                     id (PK)\n cluster_info (text json)                        name\n\n Task                    TaskResult              TaskResultScenario      TaskResultScenarioChunk\n ----                    ----------              ------------------      -----------------------\n id (PK)                 id (PK)                 id (PK)                 id (PK)\n uuid (UNIQUE) \u003c---FK--- task_uuid               uuid (UNIQUE) \u003c---FK--- task_scenario_uuid\n deployment_uuid         uuid (UNIQUE) \u003c---FK--- task_result_uuid        data (text json)\n title                   title                   uuid\n description             description             name\n input                   in_parallel             args (text json)\n verification_result     context                 runner\n verification_duration   tags (M2M Tag)          sla (text json)\n bench_duration                                  sla_passed\n bench_success                                   context\n bench_count                                     load_duration\n status                                          full_duration\n created_at                                      chunks_meta (text json)\n updated_at                                      docstring (text)\n tags (M2M Tag)                                  run_order","commit_id":"777702e3e175478f02319cf48d9bdda1e437e93d"},{"author":{"_account_id":14475,"name":"Prabhjyot Singh Sodhi","email":"prabhjyotsingh95@gmail.com","username":"psd"},"change_message_id":"0be5616827d683ac1c0b5c02dba5f22577323fd1","unresolved":false,"context_lines":[{"line_number":44,"context_line":""},{"line_number":45,"context_line":"New DB schema"},{"line_number":46,"context_line":"~~~~~~~~~~~~~"},{"line_number":47,"context_line":""},{"line_number":48,"context_line":""},{"line_number":49,"context_line":"+------------+    +-------------+    +-----------------------------+"},{"line_number":50,"context_line":"| Task       |    | TaskResult  |    | TaskResultRawIterationChunk |"}],"source_content_type":"text/x-rst","patch_set":1,"id":"da9b358b_5a1bbe1b","line":47,"updated":"2015-03-31 15:58:30.000000000","message":"Here is my proposal for a new table that must be added to the schema for add cloud-info task in the rally roadmap\n\nTaskMetaData                          TaskResult\n-----------------                   ------------------\nuuid   \u003c---------------------FK-------uuid (UNIQUE)\ncloudinfo (text json)                  .\n                                        .(rest of the fields)","commit_id":"777702e3e175478f02319cf48d9bdda1e437e93d"},{"author":{"_account_id":10475,"name":"Alexander Maretskiy","email":"amaretskiy@mirantis.com","username":"maretskiy"},"change_message_id":"324e102a51cdec05e179071a056b7fd6edd8ce73","unresolved":false,"context_lines":[{"line_number":44,"context_line":""},{"line_number":45,"context_line":"New DB schema"},{"line_number":46,"context_line":"~~~~~~~~~~~~~"},{"line_number":47,"context_line":""},{"line_number":48,"context_line":""},{"line_number":49,"context_line":"+------------+    +-------------+    +-----------------------------+"},{"line_number":50,"context_line":"| Task       |    | TaskResult  |    | TaskResultRawIterationChunk |"}],"source_content_type":"text/x-rst","patch_set":1,"id":"da9b358b_35edadef","line":47,"in_reply_to":"da9b358b_5a1bbe1b","updated":"2015-03-31 16:04:19.000000000","message":"1) uuid \u003c--FK-- uuid    - this is reasonable and wide-used naming\n\n2) TaskMetaData.cloudinfo - cloudinfo looks better in Deployment model, otherwise we will duplicate this data for each task","commit_id":"777702e3e175478f02319cf48d9bdda1e437e93d"},{"author":{"_account_id":10475,"name":"Alexander Maretskiy","email":"amaretskiy@mirantis.com","username":"maretskiy"},"change_message_id":"88acb919c534e65d19c6dd0a775c96bc49679c26","unresolved":false,"context_lines":[{"line_number":64,"context_line":"|            |    |         |    |                   |"},{"line_number":65,"context_line":"|  task_uuid |    |         |    |  task_result_uuid |"},{"line_number":66,"context_line":"|  tag_uuid -+----+\u003e uuid  \u003c+----+  tag_uuid         |"},{"line_number":67,"context_line":"|  tag_name  |    |  name   |    |  tag_name         |"},{"line_number":68,"context_line":"|            |    |         |    |  task_uuid        |"},{"line_number":69,"context_line":"+------------+    +---------+    +-------------------+"},{"line_number":70,"context_line":""}],"source_content_type":"text/x-rst","patch_set":1,"id":"1a6ced46_e21e885e","line":67,"updated":"2015-03-25 15:05:10.000000000","message":"TaskTags.tag_name is unnecessary","commit_id":"777702e3e175478f02319cf48d9bdda1e437e93d"},{"author":{"_account_id":10475,"name":"Alexander Maretskiy","email":"amaretskiy@mirantis.com","username":"maretskiy"},"change_message_id":"ef3c95b78c9ed5c16d7e4722c0c475ff587a487a","unresolved":false,"context_lines":[{"line_number":64,"context_line":"|            |    |         |    |                   |"},{"line_number":65,"context_line":"|  task_uuid |    |         |    |  task_result_uuid |"},{"line_number":66,"context_line":"|  tag_uuid -+----+\u003e uuid  \u003c+----+  tag_uuid         |"},{"line_number":67,"context_line":"|  tag_name  |    |  name   |    |  tag_name         |"},{"line_number":68,"context_line":"|            |    |         |    |  task_uuid        |"},{"line_number":69,"context_line":"+------------+    +---------+    +-------------------+"},{"line_number":70,"context_line":""}],"source_content_type":"text/x-rst","patch_set":1,"id":"da9b358b_a682f050","line":67,"in_reply_to":"1a6ced46_e21e885e","updated":"2015-03-30 13:21:37.000000000","message":"Why do we need field TaskTags.tag_name? Existent `Tags.name\u0027 is enough","commit_id":"777702e3e175478f02319cf48d9bdda1e437e93d"},{"author":{"_account_id":8840,"name":"Carlos L. Torres","email":"carlos.torres@rackspace.com","username":"carl6796"},"change_message_id":"c0c515a9e0d09f534d8e0f5f7387ccfedb702f26","unresolved":false,"context_lines":[{"line_number":70,"context_line":""},{"line_number":71,"context_line":""},{"line_number":72,"context_line":""},{"line_number":73,"context_line":"Task table"},{"line_number":74,"context_line":"~~~~~~~~~~"},{"line_number":75,"context_line":""},{"line_number":76,"context_line":"    uuid                    : UUID"}],"source_content_type":"text/x-rst","patch_set":1,"id":"1a6ced46_1b840a0b","line":73,"updated":"2015-03-24 21:52:48.000000000","message":"I see no mention of timestamps for any of the tables in the schema.\n\nLike when a task was created, or updated. \nWhen was the TaskResult started, and stopped. \n\nAlso I think is better to use timestamps and compute durations than to actually store the duration.","commit_id":"777702e3e175478f02319cf48d9bdda1e437e93d"},{"author":{"_account_id":6172,"name":"Boris Pavlovic","email":"boris@pavlovic.me","username":"boris-42"},"change_message_id":"a2e95a128f1fd7ba015c8c84769f4a4158a1ace8","unresolved":false,"context_lines":[{"line_number":70,"context_line":""},{"line_number":71,"context_line":""},{"line_number":72,"context_line":""},{"line_number":73,"context_line":"Task table"},{"line_number":74,"context_line":"~~~~~~~~~~"},{"line_number":75,"context_line":""},{"line_number":76,"context_line":"    uuid                    : UUID"}],"source_content_type":"text/x-rst","patch_set":1,"id":"1a6ced46_79e24f30","line":73,"in_reply_to":"1a6ced46_1b840a0b","updated":"2015-03-25 11:50:40.000000000","message":"So I just didn\u0027t add them, but they are going to be will fix in next version of this document.","commit_id":"777702e3e175478f02319cf48d9bdda1e437e93d"},{"author":{"_account_id":10475,"name":"Alexander Maretskiy","email":"amaretskiy@mirantis.com","username":"maretskiy"},"change_message_id":"88acb919c534e65d19c6dd0a775c96bc49679c26","unresolved":false,"context_lines":[{"line_number":73,"context_line":"Task table"},{"line_number":74,"context_line":"~~~~~~~~~~"},{"line_number":75,"context_line":""},{"line_number":76,"context_line":"    uuid                    : UUID"},{"line_number":77,"context_line":""},{"line_number":78,"context_line":""},{"line_number":79,"context_line":"    # Optional"}],"source_content_type":"text/x-rst","patch_set":1,"id":"1a6ced46_42e67c16","line":76,"updated":"2015-03-25 15:05:10.000000000","message":"Usually it is good idea to use `id\u0027 PK (for all tables),\nand set UNIQUE constraint for `uuid\u0027\n\nThis approach is in use in old database, and I do not see reasons to dismiss it.","commit_id":"777702e3e175478f02319cf48d9bdda1e437e93d"},{"author":{"_account_id":10475,"name":"Alexander Maretskiy","email":"amaretskiy@mirantis.com","username":"maretskiy"},"change_message_id":"ef3c95b78c9ed5c16d7e4722c0c475ff587a487a","unresolved":false,"context_lines":[{"line_number":80,"context_line":"    deployment_uuid         : UUID"},{"line_number":81,"context_line":""},{"line_number":82,"context_line":"    # Full input task"},{"line_number":83,"context_line":"    input                   : TEXT"},{"line_number":84,"context_line":""},{"line_number":85,"context_line":"    # Name of string"},{"line_number":86,"context_line":"    name                    : String"}],"source_content_type":"text/x-rst","patch_set":1,"id":"da9b358b_6344da73","line":83,"updated":"2015-03-30 13:21:37.000000000","message":"I propose mark field type as TEXT JSON, because this makes it easy to understand that this must store valid json data only. Also some RDMS support json field type (PostgreSQL), so in this case filed type would be `JSON\u0027","commit_id":"777702e3e175478f02319cf48d9bdda1e437e93d"},{"author":{"_account_id":12395,"name":"Roman Vasylets","email":"pomeo92@gmail.com","username":"rvasilets"},"change_message_id":"ba25e3612054d83758b814d4a80e4cdc84a83d1a","unresolved":false,"context_lines":[{"line_number":80,"context_line":"    deployment_uuid         : UUID"},{"line_number":81,"context_line":""},{"line_number":82,"context_line":"    # Full input task"},{"line_number":83,"context_line":"    input                   : TEXT"},{"line_number":84,"context_line":""},{"line_number":85,"context_line":"    # Name of string"},{"line_number":86,"context_line":"    name                    : String"}],"source_content_type":"text/x-rst","patch_set":1,"id":"da9b358b_e872ba48","line":83,"updated":"2015-12-25 13:31:53.000000000","message":"I think it would to store input in text because what if we decide in future to change posible input format. For examle not to store json and store only yaml.","commit_id":"777702e3e175478f02319cf48d9bdda1e437e93d"},{"author":{"_account_id":10475,"name":"Alexander Maretskiy","email":"amaretskiy@mirantis.com","username":"maretskiy"},"change_message_id":"ef3c95b78c9ed5c16d7e4722c0c475ff587a487a","unresolved":false,"context_lines":[{"line_number":82,"context_line":"    # Full input task"},{"line_number":83,"context_line":"    input                   : TEXT"},{"line_number":84,"context_line":""},{"line_number":85,"context_line":"    # Name of string"},{"line_number":86,"context_line":"    name                    : String"},{"line_number":87,"context_line":""},{"line_number":88,"context_line":"    # Structure of verification results:"}],"source_content_type":"text/x-rst","patch_set":1,"id":"da9b358b_a3ee6289","line":85,"updated":"2015-03-30 13:21:37.000000000","message":"Maybe rename field `name\u0027 to `title\u0027 (and, maybe, add `description\u0027) to conform new task format","commit_id":"777702e3e175478f02319cf48d9bdda1e437e93d"},{"author":{"_account_id":14475,"name":"Prabhjyot Singh Sodhi","email":"prabhjyotsingh95@gmail.com","username":"psd"},"change_message_id":"0b7c135a0729e4373b4382755c9195184c0c093b","unresolved":false,"context_lines":[{"line_number":115,"context_line":"                                   verifying, benchmarking,"},{"line_number":116,"context_line":"                                   aborting, soft_aborting,"},{"line_number":117,"context_line":"                                   aborted, finished, verification_failed)"},{"line_number":118,"context_line":""},{"line_number":119,"context_line":""},{"line_number":120,"context_line":"Task.status diagram of states"},{"line_number":121,"context_line":"~~~~~~~~~~~~~~~~~~~~~~~~~~~~~"}],"source_content_type":"text/x-rst","patch_set":1,"id":"7a016987_2a93acfb","line":118,"updated":"2015-05-22 04:06:52.000000000","message":"Following some discussion in https://review.openstack.org/#/c/169432/\n\nI think we can add a new JSON Text field in the Task table called \"Environment Info\".\n\nI will update the patch in #169432 after we decide the status of this new field.\n\nFor example:\n\n    {\n    \u0027no_hypervisors\u0027: 4,\n    \u0027[..]\u0027: \u0027[..]\u0027,\n    \u0027custom\u0027: \u0027\u003cmore infomation as per users\u0027 requirements\u0027,\n    }\n\nThe information that will be conveyed through this JSON is being documented here: https://goo.gl/cqwLQI","commit_id":"777702e3e175478f02319cf48d9bdda1e437e93d"},{"author":{"_account_id":6116,"name":"li,chen","email":"shchenli@cn.ibm.com","username":"chen-li"},"change_message_id":"6a74edb55ff729967b88b9ffd6a827e094c5caab","unresolved":false,"context_lines":[{"line_number":115,"context_line":"                                   verifying, benchmarking,"},{"line_number":116,"context_line":"                                   aborting, soft_aborting,"},{"line_number":117,"context_line":"                                   aborted, finished, verification_failed)"},{"line_number":118,"context_line":""},{"line_number":119,"context_line":""},{"line_number":120,"context_line":"Task.status diagram of states"},{"line_number":121,"context_line":"~~~~~~~~~~~~~~~~~~~~~~~~~~~~~"}],"source_content_type":"text/x-rst","patch_set":1,"id":"7a2fa921_8128b987","line":118,"in_reply_to":"7a016987_2a93acfb","updated":"2015-10-08 07:44:13.000000000","message":"In Task table ? or In Deployment ?\n\nWould the \"Environment Info\" duplicated between tasks ?","commit_id":"777702e3e175478f02319cf48d9bdda1e437e93d"},{"author":{"_account_id":10475,"name":"Alexander Maretskiy","email":"amaretskiy@mirantis.com","username":"maretskiy"},"change_message_id":"ef3c95b78c9ed5c16d7e4722c0c475ff587a487a","unresolved":false,"context_lines":[{"line_number":163,"context_line":""},{"line_number":164,"context_line":"    # Profile information collected during the run of scenario"},{"line_number":165,"context_line":"    # This is internal data and format of it can be changed over time"},{"line_number":166,"context_line":"    # _profiling_data    : Text"},{"line_number":167,"context_line":""},{"line_number":168,"context_line":""},{"line_number":169,"context_line":"    # Aggregated data that shows does SLA criteria pass or not"}],"source_content_type":"text/x-rst","patch_set":1,"id":"da9b358b_26cf0081","line":166,"updated":"2015-03-30 13:21:37.000000000","message":"Even if this field is related to something internal, let\u0027s not start it from `_\u0027 - this kind of naming convention is unfamiliar for me\n\n profiling_data     : TEXT JSON","commit_id":"777702e3e175478f02319cf48d9bdda1e437e93d"},{"author":{"_account_id":12395,"name":"Roman Vasylets","email":"pomeo92@gmail.com","username":"rvasilets"},"change_message_id":"ba25e3612054d83758b814d4a80e4cdc84a83d1a","unresolved":false,"context_lines":[{"line_number":175,"context_line":"    #       \"name\": \u003cfull_name_of_validator\u003e,"},{"line_number":176,"context_line":"    #       \"duration\": \u003cduration_of_validation\u003e,"},{"line_number":177,"context_line":"    #       \"success\": \u003cboolean_pass_or_not\u003e,"},{"line_number":178,"context_line":"    #       \"message\": \u003cdescription_of_what_happend\u003e,"},{"line_number":179,"context_line":"    #   }"},{"line_number":180,"context_line":"    #]"},{"line_number":181,"context_line":"    #"}],"source_content_type":"text/x-rst","patch_set":1,"id":"1a7b0d38_9a890829","line":178,"updated":"2015-12-25 13:31:53.000000000","message":"In that link http://logs.openstack.org/46/228846/11/experimental/gate-rally-dsvm-murano-rally/bf94cd7/rally-plot/results.html.gz#/MuranoEnvironments.create_and_deploy_environment/overview we saw \"Unexpected error: \u0027endpoint\u0027\" This is detail of the error. But they don\u0027t say us nothing. It would be nice to store traceback in db to allow to show it in reports.","commit_id":"777702e3e175478f02319cf48d9bdda1e437e93d"},{"author":{"_account_id":10475,"name":"Alexander Maretskiy","email":"amaretskiy@mirantis.com","username":"maretskiy"},"change_message_id":"ef3c95b78c9ed5c16d7e4722c0c475ff587a487a","unresolved":false,"context_lines":[{"line_number":179,"context_line":"    #   }"},{"line_number":180,"context_line":"    #]"},{"line_number":181,"context_line":"    #"},{"line_number":182,"context_line":"    sla                 : TEXT"},{"line_number":183,"context_line":""},{"line_number":184,"context_line":"    # Context data structure (order makes sense)"},{"line_number":185,"context_line":"    #["}],"source_content_type":"text/x-rst","patch_set":1,"id":"da9b358b_c6f9744f","line":182,"updated":"2015-03-30 13:21:37.000000000","message":"This is not clear for me - according to new task format, benchmark level does not have `sla\u0027 - this is only on scenario level.\n\nIf I\u0027m not mistaken for some reason, then we need extra table for scenarios.\n\nExample:\n\n Input task\n \u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\n {\n   \"title\": \"Scenarios with disabled run_in_parallel\",\n   \"tasks\": [\n     {\n        \"title\": \"Serial scenarios run\",\n        \"run_in_parallel\": false,\n        \"scenarios\": [\n          {\n            \"name\": \"Foo.do_bar\",\n            \"sla\": {},      \u003c-- scenario-1-sla\n            \"context\": {}   \u003c-- scenario-1-context\n          },\n          {\n            \"name\": \"Foo.do_bar\",\n            \"sla\": {},      \u003c-- scenario-2-sla\n            \"context\": {}   \u003c-- scenario-2-context\n          },          {\n            \"name\": \"Foo.do_bar\",\n            \"sla\": {},      \u003c-- scenario-3-sla\n            \"context\": {}   \u003c-- scenario-3-context\n          },        ],\n        \"context\": {}       \u003c-- benchmark-context\n     }\n   ]\n\n\n Saving results\n \u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\n TaskResult.context   \u003c-- Ok, having results for benchmark-context here\n                          But where do we have results for scenario-1-context,\n                          scenario-2-context, scenario-3-context\n TaskResult.sla       \u003c-- Here we have sla results:\n                          [scenario-1-sla, scenario-2-sla, scenario-3-sla]\n                          But this looks very inconvenient in results processing","commit_id":"777702e3e175478f02319cf48d9bdda1e437e93d"},{"author":{"_account_id":10475,"name":"Alexander Maretskiy","email":"amaretskiy@mirantis.com","username":"maretskiy"},"change_message_id":"ef3c95b78c9ed5c16d7e4722c0c475ff587a487a","unresolved":false,"context_lines":[{"line_number":214,"context_line":"TaskResultRawIterationChunk table"},{"line_number":215,"context_line":"~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~"},{"line_number":216,"context_line":""},{"line_number":217,"context_line":"    uuid                : UUID"},{"line_number":218,"context_line":""},{"line_number":219,"context_line":"    # it will safe our life during the batch deletion and aggregation stuff"},{"line_number":220,"context_line":"    task_uuid           : UUID"}],"source_content_type":"text/x-rst","patch_set":1,"id":"da9b358b_91d84855","line":217,"updated":"2015-03-30 13:21:37.000000000","message":"I think we will never export chunks, so this table does not require UUID, just integer `id\u0027 PK AUTOINCREMENT will be enough","commit_id":"777702e3e175478f02319cf48d9bdda1e437e93d"},{"author":{"_account_id":10475,"name":"Alexander Maretskiy","email":"amaretskiy@mirantis.com","username":"maretskiy"},"change_message_id":"ef3c95b78c9ed5c16d7e4722c0c475ff587a487a","unresolved":false,"context_lines":[{"line_number":227,"context_line":"    iteration_count: INT"},{"line_number":228,"context_line":""},{"line_number":229,"context_line":"    # Full size of results in bytes"},{"line_number":230,"context_line":"    chunk_size: INT"},{"line_number":231,"context_line":""},{"line_number":232,"context_line":"    # Size of zipped results in bytes"},{"line_number":233,"context_line":"    zipped_chunk_size: INT"}],"source_content_type":"text/x-rst","patch_set":1,"id":"da9b358b_314cdc41","line":230,"updated":"2015-03-30 13:21:37.000000000","message":"Why do we need this field? It looks unnecessary","commit_id":"777702e3e175478f02319cf48d9bdda1e437e93d"},{"author":{"_account_id":10475,"name":"Alexander Maretskiy","email":"amaretskiy@mirantis.com","username":"maretskiy"},"change_message_id":"ef3c95b78c9ed5c16d7e4722c0c475ff587a487a","unresolved":false,"context_lines":[{"line_number":230,"context_line":"    chunk_size: INT"},{"line_number":231,"context_line":""},{"line_number":232,"context_line":"    # Size of zipped results in bytes"},{"line_number":233,"context_line":"    zipped_chunk_size: INT"},{"line_number":234,"context_line":""},{"line_number":235,"context_line":"    # Zipped text representation of list with iterations data."},{"line_number":236,"context_line":"    # Each element of list represent single iteration and has next format:"}],"source_content_type":"text/x-rst","patch_set":1,"id":"da9b358b_91d5e844","line":233,"updated":"2015-03-30 13:21:37.000000000","message":"Why do we need this field?","commit_id":"777702e3e175478f02319cf48d9bdda1e437e93d"},{"author":{"_account_id":8840,"name":"Carlos L. Torres","email":"carlos.torres@rackspace.com","username":"carl6796"},"change_message_id":"c0c515a9e0d09f534d8e0f5f7387ccfedb702f26","unresolved":false,"context_lines":[{"line_number":232,"context_line":"    # Size of zipped results in bytes"},{"line_number":233,"context_line":"    zipped_chunk_size: INT"},{"line_number":234,"context_line":""},{"line_number":235,"context_line":"    # Zipped text representation of list with iterations data."},{"line_number":236,"context_line":"    # Each element of list represent single iteration and has next format:"},{"line_number":237,"context_line":"    #"},{"line_number":238,"context_line":"    #{"}],"source_content_type":"text/x-rst","patch_set":1,"id":"1a6ced46_fb2f2ef4","line":235,"updated":"2015-03-24 21:52:48.000000000","message":"Any design reasons why not to store the atomic_action data in a table, instead of storing it as a blob?\n\nAlso we should store timestamps and not durations.\n\nTimestamp  atomic_action started, \nTimestamp  atomic_action completed.\nTimestamp  iteration started,\nTimestamp  iteration completed,\nTimestamp scenario started/completed, etc.\n\nPlease in UTC and at least in milliseconds since Epoch.","commit_id":"777702e3e175478f02319cf48d9bdda1e437e93d"},{"author":{"_account_id":6172,"name":"Boris Pavlovic","email":"boris@pavlovic.me","username":"boris-42"},"change_message_id":"a2e95a128f1fd7ba015c8c84769f4a4158a1ace8","unresolved":false,"context_lines":[{"line_number":232,"context_line":"    # Size of zipped results in bytes"},{"line_number":233,"context_line":"    zipped_chunk_size: INT"},{"line_number":234,"context_line":""},{"line_number":235,"context_line":"    # Zipped text representation of list with iterations data."},{"line_number":236,"context_line":"    # Each element of list represent single iteration and has next format:"},{"line_number":237,"context_line":"    #"},{"line_number":238,"context_line":"    #{"}],"source_content_type":"text/x-rst","patch_set":1,"id":"1a6ced46_964c3aa0","line":235,"in_reply_to":"1a6ced46_fb2f2ef4","updated":"2015-03-25 11:50:40.000000000","message":"It won\u0027t scale (even for 1 single big task) I am not talking even about real life usage when we are running 5-10-100k tasks....","commit_id":"777702e3e175478f02319cf48d9bdda1e437e93d"},{"author":{"_account_id":10475,"name":"Alexander Maretskiy","email":"amaretskiy@mirantis.com","username":"maretskiy"},"change_message_id":"ef3c95b78c9ed5c16d7e4722c0c475ff587a487a","unresolved":false,"context_lines":[{"line_number":241,"context_line":"    #   \"atomic_actions\"  : {"},{"line_number":242,"context_line":"    #       \"atomic_name\" : FLOAT"},{"line_number":243,"context_line":"    #   },"},{"line_number":244,"context_line":"    #   \"scenario_otput\"  : {"},{"line_number":245,"context_line":"    #       \"name\"        : INIT"},{"line_number":246,"context_line":"    #   },"},{"line_number":247,"context_line":"    #"}],"source_content_type":"text/x-rst","patch_set":1,"id":"da9b358b_d15ff00c","line":244,"updated":"2015-03-30 13:21:37.000000000","message":"s/otput/output/","commit_id":"777702e3e175478f02319cf48d9bdda1e437e93d"},{"author":{"_account_id":10475,"name":"Alexander Maretskiy","email":"amaretskiy@mirantis.com","username":"maretskiy"},"change_message_id":"ef3c95b78c9ed5c16d7e4722c0c475ff587a487a","unresolved":false,"context_lines":[{"line_number":251,"context_line":"    #   \"scenario_id\"     : INT     # scenario id (order number in scenarios"},{"line_number":252,"context_line":"    #                               # array in new input task format)"},{"line_number":253,"context_line":"    #}"},{"line_number":254,"context_line":"    chunk_data             : TEXT"},{"line_number":255,"context_line":""},{"line_number":256,"context_line":""},{"line_number":257,"context_line":"Alternatives"}],"source_content_type":"text/x-rst","patch_set":1,"id":"da9b358b_11db187e","line":254,"updated":"2015-03-30 13:21:37.000000000","message":"1) Maybe s/TEXT/BLOB/? Zipped content is a binary data\n\n2) I think, better name is `iterations_data\u0027","commit_id":"777702e3e175478f02319cf48d9bdda1e437e93d"},{"author":{"_account_id":8840,"name":"Carlos L. Torres","email":"carlos.torres@rackspace.com","username":"carl6796"},"change_message_id":"c0c515a9e0d09f534d8e0f5f7387ccfedb702f26","unresolved":false,"context_lines":[{"line_number":253,"context_line":"    #}"},{"line_number":254,"context_line":"    chunk_data             : TEXT"},{"line_number":255,"context_line":""},{"line_number":256,"context_line":""},{"line_number":257,"context_line":"Alternatives"},{"line_number":258,"context_line":"------------"},{"line_number":259,"context_line":""}],"source_content_type":"text/x-rst","patch_set":1,"id":"1a6ced46_3be2a603","line":256,"updated":"2015-03-24 21:52:48.000000000","message":"Can you explain the purposes of the Tags? How would they be used?","commit_id":"777702e3e175478f02319cf48d9bdda1e437e93d"},{"author":{"_account_id":6172,"name":"Boris Pavlovic","email":"boris@pavlovic.me","username":"boris-42"},"change_message_id":"a2e95a128f1fd7ba015c8c84769f4a4158a1ace8","unresolved":false,"context_lines":[{"line_number":253,"context_line":"    #}"},{"line_number":254,"context_line":"    chunk_data             : TEXT"},{"line_number":255,"context_line":""},{"line_number":256,"context_line":""},{"line_number":257,"context_line":"Alternatives"},{"line_number":258,"context_line":"------------"},{"line_number":259,"context_line":""}],"source_content_type":"text/x-rst","patch_set":1,"id":"1a6ced46_3971b776","line":256,"in_reply_to":"1a6ced46_3be2a603","updated":"2015-03-25 11:50:40.000000000","message":"they will be used like: \n\n\n  - I would like to get report with all \"benchmarks\" that has specific tags for some period \n\n  - I would like to get trends for all \"benchmarks\" that has specific tags during some period. \n\n  - I would like to delete all tasks with some specific task (to cleanup DB) \n\n  - I would like to get quick infomration about amount of benchmarks with some specific tags. \n\nAnd so on..","commit_id":"777702e3e175478f02319cf48d9bdda1e437e93d"},{"author":{"_account_id":10475,"name":"Alexander Maretskiy","email":"amaretskiy@mirantis.com","username":"maretskiy"},"change_message_id":"61139c691a765ea5dcd3a359edb9c6e00d66a3cc","unresolved":false,"context_lines":[{"line_number":73,"context_line":""},{"line_number":74,"context_line":"    title                   : String"},{"line_number":75,"context_line":"    description             : TEXT"},{"line_number":76,"context_line":"    tags                    : TEXT"},{"line_number":77,"context_line":""},{"line_number":78,"context_line":"    # Structure of verification results:"},{"line_number":79,"context_line":"    # ["}],"source_content_type":"text/x-rst","patch_set":3,"id":"1a122d0e_a1191525","line":76,"updated":"2016-04-21 15:49:08.000000000","message":"It is important to have a search based on tags, so this field must have index. Full-text search is actually a problem in most cases. But having dedicated models for tags (this was proposed in previous patch set) and standard M2M relation looks like better solution.","commit_id":"03455f9b5f9c375bac76b1eec63bf670ae6fe80b"},{"author":{"_account_id":10475,"name":"Alexander Maretskiy","email":"amaretskiy@mirantis.com","username":"maretskiy"},"change_message_id":"61139c691a765ea5dcd3a359edb9c6e00d66a3cc","unresolved":false,"context_lines":[{"line_number":92,"context_line":"    verification_duration   : FLOAT"},{"line_number":93,"context_line":""},{"line_number":94,"context_line":"    # Duration of benchmarking part of task"},{"line_number":95,"context_line":"    task_duration           : FLOAT"},{"line_number":96,"context_line":""},{"line_number":97,"context_line":"    # All workloads in the task are passed"},{"line_number":98,"context_line":"    _den_success            : BOOL  # See Note 2) below"}],"source_content_type":"text/x-rst","patch_set":3,"id":"1a122d0e_81685989","line":95,"updated":"2016-04-21 15:49:08.000000000","message":"Why not just \"duration\"","commit_id":"03455f9b5f9c375bac76b1eec63bf670ae6fe80b"},{"author":{"_account_id":8491,"name":"Illia Khudoshyn","email":"ikhudoshyn@mirantis.com","username":"ikhudoshyn"},"change_message_id":"c77c4519524c40c369319264ec5b1ab1a6b1f70b","unresolved":false,"context_lines":[{"line_number":92,"context_line":"    verification_duration   : FLOAT"},{"line_number":93,"context_line":""},{"line_number":94,"context_line":"    # Duration of benchmarking part of task"},{"line_number":95,"context_line":"    task_duration           : FLOAT"},{"line_number":96,"context_line":""},{"line_number":97,"context_line":"    # All workloads in the task are passed"},{"line_number":98,"context_line":"    _den_success            : BOOL  # See Note 2) below"}],"source_content_type":"text/x-rst","patch_set":3,"id":"1a122d0e_e56d7433","line":95,"in_reply_to":"1a122d0e_81685989","updated":"2016-04-25 14:10:44.000000000","message":"to distinguish from verification_duration","commit_id":"03455f9b5f9c375bac76b1eec63bf670ae6fe80b"},{"author":{"_account_id":10475,"name":"Alexander Maretskiy","email":"amaretskiy@mirantis.com","username":"maretskiy"},"change_message_id":"df037c9624843cbd4c7a5ac6661c89aa6acf9535","unresolved":false,"context_lines":[{"line_number":92,"context_line":"    verification_duration   : FLOAT"},{"line_number":93,"context_line":""},{"line_number":94,"context_line":"    # Duration of benchmarking part of task"},{"line_number":95,"context_line":"    task_duration           : FLOAT"},{"line_number":96,"context_line":""},{"line_number":97,"context_line":"    # All workloads in the task are passed"},{"line_number":98,"context_line":"    _den_success            : BOOL  # See Note 2) below"}],"source_content_type":"text/x-rst","patch_set":3,"id":"1a122d0e_1ff7e2d3","line":95,"in_reply_to":"1a122d0e_e56d7433","updated":"2016-04-27 13:34:47.000000000","message":"prefix \"verification_\" already distinguish this","commit_id":"03455f9b5f9c375bac76b1eec63bf670ae6fe80b"},{"author":{"_account_id":10475,"name":"Alexander Maretskiy","email":"amaretskiy@mirantis.com","username":"maretskiy"},"change_message_id":"61139c691a765ea5dcd3a359edb9c6e00d66a3cc","unresolved":false,"context_lines":[{"line_number":141,"context_line":"    # Context and SLA could be debined both Subtask-wide and per workload"},{"line_number":142,"context_line":"    context                 : JSON"},{"line_number":143,"context_line":"    sla                     : JSON"},{"line_number":144,"context_line":""},{"line_number":145,"context_line":"    run_in_parallel         : BOOL"},{"line_number":146,"context_line":""},{"line_number":147,"context_line":"    # All workloads in the subtask are passed"}],"source_content_type":"text/x-rst","patch_set":3,"id":"1a122d0e_416e4197","line":144,"updated":"2016-04-21 15:49:08.000000000","message":"Maybe sla_results should be also defined (like in Workload)","commit_id":"03455f9b5f9c375bac76b1eec63bf670ae6fe80b"},{"author":{"_account_id":8491,"name":"Illia Khudoshyn","email":"ikhudoshyn@mirantis.com","username":"ikhudoshyn"},"change_message_id":"6cc7261d2f7d378d054a387579f64fbe8ce57961","unresolved":false,"context_lines":[{"line_number":141,"context_line":"    # Context and SLA could be debined both Subtask-wide and per workload"},{"line_number":142,"context_line":"    context                 : JSON"},{"line_number":143,"context_line":"    sla                     : JSON"},{"line_number":144,"context_line":""},{"line_number":145,"context_line":"    run_in_parallel         : BOOL"},{"line_number":146,"context_line":""},{"line_number":147,"context_line":"    # All workloads in the subtask are passed"}],"source_content_type":"text/x-rst","patch_set":3,"id":"1a122d0e_64fdafb0","line":144,"in_reply_to":"1a122d0e_06735616","updated":"2016-04-27 12:57:48.000000000","message":"Hm.. We should discuss that. Maybe I\u0027m getting it wrong here, but I think that SLA here not to define whether the subtask succeeds but just a default value(s) for all workloads. If I\u0027m right, we should first define what SLA result for subtask is, cos now it is not calculated explicitly.","commit_id":"03455f9b5f9c375bac76b1eec63bf670ae6fe80b"},{"author":{"_account_id":8491,"name":"Illia Khudoshyn","email":"ikhudoshyn@mirantis.com","username":"ikhudoshyn"},"change_message_id":"c77c4519524c40c369319264ec5b1ab1a6b1f70b","unresolved":false,"context_lines":[{"line_number":141,"context_line":"    # Context and SLA could be debined both Subtask-wide and per workload"},{"line_number":142,"context_line":"    context                 : JSON"},{"line_number":143,"context_line":"    sla                     : JSON"},{"line_number":144,"context_line":""},{"line_number":145,"context_line":"    run_in_parallel         : BOOL"},{"line_number":146,"context_line":""},{"line_number":147,"context_line":"    # All workloads in the subtask are passed"}],"source_content_type":"text/x-rst","patch_set":3,"id":"1a122d0e_65ee848c","line":144,"in_reply_to":"1a122d0e_416e4197","updated":"2016-04-25 14:10:44.000000000","message":"sla_results get calculated per workload. I don\u0027t really sure that per-subtask sla_result is meaningful.","commit_id":"03455f9b5f9c375bac76b1eec63bf670ae6fe80b"},{"author":{"_account_id":10475,"name":"Alexander Maretskiy","email":"amaretskiy@mirantis.com","username":"maretskiy"},"change_message_id":"82baf16184969e3e76516c3ec809b572853f161b","unresolved":false,"context_lines":[{"line_number":141,"context_line":"    # Context and SLA could be debined both Subtask-wide and per workload"},{"line_number":142,"context_line":"    context                 : JSON"},{"line_number":143,"context_line":"    sla                     : JSON"},{"line_number":144,"context_line":""},{"line_number":145,"context_line":"    run_in_parallel         : BOOL"},{"line_number":146,"context_line":""},{"line_number":147,"context_line":"    # All workloads in the subtask are passed"}],"source_content_type":"text/x-rst","patch_set":3,"id":"1a122d0e_06735616","line":144,"in_reply_to":"1a122d0e_65ee848c","updated":"2016-04-25 15:19:41.000000000","message":"We have SLA on subtask level so we definitely need its result. How it can be possible to throw it away while saving task results?","commit_id":"03455f9b5f9c375bac76b1eec63bf670ae6fe80b"},{"author":{"_account_id":10475,"name":"Alexander Maretskiy","email":"amaretskiy@mirantis.com","username":"maretskiy"},"change_message_id":"61139c691a765ea5dcd3a359edb9c6e00d66a3cc","unresolved":false,"context_lines":[{"line_number":143,"context_line":"    sla                     : JSON"},{"line_number":144,"context_line":""},{"line_number":145,"context_line":"    run_in_parallel         : BOOL"},{"line_number":146,"context_line":""},{"line_number":147,"context_line":"    # All workloads in the subtask are passed"},{"line_number":148,"context_line":"    _den_success           : BOOL  # See Note 2) below"},{"line_number":149,"context_line":""}],"source_content_type":"text/x-rst","patch_set":3,"id":"1a122d0e_01ce09b4","line":146,"updated":"2016-04-21 15:49:08.000000000","message":"Information about subtask duration is important, so I propose to add a \"duration\" field","commit_id":"03455f9b5f9c375bac76b1eec63bf670ae6fe80b"},{"author":{"_account_id":8491,"name":"Illia Khudoshyn","email":"ikhudoshyn@mirantis.com","username":"ikhudoshyn"},"change_message_id":"c77c4519524c40c369319264ec5b1ab1a6b1f70b","unresolved":false,"context_lines":[{"line_number":143,"context_line":"    sla                     : JSON"},{"line_number":144,"context_line":""},{"line_number":145,"context_line":"    run_in_parallel         : BOOL"},{"line_number":146,"context_line":""},{"line_number":147,"context_line":"    # All workloads in the subtask are passed"},{"line_number":148,"context_line":"    _den_success           : BOOL  # See Note 2) below"},{"line_number":149,"context_line":""}],"source_content_type":"text/x-rst","patch_set":3,"id":"1a122d0e_2582cc94","line":146,"in_reply_to":"1a122d0e_01ce09b4","updated":"2016-04-25 14:10:44.000000000","message":"Done","commit_id":"03455f9b5f9c375bac76b1eec63bf670ae6fe80b"},{"author":{"_account_id":10475,"name":"Alexander Maretskiy","email":"amaretskiy@mirantis.com","username":"maretskiy"},"change_message_id":"61139c691a765ea5dcd3a359edb9c6e00d66a3cc","unresolved":false,"context_lines":[{"line_number":145,"context_line":"    run_in_parallel         : BOOL"},{"line_number":146,"context_line":""},{"line_number":147,"context_line":"    # All workloads in the subtask are passed"},{"line_number":148,"context_line":"    _den_success           : BOOL  # See Note 2) below"},{"line_number":149,"context_line":""},{"line_number":150,"context_line":""},{"line_number":151,"context_line":"Workload table"}],"source_content_type":"text/x-rst","patch_set":3,"id":"1a122d0e_e15cadf2","line":148,"updated":"2016-04-21 15:49:08.000000000","message":"s/_den_//\n\nSubtask has its own SLA, so its success is explicit value","commit_id":"03455f9b5f9c375bac76b1eec63bf670ae6fe80b"},{"author":{"_account_id":10475,"name":"Alexander Maretskiy","email":"amaretskiy@mirantis.com","username":"maretskiy"},"change_message_id":"82baf16184969e3e76516c3ec809b572853f161b","unresolved":false,"context_lines":[{"line_number":145,"context_line":"    run_in_parallel         : BOOL"},{"line_number":146,"context_line":""},{"line_number":147,"context_line":"    # All workloads in the subtask are passed"},{"line_number":148,"context_line":"    _den_success           : BOOL  # See Note 2) below"},{"line_number":149,"context_line":""},{"line_number":150,"context_line":""},{"line_number":151,"context_line":"Workload table"}],"source_content_type":"text/x-rst","patch_set":3,"id":"1a122d0e_2682d294","line":148,"in_reply_to":"1a122d0e_85b9207c","updated":"2016-04-25 15:19:41.000000000","message":"Agreed","commit_id":"03455f9b5f9c375bac76b1eec63bf670ae6fe80b"},{"author":{"_account_id":8491,"name":"Illia Khudoshyn","email":"ikhudoshyn@mirantis.com","username":"ikhudoshyn"},"change_message_id":"c77c4519524c40c369319264ec5b1ab1a6b1f70b","unresolved":false,"context_lines":[{"line_number":145,"context_line":"    run_in_parallel         : BOOL"},{"line_number":146,"context_line":""},{"line_number":147,"context_line":"    # All workloads in the subtask are passed"},{"line_number":148,"context_line":"    _den_success           : BOOL  # See Note 2) below"},{"line_number":149,"context_line":""},{"line_number":150,"context_line":""},{"line_number":151,"context_line":"Workload table"}],"source_content_type":"text/x-rst","patch_set":3,"id":"1a122d0e_85b9207c","line":148,"in_reply_to":"1a122d0e_e15cadf2","updated":"2016-04-25 14:10:44.000000000","message":"Disagree.Even if we add separate sla_results for subtask, \u0027success\u0027 field would be calculable, so I use \u0027_den_\u0027 prefix","commit_id":"03455f9b5f9c375bac76b1eec63bf670ae6fe80b"},{"author":{"_account_id":10475,"name":"Alexander Maretskiy","email":"amaretskiy@mirantis.com","username":"maretskiy"},"change_message_id":"61139c691a765ea5dcd3a359edb9c6e00d66a3cc","unresolved":false,"context_lines":[{"line_number":159,"context_line":"    # Workload\u0027s name defines scenario being executed"},{"line_number":160,"context_line":"    name                    : String"},{"line_number":161,"context_line":"    "},{"line_number":162,"context_line":"    description             : TEXT"},{"line_number":163,"context_line":"    tags                    : TEXT"},{"line_number":164,"context_line":"    "},{"line_number":165,"context_line":"    runner                  : JSON"}],"source_content_type":"text/x-rst","patch_set":3,"id":"1a122d0e_81e33933","line":162,"updated":"2016-04-21 15:49:08.000000000","message":"Our new input task format does not have \"description\" for workload, however we can use this field (and explicitly mention it here) that it should store scenario plugin docstring. Having docstring saved would be really helpful, for example in reports.\n\nIf agree - please mention this explicitly","commit_id":"03455f9b5f9c375bac76b1eec63bf670ae6fe80b"},{"author":{"_account_id":8491,"name":"Illia Khudoshyn","email":"ikhudoshyn@mirantis.com","username":"ikhudoshyn"},"change_message_id":"c77c4519524c40c369319264ec5b1ab1a6b1f70b","unresolved":false,"context_lines":[{"line_number":159,"context_line":"    # Workload\u0027s name defines scenario being executed"},{"line_number":160,"context_line":"    name                    : String"},{"line_number":161,"context_line":"    "},{"line_number":162,"context_line":"    description             : TEXT"},{"line_number":163,"context_line":"    tags                    : TEXT"},{"line_number":164,"context_line":"    "},{"line_number":165,"context_line":"    runner                  : JSON"}],"source_content_type":"text/x-rst","patch_set":3,"id":"1a122d0e_6531640b","line":162,"in_reply_to":"1a122d0e_81e33933","updated":"2016-04-25 14:10:44.000000000","message":"Done","commit_id":"03455f9b5f9c375bac76b1eec63bf670ae6fe80b"},{"author":{"_account_id":10475,"name":"Alexander Maretskiy","email":"amaretskiy@mirantis.com","username":"maretskiy"},"change_message_id":"61139c691a765ea5dcd3a359edb9c6e00d66a3cc","unresolved":false,"context_lines":[{"line_number":165,"context_line":"    runner                  : JSON"},{"line_number":166,"context_line":"    _den_runner_type        : String  # See Note 2) below"},{"line_number":167,"context_line":""},{"line_number":168,"context_line":"    # Context and SLA could be debined both Subtask-wide and per workload"},{"line_number":169,"context_line":"    context                 : JSON"},{"line_number":170,"context_line":"    sla                     : JSON"},{"line_number":171,"context_line":""}],"source_content_type":"text/x-rst","patch_set":3,"id":"1a122d0e_c1ec112c","line":168,"updated":"2016-04-21 15:49:08.000000000","message":"defined","commit_id":"03455f9b5f9c375bac76b1eec63bf670ae6fe80b"},{"author":{"_account_id":8491,"name":"Illia Khudoshyn","email":"ikhudoshyn@mirantis.com","username":"ikhudoshyn"},"change_message_id":"6cc7261d2f7d378d054a387579f64fbe8ce57961","unresolved":false,"context_lines":[{"line_number":165,"context_line":"    runner                  : JSON"},{"line_number":166,"context_line":"    _den_runner_type        : String  # See Note 2) below"},{"line_number":167,"context_line":""},{"line_number":168,"context_line":"    # Context and SLA could be debined both Subtask-wide and per workload"},{"line_number":169,"context_line":"    context                 : JSON"},{"line_number":170,"context_line":"    sla                     : JSON"},{"line_number":171,"context_line":""}],"source_content_type":"text/x-rst","patch_set":3,"id":"1a122d0e_8431ebef","line":168,"in_reply_to":"1a122d0e_c1ec112c","updated":"2016-04-27 12:57:48.000000000","message":"Done","commit_id":"03455f9b5f9c375bac76b1eec63bf670ae6fe80b"},{"author":{"_account_id":10475,"name":"Alexander Maretskiy","email":"amaretskiy@mirantis.com","username":"maretskiy"},"change_message_id":"61139c691a765ea5dcd3a359edb9c6e00d66a3cc","unresolved":false,"context_lines":[{"line_number":195,"context_line":"    #"},{"line_number":196,"context_line":"    #   }"},{"line_number":197,"context_line":"    #]"},{"line_number":198,"context_line":"    context_execution       : TEXT"},{"line_number":199,"context_line":""},{"line_number":200,"context_line":"    starttime               : TIMESTAMP"},{"line_number":201,"context_line":""}],"source_content_type":"text/x-rst","patch_set":3,"id":"1a122d0e_017289ad","line":198,"updated":"2016-04-21 15:49:08.000000000","message":"It would be nice to name this \"context_results\" to keep same notation with sla","commit_id":"03455f9b5f9c375bac76b1eec63bf670ae6fe80b"},{"author":{"_account_id":8491,"name":"Illia Khudoshyn","email":"ikhudoshyn@mirantis.com","username":"ikhudoshyn"},"change_message_id":"c77c4519524c40c369319264ec5b1ab1a6b1f70b","unresolved":false,"context_lines":[{"line_number":195,"context_line":"    #"},{"line_number":196,"context_line":"    #   }"},{"line_number":197,"context_line":"    #]"},{"line_number":198,"context_line":"    context_execution       : TEXT"},{"line_number":199,"context_line":""},{"line_number":200,"context_line":"    starttime               : TIMESTAMP"},{"line_number":201,"context_line":""}],"source_content_type":"text/x-rst","patch_set":3,"id":"1a122d0e_a06ecac6","line":198,"in_reply_to":"1a122d0e_017289ad","updated":"2016-04-25 14:10:44.000000000","message":"\u0027context_results\u0027 would definitely look nicer yet I believe that word \u0027results\u0027 is not a good fit here. It is more a log of execution rather then a result.","commit_id":"03455f9b5f9c375bac76b1eec63bf670ae6fe80b"},{"author":{"_account_id":10475,"name":"Alexander Maretskiy","email":"amaretskiy@mirantis.com","username":"maretskiy"},"change_message_id":"82baf16184969e3e76516c3ec809b572853f161b","unresolved":false,"context_lines":[{"line_number":195,"context_line":"    #"},{"line_number":196,"context_line":"    #   }"},{"line_number":197,"context_line":"    #]"},{"line_number":198,"context_line":"    context_execution       : TEXT"},{"line_number":199,"context_line":""},{"line_number":200,"context_line":"    starttime               : TIMESTAMP"},{"line_number":201,"context_line":""}],"source_content_type":"text/x-rst","patch_set":3,"id":"1a122d0e_86b9267c","line":198,"in_reply_to":"1a122d0e_a06ecac6","updated":"2016-04-25 15:19:41.000000000","message":"\"execution\" is about process, but here we will store results - atomic actions durations, maybe resources lists","commit_id":"03455f9b5f9c375bac76b1eec63bf670ae6fe80b"},{"author":{"_account_id":10475,"name":"Alexander Maretskiy","email":"amaretskiy@mirantis.com","username":"maretskiy"},"change_message_id":"61139c691a765ea5dcd3a359edb9c6e00d66a3cc","unresolved":false,"context_lines":[{"line_number":209,"context_line":"    total_iter_count        : INT"},{"line_number":210,"context_line":"    failed_iter_count       : INT"},{"line_number":211,"context_line":""},{"line_number":212,"context_line":"    _den_atomic             : JSON  # Aggregated information about atomic actions TBD"},{"line_number":213,"context_line":"    _den_statistics         : JSON  # TBD"},{"line_number":214,"context_line":""},{"line_number":215,"context_line":"    # As for SLA result"}],"source_content_type":"text/x-rst","patch_set":3,"id":"1a122d0e_a14ab553","line":212,"updated":"2016-04-21 15:49:08.000000000","message":"Why \"_den_\" ? This is a part of our \"extended_results\" and this is a workload data\n\nhttps://github.com/openstack/rally/blob/7b7e7003c30efde5e7f0ca3d0fbb3246d59dcae7/rally/common/objects/task.py#L264","commit_id":"03455f9b5f9c375bac76b1eec63bf670ae6fe80b"},{"author":{"_account_id":8491,"name":"Illia Khudoshyn","email":"ikhudoshyn@mirantis.com","username":"ikhudoshyn"},"change_message_id":"c77c4519524c40c369319264ec5b1ab1a6b1f70b","unresolved":false,"context_lines":[{"line_number":209,"context_line":"    total_iter_count        : INT"},{"line_number":210,"context_line":"    failed_iter_count       : INT"},{"line_number":211,"context_line":""},{"line_number":212,"context_line":"    _den_atomic             : JSON  # Aggregated information about atomic actions TBD"},{"line_number":213,"context_line":"    _den_statistics         : JSON  # TBD"},{"line_number":214,"context_line":""},{"line_number":215,"context_line":"    # As for SLA result"}],"source_content_type":"text/x-rst","patch_set":3,"id":"1a122d0e_20911a9a","line":212,"in_reply_to":"1a122d0e_a14ab553","updated":"2016-04-25 14:10:44.000000000","message":"This and the next one are TBD, lets get back to them once I describe the structure.","commit_id":"03455f9b5f9c375bac76b1eec63bf670ae6fe80b"},{"author":{"_account_id":10475,"name":"Alexander Maretskiy","email":"amaretskiy@mirantis.com","username":"maretskiy"},"change_message_id":"61139c691a765ea5dcd3a359edb9c6e00d66a3cc","unresolved":false,"context_lines":[{"line_number":210,"context_line":"    failed_iter_count       : INT"},{"line_number":211,"context_line":""},{"line_number":212,"context_line":"    _den_atomic             : JSON  # Aggregated information about atomic actions TBD"},{"line_number":213,"context_line":"    _den_statistics         : JSON  # TBD"},{"line_number":214,"context_line":""},{"line_number":215,"context_line":"    # As for SLA result"},{"line_number":216,"context_line":"    _den_success            : BOOL  # See Note 2) below"}],"source_content_type":"text/x-rst","patch_set":3,"id":"1a122d0e_015ba92f","line":213,"updated":"2016-04-21 15:49:08.000000000","message":"same here, s/_den_//","commit_id":"03455f9b5f9c375bac76b1eec63bf670ae6fe80b"},{"author":{"_account_id":10475,"name":"Alexander Maretskiy","email":"amaretskiy@mirantis.com","username":"maretskiy"},"change_message_id":"61139c691a765ea5dcd3a359edb9c6e00d66a3cc","unresolved":false,"context_lines":[{"line_number":213,"context_line":"    _den_statistics         : JSON  # TBD"},{"line_number":214,"context_line":""},{"line_number":215,"context_line":"    # As for SLA result"},{"line_number":216,"context_line":"    _den_success            : BOOL  # See Note 2) below"},{"line_number":217,"context_line":""},{"line_number":218,"context_line":"    # Profile information collected during the run of scenario"},{"line_number":219,"context_line":"    # This is internal data and format of it can be changed over time"}],"source_content_type":"text/x-rst","patch_set":3,"id":"1a122d0e_813059ea","line":216,"updated":"2016-04-21 15:49:08.000000000","message":"s/_den_//","commit_id":"03455f9b5f9c375bac76b1eec63bf670ae6fe80b"},{"author":{"_account_id":8491,"name":"Illia Khudoshyn","email":"ikhudoshyn@mirantis.com","username":"ikhudoshyn"},"change_message_id":"c77c4519524c40c369319264ec5b1ab1a6b1f70b","unresolved":false,"context_lines":[{"line_number":213,"context_line":"    _den_statistics         : JSON  # TBD"},{"line_number":214,"context_line":""},{"line_number":215,"context_line":"    # As for SLA result"},{"line_number":216,"context_line":"    _den_success            : BOOL  # See Note 2) below"},{"line_number":217,"context_line":""},{"line_number":218,"context_line":"    # Profile information collected during the run of scenario"},{"line_number":219,"context_line":"    # This is internal data and format of it can be changed over time"}],"source_content_type":"text/x-rst","patch_set":3,"id":"1a122d0e_a00feadf","line":216,"in_reply_to":"1a122d0e_813059ea","updated":"2016-04-25 14:10:44.000000000","message":"It starts with \u0027_den_\u0027 because primary source for the value is \u0027sla_results\u0027 and \u0027success\u0027 could be calucated. We store it explicitly for querying purpose only.\nWe mark this field as \u0027_den_\u0027 so that in case of contradiction between it and \u0027sla_results\u0027 this one should be neglected.","commit_id":"03455f9b5f9c375bac76b1eec63bf670ae6fe80b"},{"author":{"_account_id":10475,"name":"Alexander Maretskiy","email":"amaretskiy@mirantis.com","username":"maretskiy"},"change_message_id":"82baf16184969e3e76516c3ec809b572853f161b","unresolved":false,"context_lines":[{"line_number":213,"context_line":"    _den_statistics         : JSON  # TBD"},{"line_number":214,"context_line":""},{"line_number":215,"context_line":"    # As for SLA result"},{"line_number":216,"context_line":"    _den_success            : BOOL  # See Note 2) below"},{"line_number":217,"context_line":""},{"line_number":218,"context_line":"    # Profile information collected during the run of scenario"},{"line_number":219,"context_line":"    # This is internal data and format of it can be changed over time"}],"source_content_type":"text/x-rst","patch_set":3,"id":"1a122d0e_867006de","line":216,"in_reply_to":"1a122d0e_a00feadf","updated":"2016-04-25 15:19:41.000000000","message":"Agreed","commit_id":"03455f9b5f9c375bac76b1eec63bf670ae6fe80b"},{"author":{"_account_id":10475,"name":"Alexander Maretskiy","email":"amaretskiy@mirantis.com","username":"maretskiy"},"change_message_id":"61139c691a765ea5dcd3a359edb9c6e00d66a3cc","unresolved":false,"context_lines":[{"line_number":220,"context_line":"    # _profiling_data       : Text"},{"line_number":221,"context_line":""},{"line_number":222,"context_line":""},{"line_number":223,"context_line":"WorkloadData"},{"line_number":224,"context_line":"~~~~~~~~~~~~"},{"line_number":225,"context_line":""},{"line_number":226,"context_line":"    id                      : UUID"}],"source_content_type":"text/x-rst","patch_set":3,"id":"1a122d0e_c129b18b","line":223,"updated":"2016-04-21 15:49:08.000000000","message":"Maybe WorkloadChunk ? This is actually a chunk, why name it in different manner","commit_id":"03455f9b5f9c375bac76b1eec63bf670ae6fe80b"},{"author":{"_account_id":10475,"name":"Alexander Maretskiy","email":"amaretskiy@mirantis.com","username":"maretskiy"},"change_message_id":"61139c691a765ea5dcd3a359edb9c6e00d66a3cc","unresolved":false,"context_lines":[{"line_number":223,"context_line":"WorkloadData"},{"line_number":224,"context_line":"~~~~~~~~~~~~"},{"line_number":225,"context_line":""},{"line_number":226,"context_line":"    id                      : UUID"},{"line_number":227,"context_line":"    workload_id             : INT"},{"line_number":228,"context_line":"    task_uuid               : UUID "},{"line_number":229,"context_line":""}],"source_content_type":"text/x-rst","patch_set":3,"id":"1a122d0e_61125d5a","line":226,"updated":"2016-04-21 15:49:08.000000000","message":"INT PK ?","commit_id":"03455f9b5f9c375bac76b1eec63bf670ae6fe80b"},{"author":{"_account_id":8491,"name":"Illia Khudoshyn","email":"ikhudoshyn@mirantis.com","username":"ikhudoshyn"},"change_message_id":"c77c4519524c40c369319264ec5b1ab1a6b1f70b","unresolved":false,"context_lines":[{"line_number":223,"context_line":"WorkloadData"},{"line_number":224,"context_line":"~~~~~~~~~~~~"},{"line_number":225,"context_line":""},{"line_number":226,"context_line":"    id                      : UUID"},{"line_number":227,"context_line":"    workload_id             : INT"},{"line_number":228,"context_line":"    task_uuid               : UUID "},{"line_number":229,"context_line":""}],"source_content_type":"text/x-rst","patch_set":3,"id":"1a122d0e_80a8eedc","line":226,"in_reply_to":"1a122d0e_61125d5a","updated":"2016-04-25 14:10:44.000000000","message":"Sure, thanks","commit_id":"03455f9b5f9c375bac76b1eec63bf670ae6fe80b"},{"author":{"_account_id":10475,"name":"Alexander Maretskiy","email":"amaretskiy@mirantis.com","username":"maretskiy"},"change_message_id":"6035df2ad9605265fb8228dfbdc226abfdd242b2","unresolved":false,"context_lines":[{"line_number":245,"context_line":"    #     \"duration\": FLOAT,"},{"line_number":246,"context_line":"    #     \"idle_duration\": FLOAT,"},{"line_number":247,"context_line":"    #     \"timestamp\": FLOAT,"},{"line_number":248,"context_line":"    #     \"error\": LIST,"},{"line_number":249,"context_line":"    #     \"output\": {"},{"line_number":250,"context_line":"    #       \"complete\": LIST,"},{"line_number":251,"context_line":"    #       \"additive\": LIST,"}],"source_content_type":"text/x-rst","patch_set":3,"id":"1a122d0e_ea474649","line":248,"updated":"2016-04-22 09:16:57.000000000","message":"\"errors\"","commit_id":"03455f9b5f9c375bac76b1eec63bf670ae6fe80b"},{"author":{"_account_id":8491,"name":"Illia Khudoshyn","email":"ikhudoshyn@mirantis.com","username":"ikhudoshyn"},"change_message_id":"c77c4519524c40c369319264ec5b1ab1a6b1f70b","unresolved":false,"context_lines":[{"line_number":245,"context_line":"    #     \"duration\": FLOAT,"},{"line_number":246,"context_line":"    #     \"idle_duration\": FLOAT,"},{"line_number":247,"context_line":"    #     \"timestamp\": FLOAT,"},{"line_number":248,"context_line":"    #     \"error\": LIST,"},{"line_number":249,"context_line":"    #     \"output\": {"},{"line_number":250,"context_line":"    #       \"complete\": LIST,"},{"line_number":251,"context_line":"    #       \"additive\": LIST,"}],"source_content_type":"text/x-rst","patch_set":3,"id":"1a122d0e_80290e3a","line":248,"in_reply_to":"1a122d0e_ea474649","updated":"2016-04-25 14:10:44.000000000","message":"Done","commit_id":"03455f9b5f9c375bac76b1eec63bf670ae6fe80b"},{"author":{"_account_id":10475,"name":"Alexander Maretskiy","email":"amaretskiy@mirantis.com","username":"maretskiy"},"change_message_id":"6035df2ad9605265fb8228dfbdc226abfdd242b2","unresolved":false,"context_lines":[{"line_number":250,"context_line":"    #       \"complete\": LIST,"},{"line_number":251,"context_line":"    #       \"additive\": LIST,"},{"line_number":252,"context_line":"    #     },"},{"line_number":253,"context_line":"    #     \"atomic_actions\": DICT"},{"line_number":254,"context_line":"    #   },"},{"line_number":255,"context_line":"    #   ..."},{"line_number":256,"context_line":"    # ]"}],"source_content_type":"text/x-rst","patch_set":3,"id":"1a122d0e_6a5b362f","line":253,"updated":"2016-04-22 09:16:57.000000000","message":"\"actions\": LIST\n\nhttps://github.com/openstack/rally/blob/master/doc/specs/in-progress/improve_atomic_actions_format.rst","commit_id":"03455f9b5f9c375bac76b1eec63bf670ae6fe80b"},{"author":{"_account_id":8491,"name":"Illia Khudoshyn","email":"ikhudoshyn@mirantis.com","username":"ikhudoshyn"},"change_message_id":"c77c4519524c40c369319264ec5b1ab1a6b1f70b","unresolved":false,"context_lines":[{"line_number":250,"context_line":"    #       \"complete\": LIST,"},{"line_number":251,"context_line":"    #       \"additive\": LIST,"},{"line_number":252,"context_line":"    #     },"},{"line_number":253,"context_line":"    #     \"atomic_actions\": DICT"},{"line_number":254,"context_line":"    #   },"},{"line_number":255,"context_line":"    #   ..."},{"line_number":256,"context_line":"    # ]"}],"source_content_type":"text/x-rst","patch_set":3,"id":"1a122d0e_e020c24b","line":253,"in_reply_to":"1a122d0e_6a5b362f","updated":"2016-04-25 14:10:44.000000000","message":"Done","commit_id":"03455f9b5f9c375bac76b1eec63bf670ae6fe80b"},{"author":{"_account_id":10475,"name":"Alexander Maretskiy","email":"amaretskiy@mirantis.com","username":"maretskiy"},"change_message_id":"61139c691a765ea5dcd3a359edb9c6e00d66a3cc","unresolved":false,"context_lines":[{"line_number":254,"context_line":"    #   },"},{"line_number":255,"context_line":"    #   ..."},{"line_number":256,"context_line":"    # ]"},{"line_number":257,"context_line":"    chunk_data             : TEXT  # LIST of JSONs"},{"line_number":258,"context_line":""},{"line_number":259,"context_line":""},{"line_number":260,"context_line":"Notes"}],"source_content_type":"text/x-rst","patch_set":3,"id":"1a122d0e_8654ef21","line":257,"updated":"2016-04-21 15:49:08.000000000","message":"This will be actually a zipped text, so this is probably a BLOB","commit_id":"03455f9b5f9c375bac76b1eec63bf670ae6fe80b"},{"author":{"_account_id":8491,"name":"Illia Khudoshyn","email":"ikhudoshyn@mirantis.com","username":"ikhudoshyn"},"change_message_id":"c77c4519524c40c369319264ec5b1ab1a6b1f70b","unresolved":false,"context_lines":[{"line_number":254,"context_line":"    #   },"},{"line_number":255,"context_line":"    #   ..."},{"line_number":256,"context_line":"    # ]"},{"line_number":257,"context_line":"    chunk_data             : TEXT  # LIST of JSONs"},{"line_number":258,"context_line":""},{"line_number":259,"context_line":""},{"line_number":260,"context_line":"Notes"}],"source_content_type":"text/x-rst","patch_set":3,"id":"1a122d0e_c0c9467b","line":257,"in_reply_to":"1a122d0e_8654ef21","updated":"2016-04-25 14:10:44.000000000","message":"Why zipped?","commit_id":"03455f9b5f9c375bac76b1eec63bf670ae6fe80b"},{"author":{"_account_id":10475,"name":"Alexander Maretskiy","email":"amaretskiy@mirantis.com","username":"maretskiy"},"change_message_id":"82baf16184969e3e76516c3ec809b572853f161b","unresolved":false,"context_lines":[{"line_number":254,"context_line":"    #   },"},{"line_number":255,"context_line":"    #   ..."},{"line_number":256,"context_line":"    # ]"},{"line_number":257,"context_line":"    chunk_data             : TEXT  # LIST of JSONs"},{"line_number":258,"context_line":""},{"line_number":259,"context_line":""},{"line_number":260,"context_line":"Notes"}],"source_content_type":"text/x-rst","patch_set":3,"id":"1a122d0e_8615a64a","line":257,"in_reply_to":"1a122d0e_c0c9467b","updated":"2016-04-25 15:19:41.000000000","message":"Compressed somehow (zip, gz, lzma...) :)  If I\u0027m not mistaken, that was discussed with boris-42. The idea is having JSON compressed because we save disk space used by DB","commit_id":"03455f9b5f9c375bac76b1eec63bf670ae6fe80b"},{"author":{"_account_id":10475,"name":"Alexander Maretskiy","email":"amaretskiy@mirantis.com","username":"maretskiy"},"change_message_id":"61139c691a765ea5dcd3a359edb9c6e00d66a3cc","unresolved":false,"context_lines":[{"line_number":274,"context_line":"Open questions"},{"line_number":275,"context_line":"~~~~~~~~~~~~~~"},{"line_number":276,"context_line":""},{"line_number":277,"context_line":"- Do subtasks and workloads need to store their position in input task config?"},{"line_number":278,"context_line":"- Should we separate \u0027sla_results\u0027 from \u0027sla\u0027 and \u0027context_execution\u0027 from \u0027context\u0027"},{"line_number":279,"context_line":"  in Workload?"},{"line_number":280,"context_line":""}],"source_content_type":"text/x-rst","patch_set":3,"id":"1a122d0e_462137b4","line":277,"updated":"2016-04-21 15:49:08.000000000","message":"IMO - yes","commit_id":"03455f9b5f9c375bac76b1eec63bf670ae6fe80b"},{"author":{"_account_id":10475,"name":"Alexander Maretskiy","email":"amaretskiy@mirantis.com","username":"maretskiy"},"change_message_id":"61139c691a765ea5dcd3a359edb9c6e00d66a3cc","unresolved":false,"context_lines":[{"line_number":275,"context_line":"~~~~~~~~~~~~~~"},{"line_number":276,"context_line":""},{"line_number":277,"context_line":"- Do subtasks and workloads need to store their position in input task config?"},{"line_number":278,"context_line":"- Should we separate \u0027sla_results\u0027 from \u0027sla\u0027 and \u0027context_execution\u0027 from \u0027context\u0027"},{"line_number":279,"context_line":"  in Workload?"},{"line_number":280,"context_line":""},{"line_number":281,"context_line":""}],"source_content_type":"text/x-rst","patch_set":3,"id":"1a122d0e_660b932c","line":278,"updated":"2016-04-21 15:49:08.000000000","message":"IMHO - yes, separated fields is better option","commit_id":"03455f9b5f9c375bac76b1eec63bf670ae6fe80b"},{"author":{"_account_id":10475,"name":"Alexander Maretskiy","email":"amaretskiy@mirantis.com","username":"maretskiy"},"change_message_id":"59161d0e49af20dd19400661992059e038bd6339","unresolved":false,"context_lines":[{"line_number":92,"context_line":"    verification_duration   : FLOAT"},{"line_number":93,"context_line":""},{"line_number":94,"context_line":"    # Duration of benchmarking part of task"},{"line_number":95,"context_line":"    task_duration           : FLOAT"},{"line_number":96,"context_line":""},{"line_number":97,"context_line":"    # All workloads in the task are passed"},{"line_number":98,"context_line":"    _den_success            : BOOL  # See Note 2) below"}],"source_content_type":"text/x-rst","patch_set":5,"id":"1a122d0e_dfde0a3d","line":95,"updated":"2016-04-27 13:48:01.000000000","message":"IMO prefix \"task_\" is redundant","commit_id":"579bc82f6eda1b2381636b1edb8b0f50c0f1c7c1"},{"author":{"_account_id":10475,"name":"Alexander Maretskiy","email":"amaretskiy@mirantis.com","username":"maretskiy"},"change_message_id":"59161d0e49af20dd19400661992059e038bd6339","unresolved":false,"context_lines":[{"line_number":137,"context_line":"    title                   : String"},{"line_number":138,"context_line":"    description             : TEXT"},{"line_number":139,"context_line":"    tags                    : TEXT"},{"line_number":140,"context_line":"    "},{"line_number":141,"context_line":"    # Context and SLA could be defined both Subtask-wide and per workload"},{"line_number":142,"context_line":"    context                 : JSON"},{"line_number":143,"context_line":"    sla                     : JSON"}],"source_content_type":"text/x-rst","patch_set":5,"id":"1a122d0e_bf5eaee6","line":140,"updated":"2016-04-27 13:48:01.000000000","message":"Trailing tab (here and below) - they are not needed","commit_id":"579bc82f6eda1b2381636b1edb8b0f50c0f1c7c1"},{"author":{"_account_id":8491,"name":"Illia Khudoshyn","email":"ikhudoshyn@mirantis.com","username":"ikhudoshyn"},"change_message_id":"d75d6d9c29341375de23110f0a1fc345b34b6125","unresolved":false,"context_lines":[{"line_number":137,"context_line":"    title                   : String"},{"line_number":138,"context_line":"    description             : TEXT"},{"line_number":139,"context_line":"    tags                    : TEXT"},{"line_number":140,"context_line":"    "},{"line_number":141,"context_line":"    # Context and SLA could be defined both Subtask-wide and per workload"},{"line_number":142,"context_line":"    context                 : JSON"},{"line_number":143,"context_line":"    sla                     : JSON"}],"source_content_type":"text/x-rst","patch_set":5,"id":"1a122d0e_3a3bccd2","line":140,"in_reply_to":"1a122d0e_bf5eaee6","updated":"2016-04-27 14:03:55.000000000","message":"Done","commit_id":"579bc82f6eda1b2381636b1edb8b0f50c0f1c7c1"},{"author":{"_account_id":10475,"name":"Alexander Maretskiy","email":"amaretskiy@mirantis.com","username":"maretskiy"},"change_message_id":"59161d0e49af20dd19400661992059e038bd6339","unresolved":false,"context_lines":[{"line_number":168,"context_line":"    runner                  : JSON"},{"line_number":169,"context_line":"    _den_runner_type        : String  # See Note 2) below"},{"line_number":170,"context_line":""},{"line_number":171,"context_line":"    # Context and SLA could be denined both Subtask-wide and per workload"},{"line_number":172,"context_line":"    context                 : JSON"},{"line_number":173,"context_line":"    sla                     : JSON"},{"line_number":174,"context_line":""}],"source_content_type":"text/x-rst","patch_set":5,"id":"1a122d0e_df59eafe","line":171,"updated":"2016-04-27 13:48:01.000000000","message":"s/denined/defined/","commit_id":"579bc82f6eda1b2381636b1edb8b0f50c0f1c7c1"},{"author":{"_account_id":8491,"name":"Illia Khudoshyn","email":"ikhudoshyn@mirantis.com","username":"ikhudoshyn"},"change_message_id":"d75d6d9c29341375de23110f0a1fc345b34b6125","unresolved":false,"context_lines":[{"line_number":168,"context_line":"    runner                  : JSON"},{"line_number":169,"context_line":"    _den_runner_type        : String  # See Note 2) below"},{"line_number":170,"context_line":""},{"line_number":171,"context_line":"    # Context and SLA could be denined both Subtask-wide and per workload"},{"line_number":172,"context_line":"    context                 : JSON"},{"line_number":173,"context_line":"    sla                     : JSON"},{"line_number":174,"context_line":""}],"source_content_type":"text/x-rst","patch_set":5,"id":"1a122d0e_3ab0ec42","line":171,"in_reply_to":"1a122d0e_df59eafe","updated":"2016-04-27 14:03:55.000000000","message":"Done","commit_id":"579bc82f6eda1b2381636b1edb8b0f50c0f1c7c1"},{"author":{"_account_id":10475,"name":"Alexander Maretskiy","email":"amaretskiy@mirantis.com","username":"maretskiy"},"change_message_id":"59161d0e49af20dd19400661992059e038bd6339","unresolved":false,"context_lines":[{"line_number":198,"context_line":"    #"},{"line_number":199,"context_line":"    #   }"},{"line_number":200,"context_line":"    #]"},{"line_number":201,"context_line":"    context_execution       : TEXT"},{"line_number":202,"context_line":""},{"line_number":203,"context_line":"    starttime               : TIMESTAMP"},{"line_number":204,"context_line":""}],"source_content_type":"text/x-rst","patch_set":5,"id":"1a122d0e_ff7e6619","line":201,"updated":"2016-04-27 13:48:01.000000000","message":"please give data example that can be stored here.\n\"Execution\" seems to be not appropriate word for actual data","commit_id":"579bc82f6eda1b2381636b1edb8b0f50c0f1c7c1"},{"author":{"_account_id":10475,"name":"Alexander Maretskiy","email":"amaretskiy@mirantis.com","username":"maretskiy"},"change_message_id":"309ca591e426e70440fd721687281177b83f9e40","unresolved":false,"context_lines":[{"line_number":198,"context_line":"    #"},{"line_number":199,"context_line":"    #   }"},{"line_number":200,"context_line":"    #]"},{"line_number":201,"context_line":"    context_execution       : TEXT"},{"line_number":202,"context_line":""},{"line_number":203,"context_line":"    starttime               : TIMESTAMP"},{"line_number":204,"context_line":""}],"source_content_type":"text/x-rst","patch_set":5,"id":"1a122d0e_59797581","line":201,"in_reply_to":"1a122d0e_fa783480","updated":"2016-04-27 14:58:27.000000000","message":"agree","commit_id":"579bc82f6eda1b2381636b1edb8b0f50c0f1c7c1"},{"author":{"_account_id":8491,"name":"Illia Khudoshyn","email":"ikhudoshyn@mirantis.com","username":"ikhudoshyn"},"change_message_id":"d75d6d9c29341375de23110f0a1fc345b34b6125","unresolved":false,"context_lines":[{"line_number":198,"context_line":"    #"},{"line_number":199,"context_line":"    #   }"},{"line_number":200,"context_line":"    #]"},{"line_number":201,"context_line":"    context_execution       : TEXT"},{"line_number":202,"context_line":""},{"line_number":203,"context_line":"    starttime               : TIMESTAMP"},{"line_number":204,"context_line":""}],"source_content_type":"text/x-rst","patch_set":5,"id":"1a122d0e_fa783480","line":201,"in_reply_to":"1a122d0e_ff7e6619","updated":"2016-04-27 14:03:55.000000000","message":"Let\u0027s discuss it on irc","commit_id":"579bc82f6eda1b2381636b1edb8b0f50c0f1c7c1"},{"author":{"_account_id":10475,"name":"Alexander Maretskiy","email":"amaretskiy@mirantis.com","username":"maretskiy"},"change_message_id":"59161d0e49af20dd19400661992059e038bd6339","unresolved":false,"context_lines":[{"line_number":226,"context_line":"    #      },"},{"line_number":227,"context_line":"    #      ..."},{"line_number":228,"context_line":"    # }"},{"line_number":229,"context_line":"    _den_statistics         : JSON  # Aggregated information about actions"},{"line_number":230,"context_line":""},{"line_number":231,"context_line":"    # As for SLA result"},{"line_number":232,"context_line":"    _den_success            : BOOL  # See Note 2) below"}],"source_content_type":"text/x-rst","patch_set":5,"id":"1a122d0e_bfc7ce10","line":229,"updated":"2016-04-27 13:48:01.000000000","message":"This is not simple denormalization, this is a result of processing.\n\nSo prefix _den_ is not required here.\n\n(Otherwise this prefix should be added to total_iter_count and many other fields)","commit_id":"579bc82f6eda1b2381636b1edb8b0f50c0f1c7c1"},{"author":{"_account_id":8491,"name":"Illia Khudoshyn","email":"ikhudoshyn@mirantis.com","username":"ikhudoshyn"},"change_message_id":"d75d6d9c29341375de23110f0a1fc345b34b6125","unresolved":false,"context_lines":[{"line_number":226,"context_line":"    #      },"},{"line_number":227,"context_line":"    #      ..."},{"line_number":228,"context_line":"    # }"},{"line_number":229,"context_line":"    _den_statistics         : JSON  # Aggregated information about actions"},{"line_number":230,"context_line":""},{"line_number":231,"context_line":"    # As for SLA result"},{"line_number":232,"context_line":"    _den_success            : BOOL  # See Note 2) below"}],"source_content_type":"text/x-rst","patch_set":5,"id":"1a122d0e_7a1a6470","line":229,"in_reply_to":"1a122d0e_bfc7ce10","updated":"2016-04-27 14:03:55.000000000","message":"You\u0027re right. We plan to use it, it is not just for querying, so it should not be _den_","commit_id":"579bc82f6eda1b2381636b1edb8b0f50c0f1c7c1"},{"author":{"_account_id":10475,"name":"Alexander Maretskiy","email":"amaretskiy@mirantis.com","username":"maretskiy"},"change_message_id":"59161d0e49af20dd19400661992059e038bd6339","unresolved":false,"context_lines":[{"line_number":270,"context_line":"    #   },"},{"line_number":271,"context_line":"    #   ..."},{"line_number":272,"context_line":"    # ]"},{"line_number":273,"context_line":"    chunk_data             : TEXT  # LIST of JSONs"},{"line_number":274,"context_line":""},{"line_number":275,"context_line":""},{"line_number":276,"context_line":"Notes"}],"source_content_type":"text/x-rst","patch_set":5,"id":"1a122d0e_ffe4a6a8","line":273,"updated":"2016-04-27 13:48:01.000000000","message":"This is probably BLOB, because this is expected to be compressed json (ZIP, GZ, LZMA...)","commit_id":"579bc82f6eda1b2381636b1edb8b0f50c0f1c7c1"},{"author":{"_account_id":8491,"name":"Illia Khudoshyn","email":"ikhudoshyn@mirantis.com","username":"ikhudoshyn"},"change_message_id":"d75d6d9c29341375de23110f0a1fc345b34b6125","unresolved":false,"context_lines":[{"line_number":270,"context_line":"    #   },"},{"line_number":271,"context_line":"    #   ..."},{"line_number":272,"context_line":"    # ]"},{"line_number":273,"context_line":"    chunk_data             : TEXT  # LIST of JSONs"},{"line_number":274,"context_line":""},{"line_number":275,"context_line":""},{"line_number":276,"context_line":"Notes"}],"source_content_type":"text/x-rst","patch_set":5,"id":"1a122d0e_da58d833","line":273,"in_reply_to":"1a122d0e_ffe4a6a8","updated":"2016-04-27 14:03:55.000000000","message":"Done","commit_id":"579bc82f6eda1b2381636b1edb8b0f50c0f1c7c1"},{"author":{"_account_id":6172,"name":"Boris Pavlovic","email":"boris@pavlovic.me","username":"boris-42"},"change_message_id":"e0fd6407effeaa245a8e7a6a91b69a3e254444be","unresolved":false,"context_lines":[{"line_number":9,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"},{"line_number":10,"context_line":""},{"line_number":11,"context_line":"There are a lot of use cases that can\u0027t be done because of DB schema that we"},{"line_number":12,"context_line":"have. This proposal should describe what and why we should change in DB."},{"line_number":13,"context_line":""},{"line_number":14,"context_line":"Problem description"},{"line_number":15,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"}],"source_content_type":"text/x-rst","patch_set":7,"id":"1a122d0e_18b88e74","line":12,"range":{"start_line":12,"start_character":20,"end_line":12,"end_character":26},"updated":"2016-04-27 22:31:42.000000000","message":"we should remove \"should\"","commit_id":"55127030863f003bc6f357456c38aa437c63e7c5"},{"author":{"_account_id":8491,"name":"Illia Khudoshyn","email":"ikhudoshyn@mirantis.com","username":"ikhudoshyn"},"change_message_id":"a8c51e82cb7f7f6e1c482607f671e8e04aaa7a4a","unresolved":false,"context_lines":[{"line_number":9,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"},{"line_number":10,"context_line":""},{"line_number":11,"context_line":"There are a lot of use cases that can\u0027t be done because of DB schema that we"},{"line_number":12,"context_line":"have. This proposal should describe what and why we should change in DB."},{"line_number":13,"context_line":""},{"line_number":14,"context_line":"Problem description"},{"line_number":15,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"}],"source_content_type":"text/x-rst","patch_set":7,"id":"dab17558_cac61999","line":12,"range":{"start_line":12,"start_character":20,"end_line":12,"end_character":26},"in_reply_to":"1a122d0e_18b88e74","updated":"2016-05-17 10:33:51.000000000","message":"Done","commit_id":"55127030863f003bc6f357456c38aa437c63e7c5"},{"author":{"_account_id":6172,"name":"Boris Pavlovic","email":"boris@pavlovic.me","username":"boris-42"},"change_message_id":"e0fd6407effeaa245a8e7a6a91b69a3e254444be","unresolved":false,"context_lines":[{"line_number":24,"context_line":""},{"line_number":25,"context_line":"2. multi_scenario_load_generation"},{"line_number":26,"context_line":""},{"line_number":27,"context_line":"    Running multiple scenarios in single task requires"},{"line_number":28,"context_line":""},{"line_number":29,"context_line":""},{"line_number":30,"context_line":"3. task_debugging_and_profiling"}],"source_content_type":"text/x-rst","patch_set":7,"id":"1a122d0e_d868d6f7","line":27,"updated":"2016-04-27 22:31:42.000000000","message":"Running multple scenarios as a part of single subtask requires changes in the way how we are storing subtask results.","commit_id":"55127030863f003bc6f357456c38aa437c63e7c5"},{"author":{"_account_id":8491,"name":"Illia Khudoshyn","email":"ikhudoshyn@mirantis.com","username":"ikhudoshyn"},"change_message_id":"a8c51e82cb7f7f6e1c482607f671e8e04aaa7a4a","unresolved":false,"context_lines":[{"line_number":24,"context_line":""},{"line_number":25,"context_line":"2. multi_scenario_load_generation"},{"line_number":26,"context_line":""},{"line_number":27,"context_line":"    Running multiple scenarios in single task requires"},{"line_number":28,"context_line":""},{"line_number":29,"context_line":""},{"line_number":30,"context_line":"3. task_debugging_and_profiling"}],"source_content_type":"text/x-rst","patch_set":7,"id":"dab17558_8aa9b192","line":27,"in_reply_to":"1a122d0e_d868d6f7","updated":"2016-05-17 10:33:51.000000000","message":"Done","commit_id":"55127030863f003bc6f357456c38aa437c63e7c5"},{"author":{"_account_id":6172,"name":"Boris Pavlovic","email":"boris@pavlovic.me","username":"boris-42"},"change_message_id":"e0fd6407effeaa245a8e7a6a91b69a3e254444be","unresolved":false,"context_lines":[{"line_number":29,"context_line":""},{"line_number":30,"context_line":"3. task_debugging_and_profiling"},{"line_number":31,"context_line":""},{"line_number":32,"context_line":"    Store results of validation in DB"},{"line_number":33,"context_line":"    Store durations of all steps (validation/benchmarking)"},{"line_number":34,"context_line":"    Cleanup task status graph"},{"line_number":35,"context_line":""}],"source_content_type":"text/x-rst","patch_set":7,"id":"1a122d0e_9852de33","line":32,"updated":"2016-04-27 22:31:42.000000000","message":"Store complete results of validation in DB (e.g. what validators were run, what validators passed, what didn\u0027t passed and why)","commit_id":"55127030863f003bc6f357456c38aa437c63e7c5"},{"author":{"_account_id":8491,"name":"Illia Khudoshyn","email":"ikhudoshyn@mirantis.com","username":"ikhudoshyn"},"change_message_id":"a8c51e82cb7f7f6e1c482607f671e8e04aaa7a4a","unresolved":false,"context_lines":[{"line_number":29,"context_line":""},{"line_number":30,"context_line":"3. task_debugging_and_profiling"},{"line_number":31,"context_line":""},{"line_number":32,"context_line":"    Store results of validation in DB"},{"line_number":33,"context_line":"    Store durations of all steps (validation/benchmarking)"},{"line_number":34,"context_line":"    Cleanup task status graph"},{"line_number":35,"context_line":""}],"source_content_type":"text/x-rst","patch_set":7,"id":"dab17558_ca7e1918","line":32,"in_reply_to":"1a122d0e_9852de33","updated":"2016-05-17 10:33:51.000000000","message":"Done","commit_id":"55127030863f003bc6f357456c38aa437c63e7c5"},{"author":{"_account_id":6172,"name":"Boris Pavlovic","email":"boris@pavlovic.me","username":"boris-42"},"change_message_id":"e0fd6407effeaa245a8e7a6a91b69a3e254444be","unresolved":false,"context_lines":[{"line_number":30,"context_line":"3. task_debugging_and_profiling"},{"line_number":31,"context_line":""},{"line_number":32,"context_line":"    Store results of validation in DB"},{"line_number":33,"context_line":"    Store durations of all steps (validation/benchmarking)"},{"line_number":34,"context_line":"    Cleanup task status graph"},{"line_number":35,"context_line":""},{"line_number":36,"context_line":"Current schema doesn\u0027t work for those cases."}],"source_content_type":"text/x-rst","patch_set":7,"id":"1a122d0e_7b141c43","line":33,"updated":"2016-04-27 22:31:42.000000000","message":"1) We should not use \"benchmark\" word as a alias for \"subtask/task\", because Rally is not only about benchmarking. \n\n2) we already store info about load duration. However we don\u0027t store stats that are used in CLI and that required to generate graphs.","commit_id":"55127030863f003bc6f357456c38aa437c63e7c5"},{"author":{"_account_id":8491,"name":"Illia Khudoshyn","email":"ikhudoshyn@mirantis.com","username":"ikhudoshyn"},"change_message_id":"a8c51e82cb7f7f6e1c482607f671e8e04aaa7a4a","unresolved":false,"context_lines":[{"line_number":30,"context_line":"3. task_debugging_and_profiling"},{"line_number":31,"context_line":""},{"line_number":32,"context_line":"    Store results of validation in DB"},{"line_number":33,"context_line":"    Store durations of all steps (validation/benchmarking)"},{"line_number":34,"context_line":"    Cleanup task status graph"},{"line_number":35,"context_line":""},{"line_number":36,"context_line":"Current schema doesn\u0027t work for those cases."}],"source_content_type":"text/x-rst","patch_set":7,"id":"dab17558_eaf5dd50","line":33,"in_reply_to":"1a122d0e_7b141c43","updated":"2016-05-17 10:33:51.000000000","message":"Done","commit_id":"55127030863f003bc6f357456c38aa437c63e7c5"},{"author":{"_account_id":6172,"name":"Boris Pavlovic","email":"boris@pavlovic.me","username":"boris-42"},"change_message_id":"e0fd6407effeaa245a8e7a6a91b69a3e254444be","unresolved":false,"context_lines":[{"line_number":31,"context_line":""},{"line_number":32,"context_line":"    Store results of validation in DB"},{"line_number":33,"context_line":"    Store durations of all steps (validation/benchmarking)"},{"line_number":34,"context_line":"    Cleanup task status graph"},{"line_number":35,"context_line":""},{"line_number":36,"context_line":"Current schema doesn\u0027t work for those cases."},{"line_number":37,"context_line":""}],"source_content_type":"text/x-rst","patch_set":7,"id":"1a122d0e_9b45b844","line":34,"updated":"2016-04-27 22:31:42.000000000","message":"Requires some details. E.g. what exactly we are going to cleanup.","commit_id":"55127030863f003bc6f357456c38aa437c63e7c5"},{"author":{"_account_id":8491,"name":"Illia Khudoshyn","email":"ikhudoshyn@mirantis.com","username":"ikhudoshyn"},"change_message_id":"a8c51e82cb7f7f6e1c482607f671e8e04aaa7a4a","unresolved":false,"context_lines":[{"line_number":31,"context_line":""},{"line_number":32,"context_line":"    Store results of validation in DB"},{"line_number":33,"context_line":"    Store durations of all steps (validation/benchmarking)"},{"line_number":34,"context_line":"    Cleanup task status graph"},{"line_number":35,"context_line":""},{"line_number":36,"context_line":"Current schema doesn\u0027t work for those cases."},{"line_number":37,"context_line":""}],"source_content_type":"text/x-rst","patch_set":7,"id":"dab17558_aa511564","line":34,"in_reply_to":"1a122d0e_9b45b844","updated":"2016-05-17 10:33:51.000000000","message":"Done","commit_id":"55127030863f003bc6f357456c38aa437c63e7c5"},{"author":{"_account_id":6172,"name":"Boris Pavlovic","email":"boris@pavlovic.me","username":"boris-42"},"change_message_id":"e0fd6407effeaa245a8e7a6a91b69a3e254444be","unresolved":false,"context_lines":[{"line_number":41,"context_line":"Changes in DB"},{"line_number":42,"context_line":"-------------"},{"line_number":43,"context_line":""},{"line_number":44,"context_line":"New DB schema"},{"line_number":45,"context_line":"~~~~~~~~~~~~~"},{"line_number":46,"context_line":""},{"line_number":47,"context_line":""}],"source_content_type":"text/x-rst","patch_set":7,"id":"1a122d0e_fb9b0cc7","line":44,"updated":"2016-04-27 22:31:42.000000000","message":"I believe that we need to store information about old schema as well.","commit_id":"55127030863f003bc6f357456c38aa437c63e7c5"},{"author":{"_account_id":8491,"name":"Illia Khudoshyn","email":"ikhudoshyn@mirantis.com","username":"ikhudoshyn"},"change_message_id":"c4c1a9f965d9633d4b2bf06b2049c28d41855541","unresolved":false,"context_lines":[{"line_number":41,"context_line":"Changes in DB"},{"line_number":42,"context_line":"-------------"},{"line_number":43,"context_line":""},{"line_number":44,"context_line":"New DB schema"},{"line_number":45,"context_line":"~~~~~~~~~~~~~"},{"line_number":46,"context_line":""},{"line_number":47,"context_line":""}],"source_content_type":"text/x-rst","patch_set":7,"id":"dab17558_5a914e46","line":44,"in_reply_to":"1a122d0e_fb9b0cc7","updated":"2016-05-17 13:22:33.000000000","message":"Done","commit_id":"55127030863f003bc6f357456c38aa437c63e7c5"},{"author":{"_account_id":6172,"name":"Boris Pavlovic","email":"boris@pavlovic.me","username":"boris-42"},"change_message_id":"e0fd6407effeaa245a8e7a6a91b69a3e254444be","unresolved":false,"context_lines":[{"line_number":58,"context_line":"    +----------------------------------------------------+- task_uuid    |"},{"line_number":59,"context_line":"                                                         +---------------+"},{"line_number":60,"context_line":""},{"line_number":61,"context_line":""},{"line_number":62,"context_line":"Task table"},{"line_number":63,"context_line":"~~~~~~~~~~"},{"line_number":64,"context_line":""}],"source_content_type":"text/x-rst","patch_set":7,"id":"1a122d0e_fbbaecdf","line":61,"updated":"2016-04-27 22:31:42.000000000","message":"We should have list of points, each point explains the table and reason of having it. E.g. \n\n\n  *) Task - stores information about task, when it was started/updated/finished, it\u0027s status, description, and so on. As well it used to aggregated all subtask related to this task  \n\n\n  *) SubTask - stores information about subtask, when it was started/updated/finished, it\u0027s status, description, configuration, aggregated information about workloads. Without subtasks we won\u0027t be able to track information about task execution, and run many subtasks in single task. \n\n\n *) Workload - aggregated information about some specific workload (required for reports) as well as information how these workloads are executed in parallel/serial and status of each workload.  Without workloads table we won\u0027t be able to support multiple workloads per single subtask. \n\n \n  *) WorkloadData - contains chunks of raw data for future data analyze and reporting. This is complete information that we don\u0027t need always, as well for getting overview of what happend. As we have multiple chunks per Workload, we won\u0027t be able to store them without creating this table.","commit_id":"55127030863f003bc6f357456c38aa437c63e7c5"},{"author":{"_account_id":8491,"name":"Illia Khudoshyn","email":"ikhudoshyn@mirantis.com","username":"ikhudoshyn"},"change_message_id":"a8c51e82cb7f7f6e1c482607f671e8e04aaa7a4a","unresolved":false,"context_lines":[{"line_number":58,"context_line":"    +----------------------------------------------------+- task_uuid    |"},{"line_number":59,"context_line":"                                                         +---------------+"},{"line_number":60,"context_line":""},{"line_number":61,"context_line":""},{"line_number":62,"context_line":"Task table"},{"line_number":63,"context_line":"~~~~~~~~~~"},{"line_number":64,"context_line":""}],"source_content_type":"text/x-rst","patch_set":7,"id":"dab17558_ca2739c8","line":61,"in_reply_to":"1a122d0e_fbbaecdf","updated":"2016-05-17 10:33:51.000000000","message":"Done","commit_id":"55127030863f003bc6f357456c38aa437c63e7c5"},{"author":{"_account_id":6172,"name":"Boris Pavlovic","email":"boris@pavlovic.me","username":"boris-42"},"change_message_id":"e0fd6407effeaa245a8e7a6a91b69a3e254444be","unresolved":false,"context_lines":[{"line_number":69,"context_line":"    deployment_uuid         : UUID"},{"line_number":70,"context_line":""},{"line_number":71,"context_line":"    # Full input task configuration"},{"line_number":72,"context_line":"    config                  : TEXT"},{"line_number":73,"context_line":""},{"line_number":74,"context_line":"    title                   : String"},{"line_number":75,"context_line":"    description             : TEXT"}],"source_content_type":"text/x-rst","patch_set":7,"id":"1a122d0e_9bf6585b","line":72,"updated":"2016-04-27 22:31:42.000000000","message":"input_task","commit_id":"55127030863f003bc6f357456c38aa437c63e7c5"},{"author":{"_account_id":8491,"name":"Illia Khudoshyn","email":"ikhudoshyn@mirantis.com","username":"ikhudoshyn"},"change_message_id":"a8c51e82cb7f7f6e1c482607f671e8e04aaa7a4a","unresolved":false,"context_lines":[{"line_number":69,"context_line":"    deployment_uuid         : UUID"},{"line_number":70,"context_line":""},{"line_number":71,"context_line":"    # Full input task configuration"},{"line_number":72,"context_line":"    config                  : TEXT"},{"line_number":73,"context_line":""},{"line_number":74,"context_line":"    title                   : String"},{"line_number":75,"context_line":"    description             : TEXT"}],"source_content_type":"text/x-rst","patch_set":7,"id":"dab17558_aa22b5b6","line":72,"in_reply_to":"1a122d0e_9bf6585b","updated":"2016-05-17 10:33:51.000000000","message":"Done","commit_id":"55127030863f003bc6f357456c38aa437c63e7c5"},{"author":{"_account_id":6172,"name":"Boris Pavlovic","email":"boris@pavlovic.me","username":"boris-42"},"change_message_id":"e0fd6407effeaa245a8e7a6a91b69a3e254444be","unresolved":false,"context_lines":[{"line_number":73,"context_line":""},{"line_number":74,"context_line":"    title                   : String"},{"line_number":75,"context_line":"    description             : TEXT"},{"line_number":76,"context_line":"    tags                    : TEXT"},{"line_number":77,"context_line":""},{"line_number":78,"context_line":"    # Structure of verification results:"},{"line_number":79,"context_line":"    # ["}],"source_content_type":"text/x-rst","patch_set":7,"id":"1a122d0e_9b43f8ae","line":76,"updated":"2016-04-27 22:31:42.000000000","message":"tags should not be in this table, as we discussed previously, we are going to have separated tables. \n\nE.g. \n\n    (id, uuid, type, tag) where id is just used for sqlalchemy, uuid is uuid of task or subtask, type is (task or subtask) and tag is name of tag. \n\n(uuid, type, tag) should be unique and indexed","commit_id":"55127030863f003bc6f357456c38aa437c63e7c5"},{"author":{"_account_id":8491,"name":"Illia Khudoshyn","email":"ikhudoshyn@mirantis.com","username":"ikhudoshyn"},"change_message_id":"a8c51e82cb7f7f6e1c482607f671e8e04aaa7a4a","unresolved":false,"context_lines":[{"line_number":73,"context_line":""},{"line_number":74,"context_line":"    title                   : String"},{"line_number":75,"context_line":"    description             : TEXT"},{"line_number":76,"context_line":"    tags                    : TEXT"},{"line_number":77,"context_line":""},{"line_number":78,"context_line":"    # Structure of verification results:"},{"line_number":79,"context_line":"    # ["}],"source_content_type":"text/x-rst","patch_set":7,"id":"dab17558_f0d4b0e9","line":76,"in_reply_to":"1a122d0e_9b43f8ae","updated":"2016-05-17 10:33:51.000000000","message":"Need to discuss it, not sure I get it right.","commit_id":"55127030863f003bc6f357456c38aa437c63e7c5"},{"author":{"_account_id":6172,"name":"Boris Pavlovic","email":"boris@pavlovic.me","username":"boris-42"},"change_message_id":"e0fd6407effeaa245a8e7a6a91b69a3e254444be","unresolved":false,"context_lines":[{"line_number":78,"context_line":"    # Structure of verification results:"},{"line_number":79,"context_line":"    # ["},{"line_number":80,"context_line":"    #    {"},{"line_number":81,"context_line":"    #        \"name\": \u003cname\u003e,      # full validator function name"},{"line_number":82,"context_line":"    #        \"input\": \u003cinput\u003e,    # smallest part of"},{"line_number":83,"context_line":"    #        \"message\": \u003cmsg\u003e,    # message with description"},{"line_number":84,"context_line":"    #        \"success\": \u003cbool\u003e,   # did validatior pass"}],"source_content_type":"text/x-rst","patch_set":7,"id":"1a122d0e_db1730a1","line":81,"updated":"2016-04-27 22:31:42.000000000","message":"validator plugin name (in future)","commit_id":"55127030863f003bc6f357456c38aa437c63e7c5"},{"author":{"_account_id":8491,"name":"Illia Khudoshyn","email":"ikhudoshyn@mirantis.com","username":"ikhudoshyn"},"change_message_id":"a8c51e82cb7f7f6e1c482607f671e8e04aaa7a4a","unresolved":false,"context_lines":[{"line_number":78,"context_line":"    # Structure of verification results:"},{"line_number":79,"context_line":"    # ["},{"line_number":80,"context_line":"    #    {"},{"line_number":81,"context_line":"    #        \"name\": \u003cname\u003e,      # full validator function name"},{"line_number":82,"context_line":"    #        \"input\": \u003cinput\u003e,    # smallest part of"},{"line_number":83,"context_line":"    #        \"message\": \u003cmsg\u003e,    # message with description"},{"line_number":84,"context_line":"    #        \"success\": \u003cbool\u003e,   # did validatior pass"}],"source_content_type":"text/x-rst","patch_set":7,"id":"dab17558_cd159340","line":81,"in_reply_to":"1a122d0e_db1730a1","updated":"2016-05-17 10:33:51.000000000","message":"Done","commit_id":"55127030863f003bc6f357456c38aa437c63e7c5"},{"author":{"_account_id":6172,"name":"Boris Pavlovic","email":"boris@pavlovic.me","username":"boris-42"},"change_message_id":"e0fd6407effeaa245a8e7a6a91b69a3e254444be","unresolved":false,"context_lines":[{"line_number":86,"context_line":"    #    },"},{"line_number":87,"context_line":"    #   ....."},{"line_number":88,"context_line":"    # ]"},{"line_number":89,"context_line":"    verification_result     : TEXT"},{"line_number":90,"context_line":""},{"line_number":91,"context_line":"    # Duration of verification can be used to tune verification process."},{"line_number":92,"context_line":"    verification_duration   : FLOAT"}],"source_content_type":"text/x-rst","patch_set":7,"id":"1a122d0e_5bf6808f","line":89,"updated":"2016-04-27 22:31:42.000000000","message":"Let\u0027s use \"validation\" instead of verification so we won\u0027t mess up with rally-verify.","commit_id":"55127030863f003bc6f357456c38aa437c63e7c5"},{"author":{"_account_id":8491,"name":"Illia Khudoshyn","email":"ikhudoshyn@mirantis.com","username":"ikhudoshyn"},"change_message_id":"a8c51e82cb7f7f6e1c482607f671e8e04aaa7a4a","unresolved":false,"context_lines":[{"line_number":86,"context_line":"    #    },"},{"line_number":87,"context_line":"    #   ....."},{"line_number":88,"context_line":"    # ]"},{"line_number":89,"context_line":"    verification_result     : TEXT"},{"line_number":90,"context_line":""},{"line_number":91,"context_line":"    # Duration of verification can be used to tune verification process."},{"line_number":92,"context_line":"    verification_duration   : FLOAT"}],"source_content_type":"text/x-rst","patch_set":7,"id":"dab17558_4d76c3a4","line":89,"in_reply_to":"1a122d0e_5bf6808f","updated":"2016-05-17 10:33:51.000000000","message":"Done","commit_id":"55127030863f003bc6f357456c38aa437c63e7c5"},{"author":{"_account_id":6172,"name":"Boris Pavlovic","email":"boris@pavlovic.me","username":"boris-42"},"change_message_id":"e0fd6407effeaa245a8e7a6a91b69a3e254444be","unresolved":false,"context_lines":[{"line_number":95,"context_line":"    task_duration           : FLOAT"},{"line_number":96,"context_line":""},{"line_number":97,"context_line":"    # All workloads in the task are passed"},{"line_number":98,"context_line":"    _den_success            : BOOL  # See Note 2) below"},{"line_number":99,"context_line":""},{"line_number":100,"context_line":"    # Current status of task"},{"line_number":101,"context_line":"    status                  : ENUM(started,"}],"source_content_type":"text/x-rst","patch_set":7,"id":"1a122d0e_bba7d44e","line":98,"updated":"2016-04-27 22:31:42.000000000","message":"What about if we call it \n\nwhat about pass_sla: Bool","commit_id":"55127030863f003bc6f357456c38aa437c63e7c5"},{"author":{"_account_id":8491,"name":"Illia Khudoshyn","email":"ikhudoshyn@mirantis.com","username":"ikhudoshyn"},"change_message_id":"a8c51e82cb7f7f6e1c482607f671e8e04aaa7a4a","unresolved":false,"context_lines":[{"line_number":95,"context_line":"    task_duration           : FLOAT"},{"line_number":96,"context_line":""},{"line_number":97,"context_line":"    # All workloads in the task are passed"},{"line_number":98,"context_line":"    _den_success            : BOOL  # See Note 2) below"},{"line_number":99,"context_line":""},{"line_number":100,"context_line":"    # Current status of task"},{"line_number":101,"context_line":"    status                  : ENUM(started,"}],"source_content_type":"text/x-rst","patch_set":7,"id":"dab17558_4d9d23bb","line":98,"in_reply_to":"1a122d0e_bba7d44e","updated":"2016-05-17 10:33:51.000000000","message":"Done","commit_id":"55127030863f003bc6f357456c38aa437c63e7c5"},{"author":{"_account_id":6172,"name":"Boris Pavlovic","email":"boris@pavlovic.me","username":"boris-42"},"change_message_id":"e0fd6407effeaa245a8e7a6a91b69a3e254444be","unresolved":false,"context_lines":[{"line_number":98,"context_line":"    _den_success            : BOOL  # See Note 2) below"},{"line_number":99,"context_line":""},{"line_number":100,"context_line":"    # Current status of task"},{"line_number":101,"context_line":"    status                  : ENUM(started,"},{"line_number":102,"context_line":"                                   verifying, benchmarking,"},{"line_number":103,"context_line":"                                   aborting, soft_aborting,"},{"line_number":104,"context_line":"                                   aborted, finished, verification_failed)"}],"source_content_type":"text/x-rst","patch_set":7,"id":"1a122d0e_7b553c4e","line":101,"updated":"2016-04-27 22:31:42.000000000","message":"Who put the word \"benchmarking\"? Please do not use word \"benchmarking\" Rally is not only about benchmarking. \n\nstatuses are going to be changed according to my new patch: \n\n  validating, validated, validation_failed, running, aborting, soft_aborting, aborted, finished, crashed.","commit_id":"55127030863f003bc6f357456c38aa437c63e7c5"},{"author":{"_account_id":8491,"name":"Illia Khudoshyn","email":"ikhudoshyn@mirantis.com","username":"ikhudoshyn"},"change_message_id":"a8c51e82cb7f7f6e1c482607f671e8e04aaa7a4a","unresolved":false,"context_lines":[{"line_number":98,"context_line":"    _den_success            : BOOL  # See Note 2) below"},{"line_number":99,"context_line":""},{"line_number":100,"context_line":"    # Current status of task"},{"line_number":101,"context_line":"    status                  : ENUM(started,"},{"line_number":102,"context_line":"                                   verifying, benchmarking,"},{"line_number":103,"context_line":"                                   aborting, soft_aborting,"},{"line_number":104,"context_line":"                                   aborted, finished, verification_failed)"}],"source_content_type":"text/x-rst","patch_set":7,"id":"dab17558_2d87ff61","line":101,"in_reply_to":"1a122d0e_7b553c4e","updated":"2016-05-17 10:33:51.000000000","message":"Done","commit_id":"55127030863f003bc6f357456c38aa437c63e7c5"},{"author":{"_account_id":6172,"name":"Boris Pavlovic","email":"boris@pavlovic.me","username":"boris-42"},"change_message_id":"e0fd6407effeaa245a8e7a6a91b69a3e254444be","unresolved":false,"context_lines":[{"line_number":107,"context_line":"Task.status diagram of states"},{"line_number":108,"context_line":"~~~~~~~~~~~~~~~~~~~~~~~~~~~~~"},{"line_number":109,"context_line":""},{"line_number":110,"context_line":"      STARTED"},{"line_number":111,"context_line":"         |"},{"line_number":112,"context_line":"        \\|/"},{"line_number":113,"context_line":"         \\"}],"source_content_type":"text/x-rst","patch_set":7,"id":"1a122d0e_5b520068","line":110,"updated":"2016-04-27 22:31:42.000000000","message":"This was changed as well:\n\n\n   INIT -\u003e VALIDATING |-\u003e VALIDATION_FAILED\n                       |-\u003e ABORTING -\u003e ABORTED\n                       |-\u003e SOFT_ABORTING -\u003e ABORTED\n                       |-\u003e CRASHED\n                       |-\u003e VALIDATED |-\u003e RUNNING |-\u003e FINISHED\n                                                 |-\u003e ABORTING -\u003e ABORTED\n                                                 |-\u003e SOFT_ABORTING -\u003e ABORTED\n                                                 |-\u003e CRASHED","commit_id":"55127030863f003bc6f357456c38aa437c63e7c5"},{"author":{"_account_id":8491,"name":"Illia Khudoshyn","email":"ikhudoshyn@mirantis.com","username":"ikhudoshyn"},"change_message_id":"a8c51e82cb7f7f6e1c482607f671e8e04aaa7a4a","unresolved":false,"context_lines":[{"line_number":107,"context_line":"Task.status diagram of states"},{"line_number":108,"context_line":"~~~~~~~~~~~~~~~~~~~~~~~~~~~~~"},{"line_number":109,"context_line":""},{"line_number":110,"context_line":"      STARTED"},{"line_number":111,"context_line":"         |"},{"line_number":112,"context_line":"        \\|/"},{"line_number":113,"context_line":"         \\"}],"source_content_type":"text/x-rst","patch_set":7,"id":"dab17558_2d637fb2","line":110,"in_reply_to":"1a122d0e_5b520068","updated":"2016-05-17 10:33:51.000000000","message":"Done","commit_id":"55127030863f003bc6f357456c38aa437c63e7c5"},{"author":{"_account_id":6172,"name":"Boris Pavlovic","email":"boris@pavlovic.me","username":"boris-42"},"change_message_id":"e0fd6407effeaa245a8e7a6a91b69a3e254444be","unresolved":false,"context_lines":[{"line_number":146,"context_line":"    duration                : FLOAT"},{"line_number":147,"context_line":""},{"line_number":148,"context_line":"    # All workloads in the subtask are passed"},{"line_number":149,"context_line":"    _den_success           : BOOL  # See Note 2) below"},{"line_number":150,"context_line":""},{"line_number":151,"context_line":""},{"line_number":152,"context_line":"Workload table"}],"source_content_type":"text/x-rst","patch_set":7,"id":"1a122d0e_d6042716","line":149,"updated":"2016-04-27 22:31:42.000000000","message":"Why we can\u0027t keep just status? \n\nI would prefer here to see next status: \n\n   pass_sla: Bool\n   status: / \"running\", \"finished\", \"crashed\"","commit_id":"55127030863f003bc6f357456c38aa437c63e7c5"},{"author":{"_account_id":8491,"name":"Illia Khudoshyn","email":"ikhudoshyn@mirantis.com","username":"ikhudoshyn"},"change_message_id":"a8c51e82cb7f7f6e1c482607f671e8e04aaa7a4a","unresolved":false,"context_lines":[{"line_number":146,"context_line":"    duration                : FLOAT"},{"line_number":147,"context_line":""},{"line_number":148,"context_line":"    # All workloads in the subtask are passed"},{"line_number":149,"context_line":"    _den_success           : BOOL  # See Note 2) below"},{"line_number":150,"context_line":""},{"line_number":151,"context_line":""},{"line_number":152,"context_line":"Workload table"}],"source_content_type":"text/x-rst","patch_set":7,"id":"dab17558_4db883c8","line":149,"in_reply_to":"1a122d0e_d6042716","updated":"2016-05-17 10:33:51.000000000","message":"Done","commit_id":"55127030863f003bc6f357456c38aa437c63e7c5"},{"author":{"_account_id":6172,"name":"Boris Pavlovic","email":"boris@pavlovic.me","username":"boris-42"},"change_message_id":"e0fd6407effeaa245a8e7a6a91b69a3e254444be","unresolved":false,"context_lines":[{"line_number":247,"context_line":"    chunk_order:        : INT"},{"line_number":248,"context_line":""},{"line_number":249,"context_line":"    # Amount of iterations, can be useful for some of algorithms"},{"line_number":250,"context_line":"    _den_iter_count: INT"},{"line_number":251,"context_line":""},{"line_number":252,"context_line":"    # Full size of results in bytes"},{"line_number":253,"context_line":"    chunk_size: INT"}],"source_content_type":"text/x-rst","patch_set":7,"id":"1a122d0e_76def36d","line":250,"updated":"2016-04-27 22:31:42.000000000","message":"so \"_den\" is really unclear name, _denomarlized_iter_count for example is way better.\n\nAnd I don\u0027t like that name as well, why not just: \n\n   iteration_count: INT\n   iteration_failed: INT\n\n\nAs well, it would be very useful to store information about whn chunk started_at and when it ended_at \n\n   started_at: datetime\n   ended_at: datetiem\n\nI would prefer to store this data","commit_id":"55127030863f003bc6f357456c38aa437c63e7c5"},{"author":{"_account_id":8491,"name":"Illia Khudoshyn","email":"ikhudoshyn@mirantis.com","username":"ikhudoshyn"},"change_message_id":"a8c51e82cb7f7f6e1c482607f671e8e04aaa7a4a","unresolved":false,"context_lines":[{"line_number":247,"context_line":"    chunk_order:        : INT"},{"line_number":248,"context_line":""},{"line_number":249,"context_line":"    # Amount of iterations, can be useful for some of algorithms"},{"line_number":250,"context_line":"    _den_iter_count: INT"},{"line_number":251,"context_line":""},{"line_number":252,"context_line":"    # Full size of results in bytes"},{"line_number":253,"context_line":"    chunk_size: INT"}],"source_content_type":"text/x-rst","patch_set":7,"id":"dab17558_ed4217aa","line":250,"in_reply_to":"1a122d0e_76def36d","updated":"2016-05-17 10:33:51.000000000","message":"Done","commit_id":"55127030863f003bc6f357456c38aa437c63e7c5"},{"author":{"_account_id":6172,"name":"Boris Pavlovic","email":"boris@pavlovic.me","username":"boris-42"},"change_message_id":"e0fd6407effeaa245a8e7a6a91b69a3e254444be","unresolved":false,"context_lines":[{"line_number":276,"context_line":"Notes"},{"line_number":277,"context_line":"-----"},{"line_number":278,"context_line":""},{"line_number":279,"context_line":"1. Since from user perspective Rally operates with tasks, only tasks get"},{"line_number":280,"context_line":"   assigned UUID, others (subtasks, workloads) use invisible to user IDs"},{"line_number":281,"context_line":"   as primary and foreign keys."},{"line_number":282,"context_line":""}],"source_content_type":"text/x-rst","patch_set":7,"id":"1a122d0e_56701772","line":279,"updated":"2016-04-27 22:31:42.000000000","message":"This is wrong assumption and wrong arhitecture of DB. \n\n\n  1) Users are going to work with Task, SubTasks, Workloads and WorkloadsData and we are going to have API for all these stuff, otherwise it\u0027s useless to store full results (if you don\u0027t use it)\n\n  2) UUIDs are used not because of end users (that actually don\u0027t like uuids, because ID\u0027s are way nicer and shorter), UUIDs are used to not depend on ID which is blocking you to export results to another DB (where you can\u0027t control assignment of IDs). In case of usage of UUIDs you will just need to add new rows to destination table.","commit_id":"55127030863f003bc6f357456c38aa437c63e7c5"},{"author":{"_account_id":8491,"name":"Illia Khudoshyn","email":"ikhudoshyn@mirantis.com","username":"ikhudoshyn"},"change_message_id":"a8c51e82cb7f7f6e1c482607f671e8e04aaa7a4a","unresolved":false,"context_lines":[{"line_number":276,"context_line":"Notes"},{"line_number":277,"context_line":"-----"},{"line_number":278,"context_line":""},{"line_number":279,"context_line":"1. Since from user perspective Rally operates with tasks, only tasks get"},{"line_number":280,"context_line":"   assigned UUID, others (subtasks, workloads) use invisible to user IDs"},{"line_number":281,"context_line":"   as primary and foreign keys."},{"line_number":282,"context_line":""}],"source_content_type":"text/x-rst","patch_set":7,"id":"dab17558_70272063","line":279,"in_reply_to":"1a122d0e_56701772","updated":"2016-05-17 10:33:51.000000000","message":"Done","commit_id":"55127030863f003bc6f357456c38aa437c63e7c5"},{"author":{"_account_id":6172,"name":"Boris Pavlovic","email":"boris@pavlovic.me","username":"boris-42"},"change_message_id":"e0fd6407effeaa245a8e7a6a91b69a3e254444be","unresolved":false,"context_lines":[{"line_number":281,"context_line":"   as primary and foreign keys."},{"line_number":282,"context_line":""},{"line_number":283,"context_line":"2. Along with some fields (or calculable values) tables may also contain"},{"line_number":284,"context_line":"   their denormailzed copies which name should start with \u0027_den_\u0027 prefix, i.e."},{"line_number":285,"context_line":"   runner type could be obtained from attribute \u0027type\u0027 of field"},{"line_number":286,"context_line":"   \u0027runner_config\u0027 in table \u0027Workload\u0027, but the table also contains field"},{"line_number":287,"context_line":"   \u0027_den_runner_type\u0027 for easy querying and indexing.  Such fields get updated"}],"source_content_type":"text/x-rst","patch_set":7,"id":"1a122d0e_d6d8a755","line":284,"updated":"2016-04-27 22:31:42.000000000","message":"This looks like a very unclear name, \n\n  1) Who cares is it denormalized or not?\n  2) Almost all fields that we have are denormalized, we already didn\u0027t put in this spec _den_ to every field which requires it, so seems like this attempt is failing even before it started. So I would prefer not to use it.","commit_id":"55127030863f003bc6f357456c38aa437c63e7c5"},{"author":{"_account_id":8491,"name":"Illia Khudoshyn","email":"ikhudoshyn@mirantis.com","username":"ikhudoshyn"},"change_message_id":"a8c51e82cb7f7f6e1c482607f671e8e04aaa7a4a","unresolved":false,"context_lines":[{"line_number":281,"context_line":"   as primary and foreign keys."},{"line_number":282,"context_line":""},{"line_number":283,"context_line":"2. Along with some fields (or calculable values) tables may also contain"},{"line_number":284,"context_line":"   their denormailzed copies which name should start with \u0027_den_\u0027 prefix, i.e."},{"line_number":285,"context_line":"   runner type could be obtained from attribute \u0027type\u0027 of field"},{"line_number":286,"context_line":"   \u0027runner_config\u0027 in table \u0027Workload\u0027, but the table also contains field"},{"line_number":287,"context_line":"   \u0027_den_runner_type\u0027 for easy querying and indexing.  Such fields get updated"}],"source_content_type":"text/x-rst","patch_set":7,"id":"dab17558_adce4f57","line":284,"in_reply_to":"1a122d0e_d6d8a755","updated":"2016-05-17 10:33:51.000000000","message":"Done","commit_id":"55127030863f003bc6f357456c38aa437c63e7c5"},{"author":{"_account_id":6172,"name":"Boris Pavlovic","email":"boris@pavlovic.me","username":"boris-42"},"change_message_id":"e0fd6407effeaa245a8e7a6a91b69a3e254444be","unresolved":false,"context_lines":[{"line_number":292,"context_line":"Open questions"},{"line_number":293,"context_line":"~~~~~~~~~~~~~~"},{"line_number":294,"context_line":""},{"line_number":295,"context_line":"- Do subtasks and workloads need to store their position in input task config?"},{"line_number":296,"context_line":"- Should we separate \u0027sla_results\u0027 from \u0027sla\u0027 and \u0027context_execution\u0027 from"},{"line_number":297,"context_line":"  \u0027context\u0027 in Workload?"},{"line_number":298,"context_line":""}],"source_content_type":"text/x-rst","patch_set":7,"id":"1a122d0e_16adff9a","line":295,"updated":"2016-04-27 22:31:42.000000000","message":"- subtask - yes, because it\u0027s simplifies life (in case of new format especially) \n\n- workloads - yes, because in case of non parallel execution we need this information to make proper reports","commit_id":"55127030863f003bc6f357456c38aa437c63e7c5"},{"author":{"_account_id":8491,"name":"Illia Khudoshyn","email":"ikhudoshyn@mirantis.com","username":"ikhudoshyn"},"change_message_id":"a8c51e82cb7f7f6e1c482607f671e8e04aaa7a4a","unresolved":false,"context_lines":[{"line_number":292,"context_line":"Open questions"},{"line_number":293,"context_line":"~~~~~~~~~~~~~~"},{"line_number":294,"context_line":""},{"line_number":295,"context_line":"- Do subtasks and workloads need to store their position in input task config?"},{"line_number":296,"context_line":"- Should we separate \u0027sla_results\u0027 from \u0027sla\u0027 and \u0027context_execution\u0027 from"},{"line_number":297,"context_line":"  \u0027context\u0027 in Workload?"},{"line_number":298,"context_line":""}],"source_content_type":"text/x-rst","patch_set":7,"id":"dab17558_d03c0cca","line":295,"in_reply_to":"1a122d0e_16adff9a","updated":"2016-05-17 10:33:51.000000000","message":"Done","commit_id":"55127030863f003bc6f357456c38aa437c63e7c5"},{"author":{"_account_id":6172,"name":"Boris Pavlovic","email":"boris@pavlovic.me","username":"boris-42"},"change_message_id":"e0fd6407effeaa245a8e7a6a91b69a3e254444be","unresolved":false,"context_lines":[{"line_number":293,"context_line":"~~~~~~~~~~~~~~"},{"line_number":294,"context_line":""},{"line_number":295,"context_line":"- Do subtasks and workloads need to store their position in input task config?"},{"line_number":296,"context_line":"- Should we separate \u0027sla_results\u0027 from \u0027sla\u0027 and \u0027context_execution\u0027 from"},{"line_number":297,"context_line":"  \u0027context\u0027 in Workload?"},{"line_number":298,"context_line":""},{"line_number":299,"context_line":""}],"source_content_type":"text/x-rst","patch_set":7,"id":"1a122d0e_567ad724","line":296,"updated":"2016-04-27 22:31:42.000000000","message":"not sure that I understand this question? could you elaborate?","commit_id":"55127030863f003bc6f357456c38aa437c63e7c5"},{"author":{"_account_id":8491,"name":"Illia Khudoshyn","email":"ikhudoshyn@mirantis.com","username":"ikhudoshyn"},"change_message_id":"a8c51e82cb7f7f6e1c482607f671e8e04aaa7a4a","unresolved":false,"context_lines":[{"line_number":293,"context_line":"~~~~~~~~~~~~~~"},{"line_number":294,"context_line":""},{"line_number":295,"context_line":"- Do subtasks and workloads need to store their position in input task config?"},{"line_number":296,"context_line":"- Should we separate \u0027sla_results\u0027 from \u0027sla\u0027 and \u0027context_execution\u0027 from"},{"line_number":297,"context_line":"  \u0027context\u0027 in Workload?"},{"line_number":298,"context_line":""},{"line_number":299,"context_line":""}],"source_content_type":"text/x-rst","patch_set":7,"id":"dab17558_103334f7","line":296,"in_reply_to":"1a122d0e_567ad724","updated":"2016-05-17 10:33:51.000000000","message":"Done","commit_id":"55127030863f003bc6f357456c38aa437c63e7c5"},{"author":{"_account_id":10475,"name":"Alexander Maretskiy","email":"amaretskiy@mirantis.com","username":"maretskiy"},"change_message_id":"ad95a4ab8ee47bb96add4fcc97b12a0605e46bf8","unresolved":false,"context_lines":[{"line_number":24,"context_line":""},{"line_number":25,"context_line":"2. multi_scenario_load_generation"},{"line_number":26,"context_line":""},{"line_number":27,"context_line":"   Running multple scenarios as a part of single subtask requires changes"},{"line_number":28,"context_line":"   in the way how we are storing subtask results."},{"line_number":29,"context_line":""},{"line_number":30,"context_line":"3. task_debugging_and_profiling"}],"source_content_type":"text/x-rst","patch_set":11,"id":"bab6814e_4603b942","line":27,"updated":"2016-05-19 13:20:47.000000000","message":"multiple","commit_id":"89b2ab2423bca19919f8252d84e5d2d995fca3b8"},{"author":{"_account_id":8491,"name":"Illia Khudoshyn","email":"ikhudoshyn@mirantis.com","username":"ikhudoshyn"},"change_message_id":"2f163079950c32f523217f554e91070bc5476bcf","unresolved":false,"context_lines":[{"line_number":24,"context_line":""},{"line_number":25,"context_line":"2. multi_scenario_load_generation"},{"line_number":26,"context_line":""},{"line_number":27,"context_line":"   Running multple scenarios as a part of single subtask requires changes"},{"line_number":28,"context_line":"   in the way how we are storing subtask results."},{"line_number":29,"context_line":""},{"line_number":30,"context_line":"3. task_debugging_and_profiling"}],"source_content_type":"text/x-rst","patch_set":11,"id":"bab6814e_93bdda6a","line":27,"in_reply_to":"bab6814e_4603b942","updated":"2016-05-19 14:28:18.000000000","message":"Done","commit_id":"89b2ab2423bca19919f8252d84e5d2d995fca3b8"},{"author":{"_account_id":12395,"name":"Roman Vasylets","email":"pomeo92@gmail.com","username":"rvasilets"},"change_message_id":"ed90cc43e380c415498171d99234759a959b85ec","unresolved":false,"context_lines":[{"line_number":33,"context_line":"   what validators passed, what didn\u0027t passed and why)."},{"line_number":34,"context_line":""},{"line_number":35,"context_line":"   Store durations of all steps (validation/task) as well as  other execution"},{"line_number":36,"context_line":"   stats needed by CLI and to generate graphs in reports."},{"line_number":37,"context_line":""},{"line_number":38,"context_line":"   Store statuses, duration, errors of context cleanup steps."},{"line_number":39,"context_line":""}],"source_content_type":"text/x-rst","patch_set":12,"id":"9abb7d3a_3f5e8545","line":36,"updated":"2016-06-03 15:03:27.000000000","message":"Also Deployment Unification.\nWe should change models to address new deployment plugins. \n             Deployment.users, Deployment.admin \n    -\u003e Deployment.credentials ([[“\u003ctype\u003e”, \u003cCredentials\u003e], ... ])","commit_id":"f4f22eb538d5b293e99623ec94ba33fd340f933b"},{"author":{"_account_id":12395,"name":"Roman Vasylets","email":"pomeo92@gmail.com","username":"rvasilets"},"change_message_id":"ed90cc43e380c415498171d99234759a959b85ec","unresolved":false,"context_lines":[{"line_number":35,"context_line":"   Store durations of all steps (validation/task) as well as  other execution"},{"line_number":36,"context_line":"   stats needed by CLI and to generate graphs in reports."},{"line_number":37,"context_line":""},{"line_number":38,"context_line":"   Store statuses, duration, errors of context cleanup steps."},{"line_number":39,"context_line":""},{"line_number":40,"context_line":"Current schema doesn\u0027t work for those cases."},{"line_number":41,"context_line":""}],"source_content_type":"text/x-rst","patch_set":12,"id":"9abb7d3a_3f0cc541","line":38,"updated":"2016-06-03 15:03:27.000000000","message":"Do we want to store CloudInfo in the DB?","commit_id":"f4f22eb538d5b293e99623ec94ba33fd340f933b"},{"author":{"_account_id":12395,"name":"Roman Vasylets","email":"pomeo92@gmail.com","username":"rvasilets"},"change_message_id":"2511610a2c2896904b2594ee8615ae6d695ad5f7","unresolved":false,"context_lines":[{"line_number":64,"context_line":""},{"line_number":65,"context_line":""},{"line_number":66,"context_line":"New DB schema"},{"line_number":67,"context_line":"~~~~~~~~~~~~~"},{"line_number":68,"context_line":""},{"line_number":69,"context_line":"+------------+    +-------------+    +--------------+    +---------------+"},{"line_number":70,"context_line":"| Task       |    | Subtask     |    | Workload     |    | WorkloadData  |"}],"source_content_type":"text/x-rst","patch_set":12,"id":"9abb7d3a_bc30c308","line":67,"updated":"2016-06-03 11:22:09.000000000","message":"But where is deployment table? I remember that we are wanted to store info about deeployment","commit_id":"f4f22eb538d5b293e99623ec94ba33fd340f933b"},{"author":{"_account_id":8491,"name":"Illia Khudoshyn","email":"ikhudoshyn@mirantis.com","username":"ikhudoshyn"},"change_message_id":"6e4e0c8c25871225eb34bb467bf62a3514ee6d05","unresolved":false,"context_lines":[{"line_number":64,"context_line":""},{"line_number":65,"context_line":""},{"line_number":66,"context_line":"New DB schema"},{"line_number":67,"context_line":"~~~~~~~~~~~~~"},{"line_number":68,"context_line":""},{"line_number":69,"context_line":"+------------+    +-------------+    +--------------+    +---------------+"},{"line_number":70,"context_line":"| Task       |    | Subtask     |    | Workload     |    | WorkloadData  |"}],"source_content_type":"text/x-rst","patch_set":12,"id":"9abb7d3a_2235c945","line":67,"in_reply_to":"9abb7d3a_bc30c308","updated":"2016-06-03 13:20:53.000000000","message":"Well this is not the whole schema but only task-related part. I actually thought about adding Deployment, Credentials etc but boris-42 suggested omitting them in order to avoid cluttering of the spec.","commit_id":"f4f22eb538d5b293e99623ec94ba33fd340f933b"},{"author":{"_account_id":12395,"name":"Roman Vasylets","email":"pomeo92@gmail.com","username":"rvasilets"},"change_message_id":"ed90cc43e380c415498171d99234759a959b85ec","unresolved":false,"context_lines":[{"line_number":128,"context_line":"    title                   : String"},{"line_number":129,"context_line":"    description             : TEXT"},{"line_number":130,"context_line":""},{"line_number":131,"context_line":"    # Structure of verification results:"},{"line_number":132,"context_line":"    # ["},{"line_number":133,"context_line":"    #    {"},{"line_number":134,"context_line":"    #        \"name\": \u003cname\u003e,      # full validator function name,"}],"source_content_type":"text/x-rst","patch_set":12,"id":"9abb7d3a_e25c667f","line":131,"updated":"2016-06-03 15:03:27.000000000","message":"Validation result? Not verification, we got separate module for verification that is differ","commit_id":"f4f22eb538d5b293e99623ec94ba33fd340f933b"},{"author":{"_account_id":12395,"name":"Roman Vasylets","email":"pomeo92@gmail.com","username":"rvasilets"},"change_message_id":"ed90cc43e380c415498171d99234759a959b85ec","unresolved":false,"context_lines":[{"line_number":142,"context_line":"    # ]"},{"line_number":143,"context_line":"    validation_result       : TEXT"},{"line_number":144,"context_line":""},{"line_number":145,"context_line":"    # Duration of verification can be used to tune verification process."},{"line_number":146,"context_line":"    validation_duration     : FLOAT"},{"line_number":147,"context_line":""},{"line_number":148,"context_line":"    # Duration of benchmarking part of task"}],"source_content_type":"text/x-rst","patch_set":12,"id":"9abb7d3a_c21162b1","line":145,"updated":"2016-06-03 15:03:27.000000000","message":"Is this is verification(related to tempest, thus is is wrong word\u003d)) or you mean validation process?","commit_id":"f4f22eb538d5b293e99623ec94ba33fd340f933b"},{"author":{"_account_id":12395,"name":"Roman Vasylets","email":"pomeo92@gmail.com","username":"rvasilets"},"change_message_id":"ed90cc43e380c415498171d99234759a959b85ec","unresolved":false,"context_lines":[{"line_number":371,"context_line":"Work Items"},{"line_number":372,"context_line":"----------"},{"line_number":373,"context_line":""},{"line_number":374,"context_line":"TBD"},{"line_number":375,"context_line":""},{"line_number":376,"context_line":"Dependencies"},{"line_number":377,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"}],"source_content_type":"text/x-rst","patch_set":12,"id":"9abb7d3a_0df39ba0","line":374,"updated":"2016-06-03 15:03:27.000000000","message":"Will we need to write migration script?","commit_id":"f4f22eb538d5b293e99623ec94ba33fd340f933b"}]}
