)]}'
{"doc/specs/in-progress/cleanup_refactoring.rst":[{"author":{"_account_id":6172,"name":"Boris Pavlovic","email":"boris@pavlovic.me","username":"boris-42"},"change_message_id":"8ef23315e4416753530bf8bc6ce9c7078ad910ac","unresolved":false,"context_lines":[{"line_number":8,"context_line":"Refactoring Rally Cleanup"},{"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"},{"line_number":10,"context_line":""},{"line_number":11,"context_line":"Current Rally cleans up all resources in tenants used by benchmark."},{"line_number":12,"context_line":"This proposal should be useful for covering following use cases."},{"line_number":13,"context_line":""},{"line_number":14,"context_line":""}],"source_content_type":"text/x-rst","patch_set":2,"id":"dac4157f_18dd9c14","line":11,"updated":"2015-04-20 00:31:07.000000000","message":"This is just one case. I would like prefer here to have something more generic. \n\nCurrent generic mechanism is nice but it doesn\u0027t work enough well in real life. And in cases of existing users, persistence context and disaster cleanups it doesn\u0027t work well.","commit_id":"6847ff0927e166df61eaf9528f476a1756dcd83f"},{"author":{"_account_id":14138,"name":"Wataru Takase","email":"wataru.takase@kek.jp","username":"wtakase"},"change_message_id":"819c1d64c289b35aa3de4e41bbb950e0ae8145a3","unresolved":false,"context_lines":[{"line_number":8,"context_line":"Refactoring Rally Cleanup"},{"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"},{"line_number":10,"context_line":""},{"line_number":11,"context_line":"Current Rally cleans up all resources in tenants used by benchmark."},{"line_number":12,"context_line":"This proposal should be useful for covering following use cases."},{"line_number":13,"context_line":""},{"line_number":14,"context_line":""}],"source_content_type":"text/x-rst","patch_set":2,"id":"dac4157f_93bbc10e","line":11,"in_reply_to":"dac4157f_18dd9c14","updated":"2015-04-20 11:38:28.000000000","message":"Done","commit_id":"6847ff0927e166df61eaf9528f476a1756dcd83f"},{"author":{"_account_id":6172,"name":"Boris Pavlovic","email":"boris@pavlovic.me","username":"boris-42"},"change_message_id":"8ef23315e4416753530bf8bc6ce9c7078ad910ac","unresolved":false,"context_lines":[{"line_number":21,"context_line":""},{"line_number":22,"context_line":"   Keep existing resources instead of deleting all resources in the tenants."},{"line_number":23,"context_line":""},{"line_number":24,"context_line":"#. Persistence benchmark environment."},{"line_number":25,"context_line":""},{"line_number":26,"context_line":"   Once benchmark environment is created, it can be used in multiple tasks."},{"line_number":27,"context_line":""}],"source_content_type":"text/x-rst","patch_set":2,"id":"dac4157f_18047c7c","line":24,"updated":"2015-04-20 00:31:07.000000000","message":"Persistence benchmark context.","commit_id":"6847ff0927e166df61eaf9528f476a1756dcd83f"},{"author":{"_account_id":14138,"name":"Wataru Takase","email":"wataru.takase@kek.jp","username":"wtakase"},"change_message_id":"819c1d64c289b35aa3de4e41bbb950e0ae8145a3","unresolved":false,"context_lines":[{"line_number":21,"context_line":""},{"line_number":22,"context_line":"   Keep existing resources instead of deleting all resources in the tenants."},{"line_number":23,"context_line":""},{"line_number":24,"context_line":"#. Persistence benchmark environment."},{"line_number":25,"context_line":""},{"line_number":26,"context_line":"   Once benchmark environment is created, it can be used in multiple tasks."},{"line_number":27,"context_line":""}],"source_content_type":"text/x-rst","patch_set":2,"id":"dac4157f_73370db1","line":24,"in_reply_to":"dac4157f_18047c7c","updated":"2015-04-20 11:38:28.000000000","message":"Done","commit_id":"6847ff0927e166df61eaf9528f476a1756dcd83f"},{"author":{"_account_id":6172,"name":"Boris Pavlovic","email":"boris@pavlovic.me","username":"boris-42"},"change_message_id":"8ef23315e4416753530bf8bc6ce9c7078ad910ac","unresolved":false,"context_lines":[{"line_number":23,"context_line":""},{"line_number":24,"context_line":"#. Persistence benchmark environment."},{"line_number":25,"context_line":""},{"line_number":26,"context_line":"   Once benchmark environment is created, it can be used in multiple tasks."},{"line_number":27,"context_line":""},{"line_number":28,"context_line":"#. Disaster cleanup."},{"line_number":29,"context_line":""}],"source_content_type":"text/x-rst","patch_set":2,"id":"dac4157f_f8e1c8d1","line":26,"updated":"2015-04-20 00:31:07.000000000","message":"This requires longer description.","commit_id":"6847ff0927e166df61eaf9528f476a1756dcd83f"},{"author":{"_account_id":14138,"name":"Wataru Takase","email":"wataru.takase@kek.jp","username":"wtakase"},"change_message_id":"819c1d64c289b35aa3de4e41bbb950e0ae8145a3","unresolved":false,"context_lines":[{"line_number":23,"context_line":""},{"line_number":24,"context_line":"#. Persistence benchmark environment."},{"line_number":25,"context_line":""},{"line_number":26,"context_line":"   Once benchmark environment is created, it can be used in multiple tasks."},{"line_number":27,"context_line":""},{"line_number":28,"context_line":"#. Disaster cleanup."},{"line_number":29,"context_line":""}],"source_content_type":"text/x-rst","patch_set":2,"id":"dac4157f_3341950c","line":26,"in_reply_to":"dac4157f_f8e1c8d1","updated":"2015-04-20 11:38:28.000000000","message":"Done","commit_id":"6847ff0927e166df61eaf9528f476a1756dcd83f"},{"author":{"_account_id":6172,"name":"Boris Pavlovic","email":"boris@pavlovic.me","username":"boris-42"},"change_message_id":"8ef23315e4416753530bf8bc6ce9c7078ad910ac","unresolved":false,"context_lines":[{"line_number":27,"context_line":""},{"line_number":28,"context_line":"#. Disaster cleanup."},{"line_number":29,"context_line":""},{"line_number":30,"context_line":"   Delete all resources created by Rally even if we lose Rally DB."},{"line_number":31,"context_line":""},{"line_number":32,"context_line":""},{"line_number":33,"context_line":"Proposed change"}],"source_content_type":"text/x-rst","patch_set":2,"id":"dac4157f_d8e604e8","line":30,"updated":"2015-04-20 00:31:07.000000000","message":"Rally DB and all information related to created by Rally resources","commit_id":"6847ff0927e166df61eaf9528f476a1756dcd83f"},{"author":{"_account_id":14138,"name":"Wataru Takase","email":"wataru.takase@kek.jp","username":"wtakase"},"change_message_id":"819c1d64c289b35aa3de4e41bbb950e0ae8145a3","unresolved":false,"context_lines":[{"line_number":27,"context_line":""},{"line_number":28,"context_line":"#. Disaster cleanup."},{"line_number":29,"context_line":""},{"line_number":30,"context_line":"   Delete all resources created by Rally even if we lose Rally DB."},{"line_number":31,"context_line":""},{"line_number":32,"context_line":""},{"line_number":33,"context_line":"Proposed change"}],"source_content_type":"text/x-rst","patch_set":2,"id":"dac4157f_13469123","line":30,"in_reply_to":"dac4157f_d8e604e8","updated":"2015-04-20 11:38:28.000000000","message":"Done","commit_id":"6847ff0927e166df61eaf9528f476a1756dcd83f"},{"author":{"_account_id":6172,"name":"Boris Pavlovic","email":"boris@pavlovic.me","username":"boris-42"},"change_message_id":"8ef23315e4416753530bf8bc6ce9c7078ad910ac","unresolved":false,"context_lines":[{"line_number":28,"context_line":"#. Disaster cleanup."},{"line_number":29,"context_line":""},{"line_number":30,"context_line":"   Delete all resources created by Rally even if we lose Rally DB."},{"line_number":31,"context_line":""},{"line_number":32,"context_line":""},{"line_number":33,"context_line":"Proposed change"},{"line_number":34,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"}],"source_content_type":"text/x-rst","patch_set":2,"id":"dac4157f_f808a893","line":31,"updated":"2015-04-20 00:31:07.000000000","message":"#. Isolated task \n\nIt is quite important to add ability to run few instances of Rally against cloud simultanesouly (and one cleanup, won\u0027t affect \n\n\n#. Testing that cleanups works\n\nHow to ensure that Rally cleaned all resources","commit_id":"6847ff0927e166df61eaf9528f476a1756dcd83f"},{"author":{"_account_id":14138,"name":"Wataru Takase","email":"wataru.takase@kek.jp","username":"wtakase"},"change_message_id":"819c1d64c289b35aa3de4e41bbb950e0ae8145a3","unresolved":false,"context_lines":[{"line_number":28,"context_line":"#. Disaster cleanup."},{"line_number":29,"context_line":""},{"line_number":30,"context_line":"   Delete all resources created by Rally even if we lose Rally DB."},{"line_number":31,"context_line":""},{"line_number":32,"context_line":""},{"line_number":33,"context_line":"Proposed change"},{"line_number":34,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"}],"source_content_type":"text/x-rst","patch_set":2,"id":"dac4157f_9352a1dc","line":31,"in_reply_to":"dac4157f_f808a893","updated":"2015-04-20 11:38:28.000000000","message":"Done","commit_id":"6847ff0927e166df61eaf9528f476a1756dcd83f"},{"author":{"_account_id":6172,"name":"Boris Pavlovic","email":"boris@pavlovic.me","username":"boris-42"},"change_message_id":"8ef23315e4416753530bf8bc6ce9c7078ad910ac","unresolved":false,"context_lines":[{"line_number":36,"context_line":"Resources created by Rally have same name prefix. At the cleanup, check"},{"line_number":37,"context_line":"the prefix and delete only matched resources."},{"line_number":38,"context_line":""},{"line_number":39,"context_line":"* Prefix `rally_` is for resources created by task."},{"line_number":40,"context_line":"  These are deleted after finishing the task."},{"line_number":41,"context_line":""},{"line_number":42,"context_line":"* Prefix `ctx_rally_` is for resources created by context."}],"source_content_type":"text/x-rst","patch_set":2,"id":"dac4157f_f82f88f4","line":39,"updated":"2015-04-20 00:31:07.000000000","message":"This is bad prefix. Because typical users will call with such prefix VM and install Rally on it. \n\n\nwhat about something more unique _tmp_rally_x \n \n\n\n  s/by task/by Rally/","commit_id":"6847ff0927e166df61eaf9528f476a1756dcd83f"},{"author":{"_account_id":14138,"name":"Wataru Takase","email":"wataru.takase@kek.jp","username":"wtakase"},"change_message_id":"819c1d64c289b35aa3de4e41bbb950e0ae8145a3","unresolved":false,"context_lines":[{"line_number":36,"context_line":"Resources created by Rally have same name prefix. At the cleanup, check"},{"line_number":37,"context_line":"the prefix and delete only matched resources."},{"line_number":38,"context_line":""},{"line_number":39,"context_line":"* Prefix `rally_` is for resources created by task."},{"line_number":40,"context_line":"  These are deleted after finishing the task."},{"line_number":41,"context_line":""},{"line_number":42,"context_line":"* Prefix `ctx_rally_` is for resources created by context."}],"source_content_type":"text/x-rst","patch_set":2,"id":"dac4157f_5363e9b1","line":39,"in_reply_to":"dac4157f_f82f88f4","updated":"2015-04-20 11:38:28.000000000","message":"Done","commit_id":"6847ff0927e166df61eaf9528f476a1756dcd83f"},{"author":{"_account_id":12395,"name":"Roman Vasylets","email":"pomeo92@gmail.com","username":"rvasilets"},"change_message_id":"60241735e17916d1c7c851dc8efdbbef4eab0418","unresolved":false,"context_lines":[{"line_number":37,"context_line":"the prefix and delete only matched resources."},{"line_number":38,"context_line":""},{"line_number":39,"context_line":"* Prefix `rally_` is for resources created by task."},{"line_number":40,"context_line":"  These are deleted after finishing the task."},{"line_number":41,"context_line":""},{"line_number":42,"context_line":"* Prefix `ctx_rally_` is for resources created by context."},{"line_number":43,"context_line":"  These are deleted when the environment is not necessary."}],"source_content_type":"text/x-rst","patch_set":2,"id":"5aa745d1_9474c7fd","line":40,"updated":"2015-04-16 10:59:37.000000000","message":"I think its wrong description. I thought you talk about resources created in scenario because after finishing task running context cleanup.","commit_id":"6847ff0927e166df61eaf9528f476a1756dcd83f"},{"author":{"_account_id":6172,"name":"Boris Pavlovic","email":"boris@pavlovic.me","username":"boris-42"},"change_message_id":"8ef23315e4416753530bf8bc6ce9c7078ad910ac","unresolved":false,"context_lines":[{"line_number":37,"context_line":"the prefix and delete only matched resources."},{"line_number":38,"context_line":""},{"line_number":39,"context_line":"* Prefix `rally_` is for resources created by task."},{"line_number":40,"context_line":"  These are deleted after finishing the task."},{"line_number":41,"context_line":""},{"line_number":42,"context_line":"* Prefix `ctx_rally_` is for resources created by context."},{"line_number":43,"context_line":"  These are deleted when the environment is not necessary."}],"source_content_type":"text/x-rst","patch_set":2,"id":"dac4157f_d834c44b","line":40,"in_reply_to":"5aa745d1_571d2172","updated":"2015-04-20 00:31:07.000000000","message":"So what about isolation of tasks ?","commit_id":"6847ff0927e166df61eaf9528f476a1756dcd83f"},{"author":{"_account_id":12395,"name":"Roman Vasylets","email":"pomeo92@gmail.com","username":"rvasilets"},"change_message_id":"9fc1bd9df2e9629846edcffbcd47eb1cf12392ab","unresolved":false,"context_lines":[{"line_number":37,"context_line":"the prefix and delete only matched resources."},{"line_number":38,"context_line":""},{"line_number":39,"context_line":"* Prefix `rally_` is for resources created by task."},{"line_number":40,"context_line":"  These are deleted after finishing the task."},{"line_number":41,"context_line":""},{"line_number":42,"context_line":"* Prefix `ctx_rally_` is for resources created by context."},{"line_number":43,"context_line":"  These are deleted when the environment is not necessary."}],"source_content_type":"text/x-rst","patch_set":2,"id":"5aa745d1_571d2172","line":40,"in_reply_to":"5aa745d1_9474c7fd","updated":"2015-04-16 11:39:43.000000000","message":"*after task finished run context cleanups","commit_id":"6847ff0927e166df61eaf9528f476a1756dcd83f"},{"author":{"_account_id":14138,"name":"Wataru Takase","email":"wataru.takase@kek.jp","username":"wtakase"},"change_message_id":"819c1d64c289b35aa3de4e41bbb950e0ae8145a3","unresolved":false,"context_lines":[{"line_number":37,"context_line":"the prefix and delete only matched resources."},{"line_number":38,"context_line":""},{"line_number":39,"context_line":"* Prefix `rally_` is for resources created by task."},{"line_number":40,"context_line":"  These are deleted after finishing the task."},{"line_number":41,"context_line":""},{"line_number":42,"context_line":"* Prefix `ctx_rally_` is for resources created by context."},{"line_number":43,"context_line":"  These are deleted when the environment is not necessary."}],"source_content_type":"text/x-rst","patch_set":2,"id":"dac4157f_d36ff990","line":40,"in_reply_to":"dac4157f_d834c44b","updated":"2015-04-20 11:38:28.000000000","message":"Done","commit_id":"6847ff0927e166df61eaf9528f476a1756dcd83f"},{"author":{"_account_id":6172,"name":"Boris Pavlovic","email":"boris@pavlovic.me","username":"boris-42"},"change_message_id":"8ef23315e4416753530bf8bc6ce9c7078ad910ac","unresolved":false,"context_lines":[{"line_number":39,"context_line":"* Prefix `rally_` is for resources created by task."},{"line_number":40,"context_line":"  These are deleted after finishing the task."},{"line_number":41,"context_line":""},{"line_number":42,"context_line":"* Prefix `ctx_rally_` is for resources created by context."},{"line_number":43,"context_line":"  These are deleted when the environment is not necessary."},{"line_number":44,"context_line":""},{"line_number":45,"context_line":""}],"source_content_type":"text/x-rst","patch_set":2,"id":"dac4157f_b8391044","line":42,"updated":"2015-04-20 00:31:07.000000000","message":"Le\u0027t use the same approach _tmp_ctx_rally_ for context\n\nAnd how we are going to isolated various context cleanups?","commit_id":"6847ff0927e166df61eaf9528f476a1756dcd83f"},{"author":{"_account_id":14138,"name":"Wataru Takase","email":"wataru.takase@kek.jp","username":"wtakase"},"change_message_id":"819c1d64c289b35aa3de4e41bbb950e0ae8145a3","unresolved":false,"context_lines":[{"line_number":39,"context_line":"* Prefix `rally_` is for resources created by task."},{"line_number":40,"context_line":"  These are deleted after finishing the task."},{"line_number":41,"context_line":""},{"line_number":42,"context_line":"* Prefix `ctx_rally_` is for resources created by context."},{"line_number":43,"context_line":"  These are deleted when the environment is not necessary."},{"line_number":44,"context_line":""},{"line_number":45,"context_line":""}],"source_content_type":"text/x-rst","patch_set":2,"id":"dac4157f_7305cdc0","line":42,"in_reply_to":"dac4157f_b8391044","updated":"2015-04-20 11:38:28.000000000","message":"Done","commit_id":"6847ff0927e166df61eaf9528f476a1756dcd83f"},{"author":{"_account_id":12395,"name":"Roman Vasylets","email":"pomeo92@gmail.com","username":"rvasilets"},"change_message_id":"60241735e17916d1c7c851dc8efdbbef4eab0418","unresolved":false,"context_lines":[{"line_number":40,"context_line":"  These are deleted after finishing the task."},{"line_number":41,"context_line":""},{"line_number":42,"context_line":"* Prefix `ctx_rally_` is for resources created by context."},{"line_number":43,"context_line":"  These are deleted when the environment is not necessary."},{"line_number":44,"context_line":""},{"line_number":45,"context_line":""},{"line_number":46,"context_line":"Alternatives"}],"source_content_type":"text/x-rst","patch_set":2,"id":"5aa745d1_d4236f04","line":43,"updated":"2015-04-16 10:59:37.000000000","message":"Context cleanups are working when the task is finishing only once.","commit_id":"6847ff0927e166df61eaf9528f476a1756dcd83f"},{"author":{"_account_id":12395,"name":"Roman Vasylets","email":"pomeo92@gmail.com","username":"rvasilets"},"change_message_id":"e2f10d928a923da10afee25ff936d5ee7e988113","unresolved":false,"context_lines":[{"line_number":41,"context_line":""},{"line_number":42,"context_line":"* Prefix `ctx_rally_` is for resources created by context."},{"line_number":43,"context_line":"  These are deleted when the environment is not necessary."},{"line_number":44,"context_line":""},{"line_number":45,"context_line":""},{"line_number":46,"context_line":"Alternatives"},{"line_number":47,"context_line":"------------"}],"source_content_type":"text/x-rst","patch_set":2,"id":"5aa745d1_0d878610","line":44,"updated":"2015-04-16 12:05:25.000000000","message":"After thinking I have understood what you meant. You want to have two different cleanup. One run after each scenario and other when environment is not needed. Right?","commit_id":"6847ff0927e166df61eaf9528f476a1756dcd83f"},{"author":{"_account_id":14138,"name":"Wataru Takase","email":"wataru.takase@kek.jp","username":"wtakase"},"change_message_id":"91d73f46333030c04c3df0f00b7367f2b2dfb43f","unresolved":false,"context_lines":[{"line_number":41,"context_line":""},{"line_number":42,"context_line":"* Prefix `ctx_rally_` is for resources created by context."},{"line_number":43,"context_line":"  These are deleted when the environment is not necessary."},{"line_number":44,"context_line":""},{"line_number":45,"context_line":""},{"line_number":46,"context_line":"Alternatives"},{"line_number":47,"context_line":"------------"}],"source_content_type":"text/x-rst","patch_set":2,"id":"3ab451fb_f57785d2","line":44,"in_reply_to":"5aa745d1_0d878610","updated":"2015-04-17 11:41:46.000000000","message":"Yes.\nFor example, If I execute following scenario:\n\n---\n  NovaServers.boot_and_list_server:\n    -\n      args:\n        flavor:\n            name: \"m1.nano\"\n        image:\n            name: \"^cirros.*uec$\"\n        detailed: True\n      runner:\n        type: \"constant\"\n        times: 1\n        concurrency: 1\n      context:\n        users:\n          tenants: 1\n          users_per_tenant: 1\n        servers:\n          flavor:\n              name: \"m1.nano\"\n          image:\n              name: \"^cirros.*uec$\"\n          servers_per_tenant: 1\n\nthen, \u0027nova.servers\u0027 resource cleanup is called twice.\nFirst one is called by UserCleanup.cleanup kicked by \u0027@base.scenario(context\u003d{\"cleanup\": [\"nova\"]})\u0027 decorator on NovaServers.boot_and_list_server.\nAnd second one is called by ServerGenerator.cleanup.\n\nCurrently, UserCleanup.cleanup deletes all nova servers, and ServerGenerator.cleanup doesn\u0027t do anything.\nI think these resource cleanups should be separated.","commit_id":"6847ff0927e166df61eaf9528f476a1756dcd83f"},{"author":{"_account_id":12395,"name":"Roman Vasylets","email":"pomeo92@gmail.com","username":"rvasilets"},"change_message_id":"9fc1bd9df2e9629846edcffbcd47eb1cf12392ab","unresolved":false,"context_lines":[{"line_number":46,"context_line":"Alternatives"},{"line_number":47,"context_line":"------------"},{"line_number":48,"context_line":""},{"line_number":49,"context_line":"None."},{"line_number":50,"context_line":""},{"line_number":51,"context_line":""},{"line_number":52,"context_line":"Implementation"}],"source_content_type":"text/x-rst","patch_set":2,"id":"5aa745d1_aa4998d2","line":49,"updated":"2015-04-16 11:39:43.000000000","message":"I suggest following we calculate all resource before we run task. Then after task we delete all resources that didn\u0027t exist before we run task.","commit_id":"6847ff0927e166df61eaf9528f476a1756dcd83f"},{"author":{"_account_id":6172,"name":"Boris Pavlovic","email":"boris@pavlovic.me","username":"boris-42"},"change_message_id":"8ef23315e4416753530bf8bc6ce9c7078ad910ac","unresolved":false,"context_lines":[{"line_number":46,"context_line":"Alternatives"},{"line_number":47,"context_line":"------------"},{"line_number":48,"context_line":""},{"line_number":49,"context_line":"None."},{"line_number":50,"context_line":""},{"line_number":51,"context_line":""},{"line_number":52,"context_line":"Implementation"}],"source_content_type":"text/x-rst","patch_set":2,"id":"dac4157f_384620c0","line":49,"in_reply_to":"5aa745d1_aa4998d2","updated":"2015-04-20 00:31:07.000000000","message":"Roman, it is bad idea (very bad idea).\n\nIn case of production cloud there will be multiple simultaneously users and you can\u0027t just compare what you have at the end of task and at the beggign.","commit_id":"6847ff0927e166df61eaf9528f476a1756dcd83f"},{"author":{"_account_id":12395,"name":"Roman Vasylets","email":"pomeo92@gmail.com","username":"rvasilets"},"change_message_id":"60241735e17916d1c7c851dc8efdbbef4eab0418","unresolved":false,"context_lines":[{"line_number":56,"context_line":"-----------"},{"line_number":57,"context_line":""},{"line_number":58,"context_line":"Primary assignee:"},{"line_number":59,"context_line":"  wtakase aka Wataru Takase"},{"line_number":60,"context_line":""},{"line_number":61,"context_line":""},{"line_number":62,"context_line":"Work Items"}],"source_content_type":"text/x-rst","patch_set":2,"id":"5aa745d1_d4512f64","line":59,"updated":"2015-04-16 10:59:37.000000000","message":"If you need help then I can help to you.","commit_id":"6847ff0927e166df61eaf9528f476a1756dcd83f"},{"author":{"_account_id":14138,"name":"Wataru Takase","email":"wataru.takase@kek.jp","username":"wtakase"},"change_message_id":"819c1d64c289b35aa3de4e41bbb950e0ae8145a3","unresolved":false,"context_lines":[{"line_number":56,"context_line":"-----------"},{"line_number":57,"context_line":""},{"line_number":58,"context_line":"Primary assignee:"},{"line_number":59,"context_line":"  wtakase aka Wataru Takase"},{"line_number":60,"context_line":""},{"line_number":61,"context_line":""},{"line_number":62,"context_line":"Work Items"}],"source_content_type":"text/x-rst","patch_set":2,"id":"dac4157f_d3f6d9d6","line":59,"in_reply_to":"5aa745d1_d4512f64","updated":"2015-04-20 11:38:28.000000000","message":"Thanks, I added your name.","commit_id":"6847ff0927e166df61eaf9528f476a1756dcd83f"},{"author":{"_account_id":12395,"name":"Roman Vasylets","email":"pomeo92@gmail.com","username":"rvasilets"},"change_message_id":"60241735e17916d1c7c851dc8efdbbef4eab0418","unresolved":false,"context_lines":[{"line_number":63,"context_line":"----------"},{"line_number":64,"context_line":""},{"line_number":65,"context_line":"* Rework usage of generate_random_name() that should be called with specific"},{"line_number":66,"context_line":"  prefix: `rally_` or `ctx_rally_`."},{"line_number":67,"context_line":""},{"line_number":68,"context_line":"* Add name prefix filter for deleting resource which has specified prefix."},{"line_number":69,"context_line":""}],"source_content_type":"text/x-rst","patch_set":2,"id":"5aa745d1_77749d9b","line":66,"updated":"2015-04-16 10:59:37.000000000","message":"How you deal with creating resources in scenario functions that don\u0027t use generate_random_name()?","commit_id":"6847ff0927e166df61eaf9528f476a1756dcd83f"},{"author":{"_account_id":14138,"name":"Wataru Takase","email":"wataru.takase@kek.jp","username":"wtakase"},"change_message_id":"819c1d64c289b35aa3de4e41bbb950e0ae8145a3","unresolved":false,"context_lines":[{"line_number":63,"context_line":"----------"},{"line_number":64,"context_line":""},{"line_number":65,"context_line":"* Rework usage of generate_random_name() that should be called with specific"},{"line_number":66,"context_line":"  prefix: `rally_` or `ctx_rally_`."},{"line_number":67,"context_line":""},{"line_number":68,"context_line":"* Add name prefix filter for deleting resource which has specified prefix."},{"line_number":69,"context_line":""}],"source_content_type":"text/x-rst","patch_set":2,"id":"dac4157f_93ee21eb","line":66,"in_reply_to":"5aa745d1_77749d9b","updated":"2015-04-20 11:38:28.000000000","message":"I have no idea now so I added as new work item.","commit_id":"6847ff0927e166df61eaf9528f476a1756dcd83f"},{"author":{"_account_id":1192,"name":"David Kranz","email":"dkranz@redhat.com","username":"david-kranz"},"change_message_id":"59b76d4905a69ad53001a0c36435decd429c3a6e","unresolved":false,"context_lines":[{"line_number":29,"context_line":"   amount of benchmarks that are using it and at the end just delete all"},{"line_number":30,"context_line":"   created resources by context cleanups."},{"line_number":31,"context_line":""},{"line_number":32,"context_line":"#. Disaster cleanup."},{"line_number":33,"context_line":""},{"line_number":34,"context_line":"   Delete all resources created by Rally even if we lose Rally DB and all"},{"line_number":35,"context_line":"   information related to created by Rally resources."}],"source_content_type":"text/x-rst","patch_set":3,"id":"1aca2d91_8349ceb9","line":32,"updated":"2015-05-08 18:20:34.000000000","message":"Seems like this extends beyond rally. Tempest has the same issue and there might be other interesting things that people do to test their clouds. How about having the naming mechanism use a convention for identifying \"temp\" resources that does not have the word rally in it? Whatever convention is used, cloud admins must tell users to avoid using names that match it, so it should also be very obscure.","commit_id":"e46f66fa6dc5fa81dba73eeb970fbd26d6b5650f"},{"author":{"_account_id":14138,"name":"Wataru Takase","email":"wataru.takase@kek.jp","username":"wtakase"},"change_message_id":"d986e1388f6e5c82ba24dbc7d50e0c5f2d72201a","unresolved":false,"context_lines":[{"line_number":29,"context_line":"   amount of benchmarks that are using it and at the end just delete all"},{"line_number":30,"context_line":"   created resources by context cleanups."},{"line_number":31,"context_line":""},{"line_number":32,"context_line":"#. Disaster cleanup."},{"line_number":33,"context_line":""},{"line_number":34,"context_line":"   Delete all resources created by Rally even if we lose Rally DB and all"},{"line_number":35,"context_line":"   information related to created by Rally resources."}],"source_content_type":"text/x-rst","patch_set":3,"id":"7a016987_18445272","line":32,"in_reply_to":"1aca2d91_8349ceb9","updated":"2015-05-27 14:04:48.000000000","message":"\u003e How about having the naming mechanism use a convention for identifying \"temp\" resources that does not have the word rally in it?\n\nYou mean it would be better to share resource naming function among OpenStack testing tools, such Tempest and Rally?","commit_id":"e46f66fa6dc5fa81dba73eeb970fbd26d6b5650f"},{"author":{"_account_id":11748,"name":"Chris St. Pierre","email":"cstpierr@cisco.com","username":"stpierre"},"change_message_id":"2eb863994aeb10ca5d12517bae21f7baf9aee5ee","unresolved":false,"context_lines":[{"line_number":51,"context_line":"the prefix and delete only matched resources."},{"line_number":52,"context_line":"First 8 characters of Task ID are added to prefix for isolated task cleanup."},{"line_number":53,"context_line":"In the case of disaster recovery, delete resources which have name started"},{"line_number":54,"context_line":"with `_tmp_rally_` and `_tmp_ctx_rally_`."},{"line_number":55,"context_line":""},{"line_number":56,"context_line":"* Prefix `_tmp_rally_xxxxxxx_` is for resources created by Rally."},{"line_number":57,"context_line":"  These are deleted after task finished by UserCleanup.cleanup()."}],"source_content_type":"text/x-rst","patch_set":3,"id":"7a016987_b0021c0a","line":54,"updated":"2015-05-26 16:35:12.000000000","message":"Sahara hostnames may not contain underscores, so this won\u0027t work.","commit_id":"e46f66fa6dc5fa81dba73eeb970fbd26d6b5650f"},{"author":{"_account_id":8576,"name":"Yair Fried","email":"yfried@redhat.com","username":"yfried"},"change_message_id":"0a0a797e7998babebdf0a14e08c63ef72b620872","unresolved":false,"context_lines":[{"line_number":51,"context_line":"the prefix and delete only matched resources."},{"line_number":52,"context_line":"First 8 characters of Task ID are added to prefix for isolated task cleanup."},{"line_number":53,"context_line":"In the case of disaster recovery, delete resources which have name started"},{"line_number":54,"context_line":"with `_tmp_rally_` and `_tmp_ctx_rally_`."},{"line_number":55,"context_line":""},{"line_number":56,"context_line":"* Prefix `_tmp_rally_xxxxxxx_` is for resources created by Rally."},{"line_number":57,"context_line":"  These are deleted after task finished by UserCleanup.cleanup()."}],"source_content_type":"text/x-rst","patch_set":3,"id":"3acd31a7_60eb5bb1","line":54,"updated":"2015-05-04 07:47:04.000000000","message":"why do we need the \"tmp\" prefix?\nrally(_ctx)_{resource}_XXXXX seems enough. the \"tmp\" would just make it unnecessarily longer.","commit_id":"e46f66fa6dc5fa81dba73eeb970fbd26d6b5650f"},{"author":{"_account_id":14138,"name":"Wataru Takase","email":"wataru.takase@kek.jp","username":"wtakase"},"change_message_id":"d986e1388f6e5c82ba24dbc7d50e0c5f2d72201a","unresolved":false,"context_lines":[{"line_number":51,"context_line":"the prefix and delete only matched resources."},{"line_number":52,"context_line":"First 8 characters of Task ID are added to prefix for isolated task cleanup."},{"line_number":53,"context_line":"In the case of disaster recovery, delete resources which have name started"},{"line_number":54,"context_line":"with `_tmp_rally_` and `_tmp_ctx_rally_`."},{"line_number":55,"context_line":""},{"line_number":56,"context_line":"* Prefix `_tmp_rally_xxxxxxx_` is for resources created by Rally."},{"line_number":57,"context_line":"  These are deleted after task finished by UserCleanup.cleanup()."}],"source_content_type":"text/x-rst","patch_set":3,"id":"7a016987_fdb5eb7d","line":54,"in_reply_to":"3acd31a7_60eb5bb1","updated":"2015-05-27 14:04:48.000000000","message":"To avoid deleting existing resources on a OpenStack, prefix needs to be special.\n`rally_` prefix might be used in the name of an existing resource.","commit_id":"e46f66fa6dc5fa81dba73eeb970fbd26d6b5650f"},{"author":{"_account_id":14138,"name":"Wataru Takase","email":"wataru.takase@kek.jp","username":"wtakase"},"change_message_id":"d986e1388f6e5c82ba24dbc7d50e0c5f2d72201a","unresolved":false,"context_lines":[{"line_number":51,"context_line":"the prefix and delete only matched resources."},{"line_number":52,"context_line":"First 8 characters of Task ID are added to prefix for isolated task cleanup."},{"line_number":53,"context_line":"In the case of disaster recovery, delete resources which have name started"},{"line_number":54,"context_line":"with `_tmp_rally_` and `_tmp_ctx_rally_`."},{"line_number":55,"context_line":""},{"line_number":56,"context_line":"* Prefix `_tmp_rally_xxxxxxx_` is for resources created by Rally."},{"line_number":57,"context_line":"  These are deleted after task finished by UserCleanup.cleanup()."}],"source_content_type":"text/x-rst","patch_set":3,"id":"7a016987_bdb0938c","line":54,"in_reply_to":"7a016987_b0021c0a","updated":"2015-05-27 14:04:48.000000000","message":"How about `-tmp-rally-xxxxxxxx-` and `-tmp-ctx-rally-xxxxxxxx`?","commit_id":"e46f66fa6dc5fa81dba73eeb970fbd26d6b5650f"},{"author":{"_account_id":8576,"name":"Yair Fried","email":"yfried@redhat.com","username":"yfried"},"change_message_id":"0a0a797e7998babebdf0a14e08c63ef72b620872","unresolved":false,"context_lines":[{"line_number":64,"context_line":"Alternatives"},{"line_number":65,"context_line":"------------"},{"line_number":66,"context_line":""},{"line_number":67,"context_line":"None."},{"line_number":68,"context_line":""},{"line_number":69,"context_line":""},{"line_number":70,"context_line":"Implementation"}],"source_content_type":"text/x-rst","patch_set":3,"id":"3acd31a7_40561f5d","line":67,"updated":"2015-05-04 07:47:04.000000000","message":"I suggest we take a look at https://github.com/stackforge/ospurge which cleans tenants (with the option of deleting the tenant as well). this enables us to purge the tenants, regardless of resource naming, so we only need to keep track of rally tenants (naming could be a solution here) and resources in admin tenant.\nI\u0027ve yet to think about a case where rally needs to cleanup some resources from a (regular) tenant while leaving the rest available.","commit_id":"e46f66fa6dc5fa81dba73eeb970fbd26d6b5650f"},{"author":{"_account_id":14138,"name":"Wataru Takase","email":"wataru.takase@kek.jp","username":"wtakase"},"change_message_id":"d986e1388f6e5c82ba24dbc7d50e0c5f2d72201a","unresolved":false,"context_lines":[{"line_number":64,"context_line":"Alternatives"},{"line_number":65,"context_line":"------------"},{"line_number":66,"context_line":""},{"line_number":67,"context_line":"None."},{"line_number":68,"context_line":""},{"line_number":69,"context_line":""},{"line_number":70,"context_line":"Implementation"}],"source_content_type":"text/x-rst","patch_set":3,"id":"7a016987_159f7b04","line":67,"in_reply_to":"1aca2d91_430cd6ec","updated":"2015-05-27 14:04:48.000000000","message":"Done","commit_id":"e46f66fa6dc5fa81dba73eeb970fbd26d6b5650f"},{"author":{"_account_id":14138,"name":"Wataru Takase","email":"wataru.takase@kek.jp","username":"wtakase"},"change_message_id":"d986e1388f6e5c82ba24dbc7d50e0c5f2d72201a","unresolved":false,"context_lines":[{"line_number":64,"context_line":"Alternatives"},{"line_number":65,"context_line":"------------"},{"line_number":66,"context_line":""},{"line_number":67,"context_line":"None."},{"line_number":68,"context_line":""},{"line_number":69,"context_line":""},{"line_number":70,"context_line":"Implementation"}],"source_content_type":"text/x-rst","patch_set":3,"id":"7a016987_951dab68","line":67,"in_reply_to":"3acd31a7_40561f5d","updated":"2015-05-27 14:04:48.000000000","message":"Done","commit_id":"e46f66fa6dc5fa81dba73eeb970fbd26d6b5650f"},{"author":{"_account_id":1192,"name":"David Kranz","email":"dkranz@redhat.com","username":"david-kranz"},"change_message_id":"59b76d4905a69ad53001a0c36435decd429c3a6e","unresolved":false,"context_lines":[{"line_number":64,"context_line":"Alternatives"},{"line_number":65,"context_line":"------------"},{"line_number":66,"context_line":""},{"line_number":67,"context_line":"None."},{"line_number":68,"context_line":""},{"line_number":69,"context_line":""},{"line_number":70,"context_line":"Implementation"}],"source_content_type":"text/x-rst","patch_set":3,"id":"1aca2d91_430cd6ec","line":67,"in_reply_to":"3acd31a7_40561f5d","updated":"2015-05-08 18:20:34.000000000","message":"Tempest also has a similar functionality: tempest/cmd/cleanup.py. I suggest comparing functionality or fixing the version in tempest. Maybe tempest_lib would be a better place for this, and for the cleanup code in general.\n\nWhat about cases where a rally scenario creates a tenant, and then deletes it but some resources are left around.","commit_id":"e46f66fa6dc5fa81dba73eeb970fbd26d6b5650f"},{"author":{"_account_id":11748,"name":"Chris St. Pierre","email":"cstpierr@cisco.com","username":"stpierre"},"change_message_id":"2eb863994aeb10ca5d12517bae21f7baf9aee5ee","unresolved":false,"context_lines":[{"line_number":77,"context_line":"  wtakase aka Wataru Takase"},{"line_number":78,"context_line":""},{"line_number":79,"context_line":"Other contributors:"},{"line_number":80,"context_line":"  rvasilets aka Roman Vasilets"},{"line_number":81,"context_line":""},{"line_number":82,"context_line":""},{"line_number":83,"context_line":"Work Items"}],"source_content_type":"text/x-rst","patch_set":3,"id":"7a016987_d33362f5","line":80,"updated":"2015-05-26 16:35:12.000000000","message":"You can add me here as well, since I\u0027ve got a mostly-working change to rework generate_random_name()","commit_id":"e46f66fa6dc5fa81dba73eeb970fbd26d6b5650f"},{"author":{"_account_id":14138,"name":"Wataru Takase","email":"wataru.takase@kek.jp","username":"wtakase"},"change_message_id":"d986e1388f6e5c82ba24dbc7d50e0c5f2d72201a","unresolved":false,"context_lines":[{"line_number":77,"context_line":"  wtakase aka Wataru Takase"},{"line_number":78,"context_line":""},{"line_number":79,"context_line":"Other contributors:"},{"line_number":80,"context_line":"  rvasilets aka Roman Vasilets"},{"line_number":81,"context_line":""},{"line_number":82,"context_line":""},{"line_number":83,"context_line":"Work Items"}],"source_content_type":"text/x-rst","patch_set":3,"id":"7a016987_884b5359","line":80,"in_reply_to":"7a016987_d33362f5","updated":"2015-05-27 14:04:48.000000000","message":"Done","commit_id":"e46f66fa6dc5fa81dba73eeb970fbd26d6b5650f"},{"author":{"_account_id":11748,"name":"Chris St. Pierre","email":"cstpierr@cisco.com","username":"stpierre"},"change_message_id":"2eb863994aeb10ca5d12517bae21f7baf9aee5ee","unresolved":false,"context_lines":[{"line_number":84,"context_line":"----------"},{"line_number":85,"context_line":""},{"line_number":86,"context_line":"* Rework usage of generate_random_name() that should be called with specific"},{"line_number":87,"context_line":"  prefix: `_tmp_rally_xxxxxxxx_` or `_tmp_ctx_rally_xxxxxxxx_`."},{"line_number":88,"context_line":""},{"line_number":89,"context_line":"* (TODO) Need to consider how to deal resources which don\u0027t be named by"},{"line_number":90,"context_line":"  generate_random_name()."}],"source_content_type":"text/x-rst","patch_set":3,"id":"7a016987_d31c826c","line":87,"updated":"2015-05-26 16:35:12.000000000","message":"I\u0027ve actually already started work on this in parallel: https://review.openstack.org/#/c/184888/","commit_id":"e46f66fa6dc5fa81dba73eeb970fbd26d6b5650f"},{"author":{"_account_id":14138,"name":"Wataru Takase","email":"wataru.takase@kek.jp","username":"wtakase"},"change_message_id":"d986e1388f6e5c82ba24dbc7d50e0c5f2d72201a","unresolved":false,"context_lines":[{"line_number":84,"context_line":"----------"},{"line_number":85,"context_line":""},{"line_number":86,"context_line":"* Rework usage of generate_random_name() that should be called with specific"},{"line_number":87,"context_line":"  prefix: `_tmp_rally_xxxxxxxx_` or `_tmp_ctx_rally_xxxxxxxx_`."},{"line_number":88,"context_line":""},{"line_number":89,"context_line":"* (TODO) Need to consider how to deal resources which don\u0027t be named by"},{"line_number":90,"context_line":"  generate_random_name()."}],"source_content_type":"text/x-rst","patch_set":3,"id":"7a016987_48e9db19","line":87,"in_reply_to":"7a016987_d31c826c","updated":"2015-05-27 14:04:48.000000000","message":"Done","commit_id":"e46f66fa6dc5fa81dba73eeb970fbd26d6b5650f"},{"author":{"_account_id":8576,"name":"Yair Fried","email":"yfried@redhat.com","username":"yfried"},"change_message_id":"0a0a797e7998babebdf0a14e08c63ef72b620872","unresolved":false,"context_lines":[{"line_number":87,"context_line":"  prefix: `_tmp_rally_xxxxxxxx_` or `_tmp_ctx_rally_xxxxxxxx_`."},{"line_number":88,"context_line":""},{"line_number":89,"context_line":"* (TODO) Need to consider how to deal resources which don\u0027t be named by"},{"line_number":90,"context_line":"  generate_random_name()."},{"line_number":91,"context_line":""},{"line_number":92,"context_line":"* Add name prefix filter for deleting resource which has specified prefix."},{"line_number":93,"context_line":""}],"source_content_type":"text/x-rst","patch_set":3,"id":"3acd31a7_a0f2936d","line":90,"updated":"2015-05-04 07:47:04.000000000","message":"IMO, that\u0027s a bug - resources should be always named by this func.\n\nSo change that to - find resources that are created without generate_random_name() and fix that.\n\nTh exception here are resources like neutron ports are created as side-effect of other resources (routers, networks, servers). However, for this we have a solution - ports always have an \"owner\" so cleanup should check port\u0027s owner\u0027s name.\nI\u0027m unfamiliar with other resources that don\u0027t have a name.","commit_id":"e46f66fa6dc5fa81dba73eeb970fbd26d6b5650f"},{"author":{"_account_id":14138,"name":"Wataru Takase","email":"wataru.takase@kek.jp","username":"wtakase"},"change_message_id":"d986e1388f6e5c82ba24dbc7d50e0c5f2d72201a","unresolved":false,"context_lines":[{"line_number":87,"context_line":"  prefix: `_tmp_rally_xxxxxxxx_` or `_tmp_ctx_rally_xxxxxxxx_`."},{"line_number":88,"context_line":""},{"line_number":89,"context_line":"* (TODO) Need to consider how to deal resources which don\u0027t be named by"},{"line_number":90,"context_line":"  generate_random_name()."},{"line_number":91,"context_line":""},{"line_number":92,"context_line":"* Add name prefix filter for deleting resource which has specified prefix."},{"line_number":93,"context_line":""}],"source_content_type":"text/x-rst","patch_set":3,"id":"7a016987_c3e7ec10","line":90,"in_reply_to":"1aca2d91_23e55adb","updated":"2015-05-27 14:04:48.000000000","message":"Done","commit_id":"e46f66fa6dc5fa81dba73eeb970fbd26d6b5650f"},{"author":{"_account_id":14138,"name":"Wataru Takase","email":"wataru.takase@kek.jp","username":"wtakase"},"change_message_id":"d986e1388f6e5c82ba24dbc7d50e0c5f2d72201a","unresolved":false,"context_lines":[{"line_number":87,"context_line":"  prefix: `_tmp_rally_xxxxxxxx_` or `_tmp_ctx_rally_xxxxxxxx_`."},{"line_number":88,"context_line":""},{"line_number":89,"context_line":"* (TODO) Need to consider how to deal resources which don\u0027t be named by"},{"line_number":90,"context_line":"  generate_random_name()."},{"line_number":91,"context_line":""},{"line_number":92,"context_line":"* Add name prefix filter for deleting resource which has specified prefix."},{"line_number":93,"context_line":""}],"source_content_type":"text/x-rst","patch_set":3,"id":"7a016987_e3df8838","line":90,"in_reply_to":"3acd31a7_a0f2936d","updated":"2015-05-27 14:04:48.000000000","message":"Done","commit_id":"e46f66fa6dc5fa81dba73eeb970fbd26d6b5650f"},{"author":{"_account_id":1192,"name":"David Kranz","email":"dkranz@redhat.com","username":"david-kranz"},"change_message_id":"59b76d4905a69ad53001a0c36435decd429c3a6e","unresolved":false,"context_lines":[{"line_number":87,"context_line":"  prefix: `_tmp_rally_xxxxxxxx_` or `_tmp_ctx_rally_xxxxxxxx_`."},{"line_number":88,"context_line":""},{"line_number":89,"context_line":"* (TODO) Need to consider how to deal resources which don\u0027t be named by"},{"line_number":90,"context_line":"  generate_random_name()."},{"line_number":91,"context_line":""},{"line_number":92,"context_line":"* Add name prefix filter for deleting resource which has specified prefix."},{"line_number":93,"context_line":""}],"source_content_type":"text/x-rst","patch_set":3,"id":"1aca2d91_23e55adb","line":90,"in_reply_to":"3acd31a7_a0f2936d","updated":"2015-05-08 18:20:34.000000000","message":"floating ips. Not sure how to deal with that in the admin cleanup case.","commit_id":"e46f66fa6dc5fa81dba73eeb970fbd26d6b5650f"},{"author":{"_account_id":11748,"name":"Chris St. Pierre","email":"cstpierr@cisco.com","username":"stpierre"},"change_message_id":"99947e17e466fcb858bbaae8b0022b37432437ef","unresolved":false,"context_lines":[{"line_number":56,"context_line":"* Prefix `-tmp-rally_xxxxxxxx-` is for resources created by Rally."},{"line_number":57,"context_line":"  These are deleted after task finished by UserCleanup.cleanup()."},{"line_number":58,"context_line":""},{"line_number":59,"context_line":"* Prefix `-tmp-ctx-rally-xxxxxxxx-` is for resources created by context."},{"line_number":60,"context_line":"  These are deleted when the environment is not necessary by the context class"},{"line_number":61,"context_line":"  cleanup()."},{"line_number":62,"context_line":""}],"source_content_type":"text/x-rst","patch_set":5,"id":"7a016987_49d67a28","line":59,"updated":"2015-05-27 14:39:49.000000000","message":"In comments on https://review.openstack.org/#/c/184888/1/rally/common/utils.py, Andrey Kurilin pointed out that Heat and Murano resources must start with a letter. :(\n\nNaming and off-by-one errors: Still the three hardest problems in IT.","commit_id":"84b78b08acdbd0f08d91032e9345748f10fa7006"},{"author":{"_account_id":14138,"name":"Wataru Takase","email":"wataru.takase@kek.jp","username":"wtakase"},"change_message_id":"d223fe024028d6dae2b14c2345e2eae61de791a0","unresolved":false,"context_lines":[{"line_number":56,"context_line":"* Prefix `-tmp-rally_xxxxxxxx-` is for resources created by Rally."},{"line_number":57,"context_line":"  These are deleted after task finished by UserCleanup.cleanup()."},{"line_number":58,"context_line":""},{"line_number":59,"context_line":"* Prefix `-tmp-ctx-rally-xxxxxxxx-` is for resources created by context."},{"line_number":60,"context_line":"  These are deleted when the environment is not necessary by the context class"},{"line_number":61,"context_line":"  cleanup()."},{"line_number":62,"context_line":""}],"source_content_type":"text/x-rst","patch_set":5,"id":"fa32b979_0af1a694","line":59,"in_reply_to":"7a016987_49d67a28","updated":"2015-06-19 06:23:00.000000000","message":"Done","commit_id":"84b78b08acdbd0f08d91032e9345748f10fa7006"},{"author":{"_account_id":11748,"name":"Chris St. Pierre","email":"cstpierr@cisco.com","username":"stpierre"},"change_message_id":"99947e17e466fcb858bbaae8b0022b37432437ef","unresolved":false,"context_lines":[{"line_number":106,"context_line":"  generate_random_name(). For example, Neutron ports which are created as"},{"line_number":107,"context_line":"  side-effect of other resources (routers, networks, servers) don\u0027t have"},{"line_number":108,"context_line":"  resource names. In this case, ports always have an \"owner\" so cleanup should"},{"line_number":109,"context_line":"  check port\u0027s owner\u0027s name. And what about floaing IPs?"},{"line_number":110,"context_line":""},{"line_number":111,"context_line":"* Add name prefix filter for deleting resource which has specified prefix."},{"line_number":112,"context_line":""}],"source_content_type":"text/x-rst","patch_set":5,"id":"7a016987_2941fe0b","line":109,"updated":"2015-05-27 14:39:49.000000000","message":"s/floaing/floating/","commit_id":"84b78b08acdbd0f08d91032e9345748f10fa7006"},{"author":{"_account_id":14138,"name":"Wataru Takase","email":"wataru.takase@kek.jp","username":"wtakase"},"change_message_id":"d223fe024028d6dae2b14c2345e2eae61de791a0","unresolved":false,"context_lines":[{"line_number":106,"context_line":"  generate_random_name(). For example, Neutron ports which are created as"},{"line_number":107,"context_line":"  side-effect of other resources (routers, networks, servers) don\u0027t have"},{"line_number":108,"context_line":"  resource names. In this case, ports always have an \"owner\" so cleanup should"},{"line_number":109,"context_line":"  check port\u0027s owner\u0027s name. And what about floaing IPs?"},{"line_number":110,"context_line":""},{"line_number":111,"context_line":"* Add name prefix filter for deleting resource which has specified prefix."},{"line_number":112,"context_line":""}],"source_content_type":"text/x-rst","patch_set":5,"id":"fa32b979_0a768605","line":109,"in_reply_to":"7a016987_2941fe0b","updated":"2015-06-19 06:23:00.000000000","message":"Done","commit_id":"84b78b08acdbd0f08d91032e9345748f10fa7006"},{"author":{"_account_id":11748,"name":"Chris St. Pierre","email":"cstpierr@cisco.com","username":"stpierre"},"change_message_id":"99947e17e466fcb858bbaae8b0022b37432437ef","unresolved":false,"context_lines":[{"line_number":119,"context_line":"Dependencies"},{"line_number":120,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"},{"line_number":121,"context_line":""},{"line_number":122,"context_line":"* Add name pattern filter for resource cleanup:"},{"line_number":123,"context_line":"  https://review.openstack.org/#/c/139643/"},{"line_number":124,"context_line":""},{"line_number":125,"context_line":"* Finish support of benchmarking with existing users:"}],"source_content_type":"text/x-rst","patch_set":5,"id":"7a016987_89b91218","line":122,"updated":"2015-05-27 14:39:49.000000000","message":"Boris pointed me to this yesterday, and it seems to cover a lot of the same ground as my patch (https://review.openstack.org/#/c/184888/), but with a very different approach. We should probably catch up at some point and decide which approach we want to use going forward (or if we want to somehow merge the two -- I haven\u0027t delved very deeply into your patch yet).","commit_id":"84b78b08acdbd0f08d91032e9345748f10fa7006"},{"author":{"_account_id":14138,"name":"Wataru Takase","email":"wataru.takase@kek.jp","username":"wtakase"},"change_message_id":"d223fe024028d6dae2b14c2345e2eae61de791a0","unresolved":false,"context_lines":[{"line_number":119,"context_line":"Dependencies"},{"line_number":120,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"},{"line_number":121,"context_line":""},{"line_number":122,"context_line":"* Add name pattern filter for resource cleanup:"},{"line_number":123,"context_line":"  https://review.openstack.org/#/c/139643/"},{"line_number":124,"context_line":""},{"line_number":125,"context_line":"* Finish support of benchmarking with existing users:"}],"source_content_type":"text/x-rst","patch_set":5,"id":"fa32b979_0aac468a","line":122,"in_reply_to":"7a016987_89b91218","updated":"2015-06-19 06:23:00.000000000","message":"Sorry for the delay. I checked your patch quickly and I like your approach. \nMy patch contains two things: reworking generate_random_name and adding resource cleanup filter.\nIt would be better to split them.\nSo if you continue to work in your patch, it\u0027s fine for me. Then my patch will be for adding resource cleanup filter.","commit_id":"84b78b08acdbd0f08d91032e9345748f10fa7006"},{"author":{"_account_id":6835,"name":"Kun Huang","email":"gareth@openstacker.org","username":"academicgareth"},"change_message_id":"81c884136aa570842beaae0b3b1f9fade1e078ff","unresolved":false,"context_lines":[{"line_number":32,"context_line":"#. Disaster cleanup."},{"line_number":33,"context_line":""},{"line_number":34,"context_line":"   Delete all resources created by Rally even if we lose Rally DB and all"},{"line_number":35,"context_line":"   information related to created by Rally resources."},{"line_number":36,"context_line":""},{"line_number":37,"context_line":"#. Isolated task"},{"line_number":38,"context_line":""}],"source_content_type":"text/x-rst","patch_set":6,"id":"fa32b979_d150e70c","line":35,"updated":"2015-06-23 03:52:30.000000000","message":"The resources created by rally are recorded in Rally DB now? I don\u0027t get whole meanings of this use case :)","commit_id":"37d0aa809aca44c425a9d1a2f4bf58b4772e90c9"},{"author":{"_account_id":14138,"name":"Wataru Takase","email":"wataru.takase@kek.jp","username":"wtakase"},"change_message_id":"7acad29f3038f7e11489aef652e1044def2f8350","unresolved":false,"context_lines":[{"line_number":32,"context_line":"#. Disaster cleanup."},{"line_number":33,"context_line":""},{"line_number":34,"context_line":"   Delete all resources created by Rally even if we lose Rally DB and all"},{"line_number":35,"context_line":"   information related to created by Rally resources."},{"line_number":36,"context_line":""},{"line_number":37,"context_line":"#. Isolated task"},{"line_number":38,"context_line":""}],"source_content_type":"text/x-rst","patch_set":6,"id":"fa1b9901_6f15353e","line":35,"in_reply_to":"fa32b979_d150e70c","updated":"2015-08-20 06:16:48.000000000","message":"No. I changed this description.","commit_id":"37d0aa809aca44c425a9d1a2f4bf58b4772e90c9"},{"author":{"_account_id":12395,"name":"Roman Vasylets","email":"pomeo92@gmail.com","username":"rvasilets"},"change_message_id":"a2f2878b14e3a7f9039c194ad309c293da65441e","unresolved":false,"context_lines":[{"line_number":97,"context_line":"----------"},{"line_number":98,"context_line":""},{"line_number":99,"context_line":"* Rework usage of generate_random_name() that should be called with specific"},{"line_number":100,"context_line":"  prefix: `tmp-rally-xxxxxxxx-` or `tmp-ctx-rally-xxxxxxxx-`."},{"line_number":101,"context_line":"  There is a patch: https://review.openstack.org/#/c/184888/"},{"line_number":102,"context_line":""},{"line_number":103,"context_line":"* Find resources that are created without generate_random_name() and fix that."}],"source_content_type":"text/x-rst","patch_set":6,"id":"fa32b979_ee7004df","line":100,"updated":"2015-06-19 14:00:04.000000000","message":"We need to come up with solution of the issue https://github.com/openstack/ironic/blob/master/ironic/api/controllers/v1/utils.py#L99 Ironic can\u0027t use such name for nodes. They will rise error! So rises a question: Could we use such pattern for other projects?","commit_id":"37d0aa809aca44c425a9d1a2f4bf58b4772e90c9"},{"author":{"_account_id":11748,"name":"Chris St. Pierre","email":"cstpierr@cisco.com","username":"stpierre"},"change_message_id":"22b310e5b5b14a138757f41ae1e8b0e07a154ab4","unresolved":false,"context_lines":[{"line_number":97,"context_line":"----------"},{"line_number":98,"context_line":""},{"line_number":99,"context_line":"* Rework usage of generate_random_name() that should be called with specific"},{"line_number":100,"context_line":"  prefix: `tmp-rally-xxxxxxxx-` or `tmp-ctx-rally-xxxxxxxx-`."},{"line_number":101,"context_line":"  There is a patch: https://review.openstack.org/#/c/184888/"},{"line_number":102,"context_line":""},{"line_number":103,"context_line":"* Find resources that are created without generate_random_name() and fix that."}],"source_content_type":"text/x-rst","patch_set":6,"id":"fa32b979_e8f4caf1","line":100,"in_reply_to":"fa32b979_9919817c","updated":"2015-06-24 14:51:42.000000000","message":"I\u0027ve been thinking about this lately, and I think we should make it configurable, ideally in several different ways:\n\n* Globally in rally.conf;\n* At the top level of the (new-style) job description YAML template; or\n* In each individual scenario description.\n\nWe could have two settings -- resource_name_format and context_resource_name_format, for instance -- and support \u0027mktemp\u0027-style strings. So the defaults would be:\n\n    resource_name_format \u003d tmp-rally-XXXXXXXX\n    context_resource_name_format \u003d tmp-ctx-rally-XXXXXXXX\n\nA third setting, resource_name_allowed_characters, would define the set of characters that could be used for the random portion. By default, it would be string.letters + string.numbers.\n\nWe\u0027ve seen how difficult it is to arrive at a single naming convention that works for all OpenStack projects, but as Rally expands beyond benchmarking OpenStack alone, it is quite simply impossible to create a single name format that will work for literally everything. That\u0027s why I propose to make this configurable in multiple places; that way I could use the same Rally installation to benchmark OpenStack (where the default formats will hopefully work fine) and also another system that perhaps disallows dashes. Additionally, I could configure Rally to use basic random names for some scenarios, while using all printable unicode for Nova scenarios, since Nova is generally fairly good about supporting that. (We\u0027d need some clever ways to set resource_name_allowed_characters to permit things like \"all printable Unicode\" without requiring the end user to actually write out all printable Unicode characters.)\n\nObviously a lot of new work would need to go into this; AFAIK, that kind of granular configuration isn\u0027t currently possible, so we\u0027ll probably be looking at adding new keys to the job and scenario description YAML.\n\nThoughts?","commit_id":"37d0aa809aca44c425a9d1a2f4bf58b4772e90c9"},{"author":{"_account_id":12395,"name":"Roman Vasylets","email":"pomeo92@gmail.com","username":"rvasilets"},"change_message_id":"a5e141278444828eec4680245202a4464bc09141","unresolved":false,"context_lines":[{"line_number":97,"context_line":"----------"},{"line_number":98,"context_line":""},{"line_number":99,"context_line":"* Rework usage of generate_random_name() that should be called with specific"},{"line_number":100,"context_line":"  prefix: `tmp-rally-xxxxxxxx-` or `tmp-ctx-rally-xxxxxxxx-`."},{"line_number":101,"context_line":"  There is a patch: https://review.openstack.org/#/c/184888/"},{"line_number":102,"context_line":""},{"line_number":103,"context_line":"* Find resources that are created without generate_random_name() and fix that."}],"source_content_type":"text/x-rst","patch_set":6,"id":"fa32b979_6ec64d9b","line":100,"in_reply_to":"fa32b979_e8f4caf1","updated":"2015-06-25 14:57:16.000000000","message":"Agree. We need to make it configurable","commit_id":"37d0aa809aca44c425a9d1a2f4bf58b4772e90c9"},{"author":{"_account_id":11748,"name":"Chris St. Pierre","email":"cstpierr@cisco.com","username":"stpierre"},"change_message_id":"438e098766ac0da05385648cca313e17e3a7260c","unresolved":false,"context_lines":[{"line_number":97,"context_line":"----------"},{"line_number":98,"context_line":""},{"line_number":99,"context_line":"* Rework usage of generate_random_name() that should be called with specific"},{"line_number":100,"context_line":"  prefix: `tmp-rally-xxxxxxxx-` or `tmp-ctx-rally-xxxxxxxx-`."},{"line_number":101,"context_line":"  There is a patch: https://review.openstack.org/#/c/184888/"},{"line_number":102,"context_line":""},{"line_number":103,"context_line":"* Find resources that are created without generate_random_name() and fix that."}],"source_content_type":"text/x-rst","patch_set":6,"id":"fa32b979_9919817c","line":100,"in_reply_to":"fa32b979_ee7004df","updated":"2015-06-19 15:00:39.000000000","message":"It looks like this pattern would work for Ironic if we got rid of the trailing dash and made the random portion was all lowercase. (This latter requirement is actually a bug, and I\u0027ve proposed a fix: https://review.openstack.org/193587)\n\nWould tmp-(ctx-)?-rally-xxxxxxxx work for everything?","commit_id":"37d0aa809aca44c425a9d1a2f4bf58b4772e90c9"},{"author":{"_account_id":12395,"name":"Roman Vasylets","email":"pomeo92@gmail.com","username":"rvasilets"},"change_message_id":"31db75725aab4718dca2c6473d8a28e6ac30fb5a","unresolved":false,"context_lines":[{"line_number":126,"context_line":"  https://review.openstack.org/#/c/168524/"},{"line_number":127,"context_line":""},{"line_number":128,"context_line":"* Add support of persistence benchmark environment:"},{"line_number":129,"context_line":"  https://github.com/stackforge/rally/blob/master/doc/feature_request/persistence_benchmark_env.rst"},{"line_number":130,"context_line":""},{"line_number":131,"context_line":"* Production ready cleanups:"},{"line_number":132,"context_line":"  https://github.com/stackforge/rally/blob/master/doc/feature_request/production_ready_cleanup.rst"}],"source_content_type":"text/x-rst","patch_set":6,"id":"fa32b979_767618da","line":129,"updated":"2015-06-19 09:53:49.000000000","message":"need to fix stackforge \u003d\u003e openstack","commit_id":"37d0aa809aca44c425a9d1a2f4bf58b4772e90c9"},{"author":{"_account_id":14138,"name":"Wataru Takase","email":"wataru.takase@kek.jp","username":"wtakase"},"change_message_id":"7acad29f3038f7e11489aef652e1044def2f8350","unresolved":false,"context_lines":[{"line_number":126,"context_line":"  https://review.openstack.org/#/c/168524/"},{"line_number":127,"context_line":""},{"line_number":128,"context_line":"* Add support of persistence benchmark environment:"},{"line_number":129,"context_line":"  https://github.com/stackforge/rally/blob/master/doc/feature_request/persistence_benchmark_env.rst"},{"line_number":130,"context_line":""},{"line_number":131,"context_line":"* Production ready cleanups:"},{"line_number":132,"context_line":"  https://github.com/stackforge/rally/blob/master/doc/feature_request/production_ready_cleanup.rst"}],"source_content_type":"text/x-rst","patch_set":6,"id":"fa1b9901_6f3c55c8","line":129,"in_reply_to":"fa32b979_767618da","updated":"2015-08-20 06:16:48.000000000","message":"Done","commit_id":"37d0aa809aca44c425a9d1a2f4bf58b4772e90c9"},{"author":{"_account_id":12395,"name":"Roman Vasylets","email":"pomeo92@gmail.com","username":"rvasilets"},"change_message_id":"31db75725aab4718dca2c6473d8a28e6ac30fb5a","unresolved":false,"context_lines":[{"line_number":129,"context_line":"  https://github.com/stackforge/rally/blob/master/doc/feature_request/persistence_benchmark_env.rst"},{"line_number":130,"context_line":""},{"line_number":131,"context_line":"* Production ready cleanups:"},{"line_number":132,"context_line":"  https://github.com/stackforge/rally/blob/master/doc/feature_request/production_ready_cleanup.rst"}],"source_content_type":"text/x-rst","patch_set":6,"id":"fa32b979_965abc4f","line":132,"updated":"2015-06-19 09:53:49.000000000","message":"the same","commit_id":"37d0aa809aca44c425a9d1a2f4bf58b4772e90c9"},{"author":{"_account_id":14138,"name":"Wataru Takase","email":"wataru.takase@kek.jp","username":"wtakase"},"change_message_id":"7acad29f3038f7e11489aef652e1044def2f8350","unresolved":false,"context_lines":[{"line_number":129,"context_line":"  https://github.com/stackforge/rally/blob/master/doc/feature_request/persistence_benchmark_env.rst"},{"line_number":130,"context_line":""},{"line_number":131,"context_line":"* Production ready cleanups:"},{"line_number":132,"context_line":"  https://github.com/stackforge/rally/blob/master/doc/feature_request/production_ready_cleanup.rst"}],"source_content_type":"text/x-rst","patch_set":6,"id":"fa1b9901_8f39a9d9","line":132,"in_reply_to":"fa32b979_965abc4f","updated":"2015-08-20 06:16:48.000000000","message":"Done","commit_id":"37d0aa809aca44c425a9d1a2f4bf58b4772e90c9"},{"author":{"_account_id":8840,"name":"Carlos L. Torres","email":"carlos.torres@rackspace.com","username":"carl6796"},"change_message_id":"80243f2f49ee3f2d5694e8db5e0c7e86e07b54aa","unresolved":false,"context_lines":[{"line_number":23,"context_line":""},{"line_number":24,"context_line":"   Keep existing resources instead of deleting all resources in the tenants."},{"line_number":25,"context_line":""},{"line_number":26,"context_line":"#. Persistence benchmark context."},{"line_number":27,"context_line":""},{"line_number":28,"context_line":"   Create benchmark environment once before benchmarking. After that run some"},{"line_number":29,"context_line":"   amount of benchmarks that are using it and at the end just delete all"}],"source_content_type":"text/x-rst","patch_set":7,"id":"9a41bdd9_61a32801","line":26,"updated":"2015-07-14 18:20:15.000000000","message":"Isn\u0027t this a whole new feature, and not just a refactor? IMHO this should be its own spec.","commit_id":"c891cd429d183c2d233e6b6b3b0d37811f15c666"},{"author":{"_account_id":14138,"name":"Wataru Takase","email":"wataru.takase@kek.jp","username":"wtakase"},"change_message_id":"f3cf2e12fbfc16ba7951f19eedfd1998af2e4380","unresolved":false,"context_lines":[{"line_number":23,"context_line":""},{"line_number":24,"context_line":"   Keep existing resources instead of deleting all resources in the tenants."},{"line_number":25,"context_line":""},{"line_number":26,"context_line":"#. Persistence benchmark context."},{"line_number":27,"context_line":""},{"line_number":28,"context_line":"   Create benchmark environment once before benchmarking. After that run some"},{"line_number":29,"context_line":"   amount of benchmarks that are using it and at the end just delete all"}],"source_content_type":"text/x-rst","patch_set":7,"id":"fa1b9901_4fb4f133","line":26,"in_reply_to":"9a41bdd9_61a32801","updated":"2015-08-20 06:17:14.000000000","message":"Yes, this is new feature and cannot be implemented by only this refactoring. This feature depends on the refactoring. I agree with you to create a spec.","commit_id":"c891cd429d183c2d233e6b6b3b0d37811f15c666"},{"author":{"_account_id":8840,"name":"Carlos L. Torres","email":"carlos.torres@rackspace.com","username":"carl6796"},"change_message_id":"80243f2f49ee3f2d5694e8db5e0c7e86e07b54aa","unresolved":false,"context_lines":[{"line_number":90,"context_line":""},{"line_number":91,"context_line":""},{"line_number":92,"context_line":"Work Items"},{"line_number":93,"context_line":"----------"},{"line_number":94,"context_line":""},{"line_number":95,"context_line":"* Consider how to deal resources which don\u0027t be named by"},{"line_number":96,"context_line":"  generate_random_name(). For example, Neutron ports which are created as"}],"source_content_type":"text/x-rst","patch_set":7,"id":"9a41bdd9_01ba5c0a","line":93,"updated":"2015-07-14 18:20:15.000000000","message":"It is not clear what is the work required for each of the 5 use-cases you listed above. \n\nCan you please organize the work items per their use case?","commit_id":"c891cd429d183c2d233e6b6b3b0d37811f15c666"},{"author":{"_account_id":14138,"name":"Wataru Takase","email":"wataru.takase@kek.jp","username":"wtakase"},"change_message_id":"f3cf2e12fbfc16ba7951f19eedfd1998af2e4380","unresolved":false,"context_lines":[{"line_number":90,"context_line":""},{"line_number":91,"context_line":""},{"line_number":92,"context_line":"Work Items"},{"line_number":93,"context_line":"----------"},{"line_number":94,"context_line":""},{"line_number":95,"context_line":"* Consider how to deal resources which don\u0027t be named by"},{"line_number":96,"context_line":"  generate_random_name(). For example, Neutron ports which are created as"}],"source_content_type":"text/x-rst","patch_set":7,"id":"fa1b9901_4f463150","line":93,"in_reply_to":"9a41bdd9_01ba5c0a","updated":"2015-08-20 06:17:14.000000000","message":"I added information that which use-case requires which work items.","commit_id":"c891cd429d183c2d233e6b6b3b0d37811f15c666"},{"author":{"_account_id":6835,"name":"Kun Huang","email":"gareth@openstacker.org","username":"academicgareth"},"change_message_id":"97fbdb428ea1902d729aef80a26eb4860ff57164","unresolved":false,"context_lines":[{"line_number":54,"context_line":"  `UserCleanup.cleanup()`."},{"line_number":55,"context_line":""},{"line_number":56,"context_line":"* Resources created by contexts are deleted when the environment is"},{"line_number":57,"context_line":"  not necessary by the context class `cleanup()`."},{"line_number":58,"context_line":""},{"line_number":59,"context_line":""},{"line_number":60,"context_line":"Alternatives"}],"source_content_type":"text/x-rst","patch_set":8,"id":"da20952f_8fde40db","line":57,"updated":"2015-09-01 06:45:21.000000000","message":"BTW, rally cleanups resources after task finishing and context exiting now. What\u0027s the change here?","commit_id":"94461a0985d872958bcf80762ec952ede3fb37fd"}]}
