)]}'
{"README.rst":[{"author":{"_account_id":22873,"name":"Martin Kopec","email":"mkopec@redhat.com","username":"mkopec"},"change_message_id":"acb9807be77d0e05c6f0479997a44a4c3593e1e5","unresolved":false,"context_lines":[{"line_number":63,"context_line":""},{"line_number":64,"context_line":"       refstack-client config --use-test-accounts \u003cpath to account file\u003e"},{"line_number":65,"context_line":""},{"line_number":66,"context_line":"   The above command will creates the tempest.conf in `etc` folder."},{"line_number":67,"context_line":""},{"line_number":68,"context_line":"5. Validate your setup by running a short test::"},{"line_number":69,"context_line":""}],"source_content_type":"text/x-rst","patch_set":26,"id":"5f7c97a3_0b46c322","line":66,"range":{"start_line":66,"start_character":32,"end_line":66,"end_character":33},"updated":"2018-05-08 11:36:24.000000000","message":"a small typo: s/creates/create","commit_id":"084ba3cb7c48918d47d95045d243dba5fc4a5189"},{"author":{"_account_id":22873,"name":"Martin Kopec","email":"mkopec@redhat.com","username":"mkopec"},"change_message_id":"acb9807be77d0e05c6f0479997a44a4c3593e1e5","unresolved":false,"context_lines":[{"line_number":63,"context_line":""},{"line_number":64,"context_line":"       refstack-client config --use-test-accounts \u003cpath to account file\u003e"},{"line_number":65,"context_line":""},{"line_number":66,"context_line":"   The above command will creates the tempest.conf in `etc` folder."},{"line_number":67,"context_line":""},{"line_number":68,"context_line":"5. Validate your setup by running a short test::"},{"line_number":69,"context_line":""}],"source_content_type":"text/x-rst","patch_set":27,"id":"5f7c97a3_eba2679a","line":66,"range":{"start_line":66,"start_character":32,"end_line":66,"end_character":33},"updated":"2018-05-08 11:36:24.000000000","message":"a small typo: s/creates/create","commit_id":"736d17761b94051972fab10708d34f4aa2da758a"}],"playbooks/tempestconf-refstack-devstack.yaml":[{"author":{"_account_id":22873,"name":"Martin Kopec","email":"mkopec@redhat.com","username":"mkopec"},"change_message_id":"acb9807be77d0e05c6f0479997a44a4c3593e1e5","unresolved":false,"context_lines":[{"line_number":20,"context_line":"    - name: Generate accounts.yaml file for Demo"},{"line_number":21,"context_line":"      include_role:"},{"line_number":22,"context_line":"        name: generate-accounts-file"},{"line_number":23,"context_line":"      vars:"},{"line_number":24,"context_line":"        accounts_file_destination: \"{{ zuul.projects[\u0027git.openstack.org/openstack/tempest\u0027].src_dir }}/etc\""},{"line_number":25,"context_line":"    - name: Generate tempest.conf using refstack-client"},{"line_number":26,"context_line":"      include_role:"}],"source_content_type":"text/x-yaml","patch_set":26,"id":"5f7c97a3_eb7d871c","line":23,"range":{"start_line":23,"start_character":6,"end_line":23,"end_character":11},"updated":"2018-05-08 11:36:24.000000000","message":"tempest_config_file and source_credentials_commands are  required variables for the role","commit_id":"084ba3cb7c48918d47d95045d243dba5fc4a5189"},{"author":{"_account_id":22873,"name":"Martin Kopec","email":"mkopec@redhat.com","username":"mkopec"},"change_message_id":"acb9807be77d0e05c6f0479997a44a4c3593e1e5","unresolved":false,"context_lines":[{"line_number":29,"context_line":"    - name: Generate accounts.yaml file for Demo"},{"line_number":30,"context_line":"      include_role:"},{"line_number":31,"context_line":"        name: generate-accounts-file"},{"line_number":32,"context_line":"      vars:"},{"line_number":33,"context_line":"        accounts_file_destination: \"{{ zuul.projects[\u0027git.openstack.org/openstack/tempest\u0027].src_dir }}/etc\""},{"line_number":34,"context_line":"        tempest_config_file: \"/etc/openstack/tempest_admin.conf\""},{"line_number":35,"context_line":"    - name: Generate tempest.conf using refstack-client and run tempest tests"}],"source_content_type":"text/x-yaml","patch_set":27,"id":"5f7c97a3_cba76ba7","line":32,"range":{"start_line":32,"start_character":6,"end_line":32,"end_character":11},"updated":"2018-05-08 11:36:24.000000000","message":"source_credentials_commands is required as well","commit_id":"736d17761b94051972fab10708d34f4aa2da758a"},{"author":{"_account_id":22873,"name":"Martin Kopec","email":"mkopec@redhat.com","username":"mkopec"},"change_message_id":"4020efab6aeb11e96a8190b39e2c86973bb3fcdb","unresolved":false,"context_lines":[{"line_number":23,"context_line":"      vars:"},{"line_number":24,"context_line":"        output_path: \"/etc/openstack/tempest_admin.conf\""},{"line_number":25,"context_line":"        source_credentials_commands: \"export HOST_IP\u003d{{ ansible_default_ipv4.address }}; source {{ devstack_base_dir }}/devstack/openrc admin admin; {{ set_auth_url }}\""},{"line_number":26,"context_line":"        test_demo_user: False"},{"line_number":27,"context_line":"        user: admin"},{"line_number":28,"context_line":"        when: test_demo is defined"},{"line_number":29,"context_line":"    - name: Generate accounts.yaml file for Demo"}],"source_content_type":"text/x-yaml","patch_set":29,"id":"5f7c97a3_a54818cc","line":26,"range":{"start_line":26,"start_character":8,"end_line":26,"end_character":29},"updated":"2018-05-08 16:08:22.000000000","message":"if you set test_demo to False in .zuul.yaml, you don\u0027t have to override test_demo_user to False here, because it will be already False. \nActually, if you don\u0027t want to run tasks for testing demo user defined in generate-tempestconf-file, remove test_demo_user from vars for this play.","commit_id":"4205307b4ad3bff4d48a26d82fee6ec77aa7d5ea"},{"author":{"_account_id":22873,"name":"Martin Kopec","email":"mkopec@redhat.com","username":"mkopec"},"change_message_id":"4020efab6aeb11e96a8190b39e2c86973bb3fcdb","unresolved":false,"context_lines":[{"line_number":25,"context_line":"        source_credentials_commands: \"export HOST_IP\u003d{{ ansible_default_ipv4.address }}; source {{ devstack_base_dir }}/devstack/openrc admin admin; {{ set_auth_url }}\""},{"line_number":26,"context_line":"        test_demo_user: False"},{"line_number":27,"context_line":"        user: admin"},{"line_number":28,"context_line":"        when: test_demo is defined"},{"line_number":29,"context_line":"    - name: Generate accounts.yaml file for Demo"},{"line_number":30,"context_line":"      include_role:"},{"line_number":31,"context_line":"        name: generate-accounts-file"}],"source_content_type":"text/x-yaml","patch_set":29,"id":"5f7c97a3_4586e4dd","line":28,"range":{"start_line":28,"start_character":8,"end_line":28,"end_character":34},"updated":"2018-05-08 16:08:22.000000000","message":"This when statement should be moved one tab left to be taken into account. \nBut I think, the when statement is not needed at all.","commit_id":"4205307b4ad3bff4d48a26d82fee6ec77aa7d5ea"},{"author":{"_account_id":22873,"name":"Martin Kopec","email":"mkopec@redhat.com","username":"mkopec"},"change_message_id":"4020efab6aeb11e96a8190b39e2c86973bb3fcdb","unresolved":false,"context_lines":[{"line_number":30,"context_line":"      include_role:"},{"line_number":31,"context_line":"        name: generate-accounts-file"},{"line_number":32,"context_line":"      vars:"},{"line_number":33,"context_line":"        aditional_tempestconf_params: \"auth.tempest_roles Member\""},{"line_number":34,"context_line":"        source_credentials_commands: \"export HOST_IP\u003d{{ ansible_default_ipv4.address }}; source {{ devstack_base_dir }}/devstack/openrc admin admin; {{ set_auth_url }}\""},{"line_number":35,"context_line":"        accounts_file_destination: \"{{ zuul.projects[\u0027git.openstack.org/openstack/tempest\u0027].src_dir }}/etc\""},{"line_number":36,"context_line":"        tempest_config_file: \"/etc/openstack/tempest_admin.conf\""}],"source_content_type":"text/x-yaml","patch_set":29,"id":"5f7c97a3_80d5ca45","line":33,"range":{"start_line":33,"start_character":8,"end_line":33,"end_character":65},"updated":"2018-05-08 16:08:22.000000000","message":"I believe this variable is supposed to go to the role above.","commit_id":"4205307b4ad3bff4d48a26d82fee6ec77aa7d5ea"},{"author":{"_account_id":22873,"name":"Martin Kopec","email":"mkopec@redhat.com","username":"mkopec"},"change_message_id":"4020efab6aeb11e96a8190b39e2c86973bb3fcdb","unresolved":false,"context_lines":[{"line_number":32,"context_line":"      vars:"},{"line_number":33,"context_line":"        aditional_tempestconf_params: \"auth.tempest_roles Member\""},{"line_number":34,"context_line":"        source_credentials_commands: \"export HOST_IP\u003d{{ ansible_default_ipv4.address }}; source {{ devstack_base_dir }}/devstack/openrc admin admin; {{ set_auth_url }}\""},{"line_number":35,"context_line":"        accounts_file_destination: \"{{ zuul.projects[\u0027git.openstack.org/openstack/tempest\u0027].src_dir }}/etc\""},{"line_number":36,"context_line":"        tempest_config_file: \"/etc/openstack/tempest_admin.conf\""},{"line_number":37,"context_line":"    - name: Generate tempest.conf using refstack-client and run tempest tests"},{"line_number":38,"context_line":"      include_role:"}],"source_content_type":"text/x-yaml","patch_set":29,"id":"5f7c97a3_2546487e","line":35,"range":{"start_line":35,"start_character":82,"end_line":35,"end_character":89},"updated":"2018-05-08 16:08:22.000000000","message":"It should be probably refstack-client? At least, in your role, you expect to have it there.","commit_id":"4205307b4ad3bff4d48a26d82fee6ec77aa7d5ea"},{"author":{"_account_id":22873,"name":"Martin Kopec","email":"mkopec@redhat.com","username":"mkopec"},"change_message_id":"4ca919adca0bcbc65a7d44eeeefb2a3b1b446ae4","unresolved":false,"context_lines":[{"line_number":17,"context_line":"    - name: ACL devstack files"},{"line_number":18,"context_line":"      include_role:"},{"line_number":19,"context_line":"        name: acl-devstack-files"},{"line_number":20,"context_line":"    - name: Generate configuration file for Tempest as admin"},{"line_number":21,"context_line":"      include_role:"},{"line_number":22,"context_line":"        name: generate-tempestconf-file"},{"line_number":23,"context_line":"      vars:"},{"line_number":24,"context_line":"        output_path: \"/etc/openstack/tempest_admin.conf\""},{"line_number":25,"context_line":"        source_credentials_commands: \"export HOST_IP\u003d{{ ansible_default_ipv4.address }}; source {{ devstack_base_dir }}/devstack/openrc admin admin; {{ set_auth_url }}\""},{"line_number":26,"context_line":"        user: admin"},{"line_number":27,"context_line":"    - name: Generate accounts.yaml file for Demo"},{"line_number":28,"context_line":"      include_role:"},{"line_number":29,"context_line":"        name: generate-accounts-file"}],"source_content_type":"text/x-yaml","patch_set":61,"id":"5f7c97a3_4c388cd3","line":26,"range":{"start_line":20,"start_character":3,"end_line":26,"end_character":19},"updated":"2018-06-15 13:52:54.000000000","message":"We don\u0027t need this right? If we don\u0027t let\u0027s remove it because otherwise we have irrelevant output in console log and it\u0027s harder to read then.","commit_id":"fb6aa279d5821a256fa7047af65cfe021d9be39a"}],"refstack_client/refstack_client.py":[{"author":{"_account_id":22873,"name":"Martin Kopec","email":"mkopec@redhat.com","username":"mkopec"},"change_message_id":"65304a6f2d47aa193b01a92231470c9e1ee94592","unresolved":false,"context_lines":[{"line_number":791,"context_line":"                                          help\u003d\"Generate tempest.conf\")"},{"line_number":792,"context_line":""},{"line_number":793,"context_line":"    parser_config.add_argument(\u0027--os-cloud\u0027,"},{"line_number":794,"context_line":"                               action\u003d\u0027store_true\u0027,"},{"line_number":795,"context_line":"                               required\u003dFalse,"},{"line_number":796,"context_line":"                               help\u003d\u0027Name of the cloud to use from\u0027"},{"line_number":797,"context_line":"                                    \u0027clouds.yaml\u0027)"}],"source_content_type":"text/x-python","patch_set":20,"id":"1f9dbf25_cf4c9678","line":794,"range":{"start_line":794,"start_character":30,"end_line":794,"end_character":51},"updated":"2018-02-28 15:38:06.000000000","message":"I think, thanks to this, it doesn\u0027t expect a value, it just stores boolean.","commit_id":"0889ffb6bb160f7a87fc4fcf8ae81b98c97984db"},{"author":{"_account_id":7822,"name":"Chris Hoge (not involved in upstream development)","email":"chris@hogepodge.com","username":"hogepodge"},"change_message_id":"c0a5dbb8ff00ee680bf46f60d804db8df1f9fede","unresolved":false,"context_lines":[{"line_number":790,"context_line":"    parser_config \u003d subparsers.add_parser(\u0027config\u0027, parents\u003d[shared_args],"},{"line_number":791,"context_line":"                                          help\u003d\"Generate tempest.conf\")"},{"line_number":792,"context_line":""},{"line_number":793,"context_line":"    parser_config.add_argument(\u0027--os-cloud\u0027,"},{"line_number":794,"context_line":"                               action\u003d\u0027store\u0027,"},{"line_number":795,"context_line":"                               required\u003dFalse,"},{"line_number":796,"context_line":"                               help\u003d\u0027Name of the cloud to use from\u0027"},{"line_number":797,"context_line":"                                    \u0027clouds.yaml\u0027)"},{"line_number":798,"context_line":""},{"line_number":799,"context_line":"    parser_config.add_argument(\u0027--use-test-accounts\u0027,"},{"line_number":800,"context_line":"                               action\u003d\u0027store\u0027,"}],"source_content_type":"text/x-python","patch_set":25,"id":"1f9dbf25_84f09192","line":797,"range":{"start_line":793,"start_character":0,"end_line":797,"end_character":50},"updated":"2018-03-02 11:53:00.000000000","message":"Follow os client config conventions for getting credentials. I\u0027m not sure if this is necessary.","commit_id":"efa920ad790d6f44978d24327a92c5e67e552943"},{"author":{"_account_id":7822,"name":"Chris Hoge (not involved in upstream development)","email":"chris@hogepodge.com","username":"hogepodge"},"change_message_id":"c0a5dbb8ff00ee680bf46f60d804db8df1f9fede","unresolved":false,"context_lines":[{"line_number":796,"context_line":"                               help\u003d\u0027Name of the cloud to use from\u0027"},{"line_number":797,"context_line":"                                    \u0027clouds.yaml\u0027)"},{"line_number":798,"context_line":""},{"line_number":799,"context_line":"    parser_config.add_argument(\u0027--use-test-accounts\u0027,"},{"line_number":800,"context_line":"                               action\u003d\u0027store\u0027,"},{"line_number":801,"context_line":"                               required\u003dFalse,"},{"line_number":802,"context_line":"                               help\u003d\u0027Use accounts file from accounts.yaml\u0027)"},{"line_number":803,"context_line":""},{"line_number":804,"context_line":"    parser_config.add_argument(\u0027--create\u0027,"},{"line_number":805,"context_line":"                               action\u003d\u0027store_true\u0027,"}],"source_content_type":"text/x-python","patch_set":25,"id":"1f9dbf25_e434f54c","line":802,"range":{"start_line":799,"start_character":1,"end_line":802,"end_character":75},"updated":"2018-03-02 11:53:00.000000000","message":"This should be generated, not provided.","commit_id":"efa920ad790d6f44978d24327a92c5e67e552943"},{"author":{"_account_id":7822,"name":"Chris Hoge (not involved in upstream development)","email":"chris@hogepodge.com","username":"hogepodge"},"change_message_id":"c0a5dbb8ff00ee680bf46f60d804db8df1f9fede","unresolved":false,"context_lines":[{"line_number":801,"context_line":"                               required\u003dFalse,"},{"line_number":802,"context_line":"                               help\u003d\u0027Use accounts file from accounts.yaml\u0027)"},{"line_number":803,"context_line":""},{"line_number":804,"context_line":"    parser_config.add_argument(\u0027--create\u0027,"},{"line_number":805,"context_line":"                               action\u003d\u0027store_true\u0027,"},{"line_number":806,"context_line":"                               required\u003dFalse,"},{"line_number":807,"context_line":"                               help\u003d\u0027Create Tempest resources using Admin\u0027"},{"line_number":808,"context_line":"                                    \u0027account\u0027)"},{"line_number":809,"context_line":""},{"line_number":810,"context_line":"    parser_config.add_argument(\u0027--remove\u0027,"},{"line_number":811,"context_line":"                               action\u003d\"store\","}],"source_content_type":"text/x-python","patch_set":25,"id":"1f9dbf25_e40dd590","line":808,"range":{"start_line":804,"start_character":0,"end_line":808,"end_character":46},"updated":"2018-03-02 11:53:00.000000000","message":"Hold off on this. We want to make sure this works entirely for non-administrative users. Many of these fixtures should already exist (especially in public clouds). We should focus on non-admin functionality to start with.","commit_id":"efa920ad790d6f44978d24327a92c5e67e552943"},{"author":{"_account_id":7822,"name":"Chris Hoge (not involved in upstream development)","email":"chris@hogepodge.com","username":"hogepodge"},"change_message_id":"c0a5dbb8ff00ee680bf46f60d804db8df1f9fede","unresolved":false,"context_lines":[{"line_number":807,"context_line":"                               help\u003d\u0027Create Tempest resources using Admin\u0027"},{"line_number":808,"context_line":"                                    \u0027account\u0027)"},{"line_number":809,"context_line":""},{"line_number":810,"context_line":"    parser_config.add_argument(\u0027--remove\u0027,"},{"line_number":811,"context_line":"                               action\u003d\"store\","},{"line_number":812,"context_line":"\t\t\t       type\u003dlist,"},{"line_number":813,"context_line":"                               required\u003dFalse,"},{"line_number":814,"context_line":"                               help\u003d\u0027Remove configurations from tempest.conf\u0027)"},{"line_number":815,"context_line":""},{"line_number":816,"context_line":"    parser_config.add_argument(\u0027--image\u0027,"},{"line_number":817,"context_line":"                               action\u003d\u0027store\u0027,"}],"source_content_type":"text/x-python","patch_set":25,"id":"1f9dbf25_841e51b8","line":814,"range":{"start_line":810,"start_character":0,"end_line":814,"end_character":78},"updated":"2018-03-02 11:53:00.000000000","message":"I\u0027m not 100% certain what this option is doing, so we need better documentation before I can say either way.\n\nNit, replace tabs with spaces.","commit_id":"efa920ad790d6f44978d24327a92c5e67e552943"},{"author":{"_account_id":7822,"name":"Chris Hoge (not involved in upstream development)","email":"chris@hogepodge.com","username":"hogepodge"},"change_message_id":"c0a5dbb8ff00ee680bf46f60d804db8df1f9fede","unresolved":false,"context_lines":[{"line_number":813,"context_line":"                               required\u003dFalse,"},{"line_number":814,"context_line":"                               help\u003d\u0027Remove configurations from tempest.conf\u0027)"},{"line_number":815,"context_line":""},{"line_number":816,"context_line":"    parser_config.add_argument(\u0027--image\u0027,"},{"line_number":817,"context_line":"                               action\u003d\u0027store\u0027,"},{"line_number":818,"context_line":"                               required\u003dFalse,"},{"line_number":819,"context_line":"                               help\u003d\u0027Image name or Image path to be uploaded\u0027"},{"line_number":820,"context_line":"                                    \u0027to glance\u0027)"},{"line_number":821,"context_line":""},{"line_number":822,"context_line":"    parser_config.add_argument(\u0027--deployer-input\u0027,"},{"line_number":823,"context_line":"                               action\u003d\u0027store\u0027,"}],"source_content_type":"text/x-python","patch_set":25,"id":"1f9dbf25_e482b5c8","line":820,"range":{"start_line":816,"start_character":0,"end_line":820,"end_character":48},"updated":"2018-03-02 11:53:00.000000000","message":"Seems reasonable to me, since image upload is an expected non-admin capability.","commit_id":"efa920ad790d6f44978d24327a92c5e67e552943"},{"author":{"_account_id":7822,"name":"Chris Hoge (not involved in upstream development)","email":"chris@hogepodge.com","username":"hogepodge"},"change_message_id":"c0a5dbb8ff00ee680bf46f60d804db8df1f9fede","unresolved":false,"context_lines":[{"line_number":819,"context_line":"                               help\u003d\u0027Image name or Image path to be uploaded\u0027"},{"line_number":820,"context_line":"                                    \u0027to glance\u0027)"},{"line_number":821,"context_line":""},{"line_number":822,"context_line":"    parser_config.add_argument(\u0027--deployer-input\u0027,"},{"line_number":823,"context_line":"                               action\u003d\u0027store\u0027,"},{"line_number":824,"context_line":"                               required\u003dFalse,"},{"line_number":825,"context_line":"                               help\u003d\u0027A predefined cloud configuration created\u0027"},{"line_number":826,"context_line":"                                    \u0027by cloud in tempest.conf format\u0027)"},{"line_number":827,"context_line":""},{"line_number":828,"context_line":"    parser_config.add_argument(\u0027--network-id\u0027,"},{"line_number":829,"context_line":"                               action\u003d\u0027store\u0027,"}],"source_content_type":"text/x-python","patch_set":25,"id":"1f9dbf25_4467e94e","line":826,"range":{"start_line":822,"start_character":0,"end_line":826,"end_character":70},"updated":"2018-03-02 11:53:00.000000000","message":"ok, can improve the help string.","commit_id":"efa920ad790d6f44978d24327a92c5e67e552943"},{"author":{"_account_id":7822,"name":"Chris Hoge (not involved in upstream development)","email":"chris@hogepodge.com","username":"hogepodge"},"change_message_id":"c0a5dbb8ff00ee680bf46f60d804db8df1f9fede","unresolved":false,"context_lines":[{"line_number":825,"context_line":"                               help\u003d\u0027A predefined cloud configuration created\u0027"},{"line_number":826,"context_line":"                                    \u0027by cloud in tempest.conf format\u0027)"},{"line_number":827,"context_line":""},{"line_number":828,"context_line":"    parser_config.add_argument(\u0027--network-id\u0027,"},{"line_number":829,"context_line":"                               action\u003d\u0027store\u0027,"},{"line_number":830,"context_line":"                               required\u003dFalse,"},{"line_number":831,"context_line":"                               help\u003d\u0027The ID of an existing network in our\u0027"},{"line_number":832,"context_line":"                                    \u0027openstack instance with external\u0027"},{"line_number":833,"context_line":"                                    \u0027connectivity\u0027)"},{"line_number":834,"context_line":""},{"line_number":835,"context_line":"    parser_config.add_argument(\u0027--overrides\u0027,"},{"line_number":836,"context_line":"                               action\u003d\u0027store\u0027,"}],"source_content_type":"text/x-python","patch_set":25,"id":"1f9dbf25_0461e136","line":833,"range":{"start_line":828,"start_character":0,"end_line":833,"end_character":51},"updated":"2018-03-02 11:53:00.000000000","message":"lgtm","commit_id":"efa920ad790d6f44978d24327a92c5e67e552943"},{"author":{"_account_id":7822,"name":"Chris Hoge (not involved in upstream development)","email":"chris@hogepodge.com","username":"hogepodge"},"change_message_id":"c0a5dbb8ff00ee680bf46f60d804db8df1f9fede","unresolved":false,"context_lines":[{"line_number":832,"context_line":"                                    \u0027openstack instance with external\u0027"},{"line_number":833,"context_line":"                                    \u0027connectivity\u0027)"},{"line_number":834,"context_line":""},{"line_number":835,"context_line":"    parser_config.add_argument(\u0027--overrides\u0027,"},{"line_number":836,"context_line":"                               action\u003d\u0027store\u0027,"},{"line_number":837,"context_line":"                               required\u003dFalse,"},{"line_number":838,"context_line":"\t\t\t       type\u003dlist,"},{"line_number":839,"context_line":"                               help\u003d\u0027Extra config needs to be added to \u0027"},{"line_number":840,"context_line":"                                    \u0027tempest.conf\u0027)"},{"line_number":841,"context_line":"    parser_config.add_argument(\u0027--non-admin\u0027,"},{"line_number":842,"context_line":"                               action\u003d\u0027store_true\u0027,"},{"line_number":843,"context_line":"                               required\u003dFalse,"}],"source_content_type":"text/x-python","patch_set":25,"id":"1f9dbf25_644f85bd","line":840,"range":{"start_line":835,"start_character":0,"end_line":840,"end_character":51},"updated":"2018-03-02 11:53:00.000000000","message":"update help to say providing key/value pairs to override tempest.conf settings.\n\nnit tabs to spaces.","commit_id":"efa920ad790d6f44978d24327a92c5e67e552943"},{"author":{"_account_id":7822,"name":"Chris Hoge (not involved in upstream development)","email":"chris@hogepodge.com","username":"hogepodge"},"change_message_id":"c0a5dbb8ff00ee680bf46f60d804db8df1f9fede","unresolved":false,"context_lines":[{"line_number":838,"context_line":"\t\t\t       type\u003dlist,"},{"line_number":839,"context_line":"                               help\u003d\u0027Extra config needs to be added to \u0027"},{"line_number":840,"context_line":"                                    \u0027tempest.conf\u0027)"},{"line_number":841,"context_line":"    parser_config.add_argument(\u0027--non-admin\u0027,"},{"line_number":842,"context_line":"                               action\u003d\u0027store_true\u0027,"},{"line_number":843,"context_line":"                               required\u003dFalse,"},{"line_number":844,"context_line":"                               help\u003d\u0027Use non-admin account\u0027)"},{"line_number":845,"context_line":""},{"line_number":846,"context_line":"    parser_config.set_defaults(func\u003d\u0027tempest_config\u0027)"},{"line_number":847,"context_line":""}],"source_content_type":"text/x-python","patch_set":25,"id":"1f9dbf25_844c11c8","line":844,"range":{"start_line":841,"start_character":0,"end_line":844,"end_character":60},"updated":"2018-03-02 11:53:00.000000000","message":"no, always assume non-admin for the initial pass.","commit_id":"efa920ad790d6f44978d24327a92c5e67e552943"},{"author":{"_account_id":24728,"name":"megan guiney","email":"meganmguiney@gmail.com","username":"mguiney"},"change_message_id":"110782be7e3b9b56a36667a76db20ca24d6c216e","unresolved":false,"context_lines":[{"line_number":838,"context_line":"\t\t\t       type\u003dlist,"},{"line_number":839,"context_line":"                               help\u003d\u0027Extra config needs to be added to \u0027"},{"line_number":840,"context_line":"                                    \u0027tempest.conf\u0027)"},{"line_number":841,"context_line":"    parser_config.add_argument(\u0027--non-admin\u0027,"},{"line_number":842,"context_line":"                               action\u003d\u0027store_true\u0027,"},{"line_number":843,"context_line":"                               required\u003dFalse,"},{"line_number":844,"context_line":"                               help\u003d\u0027Use non-admin account\u0027)"},{"line_number":845,"context_line":""},{"line_number":846,"context_line":"    parser_config.set_defaults(func\u003d\u0027tempest_config\u0027)"},{"line_number":847,"context_line":""}],"source_content_type":"text/x-python","patch_set":25,"id":"1f9dbf25_ff823c4f","line":844,"range":{"start_line":841,"start_character":0,"end_line":844,"end_character":60},"in_reply_to":"1f9dbf25_844c11c8","updated":"2018-03-02 12:07:08.000000000","message":"I agree, though I do like the idea, if the admin functionality does end up coming into play, of having an \"admin\" flag rather than a \"non-admin\" one","commit_id":"efa920ad790d6f44978d24327a92c5e67e552943"},{"author":{"_account_id":22873,"name":"Martin Kopec","email":"mkopec@redhat.com","username":"mkopec"},"change_message_id":"acb9807be77d0e05c6f0479997a44a4c3593e1e5","unresolved":false,"context_lines":[{"line_number":432,"context_line":"            end_time \u003d time.time()"},{"line_number":433,"context_line":"            elapsed \u003d end_time - start_time"},{"line_number":434,"context_line":"            duration \u003d int(elapsed)"},{"line_number":435,"context_line":"            self.logger.info(\u0027Tempest Configuration successfully generated.\u0027"},{"line_number":436,"context_line":"                             \u0027in %s second at %s\u0027 % (duration, config_path))"},{"line_number":437,"context_line":"        else:"},{"line_number":438,"context_line":"            try:"}],"source_content_type":"text/x-python","patch_set":26,"id":"5f7c97a3_2b0fffe1","line":435,"range":{"start_line":435,"start_character":74,"end_line":435,"end_character":75},"updated":"2018-05-08 11:36:24.000000000","message":"there should be probably a space instead of the dot","commit_id":"084ba3cb7c48918d47d95045d243dba5fc4a5189"},{"author":{"_account_id":22873,"name":"Martin Kopec","email":"mkopec@redhat.com","username":"mkopec"},"change_message_id":"acb9807be77d0e05c6f0479997a44a4c3593e1e5","unresolved":false,"context_lines":[{"line_number":437,"context_line":"        else:"},{"line_number":438,"context_line":"            try:"},{"line_number":439,"context_line":"                import config_tempest # noqa"},{"line_number":440,"context_line":"                self.logging.warning(\u0027There is an error in syntax, please\u0027"},{"line_number":441,"context_line":"                                     \u0027check $ refstack-client config -h\u0027)"},{"line_number":442,"context_line":"            except ImportError:"},{"line_number":443,"context_line":"                self.logger.warning(\u0027Please make sure python-tempestconf\u0027"}],"source_content_type":"text/x-python","patch_set":26,"id":"5f7c97a3_0bf483ce","line":440,"range":{"start_line":440,"start_character":73,"end_line":440,"end_character":74},"updated":"2018-05-08 11:36:24.000000000","message":"here, and in the other multiline texts below, a space is missing","commit_id":"084ba3cb7c48918d47d95045d243dba5fc4a5189"},{"author":{"_account_id":22873,"name":"Martin Kopec","email":"mkopec@redhat.com","username":"mkopec"},"change_message_id":"acb9807be77d0e05c6f0479997a44a4c3593e1e5","unresolved":false,"context_lines":[{"line_number":432,"context_line":"            end_time \u003d time.time()"},{"line_number":433,"context_line":"            elapsed \u003d end_time - start_time"},{"line_number":434,"context_line":"            duration \u003d int(elapsed)"},{"line_number":435,"context_line":"            self.logger.info(\u0027Tempest Configuration successfully generated.\u0027"},{"line_number":436,"context_line":"                             \u0027in %s second at %s\u0027 % (duration, config_path))"},{"line_number":437,"context_line":"        else:"},{"line_number":438,"context_line":"            try:"}],"source_content_type":"text/x-python","patch_set":27,"id":"5f7c97a3_8bbbb3c2","line":435,"range":{"start_line":435,"start_character":74,"end_line":435,"end_character":76},"updated":"2018-05-08 11:36:24.000000000","message":"there should be probably a space instead of the dot","commit_id":"736d17761b94051972fab10708d34f4aa2da758a"},{"author":{"_account_id":22873,"name":"Martin Kopec","email":"mkopec@redhat.com","username":"mkopec"},"change_message_id":"acb9807be77d0e05c6f0479997a44a4c3593e1e5","unresolved":false,"context_lines":[{"line_number":437,"context_line":"        else:"},{"line_number":438,"context_line":"            try:"},{"line_number":439,"context_line":"                import config_tempest # noqa"},{"line_number":440,"context_line":"                self.logging.warning(\u0027There is an error in syntax, please\u0027"},{"line_number":441,"context_line":"                                     \u0027check $ refstack-client config -h\u0027)"},{"line_number":442,"context_line":"            except ImportError:"},{"line_number":443,"context_line":"                self.logger.warning(\u0027Please make sure python-tempestconf\u0027"}],"source_content_type":"text/x-python","patch_set":27,"id":"5f7c97a3_2bb29fe7","line":440,"range":{"start_line":440,"start_character":73,"end_line":440,"end_character":74},"updated":"2018-05-08 11:36:24.000000000","message":"here, and in the other multiline texts below, a space is missing","commit_id":"736d17761b94051972fab10708d34f4aa2da758a"},{"author":{"_account_id":22873,"name":"Martin Kopec","email":"mkopec@redhat.com","username":"mkopec"},"change_message_id":"29e85f1fd7bcb444c6ab75538e415a34a4258010","unresolved":false,"context_lines":[{"line_number":422,"context_line":"            config_path \u003d self.args.out"},{"line_number":423,"context_line":""},{"line_number":424,"context_line":"        # Generate Tempest configuration"},{"line_number":425,"context_line":"        main.config_tempest(non_admin\u003dTrue,"},{"line_number":426,"context_line":"                            test_accounts\u003dself.args.test_accounts,"},{"line_number":427,"context_line":"                            image_name\u003dself.args.image,"},{"line_number":428,"context_line":"                            network_id\u003dself.args.network_id,"},{"line_number":429,"context_line":"                            out\u003dconfig_path)"},{"line_number":430,"context_line":""},{"line_number":431,"context_line":"        if os.path.isfile(config_path):"},{"line_number":432,"context_line":"            end_time \u003d time.time()"}],"source_content_type":"text/x-python","patch_set":34,"id":"5f7c97a3_ed5ca47f","line":429,"range":{"start_line":425,"start_character":0,"end_line":429,"end_character":44},"updated":"2018-05-09 10:45:06.000000000","message":"you will need to specify other options as well (like remove\u003d[]), because config_tempest uses kwargs, so there are no default values","commit_id":"68633b4501b247291c5597e331f44f2ffa3eabd5"},{"author":{"_account_id":12393,"name":"chandan kumar","display_name":"Chandan Kumar","email":"chkumar@redhat.com","username":"chkumar246"},"change_message_id":"65a35f25400847cbf643eb24416035368c7637c1","unresolved":false,"context_lines":[{"line_number":422,"context_line":"            config_path \u003d self.args.out"},{"line_number":423,"context_line":""},{"line_number":424,"context_line":"        # Generate Tempest configuration"},{"line_number":425,"context_line":"        main.config_tempest(non_admin\u003dTrue,"},{"line_number":426,"context_line":"                            test_accounts\u003dself.args.test_accounts,"},{"line_number":427,"context_line":"                            image_name\u003dself.args.image,"},{"line_number":428,"context_line":"                            network_id\u003dself.args.network_id,"},{"line_number":429,"context_line":"                            out\u003dconfig_path)"},{"line_number":430,"context_line":""},{"line_number":431,"context_line":"        if os.path.isfile(config_path):"},{"line_number":432,"context_line":"            end_time \u003d time.time()"}],"source_content_type":"text/x-python","patch_set":34,"id":"5f7c97a3_83ece1f3","line":429,"range":{"start_line":425,"start_character":0,"end_line":429,"end_character":44},"in_reply_to":"5f7c97a3_03a9b1dd","updated":"2018-05-09 11:58:21.000000000","message":"we donot need to pass additional args for refstack config integration","commit_id":"68633b4501b247291c5597e331f44f2ffa3eabd5"},{"author":{"_account_id":10459,"name":"Luigi Toscano","email":"ltoscano@redhat.com","username":"ltoscano"},"change_message_id":"c025da166dbb803c5513f409805be29601fa3697","unresolved":false,"context_lines":[{"line_number":422,"context_line":"            config_path \u003d self.args.out"},{"line_number":423,"context_line":""},{"line_number":424,"context_line":"        # Generate Tempest configuration"},{"line_number":425,"context_line":"        main.config_tempest(non_admin\u003dTrue,"},{"line_number":426,"context_line":"                            test_accounts\u003dself.args.test_accounts,"},{"line_number":427,"context_line":"                            image_name\u003dself.args.image,"},{"line_number":428,"context_line":"                            network_id\u003dself.args.network_id,"},{"line_number":429,"context_line":"                            out\u003dconfig_path)"},{"line_number":430,"context_line":""},{"line_number":431,"context_line":"        if os.path.isfile(config_path):"},{"line_number":432,"context_line":"            end_time \u003d time.time()"}],"source_content_type":"text/x-python","patch_set":34,"id":"5f7c97a3_e3359547","line":429,"range":{"start_line":425,"start_character":0,"end_line":429,"end_character":44},"in_reply_to":"5f7c97a3_83ece1f3","updated":"2018-05-09 12:08:45.000000000","message":"I think that the idea of using kwargs was to avoid growing the function signature; another alternative could be something that Arx suggested: wrap all configuration settings in an object and pass only that object to config_tempest.","commit_id":"68633b4501b247291c5597e331f44f2ffa3eabd5"},{"author":{"_account_id":22873,"name":"Martin Kopec","email":"mkopec@redhat.com","username":"mkopec"},"change_message_id":"5665877b69c01df6649b36001868591baf48bfad","unresolved":false,"context_lines":[{"line_number":422,"context_line":"            config_path \u003d self.args.out"},{"line_number":423,"context_line":""},{"line_number":424,"context_line":"        # Generate Tempest configuration"},{"line_number":425,"context_line":"        main.config_tempest(non_admin\u003dTrue,"},{"line_number":426,"context_line":"                            test_accounts\u003dself.args.test_accounts,"},{"line_number":427,"context_line":"                            image_name\u003dself.args.image,"},{"line_number":428,"context_line":"                            network_id\u003dself.args.network_id,"},{"line_number":429,"context_line":"                            out\u003dconfig_path)"},{"line_number":430,"context_line":""},{"line_number":431,"context_line":"        if os.path.isfile(config_path):"},{"line_number":432,"context_line":"            end_time \u003d time.time()"}],"source_content_type":"text/x-python","patch_set":34,"id":"5f7c97a3_03a9b1dd","line":429,"range":{"start_line":425,"start_character":0,"end_line":429,"end_character":44},"in_reply_to":"5f7c97a3_a0b23393","updated":"2018-05-09 11:40:06.000000000","message":"You mean like checking if kwargs[\u0027remove\u0027] is None then kwargs[\u0027remove\u0027] \u003d [] ?\nThen we don\u0027t have to use **kwargs, we can just put there a list of options and some of them with default values, or am i missing something?","commit_id":"68633b4501b247291c5597e331f44f2ffa3eabd5"},{"author":{"_account_id":22873,"name":"Martin Kopec","email":"mkopec@redhat.com","username":"mkopec"},"change_message_id":"c0b17d05f2c0e723886b702c828c04648df816d5","unresolved":false,"context_lines":[{"line_number":422,"context_line":"            config_path \u003d self.args.out"},{"line_number":423,"context_line":""},{"line_number":424,"context_line":"        # Generate Tempest configuration"},{"line_number":425,"context_line":"        main.config_tempest(non_admin\u003dTrue,"},{"line_number":426,"context_line":"                            test_accounts\u003dself.args.test_accounts,"},{"line_number":427,"context_line":"                            image_name\u003dself.args.image,"},{"line_number":428,"context_line":"                            network_id\u003dself.args.network_id,"},{"line_number":429,"context_line":"                            out\u003dconfig_path)"},{"line_number":430,"context_line":""},{"line_number":431,"context_line":"        if os.path.isfile(config_path):"},{"line_number":432,"context_line":"            end_time \u003d time.time()"}],"source_content_type":"text/x-python","patch_set":34,"id":"5f7c97a3_a3047d4b","line":429,"range":{"start_line":425,"start_character":0,"end_line":429,"end_character":44},"in_reply_to":"5f7c97a3_e3359547","updated":"2018-05-09 12:16:25.000000000","message":"it would help, yes, until then we need to pass here a few more options, which python-tempestconf expects to have, like remove and others","commit_id":"68633b4501b247291c5597e331f44f2ffa3eabd5"},{"author":{"_account_id":10459,"name":"Luigi Toscano","email":"ltoscano@redhat.com","username":"ltoscano"},"change_message_id":"d8cbaccc99246a089f23d0b549b3041adabbcc45","unresolved":false,"context_lines":[{"line_number":422,"context_line":"            config_path \u003d self.args.out"},{"line_number":423,"context_line":""},{"line_number":424,"context_line":"        # Generate Tempest configuration"},{"line_number":425,"context_line":"        main.config_tempest(non_admin\u003dTrue,"},{"line_number":426,"context_line":"                            test_accounts\u003dself.args.test_accounts,"},{"line_number":427,"context_line":"                            image_name\u003dself.args.image,"},{"line_number":428,"context_line":"                            network_id\u003dself.args.network_id,"},{"line_number":429,"context_line":"                            out\u003dconfig_path)"},{"line_number":430,"context_line":""},{"line_number":431,"context_line":"        if os.path.isfile(config_path):"},{"line_number":432,"context_line":"            end_time \u003d time.time()"}],"source_content_type":"text/x-python","patch_set":34,"id":"5f7c97a3_a0b23393","line":429,"range":{"start_line":425,"start_character":0,"end_line":429,"end_character":44},"in_reply_to":"5f7c97a3_ed5ca47f","updated":"2018-05-09 11:28:33.000000000","message":"Well, the usage of kwargs does not mean that there are no default values. We can decide that some parameters get a default value in config_tempest if not specified. Having remove initialized as empty list by default looks a good choice; same for other parameters (maybe not all of them).","commit_id":"68633b4501b247291c5597e331f44f2ffa3eabd5"},{"author":{"_account_id":22873,"name":"Martin Kopec","email":"mkopec@redhat.com","username":"mkopec"},"change_message_id":"5193dc3a78f8e7d88736aa4b0d9bc42cdbaa2efa","unresolved":false,"context_lines":[{"line_number":422,"context_line":"            config_path \u003d self.args.out"},{"line_number":423,"context_line":""},{"line_number":424,"context_line":"        # Generate Tempest configuration"},{"line_number":425,"context_line":"        main.config_tempest(non_admin\u003dTrue,"},{"line_number":426,"context_line":"                            test_accounts\u003dself.args.test_accounts,"},{"line_number":427,"context_line":"                            image_name\u003dself.args.image,"},{"line_number":428,"context_line":"                            network_id\u003dself.args.network_id,"},{"line_number":429,"context_line":"                            out\u003dconfig_path)"},{"line_number":430,"context_line":""},{"line_number":431,"context_line":"        if os.path.isfile(config_path):"},{"line_number":432,"context_line":"            end_time \u003d time.time()"}],"source_content_type":"text/x-python","patch_set":35,"id":"5f7c97a3_b9954035","line":429,"range":{"start_line":425,"start_character":8,"end_line":429,"end_character":44},"updated":"2018-05-14 08:06:17.000000000","message":"Before this call you need to call this method [1] as I\u0027ve done in python-tempestconf [2]. Check method\u0027s doc string.\n[1] https://review.openstack.org/#/c/562672/11/config_tempest/main.py@301\n[2] https://review.openstack.org/#/c/562672/11/config_tempest/main.py@378","commit_id":"80b2529a6fcac7ebe87b9bc2588ac528f7a41014"},{"author":{"_account_id":22873,"name":"Martin Kopec","email":"mkopec@redhat.com","username":"mkopec"},"change_message_id":"00a1e610d58760e5bea6c91044eafa763f398a28","unresolved":false,"context_lines":[{"line_number":425,"context_line":"        cloud_creds \u003d main.get_cloud_creds(self.args)"},{"line_number":426,"context_line":"        main.config_tempest(non_admin\u003dTrue,"},{"line_number":427,"context_line":"                            test_accounts\u003dself.args.test_accounts,"},{"line_number":428,"context_line":"                            image_name\u003dself.args.image,"},{"line_number":429,"context_line":"                            network_id\u003dself.args.network_id,"},{"line_number":430,"context_line":"                            out\u003dconfig_path,"},{"line_number":431,"context_line":"                            cloud_creds\u003dcloud_creds)"}],"source_content_type":"text/x-python","patch_set":47,"id":"5f7c97a3_5ceb55db","line":428,"range":{"start_line":428,"start_character":34,"end_line":428,"end_character":38},"updated":"2018-06-05 08:22:41.000000000","message":"this was renamed in python-tempestconf to image_path","commit_id":"ef2f5dd1edab5a70c555aa3c7be274fa87fdd832"}],"roles/generate-tempestconf-refstack/defaults/main.yaml":[{"author":{"_account_id":24728,"name":"megan guiney","email":"meganmguiney@gmail.com","username":"mguiney"},"change_message_id":"110782be7e3b9b56a36667a76db20ca24d6c216e","unresolved":false,"context_lines":[{"line_number":1,"context_line":"oud_user: \"devstack\""},{"line_number":2,"context_line":"virtualenvs:"},{"line_number":3,"context_line":"    refstack_client: \"~/.virtualenvs/.refstack_client\""}],"source_content_type":"text/x-yaml","patch_set":25,"id":"1f9dbf25_1f9b68c9","line":1,"range":{"start_line":1,"start_character":0,"end_line":1,"end_character":3},"updated":"2018-03-02 12:07:08.000000000","message":"(maybe-nit) Is this a typo, or just a namescheme I overlooked","commit_id":"efa920ad790d6f44978d24327a92c5e67e552943"},{"author":{"_account_id":22873,"name":"Martin Kopec","email":"mkopec@redhat.com","username":"mkopec"},"change_message_id":"acb9807be77d0e05c6f0479997a44a4c3593e1e5","unresolved":false,"context_lines":[{"line_number":1,"context_line":"oud_user: \"devstack\""},{"line_number":2,"context_line":"virtualenvs:"},{"line_number":3,"context_line":"    refstack_client: \"~/.virtualenvs/.refstack_client\""}],"source_content_type":"text/x-yaml","patch_set":26,"id":"5f7c97a3_0bcb2372","line":1,"range":{"start_line":1,"start_character":0,"end_line":1,"end_character":1},"updated":"2018-05-08 11:36:24.000000000","message":"\"c\" is missing","commit_id":"084ba3cb7c48918d47d95045d243dba5fc4a5189"},{"author":{"_account_id":22873,"name":"Martin Kopec","email":"mkopec@redhat.com","username":"mkopec"},"change_message_id":"acb9807be77d0e05c6f0479997a44a4c3593e1e5","unresolved":false,"context_lines":[{"line_number":1,"context_line":"oud_user: \"devstack\""},{"line_number":2,"context_line":"virtualenvs:"},{"line_number":3,"context_line":"    refstack_client: \"~/.virtualenvs/.refstack_client\""}],"source_content_type":"text/x-yaml","patch_set":27,"id":"5f7c97a3_abc54f3e","line":1,"range":{"start_line":1,"start_character":0,"end_line":1,"end_character":8},"updated":"2018-05-08 11:36:24.000000000","message":"\"cl\" are missing at the beginning","commit_id":"736d17761b94051972fab10708d34f4aa2da758a"}],"roles/generate-tempestconf-refstack/tasks/main.yaml":[{"author":{"_account_id":22873,"name":"Martin Kopec","email":"mkopec@redhat.com","username":"mkopec"},"change_message_id":"4020efab6aeb11e96a8190b39e2c86973bb3fcdb","unresolved":false,"context_lines":[{"line_number":23,"context_line":"        virtualenv: \"{{ virtualenvs.refstack_client }}\""},{"line_number":24,"context_line":"        chdir: \"{{ refstack_client_src_relative_path }}\""},{"line_number":25,"context_line":""},{"line_number":26,"context_line":"  - name: Install python-tempestconf"},{"line_number":27,"context_line":"    pip:"},{"line_number":28,"context_line":"        name: \".\""},{"line_number":29,"context_line":"        virtualenv: \"{{ virtualenvs.refstack_client }}\""},{"line_number":30,"context_line":"        chdir: \"{{ tempestconf_src_relative_path }}\""},{"line_number":31,"context_line":""},{"line_number":32,"context_line":"  - name: Print Tempest account file"},{"line_number":33,"context_line":"    shell: |"}],"source_content_type":"text/x-yaml","patch_set":29,"id":"5f7c97a3_400c923a","line":30,"range":{"start_line":26,"start_character":0,"end_line":30,"end_character":52},"updated":"2018-05-08 16:08:22.000000000","message":"If I get it right, you\u0027re installing python-tempestconf in order to generate tempest.conf \nWhy don\u0027t you create tempest.conf the same way, as you created tempest_admin.conf (in playbook, using already existing role inherited from python-tempestconf) and just pass the path to the configuration file to this role (as you passed tempest-admin.conf to the generate-accounts-file role)?","commit_id":"4205307b4ad3bff4d48a26d82fee6ec77aa7d5ea"},{"author":{"_account_id":22873,"name":"Martin Kopec","email":"mkopec@redhat.com","username":"mkopec"},"change_message_id":"c0b17d05f2c0e723886b702c828c04648df816d5","unresolved":false,"context_lines":[{"line_number":23,"context_line":"        virtualenv: \"{{ virtualenvs.refstack_client }}\""},{"line_number":24,"context_line":"        chdir: \"{{ refstack_client_src_relative_path }}\""},{"line_number":25,"context_line":""},{"line_number":26,"context_line":"  - name: Install python-tempestconf"},{"line_number":27,"context_line":"    pip:"},{"line_number":28,"context_line":"        name: \".\""},{"line_number":29,"context_line":"        virtualenv: \"{{ virtualenvs.refstack_client }}\""},{"line_number":30,"context_line":"        chdir: \"{{ tempestconf_src_relative_path }}\""},{"line_number":31,"context_line":""},{"line_number":32,"context_line":"  - name: Print Tempest account file"},{"line_number":33,"context_line":"    shell: |"}],"source_content_type":"text/x-yaml","patch_set":29,"id":"5f7c97a3_43cb291d","line":30,"range":{"start_line":26,"start_character":0,"end_line":30,"end_character":52},"in_reply_to":"5f7c97a3_0a6eab00","updated":"2018-05-09 12:16:25.000000000","message":"oh, I see, but when we want to integrate python-tempestconf with refstack-client, python-tempestconf should be a dependency of refstack-client, so that you don\u0027t need to install it directly, right?","commit_id":"4205307b4ad3bff4d48a26d82fee6ec77aa7d5ea"},{"author":{"_account_id":12393,"name":"chandan kumar","display_name":"Chandan Kumar","email":"chkumar@redhat.com","username":"chkumar246"},"change_message_id":"65a35f25400847cbf643eb24416035368c7637c1","unresolved":false,"context_lines":[{"line_number":23,"context_line":"        virtualenv: \"{{ virtualenvs.refstack_client }}\""},{"line_number":24,"context_line":"        chdir: \"{{ refstack_client_src_relative_path }}\""},{"line_number":25,"context_line":""},{"line_number":26,"context_line":"  - name: Install python-tempestconf"},{"line_number":27,"context_line":"    pip:"},{"line_number":28,"context_line":"        name: \".\""},{"line_number":29,"context_line":"        virtualenv: \"{{ virtualenvs.refstack_client }}\""},{"line_number":30,"context_line":"        chdir: \"{{ tempestconf_src_relative_path }}\""},{"line_number":31,"context_line":""},{"line_number":32,"context_line":"  - name: Print Tempest account file"},{"line_number":33,"context_line":"    shell: |"}],"source_content_type":"text/x-yaml","patch_set":29,"id":"5f7c97a3_0a6eab00","line":30,"range":{"start_line":26,"start_character":0,"end_line":30,"end_character":52},"in_reply_to":"5f7c97a3_400c923a","updated":"2018-05-09 11:58:21.000000000","message":"python-tempestconf is installed in same refstack-client virtualenv so that refstack-client config can use it","commit_id":"4205307b4ad3bff4d48a26d82fee6ec77aa7d5ea"},{"author":{"_account_id":22873,"name":"Martin Kopec","email":"mkopec@redhat.com","username":"mkopec"},"change_message_id":"4020efab6aeb11e96a8190b39e2c86973bb3fcdb","unresolved":false,"context_lines":[{"line_number":29,"context_line":"        virtualenv: \"{{ virtualenvs.refstack_client }}\""},{"line_number":30,"context_line":"        chdir: \"{{ tempestconf_src_relative_path }}\""},{"line_number":31,"context_line":""},{"line_number":32,"context_line":"  - name: Print Tempest account file"},{"line_number":33,"context_line":"    shell: |"},{"line_number":34,"context_line":"        set -ex"},{"line_number":35,"context_line":"        cat {{ refstack_client_src_relative_path }}/etc/accounts.yaml"}],"source_content_type":"text/x-yaml","patch_set":29,"id":"5f7c97a3_00653ae1","line":32,"range":{"start_line":32,"start_character":24,"end_line":32,"end_character":31},"updated":"2018-05-08 16:08:22.000000000","message":"s/account/accounts","commit_id":"4205307b4ad3bff4d48a26d82fee6ec77aa7d5ea"},{"author":{"_account_id":22873,"name":"Martin Kopec","email":"mkopec@redhat.com","username":"mkopec"},"change_message_id":"4020efab6aeb11e96a8190b39e2c86973bb3fcdb","unresolved":false,"context_lines":[{"line_number":34,"context_line":"        set -ex"},{"line_number":35,"context_line":"        cat {{ refstack_client_src_relative_path }}/etc/accounts.yaml"},{"line_number":36,"context_line":""},{"line_number":37,"context_line":"  - name: Generate tempest configuration file"},{"line_number":38,"context_line":"    shell: |"},{"line_number":39,"context_line":"        set -ex"},{"line_number":40,"context_line":"        export PATH\u003d$PATH:/usr/local/sbin:/usr/sbin"},{"line_number":41,"context_line":"        source {{ virtualenvs.refstack_client }}/bin/activate"},{"line_number":42,"context_line":"        printenv"},{"line_number":43,"context_line":"        cp {{ tempestconf_src_relative_path }}/etc/default-overrides.conf {{ refstack_client_src_relative_path }}/etc"},{"line_number":44,"context_line":"        refstack-client config --use-test-accounts {{ refstack_client_src_relative_path }}/etc/accounts.yaml"},{"line_number":45,"context_line":"    args:"},{"line_number":46,"context_line":"        chdir: \"{{ refstack_client_src_relative_path }}\""},{"line_number":47,"context_line":"        executable: /bin/bash"},{"line_number":48,"context_line":""},{"line_number":49,"context_line":"  - name: Print generated tempest.conf"},{"line_number":50,"context_line":"    shell: |"},{"line_number":51,"context_line":"        set -ex"},{"line_number":52,"context_line":"        cat {{ refstack_client_src_relative_path }}/etc/tempest.conf"},{"line_number":53,"context_line":""},{"line_number":54,"context_line":"  - name: Run refstack-client tests"},{"line_number":55,"context_line":"    shell: |"}],"source_content_type":"text/x-yaml","patch_set":29,"id":"5f7c97a3_20a5d604","line":52,"range":{"start_line":37,"start_character":0,"end_line":52,"end_character":68},"updated":"2018-05-08 16:08:22.000000000","message":"see my comment above, about reusing generate-tempestconf-file role for creating tempest.conf for demo user and passing the path to that configuration file here via a role variable.","commit_id":"4205307b4ad3bff4d48a26d82fee6ec77aa7d5ea"},{"author":{"_account_id":22873,"name":"Martin Kopec","email":"mkopec@redhat.com","username":"mkopec"},"change_message_id":"29e85f1fd7bcb444c6ab75538e415a34a4258010","unresolved":false,"context_lines":[{"line_number":55,"context_line":"        set -ex"},{"line_number":56,"context_line":"        export PATH\u003d$PATH:/usr/local/sbin:/usr/sbin"},{"line_number":57,"context_line":"        source {{ virtualenvs.refstack_client }}/bin/activate"},{"line_number":58,"context_line":"        printenv"},{"line_number":59,"context_line":"        refstack-client test -c /etc/openstack/tempest.conf"},{"line_number":60,"context_line":"            -v --test-list \"https://refstack.openstack.org/api/v1/guidelines/2017.09/tests?target\u003dplatform\u0026type\u003drequired\u0026alias\u003dtrue\u0026flag\u003dfalse\""},{"line_number":61,"context_line":""}],"source_content_type":"text/x-yaml","patch_set":34,"id":"5f7c97a3_ad28ece1","line":58,"range":{"start_line":58,"start_character":8,"end_line":58,"end_character":16},"updated":"2018-05-09 10:45:06.000000000","message":"you didn\u0027t source credentials, check output of printenv, credentials are missing, that\u0027s why it fails on auth_url","commit_id":"68633b4501b247291c5597e331f44f2ffa3eabd5"},{"author":{"_account_id":22873,"name":"Martin Kopec","email":"mkopec@redhat.com","username":"mkopec"},"change_message_id":"c0b17d05f2c0e723886b702c828c04648df816d5","unresolved":false,"context_lines":[{"line_number":55,"context_line":"        set -ex"},{"line_number":56,"context_line":"        export PATH\u003d$PATH:/usr/local/sbin:/usr/sbin"},{"line_number":57,"context_line":"        source {{ virtualenvs.refstack_client }}/bin/activate"},{"line_number":58,"context_line":"        printenv"},{"line_number":59,"context_line":"        refstack-client test -c /etc/openstack/tempest.conf"},{"line_number":60,"context_line":"            -v --test-list \"https://refstack.openstack.org/api/v1/guidelines/2017.09/tests?target\u003dplatform\u0026type\u003drequired\u0026alias\u003dtrue\u0026flag\u003dfalse\""},{"line_number":61,"context_line":""}],"source_content_type":"text/x-yaml","patch_set":34,"id":"5f7c97a3_c323b904","line":58,"range":{"start_line":58,"start_character":8,"end_line":58,"end_character":16},"in_reply_to":"5f7c97a3_63cae56d","updated":"2018-05-09 12:16:25.000000000","message":"Oh, I meant the other task, the task where you run python-tempestconf (Generate tempest configuration file)","commit_id":"68633b4501b247291c5597e331f44f2ffa3eabd5"},{"author":{"_account_id":12393,"name":"chandan kumar","display_name":"Chandan Kumar","email":"chkumar@redhat.com","username":"chkumar246"},"change_message_id":"65a35f25400847cbf643eb24416035368c7637c1","unresolved":false,"context_lines":[{"line_number":55,"context_line":"        set -ex"},{"line_number":56,"context_line":"        export PATH\u003d$PATH:/usr/local/sbin:/usr/sbin"},{"line_number":57,"context_line":"        source {{ virtualenvs.refstack_client }}/bin/activate"},{"line_number":58,"context_line":"        printenv"},{"line_number":59,"context_line":"        refstack-client test -c /etc/openstack/tempest.conf"},{"line_number":60,"context_line":"            -v --test-list \"https://refstack.openstack.org/api/v1/guidelines/2017.09/tests?target\u003dplatform\u0026type\u003drequired\u0026alias\u003dtrue\u0026flag\u003dfalse\""},{"line_number":61,"context_line":""}],"source_content_type":"text/x-yaml","patch_set":34,"id":"5f7c97a3_63cae56d","line":58,"range":{"start_line":58,"start_character":8,"end_line":58,"end_character":16},"in_reply_to":"5f7c97a3_ad28ece1","updated":"2018-05-09 11:58:21.000000000","message":"Since we are using accounts.yaml, Do we still need to source since crdentails will come from accounts.yaml file.","commit_id":"68633b4501b247291c5597e331f44f2ffa3eabd5"},{"author":{"_account_id":22873,"name":"Martin Kopec","email":"mkopec@redhat.com","username":"mkopec"},"change_message_id":"39f627b63cf610972a1a28ec6d0027399ecf28b5","unresolved":false,"context_lines":[{"line_number":11,"context_line":"  - name: Install python-tempestconf"},{"line_number":12,"context_line":"    pip:"},{"line_number":13,"context_line":"        name: \".\""},{"line_number":14,"context_line":"        virtualenv: \"{{ refstack_client_src_relative_path.venv }}\""},{"line_number":15,"context_line":"        chdir: \"{{ tempestconf_src_relative_path }}\""},{"line_number":16,"context_line":""},{"line_number":17,"context_line":"  - name: Print Tempest account file"}],"source_content_type":"text/x-yaml","patch_set":50,"id":"5f7c97a3_44bc2505","line":14,"range":{"start_line":14,"start_character":20,"end_line":14,"end_character":66},"updated":"2018-06-13 07:28:31.000000000","message":"Try something like this:\n\"{{ refstack_client_src_relative_path }}/.venv/\"","commit_id":"d39c5f700c9aa3e4faad942fd9a9a3ebecbe6f3c"},{"author":{"_account_id":22873,"name":"Martin Kopec","email":"mkopec@redhat.com","username":"mkopec"},"change_message_id":"239f3ed8b52d3232c7dd987311ff8d0d8970bfd8","unresolved":false,"context_lines":[{"line_number":8,"context_line":"        chdir: \"{{ refstack_client_src_relative_path }}\""},{"line_number":9,"context_line":"        executable: /bin/bash"},{"line_number":10,"context_line":""},{"line_number":11,"context_line":"  - name: Install python-tempestconf"},{"line_number":12,"context_line":"    pip:"},{"line_number":13,"context_line":"        name: \".\""},{"line_number":14,"context_line":"        virtualenv: \"{{ refstack_client_src_relative_path }}/.venv/\""}],"source_content_type":"text/x-yaml","patch_set":51,"id":"5f7c97a3_c79b5714","line":11,"range":{"start_line":11,"start_character":4,"end_line":11,"end_character":35},"updated":"2018-06-13 08:38:39.000000000","message":"before this task, create a new one, which installs these items [1] to the refstack_client_src_relative_path\n\n[1] https://github.com/openstack/python-tempestconf/blob/1237f3470b7b3927d74886153d1630d05e577483/roles/generate-tempestconf-file/tasks/main.yaml#L10","commit_id":"c6d7e90b9f832782ead5713fcd31193af69a33ef"},{"author":{"_account_id":22873,"name":"Martin Kopec","email":"mkopec@redhat.com","username":"mkopec"},"change_message_id":"7e881ada8b756efe16860a134de6b0e096581e62","unresolved":false,"context_lines":[{"line_number":17,"context_line":"    shell: |"},{"line_number":18,"context_line":"        set -ex"},{"line_number":19,"context_line":"        export PATH\u003d$PATH:/usr/local/sbin:/usr/sbin"},{"line_number":20,"context_line":"        source {{ virtualenvs.refstack_client }}/bin/activate"},{"line_number":21,"context_line":"        {{ source_credentials_commands }}"},{"line_number":22,"context_line":"        printenv"},{"line_number":23,"context_line":"        refstack-client config --use-test-accounts /etc/openstack/accounts.yaml \\"}],"source_content_type":"text/x-yaml","patch_set":61,"id":"5f7c97a3_ec77189f","line":20,"range":{"start_line":20,"start_character":47,"end_line":20,"end_character":50},"updated":"2018-06-15 13:55:24.000000000","message":"missing .venv? like .venv/bin/activate","commit_id":"fb6aa279d5821a256fa7047af65cfe021d9be39a"},{"author":{"_account_id":22873,"name":"Martin Kopec","email":"mkopec@redhat.com","username":"mkopec"},"change_message_id":"119f726318803d67c48088e5a132499215ac6bb4","unresolved":false,"context_lines":[{"line_number":17,"context_line":"    shell: |"},{"line_number":18,"context_line":"        set -ex"},{"line_number":19,"context_line":"        export PATH\u003d$PATH:/usr/local/sbin:/usr/sbin"},{"line_number":20,"context_line":"        source {{ refstack_client_src_relative_path }}/.venv/bin/activate"},{"line_number":21,"context_line":"        {{ source_credentials_commands }}"},{"line_number":22,"context_line":"        printenv"},{"line_number":23,"context_line":"        refstack-client config --use-test-accounts /etc/openstack/accounts.yaml \\"}],"source_content_type":"text/x-yaml","patch_set":62,"id":"5f7c97a3_bc5629ce","line":20,"range":{"start_line":20,"start_character":14,"end_line":20,"end_character":55},"updated":"2018-06-15 21:00:20.000000000","message":"What I\u0027d try is to remove this highlighted part, because it\u0027s just relative path and you are already in the directory you want to be according to the args.chdir .. so just .venv/bin/activate should be enough","commit_id":"7d1c9c6ed5c3e4fc3c9d8d4aa3b6c13963529681"}]}
