)]}'
{"ansible/nova.yml":[{"author":{"_account_id":22629,"name":"Michal Nasiadka","email":"mnasiadka@gmail.com","username":"mnasiadka"},"change_message_id":"e25bd2928666c1115ee7d572146e5d721b6b9de2","unresolved":false,"context_lines":[{"line_number":5,"context_line":"# for a given operation."},{"line_number":6,"context_line":"#"},{"line_number":7,"context_line":"# The nova role now deploys the global services:"},{"line_number":8,"context_line":"# "},{"line_number":9,"context_line":"# * nova-api"},{"line_number":10,"context_line":"# * nova-scheduler"},{"line_number":11,"context_line":"# * nova-super-conductor (if enable_cells is true)"}],"source_content_type":"text/x-yaml","patch_set":27,"id":"3fa7e38b_efef831a","line":8,"updated":"2019-10-10 08:50:46.000000000","message":"space","commit_id":"6c6436be0204dd50267456c3e332ac51941033fe"},{"author":{"_account_id":22629,"name":"Michal Nasiadka","email":"mnasiadka@gmail.com","username":"mnasiadka"},"change_message_id":"e25bd2928666c1115ee7d572146e5d721b6b9de2","unresolved":false,"context_lines":[{"line_number":9,"context_line":"# * nova-api"},{"line_number":10,"context_line":"# * nova-scheduler"},{"line_number":11,"context_line":"# * nova-super-conductor (if enable_cells is true)"},{"line_number":12,"context_line":"# "},{"line_number":13,"context_line":"# The nova-cell role handles services specific to a cell:"},{"line_number":14,"context_line":"# "},{"line_number":15,"context_line":"# * nova-compute"}],"source_content_type":"text/x-yaml","patch_set":27,"id":"3fa7e38b_0ff53fed","line":12,"updated":"2019-10-10 08:50:46.000000000","message":"space","commit_id":"6c6436be0204dd50267456c3e332ac51941033fe"},{"author":{"_account_id":22629,"name":"Michal Nasiadka","email":"mnasiadka@gmail.com","username":"mnasiadka"},"change_message_id":"e25bd2928666c1115ee7d572146e5d721b6b9de2","unresolved":false,"context_lines":[{"line_number":11,"context_line":"# * nova-super-conductor (if enable_cells is true)"},{"line_number":12,"context_line":"# "},{"line_number":13,"context_line":"# The nova-cell role handles services specific to a cell:"},{"line_number":14,"context_line":"# "},{"line_number":15,"context_line":"# * nova-compute"},{"line_number":16,"context_line":"# * nova-compute-ironic"},{"line_number":17,"context_line":"# * nova-conductor"}],"source_content_type":"text/x-yaml","patch_set":27,"id":"3fa7e38b_cfdac776","line":14,"updated":"2019-10-10 08:50:46.000000000","message":"space","commit_id":"6c6436be0204dd50267456c3e332ac51941033fe"},{"author":{"_account_id":30491,"name":"Radosław Piliszek","display_name":"Radek","email":"radek@piliszek.it","username":"yoctozepto","status":"self-employed techologist, collaborating mostly with 7bulls.com"},"change_message_id":"4cc3c6d48d44ebc9f0f8aca62e4915de3eab97c9","unresolved":false,"context_lines":[{"line_number":1,"context_line":"---"},{"line_number":2,"context_line":"# This playbook is for nova services. Due to support for deployment of cells,"},{"line_number":3,"context_line":"# nova is separated into two roles - nova and nova-cell. This makes it more"},{"line_number":4,"context_line":"# complicated than other services, as we may execute each role several times"}],"source_content_type":"text/x-yaml","patch_set":30,"id":"3fa7e38b_3db11145","line":1,"updated":"2019-10-15 07:58:47.000000000","message":"ceph-mon is gone, it was present in the original role inclusion; it appears to be irrelevant in CI but there we have all hosts doing everything","commit_id":"f011c5e325ed4acd1f136a140484eb6b9464af82"},{"author":{"_account_id":14826,"name":"Mark Goddard","email":"markgoddard86@gmail.com","username":"mgoddard"},"change_message_id":"d4a9ffccee0459907ca874ab51a1b62e7aa90360","unresolved":false,"context_lines":[{"line_number":1,"context_line":"---"},{"line_number":2,"context_line":"# This playbook is for nova services. Due to support for deployment of cells,"},{"line_number":3,"context_line":"# nova is separated into two roles - nova and nova-cell. This makes it more"},{"line_number":4,"context_line":"# complicated than other services, as we may execute each role several times"}],"source_content_type":"text/x-yaml","patch_set":30,"id":"3fa7e38b_35a045f4","line":1,"in_reply_to":"3fa7e38b_3db11145","updated":"2019-10-15 13:10:35.000000000","message":"Yes. It\u0027s not required as all ceph tasks use delegate_to.","commit_id":"f011c5e325ed4acd1f136a140484eb6b9464af82"},{"author":{"_account_id":17669,"name":"Doug Szumski","email":"doug@stackhpc.com","username":"DougSzumski"},"change_message_id":"4d7fcfa844ef1b26b0bb9e2b48c461dcd2e01274","unresolved":false,"context_lines":[{"line_number":23,"context_line":""},{"line_number":24,"context_line":"# We need to perform database bootstrapping before deploying or upgrading any"},{"line_number":25,"context_line":"# containers, to ensure all database schema migrations have been performed,"},{"line_number":26,"context_line":"# both in the API and cell databases."},{"line_number":27,"context_line":""},{"line_number":28,"context_line":"- name: Bootstrap nova API databases"},{"line_number":29,"context_line":"  gather_facts: false"}],"source_content_type":"text/x-yaml","patch_set":30,"id":"3fa7e38b_43be6eae","line":26,"updated":"2019-10-15 10:38:36.000000000","message":"It might be useful to note that the schema migrations are not supposed to be disruptive to the Nova services, and should allow them to continue running before they are upgraded.","commit_id":"f011c5e325ed4acd1f136a140484eb6b9464af82"},{"author":{"_account_id":14826,"name":"Mark Goddard","email":"markgoddard86@gmail.com","username":"mgoddard"},"change_message_id":"d4a9ffccee0459907ca874ab51a1b62e7aa90360","unresolved":false,"context_lines":[{"line_number":23,"context_line":""},{"line_number":24,"context_line":"# We need to perform database bootstrapping before deploying or upgrading any"},{"line_number":25,"context_line":"# containers, to ensure all database schema migrations have been performed,"},{"line_number":26,"context_line":"# both in the API and cell databases."},{"line_number":27,"context_line":""},{"line_number":28,"context_line":"- name: Bootstrap nova API databases"},{"line_number":29,"context_line":"  gather_facts: false"}],"source_content_type":"text/x-yaml","patch_set":30,"id":"3fa7e38b_15866967","line":26,"in_reply_to":"3fa7e38b_43be6eae","updated":"2019-10-15 13:10:35.000000000","message":"Good idea.","commit_id":"f011c5e325ed4acd1f136a140484eb6b9464af82"},{"author":{"_account_id":17669,"name":"Doug Szumski","email":"doug@stackhpc.com","username":"DougSzumski"},"change_message_id":"4d7fcfa844ef1b26b0bb9e2b48c461dcd2e01274","unresolved":false,"context_lines":[{"line_number":91,"context_line":"      when:"},{"line_number":92,"context_line":"        - enable_nova | bool"},{"line_number":93,"context_line":"        - kolla_action \u003d\u003d \u0027upgrade\u0027"},{"line_number":94,"context_line":""},{"line_number":95,"context_line":"# Standard {{ kolla_action }}.yml for nova role."},{"line_number":96,"context_line":"- name: Apply role nova"},{"line_number":97,"context_line":"  gather_facts: false"}],"source_content_type":"text/x-yaml","patch_set":30,"id":"3fa7e38b_43dd0edb","line":94,"updated":"2019-10-15 10:38:36.000000000","message":"Do we need to stop Nova services somewhere for the safety upgrade?","commit_id":"f011c5e325ed4acd1f136a140484eb6b9464af82"},{"author":{"_account_id":14826,"name":"Mark Goddard","email":"markgoddard86@gmail.com","username":"mgoddard"},"change_message_id":"d4a9ffccee0459907ca874ab51a1b62e7aa90360","unresolved":false,"context_lines":[{"line_number":91,"context_line":"      when:"},{"line_number":92,"context_line":"        - enable_nova | bool"},{"line_number":93,"context_line":"        - kolla_action \u003d\u003d \u0027upgrade\u0027"},{"line_number":94,"context_line":""},{"line_number":95,"context_line":"# Standard {{ kolla_action }}.yml for nova role."},{"line_number":96,"context_line":"- name: Apply role nova"},{"line_number":97,"context_line":"  gather_facts: false"}],"source_content_type":"text/x-yaml","patch_set":30,"id":"3fa7e38b_78a4744b","line":94,"in_reply_to":"3fa7e38b_43dd0edb","updated":"2019-10-15 13:10:35.000000000","message":"Hmm, I thought that was done via upgrade.yml but I can\u0027t see it.","commit_id":"f011c5e325ed4acd1f136a140484eb6b9464af82"},{"author":{"_account_id":30491,"name":"Radosław Piliszek","display_name":"Radek","email":"radek@piliszek.it","username":"yoctozepto","status":"self-employed techologist, collaborating mostly with 7bulls.com"},"change_message_id":"4cc3c6d48d44ebc9f0f8aca62e4915de3eab97c9","unresolved":false,"context_lines":[{"line_number":112,"context_line":"- name: Apply role nova-cell"},{"line_number":113,"context_line":"  gather_facts: false"},{"line_number":114,"context_line":"  hosts:"},{"line_number":115,"context_line":"    - compute"},{"line_number":116,"context_line":"    - nova-conductor"},{"line_number":117,"context_line":"    - nova-novncproxy"},{"line_number":118,"context_line":"    - nova-serialproxy"}],"source_content_type":"text/x-yaml","patch_set":30,"id":"3fa7e38b_7dab09d5","line":115,"updated":"2019-10-15 07:58:47.000000000","message":"for follow-up: I think we should refurbish our groups so that nova-compute is nova-compute, not compute which is shared with e.g. zun","commit_id":"f011c5e325ed4acd1f136a140484eb6b9464af82"},{"author":{"_account_id":14826,"name":"Mark Goddard","email":"markgoddard86@gmail.com","username":"mgoddard"},"change_message_id":"d4a9ffccee0459907ca874ab51a1b62e7aa90360","unresolved":false,"context_lines":[{"line_number":112,"context_line":"- name: Apply role nova-cell"},{"line_number":113,"context_line":"  gather_facts: false"},{"line_number":114,"context_line":"  hosts:"},{"line_number":115,"context_line":"    - compute"},{"line_number":116,"context_line":"    - nova-conductor"},{"line_number":117,"context_line":"    - nova-novncproxy"},{"line_number":118,"context_line":"    - nova-serialproxy"}],"source_content_type":"text/x-yaml","patch_set":30,"id":"3fa7e38b_f86dc402","line":115,"in_reply_to":"3fa7e38b_7dab09d5","updated":"2019-10-15 13:10:35.000000000","message":"Yeah it\u0027s always stood out as being a little odd.","commit_id":"f011c5e325ed4acd1f136a140484eb6b9464af82"},{"author":{"_account_id":30491,"name":"Radosław Piliszek","display_name":"Radek","email":"radek@piliszek.it","username":"yoctozepto","status":"self-employed techologist, collaborating mostly with 7bulls.com"},"change_message_id":"4cc3c6d48d44ebc9f0f8aca62e4915de3eab97c9","unresolved":false,"context_lines":[{"line_number":149,"context_line":""},{"line_number":150,"context_line":"# Following an upgrade, Nova services must be restarted once all compute"},{"line_number":151,"context_line":"# services have registered themselves, to remove the RPC version pin."},{"line_number":152,"context_line":"# Also, when nova_safety_upgrade is true, this starts services which were"},{"line_number":153,"context_line":"# stopped during the upgrade."},{"line_number":154,"context_line":""},{"line_number":155,"context_line":"- name: Reload global Nova services"}],"source_content_type":"text/x-yaml","patch_set":30,"id":"3fa7e38b_fd64d9ba","line":152,"range":{"start_line":152,"start_character":13,"end_line":152,"end_character":32},"updated":"2019-10-15 07:58:47.000000000","message":"offtopic: needs documentation","commit_id":"f011c5e325ed4acd1f136a140484eb6b9464af82"},{"author":{"_account_id":17669,"name":"Doug Szumski","email":"doug@stackhpc.com","username":"DougSzumski"},"change_message_id":"4d7fcfa844ef1b26b0bb9e2b48c461dcd2e01274","unresolved":false,"context_lines":[{"line_number":172,"context_line":"        - enable_nova | bool"},{"line_number":173,"context_line":"        - kolla_action \u003d\u003d \u0027upgrade\u0027"},{"line_number":174,"context_line":""},{"line_number":175,"context_line":"- name: Reload Nova cell services"},{"line_number":176,"context_line":"  gather_facts: false"},{"line_number":177,"context_line":"  hosts:"},{"line_number":178,"context_line":"    - compute"}],"source_content_type":"text/x-yaml","patch_set":30,"id":"3fa7e38b_837306e7","line":175,"updated":"2019-10-15 10:38:36.000000000","message":"Should this reload take place before the global Nova services so that the cells are all using the latest RPC version before the reload of the global services, and also so that we follow the Nova advice for the safety upgrade of starting the API last and the conductors first?\n\n[1] https://docs.openstack.org/nova/latest/user/upgrade.html","commit_id":"f011c5e325ed4acd1f136a140484eb6b9464af82"},{"author":{"_account_id":14826,"name":"Mark Goddard","email":"markgoddard86@gmail.com","username":"mgoddard"},"change_message_id":"d4a9ffccee0459907ca874ab51a1b62e7aa90360","unresolved":false,"context_lines":[{"line_number":172,"context_line":"        - enable_nova | bool"},{"line_number":173,"context_line":"        - kolla_action \u003d\u003d \u0027upgrade\u0027"},{"line_number":174,"context_line":""},{"line_number":175,"context_line":"- name: Reload Nova cell services"},{"line_number":176,"context_line":"  gather_facts: false"},{"line_number":177,"context_line":"  hosts:"},{"line_number":178,"context_line":"    - compute"}],"source_content_type":"text/x-yaml","patch_set":30,"id":"3fa7e38b_d811e85e","line":175,"in_reply_to":"3fa7e38b_837306e7","updated":"2019-10-15 13:10:35.000000000","message":"To follow it fully wouldn\u0027t we need to split the nova role restart into reload_superconductor, reload_api? Not sure where scheduler goes.","commit_id":"f011c5e325ed4acd1f136a140484eb6b9464af82"}],"ansible/roles/nova-cell/defaults/main.yml":[{"author":{"_account_id":14826,"name":"Mark Goddard","email":"markgoddard86@gmail.com","username":"mgoddard"},"change_message_id":"cfef7949be1108e2d40c116ac36820aba8e7b179","unresolved":false,"context_lines":[{"line_number":1,"context_line":"---"},{"line_number":2,"context_line":"project_name: \"nova-cell\""},{"line_number":3,"context_line":"nova_cell_container_name_prefix: \"\""},{"line_number":4,"context_line":"nova_cell_conf_dir_prefix: \"\""},{"line_number":5,"context_line":""},{"line_number":6,"context_line":"nova_cell_services:"},{"line_number":7,"context_line":"  nova-libvirt:"}],"source_content_type":"text/x-yaml","patch_set":8,"id":"7faddb67_15807ef7","line":4,"range":{"start_line":3,"start_character":0,"end_line":4,"end_character":29},"updated":"2019-08-22 14:14:33.000000000","message":"Are these just for testing? Would these not just come from the cell name?","commit_id":"1e948a763cfd5bfc9f1313de639d4ae203ba8014"},{"author":{"_account_id":14826,"name":"Mark Goddard","email":"markgoddard86@gmail.com","username":"mgoddard"},"change_message_id":"cfef7949be1108e2d40c116ac36820aba8e7b179","unresolved":false,"context_lines":[{"line_number":4,"context_line":"nova_cell_conf_dir_prefix: \"\""},{"line_number":5,"context_line":""},{"line_number":6,"context_line":"nova_cell_services:"},{"line_number":7,"context_line":"  nova-libvirt:"},{"line_number":8,"context_line":"    container_name: \"{{ nova_cell_container_name_prefix }}nova_libvirt\""},{"line_number":9,"context_line":"    group: \"{{ role_nova_cell_compute_group }}\""},{"line_number":10,"context_line":"    enabled: \"{{ nova_compute_virt_type in [\u0027kvm\u0027, \u0027qemu\u0027] }}\""}],"source_content_type":"text/x-yaml","patch_set":8,"id":"7faddb67_d5798630","line":7,"updated":"2019-08-22 14:14:33.000000000","message":"could use the instance_name pattern used in mariadb?","commit_id":"1e948a763cfd5bfc9f1313de639d4ae203ba8014"},{"author":{"_account_id":17669,"name":"Doug Szumski","email":"doug@stackhpc.com","username":"DougSzumski"},"change_message_id":"0877ca949cca898de63441919f0ed48a3fc6489f","unresolved":false,"context_lines":[{"line_number":4,"context_line":"nova_cell_conf_dir_prefix: \"\""},{"line_number":5,"context_line":""},{"line_number":6,"context_line":"nova_cell_services:"},{"line_number":7,"context_line":"  nova-libvirt:"},{"line_number":8,"context_line":"    container_name: \"{{ nova_cell_container_name_prefix }}nova_libvirt\""},{"line_number":9,"context_line":"    group: \"{{ role_nova_cell_compute_group }}\""},{"line_number":10,"context_line":"    enabled: \"{{ nova_compute_virt_type in [\u0027kvm\u0027, \u0027qemu\u0027] }}\""}],"source_content_type":"text/x-yaml","patch_set":8,"id":"7faddb67_6d2486b3","line":7,"in_reply_to":"7faddb67_d5798630","updated":"2019-08-28 16:58:39.000000000","message":"Indeed, I had this update stashed.","commit_id":"1e948a763cfd5bfc9f1313de639d4ae203ba8014"},{"author":{"_account_id":14826,"name":"Mark Goddard","email":"markgoddard86@gmail.com","username":"mgoddard"},"change_message_id":"cfef7949be1108e2d40c116ac36820aba8e7b179","unresolved":false,"context_lines":[{"line_number":86,"context_line":"role_nova_cell_database_user: \"{% if use_preconfigured_databases | bool and use_common_mariadb_user | bool %}{{ database_user }}{% else %}nova{% endif %}\""},{"line_number":87,"context_line":"role_nova_cell_database_address: \"{{ database_address }}\""},{"line_number":88,"context_line":""},{"line_number":89,"context_line":"# This is required by Nova Conductor"},{"line_number":90,"context_line":"nova_api_database_name: \"nova_api\""},{"line_number":91,"context_line":"nova_api_database_user: \"{% if use_preconfigured_databases | bool and use_common_mariadb_user | bool %}{{ database_user }}{% else %}nova_api{% endif %}\""},{"line_number":92,"context_line":"nova_api_database_address: \"{{ database_address }}:{{ database_port }}\""}],"source_content_type":"text/x-yaml","patch_set":8,"id":"7faddb67_d53ae633","line":89,"range":{"start_line":89,"start_character":0,"end_line":89,"end_character":36},"updated":"2019-08-22 14:14:33.000000000","message":"Sure?","commit_id":"1e948a763cfd5bfc9f1313de639d4ae203ba8014"},{"author":{"_account_id":14826,"name":"Mark Goddard","email":"markgoddard86@gmail.com","username":"mgoddard"},"change_message_id":"cfef7949be1108e2d40c116ac36820aba8e7b179","unresolved":false,"context_lines":[{"line_number":178,"context_line":"# OpenStack"},{"line_number":179,"context_line":"####################"},{"line_number":180,"context_line":""},{"line_number":181,"context_line":"nova_legacy_admin_endpoint: \"{{ admin_protocol }}://{{ nova_internal_fqdn }}:{{ nova_api_port }}/v2/%(tenant_id)s\""},{"line_number":182,"context_line":"nova_legacy_internal_endpoint: \"{{ internal_protocol }}://{{ nova_internal_fqdn }}:{{ nova_api_port }}/v2/%(tenant_id)s\""},{"line_number":183,"context_line":"nova_legacy_public_endpoint: \"{{ public_protocol }}://{{ nova_external_fqdn }}:{{ nova_api_port }}/v2/%(tenant_id)s\""},{"line_number":184,"context_line":""},{"line_number":185,"context_line":"nova_admin_endpoint: \"{{ admin_protocol }}://{{ nova_internal_fqdn }}:{{ nova_api_port }}/v2.1\""},{"line_number":186,"context_line":"nova_internal_endpoint: \"{{ internal_protocol }}://{{ nova_internal_fqdn }}:{{ nova_api_port }}/v2.1\""},{"line_number":187,"context_line":"nova_public_endpoint: \"{{ public_protocol }}://{{ nova_external_fqdn }}:{{ nova_api_port }}/v2.1\""},{"line_number":188,"context_line":""},{"line_number":189,"context_line":"nova_logging_debug: \"{{ openstack_logging_debug }}\""},{"line_number":190,"context_line":""}],"source_content_type":"text/x-yaml","patch_set":8,"id":"7faddb67_350fba89","line":187,"range":{"start_line":181,"start_character":0,"end_line":187,"end_character":97},"updated":"2019-08-22 14:14:33.000000000","message":"Not required","commit_id":"1e948a763cfd5bfc9f1313de639d4ae203ba8014"},{"author":{"_account_id":14826,"name":"Mark Goddard","email":"markgoddard86@gmail.com","username":"mgoddard"},"change_message_id":"257ac90958ddd057973ea300e225da888db0b868","unresolved":false,"context_lines":[{"line_number":30,"context_line":"    dimensions: \"{{ nova_conductor_dimensions }}\""},{"line_number":31,"context_line":"  nova-compute:"},{"line_number":32,"context_line":"    instance_name: \"{{ nova_cell_namespace + \u0027nova-compute\u0027 }}\""},{"line_number":33,"context_line":"    container_name: \"{{ nova_cell_container_namespace + \u0027nova_compute\u0027 }}\""},{"line_number":34,"context_line":"    group: \"{{ nova_cell_compute_group }}\""},{"line_number":35,"context_line":"    image: \"{{ nova_compute_image_full }}\""},{"line_number":36,"context_line":"    environment:"}],"source_content_type":"text/x-yaml","patch_set":11,"id":"7faddb67_0925e6be","line":33,"range":{"start_line":33,"start_character":24,"end_line":33,"end_character":53},"updated":"2019-09-05 16:56:34.000000000","message":"As discussed, I\u0027m not sure the prefix makes so much sense for compute side services which shouldn\u0027t share hosts. It also means we need to worry about stopping and removing containers without a prefix during an upgrade.","commit_id":"4b424673817a6f51f9f9b44db6b3a58da90384ba"},{"author":{"_account_id":17669,"name":"Doug Szumski","email":"doug@stackhpc.com","username":"DougSzumski"},"change_message_id":"bc81c8fa30fcd9139360cfd82f8462b9fcd2c501","unresolved":false,"context_lines":[{"line_number":30,"context_line":"    dimensions: \"{{ nova_conductor_dimensions }}\""},{"line_number":31,"context_line":"  nova-compute:"},{"line_number":32,"context_line":"    instance_name: \"{{ nova_cell_namespace + \u0027nova-compute\u0027 }}\""},{"line_number":33,"context_line":"    container_name: \"{{ nova_cell_container_namespace + \u0027nova_compute\u0027 }}\""},{"line_number":34,"context_line":"    group: \"{{ nova_cell_compute_group }}\""},{"line_number":35,"context_line":"    image: \"{{ nova_compute_image_full }}\""},{"line_number":36,"context_line":"    environment:"}],"source_content_type":"text/x-yaml","patch_set":11,"id":"5faad753_5e956be3","line":33,"range":{"start_line":33,"start_character":24,"end_line":33,"end_character":53},"in_reply_to":"7faddb67_0925e6be","updated":"2019-09-16 13:52:46.000000000","message":"Done","commit_id":"4b424673817a6f51f9f9b44db6b3a58da90384ba"},{"author":{"_account_id":14826,"name":"Mark Goddard","email":"markgoddard86@gmail.com","username":"mgoddard"},"change_message_id":"257ac90958ddd057973ea300e225da888db0b868","unresolved":false,"context_lines":[{"line_number":96,"context_line":"nova_cell_database_admin_user: \"{{ database_user }}\""},{"line_number":97,"context_line":"nova_cell_database_admin_password: \"{{ database_password }}\""},{"line_number":98,"context_line":""},{"line_number":99,"context_line":"nova_cell_database_name: \"nova\""},{"line_number":100,"context_line":"nova_cell_database_user: \"{% if use_preconfigured_databases | bool and use_common_mariadb_user | bool %}{{ database_user }}{% else %}nova{% endif %}\""},{"line_number":101,"context_line":"nova_cell_database_password: \u0027{{ nova_database_password }}\u0027"},{"line_number":102,"context_line":"nova_cell_database_address: \"{{ database_address }}\""}],"source_content_type":"text/x-yaml","patch_set":11,"id":"7faddb67_09c08649","line":99,"range":{"start_line":99,"start_character":0,"end_line":99,"end_character":23},"updated":"2019-09-05 16:56:34.000000000","message":"Is there a sensible default we can apply here?\n\n{{ \u0027nova\u0027 ~ \u0027-\u0027 + nova_cell_name if nova_cell_name else \u0027\u0027 }}","commit_id":"4b424673817a6f51f9f9b44db6b3a58da90384ba"},{"author":{"_account_id":17669,"name":"Doug Szumski","email":"doug@stackhpc.com","username":"DougSzumski"},"change_message_id":"bc81c8fa30fcd9139360cfd82f8462b9fcd2c501","unresolved":false,"context_lines":[{"line_number":96,"context_line":"nova_cell_database_admin_user: \"{{ database_user }}\""},{"line_number":97,"context_line":"nova_cell_database_admin_password: \"{{ database_password }}\""},{"line_number":98,"context_line":""},{"line_number":99,"context_line":"nova_cell_database_name: \"nova\""},{"line_number":100,"context_line":"nova_cell_database_user: \"{% if use_preconfigured_databases | bool and use_common_mariadb_user | bool %}{{ database_user }}{% else %}nova{% endif %}\""},{"line_number":101,"context_line":"nova_cell_database_password: \u0027{{ nova_database_password }}\u0027"},{"line_number":102,"context_line":"nova_cell_database_address: \"{{ database_address }}\""}],"source_content_type":"text/x-yaml","patch_set":11,"id":"5faad753_84519b11","line":99,"range":{"start_line":99,"start_character":0,"end_line":99,"end_character":23},"in_reply_to":"7faddb67_09c08649","updated":"2019-09-16 13:52:46.000000000","message":"Done","commit_id":"4b424673817a6f51f9f9b44db6b3a58da90384ba"},{"author":{"_account_id":14826,"name":"Mark Goddard","email":"markgoddard86@gmail.com","username":"mgoddard"},"change_message_id":"257ac90958ddd057973ea300e225da888db0b868","unresolved":false,"context_lines":[{"line_number":241,"context_line":"nova_cell_rpc_transport: \"{{ om_rpc_transport }}\""},{"line_number":242,"context_line":"nova_cell_rpc_vhost: \"{{ om_rpc_vhost }}\""},{"line_number":243,"context_line":""},{"line_number":244,"context_line":"nova_cell_notify_user: \"{{ om_notify_user }}\""},{"line_number":245,"context_line":"nova_cell_notify_password: \"{{ om_notify_password }}\""},{"line_number":246,"context_line":"nova_cell_notify_port: \"{{ om_notify_port }}\""},{"line_number":247,"context_line":"nova_cell_notify_group_name: \"{{ om_notify_group }}\""},{"line_number":248,"context_line":"nova_cell_notify_transport: \"{{ om_notify_transport }}\""},{"line_number":249,"context_line":"nova_cell_notify_vhost: \"{{ om_notify_vhost }}\""},{"line_number":250,"context_line":""},{"line_number":251,"context_line":"# External Rabbit users should override these"},{"line_number":252,"context_line":"# TODO: This should use nova_cell_rpc_transport instead of rabbit but it doesn\u0027t work for some reason"}],"source_content_type":"text/x-yaml","patch_set":11,"id":"7faddb67_c98cae36","line":249,"range":{"start_line":244,"start_character":0,"end_line":249,"end_character":47},"updated":"2019-09-05 16:56:34.000000000","message":"Could default these to the nova_cell_rpc variables?","commit_id":"4b424673817a6f51f9f9b44db6b3a58da90384ba"},{"author":{"_account_id":17669,"name":"Doug Szumski","email":"doug@stackhpc.com","username":"DougSzumski"},"change_message_id":"bc81c8fa30fcd9139360cfd82f8462b9fcd2c501","unresolved":false,"context_lines":[{"line_number":241,"context_line":"nova_cell_rpc_transport: \"{{ om_rpc_transport }}\""},{"line_number":242,"context_line":"nova_cell_rpc_vhost: \"{{ om_rpc_vhost }}\""},{"line_number":243,"context_line":""},{"line_number":244,"context_line":"nova_cell_notify_user: \"{{ om_notify_user }}\""},{"line_number":245,"context_line":"nova_cell_notify_password: \"{{ om_notify_password }}\""},{"line_number":246,"context_line":"nova_cell_notify_port: \"{{ om_notify_port }}\""},{"line_number":247,"context_line":"nova_cell_notify_group_name: \"{{ om_notify_group }}\""},{"line_number":248,"context_line":"nova_cell_notify_transport: \"{{ om_notify_transport }}\""},{"line_number":249,"context_line":"nova_cell_notify_vhost: \"{{ om_notify_vhost }}\""},{"line_number":250,"context_line":""},{"line_number":251,"context_line":"# External Rabbit users should override these"},{"line_number":252,"context_line":"# TODO: This should use nova_cell_rpc_transport instead of rabbit but it doesn\u0027t work for some reason"}],"source_content_type":"text/x-yaml","patch_set":11,"id":"5faad753_24cb07a6","line":249,"range":{"start_line":244,"start_character":0,"end_line":249,"end_character":47},"in_reply_to":"7faddb67_c98cae36","updated":"2019-09-16 13:52:46.000000000","message":"Hmm, yes, better to default to within the cell than risk overloading the top level RabbitMQ which this defaults to at the moment.","commit_id":"4b424673817a6f51f9f9b44db6b3a58da90384ba"},{"author":{"_account_id":30491,"name":"Radosław Piliszek","display_name":"Radek","email":"radek@piliszek.it","username":"yoctozepto","status":"self-employed techologist, collaborating mostly with 7bulls.com"},"change_message_id":"4cc3c6d48d44ebc9f0f8aca62e4915de3eab97c9","unresolved":false,"context_lines":[{"line_number":61,"context_line":"    container_name: \"nova_compute_ironic\""},{"line_number":62,"context_line":"    group: \"{{ nova_cell_compute_ironic_group }}\""},{"line_number":63,"context_line":"    image: \"{{ nova_compute_ironic_image_full }}\""},{"line_number":64,"context_line":"    enabled: \"{{ enable_ironic | bool and nova_cell_name \u003d\u003d nova_cell_ironic_cell_name }}\""},{"line_number":65,"context_line":"    volumes: \"{{ nova_compute_ironic_default_volumes + nova_compute_ironic_extra_volumes }}\""},{"line_number":66,"context_line":"    dimensions: \"{{ nova_compute_ironic_dimensions }}\""},{"line_number":67,"context_line":""}],"source_content_type":"text/x-yaml","patch_set":30,"id":"3fa7e38b_9db3650a","line":64,"range":{"start_line":64,"start_character":42,"end_line":64,"end_character":86},"updated":"2019-10-15 07:58:47.000000000","message":"what happens when they are different?","commit_id":"f011c5e325ed4acd1f136a140484eb6b9464af82"},{"author":{"_account_id":30491,"name":"Radosław Piliszek","display_name":"Radek","email":"radek@piliszek.it","username":"yoctozepto","status":"self-employed techologist, collaborating mostly with 7bulls.com"},"change_message_id":"f39c5a18184e6a60a59b992b86aa6396a305d7ac","unresolved":false,"context_lines":[{"line_number":61,"context_line":"    container_name: \"nova_compute_ironic\""},{"line_number":62,"context_line":"    group: \"{{ nova_cell_compute_ironic_group }}\""},{"line_number":63,"context_line":"    image: \"{{ nova_compute_ironic_image_full }}\""},{"line_number":64,"context_line":"    enabled: \"{{ enable_ironic | bool and nova_cell_name \u003d\u003d nova_cell_ironic_cell_name }}\""},{"line_number":65,"context_line":"    volumes: \"{{ nova_compute_ironic_default_volumes + nova_compute_ironic_extra_volumes }}\""},{"line_number":66,"context_line":"    dimensions: \"{{ nova_compute_ironic_dimensions }}\""},{"line_number":67,"context_line":""}],"source_content_type":"text/x-yaml","patch_set":30,"id":"3fa7e38b_232ec88b","line":64,"range":{"start_line":64,"start_character":42,"end_line":64,"end_character":86},"in_reply_to":"3fa7e38b_0ef2da70","updated":"2019-10-15 19:08:05.000000000","message":"Roger that.","commit_id":"f011c5e325ed4acd1f136a140484eb6b9464af82"},{"author":{"_account_id":30491,"name":"Radosław Piliszek","display_name":"Radek","email":"radek@piliszek.it","username":"yoctozepto","status":"self-employed techologist, collaborating mostly with 7bulls.com"},"change_message_id":"516af5d6c0755b8bc736e18fb71bb8582bf33304","unresolved":false,"context_lines":[{"line_number":61,"context_line":"    container_name: \"nova_compute_ironic\""},{"line_number":62,"context_line":"    group: \"{{ nova_cell_compute_ironic_group }}\""},{"line_number":63,"context_line":"    image: \"{{ nova_compute_ironic_image_full }}\""},{"line_number":64,"context_line":"    enabled: \"{{ enable_ironic | bool and nova_cell_name \u003d\u003d nova_cell_ironic_cell_name }}\""},{"line_number":65,"context_line":"    volumes: \"{{ nova_compute_ironic_default_volumes + nova_compute_ironic_extra_volumes }}\""},{"line_number":66,"context_line":"    dimensions: \"{{ nova_compute_ironic_dimensions }}\""},{"line_number":67,"context_line":""}],"source_content_type":"text/x-yaml","patch_set":30,"id":"3fa7e38b_cb43546b","line":64,"range":{"start_line":64,"start_character":42,"end_line":64,"end_character":86},"in_reply_to":"3fa7e38b_2357b228","updated":"2019-10-15 13:51:27.000000000","message":"Mark?","commit_id":"f011c5e325ed4acd1f136a140484eb6b9464af82"},{"author":{"_account_id":17669,"name":"Doug Szumski","email":"doug@stackhpc.com","username":"DougSzumski"},"change_message_id":"4d7fcfa844ef1b26b0bb9e2b48c461dcd2e01274","unresolved":false,"context_lines":[{"line_number":61,"context_line":"    container_name: \"nova_compute_ironic\""},{"line_number":62,"context_line":"    group: \"{{ nova_cell_compute_ironic_group }}\""},{"line_number":63,"context_line":"    image: \"{{ nova_compute_ironic_image_full }}\""},{"line_number":64,"context_line":"    enabled: \"{{ enable_ironic | bool and nova_cell_name \u003d\u003d nova_cell_ironic_cell_name }}\""},{"line_number":65,"context_line":"    volumes: \"{{ nova_compute_ironic_default_volumes + nova_compute_ironic_extra_volumes }}\""},{"line_number":66,"context_line":"    dimensions: \"{{ nova_compute_ironic_dimensions }}\""},{"line_number":67,"context_line":""}],"source_content_type":"text/x-yaml","patch_set":30,"id":"3fa7e38b_2357b228","line":64,"range":{"start_line":64,"start_character":42,"end_line":64,"end_character":86},"in_reply_to":"3fa7e38b_9db3650a","updated":"2019-10-15 10:38:36.000000000","message":"I think the idea is that there is only one cell for Ironic (CERN style as I understand).","commit_id":"f011c5e325ed4acd1f136a140484eb6b9464af82"},{"author":{"_account_id":14826,"name":"Mark Goddard","email":"markgoddard86@gmail.com","username":"mgoddard"},"change_message_id":"8443ea9811464bb5c5b915e11b18a581dcec1dcb","unresolved":false,"context_lines":[{"line_number":61,"context_line":"    container_name: \"nova_compute_ironic\""},{"line_number":62,"context_line":"    group: \"{{ nova_cell_compute_ironic_group }}\""},{"line_number":63,"context_line":"    image: \"{{ nova_compute_ironic_image_full }}\""},{"line_number":64,"context_line":"    enabled: \"{{ enable_ironic | bool and nova_cell_name \u003d\u003d nova_cell_ironic_cell_name }}\""},{"line_number":65,"context_line":"    volumes: \"{{ nova_compute_ironic_default_volumes + nova_compute_ironic_extra_volumes }}\""},{"line_number":66,"context_line":"    dimensions: \"{{ nova_compute_ironic_dimensions }}\""},{"line_number":67,"context_line":""}],"source_content_type":"text/x-yaml","patch_set":30,"id":"3fa7e38b_0ef2da70","line":64,"range":{"start_line":64,"start_character":42,"end_line":64,"end_character":86},"in_reply_to":"3fa7e38b_cb43546b","updated":"2019-10-15 14:53:16.000000000","message":"Doug\u0027s right. All ironic instances live in one cell. I don\u0027t think we have the necessary sharding capabilities in ironic to do otherwise.","commit_id":"f011c5e325ed4acd1f136a140484eb6b9464af82"},{"author":{"_account_id":30491,"name":"Radosław Piliszek","display_name":"Radek","email":"radek@piliszek.it","username":"yoctozepto","status":"self-employed techologist, collaborating mostly with 7bulls.com"},"change_message_id":"4cc3c6d48d44ebc9f0f8aca62e4915de3eab97c9","unresolved":false,"context_lines":[{"line_number":105,"context_line":"# Name of the cell in which nova-compute-ironic will be deployed. For backwards"},{"line_number":106,"context_line":"# compatibility this defaults to an empty name, since the cell created by"},{"line_number":107,"context_line":"# kolla-ansible prior to the Train release had no name."},{"line_number":108,"context_line":"nova_cell_ironic_cell_name: \u0027\u0027"},{"line_number":109,"context_line":""},{"line_number":110,"context_line":"# Name of the Ansible group containing compute hosts. For backwards"},{"line_number":111,"context_line":"# compatibility this is \u0027compute\u0027. For a multi-cell deployment, this should be"}],"source_content_type":"text/x-yaml","patch_set":30,"id":"3fa7e38b_3dc27154","line":108,"updated":"2019-10-15 07:58:47.000000000","message":"and should not this default to nova_cell_name?","commit_id":"f011c5e325ed4acd1f136a140484eb6b9464af82"},{"author":{"_account_id":17669,"name":"Doug Szumski","email":"doug@stackhpc.com","username":"DougSzumski"},"change_message_id":"4d7fcfa844ef1b26b0bb9e2b48c461dcd2e01274","unresolved":false,"context_lines":[{"line_number":105,"context_line":"# Name of the cell in which nova-compute-ironic will be deployed. For backwards"},{"line_number":106,"context_line":"# compatibility this defaults to an empty name, since the cell created by"},{"line_number":107,"context_line":"# kolla-ansible prior to the Train release had no name."},{"line_number":108,"context_line":"nova_cell_ironic_cell_name: \u0027\u0027"},{"line_number":109,"context_line":""},{"line_number":110,"context_line":"# Name of the Ansible group containing compute hosts. For backwards"},{"line_number":111,"context_line":"# compatibility this is \u0027compute\u0027. For a multi-cell deployment, this should be"}],"source_content_type":"text/x-yaml","patch_set":30,"id":"3fa7e38b_43274ec8","line":108,"in_reply_to":"3fa7e38b_3dc27154","updated":"2019-10-15 10:38:36.000000000","message":"It\u0027s probably safer not because you\u0027d then need to explicitly set this when setting nova_cell_name via group_vars etc.","commit_id":"f011c5e325ed4acd1f136a140484eb6b9464af82"},{"author":{"_account_id":30491,"name":"Radosław Piliszek","display_name":"Radek","email":"radek@piliszek.it","username":"yoctozepto","status":"self-employed techologist, collaborating mostly with 7bulls.com"},"change_message_id":"516af5d6c0755b8bc736e18fb71bb8582bf33304","unresolved":false,"context_lines":[{"line_number":105,"context_line":"# Name of the cell in which nova-compute-ironic will be deployed. For backwards"},{"line_number":106,"context_line":"# compatibility this defaults to an empty name, since the cell created by"},{"line_number":107,"context_line":"# kolla-ansible prior to the Train release had no name."},{"line_number":108,"context_line":"nova_cell_ironic_cell_name: \u0027\u0027"},{"line_number":109,"context_line":""},{"line_number":110,"context_line":"# Name of the Ansible group containing compute hosts. For backwards"},{"line_number":111,"context_line":"# compatibility this is \u0027compute\u0027. For a multi-cell deployment, this should be"}],"source_content_type":"text/x-yaml","patch_set":30,"id":"3fa7e38b_8b61dc07","line":108,"in_reply_to":"3fa7e38b_43274ec8","updated":"2019-10-15 13:51:27.000000000","message":"Yup, especially for this CERN style.","commit_id":"f011c5e325ed4acd1f136a140484eb6b9464af82"},{"author":{"_account_id":30491,"name":"Radosław Piliszek","display_name":"Radek","email":"radek@piliszek.it","username":"yoctozepto","status":"self-employed techologist, collaborating mostly with 7bulls.com"},"change_message_id":"4cc3c6d48d44ebc9f0f8aca62e4915de3eab97c9","unresolved":false,"context_lines":[{"line_number":147,"context_line":"# hosts in this cell.  Note that all nova-serialproxy hosts should also be in"},{"line_number":148,"context_line":"# the \u0027nova-serialproxy\u0027 group."},{"line_number":149,"context_line":"nova_cell_serialproxy_group: \u0027nova-serialproxy\u0027"},{"line_number":150,"context_line":""},{"line_number":151,"context_line":"####################"},{"line_number":152,"context_line":"# Database"},{"line_number":153,"context_line":"####################"}],"source_content_type":"text/x-yaml","patch_set":30,"id":"3fa7e38b_bdabc185","line":150,"updated":"2019-10-15 07:58:47.000000000","message":"^ for all those, maybe suggest the default naming pattern with cell name in front?","commit_id":"f011c5e325ed4acd1f136a140484eb6b9464af82"},{"author":{"_account_id":30491,"name":"Radosław Piliszek","display_name":"Radek","email":"radek@piliszek.it","username":"yoctozepto","status":"self-employed techologist, collaborating mostly with 7bulls.com"},"change_message_id":"516af5d6c0755b8bc736e18fb71bb8582bf33304","unresolved":false,"context_lines":[{"line_number":147,"context_line":"# hosts in this cell.  Note that all nova-serialproxy hosts should also be in"},{"line_number":148,"context_line":"# the \u0027nova-serialproxy\u0027 group."},{"line_number":149,"context_line":"nova_cell_serialproxy_group: \u0027nova-serialproxy\u0027"},{"line_number":150,"context_line":""},{"line_number":151,"context_line":"####################"},{"line_number":152,"context_line":"# Database"},{"line_number":153,"context_line":"####################"}],"source_content_type":"text/x-yaml","patch_set":30,"id":"3fa7e38b_0b4e4c96","line":150,"in_reply_to":"3fa7e38b_2b2d4894","updated":"2019-10-15 13:51:27.000000000","message":"I don\u0027t see it fair-sized but I\u0027m ok with a follow-up (but before Train rel)","commit_id":"f011c5e325ed4acd1f136a140484eb6b9464af82"},{"author":{"_account_id":14826,"name":"Mark Goddard","email":"markgoddard86@gmail.com","username":"mgoddard"},"change_message_id":"d4a9ffccee0459907ca874ab51a1b62e7aa90360","unresolved":false,"context_lines":[{"line_number":147,"context_line":"# hosts in this cell.  Note that all nova-serialproxy hosts should also be in"},{"line_number":148,"context_line":"# the \u0027nova-serialproxy\u0027 group."},{"line_number":149,"context_line":"nova_cell_serialproxy_group: \u0027nova-serialproxy\u0027"},{"line_number":150,"context_line":""},{"line_number":151,"context_line":"####################"},{"line_number":152,"context_line":"# Database"},{"line_number":153,"context_line":"####################"}],"source_content_type":"text/x-yaml","patch_set":30,"id":"3fa7e38b_2b2d4894","line":150,"in_reply_to":"3fa7e38b_bdabc185","updated":"2019-10-15 13:10:35.000000000","message":"Yeah considered this. Would make config easier and more standardised. It would be a fair sized change though so I would prefer to follow up with it.","commit_id":"f011c5e325ed4acd1f136a140484eb6b9464af82"}],"ansible/roles/nova-cell/filter_plugins/filters.py":[{"author":{"_account_id":30491,"name":"Radosław Piliszek","display_name":"Radek","email":"radek@piliszek.it","username":"yoctozepto","status":"self-employed techologist, collaborating mostly with 7bulls.com"},"change_message_id":"4cc3c6d48d44ebc9f0f8aca62e4915de3eab97c9","unresolved":false,"context_lines":[{"line_number":1,"context_line":"#!/usr/bin/python"},{"line_number":2,"context_line":""},{"line_number":3,"context_line":"# Licensed under the Apache License, Version 2.0 (the \"License\");"},{"line_number":4,"context_line":"# you may not use this file except in compliance with the License."}],"source_content_type":"text/x-python","patch_set":30,"id":"3fa7e38b_9dafe57b","line":1,"updated":"2019-10-15 07:58:47.000000000","message":"follow-up with some unit tests?","commit_id":"f011c5e325ed4acd1f136a140484eb6b9464af82"},{"author":{"_account_id":14826,"name":"Mark Goddard","email":"markgoddard86@gmail.com","username":"mgoddard"},"change_message_id":"d4a9ffccee0459907ca874ab51a1b62e7aa90360","unresolved":false,"context_lines":[{"line_number":1,"context_line":"#!/usr/bin/python"},{"line_number":2,"context_line":""},{"line_number":3,"context_line":"# Licensed under the Apache License, Version 2.0 (the \"License\");"},{"line_number":4,"context_line":"# you may not use this file except in compliance with the License."}],"source_content_type":"text/x-python","patch_set":30,"id":"3fa7e38b_cb54b400","line":1,"in_reply_to":"3fa7e38b_9dafe57b","updated":"2019-10-15 13:10:35.000000000","message":"yessir","commit_id":"f011c5e325ed4acd1f136a140484eb6b9464af82"},{"author":{"_account_id":30491,"name":"Radosław Piliszek","display_name":"Radek","email":"radek@piliszek.it","username":"yoctozepto","status":"self-employed techologist, collaborating mostly with 7bulls.com"},"change_message_id":"516af5d6c0755b8bc736e18fb71bb8582bf33304","unresolved":false,"context_lines":[{"line_number":1,"context_line":"#!/usr/bin/python"},{"line_number":2,"context_line":""},{"line_number":3,"context_line":"# Licensed under the Apache License, Version 2.0 (the \"License\");"},{"line_number":4,"context_line":"# you may not use this file except in compliance with the License."}],"source_content_type":"text/x-python","patch_set":30,"id":"3fa7e38b_6b526037","line":1,"in_reply_to":"3fa7e38b_cb54b400","updated":"2019-10-15 13:51:27.000000000","message":":-)","commit_id":"f011c5e325ed4acd1f136a140484eb6b9464af82"}],"ansible/roles/nova-cell/handlers/main.yml":[{"author":{"_account_id":14826,"name":"Mark Goddard","email":"markgoddard86@gmail.com","username":"mgoddard"},"change_message_id":"cfef7949be1108e2d40c116ac36820aba8e7b179","unresolved":false,"context_lines":[{"line_number":117,"context_line":"# This seems to take around 10 seconds, but the default is 30 to allow room"},{"line_number":118,"context_line":"# for slowness."},{"line_number":119,"context_line":""},{"line_number":120,"context_line":"- name: Wait for nova-compute services to update service versions"},{"line_number":121,"context_line":"  pause:"},{"line_number":122,"context_line":"    seconds: \"{{ nova_compute_startup_delay }}\""},{"line_number":123,"context_line":"  run_once: true"},{"line_number":124,"context_line":"  when:"},{"line_number":125,"context_line":"    - kolla_action \u003d\u003d \u0027upgrade\u0027"},{"line_number":126,"context_line":"  listen:"},{"line_number":127,"context_line":"    - Restart nova-compute container"},{"line_number":128,"context_line":"    - Restart nova-compute-ironic container"},{"line_number":129,"context_line":"    - Restart nova-compute-fake containers"},{"line_number":130,"context_line":""},{"line_number":131,"context_line":"# NOTE(mgoddard): Currently (just prior to Stein release), sending SIGHUP to"},{"line_number":132,"context_line":"# nova compute services leaves them in a broken state in which they cannot"},{"line_number":133,"context_line":"# start new instances. The following error is seen in the logs:"},{"line_number":134,"context_line":"# \"In shutdown, no new events can be scheduled\""},{"line_number":135,"context_line":"# To work around this we restart the nova-compute services."},{"line_number":136,"context_line":"# Speaking to the nova team, this seems to be an issue in oslo.service,"},{"line_number":137,"context_line":"# with a fix proposed here: https://review.openstack.org/#/c/641907."},{"line_number":138,"context_line":"# This issue also seems to affect the proxy services, which exit non-zero in"},{"line_number":139,"context_line":"# reponse to a SIGHUP, so restart those too."},{"line_number":140,"context_line":"# The issue actually affects all nova services, since they remain with RPC"},{"line_number":141,"context_line":"# version pinned to the previous release:"},{"line_number":142,"context_line":"# https://bugs.launchpad.net/kolla-ansible/+bug/1833069."},{"line_number":143,"context_line":"# TODO(mgoddard): Use SIGHUP when this bug has been fixed."},{"line_number":144,"context_line":""},{"line_number":145,"context_line":"- name: Restart nova services to remove RPC version cap"},{"line_number":146,"context_line":"  become: true"},{"line_number":147,"context_line":"  kolla_docker:"},{"line_number":148,"context_line":"    action: restart_container"},{"line_number":149,"context_line":"    common_options: \"{{ docker_common_options }}\""},{"line_number":150,"context_line":"    name: \"{{ item.value.container_name }}\""},{"line_number":151,"context_line":"  when:"},{"line_number":152,"context_line":"    - kolla_action \u003d\u003d \u0027upgrade\u0027"},{"line_number":153,"context_line":"    - inventory_hostname in groups[item.value.group]"},{"line_number":154,"context_line":"    - item.value.enabled | bool"},{"line_number":155,"context_line":"    - item.key in nova_services_require_nova_conf"},{"line_number":156,"context_line":"    - item.key !\u003d \u0027placement-api\u0027"},{"line_number":157,"context_line":"  with_dict: \"{{ nova_cell_services }}\""},{"line_number":158,"context_line":"  listen:"},{"line_number":159,"context_line":"    - Restart nova-compute container"},{"line_number":160,"context_line":"    - Restart nova-compute-ironic container"},{"line_number":161,"context_line":"    - Restart nova-compute-fake containers"}],"source_content_type":"text/x-yaml","patch_set":8,"id":"7faddb67_af15993f","line":161,"range":{"start_line":120,"start_character":0,"end_line":161,"end_character":42},"updated":"2019-08-22 14:14:33.000000000","message":"This will need some consideration. We need to restart all services that may communicate with nova-compute, after all computes have restarted. I don\u0027t know if this is limited to a cell, but if it was we could do this to restart cell conductor \u0026 compute, then we\u0027d need to jump back into the nova role to restart the api and super conductor. I think w need to think about the flow of an upgrade generally.","commit_id":"1e948a763cfd5bfc9f1313de639d4ae203ba8014"},{"author":{"_account_id":14826,"name":"Mark Goddard","email":"markgoddard86@gmail.com","username":"mgoddard"},"change_message_id":"257ac90958ddd057973ea300e225da888db0b868","unresolved":false,"context_lines":[{"line_number":153,"context_line":"    - inventory_hostname in groups[item.value.group]"},{"line_number":154,"context_line":"    - item.value.enabled | bool"},{"line_number":155,"context_line":"    - item.key in nova_cell_services_require_nova_conf"},{"line_number":156,"context_line":"    - item.key !\u003d \u0027placement-api\u0027"},{"line_number":157,"context_line":"  with_dict: \"{{ nova_cell_services }}\""},{"line_number":158,"context_line":"  listen:"},{"line_number":159,"context_line":"    - Restart nova-compute container"}],"source_content_type":"text/x-yaml","patch_set":11,"id":"7faddb67_c9910e48","line":156,"range":{"start_line":156,"start_character":6,"end_line":156,"end_character":33},"updated":"2019-09-05 16:56:34.000000000","message":"not required","commit_id":"4b424673817a6f51f9f9b44db6b3a58da90384ba"},{"author":{"_account_id":17669,"name":"Doug Szumski","email":"doug@stackhpc.com","username":"DougSzumski"},"change_message_id":"bc81c8fa30fcd9139360cfd82f8462b9fcd2c501","unresolved":false,"context_lines":[{"line_number":153,"context_line":"    - inventory_hostname in groups[item.value.group]"},{"line_number":154,"context_line":"    - item.value.enabled | bool"},{"line_number":155,"context_line":"    - item.key in nova_cell_services_require_nova_conf"},{"line_number":156,"context_line":"    - item.key !\u003d \u0027placement-api\u0027"},{"line_number":157,"context_line":"  with_dict: \"{{ nova_cell_services }}\""},{"line_number":158,"context_line":"  listen:"},{"line_number":159,"context_line":"    - Restart nova-compute container"}],"source_content_type":"text/x-yaml","patch_set":11,"id":"5faad753_3e5d0fe9","line":156,"range":{"start_line":156,"start_character":6,"end_line":156,"end_character":33},"in_reply_to":"7faddb67_c9910e48","updated":"2019-09-16 13:52:46.000000000","message":"Done","commit_id":"4b424673817a6f51f9f9b44db6b3a58da90384ba"}],"ansible/roles/nova-cell/tasks/bootstrap.yml":[{"author":{"_account_id":14826,"name":"Mark Goddard","email":"markgoddard86@gmail.com","username":"mgoddard"},"change_message_id":"cfef7949be1108e2d40c116ac36820aba8e7b179","unresolved":false,"context_lines":[{"line_number":12,"context_line":"  run_once: True"},{"line_number":13,"context_line":"  delegate_to: \"{{ groups[role_nova_cell_conductor_group][0] }}\""},{"line_number":14,"context_line":"  with_items:"},{"line_number":15,"context_line":"    - \"{{ role_nova_cell_database_name }}\"  # TODO get rid of this if we only need one"},{"line_number":16,"context_line":"  when:"},{"line_number":17,"context_line":"    - not use_preconfigured_databases | bool"},{"line_number":18,"context_line":""}],"source_content_type":"text/x-yaml","patch_set":8,"id":"7faddb67_95e0ee99","line":15,"updated":"2019-08-22 14:14:33.000000000","message":"Does the DB need to exist before the cell is created in nova?","commit_id":"1e948a763cfd5bfc9f1313de639d4ae203ba8014"},{"author":{"_account_id":17669,"name":"Doug Szumski","email":"doug@stackhpc.com","username":"DougSzumski"},"change_message_id":"0877ca949cca898de63441919f0ed48a3fc6489f","unresolved":false,"context_lines":[{"line_number":12,"context_line":"  run_once: True"},{"line_number":13,"context_line":"  delegate_to: \"{{ groups[role_nova_cell_conductor_group][0] }}\""},{"line_number":14,"context_line":"  with_items:"},{"line_number":15,"context_line":"    - \"{{ role_nova_cell_database_name }}\"  # TODO get rid of this if we only need one"},{"line_number":16,"context_line":"  when:"},{"line_number":17,"context_line":"    - not use_preconfigured_databases | bool"},{"line_number":18,"context_line":""}],"source_content_type":"text/x-yaml","patch_set":8,"id":"7faddb67_ad5fde0d","line":15,"in_reply_to":"7faddb67_95e0ee99","updated":"2019-08-28 16:58:39.000000000","message":"Yes, the API DB does need to exist. I\u0027ve moved the nova-cells role to after the nova role.","commit_id":"1e948a763cfd5bfc9f1313de639d4ae203ba8014"}],"ansible/roles/nova-cell/tasks/bootstrap_service.yml":[{"author":{"_account_id":30491,"name":"Radosław Piliszek","display_name":"Radek","email":"radek@piliszek.it","username":"yoctozepto","status":"self-employed techologist, collaborating mostly with 7bulls.com"},"change_message_id":"1117918462be2b089775a6d23d3d749524fa0755","unresolved":false,"context_lines":[{"line_number":17,"context_line":"    restart_policy: no"},{"line_number":18,"context_line":"    volumes: \"{{ nova_cell_bootstrap_default_volumes + nova_cell_bootstrap_extra_volumes }}\""},{"line_number":19,"context_line":"  register: bootstrap_result"},{"line_number":20,"context_line":"  changed_when: bootstrap_result.stdout | default(\"\") | length \u003e 0"},{"line_number":21,"context_line":"  when: inventory_hostname \u003d\u003d groups[nova_cell_conductor_group][0]"}],"source_content_type":"text/x-yaml","patch_set":32,"id":"3fa7e38b_bdcbac1b","line":20,"updated":"2019-10-16 09:58:35.000000000","message":"is it possible to have null stdout?","commit_id":"acf9361efafdeb24bea1ed539368d329a73d6f75"},{"author":{"_account_id":14826,"name":"Mark Goddard","email":"markgoddard86@gmail.com","username":"mgoddard"},"change_message_id":"3342530658d83d58e21c81be299fc4e589fe668a","unresolved":false,"context_lines":[{"line_number":17,"context_line":"    restart_policy: no"},{"line_number":18,"context_line":"    volumes: \"{{ nova_cell_bootstrap_default_volumes + nova_cell_bootstrap_extra_volumes }}\""},{"line_number":19,"context_line":"  register: bootstrap_result"},{"line_number":20,"context_line":"  changed_when: bootstrap_result.stdout | default(\"\") | length \u003e 0"},{"line_number":21,"context_line":"  when: inventory_hostname \u003d\u003d groups[nova_cell_conductor_group][0]"}],"source_content_type":"text/x-yaml","patch_set":32,"id":"3fa7e38b_fd512431","line":20,"in_reply_to":"3fa7e38b_bdcbac1b","updated":"2019-10-16 10:12:45.000000000","message":"If pulling the image fails, seen yesterday with dockerhub issues.","commit_id":"acf9361efafdeb24bea1ed539368d329a73d6f75"},{"author":{"_account_id":14826,"name":"Mark Goddard","email":"markgoddard86@gmail.com","username":"mgoddard"},"change_message_id":"ec806b6ec2f8db824a58d2081f39c369b48c7e79","unresolved":false,"context_lines":[{"line_number":17,"context_line":"    restart_policy: no"},{"line_number":18,"context_line":"    volumes: \"{{ nova_cell_bootstrap_default_volumes + nova_cell_bootstrap_extra_volumes }}\""},{"line_number":19,"context_line":"  register: bootstrap_result"},{"line_number":20,"context_line":"  changed_when: bootstrap_result.stdout | default(\"\") | length \u003e 0"},{"line_number":21,"context_line":"  when: inventory_hostname \u003d\u003d groups[nova_cell_conductor_group][0]"}],"source_content_type":"text/x-yaml","patch_set":32,"id":"3fa7e38b_f174eb37","line":20,"in_reply_to":"3fa7e38b_dd04681a","updated":"2019-10-16 13:41:34.000000000","message":"I don\u0027t think it\u0027s broken - there was no stdout because the container did not run.","commit_id":"acf9361efafdeb24bea1ed539368d329a73d6f75"},{"author":{"_account_id":30491,"name":"Radosław Piliszek","display_name":"Radek","email":"radek@piliszek.it","username":"yoctozepto","status":"self-employed techologist, collaborating mostly with 7bulls.com"},"change_message_id":"eb519e6163b963760bddc50e3754538787e2d36c","unresolved":false,"context_lines":[{"line_number":17,"context_line":"    restart_policy: no"},{"line_number":18,"context_line":"    volumes: \"{{ nova_cell_bootstrap_default_volumes + nova_cell_bootstrap_extra_volumes }}\""},{"line_number":19,"context_line":"  register: bootstrap_result"},{"line_number":20,"context_line":"  changed_when: bootstrap_result.stdout | default(\"\") | length \u003e 0"},{"line_number":21,"context_line":"  when: inventory_hostname \u003d\u003d groups[nova_cell_conductor_group][0]"}],"source_content_type":"text/x-yaml","patch_set":32,"id":"3fa7e38b_312603d0","line":20,"in_reply_to":"3fa7e38b_f174eb37","updated":"2019-10-16 14:14:46.000000000","message":"Well, normal commands have \"\" stdout when they fail to run. :-) It is fine either way though. Not that important now.","commit_id":"acf9361efafdeb24bea1ed539368d329a73d6f75"},{"author":{"_account_id":30491,"name":"Radosław Piliszek","display_name":"Radek","email":"radek@piliszek.it","username":"yoctozepto","status":"self-employed techologist, collaborating mostly with 7bulls.com"},"change_message_id":"0b2f0f2c4b9abb1853016cc6ee49a708e1e143d0","unresolved":false,"context_lines":[{"line_number":17,"context_line":"    restart_policy: no"},{"line_number":18,"context_line":"    volumes: \"{{ nova_cell_bootstrap_default_volumes + nova_cell_bootstrap_extra_volumes }}\""},{"line_number":19,"context_line":"  register: bootstrap_result"},{"line_number":20,"context_line":"  changed_when: bootstrap_result.stdout | default(\"\") | length \u003e 0"},{"line_number":21,"context_line":"  when: inventory_hostname \u003d\u003d groups[nova_cell_conductor_group][0]"}],"source_content_type":"text/x-yaml","patch_set":32,"id":"3fa7e38b_dd04681a","line":20,"in_reply_to":"3fa7e38b_fd512431","updated":"2019-10-16 10:17:48.000000000","message":"Then module is to be fixed. This is weird and probably pops in some other places as well.","commit_id":"acf9361efafdeb24bea1ed539368d329a73d6f75"}],"ansible/roles/nova-cell/tasks/ceph.yml":[{"author":{"_account_id":14826,"name":"Mark Goddard","email":"markgoddard86@gmail.com","username":"mgoddard"},"change_message_id":"cfef7949be1108e2d40c116ac36820aba8e7b179","unresolved":false,"context_lines":[{"line_number":1,"context_line":"---"},{"line_number":2,"context_line":"- name: Ensuring config directory exists"},{"line_number":3,"context_line":"  file:"},{"line_number":4,"context_line":"    path: \"{{ node_config_directory }}/{{ item }}\""},{"line_number":5,"context_line":"    state: \"directory\""},{"line_number":6,"context_line":"    mode: \"0770\""},{"line_number":7,"context_line":"  become: true"}],"source_content_type":"text/x-yaml","patch_set":8,"id":"7faddb67_754d3298","line":4,"updated":"2019-08-22 14:14:33.000000000","message":"conf prefix, here and the rest of the file?","commit_id":"1e948a763cfd5bfc9f1313de639d4ae203ba8014"},{"author":{"_account_id":14826,"name":"Mark Goddard","email":"markgoddard86@gmail.com","username":"mgoddard"},"change_message_id":"257ac90958ddd057973ea300e225da888db0b868","unresolved":false,"context_lines":[{"line_number":16,"context_line":"    sources:"},{"line_number":17,"context_line":"      - \"{{ role_path }}/../ceph/templates/ceph.conf.j2\""},{"line_number":18,"context_line":"      - \"{{ node_custom_config }}/ceph.conf\""},{"line_number":19,"context_line":"      - \"{{ node_custom_config }}/ceph/{{ nova_cell_namespace }}{{ inventory_hostname }}/ceph.conf\""},{"line_number":20,"context_line":"    dest: \"{{ node_config_directory }}/{{ nova_cell_namespace + item }}/ceph.conf\""},{"line_number":21,"context_line":"    mode: \"0660\""},{"line_number":22,"context_line":"  become: true"}],"source_content_type":"text/x-yaml","patch_set":11,"id":"7faddb67_89cf9626","line":19,"range":{"start_line":19,"start_character":39,"end_line":19,"end_character":64},"updated":"2019-09-05 16:56:34.000000000","message":"I think it this prefix could be a bit counter-intuitive. Can always reference the cell in the config template if necessary.","commit_id":"4b424673817a6f51f9f9b44db6b3a58da90384ba"},{"author":{"_account_id":17669,"name":"Doug Szumski","email":"doug@stackhpc.com","username":"DougSzumski"},"change_message_id":"bc81c8fa30fcd9139360cfd82f8462b9fcd2c501","unresolved":false,"context_lines":[{"line_number":16,"context_line":"    sources:"},{"line_number":17,"context_line":"      - \"{{ role_path }}/../ceph/templates/ceph.conf.j2\""},{"line_number":18,"context_line":"      - \"{{ node_custom_config }}/ceph.conf\""},{"line_number":19,"context_line":"      - \"{{ node_custom_config }}/ceph/{{ nova_cell_namespace }}{{ inventory_hostname }}/ceph.conf\""},{"line_number":20,"context_line":"    dest: \"{{ node_config_directory }}/{{ nova_cell_namespace + item }}/ceph.conf\""},{"line_number":21,"context_line":"    mode: \"0660\""},{"line_number":22,"context_line":"  become: true"}],"source_content_type":"text/x-yaml","patch_set":11,"id":"5faad753_073b6d38","line":19,"range":{"start_line":19,"start_character":39,"end_line":19,"end_character":64},"in_reply_to":"7faddb67_89cf9626","updated":"2019-09-16 13:52:46.000000000","message":"Done","commit_id":"4b424673817a6f51f9f9b44db6b3a58da90384ba"}],"ansible/roles/nova-cell/tasks/config-nova-fake.yml":[{"author":{"_account_id":14826,"name":"Mark Goddard","email":"markgoddard86@gmail.com","username":"mgoddard"},"change_message_id":"cfef7949be1108e2d40c116ac36820aba8e7b179","unresolved":false,"context_lines":[{"line_number":2,"context_line":"- name: Ensuring config directories exist"},{"line_number":3,"context_line":"  become: true"},{"line_number":4,"context_line":"  file:"},{"line_number":5,"context_line":"    path: \"{{ node_config_directory }}/nova-compute-fake-{{ item }}\""},{"line_number":6,"context_line":"    state: \"directory\""},{"line_number":7,"context_line":"    mode: \"0770\""},{"line_number":8,"context_line":"  with_sequence: start\u003d1 end\u003d{{ num_nova_fake_per_node }}"}],"source_content_type":"text/x-yaml","patch_set":8,"id":"7faddb67_75321212","line":5,"updated":"2019-08-22 14:14:33.000000000","message":"prefix","commit_id":"1e948a763cfd5bfc9f1313de639d4ae203ba8014"}],"ansible/roles/nova-cell/tasks/config.yml":[{"author":{"_account_id":14826,"name":"Mark Goddard","email":"markgoddard86@gmail.com","username":"mgoddard"},"change_message_id":"cfef7949be1108e2d40c116ac36820aba8e7b179","unresolved":false,"context_lines":[{"line_number":36,"context_line":"    - not enable_ceph | bool and (nova_backend \u003d\u003d \"rbd\" or cinder_backend_ceph | bool)"},{"line_number":37,"context_line":"    - inventory_hostname in groups[role_nova_cell_compute_group]"},{"line_number":38,"context_line":""},{"line_number":39,"context_line":"- name: Check if policies shall be overwritten"},{"line_number":40,"context_line":"  local_action: stat path\u003d\"{{ item }}\""},{"line_number":41,"context_line":"  run_once: True"},{"line_number":42,"context_line":"  register: nova_policy"},{"line_number":43,"context_line":"  with_first_found:"},{"line_number":44,"context_line":"    - files: \"{{ supported_policy_format_list }}\""},{"line_number":45,"context_line":"      paths:"},{"line_number":46,"context_line":"        - \"{{ node_custom_config }}/nova/\""},{"line_number":47,"context_line":"      skip: true"},{"line_number":48,"context_line":""},{"line_number":49,"context_line":"- name: Set nova policy file"},{"line_number":50,"context_line":"  set_fact:"},{"line_number":51,"context_line":"    nova_policy_file: \"{{ nova_policy.results.0.stat.path | basename }}\""},{"line_number":52,"context_line":"    nova_policy_file_path: \"{{ nova_policy.results.0.stat.path }}\""},{"line_number":53,"context_line":"  when:"},{"line_number":54,"context_line":"    - nova_policy.results"},{"line_number":55,"context_line":""},{"line_number":56,"context_line":"- name: Copying over config.json files for services"},{"line_number":57,"context_line":"  become: true"},{"line_number":58,"context_line":"  template:"},{"line_number":59,"context_line":"    src: \"{{ item.key }}.json.j2\""},{"line_number":60,"context_line":"    dest: \"{{ node_config_directory }}/{{ nova_cell_conf_dir_prefix }}{{ item.key }}/config.json\""},{"line_number":61,"context_line":"    mode: \"0660\""},{"line_number":62,"context_line":"  when:"},{"line_number":63,"context_line":"    - inventory_hostname in groups[item.value.group]"},{"line_number":64,"context_line":"    - item.value.enabled | bool"},{"line_number":65,"context_line":"  with_dict: \"{{ nova_cell_services }}\""},{"line_number":66,"context_line":"  notify:"},{"line_number":67,"context_line":"    - \"Restart {{ item.key }} container\""},{"line_number":68,"context_line":""},{"line_number":69,"context_line":"- name: Set XenAPI facts"},{"line_number":70,"context_line":"  set_fact:"}],"source_content_type":"text/x-yaml","patch_set":8,"id":"7faddb67_a0184676","line":67,"range":{"start_line":39,"start_character":0,"end_line":67,"end_character":40},"updated":"2019-08-22 14:14:33.000000000","message":"I\u0027d guess we don\u0027t need policies here, but would need to confirm.","commit_id":"1e948a763cfd5bfc9f1313de639d4ae203ba8014"},{"author":{"_account_id":14826,"name":"Mark Goddard","email":"markgoddard86@gmail.com","username":"mgoddard"},"change_message_id":"cfef7949be1108e2d40c116ac36820aba8e7b179","unresolved":false,"context_lines":[{"line_number":84,"context_line":"      - \"{{ node_custom_config }}/nova.conf\""},{"line_number":85,"context_line":"      - \"{{ node_custom_config }}/nova/{{ item.key }}.conf\""},{"line_number":86,"context_line":"      - \"{{ node_custom_config }}/nova/{{ inventory_hostname }}/nova.conf\""},{"line_number":87,"context_line":"      - \"{{ node_custom_config }}/nova/{{ nova_cell_conf_dir_prefix }}{{ item.key }}.conf\""},{"line_number":88,"context_line":"      - \"{{ node_custom_config }}/nova/{{ nova_cell_conf_dir_prefix }}{{ inventory_hostname }}/nova.conf\""},{"line_number":89,"context_line":"    dest: \"{{ node_config_directory }}/{{ nova_cell_conf_dir_prefix }}{{ item.key }}/nova.conf\""},{"line_number":90,"context_line":"    mode: \"0660\""}],"source_content_type":"text/x-yaml","patch_set":8,"id":"7faddb67_40a63212","line":87,"range":{"start_line":87,"start_character":42,"end_line":87,"end_character":67},"updated":"2019-08-22 14:14:33.000000000","message":"I like the idea of being able to use the cell name here, but I don\u0027t think we want to use a prefix unless we\u0027re testing, do we? Could we use the cell name here instead?","commit_id":"1e948a763cfd5bfc9f1313de639d4ae203ba8014"},{"author":{"_account_id":14826,"name":"Mark Goddard","email":"markgoddard86@gmail.com","username":"mgoddard"},"change_message_id":"cfef7949be1108e2d40c116ac36820aba8e7b179","unresolved":false,"context_lines":[{"line_number":155,"context_line":"    dest: \"{{ node_config_directory }}/{{ nova_cell_conf_dir_prefix }}nova-compute/release\""},{"line_number":156,"context_line":"    mode: \"0660\""},{"line_number":157,"context_line":"  with_first_found:"},{"line_number":158,"context_line":"    - files:"},{"line_number":159,"context_line":"        - \"{{ node_custom_config }}/nova_compute/{{ inventory_hostname }}/release\""},{"line_number":160,"context_line":"        - \"{{ node_custom_config }}/nova_compute/release\""},{"line_number":161,"context_line":"        - \"{{ node_custom_config }}/nova/release\""}],"source_content_type":"text/x-yaml","patch_set":8,"id":"7faddb67_a0460650","line":158,"updated":"2019-08-22 14:14:33.000000000","message":"Some with cell name/prefix?","commit_id":"1e948a763cfd5bfc9f1313de639d4ae203ba8014"},{"author":{"_account_id":14826,"name":"Mark Goddard","email":"markgoddard86@gmail.com","username":"mgoddard"},"change_message_id":"257ac90958ddd057973ea300e225da888db0b868","unresolved":false,"context_lines":[{"line_number":78,"context_line":"  become: true"},{"line_number":79,"context_line":"  vars:"},{"line_number":80,"context_line":"    service_name: \"{{ item.key }}\""},{"line_number":81,"context_line":"    instance_name: \"{{ item.value.instance_name }}\""},{"line_number":82,"context_line":"  merge_configs:"},{"line_number":83,"context_line":"    sources:"},{"line_number":84,"context_line":"      - \"{{ role_path }}/templates/nova.conf.j2\""}],"source_content_type":"text/x-yaml","patch_set":11,"id":"7faddb67_2c123059","line":81,"range":{"start_line":81,"start_character":4,"end_line":81,"end_character":51},"updated":"2019-09-05 16:56:34.000000000","message":"unused?","commit_id":"4b424673817a6f51f9f9b44db6b3a58da90384ba"},{"author":{"_account_id":17669,"name":"Doug Szumski","email":"doug@stackhpc.com","username":"DougSzumski"},"change_message_id":"bc81c8fa30fcd9139360cfd82f8462b9fcd2c501","unresolved":false,"context_lines":[{"line_number":78,"context_line":"  become: true"},{"line_number":79,"context_line":"  vars:"},{"line_number":80,"context_line":"    service_name: \"{{ item.key }}\""},{"line_number":81,"context_line":"    instance_name: \"{{ item.value.instance_name }}\""},{"line_number":82,"context_line":"  merge_configs:"},{"line_number":83,"context_line":"    sources:"},{"line_number":84,"context_line":"      - \"{{ role_path }}/templates/nova.conf.j2\""}],"source_content_type":"text/x-yaml","patch_set":11,"id":"5faad753_1e0ff3e1","line":81,"range":{"start_line":81,"start_character":4,"end_line":81,"end_character":51},"in_reply_to":"7faddb67_2c123059","updated":"2019-09-16 13:52:46.000000000","message":"Done","commit_id":"4b424673817a6f51f9f9b44db6b3a58da90384ba"},{"author":{"_account_id":14826,"name":"Mark Goddard","email":"markgoddard86@gmail.com","username":"mgoddard"},"change_message_id":"257ac90958ddd057973ea300e225da888db0b868","unresolved":false,"context_lines":[{"line_number":84,"context_line":"      - \"{{ role_path }}/templates/nova.conf.j2\""},{"line_number":85,"context_line":"      - \"{{ node_custom_config }}/global.conf\""},{"line_number":86,"context_line":"      - \"{{ node_custom_config }}/nova.conf\""},{"line_number":87,"context_line":"      - \"{{ node_custom_config }}/nova/{{ item.value.instance_name }}.conf\""},{"line_number":88,"context_line":"      - \"{{ node_custom_config }}/nova/{{ inventory_hostname }}/nova.conf\""},{"line_number":89,"context_line":"      - \"{{ node_custom_config }}/nova/{{ inventory_hostname }}/{{ item.value.instance_name }}.conf\""},{"line_number":90,"context_line":"    dest: \"{{ node_config_directory }}/{{ item.value.instance_name }}/nova.conf\""}],"source_content_type":"text/x-yaml","patch_set":11,"id":"7faddb67_89447674","line":87,"range":{"start_line":87,"start_character":41,"end_line":87,"end_character":66},"updated":"2019-09-05 16:56:34.000000000","message":"again, prefix could be confusing for users.\n\nWhat about allowing the cell name as a directory, similar to how we do for the hostname?\n\n      - \"{{ node_custom_config }}/nova/{{ item.key }}.conf\"\n      - \"{{ node_custom_config }}/nova/{{ nova_cell_name }}/nova.conf\"\n      - \"{{ node_custom_config }}/nova/{{ nova_cell_name }}/{{ item.key }}.conf\"\n      - \"{{ node_custom_config }}/nova/{{ inventory_hostname }}/nova.conf\"\n      - \"{{ node_custom_config }}/nova/{{ inventory_hostname }}/{{ item.key }}.conf\"\n      - \"{{ node_custom_config }}/nova/{{ nova_cell_name }}/{{ inventory_hostname }}/nova.conf\"\n      - \"{{ node_custom_config }}/nova/{{ nova_cell_name }}/{{ inventory_hostname }}/{{ item.key }}.conf\"\n\nIt could lead to a lot of file system activity on localhost...\n\nOr we just document how to reference the cell name in the template.","commit_id":"4b424673817a6f51f9f9b44db6b3a58da90384ba"},{"author":{"_account_id":17669,"name":"Doug Szumski","email":"doug@stackhpc.com","username":"DougSzumski"},"change_message_id":"bc81c8fa30fcd9139360cfd82f8462b9fcd2c501","unresolved":false,"context_lines":[{"line_number":84,"context_line":"      - \"{{ role_path }}/templates/nova.conf.j2\""},{"line_number":85,"context_line":"      - \"{{ node_custom_config }}/global.conf\""},{"line_number":86,"context_line":"      - \"{{ node_custom_config }}/nova.conf\""},{"line_number":87,"context_line":"      - \"{{ node_custom_config }}/nova/{{ item.value.instance_name }}.conf\""},{"line_number":88,"context_line":"      - \"{{ node_custom_config }}/nova/{{ inventory_hostname }}/nova.conf\""},{"line_number":89,"context_line":"      - \"{{ node_custom_config }}/nova/{{ inventory_hostname }}/{{ item.value.instance_name }}.conf\""},{"line_number":90,"context_line":"    dest: \"{{ node_config_directory }}/{{ item.value.instance_name }}/nova.conf\""}],"source_content_type":"text/x-yaml","patch_set":11,"id":"5faad753_57c220eb","line":87,"range":{"start_line":87,"start_character":41,"end_line":87,"end_character":66},"in_reply_to":"7faddb67_89447674","updated":"2019-09-16 13:52:46.000000000","message":"Good point, I think not over-complicating this makes sense. I created: https://review.opendev.org/#/c/681301","commit_id":"4b424673817a6f51f9f9b44db6b3a58da90384ba"},{"author":{"_account_id":30491,"name":"Radosław Piliszek","display_name":"Radek","email":"radek@piliszek.it","username":"yoctozepto","status":"self-employed techologist, collaborating mostly with 7bulls.com"},"change_message_id":"4cc3c6d48d44ebc9f0f8aca62e4915de3eab97c9","unresolved":false,"context_lines":[{"line_number":35,"context_line":"    - not enable_ceph | bool and (nova_backend \u003d\u003d \"rbd\" or cinder_backend_ceph | bool)"},{"line_number":36,"context_line":"    - inventory_hostname in groups[nova_cell_compute_group]"},{"line_number":37,"context_line":""},{"line_number":38,"context_line":"# TODO remove policies? Only the API should use them?"},{"line_number":39,"context_line":"- name: Check if policies shall be overwritten"},{"line_number":40,"context_line":"  local_action: stat path\u003d\"{{ item }}\""},{"line_number":41,"context_line":"  run_once: True"}],"source_content_type":"text/x-yaml","patch_set":30,"id":"3fa7e38b_1d7455fd","line":38,"updated":"2019-10-15 07:58:47.000000000","message":"anonymous TODO","commit_id":"f011c5e325ed4acd1f136a140484eb6b9464af82"},{"author":{"_account_id":14826,"name":"Mark Goddard","email":"markgoddard86@gmail.com","username":"mgoddard"},"change_message_id":"d4a9ffccee0459907ca874ab51a1b62e7aa90360","unresolved":false,"context_lines":[{"line_number":35,"context_line":"    - not enable_ceph | bool and (nova_backend \u003d\u003d \"rbd\" or cinder_backend_ceph | bool)"},{"line_number":36,"context_line":"    - inventory_hostname in groups[nova_cell_compute_group]"},{"line_number":37,"context_line":""},{"line_number":38,"context_line":"# TODO remove policies? Only the API should use them?"},{"line_number":39,"context_line":"- name: Check if policies shall be overwritten"},{"line_number":40,"context_line":"  local_action: stat path\u003d\"{{ item }}\""},{"line_number":41,"context_line":"  run_once: True"}],"source_content_type":"text/x-yaml","patch_set":30,"id":"3fa7e38b_4b48c45a","line":38,"in_reply_to":"3fa7e38b_1d7455fd","updated":"2019-10-15 13:10:35.000000000","message":"can be removed.","commit_id":"f011c5e325ed4acd1f136a140484eb6b9464af82"},{"author":{"_account_id":30491,"name":"Radosław Piliszek","display_name":"Radek","email":"radek@piliszek.it","username":"yoctozepto","status":"self-employed techologist, collaborating mostly with 7bulls.com"},"change_message_id":"516af5d6c0755b8bc736e18fb71bb8582bf33304","unresolved":false,"context_lines":[{"line_number":35,"context_line":"    - not enable_ceph | bool and (nova_backend \u003d\u003d \"rbd\" or cinder_backend_ceph | bool)"},{"line_number":36,"context_line":"    - inventory_hostname in groups[nova_cell_compute_group]"},{"line_number":37,"context_line":""},{"line_number":38,"context_line":"# TODO remove policies? Only the API should use them?"},{"line_number":39,"context_line":"- name: Check if policies shall be overwritten"},{"line_number":40,"context_line":"  local_action: stat path\u003d\"{{ item }}\""},{"line_number":41,"context_line":"  run_once: True"}],"source_content_type":"text/x-yaml","patch_set":30,"id":"3fa7e38b_eb3bb0e6","line":38,"in_reply_to":"3fa7e38b_4b48c45a","updated":"2019-10-15 13:51:27.000000000","message":"yup, remove","commit_id":"f011c5e325ed4acd1f136a140484eb6b9464af82"}],"ansible/roles/nova-cell/tasks/create_cells.yml":[{"author":{"_account_id":14826,"name":"Mark Goddard","email":"markgoddard86@gmail.com","username":"mgoddard"},"change_message_id":"cfef7949be1108e2d40c116ac36820aba8e7b179","unresolved":false,"context_lines":[{"line_number":70,"context_line":"  become: true"},{"line_number":71,"context_line":"  kolla_docker:"},{"line_number":72,"context_line":"    action: \"start_container\""},{"line_number":73,"context_line":"    command: bash -c \u0027sudo -E kolla_set_configs \u0026\u0026 nova-manage cell_v2 create_cell\u0027"},{"line_number":74,"context_line":"    common_options: \"{{ docker_common_options }}\""},{"line_number":75,"context_line":"    detach: False"},{"line_number":76,"context_line":"    image: \"{{ nova_api.image }}\""}],"source_content_type":"text/x-yaml","patch_set":8,"id":"7faddb67_c0df8264","side":"PARENT","line":73,"range":{"start_line":73,"start_character":51,"end_line":73,"end_character":82},"updated":"2019-08-22 14:14:33.000000000","message":"I expect we need to do this for each cell?","commit_id":"dc047c5b8836e01883eb3ef0afe7f49c47d44397"},{"author":{"_account_id":30491,"name":"Radosław Piliszek","display_name":"Radek","email":"radek@piliszek.it","username":"yoctozepto","status":"self-employed techologist, collaborating mostly with 7bulls.com"},"change_message_id":"7e71afda65b46f9327ac0957d5b2c81e5321394c","unresolved":false,"context_lines":[{"line_number":28,"context_line":""},{"line_number":29,"context_line":"- name: Update cell"},{"line_number":30,"context_line":"  vars:"},{"line_number":31,"context_line":"    nova_cell_database_url: \"mysql+pymysql://{{ nova_cell_database_user }}:{{ nova_cell_database_password }}@{{ nova_cell_database_address | put_address_in_context(\u0027url\u0027) }}:{{ nova_cell_database_port }}/{{ nova_cell_database_name }}\""},{"line_number":32,"context_line":"    nova_conductor: \"{{ nova_cell_services[\u0027nova-conductor\u0027] }}\""},{"line_number":33,"context_line":"  become: true"},{"line_number":34,"context_line":"  kolla_docker:"}],"source_content_type":"text/x-yaml","patch_set":33,"id":"3fa7e38b_f86e0b2a","line":31,"updated":"2019-10-16 16:55:39.000000000","message":"this was non-standard","commit_id":"6e51e2568a2488e3f8a5d52eacd4df28c98276eb"}],"ansible/roles/nova-cell/tasks/deploy.yml":[{"author":{"_account_id":14826,"name":"Mark Goddard","email":"markgoddard86@gmail.com","username":"mgoddard"},"change_message_id":"cfef7949be1108e2d40c116ac36820aba8e7b179","unresolved":false,"context_lines":[{"line_number":26,"context_line":"- name: Flush handlers"},{"line_number":27,"context_line":"  meta: flush_handlers"},{"line_number":28,"context_line":""},{"line_number":29,"context_line":"- include_tasks: discover_computes.yml"}],"source_content_type":"text/x-yaml","patch_set":8,"id":"7faddb67_e0463e23","side":"PARENT","line":29,"range":{"start_line":29,"start_character":0,"end_line":29,"end_character":38},"updated":"2019-08-22 14:14:33.000000000","message":"As covered in nova cell, I think we want each cell to discover its own computes.","commit_id":"dc047c5b8836e01883eb3ef0afe7f49c47d44397"},{"author":{"_account_id":17669,"name":"Doug Szumski","email":"doug@stackhpc.com","username":"DougSzumski"},"change_message_id":"0877ca949cca898de63441919f0ed48a3fc6489f","unresolved":false,"context_lines":[{"line_number":26,"context_line":"- name: Flush handlers"},{"line_number":27,"context_line":"  meta: flush_handlers"},{"line_number":28,"context_line":""},{"line_number":29,"context_line":"- include_tasks: discover_computes.yml"}],"source_content_type":"text/x-yaml","patch_set":8,"id":"7faddb67_4d298a35","side":"PARENT","line":29,"range":{"start_line":29,"start_character":0,"end_line":29,"end_character":38},"in_reply_to":"7faddb67_e0463e23","updated":"2019-08-28 16:58:39.000000000","message":"Agreed - I had this change locally.","commit_id":"dc047c5b8836e01883eb3ef0afe7f49c47d44397"}],"ansible/roles/nova-cell/tasks/discover_computes.yml":[{"author":{"_account_id":14826,"name":"Mark Goddard","email":"markgoddard86@gmail.com","username":"mgoddard"},"change_message_id":"257ac90958ddd057973ea300e225da888db0b868","unresolved":false,"context_lines":[{"line_number":21,"context_line":"          map(\u0027extract\u0027, hostvars, \u0027ansible_hostname\u0027) |"},{"line_number":22,"context_line":"          map(\u0027regex_replace\u0027, \u0027^(.*)$\u0027, \u0027\\1-ironic\u0027) |"},{"line_number":23,"context_line":"          list)"},{"line_number":24,"context_line":"         if enable_ironic | bool else [] }}"},{"line_number":25,"context_line":"  set_fact:"},{"line_number":26,"context_line":"    expected_compute_service_hosts: \"{{ virt_compute_service_hosts + ironic_compute_service_hosts }}\""},{"line_number":27,"context_line":"  when: inventory_hostname \u003d\u003d groups[nova_cell_conductor_group][0]"}],"source_content_type":"text/x-yaml","patch_set":11,"id":"7faddb67_8c3fa484","line":24,"range":{"start_line":24,"start_character":12,"end_line":24,"end_character":32},"updated":"2019-09-05 16:56:34.000000000","message":"We could change to:\n\nif nova_cell_services[\u0027nova-compute-ironic\u0027].enable | bool else []\n\nThen set the default:\n\nnova_cell_ironic_cell_name: \u0027\u0027\n\nnova_cell_services\n  nova-compute-ironic:\n    enable: \"{{ enable_ironic | bool and nova_cell_name \u003d\u003d nova_cell_ironic_cell_name }}\"","commit_id":"4b424673817a6f51f9f9b44db6b3a58da90384ba"},{"author":{"_account_id":17669,"name":"Doug Szumski","email":"doug@stackhpc.com","username":"DougSzumski"},"change_message_id":"bc81c8fa30fcd9139360cfd82f8462b9fcd2c501","unresolved":false,"context_lines":[{"line_number":21,"context_line":"          map(\u0027extract\u0027, hostvars, \u0027ansible_hostname\u0027) |"},{"line_number":22,"context_line":"          map(\u0027regex_replace\u0027, \u0027^(.*)$\u0027, \u0027\\1-ironic\u0027) |"},{"line_number":23,"context_line":"          list)"},{"line_number":24,"context_line":"         if enable_ironic | bool else [] }}"},{"line_number":25,"context_line":"  set_fact:"},{"line_number":26,"context_line":"    expected_compute_service_hosts: \"{{ virt_compute_service_hosts + ironic_compute_service_hosts }}\""},{"line_number":27,"context_line":"  when: inventory_hostname \u003d\u003d groups[nova_cell_conductor_group][0]"}],"source_content_type":"text/x-yaml","patch_set":11,"id":"5faad753_fd3a62cb","line":24,"range":{"start_line":24,"start_character":12,"end_line":24,"end_character":32},"in_reply_to":"7faddb67_8c3fa484","updated":"2019-09-16 13:52:46.000000000","message":"Thanks, that makes sense - a single cell for Ironic.","commit_id":"4b424673817a6f51f9f9b44db6b3a58da90384ba"}],"ansible/roles/nova-cell/tasks/external_ceph.yml":[{"author":{"_account_id":14826,"name":"Mark Goddard","email":"markgoddard86@gmail.com","username":"mgoddard"},"change_message_id":"cfef7949be1108e2d40c116ac36820aba8e7b179","unresolved":false,"context_lines":[{"line_number":1,"context_line":"---"},{"line_number":2,"context_line":"- name: Ensuring config directory exists"},{"line_number":3,"context_line":"  file:"},{"line_number":4,"context_line":"    path: \"{{ node_config_directory }}/{{ item }}\""},{"line_number":5,"context_line":"    state: \"directory\""},{"line_number":6,"context_line":"    mode: \"0770\""},{"line_number":7,"context_line":"  become: true"}],"source_content_type":"text/x-yaml","patch_set":8,"id":"7faddb67_80618aab","line":4,"updated":"2019-08-22 14:14:33.000000000","message":"prefix","commit_id":"1e948a763cfd5bfc9f1313de639d4ae203ba8014"}],"ansible/roles/nova-cell/tasks/loadbalancer.yml":[{"author":{"_account_id":14826,"name":"Mark Goddard","email":"markgoddard86@gmail.com","username":"mgoddard"},"change_message_id":"cfef7949be1108e2d40c116ac36820aba8e7b179","unresolved":false,"context_lines":[{"line_number":1,"context_line":"---"},{"line_number":2,"context_line":"- name: \"Configure haproxy for {{ project_name }}\""},{"line_number":3,"context_line":"  import_role:"},{"line_number":4,"context_line":"    role: haproxy-config"},{"line_number":5,"context_line":"  vars:"},{"line_number":6,"context_line":"    project_services: \"{{ nova_cell_services }}\""},{"line_number":7,"context_line":"  tags: always"}],"source_content_type":"text/x-yaml","patch_set":8,"id":"7faddb67_00f27ae4","line":7,"range":{"start_line":1,"start_character":0,"end_line":7,"end_character":14},"updated":"2019-08-22 14:14:33.000000000","message":"I don\u0027t think we need this file.","commit_id":"1e948a763cfd5bfc9f1313de639d4ae203ba8014"},{"author":{"_account_id":17669,"name":"Doug Szumski","email":"doug@stackhpc.com","username":"DougSzumski"},"change_message_id":"0877ca949cca898de63441919f0ed48a3fc6489f","unresolved":false,"context_lines":[{"line_number":1,"context_line":"---"},{"line_number":2,"context_line":"- name: \"Configure haproxy for {{ project_name }}\""},{"line_number":3,"context_line":"  import_role:"},{"line_number":4,"context_line":"    role: haproxy-config"},{"line_number":5,"context_line":"  vars:"},{"line_number":6,"context_line":"    project_services: \"{{ nova_cell_services }}\""},{"line_number":7,"context_line":"  tags: always"}],"source_content_type":"text/x-yaml","patch_set":8,"id":"7faddb67_edcb9670","line":7,"range":{"start_line":1,"start_character":0,"end_line":7,"end_character":14},"in_reply_to":"7faddb67_00f27ae4","updated":"2019-08-28 16:58:39.000000000","message":"Done","commit_id":"1e948a763cfd5bfc9f1313de639d4ae203ba8014"}],"ansible/roles/nova-cell/tasks/online_data_migrations.yml":[{"author":{"_account_id":14826,"name":"Mark Goddard","email":"markgoddard86@gmail.com","username":"mgoddard"},"change_message_id":"257ac90958ddd057973ea300e225da888db0b868","unresolved":false,"context_lines":[{"line_number":19,"context_line":"    name: \"bootstrap_nova\""},{"line_number":20,"context_line":"    restart_policy: \"no\""},{"line_number":21,"context_line":"    volumes: \"{{ nova_conductor.volumes }}\""},{"line_number":22,"context_line":"  tags: always"},{"line_number":23,"context_line":"  when: inventory_hostname \u003d\u003d groups[nova_cell_conductor_group][0]"}],"source_content_type":"text/x-yaml","patch_set":11,"id":"7faddb67_ec997879","line":22,"range":{"start_line":22,"start_character":2,"end_line":22,"end_character":14},"updated":"2019-09-05 16:56:34.000000000","message":"Why?","commit_id":"4b424673817a6f51f9f9b44db6b3a58da90384ba"},{"author":{"_account_id":17669,"name":"Doug Szumski","email":"doug@stackhpc.com","username":"DougSzumski"},"change_message_id":"bc81c8fa30fcd9139360cfd82f8462b9fcd2c501","unresolved":false,"context_lines":[{"line_number":19,"context_line":"    name: \"bootstrap_nova\""},{"line_number":20,"context_line":"    restart_policy: \"no\""},{"line_number":21,"context_line":"    volumes: \"{{ nova_conductor.volumes }}\""},{"line_number":22,"context_line":"  tags: always"},{"line_number":23,"context_line":"  when: inventory_hostname \u003d\u003d groups[nova_cell_conductor_group][0]"}],"source_content_type":"text/x-yaml","patch_set":11,"id":"5faad753_fe1c5714","line":22,"range":{"start_line":22,"start_character":2,"end_line":22,"end_character":14},"in_reply_to":"7faddb67_ec997879","updated":"2019-09-16 13:52:46.000000000","message":"We run this via task_from in site.yml and it won\u0027t run if you run the upgrade with a nova tag. I\u0027ve changed to `nova`.","commit_id":"4b424673817a6f51f9f9b44db6b3a58da90384ba"}],"ansible/roles/nova-cell/tasks/precheck.yml":[{"author":{"_account_id":14826,"name":"Mark Goddard","email":"markgoddard86@gmail.com","username":"mgoddard"},"change_message_id":"cfef7949be1108e2d40c116ac36820aba8e7b179","unresolved":false,"context_lines":[{"line_number":11,"context_line":"      - nova_libvirt"},{"line_number":12,"context_line":"  register: container_facts"},{"line_number":13,"context_line":""},{"line_number":14,"context_line":"- name: Checking available compute nodes in inventory"},{"line_number":15,"context_line":"  vars:"},{"line_number":16,"context_line":"    nova_compute_ironic: \"{{ nova_services[\u0027nova-compute-ironic\u0027] }}\""},{"line_number":17,"context_line":"  fail:"},{"line_number":18,"context_line":"    msg: \u003e"},{"line_number":19,"context_line":"      At least 1 compute node required in inventory when ironic is disabled."},{"line_number":20,"context_line":"  when:"},{"line_number":21,"context_line":"    - groups[\u0027compute\u0027] | length \u003c 1"},{"line_number":22,"context_line":"    - not nova_compute_ironic.enabled | bool"},{"line_number":23,"context_line":""},{"line_number":24,"context_line":"- name: Checking free port for Nova API"},{"line_number":25,"context_line":"  vars:"}],"source_content_type":"text/x-yaml","patch_set":8,"id":"7faddb67_602a4e30","side":"PARENT","line":22,"range":{"start_line":14,"start_character":0,"end_line":22,"end_character":44},"updated":"2019-08-22 14:14:33.000000000","message":"Could still include this one?","commit_id":"dc047c5b8836e01883eb3ef0afe7f49c47d44397"},{"author":{"_account_id":17669,"name":"Doug Szumski","email":"doug@stackhpc.com","username":"DougSzumski"},"change_message_id":"0877ca949cca898de63441919f0ed48a3fc6489f","unresolved":false,"context_lines":[{"line_number":11,"context_line":"      - nova_libvirt"},{"line_number":12,"context_line":"  register: container_facts"},{"line_number":13,"context_line":""},{"line_number":14,"context_line":"- name: Checking available compute nodes in inventory"},{"line_number":15,"context_line":"  vars:"},{"line_number":16,"context_line":"    nova_compute_ironic: \"{{ nova_services[\u0027nova-compute-ironic\u0027] }}\""},{"line_number":17,"context_line":"  fail:"},{"line_number":18,"context_line":"    msg: \u003e"},{"line_number":19,"context_line":"      At least 1 compute node required in inventory when ironic is disabled."},{"line_number":20,"context_line":"  when:"},{"line_number":21,"context_line":"    - groups[\u0027compute\u0027] | length \u003c 1"},{"line_number":22,"context_line":"    - not nova_compute_ironic.enabled | bool"},{"line_number":23,"context_line":""},{"line_number":24,"context_line":"- name: Checking free port for Nova API"},{"line_number":25,"context_line":"  vars:"}],"source_content_type":"text/x-yaml","patch_set":8,"id":"7faddb67_8d90e244","side":"PARENT","line":22,"range":{"start_line":14,"start_character":0,"end_line":22,"end_character":44},"in_reply_to":"7faddb67_602a4e30","updated":"2019-08-28 16:58:39.000000000","message":"Agreed, I was in two minds about whether to move Compute Ironic across in this commit, but I think it makes sense to do it all at once.","commit_id":"dc047c5b8836e01883eb3ef0afe7f49c47d44397"},{"author":{"_account_id":14826,"name":"Mark Goddard","email":"markgoddard86@gmail.com","username":"mgoddard"},"change_message_id":"257ac90958ddd057973ea300e225da888db0b868","unresolved":false,"context_lines":[{"line_number":14,"context_line":"    msg: \u003e"},{"line_number":15,"context_line":"      At least 1 compute node required in inventory when ironic is disabled."},{"line_number":16,"context_line":"  when:"},{"line_number":17,"context_line":"    - groups[\u0027compute\u0027] | length \u003c 1"},{"line_number":18,"context_line":"    - not nova_compute_ironic.enabled | bool"},{"line_number":19,"context_line":""},{"line_number":20,"context_line":"- name: Checking free port for Nova SSH"}],"source_content_type":"text/x-yaml","patch_set":11,"id":"7faddb67_4c78cc29","line":17,"range":{"start_line":17,"start_character":13,"end_line":17,"end_character":22},"updated":"2019-09-05 16:56:34.000000000","message":"nova_cell_","commit_id":"4b424673817a6f51f9f9b44db6b3a58da90384ba"},{"author":{"_account_id":17669,"name":"Doug Szumski","email":"doug@stackhpc.com","username":"DougSzumski"},"change_message_id":"bc81c8fa30fcd9139360cfd82f8462b9fcd2c501","unresolved":false,"context_lines":[{"line_number":14,"context_line":"    msg: \u003e"},{"line_number":15,"context_line":"      At least 1 compute node required in inventory when ironic is disabled."},{"line_number":16,"context_line":"  when:"},{"line_number":17,"context_line":"    - groups[\u0027compute\u0027] | length \u003c 1"},{"line_number":18,"context_line":"    - not nova_compute_ironic.enabled | bool"},{"line_number":19,"context_line":""},{"line_number":20,"context_line":"- name: Checking free port for Nova SSH"}],"source_content_type":"text/x-yaml","patch_set":11,"id":"5faad753_feca176c","line":17,"range":{"start_line":17,"start_character":13,"end_line":17,"end_character":22},"in_reply_to":"7faddb67_4c78cc29","updated":"2019-09-16 13:52:46.000000000","message":"Done","commit_id":"4b424673817a6f51f9f9b44db6b3a58da90384ba"}],"ansible/roles/nova-cell/tasks/reload.yml":[{"author":{"_account_id":14826,"name":"Mark Goddard","email":"markgoddard86@gmail.com","username":"mgoddard"},"change_message_id":"cfef7949be1108e2d40c116ac36820aba8e7b179","unresolved":false,"context_lines":[{"line_number":20,"context_line":"    - item.value.enabled | bool"},{"line_number":21,"context_line":"    - item.key in nova_cell_services_require_nova_conf"},{"line_number":22,"context_line":"    - not item.key.startswith(\u0027nova-compute\u0027)"},{"line_number":23,"context_line":"    - not item.key.endswith(\u0027proxy\u0027)"},{"line_number":24,"context_line":"  with_dict: \"{{ nova_cell_services }}\""},{"line_number":25,"context_line":""},{"line_number":26,"context_line":"- name: Restart nova compute and proxy services"}],"source_content_type":"text/x-yaml","patch_set":8,"id":"7faddb67_60cfae8b","line":23,"range":{"start_line":23,"start_character":6,"end_line":23,"end_character":36},"updated":"2019-08-22 14:14:33.000000000","message":"not required","commit_id":"1e948a763cfd5bfc9f1313de639d4ae203ba8014"},{"author":{"_account_id":14826,"name":"Mark Goddard","email":"markgoddard86@gmail.com","username":"mgoddard"},"change_message_id":"cfef7949be1108e2d40c116ac36820aba8e7b179","unresolved":false,"context_lines":[{"line_number":34,"context_line":"    - item.value.enabled | bool"},{"line_number":35,"context_line":"    - item.key in nova_cell_services_require_nova_conf"},{"line_number":36,"context_line":"    - item.key.startswith(\u0027nova-compute\u0027)"},{"line_number":37,"context_line":"      or item.key.endswith(\u0027proxy\u0027)"},{"line_number":38,"context_line":"  with_dict: \"{{ nova_cell_services }}\""}],"source_content_type":"text/x-yaml","patch_set":8,"id":"7faddb67_20d9b655","line":37,"range":{"start_line":37,"start_character":6,"end_line":37,"end_character":35},"updated":"2019-08-22 14:14:33.000000000","message":"not required","commit_id":"1e948a763cfd5bfc9f1313de639d4ae203ba8014"},{"author":{"_account_id":14826,"name":"Mark Goddard","email":"markgoddard86@gmail.com","username":"mgoddard"},"change_message_id":"257ac90958ddd057973ea300e225da888db0b868","unresolved":false,"context_lines":[{"line_number":8,"context_line":"# To work around this we restart the nova-compute services."},{"line_number":9,"context_line":"# Speaking to the nova team, this seems to be an issue in oslo.service,"},{"line_number":10,"context_line":"# with a fix proposed here: https://review.openstack.org/#/c/641907."},{"line_number":11,"context_line":"# This issue also seems to affect the proxy services, which exit non-zero in"},{"line_number":12,"context_line":"# reponse to a SIGHUP, so restart those too."},{"line_number":13,"context_line":"# TODO(mgoddard): Remove this workaround when this bug has been fixed."},{"line_number":14,"context_line":""}],"source_content_type":"text/x-yaml","patch_set":11,"id":"7faddb67_acc62015","line":11,"updated":"2019-09-05 16:56:34.000000000","message":"This file was removed upstream.","commit_id":"4b424673817a6f51f9f9b44db6b3a58da90384ba"},{"author":{"_account_id":17669,"name":"Doug Szumski","email":"doug@stackhpc.com","username":"DougSzumski"},"change_message_id":"bc81c8fa30fcd9139360cfd82f8462b9fcd2c501","unresolved":false,"context_lines":[{"line_number":8,"context_line":"# To work around this we restart the nova-compute services."},{"line_number":9,"context_line":"# Speaking to the nova team, this seems to be an issue in oslo.service,"},{"line_number":10,"context_line":"# with a fix proposed here: https://review.openstack.org/#/c/641907."},{"line_number":11,"context_line":"# This issue also seems to affect the proxy services, which exit non-zero in"},{"line_number":12,"context_line":"# reponse to a SIGHUP, so restart those too."},{"line_number":13,"context_line":"# TODO(mgoddard): Remove this workaround when this bug has been fixed."},{"line_number":14,"context_line":""}],"source_content_type":"text/x-yaml","patch_set":11,"id":"5faad753_1eab7389","line":11,"in_reply_to":"7faddb67_acc62015","updated":"2019-09-16 13:52:46.000000000","message":"Done","commit_id":"4b424673817a6f51f9f9b44db6b3a58da90384ba"}],"ansible/roles/nova-cell/tasks/rolling_upgrade.yml":[{"author":{"_account_id":14826,"name":"Mark Goddard","email":"markgoddard86@gmail.com","username":"mgoddard"},"change_message_id":"cfef7949be1108e2d40c116ac36820aba8e7b179","unresolved":false,"context_lines":[{"line_number":4,"context_line":""},{"line_number":5,"context_line":"- include_tasks: bootstrap_service.yml"},{"line_number":6,"context_line":""},{"line_number":7,"context_line":"- name: Stopping all nova services except nova-compute"},{"line_number":8,"context_line":"  become: true"},{"line_number":9,"context_line":"  kolla_docker:"},{"line_number":10,"context_line":"    action: \"stop_container\""}],"source_content_type":"text/x-yaml","patch_set":8,"id":"7faddb67_a0ecc6f4","line":7,"updated":"2019-08-22 14:14:33.000000000","message":"Going to need to think this one through.","commit_id":"1e948a763cfd5bfc9f1313de639d4ae203ba8014"},{"author":{"_account_id":14826,"name":"Mark Goddard","email":"markgoddard86@gmail.com","username":"mgoddard"},"change_message_id":"cfef7949be1108e2d40c116ac36820aba8e7b179","unresolved":false,"context_lines":[{"line_number":34,"context_line":"    common_options: \"{{ docker_common_options }}\""},{"line_number":35,"context_line":"    detach: False"},{"line_number":36,"context_line":"    environment:"},{"line_number":37,"context_line":"      KOLLA_OSM:"},{"line_number":38,"context_line":"      KOLLA_CONFIG_STRATEGY: \"{{ config_strategy }}\""},{"line_number":39,"context_line":"    image: \"{{ nova_conductor.image }}\""},{"line_number":40,"context_line":"    labels:"}],"source_content_type":"text/x-yaml","patch_set":8,"id":"7faddb67_008efa31","line":37,"range":{"start_line":37,"start_character":6,"end_line":37,"end_character":15},"updated":"2019-08-22 14:14:33.000000000","message":"Online data migrations only need to be done once, in the nova role. Needs to be after all services have been upgraded, so the upgrade proess will need to be split.","commit_id":"1e948a763cfd5bfc9f1313de639d4ae203ba8014"},{"author":{"_account_id":17669,"name":"Doug Szumski","email":"doug@stackhpc.com","username":"DougSzumski"},"change_message_id":"0877ca949cca898de63441919f0ed48a3fc6489f","unresolved":false,"context_lines":[{"line_number":34,"context_line":"    common_options: \"{{ docker_common_options }}\""},{"line_number":35,"context_line":"    detach: False"},{"line_number":36,"context_line":"    environment:"},{"line_number":37,"context_line":"      KOLLA_OSM:"},{"line_number":38,"context_line":"      KOLLA_CONFIG_STRATEGY: \"{{ config_strategy }}\""},{"line_number":39,"context_line":"    image: \"{{ nova_conductor.image }}\""},{"line_number":40,"context_line":"    labels:"}],"source_content_type":"text/x-yaml","patch_set":8,"id":"7faddb67_e08dc57c","line":37,"range":{"start_line":37,"start_character":6,"end_line":37,"end_character":15},"in_reply_to":"7faddb67_008efa31","updated":"2019-08-28 16:58:39.000000000","message":"Are you sure this doesn\u0027t need to be done per cell rather than at the top level?","commit_id":"1e948a763cfd5bfc9f1313de639d4ae203ba8014"},{"author":{"_account_id":14826,"name":"Mark Goddard","email":"markgoddard86@gmail.com","username":"mgoddard"},"change_message_id":"257ac90958ddd057973ea300e225da888db0b868","unresolved":false,"context_lines":[{"line_number":34,"context_line":"    common_options: \"{{ docker_common_options }}\""},{"line_number":35,"context_line":"    detach: False"},{"line_number":36,"context_line":"    environment:"},{"line_number":37,"context_line":"      KOLLA_OSM:"},{"line_number":38,"context_line":"      KOLLA_CONFIG_STRATEGY: \"{{ config_strategy }}\""},{"line_number":39,"context_line":"    image: \"{{ nova_conductor.image }}\""},{"line_number":40,"context_line":"    labels:"}],"source_content_type":"text/x-yaml","patch_set":8,"id":"7faddb67_dc2d5146","line":37,"range":{"start_line":37,"start_character":6,"end_line":37,"end_character":15},"in_reply_to":"7faddb67_e08dc57c","updated":"2019-09-05 16:56:34.000000000","message":"As discussed in person, I\u0027m not sure. I did think there were migrations that affect both the API and cell DBs.","commit_id":"1e948a763cfd5bfc9f1313de639d4ae203ba8014"}],"ansible/roles/nova-cell/templates/nova.conf.j2":[{"author":{"_account_id":14826,"name":"Mark Goddard","email":"markgoddard86@gmail.com","username":"mgoddard"},"change_message_id":"cfef7949be1108e2d40c116ac36820aba8e7b179","unresolved":false,"context_lines":[{"line_number":130,"context_line":"[glance]"},{"line_number":131,"context_line":"api_servers \u003d {{ internal_protocol }}://{{ glance_internal_fqdn }}:{{ glance_api_port }}"},{"line_number":132,"context_line":""},{"line_number":133,"context_line":"num_retries \u003d {{ groups[\u0027glance-api\u0027] | length }}"},{"line_number":134,"context_line":""},{"line_number":135,"context_line":"{% if enable_cinder | bool %}"},{"line_number":136,"context_line":"[cinder]"}],"source_content_type":"text/x-jinja2","patch_set":8,"id":"7faddb67_c041c2a8","side":"PARENT","line":133,"range":{"start_line":133,"start_character":0,"end_line":133,"end_character":49},"updated":"2019-08-22 14:14:33.000000000","message":"lol","commit_id":"dc047c5b8836e01883eb3ef0afe7f49c47d44397"},{"author":{"_account_id":14826,"name":"Mark Goddard","email":"markgoddard86@gmail.com","username":"mgoddard"},"change_message_id":"cfef7949be1108e2d40c116ac36820aba8e7b179","unresolved":false,"context_lines":[{"line_number":6,"context_line":""},{"line_number":7,"context_line":"state_path \u003d /var/lib/nova"},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"osapi_compute_listen \u003d {{ api_interface_address }}"},{"line_number":10,"context_line":"osapi_compute_listen_port \u003d {{ nova_api_listen_port }}"},{"line_number":11,"context_line":"osapi_compute_workers \u003d {{ openstack_service_workers }}"},{"line_number":12,"context_line":"metadata_workers \u003d {{ openstack_service_workers }}"},{"line_number":13,"context_line":""},{"line_number":14,"context_line":"metadata_listen \u003d {{ api_interface_address }}"},{"line_number":15,"context_line":"metadata_listen_port \u003d {{ nova_metadata_listen_port }}"},{"line_number":16,"context_line":""},{"line_number":17,"context_line":"# NOTE(mgoddard): This option has been deprecated but RDO sets a different"},{"line_number":18,"context_line":"# default value for it in /usr/share/nova/nova-dist.conf which causes the"}],"source_content_type":"text/x-jinja2","patch_set":8,"id":"7faddb67_c0bea2ad","line":15,"range":{"start_line":9,"start_character":0,"end_line":15,"end_character":54},"updated":"2019-08-22 14:14:33.000000000","message":"Not required (I think)","commit_id":"1e948a763cfd5bfc9f1313de639d4ae203ba8014"},{"author":{"_account_id":14826,"name":"Mark Goddard","email":"markgoddard86@gmail.com","username":"mgoddard"},"change_message_id":"cfef7949be1108e2d40c116ac36820aba8e7b179","unresolved":false,"context_lines":[{"line_number":55,"context_line":""},{"line_number":56,"context_line":"transport_url \u003d {{ role_nova_cell_rpc_transport_url }}"},{"line_number":57,"context_line":""},{"line_number":58,"context_line":"{% if enable_blazar | bool %}"},{"line_number":59,"context_line":"[filter_scheduler]"},{"line_number":60,"context_line":"available_filters \u003d nova.scheduler.filters.all_filters"},{"line_number":61,"context_line":"available_filters \u003d blazarnova.scheduler.filters.blazar_filter.BlazarFilter"},{"line_number":62,"context_line":"enabled_filters \u003d RetryFilter,AvailabilityZoneFilter,ComputeFilter,ComputeCapabilitiesFilter,ImagePropertiesFilter,ServerGroupAntiAffinityFilter,ServerGroupAffinityFilter,BlazarFilter"},{"line_number":63,"context_line":"{% endif %}"},{"line_number":64,"context_line":""},{"line_number":65,"context_line":"[api]"},{"line_number":66,"context_line":"use_forwarded_for \u003d true"}],"source_content_type":"text/x-jinja2","patch_set":8,"id":"7faddb67_a0efe6af","line":63,"range":{"start_line":58,"start_character":0,"end_line":63,"end_character":11},"updated":"2019-08-22 14:14:33.000000000","message":"Not required","commit_id":"1e948a763cfd5bfc9f1313de639d4ae203ba8014"},{"author":{"_account_id":14826,"name":"Mark Goddard","email":"markgoddard86@gmail.com","username":"mgoddard"},"change_message_id":"cfef7949be1108e2d40c116ac36820aba8e7b179","unresolved":false,"context_lines":[{"line_number":62,"context_line":"enabled_filters \u003d RetryFilter,AvailabilityZoneFilter,ComputeFilter,ComputeCapabilitiesFilter,ImagePropertiesFilter,ServerGroupAntiAffinityFilter,ServerGroupAffinityFilter,BlazarFilter"},{"line_number":63,"context_line":"{% endif %}"},{"line_number":64,"context_line":""},{"line_number":65,"context_line":"[api]"},{"line_number":66,"context_line":"use_forwarded_for \u003d true"},{"line_number":67,"context_line":""},{"line_number":68,"context_line":"[conductor]"},{"line_number":69,"context_line":"workers \u003d {{ openstack_service_workers }}"}],"source_content_type":"text/x-jinja2","patch_set":8,"id":"7faddb67_6027ae20","line":66,"range":{"start_line":65,"start_character":0,"end_line":66,"end_character":24},"updated":"2019-08-22 14:14:33.000000000","message":"Not required","commit_id":"1e948a763cfd5bfc9f1313de639d4ae203ba8014"},{"author":{"_account_id":14826,"name":"Mark Goddard","email":"markgoddard86@gmail.com","username":"mgoddard"},"change_message_id":"cfef7949be1108e2d40c116ac36820aba8e7b179","unresolved":false,"context_lines":[{"line_number":121,"context_line":"endpoint_override \u003d {{ internal_protocol }}://{{ ironic_internal_fqdn }}:{{ ironic_api_port }}/v1"},{"line_number":122,"context_line":"{% endif %}"},{"line_number":123,"context_line":""},{"line_number":124,"context_line":"[oslo_middleware]"},{"line_number":125,"context_line":"enable_proxy_headers_parsing \u003d True"},{"line_number":126,"context_line":""},{"line_number":127,"context_line":"[oslo_concurrency]"},{"line_number":128,"context_line":"lock_path \u003d /var/lib/nova/tmp"}],"source_content_type":"text/x-jinja2","patch_set":8,"id":"7faddb67_a044c6b9","line":125,"range":{"start_line":124,"start_character":0,"end_line":125,"end_character":35},"updated":"2019-08-22 14:14:33.000000000","message":"not required","commit_id":"1e948a763cfd5bfc9f1313de639d4ae203ba8014"},{"author":{"_account_id":14826,"name":"Mark Goddard","email":"markgoddard86@gmail.com","username":"mgoddard"},"change_message_id":"cfef7949be1108e2d40c116ac36820aba8e7b179","unresolved":false,"context_lines":[{"line_number":213,"context_line":"[guestfs]"},{"line_number":214,"context_line":"debug \u003d {{ nova_logging_debug }}"},{"line_number":215,"context_line":""},{"line_number":216,"context_line":"[wsgi]"},{"line_number":217,"context_line":"api_paste_config \u003d /etc/nova/api-paste.ini"},{"line_number":218,"context_line":"{% if kolla_enable_tls_external | bool %}"},{"line_number":219,"context_line":"secure_proxy_ssl_header \u003d HTTP_X_FORWARDED_PROTO"},{"line_number":220,"context_line":"{% endif %}"},{"line_number":221,"context_line":""},{"line_number":222,"context_line":"[scheduler]"},{"line_number":223,"context_line":"max_attempts \u003d 10"}],"source_content_type":"text/x-jinja2","patch_set":8,"id":"7faddb67_200a1679","line":220,"range":{"start_line":216,"start_character":0,"end_line":220,"end_character":11},"updated":"2019-08-22 14:14:33.000000000","message":"not required","commit_id":"1e948a763cfd5bfc9f1313de639d4ae203ba8014"},{"author":{"_account_id":14826,"name":"Mark Goddard","email":"markgoddard86@gmail.com","username":"mgoddard"},"change_message_id":"cfef7949be1108e2d40c116ac36820aba8e7b179","unresolved":false,"context_lines":[{"line_number":219,"context_line":"secure_proxy_ssl_header \u003d HTTP_X_FORWARDED_PROTO"},{"line_number":220,"context_line":"{% endif %}"},{"line_number":221,"context_line":""},{"line_number":222,"context_line":"[scheduler]"},{"line_number":223,"context_line":"max_attempts \u003d 10"},{"line_number":224,"context_line":"# NOTE(yoctozepto): kolla-ansible handles cell mapping by itself on each deploy"},{"line_number":225,"context_line":"# periodic run must be disabled to avoid random failures (where both try to map)"},{"line_number":226,"context_line":"# -1 is default and means periodic discovery is disabled"},{"line_number":227,"context_line":"discover_hosts_in_cells_interval \u003d -1"},{"line_number":228,"context_line":""},{"line_number":229,"context_line":"{% if enable_nova_fake | bool %}"},{"line_number":230,"context_line":"default_filters \u003d RetryFilter,AvailabilityZoneFilter,ComputeFilter,ComputeCapabilitiesFilter,ImagePropertiesFilter"},{"line_number":231,"context_line":"{% endif %}"},{"line_number":232,"context_line":""},{"line_number":233,"context_line":"[placement]"},{"line_number":234,"context_line":"auth_type \u003d password"}],"source_content_type":"text/x-jinja2","patch_set":8,"id":"7faddb67_e0239e05","line":231,"range":{"start_line":222,"start_character":0,"end_line":231,"end_character":11},"updated":"2019-08-22 14:14:33.000000000","message":"Not required","commit_id":"1e948a763cfd5bfc9f1313de639d4ae203ba8014"},{"author":{"_account_id":30491,"name":"Radosław Piliszek","display_name":"Radek","email":"radek@piliszek.it","username":"yoctozepto","status":"self-employed techologist, collaborating mostly with 7bulls.com"},"change_message_id":"4cc3c6d48d44ebc9f0f8aca62e4915de3eab97c9","unresolved":false,"context_lines":[{"line_number":104,"context_line":"[glance]"},{"line_number":105,"context_line":"api_servers \u003d {{ internal_protocol }}://{{ glance_internal_fqdn }}:{{ glance_api_port }}"},{"line_number":106,"context_line":""},{"line_number":107,"context_line":"# TODO: what to do about this?"},{"line_number":108,"context_line":"num_retries \u003d 3"},{"line_number":109,"context_line":""},{"line_number":110,"context_line":"{% if enable_cinder | bool %}"}],"source_content_type":"text/x-jinja2","patch_set":30,"id":"3fa7e38b_bd9f4100","line":107,"updated":"2019-10-15 07:58:47.000000000","message":"anonymous TODO","commit_id":"f011c5e325ed4acd1f136a140484eb6b9464af82"},{"author":{"_account_id":14826,"name":"Mark Goddard","email":"markgoddard86@gmail.com","username":"mgoddard"},"change_message_id":"d4a9ffccee0459907ca874ab51a1b62e7aa90360","unresolved":false,"context_lines":[{"line_number":104,"context_line":"[glance]"},{"line_number":105,"context_line":"api_servers \u003d {{ internal_protocol }}://{{ glance_internal_fqdn }}:{{ glance_api_port }}"},{"line_number":106,"context_line":""},{"line_number":107,"context_line":"# TODO: what to do about this?"},{"line_number":108,"context_line":"num_retries \u003d 3"},{"line_number":109,"context_line":""},{"line_number":110,"context_line":"{% if enable_cinder | bool %}"}],"source_content_type":"text/x-jinja2","patch_set":30,"id":"3fa7e38b_cba274fc","line":107,"in_reply_to":"3fa7e38b_bd9f4100","updated":"2019-10-15 13:10:35.000000000","message":"Done","commit_id":"f011c5e325ed4acd1f136a140484eb6b9464af82"},{"author":{"_account_id":30491,"name":"Radosław Piliszek","display_name":"Radek","email":"radek@piliszek.it","username":"yoctozepto","status":"self-employed techologist, collaborating mostly with 7bulls.com"},"change_message_id":"2da6b0413b6c5231dc9795453663ee2314c88911","unresolved":false,"context_lines":[{"line_number":129,"context_line":""},{"line_number":130,"context_line":"{% if not service_name.startswith(\u0027nova-compute\u0027) %}"},{"line_number":131,"context_line":"[database]"},{"line_number":132,"context_line":"connection \u003d mysql+pymysql://{{ nova_cell_database_user }}:{{ nova_cell_database_password }}@{{ nova_cell_database_address | put_address_in_context(\u0027url\u0027) }}:{{ nova_cell_database_port }}/{{ nova_cell_database_name }}"},{"line_number":133,"context_line":"max_pool_size \u003d 50"},{"line_number":134,"context_line":"max_overflow \u003d 1000"},{"line_number":135,"context_line":"max_retries \u003d -1"}],"source_content_type":"text/x-jinja2","patch_set":34,"id":"3fa7e38b_fb960549","line":132,"updated":"2019-10-16 17:43:23.000000000","message":"second non-standard I missed originally","commit_id":"78a828ef42160d161f944308ec51af0303778ca7"}],"ansible/roles/nova/defaults/main.yml":[{"author":{"_account_id":14826,"name":"Mark Goddard","email":"markgoddard86@gmail.com","username":"mgoddard"},"change_message_id":"cfef7949be1108e2d40c116ac36820aba8e7b179","unresolved":false,"context_lines":[{"line_number":122,"context_line":"    volumes: \"{{ nova_super_conductor_default_volumes + nova_super_conductor_extra_volumes }}\""},{"line_number":123,"context_line":"    dimensions: \"{{ nova_super_conductor_dimensions }}\""},{"line_number":124,"context_line":""},{"line_number":125,"context_line":"####################"},{"line_number":126,"context_line":"# Ceph"},{"line_number":127,"context_line":"####################"},{"line_number":128,"context_line":"ceph_nova_pool_type: \"{{ ceph_pool_type }}\""},{"line_number":129,"context_line":"ceph_nova_cache_mode: \"{{ ceph_cache_mode }}\""},{"line_number":130,"context_line":""},{"line_number":131,"context_line":"# Due to Ansible issues on include, you cannot override these variables. Please"},{"line_number":132,"context_line":"# override the variables they reference instead."},{"line_number":133,"context_line":"nova_pool_name: \"{{ ceph_nova_pool_name }}\""},{"line_number":134,"context_line":"nova_pool_type: \"{{ ceph_nova_pool_type }}\""},{"line_number":135,"context_line":"nova_cache_mode: \"{{ ceph_nova_cache_mode }}\""},{"line_number":136,"context_line":"nova_pool_pg_num: \"{{ ceph_pool_pg_num }}\""},{"line_number":137,"context_line":"nova_pool_pgp_num: \"{{ ceph_pool_pgp_num }}\""},{"line_number":138,"context_line":""},{"line_number":139,"context_line":"# Discard option for nova managed disks. Requires libvirt (1, 0, 6) or later and"},{"line_number":140,"context_line":"# qemu (1, 6, 0) or later. Set to \"\" to disable."},{"line_number":141,"context_line":"nova_hw_disk_discard: \"unmap\""},{"line_number":142,"context_line":""},{"line_number":143,"context_line":"ceph_client_nova_keyring_caps:"},{"line_number":144,"context_line":"  mon: \u0027allow r, allow command \"osd blacklist\"\u0027"},{"line_number":145,"context_line":"  osd: \u003e-"},{"line_number":146,"context_line":"    allow class-read object_prefix rbd_children,"},{"line_number":147,"context_line":"    allow rwx pool\u003d{{ ceph_cinder_pool_name }},"},{"line_number":148,"context_line":"    allow rwx pool\u003d{{ ceph_cinder_pool_name }}-cache,"},{"line_number":149,"context_line":"    allow rwx pool\u003d{{ ceph_nova_pool_name }},"},{"line_number":150,"context_line":"    allow rwx pool\u003d{{ ceph_nova_pool_name }}-cache,"},{"line_number":151,"context_line":"    allow rwx pool\u003d{{ ceph_glance_pool_name }},"},{"line_number":152,"context_line":"    allow rwx pool\u003d{{ ceph_glance_pool_name }}-cache"},{"line_number":153,"context_line":""},{"line_number":154,"context_line":""},{"line_number":155,"context_line":"####################"}],"source_content_type":"text/x-yaml","patch_set":8,"id":"7faddb67_4c751300","line":152,"range":{"start_line":125,"start_character":0,"end_line":152,"end_character":52},"updated":"2019-08-22 14:14:33.000000000","message":"Unused","commit_id":"1e948a763cfd5bfc9f1313de639d4ae203ba8014"},{"author":{"_account_id":14826,"name":"Mark Goddard","email":"markgoddard86@gmail.com","username":"mgoddard"},"change_message_id":"cfef7949be1108e2d40c116ac36820aba8e7b179","unresolved":false,"context_lines":[{"line_number":273,"context_line":""},{"line_number":274,"context_line":"openstack_nova_auth: \"{{ openstack_auth }}\""},{"line_number":275,"context_line":""},{"line_number":276,"context_line":"nova_compute_host_rp_filter_mode: 0"},{"line_number":277,"context_line":"nova_enable_rolling_upgrade: \"yes\""},{"line_number":278,"context_line":"nova_safety_upgrade: \"no\""},{"line_number":279,"context_line":""}],"source_content_type":"text/x-yaml","patch_set":8,"id":"7faddb67_0c9b9b17","line":276,"range":{"start_line":276,"start_character":0,"end_line":276,"end_character":32},"updated":"2019-08-22 14:14:33.000000000","message":"unused","commit_id":"1e948a763cfd5bfc9f1313de639d4ae203ba8014"},{"author":{"_account_id":14826,"name":"Mark Goddard","email":"markgoddard86@gmail.com","username":"mgoddard"},"change_message_id":"cfef7949be1108e2d40c116ac36820aba8e7b179","unresolved":false,"context_lines":[{"line_number":286,"context_line":"  - nova-scheduler"},{"line_number":287,"context_line":"  - nova-spicehtml5proxy"},{"line_number":288,"context_line":""},{"line_number":289,"context_line":"# After upgrading nova-compute, services will have an RPC version cap in place."},{"line_number":290,"context_line":"# We need to restart all services that communicate with nova-compute in order"},{"line_number":291,"context_line":"# to allow them to use the latest RPC version. Ideally, there would be a way to"},{"line_number":292,"context_line":"# check whether all nova services are using the latest version, but currently"},{"line_number":293,"context_line":"# there is not. Instead, wait a short time for all nova compute services to"},{"line_number":294,"context_line":"# update the version of their service in the database.  This seems to take"},{"line_number":295,"context_line":"# around 10 seconds, but the default is 30 to allow room for slowness."},{"line_number":296,"context_line":"nova_compute_startup_delay: 30"},{"line_number":297,"context_line":""},{"line_number":298,"context_line":"####################"},{"line_number":299,"context_line":"# Notification"}],"source_content_type":"text/x-yaml","patch_set":8,"id":"7faddb67_0c695bf7","line":296,"range":{"start_line":289,"start_character":0,"end_line":296,"end_character":30},"updated":"2019-08-22 14:14:33.000000000","message":"unused","commit_id":"1e948a763cfd5bfc9f1313de639d4ae203ba8014"},{"author":{"_account_id":14826,"name":"Mark Goddard","email":"markgoddard86@gmail.com","username":"mgoddard"},"change_message_id":"cfef7949be1108e2d40c116ac36820aba8e7b179","unresolved":false,"context_lines":[{"line_number":308,"context_line":""},{"line_number":309,"context_line":"nova_enabled_notification_topics: \"{{ nova_notification_topics | selectattr(\u0027enabled\u0027, \u0027equalto\u0027, true) | list }}\""},{"line_number":310,"context_line":""},{"line_number":311,"context_line":"####################"},{"line_number":312,"context_line":"# VMware"},{"line_number":313,"context_line":"####################"},{"line_number":314,"context_line":"vmware_vcenter_datastore_regex: \".*\""},{"line_number":315,"context_line":"ovs_bridge: \"nsx-managed\""},{"line_number":316,"context_line":""},{"line_number":317,"context_line":"####################"},{"line_number":318,"context_line":"# Libvirt/qemu"},{"line_number":319,"context_line":"####################"},{"line_number":320,"context_line":"# The number of max files qemu can open"},{"line_number":321,"context_line":"qemu_max_files: 32768"},{"line_number":322,"context_line":"# The number of max processes qemu can open"},{"line_number":323,"context_line":"qemu_max_processes: 131072"},{"line_number":324,"context_line":""},{"line_number":325,"context_line":"####################"},{"line_number":326,"context_line":"# Kolla"}],"source_content_type":"text/x-yaml","patch_set":8,"id":"7faddb67_2c47777a","line":323,"range":{"start_line":311,"start_character":0,"end_line":323,"end_character":26},"updated":"2019-08-22 14:14:33.000000000","message":"I\u0027d guess this is compute side only.","commit_id":"1e948a763cfd5bfc9f1313de639d4ae203ba8014"},{"author":{"_account_id":14826,"name":"Mark Goddard","email":"markgoddard86@gmail.com","username":"mgoddard"},"change_message_id":"cfef7949be1108e2d40c116ac36820aba8e7b179","unresolved":false,"context_lines":[{"line_number":329,"context_line":"nova_dev_repos_pull: \"{{ kolla_dev_repos_pull }}\""},{"line_number":330,"context_line":"nova_dev_mode: \"{{ kolla_dev_mode }}\""},{"line_number":331,"context_line":"nova_source_version: \"{{ kolla_source_version }}\""},{"line_number":332,"context_line":""},{"line_number":333,"context_line":"###################################"},{"line_number":334,"context_line":"# Enable Shared Bind Propogation"},{"line_number":335,"context_line":"###################################"},{"line_number":336,"context_line":""},{"line_number":337,"context_line":"enable_shared_var_lib_nova_mnt: \"{{ enable_cinder_backend_nfs | bool or enable_cinder_backend_quobyte | bool }}\""}],"source_content_type":"text/x-yaml","patch_set":8,"id":"7faddb67_8c554b21","line":337,"range":{"start_line":332,"start_character":0,"end_line":337,"end_character":112},"updated":"2019-08-22 14:14:33.000000000","message":"unused","commit_id":"1e948a763cfd5bfc9f1313de639d4ae203ba8014"}],"ansible/roles/nova/handlers/main.yml":[{"author":{"_account_id":14826,"name":"Mark Goddard","email":"markgoddard86@gmail.com","username":"mgoddard"},"change_message_id":"cfef7949be1108e2d40c116ac36820aba8e7b179","unresolved":false,"context_lines":[{"line_number":152,"context_line":"  when:"},{"line_number":153,"context_line":"    - kolla_action !\u003d \"config\""},{"line_number":154,"context_line":""},{"line_number":155,"context_line":"- name: Restart nova-compute-ironic container"},{"line_number":156,"context_line":"  vars:"},{"line_number":157,"context_line":"    service_name: \"nova-compute-ironic\""},{"line_number":158,"context_line":"    service: \"{{ nova_services[service_name] }}\""},{"line_number":159,"context_line":"  become: true"},{"line_number":160,"context_line":"  kolla_docker:"},{"line_number":161,"context_line":"    action: \"recreate_or_restart_container\""},{"line_number":162,"context_line":"    common_options: \"{{ docker_common_options }}\""},{"line_number":163,"context_line":"    name: \"{{ service.container_name }}\""},{"line_number":164,"context_line":"    image: \"{{ service.image }}\""},{"line_number":165,"context_line":"    privileged: \"{{ service.privileged | default(False) }}\""},{"line_number":166,"context_line":"    volumes: \"{{ service.volumes|reject(\u0027equalto\u0027, \u0027\u0027)|list }}\""},{"line_number":167,"context_line":"    dimensions: \"{{ service.dimensions }}\""},{"line_number":168,"context_line":"  when:"},{"line_number":169,"context_line":"    - kolla_action !\u003d \"config\""},{"line_number":170,"context_line":""},{"line_number":171,"context_line":"# nova-compute-fake is special. It will start multi numbers of container"},{"line_number":172,"context_line":"# so put all variables here rather than defaults/main.yml file"}],"source_content_type":"text/x-yaml","patch_set":8,"id":"7faddb67_0c371b01","side":"PARENT","line":169,"range":{"start_line":155,"start_character":0,"end_line":169,"end_character":30},"updated":"2019-08-22 14:14:33.000000000","message":"Need to work out what to do with this","commit_id":"dc047c5b8836e01883eb3ef0afe7f49c47d44397"},{"author":{"_account_id":14826,"name":"Mark Goddard","email":"markgoddard86@gmail.com","username":"mgoddard"},"change_message_id":"c4e736991c307adf76eb31f893dd482ec49175b7","unresolved":false,"context_lines":[{"line_number":14,"context_line":"    dimensions: \"{{ service.dimensions }}\""},{"line_number":15,"context_line":"  when:"},{"line_number":16,"context_line":"    - kolla_action !\u003d \"config\""},{"line_number":17,"context_line":"    - not nova_safety_upgrade | bool"},{"line_number":18,"context_line":""},{"line_number":19,"context_line":"- name: Restart nova-scheduler container"},{"line_number":20,"context_line":"  vars:"}],"source_content_type":"text/x-yaml","patch_set":16,"id":"3fa7e38b_1bc7fa47","line":17,"updated":"2019-09-20 15:33:04.000000000","message":"I don\u0027t see how we\u0027d ever start containers in safety mode with this.","commit_id":"47b26cea6d0efa7c48b34f3e8a5dd3173cb07943"},{"author":{"_account_id":17669,"name":"Doug Szumski","email":"doug@stackhpc.com","username":"DougSzumski"},"change_message_id":"e740955f38aa0c7fedf8973edfe2fab3b3559846","unresolved":false,"context_lines":[{"line_number":14,"context_line":"    dimensions: \"{{ service.dimensions }}\""},{"line_number":15,"context_line":"  when:"},{"line_number":16,"context_line":"    - kolla_action !\u003d \"config\""},{"line_number":17,"context_line":"    - not nova_safety_upgrade | bool"},{"line_number":18,"context_line":""},{"line_number":19,"context_line":"- name: Restart nova-scheduler container"},{"line_number":20,"context_line":"  vars:"}],"source_content_type":"text/x-yaml","patch_set":16,"id":"3fa7e38b_f041d40c","line":17,"in_reply_to":"3fa7e38b_1bc7fa47","updated":"2019-09-20 18:04:24.000000000","message":"It happens later on in site.yaml","commit_id":"47b26cea6d0efa7c48b34f3e8a5dd3173cb07943"}],"ansible/roles/nova/tasks/config.yml":[{"author":{"_account_id":14826,"name":"Mark Goddard","email":"markgoddard86@gmail.com","username":"mgoddard"},"change_message_id":"cfef7949be1108e2d40c116ac36820aba8e7b179","unresolved":false,"context_lines":[{"line_number":1,"context_line":"---"},{"line_number":2,"context_line":"- name: Setting sysctl values"},{"line_number":3,"context_line":"  become: true"},{"line_number":4,"context_line":"  sysctl: name\u003d{{ item.name }} value\u003d{{ item.value }} sysctl_set\u003dyes"},{"line_number":5,"context_line":"  with_items:"},{"line_number":6,"context_line":"    - { name: \"net.bridge.bridge-nf-call-iptables\", value: 1}"},{"line_number":7,"context_line":"    - { name: \"net.bridge.bridge-nf-call-ip6tables\", value: 1}"},{"line_number":8,"context_line":"    - { name: \"net.ipv4.conf.all.rp_filter\", value: \"{{ nova_compute_host_rp_filter_mode }}\"}"},{"line_number":9,"context_line":"    - { name: \"net.ipv4.conf.default.rp_filter\", value: \"{{ nova_compute_host_rp_filter_mode }}\"}"},{"line_number":10,"context_line":"  when:"},{"line_number":11,"context_line":"    - set_sysctl | bool"},{"line_number":12,"context_line":""},{"line_number":13,"context_line":"- name: Ensuring config directories exist"},{"line_number":14,"context_line":"  become: true"}],"source_content_type":"text/x-yaml","patch_set":8,"id":"7faddb67_0f538d18","line":11,"range":{"start_line":2,"start_character":0,"end_line":11,"end_character":23},"updated":"2019-08-22 14:14:33.000000000","message":"Not required","commit_id":"1e948a763cfd5bfc9f1313de639d4ae203ba8014"},{"author":{"_account_id":14826,"name":"Mark Goddard","email":"markgoddard86@gmail.com","username":"mgoddard"},"change_message_id":"cfef7949be1108e2d40c116ac36820aba8e7b179","unresolved":false,"context_lines":[{"line_number":77,"context_line":"- name: Copying over existing policy file"},{"line_number":78,"context_line":"  become: true"},{"line_number":79,"context_line":"  vars:"},{"line_number":80,"context_line":"    services_require_policy_json:"},{"line_number":81,"context_line":"      - nova-api"},{"line_number":82,"context_line":"      - nova-super-conductor"},{"line_number":83,"context_line":"      - nova-novncproxy"}],"source_content_type":"text/x-yaml","patch_set":8,"id":"7faddb67_5a16255b","line":80,"range":{"start_line":80,"start_character":4,"end_line":80,"end_character":32},"updated":"2019-08-22 14:14:33.000000000","message":"Unrelated, but surely only nova API requires policy.json?","commit_id":"1e948a763cfd5bfc9f1313de639d4ae203ba8014"}],"ansible/roles/nova/tasks/deploy.yml":[{"author":{"_account_id":14826,"name":"Mark Goddard","email":"markgoddard86@gmail.com","username":"mgoddard"},"change_message_id":"cfef7949be1108e2d40c116ac36820aba8e7b179","unresolved":false,"context_lines":[{"line_number":15,"context_line":"- name: Flush handlers"},{"line_number":16,"context_line":"  meta: flush_handlers"},{"line_number":17,"context_line":""},{"line_number":18,"context_line":"- include_tasks: discover_computes.yml"}],"source_content_type":"text/x-yaml","patch_set":8,"id":"7faddb67_55fb5614","line":18,"range":{"start_line":18,"start_character":0,"end_line":18,"end_character":38},"updated":"2019-08-22 14:14:33.000000000","message":"I think this might need to move to the nova-cell role, or be performed after the nova-cell role runs. We could probably run the discovery in parallel for each cell, by adding a --cell argument to nova-manage db discover_hosts.","commit_id":"1e948a763cfd5bfc9f1313de639d4ae203ba8014"},{"author":{"_account_id":17669,"name":"Doug Szumski","email":"doug@stackhpc.com","username":"DougSzumski"},"change_message_id":"0877ca949cca898de63441919f0ed48a3fc6489f","unresolved":false,"context_lines":[{"line_number":15,"context_line":"- name: Flush handlers"},{"line_number":16,"context_line":"  meta: flush_handlers"},{"line_number":17,"context_line":""},{"line_number":18,"context_line":"- include_tasks: discover_computes.yml"}],"source_content_type":"text/x-yaml","patch_set":8,"id":"7faddb67_103ac9c3","line":18,"range":{"start_line":18,"start_character":0,"end_line":18,"end_character":38},"in_reply_to":"7faddb67_55fb5614","updated":"2019-08-28 16:58:39.000000000","message":"Indeed - I had already moved it locally. Nice idea about the --cell arg.","commit_id":"1e948a763cfd5bfc9f1313de639d4ae203ba8014"}],"ansible/roles/nova/tasks/discover_computes.yml":[{"author":{"_account_id":14826,"name":"Mark Goddard","email":"markgoddard86@gmail.com","username":"mgoddard"},"change_message_id":"c4e736991c307adf76eb31f893dd482ec49175b7","unresolved":false,"context_lines":[{"line_number":1,"context_line":"---"},{"line_number":2,"context_line":"# We need to wait for all expected compute services to register before running"},{"line_number":3,"context_line":"# cells v2 host discovery. This includes virtualised compute services and"},{"line_number":4,"context_line":"# ironic compute services."}],"source_content_type":"text/x-yaml","patch_set":16,"id":"3fa7e38b_fb3e9e27","line":1,"updated":"2019-09-20 15:33:04.000000000","message":"File should be in nova-cell role.","commit_id":"47b26cea6d0efa7c48b34f3e8a5dd3173cb07943"},{"author":{"_account_id":17669,"name":"Doug Szumski","email":"doug@stackhpc.com","username":"DougSzumski"},"change_message_id":"e740955f38aa0c7fedf8973edfe2fab3b3559846","unresolved":false,"context_lines":[{"line_number":1,"context_line":"---"},{"line_number":2,"context_line":"# We need to wait for all expected compute services to register before running"},{"line_number":3,"context_line":"# cells v2 host discovery. This includes virtualised compute services and"},{"line_number":4,"context_line":"# ironic compute services."}],"source_content_type":"text/x-yaml","patch_set":16,"id":"3fa7e38b_d06ff88f","line":1,"in_reply_to":"3fa7e38b_fb3e9e27","updated":"2019-09-20 18:04:24.000000000","message":"Yeah, I forgot to git rm it here.","commit_id":"47b26cea6d0efa7c48b34f3e8a5dd3173cb07943"}],"ansible/roles/nova/tasks/legacy_upgrade.yml":[{"author":{"_account_id":14826,"name":"Mark Goddard","email":"markgoddard86@gmail.com","username":"mgoddard"},"change_message_id":"cfef7949be1108e2d40c116ac36820aba8e7b179","unresolved":false,"context_lines":[{"line_number":22,"context_line":"    name: \"nova_conductor\""},{"line_number":23,"context_line":"  when:"},{"line_number":24,"context_line":"    - inventory_hostname in groups[\u0027nova-conductor\u0027]"},{"line_number":25,"context_line":"    - conductor_differs[\u0027result\u0027]"},{"line_number":26,"context_line":""},{"line_number":27,"context_line":"- name: Flush handlers"},{"line_number":28,"context_line":"  meta: flush_handlers"}],"source_content_type":"text/x-yaml","patch_set":8,"id":"7faddb67_75853259","side":"PARENT","line":25,"updated":"2019-08-22 14:14:33.000000000","message":"Side note: I\u0027m not sure whether we should continue to support the \u0027legacy\u0027 upgrade - in my mind it\u0027s just an incorrect upgrade process.","commit_id":"dc047c5b8836e01883eb3ef0afe7f49c47d44397"},{"author":{"_account_id":17669,"name":"Doug Szumski","email":"doug@stackhpc.com","username":"DougSzumski"},"change_message_id":"0877ca949cca898de63441919f0ed48a3fc6489f","unresolved":false,"context_lines":[{"line_number":22,"context_line":"    name: \"nova_conductor\""},{"line_number":23,"context_line":"  when:"},{"line_number":24,"context_line":"    - inventory_hostname in groups[\u0027nova-conductor\u0027]"},{"line_number":25,"context_line":"    - conductor_differs[\u0027result\u0027]"},{"line_number":26,"context_line":""},{"line_number":27,"context_line":"- name: Flush handlers"},{"line_number":28,"context_line":"  meta: flush_handlers"}],"source_content_type":"text/x-yaml","patch_set":8,"id":"7faddb67_30a105f9","side":"PARENT","line":25,"in_reply_to":"7faddb67_75853259","updated":"2019-08-28 16:58:39.000000000","message":"I agree - I have no idea why I would want to use it. I can propose removing it separately.","commit_id":"dc047c5b8836e01883eb3ef0afe7f49c47d44397"}],"ansible/roles/nova/tasks/reload.yml":[{"author":{"_account_id":14826,"name":"Mark Goddard","email":"markgoddard86@gmail.com","username":"mgoddard"},"change_message_id":"257ac90958ddd057973ea300e225da888db0b868","unresolved":false,"context_lines":[{"line_number":24,"context_line":"# version pinned to the previous release:"},{"line_number":25,"context_line":"# https://bugs.launchpad.net/kolla-ansible/+bug/1833069."},{"line_number":26,"context_line":"# TODO(mgoddard): Use SIGHUP when this bug has been fixed."},{"line_number":27,"context_line":" "},{"line_number":28,"context_line":"- name: Restart nova services to remove RPC version cap"},{"line_number":29,"context_line":"  become: true "},{"line_number":30,"context_line":"  kolla_docker: "}],"source_content_type":"text/x-yaml","patch_set":11,"id":"7faddb67_ac62a014","line":27,"range":{"start_line":27,"start_character":0,"end_line":27,"end_character":1},"updated":"2019-09-05 16:56:34.000000000","message":"nit: trailing spaces","commit_id":"4b424673817a6f51f9f9b44db6b3a58da90384ba"},{"author":{"_account_id":17669,"name":"Doug Szumski","email":"doug@stackhpc.com","username":"DougSzumski"},"change_message_id":"bc81c8fa30fcd9139360cfd82f8462b9fcd2c501","unresolved":false,"context_lines":[{"line_number":24,"context_line":"# version pinned to the previous release:"},{"line_number":25,"context_line":"# https://bugs.launchpad.net/kolla-ansible/+bug/1833069."},{"line_number":26,"context_line":"# TODO(mgoddard): Use SIGHUP when this bug has been fixed."},{"line_number":27,"context_line":" "},{"line_number":28,"context_line":"- name: Restart nova services to remove RPC version cap"},{"line_number":29,"context_line":"  become: true "},{"line_number":30,"context_line":"  kolla_docker: "}],"source_content_type":"text/x-yaml","patch_set":11,"id":"5faad753_9ee443ae","line":27,"range":{"start_line":27,"start_character":0,"end_line":27,"end_character":1},"in_reply_to":"7faddb67_ac62a014","updated":"2019-09-16 13:52:46.000000000","message":"Done","commit_id":"4b424673817a6f51f9f9b44db6b3a58da90384ba"},{"author":{"_account_id":14826,"name":"Mark Goddard","email":"markgoddard86@gmail.com","username":"mgoddard"},"change_message_id":"257ac90958ddd057973ea300e225da888db0b868","unresolved":false,"context_lines":[{"line_number":37,"context_line":"    - item.value.enabled | bool"},{"line_number":38,"context_line":"    - item.key in nova_services_require_nova_conf"},{"line_number":39,"context_line":"  with_dict: \"{{ nova_services }}\""},{"line_number":40,"context_line":"  tags: always"}],"source_content_type":"text/x-yaml","patch_set":11,"id":"7faddb67_ec8df8d3","line":40,"range":{"start_line":40,"start_character":2,"end_line":40,"end_character":14},"updated":"2019-09-05 16:56:34.000000000","message":"Why?","commit_id":"4b424673817a6f51f9f9b44db6b3a58da90384ba"},{"author":{"_account_id":17669,"name":"Doug Szumski","email":"doug@stackhpc.com","username":"DougSzumski"},"change_message_id":"bc81c8fa30fcd9139360cfd82f8462b9fcd2c501","unresolved":false,"context_lines":[{"line_number":37,"context_line":"    - item.value.enabled | bool"},{"line_number":38,"context_line":"    - item.key in nova_services_require_nova_conf"},{"line_number":39,"context_line":"  with_dict: \"{{ nova_services }}\""},{"line_number":40,"context_line":"  tags: always"}],"source_content_type":"text/x-yaml","patch_set":11,"id":"5faad753_fe453716","line":40,"range":{"start_line":40,"start_character":2,"end_line":40,"end_character":14},"in_reply_to":"7faddb67_ec8df8d3","updated":"2019-09-16 13:52:46.000000000","message":"If you run an upgrade with a nova tag, for example: `kolla-ansible upgrade -t nova -i inventory/combined` then it will skip this task unless the tag matches. It can be changed to nova.","commit_id":"4b424673817a6f51f9f9b44db6b3a58da90384ba"},{"author":{"_account_id":14826,"name":"Mark Goddard","email":"markgoddard86@gmail.com","username":"mgoddard"},"change_message_id":"c4e736991c307adf76eb31f893dd482ec49175b7","unresolved":false,"context_lines":[{"line_number":2,"context_line":"- name: Reload top level nova services"},{"line_number":3,"context_line":"  become: true"},{"line_number":4,"context_line":"  kolla_docker:"},{"line_number":5,"context_line":"    action: \"recreate_or_restart_container\""},{"line_number":6,"context_line":"    common_options: \"{{ docker_common_options }}\""},{"line_number":7,"context_line":"    name: \"{{ item.value.container_name }}\""},{"line_number":8,"context_line":"    image: \"{{ item.value.image }}\""}],"source_content_type":"text/x-yaml","patch_set":16,"id":"3fa7e38b_7b794efa","line":5,"updated":"2019-09-20 15:33:04.000000000","message":"Perhaps this is for safety upgrade?","commit_id":"47b26cea6d0efa7c48b34f3e8a5dd3173cb07943"},{"author":{"_account_id":17669,"name":"Doug Szumski","email":"doug@stackhpc.com","username":"DougSzumski"},"change_message_id":"e740955f38aa0c7fedf8973edfe2fab3b3559846","unresolved":false,"context_lines":[{"line_number":2,"context_line":"- name: Reload top level nova services"},{"line_number":3,"context_line":"  become: true"},{"line_number":4,"context_line":"  kolla_docker:"},{"line_number":5,"context_line":"    action: \"recreate_or_restart_container\""},{"line_number":6,"context_line":"    common_options: \"{{ docker_common_options }}\""},{"line_number":7,"context_line":"    name: \"{{ item.value.container_name }}\""},{"line_number":8,"context_line":"    image: \"{{ item.value.image }}\""}],"source_content_type":"text/x-yaml","patch_set":16,"id":"3fa7e38b_3038cc9e","line":5,"in_reply_to":"3fa7e38b_7b794efa","updated":"2019-09-20 18:04:24.000000000","message":"that\u0027s correct","commit_id":"47b26cea6d0efa7c48b34f3e8a5dd3173cb07943"}],"ansible/roles/nova/tasks/upgrade.yml":[{"author":{"_account_id":17669,"name":"Doug Szumski","email":"doug@stackhpc.com","username":"DougSzumski"},"change_message_id":"4ad6e7c415c92505a884e6296ec68274389d03c3","unresolved":false,"context_lines":[{"line_number":25,"context_line":"  when:"},{"line_number":26,"context_line":"    - inventory_hostname in groups[item.value.group]"},{"line_number":27,"context_line":"    - item.value.enabled | bool"},{"line_number":28,"context_line":"    - nova_safety_upgrade | bool"},{"line_number":29,"context_line":""},{"line_number":30,"context_line":"- include_tasks: rolling_upgrade.yml"},{"line_number":31,"context_line":""}],"source_content_type":"text/x-yaml","patch_set":32,"id":"3fa7e38b_dd18e81e","line":28,"updated":"2019-10-16 09:44:21.000000000","message":"aside: True to the spirit of Kolla you wonder if we should have just a single, opinionated upgrade path for simplicity and to make testing easier.","commit_id":"acf9361efafdeb24bea1ed539368d329a73d6f75"}],"ansible/roles/nova/templates/nova.conf.j2":[{"author":{"_account_id":14826,"name":"Mark Goddard","email":"markgoddard86@gmail.com","username":"mgoddard"},"change_message_id":"cfef7949be1108e2d40c116ac36820aba8e7b179","unresolved":false,"context_lines":[{"line_number":102,"context_line":"proxyclient_address \u003d {{ api_interface_address }}"},{"line_number":103,"context_line":"{% endif %}"},{"line_number":104,"context_line":""},{"line_number":105,"context_line":"{% if service_name \u003d\u003d \"nova-compute-ironic\" %}"},{"line_number":106,"context_line":"[ironic]"},{"line_number":107,"context_line":"username \u003d {{ ironic_keystone_user }}"},{"line_number":108,"context_line":"password \u003d {{ ironic_keystone_password }}"}],"source_content_type":"text/x-jinja2","patch_set":8,"id":"7faddb67_d5c18683","line":105,"updated":"2019-08-22 14:14:33.000000000","message":"Remove?","commit_id":"1e948a763cfd5bfc9f1313de639d4ae203ba8014"},{"author":{"_account_id":14826,"name":"Mark Goddard","email":"markgoddard86@gmail.com","username":"mgoddard"},"change_message_id":"cfef7949be1108e2d40c116ac36820aba8e7b179","unresolved":false,"context_lines":[{"line_number":146,"context_line":"username \u003d {{ neutron_keystone_user }}"},{"line_number":147,"context_line":"password \u003d {{ neutron_keystone_password }}"},{"line_number":148,"context_line":""},{"line_number":149,"context_line":"{% if not service_name.startswith(\u0027nova-compute\u0027) %}"},{"line_number":150,"context_line":"[database]"},{"line_number":151,"context_line":"connection \u003d mysql+pymysql://{{ nova_database_user }}:{{ nova_database_password }}@{{ nova_database_address }}/{{ nova_database_name }}"},{"line_number":152,"context_line":"max_pool_size \u003d 50"}],"source_content_type":"text/x-jinja2","patch_set":8,"id":"7faddb67_d5466623","line":149,"range":{"start_line":149,"start_character":0,"end_line":149,"end_character":52},"updated":"2019-08-22 14:14:33.000000000","message":"unnecessary","commit_id":"1e948a763cfd5bfc9f1313de639d4ae203ba8014"},{"author":{"_account_id":14826,"name":"Mark Goddard","email":"markgoddard86@gmail.com","username":"mgoddard"},"change_message_id":"cfef7949be1108e2d40c116ac36820aba8e7b179","unresolved":false,"context_lines":[{"line_number":179,"context_line":"memcached_servers \u003d {% for host in groups[\u0027memcached\u0027] %}{{ hostvars[host][\u0027ansible_\u0027 + hostvars[host][\u0027api_interface\u0027]][\u0027ipv4\u0027][\u0027address\u0027] }}:{{ memcached_port }}{% if not loop.last %},{% endif %}{% endfor %}"},{"line_number":180,"context_line":""},{"line_number":181,"context_line":""},{"line_number":182,"context_line":"{% if nova_compute_virt_type \u003d\u003d \"vmware\" %}"},{"line_number":183,"context_line":"[vmware]"},{"line_number":184,"context_line":"host_ip \u003d {{ vmware_vcenter_host_ip }}"},{"line_number":185,"context_line":"host_username \u003d {{ vmware_vcenter_host_username }}"},{"line_number":186,"context_line":"host_password \u003d {{ vmware_vcenter_host_password }}"},{"line_number":187,"context_line":"cluster_name \u003d {{ vmware_vcenter_cluster_name }}"},{"line_number":188,"context_line":"datastore_regex \u003d {{ vmware_vcenter_datastore_regex }}"},{"line_number":189,"context_line":"insecure \u003d {{ vmware_vcenter_insecure }}"},{"line_number":190,"context_line":"{% if not vmware_vcenter_insecure | bool %}"},{"line_number":191,"context_line":"ca_file \u003d /etc/nova/vmware_ca"},{"line_number":192,"context_line":"{% endif %}"},{"line_number":193,"context_line":"{% endif %}"},{"line_number":194,"context_line":""},{"line_number":195,"context_line":"[upgrade_levels]"},{"line_number":196,"context_line":"compute \u003d auto"}],"source_content_type":"text/x-jinja2","patch_set":8,"id":"7faddb67_555cb6ef","line":193,"range":{"start_line":182,"start_character":0,"end_line":193,"end_character":11},"updated":"2019-08-22 14:14:33.000000000","message":"unnecessary","commit_id":"1e948a763cfd5bfc9f1313de639d4ae203ba8014"},{"author":{"_account_id":14826,"name":"Mark Goddard","email":"markgoddard86@gmail.com","username":"mgoddard"},"change_message_id":"cfef7949be1108e2d40c116ac36820aba8e7b179","unresolved":false,"context_lines":[{"line_number":270,"context_line":"auth_endpoint \u003d {{ keystone_internal_url }}"},{"line_number":271,"context_line":"{% endif %}"},{"line_number":272,"context_line":""},{"line_number":273,"context_line":"{% if nova_compute_virt_type \u003d\u003d \"xenapi\" %}"},{"line_number":274,"context_line":"[xenserver]"},{"line_number":275,"context_line":"ovs_integration_bridge \u003d br-int"},{"line_number":276,"context_line":"connection_password \u003d {{ xenserver_password }}"},{"line_number":277,"context_line":"connection_username \u003d {{ xenserver_username }}"},{"line_number":278,"context_line":"connection_url \u003d {{ xenserver_connect_protocol }}://{{ xenserver_himn_ip }}"},{"line_number":279,"context_line":"{% endif %}"}],"source_content_type":"text/x-jinja2","patch_set":8,"id":"7faddb67_95feaead","line":279,"range":{"start_line":273,"start_character":0,"end_line":279,"end_character":11},"updated":"2019-08-22 14:14:33.000000000","message":"unnecessary","commit_id":"1e948a763cfd5bfc9f1313de639d4ae203ba8014"}],"ansible/site.yml":[{"author":{"_account_id":14826,"name":"Mark Goddard","email":"markgoddard86@gmail.com","username":"mgoddard"},"change_message_id":"cfef7949be1108e2d40c116ac36820aba8e7b179","unresolved":false,"context_lines":[{"line_number":711,"context_line":"        tags: placement,"},{"line_number":712,"context_line":"        when: enable_placement | bool }"},{"line_number":713,"context_line":""},{"line_number":714,"context_line":"- name: Apply role nova-cell"},{"line_number":715,"context_line":"  gather_facts: false"},{"line_number":716,"context_line":"  hosts:"},{"line_number":717,"context_line":"    - ceph-mon"}],"source_content_type":"text/x-yaml","patch_set":7,"id":"7faddb67_f8bb720b","line":714,"updated":"2019-08-22 14:14:33.000000000","message":"Don\u0027t we want to deploy the API services first? Particularly during an upgrade, I think we would want to upgrade the superconductor first.","commit_id":"a94cb166d9ae3d7c97430d4836319720b389f156"},{"author":{"_account_id":14826,"name":"Mark Goddard","email":"markgoddard86@gmail.com","username":"mgoddard"},"change_message_id":"cfef7949be1108e2d40c116ac36820aba8e7b179","unresolved":false,"context_lines":[{"line_number":741,"context_line":"  gather_facts: false"},{"line_number":742,"context_line":"  hosts:"},{"line_number":743,"context_line":"    - ceph-mon # Remove?"},{"line_number":744,"context_line":"    - nova-api"},{"line_number":745,"context_line":"    - nova-novncproxy"},{"line_number":746,"context_line":"    - nova-scheduler"},{"line_number":747,"context_line":"    - \u0027\u0026enable_nova_True\u0027"}],"source_content_type":"text/x-yaml","patch_set":7,"id":"7faddb67_38f90ac7","line":744,"range":{"start_line":744,"start_character":6,"end_line":744,"end_character":14},"updated":"2019-08-22 14:14:33.000000000","message":"and nova-super-conductor?","commit_id":"a94cb166d9ae3d7c97430d4836319720b389f156"},{"author":{"_account_id":14826,"name":"Mark Goddard","email":"markgoddard86@gmail.com","username":"mgoddard"},"change_message_id":"cfef7949be1108e2d40c116ac36820aba8e7b179","unresolved":false,"context_lines":[{"line_number":729,"context_line":"  roles:"},{"line_number":730,"context_line":"    - { role: nova-cell,"},{"line_number":731,"context_line":"        tags: nova,"},{"line_number":732,"context_line":"        role_nova_cell_compute_group: \u0027compute\u0027,"},{"line_number":733,"context_line":"        role_nova_cell_compute_ironic_group: \u0027nova-compute-ironic\u0027,"},{"line_number":734,"context_line":"        role_nova_cell_conductor_group: \u0027nova-conductor\u0027,"},{"line_number":735,"context_line":"        role_nova_cell_rpc_user: \u0027{{ om_rpc_user }}\u0027,"}],"source_content_type":"text/x-yaml","patch_set":8,"id":"7faddb67_b5c2ca52","line":732,"range":{"start_line":732,"start_character":8,"end_line":732,"end_character":36},"updated":"2019-08-22 14:14:33.000000000","message":"these role_ variables are mostly useful if we need to execute the role multiple times in a playbook with different variables. I don\u0027t think we need that layer of abstraction here do we?","commit_id":"1e948a763cfd5bfc9f1313de639d4ae203ba8014"},{"author":{"_account_id":17669,"name":"Doug Szumski","email":"doug@stackhpc.com","username":"DougSzumski"},"change_message_id":"ea52a23e9bbcdcd436f5e3623548107acb097e57","unresolved":false,"context_lines":[{"line_number":729,"context_line":"  roles:"},{"line_number":730,"context_line":"    - { role: nova-cell,"},{"line_number":731,"context_line":"        tags: nova,"},{"line_number":732,"context_line":"        role_nova_cell_compute_group: \u0027compute\u0027,"},{"line_number":733,"context_line":"        role_nova_cell_compute_ironic_group: \u0027nova-compute-ironic\u0027,"},{"line_number":734,"context_line":"        role_nova_cell_conductor_group: \u0027nova-conductor\u0027,"},{"line_number":735,"context_line":"        role_nova_cell_rpc_user: \u0027{{ om_rpc_user }}\u0027,"}],"source_content_type":"text/x-yaml","patch_set":8,"id":"7faddb67_6dfb2615","line":732,"range":{"start_line":732,"start_character":8,"end_line":732,"end_character":36},"in_reply_to":"7faddb67_1b242f60","updated":"2019-08-22 15:13:32.000000000","message":"Yeah, that\u0027s how I\u0027m running it. I suppose it depends at which level you are going to set the vars. In my prototype I am setting them in inventory groups vars, so I need the abstraction to stop for example globals.yml overriding some of them.","commit_id":"1e948a763cfd5bfc9f1313de639d4ae203ba8014"},{"author":{"_account_id":14826,"name":"Mark Goddard","email":"markgoddard86@gmail.com","username":"mgoddard"},"change_message_id":"76cdcdba1a1f421cf335cd8af60cef251f74706b","unresolved":false,"context_lines":[{"line_number":729,"context_line":"  roles:"},{"line_number":730,"context_line":"    - { role: nova-cell,"},{"line_number":731,"context_line":"        tags: nova,"},{"line_number":732,"context_line":"        role_nova_cell_compute_group: \u0027compute\u0027,"},{"line_number":733,"context_line":"        role_nova_cell_compute_ironic_group: \u0027nova-compute-ironic\u0027,"},{"line_number":734,"context_line":"        role_nova_cell_conductor_group: \u0027nova-conductor\u0027,"},{"line_number":735,"context_line":"        role_nova_cell_rpc_user: \u0027{{ om_rpc_user }}\u0027,"}],"source_content_type":"text/x-yaml","patch_set":8,"id":"7faddb67_1b242f60","line":732,"range":{"start_line":732,"start_character":8,"end_line":732,"end_character":36},"in_reply_to":"7faddb67_3b7fab67","updated":"2019-08-22 14:43:14.000000000","message":"Are we not going to execute the role in parallel across the cloud, with variables used to control the DB \u0026 MQ etc?","commit_id":"1e948a763cfd5bfc9f1313de639d4ae203ba8014"},{"author":{"_account_id":14826,"name":"Mark Goddard","email":"markgoddard86@gmail.com","username":"mgoddard"},"change_message_id":"286bb1dfcdf59c5ed94fd7cf0c779bd3eea4bcc4","unresolved":false,"context_lines":[{"line_number":729,"context_line":"  roles:"},{"line_number":730,"context_line":"    - { role: nova-cell,"},{"line_number":731,"context_line":"        tags: nova,"},{"line_number":732,"context_line":"        role_nova_cell_compute_group: \u0027compute\u0027,"},{"line_number":733,"context_line":"        role_nova_cell_compute_ironic_group: \u0027nova-compute-ironic\u0027,"},{"line_number":734,"context_line":"        role_nova_cell_conductor_group: \u0027nova-conductor\u0027,"},{"line_number":735,"context_line":"        role_nova_cell_rpc_user: \u0027{{ om_rpc_user }}\u0027,"}],"source_content_type":"text/x-yaml","patch_set":8,"id":"7faddb67_8dd46221","line":732,"range":{"start_line":732,"start_character":8,"end_line":732,"end_character":36},"in_reply_to":"7faddb67_6dfb2615","updated":"2019-08-22 15:27:51.000000000","message":"Ok, can we drop the role_ prefix then? And we could set these all in defaults?","commit_id":"1e948a763cfd5bfc9f1313de639d4ae203ba8014"},{"author":{"_account_id":17669,"name":"Doug Szumski","email":"doug@stackhpc.com","username":"DougSzumski"},"change_message_id":"c1ec0d5c2eb72c9d9c6ca8c3c5698d03b06a1ed6","unresolved":false,"context_lines":[{"line_number":729,"context_line":"  roles:"},{"line_number":730,"context_line":"    - { role: nova-cell,"},{"line_number":731,"context_line":"        tags: nova,"},{"line_number":732,"context_line":"        role_nova_cell_compute_group: \u0027compute\u0027,"},{"line_number":733,"context_line":"        role_nova_cell_compute_ironic_group: \u0027nova-compute-ironic\u0027,"},{"line_number":734,"context_line":"        role_nova_cell_conductor_group: \u0027nova-conductor\u0027,"},{"line_number":735,"context_line":"        role_nova_cell_rpc_user: \u0027{{ om_rpc_user }}\u0027,"}],"source_content_type":"text/x-yaml","patch_set":8,"id":"7faddb67_3b7fab67","line":732,"range":{"start_line":732,"start_character":8,"end_line":732,"end_character":36},"in_reply_to":"7faddb67_b5c2ca52","updated":"2019-08-22 14:37:49.000000000","message":"It\u0027s not strictly required for this refactor, but the idea is that the nova-cell role will run multiple times, once for each cell and the role vars here will let you use a custom DB and message queue for each of them.","commit_id":"1e948a763cfd5bfc9f1313de639d4ae203ba8014"},{"author":{"_account_id":14826,"name":"Mark Goddard","email":"markgoddard86@gmail.com","username":"mgoddard"},"change_message_id":"cfef7949be1108e2d40c116ac36820aba8e7b179","unresolved":false,"context_lines":[{"line_number":748,"context_line":"- name: Apply role nova"},{"line_number":749,"context_line":"  gather_facts: false"},{"line_number":750,"context_line":"  hosts:"},{"line_number":751,"context_line":"    - ceph-mon  # Remove?"},{"line_number":752,"context_line":"    - nova-api"},{"line_number":753,"context_line":"    - nova-novncproxy"},{"line_number":754,"context_line":"    - nova-scheduler"}],"source_content_type":"text/x-yaml","patch_set":8,"id":"7faddb67_b5140aeb","line":751,"range":{"start_line":751,"start_character":18,"end_line":751,"end_character":24},"updated":"2019-08-22 14:14:33.000000000","message":"+1","commit_id":"1e948a763cfd5bfc9f1313de639d4ae203ba8014"},{"author":{"_account_id":14826,"name":"Mark Goddard","email":"markgoddard86@gmail.com","username":"mgoddard"},"change_message_id":"257ac90958ddd057973ea300e225da888db0b868","unresolved":false,"context_lines":[{"line_number":731,"context_line":"        tags: nova,"},{"line_number":732,"context_line":"        when: enable_nova | bool }"},{"line_number":733,"context_line":""},{"line_number":734,"context_line":"- name: Stop top level nova services"},{"line_number":735,"context_line":"  gather_facts: false"},{"line_number":736,"context_line":"  hosts:"},{"line_number":737,"context_line":"    - nova-api"},{"line_number":738,"context_line":"    - nova-novncproxy"},{"line_number":739,"context_line":"    - nova-scheduler"},{"line_number":740,"context_line":"    - \u0027\u0026enable_nova_True\u0027"},{"line_number":741,"context_line":"  serial: \u0027{{ kolla_serial|default(\"0\") }}\u0027"},{"line_number":742,"context_line":"  tasks:"},{"line_number":743,"context_line":"    - include_role:"},{"line_number":744,"context_line":"        name: nova"},{"line_number":745,"context_line":"        tasks_from: stop # TODO: Only services that need nova_conf"},{"line_number":746,"context_line":"      tags: nova"},{"line_number":747,"context_line":"      when:"},{"line_number":748,"context_line":"        - nova_safety_upgrade | bool"},{"line_number":749,"context_line":"        - enable_nova | bool"},{"line_number":750,"context_line":"        - kolla_action in [\u0027upgrade\u0027]"},{"line_number":751,"context_line":""},{"line_number":752,"context_line":"- name: Apply role nova-cell"},{"line_number":753,"context_line":"  gather_facts: false"}],"source_content_type":"text/x-yaml","patch_set":11,"id":"7faddb67_bf4f2468","line":750,"range":{"start_line":734,"start_character":0,"end_line":750,"end_character":37},"updated":"2019-09-05 16:56:34.000000000","message":"Couldn\u0027t you do this in upgrade.yml?","commit_id":"4b424673817a6f51f9f9b44db6b3a58da90384ba"},{"author":{"_account_id":17669,"name":"Doug Szumski","email":"doug@stackhpc.com","username":"DougSzumski"},"change_message_id":"bc81c8fa30fcd9139360cfd82f8462b9fcd2c501","unresolved":false,"context_lines":[{"line_number":731,"context_line":"        tags: nova,"},{"line_number":732,"context_line":"        when: enable_nova | bool }"},{"line_number":733,"context_line":""},{"line_number":734,"context_line":"- name: Stop top level nova services"},{"line_number":735,"context_line":"  gather_facts: false"},{"line_number":736,"context_line":"  hosts:"},{"line_number":737,"context_line":"    - nova-api"},{"line_number":738,"context_line":"    - nova-novncproxy"},{"line_number":739,"context_line":"    - nova-scheduler"},{"line_number":740,"context_line":"    - \u0027\u0026enable_nova_True\u0027"},{"line_number":741,"context_line":"  serial: \u0027{{ kolla_serial|default(\"0\") }}\u0027"},{"line_number":742,"context_line":"  tasks:"},{"line_number":743,"context_line":"    - include_role:"},{"line_number":744,"context_line":"        name: nova"},{"line_number":745,"context_line":"        tasks_from: stop # TODO: Only services that need nova_conf"},{"line_number":746,"context_line":"      tags: nova"},{"line_number":747,"context_line":"      when:"},{"line_number":748,"context_line":"        - nova_safety_upgrade | bool"},{"line_number":749,"context_line":"        - enable_nova | bool"},{"line_number":750,"context_line":"        - kolla_action in [\u0027upgrade\u0027]"},{"line_number":751,"context_line":""},{"line_number":752,"context_line":"- name: Apply role nova-cell"},{"line_number":753,"context_line":"  gather_facts: false"}],"source_content_type":"text/x-yaml","patch_set":11,"id":"5faad753_1ed133ce","line":750,"range":{"start_line":734,"start_character":0,"end_line":750,"end_character":37},"in_reply_to":"7faddb67_bf4f2468","updated":"2019-09-16 13:52:46.000000000","message":"Done","commit_id":"4b424673817a6f51f9f9b44db6b3a58da90384ba"},{"author":{"_account_id":17669,"name":"Doug Szumski","email":"doug@stackhpc.com","username":"DougSzumski"},"change_message_id":"4d7fcfa844ef1b26b0bb9e2b48c461dcd2e01274","unresolved":false,"context_lines":[{"line_number":714,"context_line":"        when: enable_placement | bool }"},{"line_number":715,"context_line":""},{"line_number":716,"context_line":"# Nova deployment is more complicated than other services, so is covered in its"},{"line_number":717,"context_line":"# own playbook."},{"line_number":718,"context_line":"- import_playbook: nova.yml"},{"line_number":719,"context_line":""},{"line_number":720,"context_line":"- name: Apply role opendaylight"}],"source_content_type":"text/x-yaml","patch_set":30,"id":"3fa7e38b_a30ba27a","line":717,"updated":"2019-10-15 10:38:36.000000000","message":"aside: Might be nice to explicitly note in the docs that this should be upgraded after placement.","commit_id":"f011c5e325ed4acd1f136a140484eb6b9464af82"},{"author":{"_account_id":17669,"name":"Doug Szumski","email":"doug@stackhpc.com","username":"DougSzumski"},"change_message_id":"4ad6e7c415c92505a884e6296ec68274389d03c3","unresolved":false,"context_lines":[{"line_number":713,"context_line":"        tags: placement,"},{"line_number":714,"context_line":"        when: enable_placement | bool }"},{"line_number":715,"context_line":""},{"line_number":716,"context_line":"# Nova deployment is more complicated than other services, so is covered in its"},{"line_number":717,"context_line":"# own playbook."},{"line_number":718,"context_line":"- import_playbook: nova.yml"},{"line_number":719,"context_line":""}],"source_content_type":"text/x-yaml","patch_set":32,"id":"3fa7e38b_1d7f6015","line":716,"range":{"start_line":716,"start_character":21,"end_line":716,"end_character":25},"updated":"2019-10-16 09:44:21.000000000","message":"s/more/horrifically?","commit_id":"acf9361efafdeb24bea1ed539368d329a73d6f75"}],"tests/templates/nova-api-overrides.j2":[{"author":{"_account_id":22629,"name":"Michal Nasiadka","email":"mnasiadka@gmail.com","username":"mnasiadka"},"change_message_id":"e25bd2928666c1115ee7d572146e5d721b6b9de2","unresolved":false,"context_lines":[{"line_number":3,"context_line":"# recent version of nova than 19.0.0. That version has an issue where"},{"line_number":4,"context_line":"# the compute services cannot be listed unless the cell DB is"},{"line_number":5,"context_line":"# accessible from Nova API."},{"line_number":6,"context_line":"connection \u003d mysql+pymysql://{{ nova_cell0_database_user }}:{{ nova_cell0_database_password }}@{{ nova_cell0_database_address }}/nova"}],"source_content_type":"text/x-jinja2","patch_set":27,"id":"3fa7e38b_2fea7b0e","line":6,"updated":"2019-10-10 08:50:46.000000000","message":"You\u0027re missing it in the passwords.yml","commit_id":"6c6436be0204dd50267456c3e332ac51941033fe"},{"author":{"_account_id":22629,"name":"Michal Nasiadka","email":"mnasiadka@gmail.com","username":"mnasiadka"},"change_message_id":"ec01ccf63f41d1c4b6430bb049625b9db1b01653","unresolved":false,"context_lines":[{"line_number":3,"context_line":"# recent version of nova than 19.0.0. That version has an issue where"},{"line_number":4,"context_line":"# the compute services cannot be listed unless the cell DB is"},{"line_number":5,"context_line":"# accessible from Nova API."},{"line_number":6,"context_line":"connection \u003d mysql+pymysql://{{ nova_cell0_database_user }}:{{ nova_cell0_database_password }}@{{ nova_cell0_database_address }}/nova"}],"source_content_type":"text/x-jinja2","patch_set":27,"id":"3fa7e38b_6fc6336b","line":6,"in_reply_to":"3fa7e38b_2f2fdb3f","updated":"2019-10-10 09:02:04.000000000","message":"Yeah, found it - so then you need to fix it here, because it get\u0027s templated out in run.yml - and the variable is not there then ;-)","commit_id":"6c6436be0204dd50267456c3e332ac51941033fe"},{"author":{"_account_id":14826,"name":"Mark Goddard","email":"markgoddard86@gmail.com","username":"mgoddard"},"change_message_id":"e5d0797bcf6d1ef37852d7e8d14ba1f17859d604","unresolved":false,"context_lines":[{"line_number":3,"context_line":"# recent version of nova than 19.0.0. That version has an issue where"},{"line_number":4,"context_line":"# the compute services cannot be listed unless the cell DB is"},{"line_number":5,"context_line":"# accessible from Nova API."},{"line_number":6,"context_line":"connection \u003d mysql+pymysql://{{ nova_cell0_database_user }}:{{ nova_cell0_database_password }}@{{ nova_cell0_database_address }}/nova"}],"source_content_type":"text/x-jinja2","patch_set":27,"id":"3fa7e38b_2f2fdb3f","line":6,"in_reply_to":"3fa7e38b_2fea7b0e","updated":"2019-10-10 08:57:53.000000000","message":"It\u0027s set in defaults to nova_database_password.","commit_id":"6c6436be0204dd50267456c3e332ac51941033fe"}]}
