)]}'
{"playbooks/inventory/group_vars/baremetal":[{"author":{"_account_id":14826,"name":"Mark Goddard","email":"markgoddard86@gmail.com","username":"mgoddard"},"change_message_id":"36b262000c1bc1b9acc10e1f78d7886272f8375e","unresolved":false,"context_lines":[{"line_number":7,"context_line":"# ironic_master_images_path: \"{{ ironic_base_path }}/master_images\""},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"# Force use of symlinks to solve cross devices hardlinks issues"},{"line_number":10,"context_line":"# use_symlinks: false"},{"line_number":11,"context_line":""},{"line_number":12,"context_line":"# The network interface that bifrost will be operating on.  Defaults"},{"line_number":13,"context_line":"# to virbr0 in roles, can be overridden here."}],"source_content_type":"application/octet-stream","patch_set":2,"id":"3fa0c359_86bdd969","line":10,"updated":"2018-02-19 10:18:04.000000000","message":"This variable could be a bit more descriptive/specific.","commit_id":"15994a82a4fabd33cf24fe757c8fbff14fdfe530"}],"playbooks/roles/bifrost-create-dib-image/tasks/main.yml":[{"author":{"_account_id":14826,"name":"Mark Goddard","email":"markgoddard86@gmail.com","username":"mgoddard"},"change_message_id":"36b262000c1bc1b9acc10e1f78d7886272f8375e","unresolved":false,"context_lines":[{"line_number":136,"context_line":"  when: http_boot_folder is defined and http_boot_folder !\u003d \u0027\u0027"},{"line_number":137,"context_line":"- name: \"Getting real infos on {{ http_boot_folder }} in case of symlink\""},{"line_number":138,"context_line":"  stat: path\u003d\"{{ http_boot_folder }}\" follow\u003dyes"},{"line_number":139,"context_line":"  register: httpboot_folder_real_stats"},{"line_number":140,"context_line":"  when: http_boot_folder is defined and http_boot_folder !\u003d \u0027\u0027"},{"line_number":141,"context_line":"- set_fact:"},{"line_number":142,"context_line":"    real_httpdir: \"{{ httpboot_folder_stats.stat.lnk_source }}\""}],"source_content_type":"text/x-yaml","patch_set":2,"id":"3fa0c359_469ef107","line":139,"updated":"2018-02-19 10:18:04.000000000","message":"I don\u0027t see httpboot_folder_real_stats used anywhere.","commit_id":"15994a82a4fabd33cf24fe757c8fbff14fdfe530"},{"author":{"_account_id":19578,"name":"Olivier Bourdon","email":"olivierbourdon38@gmail.com","username":"olivierbourdon38"},"change_message_id":"45e626ddd8926ad05bc5187f831f97abd4d8b720","unresolved":false,"context_lines":[{"line_number":136,"context_line":"  when: http_boot_folder is defined and http_boot_folder !\u003d \u0027\u0027"},{"line_number":137,"context_line":"- name: \"Getting real infos on {{ http_boot_folder }} in case of symlink\""},{"line_number":138,"context_line":"  stat: path\u003d\"{{ http_boot_folder }}\" follow\u003dyes"},{"line_number":139,"context_line":"  register: httpboot_folder_real_stats"},{"line_number":140,"context_line":"  when: http_boot_folder is defined and http_boot_folder !\u003d \u0027\u0027"},{"line_number":141,"context_line":"- set_fact:"},{"line_number":142,"context_line":"    real_httpdir: \"{{ httpboot_folder_stats.stat.lnk_source }}\""}],"source_content_type":"text/x-yaml","patch_set":2,"id":"3fa0c359_cd5f753f","line":139,"in_reply_to":"3fa0c359_469ef107","updated":"2018-02-19 19:15:43.000000000","message":"Done","commit_id":"15994a82a4fabd33cf24fe757c8fbff14fdfe530"},{"author":{"_account_id":14826,"name":"Mark Goddard","email":"markgoddard86@gmail.com","username":"mgoddard"},"change_message_id":"36b262000c1bc1b9acc10e1f78d7886272f8375e","unresolved":false,"context_lines":[{"line_number":137,"context_line":"- name: \"Getting real infos on {{ http_boot_folder }} in case of symlink\""},{"line_number":138,"context_line":"  stat: path\u003d\"{{ http_boot_folder }}\" follow\u003dyes"},{"line_number":139,"context_line":"  register: httpboot_folder_real_stats"},{"line_number":140,"context_line":"  when: http_boot_folder is defined and http_boot_folder !\u003d \u0027\u0027"},{"line_number":141,"context_line":"- set_fact:"},{"line_number":142,"context_line":"    real_httpdir: \"{{ httpboot_folder_stats.stat.lnk_source }}\""},{"line_number":143,"context_line":"  when: http_boot_folder is defined and http_boot_folder !\u003d \u0027\u0027 and use_symlinks and httpboot_folder_stats.stat.islnk"}],"source_content_type":"text/x-yaml","patch_set":2,"id":"3fa0c359_268f252f","line":140,"updated":"2018-02-19 10:18:04.000000000","message":"nit: Use of YAML syntax for module arguments rather than key\u003dvalue allows for better validation.","commit_id":"15994a82a4fabd33cf24fe757c8fbff14fdfe530"},{"author":{"_account_id":19578,"name":"Olivier Bourdon","email":"olivierbourdon38@gmail.com","username":"olivierbourdon38"},"change_message_id":"45e626ddd8926ad05bc5187f831f97abd4d8b720","unresolved":false,"context_lines":[{"line_number":137,"context_line":"- name: \"Getting real infos on {{ http_boot_folder }} in case of symlink\""},{"line_number":138,"context_line":"  stat: path\u003d\"{{ http_boot_folder }}\" follow\u003dyes"},{"line_number":139,"context_line":"  register: httpboot_folder_real_stats"},{"line_number":140,"context_line":"  when: http_boot_folder is defined and http_boot_folder !\u003d \u0027\u0027"},{"line_number":141,"context_line":"- set_fact:"},{"line_number":142,"context_line":"    real_httpdir: \"{{ httpboot_folder_stats.stat.lnk_source }}\""},{"line_number":143,"context_line":"  when: http_boot_folder is defined and http_boot_folder !\u003d \u0027\u0027 and use_symlinks and httpboot_folder_stats.stat.islnk"}],"source_content_type":"text/x-yaml","patch_set":2,"id":"3fa0c359_ed5a714e","line":140,"in_reply_to":"3fa0c359_268f252f","updated":"2018-02-19 19:15:43.000000000","message":"Done","commit_id":"15994a82a4fabd33cf24fe757c8fbff14fdfe530"},{"author":{"_account_id":14826,"name":"Mark Goddard","email":"markgoddard86@gmail.com","username":"mgoddard"},"change_message_id":"36b262000c1bc1b9acc10e1f78d7886272f8375e","unresolved":false,"context_lines":[{"line_number":143,"context_line":"  when: http_boot_folder is defined and http_boot_folder !\u003d \u0027\u0027 and use_symlinks and httpboot_folder_stats.stat.islnk"},{"line_number":144,"context_line":"- set_fact:"},{"line_number":145,"context_line":"    real_httpdir: \"{{ http_boot_folder }}\""},{"line_number":146,"context_line":"  when: http_boot_folder is defined and http_boot_folder !\u003d \u0027\u0027 and use_symlinks and not httpboot_folder_stats.stat.islnk"},{"line_number":147,"context_line":"- name: \"Update permission of generated image\""},{"line_number":148,"context_line":"  file:"},{"line_number":149,"context_line":"    path: \"{{ real_httpdir }}\""}],"source_content_type":"text/x-yaml","patch_set":2,"id":"3fa0c359_a665751f","line":146,"updated":"2018-02-19 10:18:04.000000000","message":"Add a default for use_symlinks in this role?","commit_id":"15994a82a4fabd33cf24fe757c8fbff14fdfe530"},{"author":{"_account_id":14826,"name":"Mark Goddard","email":"markgoddard86@gmail.com","username":"mgoddard"},"change_message_id":"00cbeee48d7663b5ad544a5fe8083b3264fca710","unresolved":false,"context_lines":[{"line_number":143,"context_line":"  when: http_boot_folder is defined and http_boot_folder !\u003d \u0027\u0027 and use_symlinks and httpboot_folder_stats.stat.islnk"},{"line_number":144,"context_line":"- set_fact:"},{"line_number":145,"context_line":"    real_httpdir: \"{{ http_boot_folder }}\""},{"line_number":146,"context_line":"  when: http_boot_folder is defined and http_boot_folder !\u003d \u0027\u0027 and use_symlinks and not httpboot_folder_stats.stat.islnk"},{"line_number":147,"context_line":"- name: \"Update permission of generated image\""},{"line_number":148,"context_line":"  file:"},{"line_number":149,"context_line":"    path: \"{{ real_httpdir }}\""}],"source_content_type":"text/x-yaml","patch_set":2,"id":"3fa0c359_b9833d04","line":146,"in_reply_to":"3fa0c359_4d31250b","updated":"2018-02-20 09:37:14.000000000","message":"You\u0027ve added a default value for use_symlinks in the bifrost-ironic-install role, but not this role. It should really have a default in all roles in which it is referenced.","commit_id":"15994a82a4fabd33cf24fe757c8fbff14fdfe530"},{"author":{"_account_id":19578,"name":"Olivier Bourdon","email":"olivierbourdon38@gmail.com","username":"olivierbourdon38"},"change_message_id":"45e626ddd8926ad05bc5187f831f97abd4d8b720","unresolved":false,"context_lines":[{"line_number":143,"context_line":"  when: http_boot_folder is defined and http_boot_folder !\u003d \u0027\u0027 and use_symlinks and httpboot_folder_stats.stat.islnk"},{"line_number":144,"context_line":"- set_fact:"},{"line_number":145,"context_line":"    real_httpdir: \"{{ http_boot_folder }}\""},{"line_number":146,"context_line":"  when: http_boot_folder is defined and http_boot_folder !\u003d \u0027\u0027 and use_symlinks and not httpboot_folder_stats.stat.islnk"},{"line_number":147,"context_line":"- name: \"Update permission of generated image\""},{"line_number":148,"context_line":"  file:"},{"line_number":149,"context_line":"    path: \"{{ real_httpdir }}\""}],"source_content_type":"text/x-yaml","patch_set":2,"id":"3fa0c359_4d31250b","line":146,"in_reply_to":"3fa0c359_a665751f","updated":"2018-02-19 19:15:43.000000000","message":"Not sure I follow you there","commit_id":"15994a82a4fabd33cf24fe757c8fbff14fdfe530"},{"author":{"_account_id":14826,"name":"Mark Goddard","email":"markgoddard86@gmail.com","username":"mgoddard"},"change_message_id":"36b262000c1bc1b9acc10e1f78d7886272f8375e","unresolved":false,"context_lines":[{"line_number":154,"context_line":"- name: \"Restore proper context on created data for http_boot\""},{"line_number":155,"context_line":"  command: restorecon -R {{ real_httpdir }}"},{"line_number":156,"context_line":"  when: (ansible_os_family \u003d\u003d \u0027RedHat\u0027 or ansible_os_family \u003d\u003d \u0027Suse\u0027) and"},{"line_number":157,"context_line":"         ansible_selinux.status \u003d\u003d \u0027enabled\u0027 and ansible_selinux.mode \u003d\u003d \"enforcing\""}],"source_content_type":"text/x-yaml","patch_set":2,"id":"3fa0c359_66a1ad46","line":157,"updated":"2018-02-19 10:18:04.000000000","message":"Looks like this was an issue before you arrived, but there is no \"when: http_boot_folder is defined and http_boot_folder !\u003d \u0027\u0027\" check for this task. Perhaps it would be best to use a block here:\n\n- block:\n\u003ctasks\u003e\n  when: http_boot_folder is defined and http_boot_folder !\u003d \u0027\u0027\n\nEven that is a bit odd, because there is an assumption about the location of the image being in http_boot_folder, yet the actual location is defined by dib_imagename.","commit_id":"15994a82a4fabd33cf24fe757c8fbff14fdfe530"},{"author":{"_account_id":19578,"name":"Olivier Bourdon","email":"olivierbourdon38@gmail.com","username":"olivierbourdon38"},"change_message_id":"45e626ddd8926ad05bc5187f831f97abd4d8b720","unresolved":false,"context_lines":[{"line_number":154,"context_line":"- name: \"Restore proper context on created data for http_boot\""},{"line_number":155,"context_line":"  command: restorecon -R {{ real_httpdir }}"},{"line_number":156,"context_line":"  when: (ansible_os_family \u003d\u003d \u0027RedHat\u0027 or ansible_os_family \u003d\u003d \u0027Suse\u0027) and"},{"line_number":157,"context_line":"         ansible_selinux.status \u003d\u003d \u0027enabled\u0027 and ansible_selinux.mode \u003d\u003d \"enforcing\""}],"source_content_type":"text/x-yaml","patch_set":2,"id":"3fa0c359_ad546922","line":157,"in_reply_to":"3fa0c359_66a1ad46","updated":"2018-02-19 19:15:43.000000000","message":"Done","commit_id":"15994a82a4fabd33cf24fe757c8fbff14fdfe530"}],"playbooks/roles/bifrost-ironic-install/tasks/bootstrap.yml":[{"author":{"_account_id":14826,"name":"Mark Goddard","email":"markgoddard86@gmail.com","username":"mgoddard"},"change_message_id":"36b262000c1bc1b9acc10e1f78d7886272f8375e","unresolved":false,"context_lines":[{"line_number":217,"context_line":"- name: \"Create and populate /tftpboot\""},{"line_number":218,"context_line":"  include: create_tftpboot.yml"},{"line_number":219,"context_line":""},{"line_number":220,"context_line":"- block:"},{"line_number":221,"context_line":"    - name: \"Getting infos on {{ http_boot_folder }}\""},{"line_number":222,"context_line":"      stat: path\u003d\"{{ http_boot_folder }}\""},{"line_number":223,"context_line":"      register: httpboot_folder_stats"}],"source_content_type":"text/x-yaml","patch_set":2,"id":"3fa0c359_0676a9d9","line":220,"updated":"2018-02-19 10:18:04.000000000","message":"Why use a block here?","commit_id":"15994a82a4fabd33cf24fe757c8fbff14fdfe530"},{"author":{"_account_id":19578,"name":"Olivier Bourdon","email":"olivierbourdon38@gmail.com","username":"olivierbourdon38"},"change_message_id":"45e626ddd8926ad05bc5187f831f97abd4d8b720","unresolved":false,"context_lines":[{"line_number":217,"context_line":"- name: \"Create and populate /tftpboot\""},{"line_number":218,"context_line":"  include: create_tftpboot.yml"},{"line_number":219,"context_line":""},{"line_number":220,"context_line":"- block:"},{"line_number":221,"context_line":"    - name: \"Getting infos on {{ http_boot_folder }}\""},{"line_number":222,"context_line":"      stat: path\u003d\"{{ http_boot_folder }}\""},{"line_number":223,"context_line":"      register: httpboot_folder_stats"}],"source_content_type":"text/x-yaml","patch_set":2,"id":"3fa0c359_6d3421fc","line":220,"in_reply_to":"3fa0c359_0676a9d9","updated":"2018-02-19 19:15:43.000000000","message":"Done","commit_id":"15994a82a4fabd33cf24fe757c8fbff14fdfe530"},{"author":{"_account_id":14826,"name":"Mark Goddard","email":"markgoddard86@gmail.com","username":"mgoddard"},"change_message_id":"00cbeee48d7663b5ad544a5fe8083b3264fca710","unresolved":false,"context_lines":[{"line_number":265,"context_line":"      src: \"{{ target_dir }}/{{ src_dir2move | basename }}\""},{"line_number":266,"context_line":"      dest: \"{{ http_boot_folder }}\""},{"line_number":267,"context_line":"      state: link"},{"line_number":268,"context_line":"  when: use_symlinks and not is_same_device"},{"line_number":269,"context_line":""},{"line_number":270,"context_line":"- name: \"Setup Inventory Hosts Directory\""},{"line_number":271,"context_line":"  file:"}],"source_content_type":"text/x-yaml","patch_set":7,"id":"3fa0c359_f961c53a","line":268,"updated":"2018-02-20 09:37:14.000000000","message":"Without an explanation of what\u0027s going on, this is all quite hard to follow.\n\nIs it idempotent?","commit_id":"f656ade91a342cb94dad87900acdc113028982aa"}],"playbooks/roles/bifrost-keystone-install/defaults/required_defaults_Debian_jessie.yml":[{"author":{"_account_id":14826,"name":"Mark Goddard","email":"markgoddard86@gmail.com","username":"mgoddard"},"change_message_id":"36b262000c1bc1b9acc10e1f78d7886272f8375e","unresolved":false,"context_lines":[{"line_number":2,"context_line":"init_template: systemd_template.j2"},{"line_number":3,"context_line":"init_dest_dir: /usr/lib/systemd/system/"},{"line_number":4,"context_line":"init_ext: .service"},{"line_number":5,"context_line":"nginx_user: ironic"},{"line_number":6,"context_line":"mysql_service_name: mysql"},{"line_number":7,"context_line":"required_packages:"},{"line_number":8,"context_line":"  - mysql-server"}],"source_content_type":"text/x-yaml","patch_set":2,"id":"3fa0c359_66168d58","line":5,"updated":"2018-02-19 10:18:04.000000000","message":"I\u0027m not sure this is going to work well for upgrades.","commit_id":"15994a82a4fabd33cf24fe757c8fbff14fdfe530"}]}
