)]}'
{"/COMMIT_MSG":[{"author":{"_account_id":8576,"name":"Yair Fried","email":"yfried@redhat.com","username":"yfried"},"change_message_id":"c19a34b3a30e8ba95d720e25198f3711479f5523","unresolved":false,"context_lines":[{"line_number":6,"context_line":""},{"line_number":7,"context_line":"add bp:ssh-auth-strategy"},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"Blueprint to support multiple ssh auth strategies."},{"line_number":10,"context_line":""},{"line_number":11,"context_line":"Change-Id: Ib882fd2c9354b91c5069a35ec74003e0259fec3f"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":5,"id":"fa98f980_310edc3b","line":9,"updated":"2014-09-14 11:28:05.000000000","message":"spec actually discusses streamlining ssh strategy instead of supporting multiple strategy. I could have understood it completely wrong, but I think this message is not clear enough.","commit_id":"2dd38f6b7216adb4f90410d54c3dba4ce8700023"}],"specs/ssh-auth-strategy.rst":[{"author":{"_account_id":5803,"name":"Attila Fazekas","email":"afazekas@redhat.com","username":"afazekas"},"change_message_id":"c907b80ae7f05cf56c4be6748131c99bb392d5f7","unresolved":false,"context_lines":[{"line_number":24,"context_line":"Incomplete because ssh access is only available to a very limited number of"},{"line_number":25,"context_line":"cloud configuration:"},{"line_number":26,"context_line":""},{"line_number":27,"context_line":"- access to the \"fixed\" IP address is not always available. For instance if"},{"line_number":28,"context_line":"  neutron is configured with namespaces, or in case of multi-node deployment"},{"line_number":29,"context_line":"- authentication via password is not always available. With libvirt it is"},{"line_number":30,"context_line":"  disabled by default nova as it requires ssh as root to be available on the"}],"source_content_type":"text/x-rst","patch_set":3,"id":"7adec928_b9cdf3b9","line":27,"updated":"2014-05-22 12:49:05.000000000","message":"For instance if you are using a tenant network (not explicitly mapped to physical interface). Which normally not connectable by an end user.","commit_id":"1465004b937d01953453a477840fde20bcca6ae2"},{"author":{"_account_id":1921,"name":"Andrea Frittoli","email":"andrea.frittoli@gmail.com","username":"andrea-frittoli"},"change_message_id":"8d7e681cf6827bdacc6f87b2a177382e66efff20","unresolved":false,"context_lines":[{"line_number":24,"context_line":"Incomplete because ssh access is only available to a very limited number of"},{"line_number":25,"context_line":"cloud configuration:"},{"line_number":26,"context_line":""},{"line_number":27,"context_line":"- access to the \"fixed\" IP address is not always available. For instance if"},{"line_number":28,"context_line":"  neutron is configured with namespaces, or in case of multi-node deployment"},{"line_number":29,"context_line":"- authentication via password is not always available. With libvirt it is"},{"line_number":30,"context_line":"  disabled by default nova as it requires ssh as root to be available on the"}],"source_content_type":"text/x-rst","patch_set":3,"id":"7adec928_1906e720","line":27,"in_reply_to":"7adec928_b9cdf3b9","updated":"2014-05-22 13:07:38.000000000","message":"Done","commit_id":"1465004b937d01953453a477840fde20bcca6ae2"},{"author":{"_account_id":5803,"name":"Attila Fazekas","email":"afazekas@redhat.com","username":"afazekas"},"change_message_id":"c907b80ae7f05cf56c4be6748131c99bb392d5f7","unresolved":false,"context_lines":[{"line_number":26,"context_line":""},{"line_number":27,"context_line":"- access to the \"fixed\" IP address is not always available. For instance if"},{"line_number":28,"context_line":"  neutron is configured with namespaces, or in case of multi-node deployment"},{"line_number":29,"context_line":"- authentication via password is not always available. With libvirt it is"},{"line_number":30,"context_line":"  disabled by default nova as it requires ssh as root to be available on the"},{"line_number":31,"context_line":"  guest operating system"},{"line_number":32,"context_line":"- firewall rules won\u0027t block ssh traffic to the VM only as long as nova or"}],"source_content_type":"text/x-rst","patch_set":3,"id":"7adec928_361570e5","line":29,"updated":"2014-05-22 12:49:05.000000000","message":"admin password.\n\nFor example cirrus has built-in default password.","commit_id":"1465004b937d01953453a477840fde20bcca6ae2"},{"author":{"_account_id":1921,"name":"Andrea Frittoli","email":"andrea.frittoli@gmail.com","username":"andrea-frittoli"},"change_message_id":"8d7e681cf6827bdacc6f87b2a177382e66efff20","unresolved":false,"context_lines":[{"line_number":26,"context_line":""},{"line_number":27,"context_line":"- access to the \"fixed\" IP address is not always available. For instance if"},{"line_number":28,"context_line":"  neutron is configured with namespaces, or in case of multi-node deployment"},{"line_number":29,"context_line":"- authentication via password is not always available. With libvirt it is"},{"line_number":30,"context_line":"  disabled by default nova as it requires ssh as root to be available on the"},{"line_number":31,"context_line":"  guest operating system"},{"line_number":32,"context_line":"- firewall rules won\u0027t block ssh traffic to the VM only as long as nova or"}],"source_content_type":"text/x-rst","patch_set":3,"id":"7adec928_b915f34a","line":29,"in_reply_to":"7adec928_361570e5","updated":"2014-05-22 13:07:38.000000000","message":"ok","commit_id":"1465004b937d01953453a477840fde20bcca6ae2"},{"author":{"_account_id":1839,"name":"nithya-ganesan","email":"nithya.ganesan@hp.com","username":"nithya-ganesan"},"change_message_id":"7cb5c6248a22580b2f5df372c4f4793277418d5f","unresolved":false,"context_lines":[{"line_number":46,"context_line":"::"},{"line_number":47,"context_line":""},{"line_number":48,"context_line":" # Auth method used for authenticate to the instance. Valid"},{"line_number":49,"context_line":" # choices are: keypair, configured, adminpass. keypair: start"},{"line_number":50,"context_line":" # the servers with an ssh keypair. configured: use the"},{"line_number":51,"context_line":" # configured user and password. adminpass: use the injected"},{"line_number":52,"context_line":" # adminPass. disabled: avoid using ssh when it is an option."}],"source_content_type":"text/x-rst","patch_set":3,"id":"7adec928_391563e5","line":49,"updated":"2014-05-22 12:50:56.000000000","message":"We also have disabled option. Should this be added?","commit_id":"1465004b937d01953453a477840fde20bcca6ae2"},{"author":{"_account_id":1921,"name":"Andrea Frittoli","email":"andrea.frittoli@gmail.com","username":"andrea-frittoli"},"change_message_id":"8d7e681cf6827bdacc6f87b2a177382e66efff20","unresolved":false,"context_lines":[{"line_number":46,"context_line":"::"},{"line_number":47,"context_line":""},{"line_number":48,"context_line":" # Auth method used for authenticate to the instance. Valid"},{"line_number":49,"context_line":" # choices are: keypair, configured, adminpass. keypair: start"},{"line_number":50,"context_line":" # the servers with an ssh keypair. configured: use the"},{"line_number":51,"context_line":" # configured user and password. adminpass: use the injected"},{"line_number":52,"context_line":" # adminPass. disabled: avoid using ssh when it is an option."}],"source_content_type":"text/x-rst","patch_set":3,"id":"7adec928_1c6255d8","line":49,"in_reply_to":"7adec928_391563e5","updated":"2014-05-22 13:07:38.000000000","message":"Good catch, thanks.\nThis is actually taken from the current implementation, so it seems that there is a bug in the comment here. I\u0027ll fix it in the spec, but it has to be fixed in config.py as well.","commit_id":"1465004b937d01953453a477840fde20bcca6ae2"},{"author":{"_account_id":6167,"name":"Ken\u0027ichi Ohmichi","email":"ken1ohmichi@gmail.com","username":"oomichi"},"change_message_id":"5f6e86ed876c9f771742104cf5e5fe3dc7074b40","unresolved":false,"context_lines":[{"line_number":33,"context_line":"- firewall rules won\u0027t block ssh traffic to the VM only as long as nova or"},{"line_number":34,"context_line":"  neutron are configured with allow-all by default"},{"line_number":35,"context_line":""},{"line_number":36,"context_line":"Because of this ssh access to VMs is currently disabled for all API tests."},{"line_number":37,"context_line":""},{"line_number":38,"context_line":""},{"line_number":39,"context_line":"Proposed change"}],"source_content_type":"text/x-rst","patch_set":4,"id":"7adec928_15991f1f","line":36,"updated":"2014-05-23 16:38:40.000000000","message":"I\u0027m not sure I understand the above comment correctly.\nNow we are facing the issue https://bugs.launchpad.net/tempest/+bug/1253896 still, and it seems \"ssh access to VMs\" are enable at the gate.","commit_id":"eff668dc823e656151fcde6b8224520eec51105f"},{"author":{"_account_id":1921,"name":"Andrea Frittoli","email":"andrea.frittoli@gmail.com","username":"andrea-frittoli"},"change_message_id":"dde44854de7ff936cb242a64d54d3c79fe53bc2c","unresolved":false,"context_lines":[{"line_number":33,"context_line":"- firewall rules won\u0027t block ssh traffic to the VM only as long as nova or"},{"line_number":34,"context_line":"  neutron are configured with allow-all by default"},{"line_number":35,"context_line":""},{"line_number":36,"context_line":"Because of this ssh access to VMs is currently disabled for all API tests."},{"line_number":37,"context_line":""},{"line_number":38,"context_line":""},{"line_number":39,"context_line":"Proposed change"}],"source_content_type":"text/x-rst","patch_set":4,"id":"7adec928_6b68c2ba","line":36,"in_reply_to":"7adec928_15991f1f","updated":"2014-05-23 17:29:43.000000000","message":"run_ssh defaults to false and that\u0027s not changed by devstack.\nHowever not all the tests honour this setting see the text on L22/23.","commit_id":"eff668dc823e656151fcde6b8224520eec51105f"},{"author":{"_account_id":6167,"name":"Ken\u0027ichi Ohmichi","email":"ken1ohmichi@gmail.com","username":"oomichi"},"change_message_id":"484560f80d43ab0a49a91b665886861f724c82ef","unresolved":false,"context_lines":[{"line_number":33,"context_line":"- firewall rules won\u0027t block ssh traffic to the VM only as long as nova or"},{"line_number":34,"context_line":"  neutron are configured with allow-all by default"},{"line_number":35,"context_line":""},{"line_number":36,"context_line":"Because of this ssh access to VMs is currently disabled for all API tests."},{"line_number":37,"context_line":""},{"line_number":38,"context_line":""},{"line_number":39,"context_line":"Proposed change"}],"source_content_type":"text/x-rst","patch_set":4,"id":"3ae8d1ca_a5942445","line":36,"in_reply_to":"7adec928_6b68c2ba","updated":"2014-05-27 02:43:14.000000000","message":"ah, I see. Thanks for your explanation.\n\nOne more question:\n\nThis blueprint work will change all ssh_auth_method ways to a single way(depends on the configuration) and I guess that means now we are testing ssh-logins with multiple ways but it would be tested with one way. So I feel test coverage would be reduced.\n\nCan we have some additional separated tests for verifying multiple ways to keep the coverage? I agree that most test cases depend on the configuration, and few tests would be nice just IMO.","commit_id":"eff668dc823e656151fcde6b8224520eec51105f"},{"author":{"_account_id":2750,"name":"Sean Dague","email":"sean@dague.net","username":"sdague"},"change_message_id":"95c348fed006d48f4620f942caa25be589e12bdb","unresolved":false,"context_lines":[{"line_number":58,"context_line":" # How to connect to the instance? fixed: using the first ip"},{"line_number":59,"context_line":" # belongs the fixed network floating: creating and using a"},{"line_number":60,"context_line":" # floating ip (string value)"},{"line_number":61,"context_line":" #ssh_connect_method\u003dfixed"},{"line_number":62,"context_line":""},{"line_number":63,"context_line":".."},{"line_number":64,"context_line":""}],"source_content_type":"text/x-rst","patch_set":4,"id":"1ae5cdf2_7f5b352e","line":61,"updated":"2014-06-02 11:47:09.000000000","message":"Do we actually need all these knobs? Can we not detect them in order?\n\nFor instance I see the \"Test Compute Alive\" process to go something like this:\n\nEstablish Connectivity:\n * ensure sec groups exist that will let you get to the compute\n * ensure networks exist such that you can get to the compute\n * ping compute on all listed IP addresses for compute to determine which ones respond for next section\n\nEstablish Connection:\n * using discovered IP addresse(s) (might be multiple) try to ssh into the compute\n\nI think the config flag in the new model should be:\n\nverify_computes\u003dkeypair|adminpass|no\n\nI think ssh_connect_method is redundant and should be discoverable.","commit_id":"eff668dc823e656151fcde6b8224520eec51105f"},{"author":{"_account_id":1921,"name":"Andrea Frittoli","email":"andrea.frittoli@gmail.com","username":"andrea-frittoli"},"change_message_id":"b95013a8849952449ed21c246120186900dbc80f","unresolved":false,"context_lines":[{"line_number":58,"context_line":" # How to connect to the instance? fixed: using the first ip"},{"line_number":59,"context_line":" # belongs the fixed network floating: creating and using a"},{"line_number":60,"context_line":" # floating ip (string value)"},{"line_number":61,"context_line":" #ssh_connect_method\u003dfixed"},{"line_number":62,"context_line":""},{"line_number":63,"context_line":".."},{"line_number":64,"context_line":""}],"source_content_type":"text/x-rst","patch_set":4,"id":"1ae5cdf2_f5c25833","line":61,"in_reply_to":"1ae5cdf2_7f5b352e","updated":"2014-06-06 16:23:29.000000000","message":"I disagree on the discovery part. We create the server so we know if it has all that it takes to be reachable via ssh, so we need no spend time in discovering things we already know.\nBesides, if we rely on discovery it becomes difficult to isolate failures.\nI agree that a specific test may want to validate all the IPs attached to a server, but I would not expect all tests to do so. For some tests ssh is just a mean to verify that things happened in the server, e.g. a volume attached, a reboot or so. So one interface is more than enough here.","commit_id":"eff668dc823e656151fcde6b8224520eec51105f"},{"author":{"_account_id":97,"name":"Daryl Walleck","email":"daryl.walleck@rackspace.com","username":"dwalleck"},"change_message_id":"0a782598653e67fc1141822d1379bad2783114b8","unresolved":false,"context_lines":[{"line_number":58,"context_line":" # How to connect to the instance? fixed: using the first ip"},{"line_number":59,"context_line":" # belongs the fixed network floating: creating and using a"},{"line_number":60,"context_line":" # floating ip (string value)"},{"line_number":61,"context_line":" #ssh_connect_method\u003dfixed"},{"line_number":62,"context_line":""},{"line_number":63,"context_line":".."},{"line_number":64,"context_line":""}],"source_content_type":"text/x-rst","patch_set":4,"id":"1ae5cdf2_4be836b3","line":61,"in_reply_to":"1ae5cdf2_f5c25833","updated":"2014-06-26 15:36:05.000000000","message":"I think discovery would be extremely challenging. This is one case where I\u0027ve found being explicit in test configuration is more reliable","commit_id":"eff668dc823e656151fcde6b8224520eec51105f"},{"author":{"_account_id":5196,"name":"Matthew Treinish","email":"mtreinish@kortar.org","username":"treinish"},"change_message_id":"eb1d461ed2d2ff8bf12004d33936325c438b365c","unresolved":false,"context_lines":[{"line_number":77,"context_line":"Not all VMs require ssh access, so a new parameter is defined for the"},{"line_number":78,"context_line":"*create_test_server* functions, to request an \"sshable\" VM."},{"line_number":79,"context_line":""},{"line_number":80,"context_line":"The create_test_server function has to be modified to specify that the"},{"line_number":81,"context_line":"network created by tenant isolation is the one to be connected to the"},{"line_number":82,"context_line":"network interface of the server being created."},{"line_number":83,"context_line":""}],"source_content_type":"text/x-rst","patch_set":4,"id":"3ae8d1ca_b8d51445","line":80,"updated":"2014-05-27 15:56:26.000000000","message":"Don\u0027t we want to use this outside of just the compute tests? create_test_server is just a method in the base test class for tempest.api.compute.","commit_id":"eff668dc823e656151fcde6b8224520eec51105f"},{"author":{"_account_id":1921,"name":"Andrea Frittoli","email":"andrea.frittoli@gmail.com","username":"andrea-frittoli"},"change_message_id":"3b8d5f13d0e3c2a1f9f1148c1af06722ca7d2f21","unresolved":false,"context_lines":[{"line_number":77,"context_line":"Not all VMs require ssh access, so a new parameter is defined for the"},{"line_number":78,"context_line":"*create_test_server* functions, to request an \"sshable\" VM."},{"line_number":79,"context_line":""},{"line_number":80,"context_line":"The create_test_server function has to be modified to specify that the"},{"line_number":81,"context_line":"network created by tenant isolation is the one to be connected to the"},{"line_number":82,"context_line":"network interface of the server being created."},{"line_number":83,"context_line":""}],"source_content_type":"text/x-rst","patch_set":4,"id":"3ae8d1ca_ab0a20d0","line":80,"in_reply_to":"3ae8d1ca_b8d51445","updated":"2014-05-27 16:49:23.000000000","message":"What I meant here is that all the function which are responsible for creating servers should specify which network should be \"plugged\" into the server.\n\nSuch functions are different right now - different one in different base.py classes. They could be factored up, but that would be a different effort I think.","commit_id":"eff668dc823e656151fcde6b8224520eec51105f"},{"author":{"_account_id":5196,"name":"Matthew Treinish","email":"mtreinish@kortar.org","username":"treinish"},"change_message_id":"eb1d461ed2d2ff8bf12004d33936325c438b365c","unresolved":false,"context_lines":[{"line_number":82,"context_line":"network interface of the server being created."},{"line_number":83,"context_line":""},{"line_number":84,"context_line":"Security groups and keypairs can be reused without conflict by multiple VMs"},{"line_number":85,"context_line":"at once, so they are generated the first time an ssh-able VM is created,"},{"line_number":86,"context_line":"and then reused by the tenant for any subsequent ssh-able VM."},{"line_number":87,"context_line":"A floating IP, if required, is generated together with the security group"},{"line_number":88,"context_line":"and the keypair, but only attached to the VM when a Remote Client for the"}],"source_content_type":"text/x-rst","patch_set":4,"id":"3ae8d1ca_586250d9","line":85,"updated":"2014-05-27 15:56:26.000000000","message":"Why not just call it in setUpClass instead. If they\u0027re going to be class level resources we should create them in a properly scoped place. It seems like it\u0027s a little weird to do this in the actual create call only if someone hasn\u0027t already done it. I feel if we need this to be defined for a class we should just do it up front.","commit_id":"eff668dc823e656151fcde6b8224520eec51105f"},{"author":{"_account_id":5196,"name":"Matthew Treinish","email":"mtreinish@kortar.org","username":"treinish"},"change_message_id":"c3f4a093731087ec5e2881a22770a6b787153b70","unresolved":false,"context_lines":[{"line_number":82,"context_line":"network interface of the server being created."},{"line_number":83,"context_line":""},{"line_number":84,"context_line":"Security groups and keypairs can be reused without conflict by multiple VMs"},{"line_number":85,"context_line":"at once, so they are generated the first time an ssh-able VM is created,"},{"line_number":86,"context_line":"and then reused by the tenant for any subsequent ssh-able VM."},{"line_number":87,"context_line":"A floating IP, if required, is generated together with the security group"},{"line_number":88,"context_line":"and the keypair, but only attached to the VM when a Remote Client for the"}],"source_content_type":"text/x-rst","patch_set":4,"id":"3ae8d1ca_ce6dba06","line":85,"in_reply_to":"3ae8d1ca_18260817","updated":"2014-05-27 17:05:11.000000000","message":"You could do the same basic approach as tenant isolation but make it a separate class that will work independently of tenant isolation. You can still use setupClass you don\u0027t have to put it in the base test class. Just use it for the classes that need it.\n\nAlthough playing devil\u0027s advocate, what is the harm for doing the init on each class, even if they aren\u0027t used. It\u0027s just a sec group and keypair, hardly a lot of overhead.","commit_id":"eff668dc823e656151fcde6b8224520eec51105f"},{"author":{"_account_id":1921,"name":"Andrea Frittoli","email":"andrea.frittoli@gmail.com","username":"andrea-frittoli"},"change_message_id":"3b8d5f13d0e3c2a1f9f1148c1af06722ca7d2f21","unresolved":false,"context_lines":[{"line_number":82,"context_line":"network interface of the server being created."},{"line_number":83,"context_line":""},{"line_number":84,"context_line":"Security groups and keypairs can be reused without conflict by multiple VMs"},{"line_number":85,"context_line":"at once, so they are generated the first time an ssh-able VM is created,"},{"line_number":86,"context_line":"and then reused by the tenant for any subsequent ssh-able VM."},{"line_number":87,"context_line":"A floating IP, if required, is generated together with the security group"},{"line_number":88,"context_line":"and the keypair, but only attached to the VM when a Remote Client for the"}],"source_content_type":"text/x-rst","patch_set":4,"id":"3ae8d1ca_18260817","line":85,"in_reply_to":"3ae8d1ca_586250d9","updated":"2014-05-27 16:49:23.000000000","message":"This is an attempt to optimize the consumption of resources.\nNot every class will do ssh verification, so this cannot go in the setupClass of the various base.py.\n\nIt would have to be placed in the setupClass of tests classes where at least one test is going to do ssh verification.\nWhich is a bit odd because it would be a loose link.\nFor instance if a test which requires ssh verification is added or removed / skipped we would have to go check the setupClass if resources are initialized.\n\nWith the proposed approach, resources will only be created the very first time they are actually requested by a function (the create_test_server for example).\n\nAnother way of achieving this could be to extend the tenant isolation framework for creating network resoruces, but that would still leave the case of no-tenant-isolation open.\nGiven the recent discussions about non-admin tempest and possibly providing an alternative to tenant isolation for parallel execution, I\u0027m a bit reluctant to adding more things to tenant isolation.","commit_id":"eff668dc823e656151fcde6b8224520eec51105f"},{"author":{"_account_id":1921,"name":"Andrea Frittoli","email":"andrea.frittoli@gmail.com","username":"andrea-frittoli"},"change_message_id":"b95013a8849952449ed21c246120186900dbc80f","unresolved":false,"context_lines":[{"line_number":82,"context_line":"network interface of the server being created."},{"line_number":83,"context_line":""},{"line_number":84,"context_line":"Security groups and keypairs can be reused without conflict by multiple VMs"},{"line_number":85,"context_line":"at once, so they are generated the first time an ssh-able VM is created,"},{"line_number":86,"context_line":"and then reused by the tenant for any subsequent ssh-able VM."},{"line_number":87,"context_line":"A floating IP, if required, is generated together with the security group"},{"line_number":88,"context_line":"and the keypair, but only attached to the VM when a Remote Client for the"}],"source_content_type":"text/x-rst","patch_set":4,"id":"1ae5cdf2_f5e338a2","line":85,"in_reply_to":"3ae8d1ca_ce6dba06","updated":"2014-06-06 16:23:29.000000000","message":"Fair enough.","commit_id":"eff668dc823e656151fcde6b8224520eec51105f"},{"author":{"_account_id":5196,"name":"Matthew Treinish","email":"mtreinish@kortar.org","username":"treinish"},"change_message_id":"eb1d461ed2d2ff8bf12004d33936325c438b365c","unresolved":false,"context_lines":[{"line_number":84,"context_line":"Security groups and keypairs can be reused without conflict by multiple VMs"},{"line_number":85,"context_line":"at once, so they are generated the first time an ssh-able VM is created,"},{"line_number":86,"context_line":"and then reused by the tenant for any subsequent ssh-able VM."},{"line_number":87,"context_line":"A floating IP, if required, is generated together with the security group"},{"line_number":88,"context_line":"and the keypair, but only attached to the VM when a Remote Client for the"},{"line_number":89,"context_line":"VM is requested."},{"line_number":90,"context_line":""}],"source_content_type":"text/x-rst","patch_set":4,"id":"3ae8d1ca_18960895","line":87,"updated":"2014-05-27 15:56:26.000000000","message":"I don\u0027t think having a single rotating floating ip between tests in a class is the correct way to do this. Firstly it\u0027ll make debbugging more difficult because all ssh failures will show the same. Another concern I have is how are multiple servers handled if there is only one floating ip.\n\nI think you need to flesh out how floating ip generation will work a bit more. I feel like a tenant isolation model might be better, but for every test server creation instead of tenant? Just an idea.","commit_id":"eff668dc823e656151fcde6b8224520eec51105f"},{"author":{"_account_id":1921,"name":"Andrea Frittoli","email":"andrea.frittoli@gmail.com","username":"andrea-frittoli"},"change_message_id":"3b8d5f13d0e3c2a1f9f1148c1af06722ca7d2f21","unresolved":false,"context_lines":[{"line_number":84,"context_line":"Security groups and keypairs can be reused without conflict by multiple VMs"},{"line_number":85,"context_line":"at once, so they are generated the first time an ssh-able VM is created,"},{"line_number":86,"context_line":"and then reused by the tenant for any subsequent ssh-able VM."},{"line_number":87,"context_line":"A floating IP, if required, is generated together with the security group"},{"line_number":88,"context_line":"and the keypair, but only attached to the VM when a Remote Client for the"},{"line_number":89,"context_line":"VM is requested."},{"line_number":90,"context_line":""}],"source_content_type":"text/x-rst","patch_set":4,"id":"3ae8d1ca_eb5c2828","line":87,"in_reply_to":"3ae8d1ca_18960895","updated":"2014-05-27 16:49:23.000000000","message":"The nice thing of this approach is that we test moving floating IPs around. However this can be done by a dedicated test. \n\nSo one way of doing this could be to create a new floating IP every time a new ssh-able server is needed. This would avoid the problem of debugging complexity.","commit_id":"eff668dc823e656151fcde6b8224520eec51105f"},{"author":{"_account_id":1921,"name":"Andrea Frittoli","email":"andrea.frittoli@gmail.com","username":"andrea-frittoli"},"change_message_id":"b95013a8849952449ed21c246120186900dbc80f","unresolved":false,"context_lines":[{"line_number":84,"context_line":"Security groups and keypairs can be reused without conflict by multiple VMs"},{"line_number":85,"context_line":"at once, so they are generated the first time an ssh-able VM is created,"},{"line_number":86,"context_line":"and then reused by the tenant for any subsequent ssh-able VM."},{"line_number":87,"context_line":"A floating IP, if required, is generated together with the security group"},{"line_number":88,"context_line":"and the keypair, but only attached to the VM when a Remote Client for the"},{"line_number":89,"context_line":"VM is requested."},{"line_number":90,"context_line":""}],"source_content_type":"text/x-rst","patch_set":4,"id":"1ae5cdf2_d5fd5c3d","line":87,"in_reply_to":"3ae8d1ca_6e7e66b0","updated":"2014-06-06 16:23:29.000000000","message":"ok","commit_id":"eff668dc823e656151fcde6b8224520eec51105f"},{"author":{"_account_id":5196,"name":"Matthew Treinish","email":"mtreinish@kortar.org","username":"treinish"},"change_message_id":"c3f4a093731087ec5e2881a22770a6b787153b70","unresolved":false,"context_lines":[{"line_number":84,"context_line":"Security groups and keypairs can be reused without conflict by multiple VMs"},{"line_number":85,"context_line":"at once, so they are generated the first time an ssh-able VM is created,"},{"line_number":86,"context_line":"and then reused by the tenant for any subsequent ssh-able VM."},{"line_number":87,"context_line":"A floating IP, if required, is generated together with the security group"},{"line_number":88,"context_line":"and the keypair, but only attached to the VM when a Remote Client for the"},{"line_number":89,"context_line":"VM is requested."},{"line_number":90,"context_line":""}],"source_content_type":"text/x-rst","patch_set":4,"id":"3ae8d1ca_6e7e66b0","line":87,"in_reply_to":"3ae8d1ca_eb5c2828","updated":"2014-05-27 17:05:11.000000000","message":"Yeah, I think a dedicated test for that would probably be best for testing that.","commit_id":"eff668dc823e656151fcde6b8224520eec51105f"},{"author":{"_account_id":5196,"name":"Matthew Treinish","email":"mtreinish@kortar.org","username":"treinish"},"change_message_id":"eb1d461ed2d2ff8bf12004d33936325c438b365c","unresolved":false,"context_lines":[{"line_number":87,"context_line":"A floating IP, if required, is generated together with the security group"},{"line_number":88,"context_line":"and the keypair, but only attached to the VM when a Remote Client for the"},{"line_number":89,"context_line":"VM is requested."},{"line_number":90,"context_line":""},{"line_number":91,"context_line":"Finally the old run_ssh option is dropped and all relevant tests are migrated"},{"line_number":92,"context_line":"to the configuration options."},{"line_number":93,"context_line":""}],"source_content_type":"text/x-rst","patch_set":4,"id":"3ae8d1ca_58bed000","line":90,"updated":"2014-05-27 15:56:26.000000000","message":"We need more details here on how the previous 2 paragraphs are going to work. Where are things going to be put? How are we going to define connection information? Where in the stack will they happen, setUpClass, create_test_server call time? etc...\n\nI\u0027d like to see a concrete proposal on how this part is done, because this is the non-obvious part of this proposal, and the details are a bit scarce.","commit_id":"eff668dc823e656151fcde6b8224520eec51105f"},{"author":{"_account_id":1921,"name":"Andrea Frittoli","email":"andrea.frittoli@gmail.com","username":"andrea-frittoli"},"change_message_id":"3b8d5f13d0e3c2a1f9f1148c1af06722ca7d2f21","unresolved":false,"context_lines":[{"line_number":87,"context_line":"A floating IP, if required, is generated together with the security group"},{"line_number":88,"context_line":"and the keypair, but only attached to the VM when a Remote Client for the"},{"line_number":89,"context_line":"VM is requested."},{"line_number":90,"context_line":""},{"line_number":91,"context_line":"Finally the old run_ssh option is dropped and all relevant tests are migrated"},{"line_number":92,"context_line":"to the configuration options."},{"line_number":93,"context_line":""}],"source_content_type":"text/x-rst","patch_set":4,"id":"3ae8d1ca_eee27602","line":90,"in_reply_to":"3ae8d1ca_58bed000","updated":"2014-05-27 16:49:23.000000000","message":"Right, I\u0027ll add more details here.","commit_id":"eff668dc823e656151fcde6b8224520eec51105f"},{"author":{"_account_id":5196,"name":"Matthew Treinish","email":"mtreinish@kortar.org","username":"treinish"},"change_message_id":"eb1d461ed2d2ff8bf12004d33936325c438b365c","unresolved":false,"context_lines":[{"line_number":89,"context_line":"VM is requested."},{"line_number":90,"context_line":""},{"line_number":91,"context_line":"Finally the old run_ssh option is dropped and all relevant tests are migrated"},{"line_number":92,"context_line":"to the configuration options."},{"line_number":93,"context_line":""},{"line_number":94,"context_line":"Alternatives"},{"line_number":95,"context_line":"------------"}],"source_content_type":"text/x-rst","patch_set":4,"id":"3ae8d1ca_7852acde","line":92,"updated":"2014-05-27 15:56:26.000000000","message":"I think we should do this earlier. If we have an alternative for this in tree, and this hasn\u0027t ever been used correctly in the gate, we should just kill it off quickly and add skips for the bit rotted tests.","commit_id":"eff668dc823e656151fcde6b8224520eec51105f"},{"author":{"_account_id":1921,"name":"Andrea Frittoli","email":"andrea.frittoli@gmail.com","username":"andrea-frittoli"},"change_message_id":"3b8d5f13d0e3c2a1f9f1148c1af06722ca7d2f21","unresolved":false,"context_lines":[{"line_number":89,"context_line":"VM is requested."},{"line_number":90,"context_line":""},{"line_number":91,"context_line":"Finally the old run_ssh option is dropped and all relevant tests are migrated"},{"line_number":92,"context_line":"to the configuration options."},{"line_number":93,"context_line":""},{"line_number":94,"context_line":"Alternatives"},{"line_number":95,"context_line":"------------"}],"source_content_type":"text/x-rst","patch_set":4,"id":"3ae8d1ca_2ec7fe46","line":92,"in_reply_to":"3ae8d1ca_7852acde","updated":"2014-05-27 16:49:23.000000000","message":"There are 7 test classes and about 20 tests using run_ssh.\nMost of those tests do certain checks, and if run_ssh is True they perform additional checks. \nOr we could completely remove the run_ssh checks, and re-add them, perhaps in different or more places, once the demo on a single test is done.","commit_id":"eff668dc823e656151fcde6b8224520eec51105f"},{"author":{"_account_id":5196,"name":"Matthew Treinish","email":"mtreinish@kortar.org","username":"treinish"},"change_message_id":"eb1d461ed2d2ff8bf12004d33936325c438b365c","unresolved":false,"context_lines":[{"line_number":124,"context_line":"- Adapt common server create functions to handle the new configuration options"},{"line_number":125,"context_line":"  and create the resources required for ssh access to the server"},{"line_number":126,"context_line":"- Migrate tests to the new format (multiple patches)"},{"line_number":127,"context_line":"- Drop the old run_ssh option"},{"line_number":128,"context_line":""},{"line_number":129,"context_line":"Dependencies"},{"line_number":130,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"}],"source_content_type":"text/x-rst","patch_set":4,"id":"3ae8d1ca_552059f7","line":127,"updated":"2014-05-27 15:56:26.000000000","message":"I feel this should be done right after the new options are available. As a quick intermediate we can just have bug skips for the bit rotted tests.","commit_id":"eff668dc823e656151fcde6b8224520eec51105f"},{"author":{"_account_id":1921,"name":"Andrea Frittoli","email":"andrea.frittoli@gmail.com","username":"andrea-frittoli"},"change_message_id":"3b8d5f13d0e3c2a1f9f1148c1af06722ca7d2f21","unresolved":false,"context_lines":[{"line_number":124,"context_line":"- Adapt common server create functions to handle the new configuration options"},{"line_number":125,"context_line":"  and create the resources required for ssh access to the server"},{"line_number":126,"context_line":"- Migrate tests to the new format (multiple patches)"},{"line_number":127,"context_line":"- Drop the old run_ssh option"},{"line_number":128,"context_line":""},{"line_number":129,"context_line":"Dependencies"},{"line_number":130,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"}],"source_content_type":"text/x-rst","patch_set":4,"id":"3ae8d1ca_cee77ae3","line":127,"in_reply_to":"3ae8d1ca_552059f7","updated":"2014-05-27 16:49:23.000000000","message":"Ok, same as reply to comment on L92","commit_id":"eff668dc823e656151fcde6b8224520eec51105f"},{"author":{"_account_id":5196,"name":"Matthew Treinish","email":"mtreinish@kortar.org","username":"treinish"},"change_message_id":"67950146b7eef1bce44fb813ff94c81af770c455","unresolved":false,"context_lines":[{"line_number":17,"context_line":"Problem description"},{"line_number":18,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"},{"line_number":19,"context_line":""},{"line_number":20,"context_line":"Ssh access to created servers is in several cases key to proper validate the"},{"line_number":21,"context_line":"result of an API call or a scenario (use case) test. This is true for compute"},{"line_number":22,"context_line":"but not limited to it. Network and volume verification must often rely on test"},{"line_number":23,"context_line":"servers, and ssh access to the VM helps significantly for the verification."}],"source_content_type":"text/x-rst","patch_set":5,"id":"3a961159_7b984878","line":20,"updated":"2014-12-12 16:58:32.000000000","message":"This should either be \"to properly validate\"","commit_id":"2dd38f6b7216adb4f90410d54c3dba4ce8700023"},{"author":{"_account_id":5196,"name":"Matthew Treinish","email":"mtreinish@kortar.org","username":"treinish"},"change_message_id":"67950146b7eef1bce44fb813ff94c81af770c455","unresolved":false,"context_lines":[{"line_number":27,"context_line":"``run_ssh`` option is only taken into account by some of the tests, the compute"},{"line_number":28,"context_line":"API ones. Not all tests use the same strategy for ssh access, and several tests"},{"line_number":29,"context_line":"do not perform any ssh verification at all. The reason often is that ssh"},{"line_number":30,"context_line":"verification is a common source of \"flackyness\" and timeouts in tests, and"},{"line_number":31,"context_line":"allocation of the resources required for ssh verification can be expensive."},{"line_number":32,"context_line":""},{"line_number":33,"context_line":""}],"source_content_type":"text/x-rst","patch_set":5,"id":"3a961159_7b7f6815","line":30,"updated":"2014-12-12 16:58:32.000000000","message":"s/flackyness/flakiness","commit_id":"2dd38f6b7216adb4f90410d54c3dba4ce8700023"},{"author":{"_account_id":5196,"name":"Matthew Treinish","email":"mtreinish@kortar.org","username":"treinish"},"change_message_id":"67950146b7eef1bce44fb813ff94c81af770c455","unresolved":false,"context_lines":[{"line_number":40,"context_line":""},{"line_number":41,"context_line":"Centralize the logic to create a test server, and add the following features:"},{"line_number":42,"context_line":""},{"line_number":43,"context_line":"- ``sshable`` boolean parameter, defaults to ``False``. If set to ``True`` it"},{"line_number":44,"context_line":"  ensures the server has a public key injected, and IP address on a public"},{"line_number":45,"context_line":"  network, a security group that allows for ICMP and ssh communication."},{"line_number":46,"context_line":"  The default to false ensures that resources are used only when required."}],"source_content_type":"text/x-rst","patch_set":5,"id":"3a961159_dbecdcbd","line":43,"updated":"2014-12-12 16:58:32.000000000","message":"Where is this paramater going to be added?","commit_id":"2dd38f6b7216adb4f90410d54c3dba4ce8700023"},{"author":{"_account_id":8576,"name":"Yair Fried","email":"yfried@redhat.com","username":"yfried"},"change_message_id":"c19a34b3a30e8ba95d720e25198f3711479f5523","unresolved":false,"context_lines":[{"line_number":43,"context_line":"- ``sshable`` boolean parameter, defaults to ``False``. If set to ``True`` it"},{"line_number":44,"context_line":"  ensures the server has a public key injected, and IP address on a public"},{"line_number":45,"context_line":"  network, a security group that allows for ICMP and ssh communication."},{"line_number":46,"context_line":"  The default to false ensures that resources are used only when required."},{"line_number":47,"context_line":""},{"line_number":48,"context_line":"- it extends the current status waiter with ``PINGABLE`` and ``SSHABLE``. For"},{"line_number":49,"context_line":"  instance if an ``SSSHABLE`` server is requested the create method takes"}],"source_content_type":"text/x-rst","patch_set":5,"id":"fa98f980_b162cc3b","line":46,"updated":"2014-09-14 11:28:05.000000000","message":"nit: sentence structure is a little vague. I assume you meant \u0027The default to \"False\" ensures that...\u0027","commit_id":"2dd38f6b7216adb4f90410d54c3dba4ce8700023"},{"author":{"_account_id":8576,"name":"Yair Fried","email":"yfried@redhat.com","username":"yfried"},"change_message_id":"c19a34b3a30e8ba95d720e25198f3711479f5523","unresolved":false,"context_lines":[{"line_number":45,"context_line":"  network, a security group that allows for ICMP and ssh communication."},{"line_number":46,"context_line":"  The default to false ensures that resources are used only when required."},{"line_number":47,"context_line":""},{"line_number":48,"context_line":"- it extends the current status waiter with ``PINGABLE`` and ``SSHABLE``. For"},{"line_number":49,"context_line":"  instance if an ``SSSHABLE`` server is requested the create method takes"},{"line_number":50,"context_line":"  care ofperforming basic ssh validation as well."},{"line_number":51,"context_line":""}],"source_content_type":"text/x-rst","patch_set":5,"id":"fa98f980_d1ccb037","line":48,"updated":"2014-09-14 11:28:05.000000000","message":"Tempest \"waiters\" are waiting for a status change via API.\nDoes this mean changing the possible values of server[\u0027status\u0027]? That seems like a change to Nova and not to Tempest.\nUnless you mean that checking for PINGABLE/SSHABLE should verify the VM has all, or some, of the list [a public key, an admin password, a public IP address, an ssh account name]\nIf so, I fail to understand how this is related to the exisitng status waiter. At the very least, this should require a new waiter, ie \"wait_for_connectivity_status\"","commit_id":"2dd38f6b7216adb4f90410d54c3dba4ce8700023"},{"author":{"_account_id":8576,"name":"Yair Fried","email":"yfried@redhat.com","username":"yfried"},"change_message_id":"d184662c2ed6295ad69a606b5119c4a988bb6cc1","unresolved":false,"context_lines":[{"line_number":45,"context_line":"  network, a security group that allows for ICMP and ssh communication."},{"line_number":46,"context_line":"  The default to false ensures that resources are used only when required."},{"line_number":47,"context_line":""},{"line_number":48,"context_line":"- it extends the current status waiter with ``PINGABLE`` and ``SSHABLE``. For"},{"line_number":49,"context_line":"  instance if an ``SSSHABLE`` server is requested the create method takes"},{"line_number":50,"context_line":"  care ofperforming basic ssh validation as well."},{"line_number":51,"context_line":""}],"source_content_type":"text/x-rst","patch_set":5,"id":"fa98f980_74d92721","line":48,"in_reply_to":"fa98f980_b91aaa7a","updated":"2014-09-15 12:07:39.000000000","message":"Done","commit_id":"2dd38f6b7216adb4f90410d54c3dba4ce8700023"},{"author":{"_account_id":1921,"name":"Andrea Frittoli","email":"andrea.frittoli@gmail.com","username":"andrea-frittoli"},"change_message_id":"6625b3e18c52c9c9b26218a8af8e6555f417c94d","unresolved":false,"context_lines":[{"line_number":45,"context_line":"  network, a security group that allows for ICMP and ssh communication."},{"line_number":46,"context_line":"  The default to false ensures that resources are used only when required."},{"line_number":47,"context_line":""},{"line_number":48,"context_line":"- it extends the current status waiter with ``PINGABLE`` and ``SSHABLE``. For"},{"line_number":49,"context_line":"  instance if an ``SSSHABLE`` server is requested the create method takes"},{"line_number":50,"context_line":"  care ofperforming basic ssh validation as well."},{"line_number":51,"context_line":""}],"source_content_type":"text/x-rst","patch_set":5,"id":"fa98f980_b91aaa7a","line":48,"in_reply_to":"fa98f980_d1ccb037","updated":"2014-09-15 09:31:53.000000000","message":"Which exact method is used to achieve this is an implementation detail that I think is better discussed via gerrit comments.","commit_id":"2dd38f6b7216adb4f90410d54c3dba4ce8700023"},{"author":{"_account_id":8576,"name":"Yair Fried","email":"yfried@redhat.com","username":"yfried"},"change_message_id":"c19a34b3a30e8ba95d720e25198f3711479f5523","unresolved":false,"context_lines":[{"line_number":49,"context_line":"  instance if an ``SSSHABLE`` server is requested the create method takes"},{"line_number":50,"context_line":"  care ofperforming basic ssh validation as well."},{"line_number":51,"context_line":""},{"line_number":52,"context_line":"- it returns a tuple ``(created_server, dict_of_access_resources)``, where the"},{"line_number":53,"context_line":"  dict may include a public key, an admin password, a public IP address, an"},{"line_number":54,"context_line":"  ssh account name."},{"line_number":55,"context_line":""}],"source_content_type":"text/x-rst","patch_set":5,"id":"fa98f980_11d398d5","line":52,"updated":"2014-09-14 11:28:05.000000000","message":"I\u0027d prefer dict_of_access_resources to be an actual object and not a dict. That object could hold the waiter method discussed above, and connectivity-modifying methods discussed below.","commit_id":"2dd38f6b7216adb4f90410d54c3dba4ce8700023"},{"author":{"_account_id":1921,"name":"Andrea Frittoli","email":"andrea.frittoli@gmail.com","username":"andrea-frittoli"},"change_message_id":"6625b3e18c52c9c9b26218a8af8e6555f417c94d","unresolved":false,"context_lines":[{"line_number":49,"context_line":"  instance if an ``SSSHABLE`` server is requested the create method takes"},{"line_number":50,"context_line":"  care ofperforming basic ssh validation as well."},{"line_number":51,"context_line":""},{"line_number":52,"context_line":"- it returns a tuple ``(created_server, dict_of_access_resources)``, where the"},{"line_number":53,"context_line":"  dict may include a public key, an admin password, a public IP address, an"},{"line_number":54,"context_line":"  ssh account name."},{"line_number":55,"context_line":""}],"source_content_type":"text/x-rst","patch_set":5,"id":"fa98f980_99ffa601","line":52,"in_reply_to":"fa98f980_11d398d5","updated":"2014-09-15 09:31:53.000000000","message":"Ditto - implementation detail","commit_id":"2dd38f6b7216adb4f90410d54c3dba4ce8700023"},{"author":{"_account_id":8576,"name":"Yair Fried","email":"yfried@redhat.com","username":"yfried"},"change_message_id":"d184662c2ed6295ad69a606b5119c4a988bb6cc1","unresolved":false,"context_lines":[{"line_number":49,"context_line":"  instance if an ``SSSHABLE`` server is requested the create method takes"},{"line_number":50,"context_line":"  care ofperforming basic ssh validation as well."},{"line_number":51,"context_line":""},{"line_number":52,"context_line":"- it returns a tuple ``(created_server, dict_of_access_resources)``, where the"},{"line_number":53,"context_line":"  dict may include a public key, an admin password, a public IP address, an"},{"line_number":54,"context_line":"  ssh account name."},{"line_number":55,"context_line":""}],"source_content_type":"text/x-rst","patch_set":5,"id":"fa98f980_94d4cbe9","line":52,"in_reply_to":"fa98f980_99ffa601","updated":"2014-09-15 12:07:39.000000000","message":"Done","commit_id":"2dd38f6b7216adb4f90410d54c3dba4ce8700023"},{"author":{"_account_id":1839,"name":"nithya-ganesan","email":"nithya.ganesan@hp.com","username":"nithya-ganesan"},"change_message_id":"e0a0624e8513fc748342cce4dd6357254e6fc2f4","unresolved":false,"context_lines":[{"line_number":57,"context_line":"as hot-plug tests, where the server may only be connected at a later stage to"},{"line_number":58,"context_line":"a public network."},{"line_number":59,"context_line":""},{"line_number":60,"context_line":"Centralize the logic for basic ssh verification, to include:"},{"line_number":61,"context_line":"- initial ping verification"},{"line_number":62,"context_line":"- plain connection to port ssh"},{"line_number":63,"context_line":"- full ssh verification"}],"source_content_type":"text/x-rst","patch_set":5,"id":"fa98f980_84744bfe","line":60,"updated":"2014-09-01 15:03:04.000000000","message":"Can we add getting remote client here as well?","commit_id":"2dd38f6b7216adb4f90410d54c3dba4ce8700023"},{"author":{"_account_id":5196,"name":"Matthew Treinish","email":"mtreinish@kortar.org","username":"treinish"},"change_message_id":"67950146b7eef1bce44fb813ff94c81af770c455","unresolved":false,"context_lines":[{"line_number":57,"context_line":"as hot-plug tests, where the server may only be connected at a later stage to"},{"line_number":58,"context_line":"a public network."},{"line_number":59,"context_line":""},{"line_number":60,"context_line":"Centralize the logic for basic ssh verification, to include:"},{"line_number":61,"context_line":"- initial ping verification"},{"line_number":62,"context_line":"- plain connection to port ssh"},{"line_number":63,"context_line":"- full ssh verification"}],"source_content_type":"text/x-rst","patch_set":5,"id":"3a961159_de176a43","line":60,"updated":"2014-12-12 16:58:32.000000000","message":"So I like the idea of having a centralized ssh verification module. But, I think a little more detail about this would be useful. I envision this as something we would like to have as a class in tempest-lib (I was debating migrating the curring remote client code we have now today actually) so I\u0027m curious what this is supposed to look like.","commit_id":"2dd38f6b7216adb4f90410d54c3dba4ce8700023"},{"author":{"_account_id":8576,"name":"Yair Fried","email":"yfried@redhat.com","username":"yfried"},"change_message_id":"c19a34b3a30e8ba95d720e25198f3711479f5523","unresolved":false,"context_lines":[{"line_number":59,"context_line":""},{"line_number":60,"context_line":"Centralize the logic for basic ssh verification, to include:"},{"line_number":61,"context_line":"- initial ping verification"},{"line_number":62,"context_line":"- plain connection to port ssh"},{"line_number":63,"context_line":"- full ssh verification"},{"line_number":64,"context_line":"- collection of debug information on failure"},{"line_number":65,"context_line":""}],"source_content_type":"text/x-rst","patch_set":5,"id":"fa98f980_91dea8d8","line":62,"updated":"2014-09-14 11:28:05.000000000","message":"We have a patch for \"tcpping\" - connectivity verification via tcp port instead of normal icmp-ping. For various segroup related reasons I believe its a better to verify connectivity using that method, instead of regular ping.\nIt won\u0027t play with secgroup that might be tested. Doesn\u0027t require additional rule to open, and verify connectivity directly to desired port (that way avoiding issues were connectivity is achieved but SSH is blocked by secgroup, FW, or target VM)\nhttps://review.openstack.org/#/c/117520/\n\nIf we use this check, we don\u0027t need ping verification.","commit_id":"2dd38f6b7216adb4f90410d54c3dba4ce8700023"},{"author":{"_account_id":1921,"name":"Andrea Frittoli","email":"andrea.frittoli@gmail.com","username":"andrea-frittoli"},"change_message_id":"6625b3e18c52c9c9b26218a8af8e6555f417c94d","unresolved":false,"context_lines":[{"line_number":59,"context_line":""},{"line_number":60,"context_line":"Centralize the logic for basic ssh verification, to include:"},{"line_number":61,"context_line":"- initial ping verification"},{"line_number":62,"context_line":"- plain connection to port ssh"},{"line_number":63,"context_line":"- full ssh verification"},{"line_number":64,"context_line":"- collection of debug information on failure"},{"line_number":65,"context_line":""}],"source_content_type":"text/x-rst","patch_set":5,"id":"fa98f980_d452d311","line":62,"in_reply_to":"fa98f980_91dea8d8","updated":"2014-09-15 09:31:53.000000000","message":"Sure the idea is to re-use and factor up existing connectivity check helpers. The main idea I wanted to convey here is that ssh connection right away can be more difficult to troubleshoot, and in some cases it\u0027s too expensive and not worth it.","commit_id":"2dd38f6b7216adb4f90410d54c3dba4ce8700023"},{"author":{"_account_id":8576,"name":"Yair Fried","email":"yfried@redhat.com","username":"yfried"},"change_message_id":"d184662c2ed6295ad69a606b5119c4a988bb6cc1","unresolved":false,"context_lines":[{"line_number":59,"context_line":""},{"line_number":60,"context_line":"Centralize the logic for basic ssh verification, to include:"},{"line_number":61,"context_line":"- initial ping verification"},{"line_number":62,"context_line":"- plain connection to port ssh"},{"line_number":63,"context_line":"- full ssh verification"},{"line_number":64,"context_line":"- collection of debug information on failure"},{"line_number":65,"context_line":""}],"source_content_type":"text/x-rst","patch_set":5,"id":"fa98f980_f4fc3774","line":62,"in_reply_to":"fa98f980_d452d311","updated":"2014-09-15 12:07:39.000000000","message":"Done","commit_id":"2dd38f6b7216adb4f90410d54c3dba4ce8700023"},{"author":{"_account_id":8576,"name":"Yair Fried","email":"yfried@redhat.com","username":"yfried"},"change_message_id":"c19a34b3a30e8ba95d720e25198f3711479f5523","unresolved":false,"context_lines":[{"line_number":61,"context_line":"- initial ping verification"},{"line_number":62,"context_line":"- plain connection to port ssh"},{"line_number":63,"context_line":"- full ssh verification"},{"line_number":64,"context_line":"- collection of debug information on failure"},{"line_number":65,"context_line":""},{"line_number":66,"context_line":"In case a test class contains tests which make use of ssh-able servers, network"},{"line_number":67,"context_line":"resources must be prepared for the tenant (if not yet available), so that it"}],"source_content_type":"text/x-rst","patch_set":5,"id":"fa98f980_11eab873","line":64,"updated":"2014-09-14 11:28:05.000000000","message":"What kind of debug info?\nWould this support multi-host as well (where debug info can\u0027t be retrieved by executing commands locally)?","commit_id":"2dd38f6b7216adb4f90410d54c3dba4ce8700023"},{"author":{"_account_id":1921,"name":"Andrea Frittoli","email":"andrea.frittoli@gmail.com","username":"andrea-frittoli"},"change_message_id":"6625b3e18c52c9c9b26218a8af8e6555f417c94d","unresolved":false,"context_lines":[{"line_number":61,"context_line":"- initial ping verification"},{"line_number":62,"context_line":"- plain connection to port ssh"},{"line_number":63,"context_line":"- full ssh verification"},{"line_number":64,"context_line":"- collection of debug information on failure"},{"line_number":65,"context_line":""},{"line_number":66,"context_line":"In case a test class contains tests which make use of ssh-able servers, network"},{"line_number":67,"context_line":"resources must be prepared for the tenant (if not yet available), so that it"}],"source_content_type":"text/x-rst","patch_set":5,"id":"fa98f980_d4a013f6","line":64,"in_reply_to":"fa98f980_11eab873","updated":"2014-09-15 09:31:53.000000000","message":"I think this should be what we have today as part of this bp.","commit_id":"2dd38f6b7216adb4f90410d54c3dba4ce8700023"},{"author":{"_account_id":97,"name":"Daryl Walleck","email":"daryl.walleck@rackspace.com","username":"dwalleck"},"change_message_id":"ffd1d9037372fb6b2b5c30a135fd99bf81e503f5","unresolved":false,"context_lines":[{"line_number":70,"context_line":"Alternatives"},{"line_number":71,"context_line":"------------"},{"line_number":72,"context_line":""},{"line_number":73,"context_line":"As run_ssh is currently disabled, an alternative could be to completely"},{"line_number":74,"context_line":"drop ssh verification from API tests. However a number of cases cannot really"},{"line_number":75,"context_line":"be verified unless ssh verification is on (e.g. reboot, rebuild, config drive)."},{"line_number":76,"context_line":""}],"source_content_type":"text/x-rst","patch_set":5,"id":"fa98f980_3e30eb9d","line":73,"updated":"2014-09-02 04:05:05.000000000","message":"The downside to not performing instance level validation is severe. While validating the control plane is useful, that is not where most defects surface. The Compute API (with others falling close behind) is a transformative API more than a transactional API. Being able to verify those transformation and action artifacts is the key to coverage certainly for Compute","commit_id":"2dd38f6b7216adb4f90410d54c3dba4ce8700023"},{"author":{"_account_id":8576,"name":"Yair Fried","email":"yfried@redhat.com","username":"yfried"},"change_message_id":"c19a34b3a30e8ba95d720e25198f3711479f5523","unresolved":false,"context_lines":[{"line_number":72,"context_line":""},{"line_number":73,"context_line":"As run_ssh is currently disabled, an alternative could be to completely"},{"line_number":74,"context_line":"drop ssh verification from API tests. However a number of cases cannot really"},{"line_number":75,"context_line":"be verified unless ssh verification is on (e.g. reboot, rebuild, config drive)."},{"line_number":76,"context_line":""},{"line_number":77,"context_line":""},{"line_number":78,"context_line":"Implementation"}],"source_content_type":"text/x-rst","patch_set":5,"id":"fa98f980_11a1d845","line":75,"updated":"2014-09-14 11:28:05.000000000","message":"I\u0027m not sure, but I think all those checks are, or should be, covered by scenarios.\nSince we have scenarios, I think having SSH checks in API is redundant, and maybe even out of scope for that kind of tests","commit_id":"2dd38f6b7216adb4f90410d54c3dba4ce8700023"},{"author":{"_account_id":1921,"name":"Andrea Frittoli","email":"andrea.frittoli@gmail.com","username":"andrea-frittoli"},"change_message_id":"6625b3e18c52c9c9b26218a8af8e6555f417c94d","unresolved":false,"context_lines":[{"line_number":72,"context_line":""},{"line_number":73,"context_line":"As run_ssh is currently disabled, an alternative could be to completely"},{"line_number":74,"context_line":"drop ssh verification from API tests. However a number of cases cannot really"},{"line_number":75,"context_line":"be verified unless ssh verification is on (e.g. reboot, rebuild, config drive)."},{"line_number":76,"context_line":""},{"line_number":77,"context_line":""},{"line_number":78,"context_line":"Implementation"}],"source_content_type":"text/x-rst","patch_set":5,"id":"fa98f980_b4070fc9","line":75,"in_reply_to":"fa98f980_11a1d845","updated":"2014-09-15 09:31:53.000000000","message":"I disagree here. \nI my experience SSH into VMs is one of the features which is most often broken in OpenStack. Which means we are not testing it enough. Of course having a working ssh connection depends on a number of things, and it can break in so many ways, but that\u0027s why I think it\u0027s important to test it more than we do today. The idea of this bp is to make ssh checks a reliable and reusable feature of tempest, so that it may be added to several tests, without affecting tempest stability and debuggability.","commit_id":"2dd38f6b7216adb4f90410d54c3dba4ce8700023"},{"author":{"_account_id":5196,"name":"Matthew Treinish","email":"mtreinish@kortar.org","username":"treinish"},"change_message_id":"67950146b7eef1bce44fb813ff94c81af770c455","unresolved":false,"context_lines":[{"line_number":90,"context_line":"Milestones"},{"line_number":91,"context_line":"----------"},{"line_number":92,"context_line":"Target Milestone for completion:"},{"line_number":93,"context_line":"  TBD"},{"line_number":94,"context_line":""},{"line_number":95,"context_line":"Work Items"},{"line_number":96,"context_line":"----------"}],"source_content_type":"text/x-rst","patch_set":5,"id":"3a961159_db521c34","line":93,"updated":"2014-12-12 16:58:32.000000000","message":"I\u0027m assuming K-2 or K-3 here.","commit_id":"2dd38f6b7216adb4f90410d54c3dba4ce8700023"},{"author":{"_account_id":5196,"name":"Matthew Treinish","email":"mtreinish@kortar.org","username":"treinish"},"change_message_id":"67950146b7eef1bce44fb813ff94c81af770c455","unresolved":false,"context_lines":[{"line_number":95,"context_line":"Work Items"},{"line_number":96,"context_line":"----------"},{"line_number":97,"context_line":""},{"line_number":98,"context_line":"- Define new configuration options if needed"},{"line_number":99,"context_line":"- Create shared create_server function"},{"line_number":100,"context_line":"- Create shared ssh verification function"},{"line_number":101,"context_line":"- Create network resource setup for ssh verification"}],"source_content_type":"text/x-rst","patch_set":5,"id":"3a961159_bebd3e04","line":98,"updated":"2014-12-12 16:58:32.000000000","message":"I think we need to outline all potentially new configuration options in the spec. Just so we can discuss them beforehand.","commit_id":"2dd38f6b7216adb4f90410d54c3dba4ce8700023"},{"author":{"_account_id":5196,"name":"Matthew Treinish","email":"mtreinish@kortar.org","username":"treinish"},"change_message_id":"67950146b7eef1bce44fb813ff94c81af770c455","unresolved":false,"context_lines":[{"line_number":100,"context_line":"- Create shared ssh verification function"},{"line_number":101,"context_line":"- Create network resource setup for ssh verification"},{"line_number":102,"context_line":"- Migrate tests to the new format (multiple patches)"},{"line_number":103,"context_line":"- Drop the old run_ssh option"},{"line_number":104,"context_line":""},{"line_number":105,"context_line":"Dependencies"},{"line_number":106,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"}],"source_content_type":"text/x-rst","patch_set":5,"id":"3a961159_bec7fe62","line":103,"updated":"2014-12-12 16:58:32.000000000","message":"Is there going to be something analogous? If so we probably should deprecate this.","commit_id":"2dd38f6b7216adb4f90410d54c3dba4ce8700023"},{"author":{"_account_id":10016,"name":"Joseph Lanoux","email":"joseph.lanoux@hpe.com","username":"lanoux"},"change_message_id":"0a7ca93d19986f4ef3e27b6a64d6fc87f6f06723","unresolved":false,"context_lines":[{"line_number":46,"context_line":"- ``CONF.auth.allow_tenant_isolation``: affects the fixed network name"},{"line_number":47,"context_line":"- ``CONF.compute.[image|image_alt]_ssh_user``"},{"line_number":48,"context_line":"- ``CONF.compute.image_ssh_password``: not image specific, and it\u0027s used"},{"line_number":49,"context_line":"  by only two tests, without checking againt the ssh_auth_method"},{"line_number":50,"context_line":"- ``CONF.compute.image_alt_ssh_password``: unused"},{"line_number":51,"context_line":"- ``CONF.compute.run_ssh``"},{"line_number":52,"context_line":"- ``CONF.compute.ssh_auth_method``: used for resource setup by API compute"}],"source_content_type":"text/x-rst","patch_set":7,"id":"3a961159_84dfa5d5","line":49,"updated":"2015-01-05 14:39:38.000000000","message":"s/againt/again","commit_id":"af865987e745e2ff79f3a0cb446f9b26dac3ac0b"},{"author":{"_account_id":1921,"name":"Andrea Frittoli","email":"andrea.frittoli@gmail.com","username":"andrea-frittoli"},"change_message_id":"e579c11836f29f1fe8c5aafb8e15fe19481bbebe","unresolved":false,"context_lines":[{"line_number":46,"context_line":"- ``CONF.auth.allow_tenant_isolation``: affects the fixed network name"},{"line_number":47,"context_line":"- ``CONF.compute.[image|image_alt]_ssh_user``"},{"line_number":48,"context_line":"- ``CONF.compute.image_ssh_password``: not image specific, and it\u0027s used"},{"line_number":49,"context_line":"  by only two tests, without checking againt the ssh_auth_method"},{"line_number":50,"context_line":"- ``CONF.compute.image_alt_ssh_password``: unused"},{"line_number":51,"context_line":"- ``CONF.compute.run_ssh``"},{"line_number":52,"context_line":"- ``CONF.compute.ssh_auth_method``: used for resource setup by API compute"}],"source_content_type":"text/x-rst","patch_set":7,"id":"3a961159_8dd4bd20","line":49,"in_reply_to":"3a961159_84dfa5d5","updated":"2015-01-08 16:50:11.000000000","message":"against","commit_id":"af865987e745e2ff79f3a0cb446f9b26dac3ac0b"},{"author":{"_account_id":10016,"name":"Joseph Lanoux","email":"joseph.lanoux@hpe.com","username":"lanoux"},"change_message_id":"0a7ca93d19986f4ef3e27b6a64d6fc87f6f06723","unresolved":false,"context_lines":[{"line_number":51,"context_line":"- ``CONF.compute.run_ssh``"},{"line_number":52,"context_line":"- ``CONF.compute.ssh_auth_method``: used for resource setup by API compute"},{"line_number":53,"context_line":"  tests, but not honoured by the tests. The image[_alt]_ssh_[user|password]"},{"line_number":54,"context_line":"  ettings are  meant to be used when this is set to \"configured\"."},{"line_number":55,"context_line":"  At the moment it is not enforced nor documented"},{"line_number":56,"context_line":"- ``CONF.compute.ssh_connect_method``: user for resource setup by API"},{"line_number":57,"context_line":"  compute tests, not honoured by the tests. When set to floating, it"}],"source_content_type":"text/x-rst","patch_set":7,"id":"3a961159_24019139","line":54,"updated":"2015-01-05 14:39:38.000000000","message":"s/ettings/settings","commit_id":"af865987e745e2ff79f3a0cb446f9b26dac3ac0b"},{"author":{"_account_id":1921,"name":"Andrea Frittoli","email":"andrea.frittoli@gmail.com","username":"andrea-frittoli"},"change_message_id":"e579c11836f29f1fe8c5aafb8e15fe19481bbebe","unresolved":false,"context_lines":[{"line_number":51,"context_line":"- ``CONF.compute.run_ssh``"},{"line_number":52,"context_line":"- ``CONF.compute.ssh_auth_method``: used for resource setup by API compute"},{"line_number":53,"context_line":"  tests, but not honoured by the tests. The image[_alt]_ssh_[user|password]"},{"line_number":54,"context_line":"  ettings are  meant to be used when this is set to \"configured\"."},{"line_number":55,"context_line":"  At the moment it is not enforced nor documented"},{"line_number":56,"context_line":"- ``CONF.compute.ssh_connect_method``: user for resource setup by API"},{"line_number":57,"context_line":"  compute tests, not honoured by the tests. When set to floating, it"}],"source_content_type":"text/x-rst","patch_set":7,"id":"3a961159_4dee55ee","line":54,"in_reply_to":"3a961159_24019139","updated":"2015-01-08 16:50:11.000000000","message":"Done","commit_id":"af865987e745e2ff79f3a0cb446f9b26dac3ac0b"},{"author":{"_account_id":10016,"name":"Joseph Lanoux","email":"joseph.lanoux@hpe.com","username":"lanoux"},"change_message_id":"0a7ca93d19986f4ef3e27b6a64d6fc87f6f06723","unresolved":false,"context_lines":[{"line_number":53,"context_line":"  tests, but not honoured by the tests. The image[_alt]_ssh_[user|password]"},{"line_number":54,"context_line":"  ettings are  meant to be used when this is set to \"configured\"."},{"line_number":55,"context_line":"  At the moment it is not enforced nor documented"},{"line_number":56,"context_line":"- ``CONF.compute.ssh_connect_method``: user for resource setup by API"},{"line_number":57,"context_line":"  compute tests, not honoured by the tests. When set to floating, it"},{"line_number":58,"context_line":"  should be verified that a floating IP range is configured"},{"line_number":59,"context_line":"- ``CONF.compute.ssh_user``: currently used for ssh verification by most"}],"source_content_type":"text/x-rst","patch_set":7,"id":"3a961159_6492b9f7","line":56,"updated":"2015-01-05 14:39:38.000000000","message":"s/user/used","commit_id":"af865987e745e2ff79f3a0cb446f9b26dac3ac0b"},{"author":{"_account_id":1921,"name":"Andrea Frittoli","email":"andrea.frittoli@gmail.com","username":"andrea-frittoli"},"change_message_id":"e579c11836f29f1fe8c5aafb8e15fe19481bbebe","unresolved":false,"context_lines":[{"line_number":53,"context_line":"  tests, but not honoured by the tests. The image[_alt]_ssh_[user|password]"},{"line_number":54,"context_line":"  ettings are  meant to be used when this is set to \"configured\"."},{"line_number":55,"context_line":"  At the moment it is not enforced nor documented"},{"line_number":56,"context_line":"- ``CONF.compute.ssh_connect_method``: user for resource setup by API"},{"line_number":57,"context_line":"  compute tests, not honoured by the tests. When set to floating, it"},{"line_number":58,"context_line":"  should be verified that a floating IP range is configured"},{"line_number":59,"context_line":"- ``CONF.compute.ssh_user``: currently used for ssh verification by most"}],"source_content_type":"text/x-rst","patch_set":7,"id":"3a961159_6de951e2","line":56,"in_reply_to":"3a961159_6492b9f7","updated":"2015-01-08 16:50:11.000000000","message":"Done","commit_id":"af865987e745e2ff79f3a0cb446f9b26dac3ac0b"},{"author":{"_account_id":8576,"name":"Yair Fried","email":"yfried@redhat.com","username":"yfried"},"change_message_id":"0fc36ab5f0e7e0b8d0c622ec609924bcdd5dd440","unresolved":false,"context_lines":[{"line_number":90,"context_line":"Target configuration shall include a new group \"validation\" used for all"},{"line_number":91,"context_line":"option related to validation of API call results, and the following options:"},{"line_number":92,"context_line":""},{"line_number":93,"context_line":"- ``CONF.validation.ssh_connect_method``: default ssh method. Tests may"},{"line_number":94,"context_line":"  still use different method if they want to do so (fixed or floating)"},{"line_number":95,"context_line":"- ``CONF.validation.ssh_auth_method``: default auth method. Tests may"},{"line_number":96,"context_line":"  still use a different method if they want to do so (only ssh key"}],"source_content_type":"text/x-rst","patch_set":7,"id":"3a961159_fc97bc37","line":93,"updated":"2014-12-23 15:21:56.000000000","message":"maybe remove the \"ssh_\" prefix? I think this applies to ping checks as well (ie - network_basic_ops is doing both for both options)","commit_id":"af865987e745e2ff79f3a0cb446f9b26dac3ac0b"},{"author":{"_account_id":1921,"name":"Andrea Frittoli","email":"andrea.frittoli@gmail.com","username":"andrea-frittoli"},"change_message_id":"b9858580bb984fcd54eda9ed0dc3f13cb40b631d","unresolved":false,"context_lines":[{"line_number":90,"context_line":"Target configuration shall include a new group \"validation\" used for all"},{"line_number":91,"context_line":"option related to validation of API call results, and the following options:"},{"line_number":92,"context_line":""},{"line_number":93,"context_line":"- ``CONF.validation.ssh_connect_method``: default ssh method. Tests may"},{"line_number":94,"context_line":"  still use different method if they want to do so (fixed or floating)"},{"line_number":95,"context_line":"- ``CONF.validation.ssh_auth_method``: default auth method. Tests may"},{"line_number":96,"context_line":"  still use a different method if they want to do so (only ssh key"}],"source_content_type":"text/x-rst","patch_set":7,"id":"3a961159_1728e131","line":93,"in_reply_to":"3a961159_fc97bc37","updated":"2014-12-24 00:27:47.000000000","message":"yes good idea","commit_id":"af865987e745e2ff79f3a0cb446f9b26dac3ac0b"},{"author":{"_account_id":8576,"name":"Yair Fried","email":"yfried@redhat.com","username":"yfried"},"change_message_id":"0fc36ab5f0e7e0b8d0c622ec609924bcdd5dd440","unresolved":false,"context_lines":[{"line_number":91,"context_line":"option related to validation of API call results, and the following options:"},{"line_number":92,"context_line":""},{"line_number":93,"context_line":"- ``CONF.validation.ssh_connect_method``: default ssh method. Tests may"},{"line_number":94,"context_line":"  still use different method if they want to do so (fixed or floating)"},{"line_number":95,"context_line":"- ``CONF.validation.ssh_auth_method``: default auth method. Tests may"},{"line_number":96,"context_line":"  still use a different method if they want to do so (only ssh key"},{"line_number":97,"context_line":"  supported for now). Additional methods will be handled in a"}],"source_content_type":"text/x-rst","patch_set":7,"id":"3a961159_5c79b02d","line":94,"updated":"2014-12-23 15:21:56.000000000","message":"Assuming it\u0027s a binary option (fixed/floating), IMO it should be a Boolean value (ie fixed_ip\u003dtrue)\nAlso, IMO, any test that is using a hard-coded method (ie \"fixed\") should be skipped when ssh_connect_method is different (ie \"floating\")","commit_id":"af865987e745e2ff79f3a0cb446f9b26dac3ac0b"},{"author":{"_account_id":1921,"name":"Andrea Frittoli","email":"andrea.frittoli@gmail.com","username":"andrea-frittoli"},"change_message_id":"b9858580bb984fcd54eda9ed0dc3f13cb40b631d","unresolved":false,"context_lines":[{"line_number":91,"context_line":"option related to validation of API call results, and the following options:"},{"line_number":92,"context_line":""},{"line_number":93,"context_line":"- ``CONF.validation.ssh_connect_method``: default ssh method. Tests may"},{"line_number":94,"context_line":"  still use different method if they want to do so (fixed or floating)"},{"line_number":95,"context_line":"- ``CONF.validation.ssh_auth_method``: default auth method. Tests may"},{"line_number":96,"context_line":"  still use a different method if they want to do so (only ssh key"},{"line_number":97,"context_line":"  supported for now). Additional methods will be handled in a"}],"source_content_type":"text/x-rst","patch_set":7,"id":"3a961159_f8d7babc","line":94,"in_reply_to":"3a961159_5c79b02d","updated":"2014-12-24 00:27:47.000000000","message":"The current option available values are fixed / floating / None \u003d\u003d no validation, but they are not really enforced. \n\nI still prefer the fixed / floating, because saying fixed \u003d\u003d False does not so obviously imply we\u0027re going to use floating.\n\nRegarding the 2nd paragraph I disagree. It should be possible to have test using fixed and floating running as part of the same test run. My idea here would be to use the config value as the default, and to let test override that via parameter.","commit_id":"af865987e745e2ff79f3a0cb446f9b26dac3ac0b"},{"author":{"_account_id":1921,"name":"Andrea Frittoli","email":"andrea.frittoli@gmail.com","username":"andrea-frittoli"},"change_message_id":"e579c11836f29f1fe8c5aafb8e15fe19481bbebe","unresolved":false,"context_lines":[{"line_number":91,"context_line":"option related to validation of API call results, and the following options:"},{"line_number":92,"context_line":""},{"line_number":93,"context_line":"- ``CONF.validation.ssh_connect_method``: default ssh method. Tests may"},{"line_number":94,"context_line":"  still use different method if they want to do so (fixed or floating)"},{"line_number":95,"context_line":"- ``CONF.validation.ssh_auth_method``: default auth method. Tests may"},{"line_number":96,"context_line":"  still use a different method if they want to do so (only ssh key"},{"line_number":97,"context_line":"  supported for now). Additional methods will be handled in a"}],"source_content_type":"text/x-rst","patch_set":7,"id":"3a961159_6d46b1a8","line":94,"in_reply_to":"3a961159_f0f42a88","updated":"2015-01-08 16:50:11.000000000","message":"That\u0027s expressed via the tenant_network_reachable option. If that\u0027s set to false and a test requests the fixed network check ignoring the configuration it will fail.","commit_id":"af865987e745e2ff79f3a0cb446f9b26dac3ac0b"},{"author":{"_account_id":8576,"name":"Yair Fried","email":"yfried@redhat.com","username":"yfried"},"change_message_id":"6d9e2fc63b917c8f6cef8110540a8f2e396db3d4","unresolved":false,"context_lines":[{"line_number":91,"context_line":"option related to validation of API call results, and the following options:"},{"line_number":92,"context_line":""},{"line_number":93,"context_line":"- ``CONF.validation.ssh_connect_method``: default ssh method. Tests may"},{"line_number":94,"context_line":"  still use different method if they want to do so (fixed or floating)"},{"line_number":95,"context_line":"- ``CONF.validation.ssh_auth_method``: default auth method. Tests may"},{"line_number":96,"context_line":"  still use a different method if they want to do so (only ssh key"},{"line_number":97,"context_line":"  supported for now). Additional methods will be handled in a"}],"source_content_type":"text/x-rst","patch_set":7,"id":"3a961159_f0f42a88","line":94,"in_reply_to":"3a961159_f8d7babc","updated":"2014-12-24 07:29:35.000000000","message":"My concerns is that some setups are either fixed OR floating only, and the other option is unavailable, so I was hoping we could make so the conf would enable user to define \"only run fixed ssh\" etc.\nI agree that some setups would support both, but I wonder if and how we could help users with setups that don\u0027t","commit_id":"af865987e745e2ff79f3a0cb446f9b26dac3ac0b"},{"author":{"_account_id":5196,"name":"Matthew Treinish","email":"mtreinish@kortar.org","username":"treinish"},"change_message_id":"8914b7562d5eedf37e64ac59c7ccdec6724f2480","unresolved":false,"context_lines":[{"line_number":99,"context_line":"- ``CONF.validation.ip_version_for_ssh``: default IP version for ssh"},{"line_number":100,"context_line":"- ``CONF.validation.*timeout`` (for ping, connect and ssh)"},{"line_number":101,"context_line":"- ``CONF.*.*ssh_user`` (for the various images available)"},{"line_number":102,"context_line":"- ``CONF.network.fixed_network_name``: default fixed network name; the"},{"line_number":103,"context_line":"  actual name will be different in case of tenant isolation and neutron"},{"line_number":104,"context_line":"- ``CONF.network.floating_network_name``: default floating network name,"},{"line_number":105,"context_line":"  used to allocate floating IPs when neutron is enabled"}],"source_content_type":"text/x-rst","patch_set":7,"id":"3a961159_72fc02b6","line":102,"updated":"2015-01-07 00:57:19.000000000","message":"Won\u0027t this also be different if test accounts are used. I thought part of that was to specify tenant specific network settings.","commit_id":"af865987e745e2ff79f3a0cb446f9b26dac3ac0b"},{"author":{"_account_id":1921,"name":"Andrea Frittoli","email":"andrea.frittoli@gmail.com","username":"andrea-frittoli"},"change_message_id":"e579c11836f29f1fe8c5aafb8e15fe19481bbebe","unresolved":false,"context_lines":[{"line_number":99,"context_line":"- ``CONF.validation.ip_version_for_ssh``: default IP version for ssh"},{"line_number":100,"context_line":"- ``CONF.validation.*timeout`` (for ping, connect and ssh)"},{"line_number":101,"context_line":"- ``CONF.*.*ssh_user`` (for the various images available)"},{"line_number":102,"context_line":"- ``CONF.network.fixed_network_name``: default fixed network name; the"},{"line_number":103,"context_line":"  actual name will be different in case of tenant isolation and neutron"},{"line_number":104,"context_line":"- ``CONF.network.floating_network_name``: default floating network name,"},{"line_number":105,"context_line":"  used to allocate floating IPs when neutron is enabled"}],"source_content_type":"text/x-rst","patch_set":7,"id":"3a961159_5f27d8b5","line":102,"in_reply_to":"3a961159_72fc02b6","updated":"2015-01-08 16:50:11.000000000","message":"Yes it may be different. This can be the default name for tenants which do not specify a nw name in accounts.yaml.","commit_id":"af865987e745e2ff79f3a0cb446f9b26dac3ac0b"},{"author":{"_account_id":8576,"name":"Yair Fried","email":"yfried@redhat.com","username":"yfried"},"change_message_id":"0fc36ab5f0e7e0b8d0c622ec609924bcdd5dd440","unresolved":false,"context_lines":[{"line_number":101,"context_line":"- ``CONF.*.*ssh_user`` (for the various images available)"},{"line_number":102,"context_line":"- ``CONF.network.fixed_network_name``: default fixed network name; the"},{"line_number":103,"context_line":"  actual name will be different in case of tenant isolation and neutron"},{"line_number":104,"context_line":"- ``CONF.network.floating_network_name``: default floating network name,"},{"line_number":105,"context_line":"  used to allocate floating IPs when neutron is enabled"},{"line_number":106,"context_line":"- ``CONF.network.tenant_network_reachable``: used when the configured"},{"line_number":107,"context_line":"  ssh_connect_method is \"fixed\". If this is set to false raise an"}],"source_content_type":"text/x-rst","patch_set":7,"id":"3a961159_bcdff40b","line":104,"updated":"2014-12-23 15:21:56.000000000","message":"will this deprecate \"public_network_id\"?","commit_id":"af865987e745e2ff79f3a0cb446f9b26dac3ac0b"},{"author":{"_account_id":1921,"name":"Andrea Frittoli","email":"andrea.frittoli@gmail.com","username":"andrea-frittoli"},"change_message_id":"e579c11836f29f1fe8c5aafb8e15fe19481bbebe","unresolved":false,"context_lines":[{"line_number":101,"context_line":"- ``CONF.*.*ssh_user`` (for the various images available)"},{"line_number":102,"context_line":"- ``CONF.network.fixed_network_name``: default fixed network name; the"},{"line_number":103,"context_line":"  actual name will be different in case of tenant isolation and neutron"},{"line_number":104,"context_line":"- ``CONF.network.floating_network_name``: default floating network name,"},{"line_number":105,"context_line":"  used to allocate floating IPs when neutron is enabled"},{"line_number":106,"context_line":"- ``CONF.network.tenant_network_reachable``: used when the configured"},{"line_number":107,"context_line":"  ssh_connect_method is \"fixed\". If this is set to false raise an"}],"source_content_type":"text/x-rst","patch_set":7,"id":"3a961159_ff35e4da","line":104,"in_reply_to":"3a961159_9033e660","updated":"2015-01-08 16:50:11.000000000","message":"done","commit_id":"af865987e745e2ff79f3a0cb446f9b26dac3ac0b"},{"author":{"_account_id":1921,"name":"Andrea Frittoli","email":"andrea.frittoli@gmail.com","username":"andrea-frittoli"},"change_message_id":"b9858580bb984fcd54eda9ed0dc3f13cb40b631d","unresolved":false,"context_lines":[{"line_number":101,"context_line":"- ``CONF.*.*ssh_user`` (for the various images available)"},{"line_number":102,"context_line":"- ``CONF.network.fixed_network_name``: default fixed network name; the"},{"line_number":103,"context_line":"  actual name will be different in case of tenant isolation and neutron"},{"line_number":104,"context_line":"- ``CONF.network.floating_network_name``: default floating network name,"},{"line_number":105,"context_line":"  used to allocate floating IPs when neutron is enabled"},{"line_number":106,"context_line":"- ``CONF.network.tenant_network_reachable``: used when the configured"},{"line_number":107,"context_line":"  ssh_connect_method is \"fixed\". If this is set to false raise an"}],"source_content_type":"text/x-rst","patch_set":7,"id":"3a961159_f8feda36","line":104,"in_reply_to":"3a961159_bcdff40b","updated":"2014-12-24 00:27:47.000000000","message":"Yes. I didn\u0027t like having the fixed nw as a name and the public one as ID, so I\u0027m proposing to use name for both, which is easier to use anyways, as name can be fixed, uuids cannot.","commit_id":"af865987e745e2ff79f3a0cb446f9b26dac3ac0b"},{"author":{"_account_id":8576,"name":"Yair Fried","email":"yfried@redhat.com","username":"yfried"},"change_message_id":"6d9e2fc63b917c8f6cef8110540a8f2e396db3d4","unresolved":false,"context_lines":[{"line_number":101,"context_line":"- ``CONF.*.*ssh_user`` (for the various images available)"},{"line_number":102,"context_line":"- ``CONF.network.fixed_network_name``: default fixed network name; the"},{"line_number":103,"context_line":"  actual name will be different in case of tenant isolation and neutron"},{"line_number":104,"context_line":"- ``CONF.network.floating_network_name``: default floating network name,"},{"line_number":105,"context_line":"  used to allocate floating IPs when neutron is enabled"},{"line_number":106,"context_line":"- ``CONF.network.tenant_network_reachable``: used when the configured"},{"line_number":107,"context_line":"  ssh_connect_method is \"fixed\". If this is set to false raise an"}],"source_content_type":"text/x-rst","patch_set":7,"id":"3a961159_9033e660","line":104,"in_reply_to":"3a961159_f8feda36","updated":"2014-12-24 07:29:35.000000000","message":"I agree with the direction, but please write it explicitly","commit_id":"af865987e745e2ff79f3a0cb446f9b26dac3ac0b"},{"author":{"_account_id":8576,"name":"Yair Fried","email":"yfried@redhat.com","username":"yfried"},"change_message_id":"0fc36ab5f0e7e0b8d0c622ec609924bcdd5dd440","unresolved":false,"context_lines":[{"line_number":103,"context_line":"  actual name will be different in case of tenant isolation and neutron"},{"line_number":104,"context_line":"- ``CONF.network.floating_network_name``: default floating network name,"},{"line_number":105,"context_line":"  used to allocate floating IPs when neutron is enabled"},{"line_number":106,"context_line":"- ``CONF.network.tenant_network_reachable``: used when the configured"},{"line_number":107,"context_line":"  ssh_connect_method is \"fixed\". If this is set to false raise an"},{"line_number":108,"context_line":"  ``InvalidConfiguration`` exception"},{"line_number":109,"context_line":""}],"source_content_type":"text/x-rst","patch_set":7,"id":"3a961159_3cfa2475","line":106,"updated":"2014-12-23 15:21:56.000000000","message":"How is this different than \"ssh_connect_method\"?","commit_id":"af865987e745e2ff79f3a0cb446f9b26dac3ac0b"},{"author":{"_account_id":1921,"name":"Andrea Frittoli","email":"andrea.frittoli@gmail.com","username":"andrea-frittoli"},"change_message_id":"b9858580bb984fcd54eda9ed0dc3f13cb40b631d","unresolved":false,"context_lines":[{"line_number":103,"context_line":"  actual name will be different in case of tenant isolation and neutron"},{"line_number":104,"context_line":"- ``CONF.network.floating_network_name``: default floating network name,"},{"line_number":105,"context_line":"  used to allocate floating IPs when neutron is enabled"},{"line_number":106,"context_line":"- ``CONF.network.tenant_network_reachable``: used when the configured"},{"line_number":107,"context_line":"  ssh_connect_method is \"fixed\". If this is set to false raise an"},{"line_number":108,"context_line":"  ``InvalidConfiguration`` exception"},{"line_number":109,"context_line":""}],"source_content_type":"text/x-rst","patch_set":7,"id":"3a961159_78c10ae3","line":106,"in_reply_to":"3a961159_3cfa2475","updated":"2014-12-24 00:27:47.000000000","message":"Saying that I should connect via floating does not imply that the tenant network is not reachable. \nIf the tenant network is not reachable, and a test requests to use it for validation it should fail.","commit_id":"af865987e745e2ff79f3a0cb446f9b26dac3ac0b"},{"author":{"_account_id":8576,"name":"Yair Fried","email":"yfried@redhat.com","username":"yfried"},"change_message_id":"0fc36ab5f0e7e0b8d0c622ec609924bcdd5dd440","unresolved":false,"context_lines":[{"line_number":107,"context_line":"  ssh_connect_method is \"fixed\". If this is set to false raise an"},{"line_number":108,"context_line":"  ``InvalidConfiguration`` exception"},{"line_number":109,"context_line":""},{"line_number":110,"context_line":"Configuration options that are rename or that planned for removal"},{"line_number":111,"context_line":"should go through the deprecation process."},{"line_number":112,"context_line":""},{"line_number":113,"context_line":"A few options are image specific: image name, ssh user / password,"}],"source_content_type":"text/x-rst","patch_set":7,"id":"3a961159_5cf53081","line":110,"updated":"2014-12-23 15:21:56.000000000","message":"\"renamed\"","commit_id":"af865987e745e2ff79f3a0cb446f9b26dac3ac0b"},{"author":{"_account_id":1921,"name":"Andrea Frittoli","email":"andrea.frittoli@gmail.com","username":"andrea-frittoli"},"change_message_id":"e579c11836f29f1fe8c5aafb8e15fe19481bbebe","unresolved":false,"context_lines":[{"line_number":107,"context_line":"  ssh_connect_method is \"fixed\". If this is set to false raise an"},{"line_number":108,"context_line":"  ``InvalidConfiguration`` exception"},{"line_number":109,"context_line":""},{"line_number":110,"context_line":"Configuration options that are rename or that planned for removal"},{"line_number":111,"context_line":"should go through the deprecation process."},{"line_number":112,"context_line":""},{"line_number":113,"context_line":"A few options are image specific: image name, ssh user / password,"}],"source_content_type":"text/x-rst","patch_set":7,"id":"3a961159_bf6efcc5","line":110,"in_reply_to":"3a961159_5cf53081","updated":"2015-01-08 16:50:11.000000000","message":"Done","commit_id":"af865987e745e2ff79f3a0cb446f9b26dac3ac0b"},{"author":{"_account_id":8576,"name":"Yair Fried","email":"yfried@redhat.com","username":"yfried"},"change_message_id":"0fc36ab5f0e7e0b8d0c622ec609924bcdd5dd440","unresolved":false,"context_lines":[{"line_number":111,"context_line":"should go through the deprecation process."},{"line_number":112,"context_line":""},{"line_number":113,"context_line":"A few options are image specific: image name, ssh user / password,"},{"line_number":114,"context_line":"typical time to boot / ssh."},{"line_number":115,"context_line":"Such options would be better handled in a dedicated images.yaml file"},{"line_number":116,"context_line":"rather than in tempest.conf. This will be handled in a separate spec."},{"line_number":117,"context_line":""}],"source_content_type":"text/x-rst","patch_set":7,"id":"3a961159_7c1e6cbc","line":114,"updated":"2014-12-23 15:21:56.000000000","message":"Also - a list of default paths for commands (ie /bin/ or /usr/bin, etc...) to remove the need for hard-coding those commands in \"RemoteClient\"","commit_id":"af865987e745e2ff79f3a0cb446f9b26dac3ac0b"},{"author":{"_account_id":1921,"name":"Andrea Frittoli","email":"andrea.frittoli@gmail.com","username":"andrea-frittoli"},"change_message_id":"b9858580bb984fcd54eda9ed0dc3f13cb40b631d","unresolved":false,"context_lines":[{"line_number":111,"context_line":"should go through the deprecation process."},{"line_number":112,"context_line":""},{"line_number":113,"context_line":"A few options are image specific: image name, ssh user / password,"},{"line_number":114,"context_line":"typical time to boot / ssh."},{"line_number":115,"context_line":"Such options would be better handled in a dedicated images.yaml file"},{"line_number":116,"context_line":"rather than in tempest.conf. This will be handled in a separate spec."},{"line_number":117,"context_line":""}],"source_content_type":"text/x-rst","patch_set":7,"id":"3a961159_58652e1c","line":114,"in_reply_to":"3a961159_7c1e6cbc","updated":"2014-12-24 00:27:47.000000000","message":"Yes possibly - I didn\u0027t want to get into too many details about the other spec, not relevant here.","commit_id":"af865987e745e2ff79f3a0cb446f9b26dac3ac0b"},{"author":{"_account_id":8576,"name":"Yair Fried","email":"yfried@redhat.com","username":"yfried"},"change_message_id":"0fc36ab5f0e7e0b8d0c622ec609924bcdd5dd440","unresolved":false,"context_lines":[{"line_number":130,"context_line":"Bits of implementation for that are already available in scenario"},{"line_number":131,"context_line":"tests. They should be consolidated in ``RemoteClient``."},{"line_number":132,"context_line":""},{"line_number":133,"context_line":"Defines an ``validation_resources`` function, similar to the existing"},{"line_number":134,"context_line":"``network_resources``, to be used in the class level ``resource_setup``,"},{"line_number":135,"context_line":"which allocates required reusable resources, such as: a key pair, a"},{"line_number":136,"context_line":"security group with rules in it, and a floating ip. It returns all the"}],"source_content_type":"text/x-rst","patch_set":7,"id":"3a961159_dc7e80e3","line":133,"updated":"2014-12-23 15:21:56.000000000","message":"s/an/a","commit_id":"af865987e745e2ff79f3a0cb446f9b26dac3ac0b"},{"author":{"_account_id":8576,"name":"Yair Fried","email":"yfried@redhat.com","username":"yfried"},"change_message_id":"0fc36ab5f0e7e0b8d0c622ec609924bcdd5dd440","unresolved":false,"context_lines":[{"line_number":131,"context_line":"tests. They should be consolidated in ``RemoteClient``."},{"line_number":132,"context_line":""},{"line_number":133,"context_line":"Defines an ``validation_resources`` function, similar to the existing"},{"line_number":134,"context_line":"``network_resources``, to be used in the class level ``resource_setup``,"},{"line_number":135,"context_line":"which allocates required reusable resources, such as: a key pair, a"},{"line_number":136,"context_line":"security group with rules in it, and a floating ip. It returns all the"},{"line_number":137,"context_line":"resources in form of a dict, ready to be used in ``create_test_server``."}],"source_content_type":"text/x-rst","patch_set":7,"id":"3a961159_dc65a045","line":134,"updated":"2014-12-23 15:21:56.000000000","message":"not sure why these can\u0027t be part of the already existing \"netwokr_resources\" dict","commit_id":"af865987e745e2ff79f3a0cb446f9b26dac3ac0b"},{"author":{"_account_id":1921,"name":"Andrea Frittoli","email":"andrea.frittoli@gmail.com","username":"andrea-frittoli"},"change_message_id":"e579c11836f29f1fe8c5aafb8e15fe19481bbebe","unresolved":false,"context_lines":[{"line_number":131,"context_line":"tests. They should be consolidated in ``RemoteClient``."},{"line_number":132,"context_line":""},{"line_number":133,"context_line":"Defines an ``validation_resources`` function, similar to the existing"},{"line_number":134,"context_line":"``network_resources``, to be used in the class level ``resource_setup``,"},{"line_number":135,"context_line":"which allocates required reusable resources, such as: a key pair, a"},{"line_number":136,"context_line":"security group with rules in it, and a floating ip. It returns all the"},{"line_number":137,"context_line":"resources in form of a dict, ready to be used in ``create_test_server``."}],"source_content_type":"text/x-rst","patch_set":7,"id":"3a961159_7fed7424","line":134,"in_reply_to":"3a961159_52a9c67a","updated":"2015-01-08 16:50:11.000000000","message":"indeed","commit_id":"af865987e745e2ff79f3a0cb446f9b26dac3ac0b"},{"author":{"_account_id":5196,"name":"Matthew Treinish","email":"mtreinish@kortar.org","username":"treinish"},"change_message_id":"8914b7562d5eedf37e64ac59c7ccdec6724f2480","unresolved":false,"context_lines":[{"line_number":131,"context_line":"tests. They should be consolidated in ``RemoteClient``."},{"line_number":132,"context_line":""},{"line_number":133,"context_line":"Defines an ``validation_resources`` function, similar to the existing"},{"line_number":134,"context_line":"``network_resources``, to be used in the class level ``resource_setup``,"},{"line_number":135,"context_line":"which allocates required reusable resources, such as: a key pair, a"},{"line_number":136,"context_line":"security group with rules in it, and a floating ip. It returns all the"},{"line_number":137,"context_line":"resources in form of a dict, ready to be used in ``create_test_server``."}],"source_content_type":"text/x-rst","patch_set":7,"id":"3a961159_52a9c67a","line":134,"in_reply_to":"3a961159_983956f4","updated":"2015-01-07 00:57:19.000000000","message":"It shouldn\u0027t be because network_resources (at least for right now) is specifically a tenant_isolation thing. This is different because it applies to all the creds_providers. I think we can revisit this aspect after both this and test-accounts-continued are completed because that will most likely move the network functionality from tenant_isolation into the cred_provider metaclass.","commit_id":"af865987e745e2ff79f3a0cb446f9b26dac3ac0b"},{"author":{"_account_id":1921,"name":"Andrea Frittoli","email":"andrea.frittoli@gmail.com","username":"andrea-frittoli"},"change_message_id":"b9858580bb984fcd54eda9ed0dc3f13cb40b631d","unresolved":false,"context_lines":[{"line_number":131,"context_line":"tests. They should be consolidated in ``RemoteClient``."},{"line_number":132,"context_line":""},{"line_number":133,"context_line":"Defines an ``validation_resources`` function, similar to the existing"},{"line_number":134,"context_line":"``network_resources``, to be used in the class level ``resource_setup``,"},{"line_number":135,"context_line":"which allocates required reusable resources, such as: a key pair, a"},{"line_number":136,"context_line":"security group with rules in it, and a floating ip. It returns all the"},{"line_number":137,"context_line":"resources in form of a dict, ready to be used in ``create_test_server``."}],"source_content_type":"text/x-rst","patch_set":7,"id":"3a961159_983956f4","line":134,"in_reply_to":"3a961159_dc65a045","updated":"2014-12-24 00:27:47.000000000","message":"They are used by different functions, and they contain different things (network related vs server related), but it may turn out at implementation time that it\u0027s better to put them together.","commit_id":"af865987e745e2ff79f3a0cb446f9b26dac3ac0b"},{"author":{"_account_id":10016,"name":"Joseph Lanoux","email":"joseph.lanoux@hpe.com","username":"lanoux"},"change_message_id":"0a7ca93d19986f4ef3e27b6a64d6fc87f6f06723","unresolved":false,"context_lines":[{"line_number":153,"context_line":"  passed in as parameters in preparation for the migration to tempest-lib."},{"line_number":154,"context_line":""},{"line_number":155,"context_line":"- it extends the valid value for ``wait_until`` with new types of wait"},{"line_number":156,"context_line":"  abilities: ``PINGABLE`` and ``SSHABLE``. For instance if an ``SSSHABLE``"},{"line_number":157,"context_line":"  server is requested the create method takes care of performing basic ssh"},{"line_number":158,"context_line":"  validation as well."},{"line_number":159,"context_line":""}],"source_content_type":"text/x-rst","patch_set":7,"id":"3a961159_f77019a6","line":156,"updated":"2015-01-05 14:39:38.000000000","message":"s/SSSHABLE/SSHABLE","commit_id":"af865987e745e2ff79f3a0cb446f9b26dac3ac0b"},{"author":{"_account_id":1921,"name":"Andrea Frittoli","email":"andrea.frittoli@gmail.com","username":"andrea-frittoli"},"change_message_id":"e579c11836f29f1fe8c5aafb8e15fe19481bbebe","unresolved":false,"context_lines":[{"line_number":153,"context_line":"  passed in as parameters in preparation for the migration to tempest-lib."},{"line_number":154,"context_line":""},{"line_number":155,"context_line":"- it extends the valid value for ``wait_until`` with new types of wait"},{"line_number":156,"context_line":"  abilities: ``PINGABLE`` and ``SSHABLE``. For instance if an ``SSSHABLE``"},{"line_number":157,"context_line":"  server is requested the create method takes care of performing basic ssh"},{"line_number":158,"context_line":"  validation as well."},{"line_number":159,"context_line":""}],"source_content_type":"text/x-rst","patch_set":7,"id":"3a961159_ffbfa4f9","line":156,"in_reply_to":"3a961159_f77019a6","updated":"2015-01-08 16:50:11.000000000","message":"Done","commit_id":"af865987e745e2ff79f3a0cb446f9b26dac3ac0b"},{"author":{"_account_id":5196,"name":"Matthew Treinish","email":"mtreinish@kortar.org","username":"treinish"},"change_message_id":"8914b7562d5eedf37e64ac59c7ccdec6724f2480","unresolved":false,"context_lines":[{"line_number":163,"context_line":""},{"line_number":164,"context_line":"::"},{"line_number":165,"context_line":""},{"line_number":166,"context_line":"    def create_test_server(self, wait_until\u003dNone, sshable\u003dFalse,"},{"line_number":167,"context_line":"                           resources\u003dNone, **kwargs):"},{"line_number":168,"context_line":"        if sshable \u003d\u003d True and run_ssh \u003d\u003d True:"},{"line_number":169,"context_line":"            read config via helpers"}],"source_content_type":"text/x-rst","patch_set":7,"id":"3a961159_92188e85","line":166,"updated":"2015-01-07 00:57:19.000000000","message":"You\u0027ll also have to pass in the server_client object otherwise it won\u0027t be able to make the actually api request. But that\u0027s an implementation detail","commit_id":"af865987e745e2ff79f3a0cb446f9b26dac3ac0b"},{"author":{"_account_id":1921,"name":"Andrea Frittoli","email":"andrea.frittoli@gmail.com","username":"andrea-frittoli"},"change_message_id":"e579c11836f29f1fe8c5aafb8e15fe19481bbebe","unresolved":false,"context_lines":[{"line_number":163,"context_line":""},{"line_number":164,"context_line":"::"},{"line_number":165,"context_line":""},{"line_number":166,"context_line":"    def create_test_server(self, wait_until\u003dNone, sshable\u003dFalse,"},{"line_number":167,"context_line":"                           resources\u003dNone, **kwargs):"},{"line_number":168,"context_line":"        if sshable \u003d\u003d True and run_ssh \u003d\u003d True:"},{"line_number":169,"context_line":"            read config via helpers"}],"source_content_type":"text/x-rst","patch_set":7,"id":"3a961159_3fb68c25","line":166,"in_reply_to":"3a961159_92188e85","updated":"2015-01-08 16:50:11.000000000","message":"Done","commit_id":"af865987e745e2ff79f3a0cb446f9b26dac3ac0b"},{"author":{"_account_id":8556,"name":"Ghanshyam Maan","display_name":"Ghanshyam Maan","email":"gmaan.os14@gmail.com","username":"ghanshyam"},"change_message_id":"8b2069891d7676b502edd0ecdb5ddc30452bed1c","unresolved":false,"context_lines":[{"line_number":170,"context_line":"            process result, extend kwargs, but do not override"},{"line_number":171,"context_line":"                public_key: if key_name not defined use from resources or create"},{"line_number":172,"context_line":"                sg rules: use from resources, or create sg with rules and append"},{"line_number":173,"context_line":"                network name: append to network dict"},{"line_number":174,"context_line":"                floating ip: use from resources or allocate one"},{"line_number":175,"context_line":"            validation \u003d\u003d True"},{"line_number":176,"context_line":"        (...)"}],"source_content_type":"text/x-rst","patch_set":7,"id":"3a961159_5541c961","line":173,"updated":"2015-01-06 09:55:03.000000000","message":"Does this spec handle the shared network issue for isolated tests? \n\ntests which does not specify the network in kwargs and want ssh with  ssh_connect_method\u003dfixed, need mechanism to select proper network (non shared) to connect.\n\nor you are going to handle this separately?","commit_id":"af865987e745e2ff79f3a0cb446f9b26dac3ac0b"},{"author":{"_account_id":1921,"name":"Andrea Frittoli","email":"andrea.frittoli@gmail.com","username":"andrea-frittoli"},"change_message_id":"26f6e8ddc0d3668c0b91ebd472b6ae7764599c31","unresolved":false,"context_lines":[{"line_number":170,"context_line":"            process result, extend kwargs, but do not override"},{"line_number":171,"context_line":"                public_key: if key_name not defined use from resources or create"},{"line_number":172,"context_line":"                sg rules: use from resources, or create sg with rules and append"},{"line_number":173,"context_line":"                network name: append to network dict"},{"line_number":174,"context_line":"                floating ip: use from resources or allocate one"},{"line_number":175,"context_line":"            validation \u003d\u003d True"},{"line_number":176,"context_line":"        (...)"}],"source_content_type":"text/x-rst","patch_set":7,"id":"3a961159_98544855","line":173,"in_reply_to":"3a961159_5541c961","updated":"2015-01-06 10:30:20.000000000","message":"It will at least make it easier to handle the issue as all tests use a single helper to create test servers.\nThe cases I have in mind are:\n- nova networking, a single shared network for all tenants: we always connect servers to that network, unless requested otherwise\n- neutron networking: we always use the tenant network, regardless of whether it\u0027s tenant isolation of pre-provisioned accounts, and regardless of whether a shared network is defined or not\n\nCONF.network.fixed_network_name will eventually only be applicable in case of nova networking. For now it also applies to the case of neutron and pre-provisioned accounts, until test-accounts-continued bp is implemented.","commit_id":"af865987e745e2ff79f3a0cb446f9b26dac3ac0b"},{"author":{"_account_id":1921,"name":"Andrea Frittoli","email":"andrea.frittoli@gmail.com","username":"andrea-frittoli"},"change_message_id":"e579c11836f29f1fe8c5aafb8e15fe19481bbebe","unresolved":false,"context_lines":[{"line_number":170,"context_line":"            process result, extend kwargs, but do not override"},{"line_number":171,"context_line":"                public_key: if key_name not defined use from resources or create"},{"line_number":172,"context_line":"                sg rules: use from resources, or create sg with rules and append"},{"line_number":173,"context_line":"                network name: append to network dict"},{"line_number":174,"context_line":"                floating ip: use from resources or allocate one"},{"line_number":175,"context_line":"            validation \u003d\u003d True"},{"line_number":176,"context_line":"        (...)"}],"source_content_type":"text/x-rst","patch_set":7,"id":"3a961159_bfdd1c43","line":173,"in_reply_to":"3a961159_95823850","updated":"2015-01-08 16:50:11.000000000","message":"I included this in the CONF parameter spec above.","commit_id":"af865987e745e2ff79f3a0cb446f9b26dac3ac0b"},{"author":{"_account_id":5196,"name":"Matthew Treinish","email":"mtreinish@kortar.org","username":"treinish"},"change_message_id":"8914b7562d5eedf37e64ac59c7ccdec6724f2480","unresolved":false,"context_lines":[{"line_number":170,"context_line":"            process result, extend kwargs, but do not override"},{"line_number":171,"context_line":"                public_key: if key_name not defined use from resources or create"},{"line_number":172,"context_line":"                sg rules: use from resources, or create sg with rules and append"},{"line_number":173,"context_line":"                network name: append to network dict"},{"line_number":174,"context_line":"                floating ip: use from resources or allocate one"},{"line_number":175,"context_line":"            validation \u003d\u003d True"},{"line_number":176,"context_line":"        (...)"}],"source_content_type":"text/x-rst","patch_set":7,"id":"3a961159_95823850","line":173,"in_reply_to":"3a961159_98544855","updated":"2015-01-07 00:57:19.000000000","message":"So this is actually just nova flat and flat dhcp networking. The one thing we\u0027ve never supported in tempest is using vlan manager. Hopefully w/ test-accounts-continued this will be fixed, because we can specify the network","commit_id":"af865987e745e2ff79f3a0cb446f9b26dac3ac0b"},{"author":{"_account_id":5196,"name":"Matthew Treinish","email":"mtreinish@kortar.org","username":"treinish"},"change_message_id":"8914b7562d5eedf37e64ac59c7ccdec6724f2480","unresolved":false,"context_lines":[{"line_number":185,"context_line":"             return remote"},{"line_number":186,"context_line":""},{"line_number":187,"context_line":"    def test_foo(self):"},{"line_number":188,"context_line":"        myvm, remote_client \u003d servers.create_test_server("},{"line_number":189,"context_line":"            sshable\u003dTrue, wait_until\u003d\u0027SSHABLE\u0027)"},{"line_number":190,"context_line":"        remote_client.write_to_console(\"I could do something more useful\")"},{"line_number":191,"context_line":""}],"source_content_type":"text/x-rst","patch_set":7,"id":"3a961159_3510a44d","line":188,"updated":"2015-01-07 00:57:19.000000000","message":"Won\u0027t using a tuple here require rewriting every create_test_server call. I think it might be better to just embed it in the dict response. (or do a custom subclass on dict to include remote_client as an attr) But again we can tackle that in code review","commit_id":"af865987e745e2ff79f3a0cb446f9b26dac3ac0b"},{"author":{"_account_id":1921,"name":"Andrea Frittoli","email":"andrea.frittoli@gmail.com","username":"andrea-frittoli"},"change_message_id":"e579c11836f29f1fe8c5aafb8e15fe19481bbebe","unresolved":false,"context_lines":[{"line_number":185,"context_line":"             return remote"},{"line_number":186,"context_line":""},{"line_number":187,"context_line":"    def test_foo(self):"},{"line_number":188,"context_line":"        myvm, remote_client \u003d servers.create_test_server("},{"line_number":189,"context_line":"            sshable\u003dTrue, wait_until\u003d\u0027SSHABLE\u0027)"},{"line_number":190,"context_line":"        remote_client.write_to_console(\"I could do something more useful\")"},{"line_number":191,"context_line":""}],"source_content_type":"text/x-rst","patch_set":7,"id":"3a961159_9fa8608d","line":188,"in_reply_to":"3a961159_3510a44d","updated":"2015-01-08 16:50:11.000000000","message":"Parameters will be different so rewriting might be needed anyways, but I agree it would be nice to have one parameter only.","commit_id":"af865987e745e2ff79f3a0cb446f9b26dac3ac0b"},{"author":{"_account_id":8576,"name":"Yair Fried","email":"yfried@redhat.com","username":"yfried"},"change_message_id":"0fc36ab5f0e7e0b8d0c622ec609924bcdd5dd440","unresolved":false,"context_lines":[{"line_number":217,"context_line":""},{"line_number":218,"context_line":"Other assignees:"},{"line_number":219,"context_line":"  Nithya Ganesan \u003cnithya.ganesan@hp.com\u003e,"},{"line_number":220,"context_line":"  Joseph Lanoux \u003cjoseph.lanoux@hp.com\u003e"},{"line_number":221,"context_line":""},{"line_number":222,"context_line":""},{"line_number":223,"context_line":"Milestones"}],"source_content_type":"text/x-rst","patch_set":7,"id":"3a961159_9c8cf8d8","line":220,"updated":"2014-12-23 15:21:56.000000000","message":"would love to help","commit_id":"af865987e745e2ff79f3a0cb446f9b26dac3ac0b"},{"author":{"_account_id":1921,"name":"Andrea Frittoli","email":"andrea.frittoli@gmail.com","username":"andrea-frittoli"},"change_message_id":"b9858580bb984fcd54eda9ed0dc3f13cb40b631d","unresolved":false,"context_lines":[{"line_number":217,"context_line":""},{"line_number":218,"context_line":"Other assignees:"},{"line_number":219,"context_line":"  Nithya Ganesan \u003cnithya.ganesan@hp.com\u003e,"},{"line_number":220,"context_line":"  Joseph Lanoux \u003cjoseph.lanoux@hp.com\u003e"},{"line_number":221,"context_line":""},{"line_number":222,"context_line":""},{"line_number":223,"context_line":"Milestones"}],"source_content_type":"text/x-rst","patch_set":7,"id":"3a961159_b3071317","line":220,"in_reply_to":"3a961159_9c8cf8d8","updated":"2014-12-24 00:27:47.000000000","message":"Sure - the k2 milestone is a bit aggressive, but I really want this to move forward quickly. So additional help is welcome, on code as well as on review. \nIf we get to a larger team of contributors we need to think about how to split the work.\nThe step \"migrate tests to the new format\" should be easy to run in parallel, so you should be able to contribute there at least.","commit_id":"af865987e745e2ff79f3a0cb446f9b26dac3ac0b"},{"author":{"_account_id":8576,"name":"Yair Fried","email":"yfried@redhat.com","username":"yfried"},"change_message_id":"6d9e2fc63b917c8f6cef8110540a8f2e396db3d4","unresolved":false,"context_lines":[{"line_number":217,"context_line":""},{"line_number":218,"context_line":"Other assignees:"},{"line_number":219,"context_line":"  Nithya Ganesan \u003cnithya.ganesan@hp.com\u003e,"},{"line_number":220,"context_line":"  Joseph Lanoux \u003cjoseph.lanoux@hp.com\u003e"},{"line_number":221,"context_line":""},{"line_number":222,"context_line":""},{"line_number":223,"context_line":"Milestones"}],"source_content_type":"text/x-rst","patch_set":7,"id":"3a961159_908126c5","line":220,"in_reply_to":"3a961159_b3071317","updated":"2014-12-24 07:29:35.000000000","message":"I would like to help with the earlier steps as well. Please let me know if and how.","commit_id":"af865987e745e2ff79f3a0cb446f9b26dac3ac0b"}]}
