)]}'
{"specs/tempest-library.rst":[{"author":{"_account_id":7498,"name":"Malini Kamalambal","email":"malini.kamalambal@rackspace.com","username":"malini-pk"},"change_message_id":"5dbcaa71f28bb24392ea3396089e83815f1d8d87","unresolved":false,"context_lines":[{"line_number":20,"context_line":"Problem description"},{"line_number":21,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"},{"line_number":22,"context_line":""},{"line_number":23,"context_line":"For several year tempest has been the integrated test suite for OpenStack."},{"line_number":24,"context_line":"However, recently as the scope and complexity of tempest have continued to grow"},{"line_number":25,"context_line":"we\u0027ve found that there is a need for project specific functional testing. With"},{"line_number":26,"context_line":"the ease of spinning up devstack slaves for testing this is a simple thing to"}],"source_content_type":"text/x-rst","patch_set":1,"id":"baada198_fcc8d357","line":23,"updated":"2014-07-25 16:51:08.000000000","message":"nit: year(s)","commit_id":"891795ca7f4f2825e017508d462e689401ff4881"},{"author":{"_account_id":5196,"name":"Matthew Treinish","email":"mtreinish@kortar.org","username":"treinish"},"change_message_id":"99116547af0245f8ab996963ca0d22b2bb192eb6","unresolved":false,"context_lines":[{"line_number":20,"context_line":"Problem description"},{"line_number":21,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"},{"line_number":22,"context_line":""},{"line_number":23,"context_line":"For several year tempest has been the integrated test suite for OpenStack."},{"line_number":24,"context_line":"However, recently as the scope and complexity of tempest have continued to grow"},{"line_number":25,"context_line":"we\u0027ve found that there is a need for project specific functional testing. With"},{"line_number":26,"context_line":"the ease of spinning up devstack slaves for testing this is a simple thing to"}],"source_content_type":"text/x-rst","patch_set":1,"id":"baada198_65b506cf","line":23,"in_reply_to":"baada198_fcc8d357","updated":"2014-07-25 18:05:33.000000000","message":"Done","commit_id":"891795ca7f4f2825e017508d462e689401ff4881"},{"author":{"_account_id":6167,"name":"Ken\u0027ichi Ohmichi","email":"ken1ohmichi@gmail.com","username":"oomichi"},"change_message_id":"588c8be85ca7ee858a7fd4a5c36182e16732a59b","unresolved":false,"context_lines":[{"line_number":26,"context_line":"the ease of spinning up devstack slaves for testing this is a simple thing to"},{"line_number":27,"context_line":"add to the ci infrastructure. However writing the functional test suite is not"},{"line_number":28,"context_line":"as straightforward and would require a great deal of duplicated effort between"},{"line_number":29,"context_line":"the projects"},{"line_number":30,"context_line":""},{"line_number":31,"context_line":"Proposed change"},{"line_number":32,"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":1,"id":"baada198_baf75459","line":29,"updated":"2014-07-25 05:09:38.000000000","message":"very nit: s/projects/projects./","commit_id":"891795ca7f4f2825e017508d462e689401ff4881"},{"author":{"_account_id":5196,"name":"Matthew Treinish","email":"mtreinish@kortar.org","username":"treinish"},"change_message_id":"d35ee1ab7d93047f46d9ceffad25a0e9eac2110b","unresolved":false,"context_lines":[{"line_number":26,"context_line":"the ease of spinning up devstack slaves for testing this is a simple thing to"},{"line_number":27,"context_line":"add to the ci infrastructure. However writing the functional test suite is not"},{"line_number":28,"context_line":"as straightforward and would require a great deal of duplicated effort between"},{"line_number":29,"context_line":"the projects"},{"line_number":30,"context_line":""},{"line_number":31,"context_line":"Proposed change"},{"line_number":32,"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":1,"id":"baada198_a4f3ab9d","line":29,"in_reply_to":"baada198_baf75459","updated":"2014-07-25 14:38:44.000000000","message":"Done","commit_id":"891795ca7f4f2825e017508d462e689401ff4881"},{"author":{"_account_id":8556,"name":"Ghanshyam Maan","display_name":"Ghanshyam Maan","email":"gmaan.os14@gmail.com","username":"ghanshyam"},"change_message_id":"f2688c68bf39b8a46e13440702dc325beab9bdcf","unresolved":false,"context_lines":[{"line_number":33,"context_line":""},{"line_number":34,"context_line":"Take what common test infrastructure we have currently in tempest and split it"},{"line_number":35,"context_line":"out into a separate library. This library will live in a separate repository,"},{"line_number":36,"context_line":"published on pypi, have a separate bug tracker, and enforce a stable api for"},{"line_number":37,"context_line":"use. (which will be enforced with unit testing) The intent is for this library"},{"line_number":38,"context_line":"to be usable to build a functional test suite using the same building blocks as"},{"line_number":39,"context_line":"Tempest."}],"source_content_type":"text/x-rst","patch_set":1,"id":"baada198_44d73a23","line":36,"updated":"2014-07-25 08:14:03.000000000","message":"any chance those can be placed in oslo? (may be in future once they are stable)","commit_id":"891795ca7f4f2825e017508d462e689401ff4881"},{"author":{"_account_id":5196,"name":"Matthew Treinish","email":"mtreinish@kortar.org","username":"treinish"},"change_message_id":"d35ee1ab7d93047f46d9ceffad25a0e9eac2110b","unresolved":false,"context_lines":[{"line_number":33,"context_line":""},{"line_number":34,"context_line":"Take what common test infrastructure we have currently in tempest and split it"},{"line_number":35,"context_line":"out into a separate library. This library will live in a separate repository,"},{"line_number":36,"context_line":"published on pypi, have a separate bug tracker, and enforce a stable api for"},{"line_number":37,"context_line":"use. (which will be enforced with unit testing) The intent is for this library"},{"line_number":38,"context_line":"to be usable to build a functional test suite using the same building blocks as"},{"line_number":39,"context_line":"Tempest."}],"source_content_type":"text/x-rst","patch_set":1,"id":"baada198_a1fd5d3d","line":36,"in_reply_to":"baada198_44d73a23","updated":"2014-07-25 14:38:44.000000000","message":"So the answer is no. This is something that I feel specifically doesn\u0027t belong in oslo. (while I will agree that there is overlap with the oslo mission statement) Just because it\u0027s a common library to be used by other services it doesn\u0027t mean that it\u0027s automatically part of oslo. \n\nA good example of this is the keystone middleware library.","commit_id":"891795ca7f4f2825e017508d462e689401ff4881"},{"author":{"_account_id":1192,"name":"David Kranz","email":"dkranz@redhat.com","username":"david-kranz"},"change_message_id":"23b48536d0be3c1694b44f3c386d6b8b72c27837","unresolved":false,"context_lines":[{"line_number":40,"context_line":""},{"line_number":41,"context_line":"As functionality is moved from Tempest into the library it may need to be"},{"line_number":42,"context_line":"refactored slightly to be portable. For example, the RestClient and the service"},{"line_number":43,"context_line":"clients will need to be refactored to not depend on the tempest config file."},{"line_number":44,"context_line":"These changes should occur at the same time the functionality is added to the"},{"line_number":45,"context_line":"library."},{"line_number":46,"context_line":""}],"source_content_type":"text/x-rst","patch_set":1,"id":"baada198_d77eb6e2","line":43,"updated":"2014-07-24 16:01:29.000000000","message":"I believe they should be more refactored than that, to not force the callers to serialize/deserialize or call addCleanUp all the time. Here is a straw-man example of what that could mean https://review.openstack.org/#/c/106916/","commit_id":"891795ca7f4f2825e017508d462e689401ff4881"},{"author":{"_account_id":1192,"name":"David Kranz","email":"dkranz@redhat.com","username":"david-kranz"},"change_message_id":"d196f097607945b3aaf6a3b8364876c8484509cc","unresolved":false,"context_lines":[{"line_number":40,"context_line":""},{"line_number":41,"context_line":"As functionality is moved from Tempest into the library it may need to be"},{"line_number":42,"context_line":"refactored slightly to be portable. For example, the RestClient and the service"},{"line_number":43,"context_line":"clients will need to be refactored to not depend on the tempest config file."},{"line_number":44,"context_line":"These changes should occur at the same time the functionality is added to the"},{"line_number":45,"context_line":"library."},{"line_number":46,"context_line":""}],"source_content_type":"text/x-rst","patch_set":1,"id":"baada198_75ca1ba1","line":43,"in_reply_to":"baada198_3acb321f","updated":"2014-07-25 14:47:01.000000000","message":"I think I am being misunderstood. I sent an email to dev list trying to clarify. What I am saying is not that tempest should use a non-tempest client. I am saying that the low-level checking, json handling, etc. should be done in the tempest client code, not the tempest test code, and that we should make the tempest rest client api map more naturally to what the actual rest API looks like.","commit_id":"891795ca7f4f2825e017508d462e689401ff4881"},{"author":{"_account_id":5196,"name":"Matthew Treinish","email":"mtreinish@kortar.org","username":"treinish"},"change_message_id":"d35ee1ab7d93047f46d9ceffad25a0e9eac2110b","unresolved":false,"context_lines":[{"line_number":40,"context_line":""},{"line_number":41,"context_line":"As functionality is moved from Tempest into the library it may need to be"},{"line_number":42,"context_line":"refactored slightly to be portable. For example, the RestClient and the service"},{"line_number":43,"context_line":"clients will need to be refactored to not depend on the tempest config file."},{"line_number":44,"context_line":"These changes should occur at the same time the functionality is added to the"},{"line_number":45,"context_line":"library."},{"line_number":46,"context_line":""}],"source_content_type":"text/x-rst","patch_set":1,"id":"baada198_3acb321f","line":43,"in_reply_to":"baada198_d77eb6e2","updated":"2014-07-25 14:38:44.000000000","message":"So I actually disagree on this point, we\u0027re not trying to write a new unified client for general consumption (there\u0027s a separate project for that). Some of the big advantages of the tempest clients come from the fact that they doesn\u0027t automagically do things, and that it deals in relatively raw python dicts. This has major advantages for testing because it gives more control and it\u0027s easier to verify things are working. Sure it\u0027s a bit easier to make mistakes, but I think that\u0027s fine, especially since it\u0027s not targetted for end users.\n\nBased on that patch, what I think you\u0027re actually talking about (at least for the serialization part) is a different return type, instead of a dict you\u0027d like an object with attrs for the keys. I actually don\u0027t think this is something we want. Part of the issue with the official clients that we have for testing is that they abstract away too much, which prevents us from testing what we need to. Which is a part of the reason we\u0027re moving away from using the official clients in the scenario tests.\n\nI get where your coming from with trying to make it easier to plug in an official client in place of tempest, but I actually don\u0027t want to work towards that if it means removing the advantages of the tempest client. These differences are there for good reasons. From another perspective the python-*clients are a mess with no consistency between them so if we started going for a unified interface between them it will just mean that","commit_id":"891795ca7f4f2825e017508d462e689401ff4881"},{"author":{"_account_id":8556,"name":"Ghanshyam Maan","display_name":"Ghanshyam Maan","email":"gmaan.os14@gmail.com","username":"ghanshyam"},"change_message_id":"f2688c68bf39b8a46e13440702dc325beab9bdcf","unresolved":false,"context_lines":[{"line_number":42,"context_line":"refactored slightly to be portable. For example, the RestClient and the service"},{"line_number":43,"context_line":"clients will need to be refactored to not depend on the tempest config file."},{"line_number":44,"context_line":"These changes should occur at the same time the functionality is added to the"},{"line_number":45,"context_line":"library."},{"line_number":46,"context_line":""},{"line_number":47,"context_line":"Once a set of functionality is ported to the library it can be removed from"},{"line_number":48,"context_line":"tempest tree and the library used instead. This will ensure that we aren\u0027t"}],"source_content_type":"text/x-rst","patch_set":1,"id":"baada198_e45cce1c","line":45,"updated":"2014-07-25 08:14:03.000000000","message":"Even provide more accurate/needed resources for tests. Means only required resources can be fetched from lib instead of initializing all for each type of tests.","commit_id":"891795ca7f4f2825e017508d462e689401ff4881"},{"author":{"_account_id":5196,"name":"Matthew Treinish","email":"mtreinish@kortar.org","username":"treinish"},"change_message_id":"d35ee1ab7d93047f46d9ceffad25a0e9eac2110b","unresolved":false,"context_lines":[{"line_number":42,"context_line":"refactored slightly to be portable. For example, the RestClient and the service"},{"line_number":43,"context_line":"clients will need to be refactored to not depend on the tempest config file."},{"line_number":44,"context_line":"These changes should occur at the same time the functionality is added to the"},{"line_number":45,"context_line":"library."},{"line_number":46,"context_line":""},{"line_number":47,"context_line":"Once a set of functionality is ported to the library it can be removed from"},{"line_number":48,"context_line":"tempest tree and the library used instead. This will ensure that we aren\u0027t"}],"source_content_type":"text/x-rst","patch_set":1,"id":"baada198_24031b0e","line":45,"in_reply_to":"baada198_e45cce1c","updated":"2014-07-25 14:38:44.000000000","message":"Yes that\u0027s a potential advantage with moving code into the library. Although it will still requiring reworking in tempest to avoid initializing clients which aren\u0027t used.\n\nSee: https://review.openstack.org/#/c/92804/ for that spec it doesn\u0027t actually matter where the clients are coming from. (either in-tree or a outside lib)","commit_id":"891795ca7f4f2825e017508d462e689401ff4881"},{"author":{"_account_id":6167,"name":"Ken\u0027ichi Ohmichi","email":"ken1ohmichi@gmail.com","username":"oomichi"},"change_message_id":"588c8be85ca7ee858a7fd4a5c36182e16732a59b","unresolved":false,"context_lines":[{"line_number":53,"context_line":"added to Tempest before having non-Tempest devstack jobs was a simple matter. By"},{"line_number":54,"context_line":"there very nature they should be a project specific functional test so adding"},{"line_number":55,"context_line":"CLI framework to the library should make it quite simple to move those tests out"},{"line_number":56,"context_line":"of Tempest."},{"line_number":57,"context_line":""},{"line_number":58,"context_line":""},{"line_number":59,"context_line":"Alternatives"}],"source_content_type":"text/x-rst","patch_set":1,"id":"baada198_da27a8c5","line":56,"updated":"2014-07-25 05:09:38.000000000","message":"I agree that the functions related to CLI tests will be ported to a library and these tests will be moved to each project. That seems nice direction.\n\nThis spec covers API tests also and it is necessary to describe the reason why each project will have to use the Tempest REST Client instead of python-***client. I guess the reason is the same as why we are moving scenario test clients to the Tempest REST Clients. but we need to clarify it now because we will have to explain it for each project with the concrete reason.","commit_id":"891795ca7f4f2825e017508d462e689401ff4881"},{"author":{"_account_id":5196,"name":"Matthew Treinish","email":"mtreinish@kortar.org","username":"treinish"},"change_message_id":"99116547af0245f8ab996963ca0d22b2bb192eb6","unresolved":false,"context_lines":[{"line_number":53,"context_line":"added to Tempest before having non-Tempest devstack jobs was a simple matter. By"},{"line_number":54,"context_line":"there very nature they should be a project specific functional test so adding"},{"line_number":55,"context_line":"CLI framework to the library should make it quite simple to move those tests out"},{"line_number":56,"context_line":"of Tempest."},{"line_number":57,"context_line":""},{"line_number":58,"context_line":""},{"line_number":59,"context_line":"Alternatives"}],"source_content_type":"text/x-rst","patch_set":1,"id":"baada198_05ac4a34","line":56,"in_reply_to":"baada198_9f2a697c","updated":"2014-07-25 18:05:33.000000000","message":"So with regard to the testing scope, that\u0027s a broader discussion that\u0027s happening on the ML right. It\u0027s way outside the scope of this BP.  Honestly, though don\u0027t see us having a least the start of an answer until the K summit in Nov. Part of it is data collection so that we can figure out which parts are important to keep in tempest and which aren\u0027t. The other part of it is growing the experience needed for spinning up the functional testing in the projects.\n\nWhat I think the right starting place is starting with the CLI test migration and growing organically from there. The thing to remember is that the scope of the functional testing is going to be a per project decision, and I think having some duplicated effort is fine.","commit_id":"891795ca7f4f2825e017508d462e689401ff4881"},{"author":{"_account_id":5196,"name":"Matthew Treinish","email":"mtreinish@kortar.org","username":"treinish"},"change_message_id":"d35ee1ab7d93047f46d9ceffad25a0e9eac2110b","unresolved":false,"context_lines":[{"line_number":53,"context_line":"added to Tempest before having non-Tempest devstack jobs was a simple matter. By"},{"line_number":54,"context_line":"there very nature they should be a project specific functional test so adding"},{"line_number":55,"context_line":"CLI framework to the library should make it quite simple to move those tests out"},{"line_number":56,"context_line":"of Tempest."},{"line_number":57,"context_line":""},{"line_number":58,"context_line":""},{"line_number":59,"context_line":"Alternatives"}],"source_content_type":"text/x-rst","patch_set":1,"id":"baada198_a4772b3a","line":56,"in_reply_to":"baada198_da27a8c5","updated":"2014-07-25 14:38:44.000000000","message":"There is actually no requirement to do that. The library will provide the tempest clients as an interface for testing. I was not planning on baking them into the base test class or anything like that. I\u0027ll add some prose around this to make it clear.","commit_id":"891795ca7f4f2825e017508d462e689401ff4881"},{"author":{"_account_id":7498,"name":"Malini Kamalambal","email":"malini.kamalambal@rackspace.com","username":"malini-pk"},"change_message_id":"5dbcaa71f28bb24392ea3396089e83815f1d8d87","unresolved":false,"context_lines":[{"line_number":53,"context_line":"added to Tempest before having non-Tempest devstack jobs was a simple matter. By"},{"line_number":54,"context_line":"there very nature they should be a project specific functional test so adding"},{"line_number":55,"context_line":"CLI framework to the library should make it quite simple to move those tests out"},{"line_number":56,"context_line":"of Tempest."},{"line_number":57,"context_line":""},{"line_number":58,"context_line":""},{"line_number":59,"context_line":"Alternatives"}],"source_content_type":"text/x-rst","patch_set":1,"id":"baada198_9f2a697c","line":56,"in_reply_to":"baada198_da27a8c5","updated":"2014-07-25 16:51:08.000000000","message":"This is a really cool effort - we can save a lot of effort by projects having to write their separate modules :)\n\nw.r.t specs, It will be good to also define,\n1) what the scope of project level functional tests should be, to avoid these from being interpreted as glorified unit tests.\n2) what types of tests will continue to be in Tempest.","commit_id":"891795ca7f4f2825e017508d462e689401ff4881"},{"author":{"_account_id":5689,"name":"Masayuki Igawa","email":"masayuki@igawa.io","username":"igawa"},"change_message_id":"c0fc604f1f08154021b27e56b9f46d28c20eb7dc","unresolved":false,"context_lines":[{"line_number":59,"context_line":"Alternatives"},{"line_number":60,"context_line":"------------"},{"line_number":61,"context_line":""},{"line_number":62,"context_line":"One alternative is that we we modify code inside of Tempest to do the same basic"},{"line_number":63,"context_line":"functionality. The issue with this is that tempest will become overloaded with"},{"line_number":64,"context_line":"having too many jobs. Additionally, the new library could conceivably contain"},{"line_number":65,"context_line":"features and code that would have no place inside of Tempest, but would belong"}],"source_content_type":"text/x-rst","patch_set":1,"id":"baada198_a4473d1c","line":62,"updated":"2014-07-25 05:29:36.000000000","message":"nit, I think double \u0027we\u0027 should be removed.","commit_id":"891795ca7f4f2825e017508d462e689401ff4881"},{"author":{"_account_id":5196,"name":"Matthew Treinish","email":"mtreinish@kortar.org","username":"treinish"},"change_message_id":"d35ee1ab7d93047f46d9ceffad25a0e9eac2110b","unresolved":false,"context_lines":[{"line_number":59,"context_line":"Alternatives"},{"line_number":60,"context_line":"------------"},{"line_number":61,"context_line":""},{"line_number":62,"context_line":"One alternative is that we we modify code inside of Tempest to do the same basic"},{"line_number":63,"context_line":"functionality. The issue with this is that tempest will become overloaded with"},{"line_number":64,"context_line":"having too many jobs. Additionally, the new library could conceivably contain"},{"line_number":65,"context_line":"features and code that would have no place inside of Tempest, but would belong"}],"source_content_type":"text/x-rst","patch_set":1,"id":"baada198_618345cb","line":62,"in_reply_to":"baada198_a4473d1c","updated":"2014-07-25 14:38:44.000000000","message":"Done","commit_id":"891795ca7f4f2825e017508d462e689401ff4881"},{"author":{"_account_id":5689,"name":"Masayuki Igawa","email":"masayuki@igawa.io","username":"igawa"},"change_message_id":"c0fc604f1f08154021b27e56b9f46d28c20eb7dc","unresolved":false,"context_lines":[{"line_number":81,"context_line":"----------"},{"line_number":82,"context_line":""},{"line_number":83,"context_line":"Target Milestone for completion:"},{"line_number":84,"context_line":"  Juno-3"},{"line_number":85,"context_line":""},{"line_number":86,"context_line":"Work Items"},{"line_number":87,"context_line":"----------"}],"source_content_type":"text/x-rst","patch_set":1,"id":"baada198_846cf937","line":84,"updated":"2014-07-25 05:29:36.000000000","message":"I\u0027m not sure this is enough for this work. It\u0027s left only about 1 month until Juno-3.\nTime flies. But of course, you may be able to do this :)","commit_id":"891795ca7f4f2825e017508d462e689401ff4881"},{"author":{"_account_id":5196,"name":"Matthew Treinish","email":"mtreinish@kortar.org","username":"treinish"},"change_message_id":"d35ee1ab7d93047f46d9ceffad25a0e9eac2110b","unresolved":false,"context_lines":[{"line_number":81,"context_line":"----------"},{"line_number":82,"context_line":""},{"line_number":83,"context_line":"Target Milestone for completion:"},{"line_number":84,"context_line":"  Juno-3"},{"line_number":85,"context_line":""},{"line_number":86,"context_line":"Work Items"},{"line_number":87,"context_line":"----------"}],"source_content_type":"text/x-rst","patch_set":1,"id":"baada198_c4717f0e","line":84,"in_reply_to":"baada198_846cf937","updated":"2014-07-25 14:38:44.000000000","message":"Well, it really will be an ongoing effort, what I\u0027m really proposing here is starting a new project in the QA Program. \n\nThat being said I think Sept. 4th is probably a bit too aggresive for at least completing the work items I listed below, I\u0027ll change it to the Juno release which will give us a bit more time.","commit_id":"891795ca7f4f2825e017508d462e689401ff4881"},{"author":{"_account_id":1192,"name":"David Kranz","email":"dkranz@redhat.com","username":"david-kranz"},"change_message_id":"23b48536d0be3c1694b44f3c386d6b8b72c27837","unresolved":false,"context_lines":[{"line_number":89,"context_line":" * Start new repository for the library"},{"line_number":90,"context_line":""},{"line_number":91,"context_line":"   * Create launchpad page for the project"},{"line_number":92,"context_line":"   * Create PyPI entry for the project "},{"line_number":93,"context_line":""},{"line_number":94,"context_line":" * Copy base test class and other core functionality to run tests"},{"line_number":95,"context_line":" * Copy and remove config and tempest specific code from CLI test framework"}],"source_content_type":"text/x-rst","patch_set":1,"id":"baada198_b764e249","line":92,"updated":"2014-07-24 16:01:29.000000000","message":"whitespace","commit_id":"891795ca7f4f2825e017508d462e689401ff4881"},{"author":{"_account_id":5196,"name":"Matthew Treinish","email":"mtreinish@kortar.org","username":"treinish"},"change_message_id":"d35ee1ab7d93047f46d9ceffad25a0e9eac2110b","unresolved":false,"context_lines":[{"line_number":89,"context_line":" * Start new repository for the library"},{"line_number":90,"context_line":""},{"line_number":91,"context_line":"   * Create launchpad page for the project"},{"line_number":92,"context_line":"   * Create PyPI entry for the project "},{"line_number":93,"context_line":""},{"line_number":94,"context_line":" * Copy base test class and other core functionality to run tests"},{"line_number":95,"context_line":" * Copy and remove config and tempest specific code from CLI test framework"}],"source_content_type":"text/x-rst","patch_set":1,"id":"baada198_c4709f43","line":92,"in_reply_to":"baada198_b764e249","updated":"2014-07-25 14:38:44.000000000","message":"Done","commit_id":"891795ca7f4f2825e017508d462e689401ff4881"},{"author":{"_account_id":7498,"name":"Malini Kamalambal","email":"malini.kamalambal@rackspace.com","username":"malini-pk"},"change_message_id":"5dbcaa71f28bb24392ea3396089e83815f1d8d87","unresolved":false,"context_lines":[{"line_number":103,"context_line":"   * Matchers"},{"line_number":104,"context_line":"   * SSH validation code"},{"line_number":105,"context_line":""},{"line_number":106,"context_line":" * Copy and convert the Tempest REST Client and service clients"},{"line_number":107,"context_line":""},{"line_number":108,"context_line":"Dependencies"},{"line_number":109,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"}],"source_content_type":"text/x-rst","patch_set":1,"id":"baada198_9f78a990","line":106,"updated":"2014-07-25 16:51:08.000000000","message":"Do you also need a guinea pig project that will implement the CLI tests with the new library?","commit_id":"891795ca7f4f2825e017508d462e689401ff4881"},{"author":{"_account_id":5196,"name":"Matthew Treinish","email":"mtreinish@kortar.org","username":"treinish"},"change_message_id":"99116547af0245f8ab996963ca0d22b2bb192eb6","unresolved":false,"context_lines":[{"line_number":103,"context_line":"   * Matchers"},{"line_number":104,"context_line":"   * SSH validation code"},{"line_number":105,"context_line":""},{"line_number":106,"context_line":" * Copy and convert the Tempest REST Client and service clients"},{"line_number":107,"context_line":""},{"line_number":108,"context_line":"Dependencies"},{"line_number":109,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"}],"source_content_type":"text/x-rst","patch_set":1,"id":"baada198_c5e7b2e1","line":106,"in_reply_to":"baada198_9f78a990","updated":"2014-07-25 18:05:33.000000000","message":"So Joe Gordon volunteered to do python-novaclient as soon as I publish the library. But, if you want to spearhead things for Marconi at roughly the same time that would be great too.","commit_id":"891795ca7f4f2825e017508d462e689401ff4881"},{"author":{"_account_id":5689,"name":"Masayuki Igawa","email":"masayuki@igawa.io","username":"igawa"},"change_message_id":"c0fc604f1f08154021b27e56b9f46d28c20eb7dc","unresolved":false,"context_lines":[{"line_number":104,"context_line":"   * SSH validation code"},{"line_number":105,"context_line":""},{"line_number":106,"context_line":" * Copy and convert the Tempest REST Client and service clients"},{"line_number":107,"context_line":""},{"line_number":108,"context_line":"Dependencies"},{"line_number":109,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"},{"line_number":110,"context_line":""}],"source_content_type":"text/x-rst","patch_set":1,"id":"baada198_e42775c5","line":107,"updated":"2014-07-25 05:29:36.000000000","message":"I don\u0027t understand that when will Tempest use the new Tempest library. Is that out of scope here?","commit_id":"891795ca7f4f2825e017508d462e689401ff4881"},{"author":{"_account_id":5196,"name":"Matthew Treinish","email":"mtreinish@kortar.org","username":"treinish"},"change_message_id":"d35ee1ab7d93047f46d9ceffad25a0e9eac2110b","unresolved":false,"context_lines":[{"line_number":104,"context_line":"   * SSH validation code"},{"line_number":105,"context_line":""},{"line_number":106,"context_line":" * Copy and convert the Tempest REST Client and service clients"},{"line_number":107,"context_line":""},{"line_number":108,"context_line":"Dependencies"},{"line_number":109,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"},{"line_number":110,"context_line":""}],"source_content_type":"text/x-rst","patch_set":1,"id":"baada198_e46e832b","line":107,"in_reply_to":"baada198_e42775c5","updated":"2014-07-25 14:38:44.000000000","message":"So I thought I put that in the proposed change section, the plan was to migrate as we migrate things to the the library. For example, this is a the workflow I envisioned for the CLI test:\n\n* Move the CLI common functionality to the new library\n* Switch the test classes to use the CLI stuff from the library\n* Delete the CLI common functionality from tempest\n\nWe would iterate over everything as we made the migration to using the external library. I specifically want to avoid maintaing the same functionality in 2 places. I\u0027ll elaborate on it more in the next rev.","commit_id":"891795ca7f4f2825e017508d462e689401ff4881"},{"author":{"_account_id":5689,"name":"Masayuki Igawa","email":"masayuki@igawa.io","username":"igawa"},"change_message_id":"eaae204b64d716ea78b736467e028001e1725e89","unresolved":false,"context_lines":[{"line_number":54,"context_line":" #. Add CLI base test classes with core functionality to the new library"},{"line_number":55,"context_line":" #. Switch the tempest CLI tests to use the library instead"},{"line_number":56,"context_line":" #. Remove code in tempest which has been switched to the library"},{"line_number":57,"context_line":" #. Add a functional test suite to the novaclient repository and copy the "},{"line_number":58,"context_line":"    appropriate CLI tests from tempest"},{"line_number":59,"context_line":" #. Remove the copied novaclient CLI tests from tempest"},{"line_number":60,"context_line":""}],"source_content_type":"text/x-rst","patch_set":2,"id":"baada198_9d45ea9c","line":57,"updated":"2014-07-28 09:54:07.000000000","message":"very nit: white space","commit_id":"7475e32733bac2b2fe3bc09a92042c4466b3a99f"},{"author":{"_account_id":2284,"name":"Eoghan Glynn","email":"eglynn@redhat.com","username":"eglynn"},"change_message_id":"ba17a64b3fc8144e2b8c54b4c5054f8e5ac2d903","unresolved":false,"context_lines":[{"line_number":100,"context_line":"----------"},{"line_number":101,"context_line":""},{"line_number":102,"context_line":"Target Milestone for completion:"},{"line_number":103,"context_line":"  Juno Release"},{"line_number":104,"context_line":""},{"line_number":105,"context_line":"Work Items"},{"line_number":106,"context_line":"----------"}],"source_content_type":"text/x-rst","patch_set":2,"id":"baada198_4d329910","line":103,"updated":"2014-07-29 08:20:30.000000000","message":"Is this the target for completion of just the libification effort, or for completion *and* adoption by the project-specific functional test suites?","commit_id":"7475e32733bac2b2fe3bc09a92042c4466b3a99f"},{"author":{"_account_id":5196,"name":"Matthew Treinish","email":"mtreinish@kortar.org","username":"treinish"},"change_message_id":"98559af358df67f5a02b82d40b0e08efc9127489","unresolved":false,"context_lines":[{"line_number":100,"context_line":"----------"},{"line_number":101,"context_line":""},{"line_number":102,"context_line":"Target Milestone for completion:"},{"line_number":103,"context_line":"  Juno Release"},{"line_number":104,"context_line":""},{"line_number":105,"context_line":"Work Items"},{"line_number":106,"context_line":"----------"}],"source_content_type":"text/x-rst","patch_set":2,"id":"baada198_46b17000","line":103,"in_reply_to":"baada198_4d329910","updated":"2014-07-30 01:36:33.000000000","message":"Just the libification work, realistically by the release it\u0027ll probably just be the base library with the CLI framework, the rest client port and other stuff I expect will probably take more time.\n\nThe adoption and usage of the library in functional test suites is way outside the scope of a qa-spec. This BP is just about converting parts of tempest into a library.","commit_id":"7475e32733bac2b2fe3bc09a92042c4466b3a99f"},{"author":{"_account_id":2284,"name":"Eoghan Glynn","email":"eglynn@redhat.com","username":"eglynn"},"change_message_id":"ba17a64b3fc8144e2b8c54b4c5054f8e5ac2d903","unresolved":false,"context_lines":[{"line_number":108,"context_line":" * Start new repository for the library"},{"line_number":109,"context_line":""},{"line_number":110,"context_line":"   * Create launchpad page for the project"},{"line_number":111,"context_line":"   * Create PyPI entry for the project"},{"line_number":112,"context_line":""},{"line_number":113,"context_line":" * Copy base test class and other core functionality to run tests"},{"line_number":114,"context_line":" * Copy and remove config and tempest specific code from CLI test framework"}],"source_content_type":"text/x-rst","patch_set":2,"id":"baada198_7f3700ff","line":111,"updated":"2014-07-29 08:20:30.000000000","message":"After having just spent 10 days waiting for the oslo-messaging 1.3.1 release to hit pypi, so as to pick up a fix that would have resolved much of the sporadic failures in the ceilometer unit tests around the juno-2 milestone, I\u0027d have a concern around the release cadence of this tempest library.\n\nIs the intent to release on-demand, or sync up with milestones? The nightmare scenario would be having a bunch of projects failing to gate because of a bug in tempest-lib, and everything being blocked awaiting the next tempest-lib release.\n\n(BTW there was a lot not to like in the \"managed copy\u0027n\u0027paste\" approach used by the original openstack-common, but at least it put control of when to sync and what to pick up directly in the hands of the projects)\n\nSo I think it would be good to have some language in this spec addressing how tempest-lib releases will be managed to avoid the bad scenario painted above.","commit_id":"7475e32733bac2b2fe3bc09a92042c4466b3a99f"},{"author":{"_account_id":5196,"name":"Matthew Treinish","email":"mtreinish@kortar.org","username":"treinish"},"change_message_id":"98559af358df67f5a02b82d40b0e08efc9127489","unresolved":false,"context_lines":[{"line_number":108,"context_line":" * Start new repository for the library"},{"line_number":109,"context_line":""},{"line_number":110,"context_line":"   * Create launchpad page for the project"},{"line_number":111,"context_line":"   * Create PyPI entry for the project"},{"line_number":112,"context_line":""},{"line_number":113,"context_line":" * Copy base test class and other core functionality to run tests"},{"line_number":114,"context_line":" * Copy and remove config and tempest specific code from CLI test framework"}],"source_content_type":"text/x-rst","patch_set":2,"id":"baada198_86cd4861","line":111,"in_reply_to":"baada198_7f3700ff","updated":"2014-07-30 01:36:33.000000000","message":"My plan is going to be a release often model, nothing will be tied to OpenStack release milestones. Instead it\u0027ll be feature/bugfix driven.  I\u0027m think about pushing a minor release for basically every feature added. With major version revs reserved for backwards incompatible changes.\n\nI\u0027m aware of most of, if not all of, the frustrations surrounding oslo libs and I don\u0027t want to duplicate that with this either. But honestly, I feel that talking about release models and cadence seems way premature considering there isn\u0027t even a repo yet. Let alone anything using the library.\n\nIf you\u0027re worried about the sync issue for a functional test job why not just install it from git in the functional jobs (once you add it and the library repo exists) Threre is nothing preventing you from doing that in the ceilometer jobs when you add them. But this is all stictly hypothetical because this is all vaporware at this point...","commit_id":"7475e32733bac2b2fe3bc09a92042c4466b3a99f"},{"author":{"_account_id":2284,"name":"Eoghan Glynn","email":"eglynn@redhat.com","username":"eglynn"},"change_message_id":"ba17a64b3fc8144e2b8c54b4c5054f8e5ac2d903","unresolved":false,"context_lines":[{"line_number":123,"context_line":"   * SSH validation code"},{"line_number":124,"context_line":""},{"line_number":125,"context_line":" * Copy and convert the Tempest REST Client and service clients"},{"line_number":126,"context_line":" * Add documentation and examples for using the libraries interfaces"},{"line_number":127,"context_line":""},{"line_number":128,"context_line":"Dependencies"},{"line_number":129,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"}],"source_content_type":"text/x-rst","patch_set":2,"id":"baada198_df39ecd0","line":126,"updated":"2014-07-29 08:20:30.000000000","message":"Lines 25-27 above:\n\n  With the ease of spinning up devstack slaves for testing this is a simple thing to add to the ci infrastructure.\n\nsuggest there is also a work-item to add this \"simple thing\" to the CI infrastructure, presumably a convenience wrapper around spinning up and shutting down devstack slaves for testing.","commit_id":"7475e32733bac2b2fe3bc09a92042c4466b3a99f"},{"author":{"_account_id":5196,"name":"Matthew Treinish","email":"mtreinish@kortar.org","username":"treinish"},"change_message_id":"98559af358df67f5a02b82d40b0e08efc9127489","unresolved":false,"context_lines":[{"line_number":123,"context_line":"   * SSH validation code"},{"line_number":124,"context_line":""},{"line_number":125,"context_line":" * Copy and convert the Tempest REST Client and service clients"},{"line_number":126,"context_line":" * Add documentation and examples for using the libraries interfaces"},{"line_number":127,"context_line":""},{"line_number":128,"context_line":"Dependencies"},{"line_number":129,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"}],"source_content_type":"text/x-rst","patch_set":2,"id":"baada198_e6eb64a2","line":126,"in_reply_to":"baada198_df39ecd0","updated":"2014-07-30 01:36:33.000000000","message":"That is also out of scope of this BP. That would be an infra or a devstack thing. This is just about making parts of tempest a library. This BP has nothing to do with actually with spinning up functional test jobs. While part of the goal of making tempest a library is to make writing parts of a project specific functional test suite easier. Actually doing that is an independent problem unrelated to the work I\u0027m proposing here.\n\nIf you\u0027re talking about setting up a devstack-gate like env for local testing take a look at: http://git.openstack.org/cgit/openstack-dev/devstack-vagrant/","commit_id":"7475e32733bac2b2fe3bc09a92042c4466b3a99f"}]}
