)]}'
{"specs/tempest/centralized-workspaces.rst":[{"author":{"_account_id":5196,"name":"Matthew Treinish","email":"mtreinish@kortar.org","username":"treinish"},"change_message_id":"168f08e0adf5bd03b29d6bf566e228914d70648f","unresolved":false,"context_lines":[{"line_number":27,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"},{"line_number":28,"context_line":""},{"line_number":29,"context_line":"Rather than have ``tempest init`` create workspaces in arbitrary directories,"},{"line_number":30,"context_line":"a more consistent approach would be to choose a single directory to contain"},{"line_number":31,"context_line":"Tempest workspaces. This provides a programmatic means to manage workspaces."},{"line_number":32,"context_line":""},{"line_number":33,"context_line":"+-----------------------+------------------------------+"},{"line_number":34,"context_line":"|        Action         |            Command           |"}],"source_content_type":"text/x-rst","patch_set":1,"id":"da6ed579_b27954ca","line":31,"range":{"start_line":30,"start_character":39,"end_line":31,"end_character":18},"updated":"2016-01-14 16:39:42.000000000","message":"This is a no go the idea behind tempest init is to not prescribe something like this. It\u0027s to enable users to create local working dirs wherever they need (and copy them around etc if needed. It\u0027s more supposed to be like the git init model. Restricting to a single dir to ease tracking isn\u0027t a good tradeoff.","commit_id":"8540b6e08aea6f98853a96133eeadffa702b4ead"},{"author":{"_account_id":5196,"name":"Matthew Treinish","email":"mtreinish@kortar.org","username":"treinish"},"change_message_id":"168f08e0adf5bd03b29d6bf566e228914d70648f","unresolved":false,"context_lines":[{"line_number":33,"context_line":"+-----------------------+------------------------------+"},{"line_number":34,"context_line":"|        Action         |            Command           |"},{"line_number":35,"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\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":36,"context_line":"| Create a workspace:   | tempest ws init \u003cname\u003e       |"},{"line_number":37,"context_line":"+-----------------------+------------------------------+"},{"line_number":38,"context_line":"| List workspaces:      | tempest ws list              |"},{"line_number":39,"context_line":"+-----------------------+------------------------------+"}],"source_content_type":"text/x-rst","patch_set":1,"id":"da6ed579_1da871da","line":36,"range":{"start_line":36,"start_character":2,"end_line":36,"end_character":55},"updated":"2016-01-14 16:39:42.000000000","message":"Why do we need to namespace init?","commit_id":"8540b6e08aea6f98853a96133eeadffa702b4ead"},{"author":{"_account_id":9364,"name":"Stephen Lowrie","email":"stephen.lowrie@rackspace.com","username":"step6829"},"change_message_id":"77b0c2d7ca16d920b8de13fa38aed13727691c1e","unresolved":false,"context_lines":[{"line_number":33,"context_line":"+-----------------------+------------------------------+"},{"line_number":34,"context_line":"|        Action         |            Command           |"},{"line_number":35,"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\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":36,"context_line":"| Create a workspace:   | tempest ws init \u003cname\u003e       |"},{"line_number":37,"context_line":"+-----------------------+------------------------------+"},{"line_number":38,"context_line":"| List workspaces:      | tempest ws list              |"},{"line_number":39,"context_line":"+-----------------------+------------------------------+"}],"source_content_type":"text/x-rst","patch_set":1,"id":"da6ed579_cc40e836","line":36,"range":{"start_line":36,"start_character":2,"end_line":36,"end_character":55},"in_reply_to":"da6ed579_1da871da","updated":"2016-01-14 17:15:46.000000000","message":"This specific command wouldn\u0027t make sense in the .tempest file alternative that seems to be what you\u0027re leaning towards. In the case of having a centralized directory structure it would create the directory in the correct location for tracking.\n\nIt might make more sense to make this command into a register command instead that will automatically add the current directory to tracking and allow you to name it.","commit_id":"8540b6e08aea6f98853a96133eeadffa702b4ead"},{"author":{"_account_id":5196,"name":"Matthew Treinish","email":"mtreinish@kortar.org","username":"treinish"},"change_message_id":"168f08e0adf5bd03b29d6bf566e228914d70648f","unresolved":false,"context_lines":[{"line_number":37,"context_line":"+-----------------------+------------------------------+"},{"line_number":38,"context_line":"| List workspaces:      | tempest ws list              |"},{"line_number":39,"context_line":"+-----------------------+------------------------------+"},{"line_number":40,"context_line":"| Delete a workspace:   | tempest ws delete \u003cname\u003e     |"},{"line_number":41,"context_line":"+-----------------------+------------------------------+"},{"line_number":42,"context_line":"| Run from a workspace: | tempest ws run \u003cname\u003e \u003cargs\u003e |"},{"line_number":43,"context_line":"+-----------------------+------------------------------+"}],"source_content_type":"text/x-rst","patch_set":1,"id":"da6ed579_3db8d5c7","line":40,"range":{"start_line":40,"start_character":2,"end_line":40,"end_character":55},"updated":"2016-01-14 16:39:42.000000000","message":"Why do we need to wrap rm -rf. I think this would just add extra complexity. This can easily be handled by the list command if something is no longer there.","commit_id":"8540b6e08aea6f98853a96133eeadffa702b4ead"},{"author":{"_account_id":5196,"name":"Matthew Treinish","email":"mtreinish@kortar.org","username":"treinish"},"change_message_id":"168f08e0adf5bd03b29d6bf566e228914d70648f","unresolved":false,"context_lines":[{"line_number":39,"context_line":"+-----------------------+------------------------------+"},{"line_number":40,"context_line":"| Delete a workspace:   | tempest ws delete \u003cname\u003e     |"},{"line_number":41,"context_line":"+-----------------------+------------------------------+"},{"line_number":42,"context_line":"| Run from a workspace: | tempest ws run \u003cname\u003e \u003cargs\u003e |"},{"line_number":43,"context_line":"+-----------------------+------------------------------+"},{"line_number":44,"context_line":""},{"line_number":45,"context_line":"Sample Directory Structure"}],"source_content_type":"text/x-rst","patch_set":1,"id":"da6ed579_5df58954","line":42,"range":{"start_line":42,"start_character":3,"end_line":42,"end_character":23},"updated":"2016-01-14 16:39:42.000000000","message":"This depends on tempest having it\u0027s own run command, which does not exist yet. The assumption for these workspace dirs is that you run a test runner from them, so this would literally just be\n\npushd $ws_dir\ntempest run\npopd $ws_dir\n\nI\u0027m not sure we need a command for people cd\u0027ing into the dir","commit_id":"8540b6e08aea6f98853a96133eeadffa702b4ead"},{"author":{"_account_id":5196,"name":"Matthew Treinish","email":"mtreinish@kortar.org","username":"treinish"},"change_message_id":"168f08e0adf5bd03b29d6bf566e228914d70648f","unresolved":false,"context_lines":[{"line_number":69,"context_line":"a ``.tempest`` file in the user\u0027s home directory to be used as a source of"},{"line_number":70,"context_line":"truth for Tempest workspaces. Any other operations would then use this file"},{"line_number":71,"context_line":"as a reference.  This file might not always be up to date if the user manually"},{"line_number":72,"context_line":"moves or deletes the workspace."},{"line_number":73,"context_line":""},{"line_number":74,"context_line":""},{"line_number":75,"context_line":"Projects"}],"source_content_type":"text/x-rst","patch_set":1,"id":"da6ed579_7d9ded64","line":72,"updated":"2016-01-14 16:39:42.000000000","message":"This is basically what we described at summit for doing a workspace listing. We discussed using the etc dir that tempest uses for base configurations that populate the initial workspaces, but a hidden file in the home dir works fine too.\n\nIf a directory is moved or removed when list is run you just delete that row from the tracking file. We should also have an import command to add existing workspaces that aren\u0027t tracked.","commit_id":"8540b6e08aea6f98853a96133eeadffa702b4ead"},{"author":{"_account_id":9364,"name":"Stephen Lowrie","email":"stephen.lowrie@rackspace.com","username":"step6829"},"change_message_id":"77b0c2d7ca16d920b8de13fa38aed13727691c1e","unresolved":false,"context_lines":[{"line_number":69,"context_line":"a ``.tempest`` file in the user\u0027s home directory to be used as a source of"},{"line_number":70,"context_line":"truth for Tempest workspaces. Any other operations would then use this file"},{"line_number":71,"context_line":"as a reference.  This file might not always be up to date if the user manually"},{"line_number":72,"context_line":"moves or deletes the workspace."},{"line_number":73,"context_line":""},{"line_number":74,"context_line":""},{"line_number":75,"context_line":"Projects"}],"source_content_type":"text/x-rst","patch_set":1,"id":"da6ed579_cc946844","line":72,"in_reply_to":"da6ed579_7d9ded64","updated":"2016-01-14 17:15:46.000000000","message":"Sure, I\u0027ll update the spec to be based around this design.","commit_id":"8540b6e08aea6f98853a96133eeadffa702b4ead"},{"author":{"_account_id":5196,"name":"Matthew Treinish","email":"mtreinish@kortar.org","username":"treinish"},"change_message_id":"489082afb7ad520d090dc15211b96c62f0e0d17c","unresolved":false,"context_lines":[{"line_number":45,"context_line":""},{"line_number":46,"context_line":"  \u003e cd ~/devstack"},{"line_number":47,"context_line":"  \u003e tempest init"},{"line_number":48,"context_line":"  \u003e tempest ws register devstack"},{"line_number":49,"context_line":""},{"line_number":50,"context_line":"  \u003e cd /etc/staging"},{"line_number":51,"context_line":"  \u003e tempest init"}],"source_content_type":"text/x-rst","patch_set":2,"id":"3a57f1b5_c308addc","line":48,"updated":"2016-02-12 20:31:19.000000000","message":"Is there a reason not to integrate this into tempest init? We can make it opt out so do --no-register or something on tempest init, but I\u0027m not sure why we\u0027d need to make this workflow 2 commands by default. I think keeping the register command is useful though as it\u0027ll let users add pre-existing workspaces or non-user created ones.","commit_id":"19574221444c62e982c64dfe464fa03fd3a36945"},{"author":{"_account_id":9364,"name":"Stephen Lowrie","email":"stephen.lowrie@rackspace.com","username":"step6829"},"change_message_id":"b990b7c49f8acb3a2f2062119c7f19dde7a55f92","unresolved":false,"context_lines":[{"line_number":45,"context_line":""},{"line_number":46,"context_line":"  \u003e cd ~/devstack"},{"line_number":47,"context_line":"  \u003e tempest init"},{"line_number":48,"context_line":"  \u003e tempest ws register devstack"},{"line_number":49,"context_line":""},{"line_number":50,"context_line":"  \u003e cd /etc/staging"},{"line_number":51,"context_line":"  \u003e tempest init"}],"source_content_type":"text/x-rst","patch_set":2,"id":"3a57f1b5_a30ed189","line":48,"in_reply_to":"3a57f1b5_c308addc","updated":"2016-02-12 20:39:20.000000000","message":"I think integrating it into tempest init is the cleaner choice while leaving the register command for pre-existing / non-user created workspaces like you mentioned.\n\nWould you prefer that it\u0027s something closer to the following (with tempest init auto-registering with a --no-register command)?\n\ntempest workspace (defaults to list)\ntempest workspace -register \u003cname\u003e -path \u003cpath (optional, defaults to current directory)\u003e\ntempest workspace -rename \u003cold\u003e \u003cnew\u003e","commit_id":"19574221444c62e982c64dfe464fa03fd3a36945"},{"author":{"_account_id":5196,"name":"Matthew Treinish","email":"mtreinish@kortar.org","username":"treinish"},"change_message_id":"489082afb7ad520d090dc15211b96c62f0e0d17c","unresolved":false,"context_lines":[{"line_number":65,"context_line":""},{"line_number":66,"context_line":"Rather than having a register command, the registration could be moved into"},{"line_number":67,"context_line":"``tempest init``. This would add a new parameter for name into init which would"},{"line_number":68,"context_line":"be optional. If a name is not specified it would create a unique name."},{"line_number":69,"context_line":""},{"line_number":70,"context_line":""},{"line_number":71,"context_line":"Example of Alternative"}],"source_content_type":"text/x-rst","patch_set":2,"id":"3a57f1b5_e30b69d4","line":68,"updated":"2016-02-12 20:31:19.000000000","message":"Doesn\u0027t init already take in an optional path argument? Why not just use the directory name from that?","commit_id":"19574221444c62e982c64dfe464fa03fd3a36945"},{"author":{"_account_id":9364,"name":"Stephen Lowrie","email":"stephen.lowrie@rackspace.com","username":"step6829"},"change_message_id":"b990b7c49f8acb3a2f2062119c7f19dde7a55f92","unresolved":false,"context_lines":[{"line_number":65,"context_line":""},{"line_number":66,"context_line":"Rather than having a register command, the registration could be moved into"},{"line_number":67,"context_line":"``tempest init``. This would add a new parameter for name into init which would"},{"line_number":68,"context_line":"be optional. If a name is not specified it would create a unique name."},{"line_number":69,"context_line":""},{"line_number":70,"context_line":""},{"line_number":71,"context_line":"Example of Alternative"}],"source_content_type":"text/x-rst","patch_set":2,"id":"3a57f1b5_83dcf546","line":68,"in_reply_to":"3a57f1b5_e30b69d4","updated":"2016-02-12 20:39:20.000000000","message":"I put in the unique name to remove collisions from happening when the directory has the same name as an existing workspace, I figured it worked better than having multiple workspaces with the same name and/or with numbered names (tempest, tempest2, tempest3 if 3 workspaces were to be registered in directories named tempest)","commit_id":"19574221444c62e982c64dfe464fa03fd3a36945"},{"author":{"_account_id":1980,"name":"jose-idar","email":"jose.idar@gmail.com","username":"jose-idar"},"change_message_id":"c680b655395fe21466f937bb2ce7e84a1e69e1eb","unresolved":false,"context_lines":[{"line_number":54,"context_line":"  | Name     |    Location    |"},{"line_number":55,"context_line":"  +----------+--------------- +"},{"line_number":56,"context_line":"  | devstack | /root/devstack |"},{"line_number":57,"context_line":"  | stagig   | /etc/staging   |"},{"line_number":58,"context_line":"  +----------+----------------+"},{"line_number":59,"context_line":""},{"line_number":60,"context_line":""}],"source_content_type":"text/x-rst","patch_set":3,"id":"9aed3d3a_50949f41","line":57,"range":{"start_line":57,"start_character":4,"end_line":57,"end_character":10},"updated":"2016-02-29 23:28:34.000000000","message":"spelling?","commit_id":"4cd8ec39dfb8df058aaef497fc9cecf149443970"},{"author":{"_account_id":1980,"name":"jose-idar","email":"jose.idar@gmail.com","username":"jose-idar"},"change_message_id":"c680b655395fe21466f937bb2ce7e84a1e69e1eb","unresolved":false,"context_lines":[{"line_number":85,"context_line":""},{"line_number":86,"context_line":"- Create argparse to handle new ``workspace`` command and subcommands"},{"line_number":87,"context_line":"- Create tracking file and class to represent it"},{"line_number":88,"context_line":"- Add code to list that deletes workspaces when locations no longer exist"},{"line_number":89,"context_line":""},{"line_number":90,"context_line":""},{"line_number":91,"context_line":"References"}],"source_content_type":"text/x-rst","patch_set":3,"id":"9aed3d3a_90ed87b9","line":88,"range":{"start_line":88,"start_character":24,"end_line":88,"end_character":31},"updated":"2016-02-29 23:28:34.000000000","message":"You might want to use \u0027unregisters\u0027 here instead.  Also, see line 30 above where this functionality is referred to as \"removes\".","commit_id":"4cd8ec39dfb8df058aaef497fc9cecf149443970"},{"author":{"_account_id":5196,"name":"Matthew Treinish","email":"mtreinish@kortar.org","username":"treinish"},"change_message_id":"9145ec20008b13a3116d1659fe73a8d3c1eb3764","unresolved":false,"context_lines":[{"line_number":9,"context_line":" Centralized Tempest Workspace Management"},{"line_number":10,"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\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"},{"line_number":11,"context_line":""},{"line_number":12,"context_line":"\u003cblueprint\u003e"},{"line_number":13,"context_line":""},{"line_number":14,"context_line":"Create a consistent means for creation and management of Tempest workspaces."},{"line_number":15,"context_line":""}],"source_content_type":"text/x-rst","patch_set":4,"id":"7af24918_361ecc63","line":12,"range":{"start_line":12,"start_character":1,"end_line":12,"end_character":10},"updated":"2016-03-01 18:48:32.000000000","message":"Do you have a blueprint to link the spec against? That\u0027s kind of a blocker because we need lp to link the reviews.","commit_id":"6fc10d63c8f0263e591307926676768f5ebdcf97"},{"author":{"_account_id":5689,"name":"Masayuki Igawa","email":"masayuki@igawa.io","username":"igawa"},"change_message_id":"f4fa8fe5a382809e6e0c862bcc805d01ad26ed28","unresolved":false,"context_lines":[{"line_number":78,"context_line":""},{"line_number":79,"context_line":"Target Milestone for completion:"},{"line_number":80,"context_line":""},{"line_number":81,"context_line":"- Mitaka-2"},{"line_number":82,"context_line":""},{"line_number":83,"context_line":"Work Items"},{"line_number":84,"context_line":"----------"}],"source_content_type":"text/x-rst","patch_set":5,"id":"5aef4532_548e522e","line":81,"updated":"2016-03-10 07:29:33.000000000","message":"This is already past :)","commit_id":"0d2ca0de474e80c6f63dc1d842259645329b6124"}]}
