)]}'
{"tempest/scenario/orchestration/templates/nova_keypair.template":[{"author":{"_account_id":4328,"name":"Steven Hardy","email":"steven.hardy@suse.com","username":"shardy"},"change_message_id":"c065d8387b8d2aeb1ba676a7b496a7b6e7b0c492","unresolved":false,"context_lines":[{"line_number":18,"context_line":"outputs:"},{"line_number":19,"context_line":"  PublicKey:"},{"line_number":20,"context_line":"    value: { get_attr: [KeyPair, public_key] }"},{"line_number":21,"context_line":"  PrivateKey:"},{"line_number":22,"context_line":"    value: { get_attr: [KeyPair, private_key] }"}],"source_content_type":"application/octet-stream","patch_set":1,"id":"AAAAWH%2F94nQ%3D","line":21,"updated":"2014-04-01 12:39:54.000000000","message":"personally I\u0027d prefer consistent_style here, and in general CFN templates use ResourceName and HOT templates use resource_name.","commit_id":"9ba3bd5e193fa312d66ca31668396c5ef5257778"}],"tempest/scenario/orchestration/test_sanity.py":[{"author":{"_account_id":4328,"name":"Steven Hardy","email":"steven.hardy@suse.com","username":"shardy"},"change_message_id":"c065d8387b8d2aeb1ba676a7b496a7b6e7b0c492","unresolved":false,"context_lines":[{"line_number":22,"context_line":"LOG \u003d logging.getLogger(__name__)"},{"line_number":23,"context_line":""},{"line_number":24,"context_line":""},{"line_number":25,"context_line":"class Sanity(manager.OrchestrationScenarioTest):"},{"line_number":26,"context_line":"    \u0027\u0027\u0027"},{"line_number":27,"context_line":"    This test is trying to simulate a basic usage of HEAT."},{"line_number":28,"context_line":"    The test creates a series of small stacks that can \u0027talk\u0027"}],"source_content_type":"text/x-python","patch_set":1,"id":"AAAAWH%2F94pM%3D","line":25,"updated":"2014-04-01 12:39:54.000000000","message":"I think we need a more descriptive name here.  \n\nHow about TestServerKeypair or something?  Then focus on a few tests around starting a server with either a keypair resource (at least two variants one with external public key, one generated) and another where you pass in an existing keypair (again we could test that e.g constraint valdation fails when the nova.keypair constraint is specified.","commit_id":"9ba3bd5e193fa312d66ca31668396c5ef5257778"},{"author":{"_account_id":4571,"name":"Steve Baker","email":"sbaker@redhat.com","username":"steve-stevebaker"},"change_message_id":"f97f6db82280f93d56bb24fab75000aa64a34680","unresolved":false,"context_lines":[{"line_number":22,"context_line":"LOG \u003d logging.getLogger(__name__)"},{"line_number":23,"context_line":""},{"line_number":24,"context_line":""},{"line_number":25,"context_line":"class Sanity(manager.OrchestrationScenarioTest):"},{"line_number":26,"context_line":"    \u0027\u0027\u0027"},{"line_number":27,"context_line":"    This test is trying to simulate a basic usage of HEAT."},{"line_number":28,"context_line":"    The test creates a series of small stacks that can \u0027talk\u0027"}],"source_content_type":"text/x-python","patch_set":1,"id":"AAAAWH%2F9Urw%3D","line":25,"in_reply_to":"AAAAWH%2F94ik%3D","updated":"2014-04-07 04:03:12.000000000","message":"\"sanity\" doesn\u0027t really describe the scenario that this test intends to cover. Please just choose a name which reflects the intent of the test.","commit_id":"9ba3bd5e193fa312d66ca31668396c5ef5257778"},{"author":{"_account_id":10090,"name":"Amit Ugol","email":"augol@redhat.com","username":"cmyster"},"change_message_id":"05a61f7e6d4fd9177563c82d731f343cb36d779c","unresolved":false,"context_lines":[{"line_number":22,"context_line":"LOG \u003d logging.getLogger(__name__)"},{"line_number":23,"context_line":""},{"line_number":24,"context_line":""},{"line_number":25,"context_line":"class Sanity(manager.OrchestrationScenarioTest):"},{"line_number":26,"context_line":"    \u0027\u0027\u0027"},{"line_number":27,"context_line":"    This test is trying to simulate a basic usage of HEAT."},{"line_number":28,"context_line":"    The test creates a series of small stacks that can \u0027talk\u0027"}],"source_content_type":"text/x-python","patch_set":1,"id":"AAAAWH%2F94ik%3D","line":25,"in_reply_to":"AAAAWH%2F94pM%3D","updated":"2014-04-01 14:15:45.000000000","message":"the test *is* meant to be a sanity test at the end. serverKeypair or the likes is limiting. I plan for more stacks and resources here.\nseveral keypairs and testing them is already covered in the API tests.","commit_id":"9ba3bd5e193fa312d66ca31668396c5ef5257778"},{"author":{"_account_id":4328,"name":"Steven Hardy","email":"steven.hardy@suse.com","username":"shardy"},"change_message_id":"c065d8387b8d2aeb1ba676a7b496a7b6e7b0c492","unresolved":false,"context_lines":[{"line_number":49,"context_line":"        stack \u003d self.client.stacks.get(stack_name)"},{"line_number":50,"context_line":"        return stack"},{"line_number":51,"context_line":""},{"line_number":52,"context_line":"    def create_stack(self, path, name, params):"},{"line_number":53,"context_line":"        \u0027\u0027\u0027"},{"line_number":54,"context_line":"        Stack creator"},{"line_number":55,"context_line":"        \u0027\u0027\u0027"}],"source_content_type":"text/x-python","patch_set":1,"id":"AAAAWH%2F94oQ%3D","line":52,"updated":"2014-04-01 12:39:54.000000000","message":"I think we need a common create_stack function, similar to what\u0027s in the API tests in a base class (bonus point for tracking id\u0027s for automated cleanup on teardown like in the API base.py)\n\nMaybe we could have a create_stack in the base OrchestrationScenarioTest class which takes a template, name and parameters, and waits for a given state (e.g CREATE_COMPLETE by default)","commit_id":"9ba3bd5e193fa312d66ca31668396c5ef5257778"},{"author":{"_account_id":10090,"name":"Amit Ugol","email":"augol@redhat.com","username":"cmyster"},"change_message_id":"05a61f7e6d4fd9177563c82d731f343cb36d779c","unresolved":false,"context_lines":[{"line_number":49,"context_line":"        stack \u003d self.client.stacks.get(stack_name)"},{"line_number":50,"context_line":"        return stack"},{"line_number":51,"context_line":""},{"line_number":52,"context_line":"    def create_stack(self, path, name, params):"},{"line_number":53,"context_line":"        \u0027\u0027\u0027"},{"line_number":54,"context_line":"        Stack creator"},{"line_number":55,"context_line":"        \u0027\u0027\u0027"}],"source_content_type":"text/x-python","patch_set":1,"id":"AAAAWH%2F94h0%3D","line":52,"in_reply_to":"AAAAWH%2F94oQ%3D","updated":"2014-04-01 14:15:45.000000000","message":"indeed. for lack of I added it here since its still a WIP. after this is more ready, this function might change and give an idea as to how to add it to the base.","commit_id":"9ba3bd5e193fa312d66ca31668396c5ef5257778"},{"author":{"_account_id":4328,"name":"Steven Hardy","email":"steven.hardy@suse.com","username":"shardy"},"change_message_id":"c065d8387b8d2aeb1ba676a7b496a7b6e7b0c492","unresolved":false,"context_lines":[{"line_number":61,"context_line":"        stack \u003d self.client.stacks.get(stack_name)"},{"line_number":62,"context_line":"        return stack"},{"line_number":63,"context_line":""},{"line_number":64,"context_line":"    def validate_stack_cretion(self, stack):"},{"line_number":65,"context_line":"        \u0027\u0027\u0027"},{"line_number":66,"context_line":"        Validates successful stack creation"},{"line_number":67,"context_line":"        \u0027\u0027\u0027"}],"source_content_type":"text/x-python","patch_set":1,"id":"AAAAWH%2F94p4%3D","line":64,"updated":"2014-04-01 12:39:54.000000000","message":"Typo s/cretion/creation/","commit_id":"9ba3bd5e193fa312d66ca31668396c5ef5257778"},{"author":{"_account_id":4328,"name":"Steven Hardy","email":"steven.hardy@suse.com","username":"shardy"},"change_message_id":"c065d8387b8d2aeb1ba676a7b496a7b6e7b0c492","unresolved":false,"context_lines":[{"line_number":90,"context_line":"        try:"},{"line_number":91,"context_line":"            self.kp_stack \u003d self.create_kp_stack()"},{"line_number":92,"context_line":"        except heat_exceptions.HTTPConflict:"},{"line_number":93,"context_line":"            LOG.warning(\u0027The keypair is in conflict with an existing one.\u0027)"},{"line_number":94,"context_line":"            pass"},{"line_number":95,"context_line":""},{"line_number":96,"context_line":"        self.validate_stack_cretion(self.kp_stack)"}],"source_content_type":"text/x-python","patch_set":1,"id":"AAAAWH%2F94po%3D","line":93,"updated":"2014-04-01 12:39:54.000000000","message":"Why would this happen, and why isn\u0027t it grounds for a test failure?","commit_id":"9ba3bd5e193fa312d66ca31668396c5ef5257778"},{"author":{"_account_id":10090,"name":"Amit Ugol","email":"augol@redhat.com","username":"cmyster"},"change_message_id":"05a61f7e6d4fd9177563c82d731f343cb36d779c","unresolved":false,"context_lines":[{"line_number":90,"context_line":"        try:"},{"line_number":91,"context_line":"            self.kp_stack \u003d self.create_kp_stack()"},{"line_number":92,"context_line":"        except heat_exceptions.HTTPConflict:"},{"line_number":93,"context_line":"            LOG.warning(\u0027The keypair is in conflict with an existing one.\u0027)"},{"line_number":94,"context_line":"            pass"},{"line_number":95,"context_line":""},{"line_number":96,"context_line":"        self.validate_stack_cretion(self.kp_stack)"}],"source_content_type":"text/x-python","patch_set":1,"id":"AAAAWH%2F94hs%3D","line":93,"in_reply_to":"AAAAWH%2F94po%3D","updated":"2014-04-01 14:15:45.000000000","message":"it shouldn\u0027t but if it it does and there is already a keypair with the same name, then we can use it.\nIf that fails then its an environment thing and the test will fail anyway or give false positive.","commit_id":"9ba3bd5e193fa312d66ca31668396c5ef5257778"}]}
