)]}'
{"ansible/group_vars/all.yml":[{"author":{"_account_id":14826,"name":"Mark Goddard","email":"markgoddard86@gmail.com","username":"mgoddard"},"change_message_id":"acdb15a9eb1b2dffcdc081d2a23015cbb74d98e5","unresolved":false,"context_lines":[{"line_number":71,"context_line":"# This is used to get the ip corresponding to the storage_interface."},{"line_number":72,"context_line":"storage_interface_address: \"{{ hostvars[inventory_hostname][\u0027ansible_\u0027 + storage_interface][\u0027ipv4\u0027][\u0027address\u0027] }}\""},{"line_number":73,"context_line":""},{"line_number":74,"context_line":"# These two parameters are used to get the hostname and fqdn of the node."},{"line_number":75,"context_line":"ansible_node_hostname: \"{{ hostvars[inventory_hostname][\u0027ansible_hostname\u0027] }}\""},{"line_number":76,"context_line":"ansible_node_fqdn: \"{{ hostvars[inventory_hostname][\u0027ansible_fqdn\u0027] }}\""},{"line_number":77,"context_line":""},{"line_number":78,"context_line":"################"},{"line_number":79,"context_line":"# Chrony options"}],"source_content_type":"text/x-yaml","patch_set":3,"id":"9fb8cfa7_88b521d3","line":76,"range":{"start_line":74,"start_character":0,"end_line":76,"end_character":71},"updated":"2019-07-03 14:02:35.000000000","message":"These should not be necessary (see later comment)","commit_id":"45ce99f05a30d0729f9fe90bbce9d80892ec96ba"},{"author":{"_account_id":24250,"name":"wangwei","email":"wangw88916@126.com","username":"Dream_x"},"change_message_id":"aae039869b9b81216a4e07cdfdb8d06f9e7d97b7","unresolved":false,"context_lines":[{"line_number":71,"context_line":"# This is used to get the ip corresponding to the storage_interface."},{"line_number":72,"context_line":"storage_interface_address: \"{{ hostvars[inventory_hostname][\u0027ansible_\u0027 + storage_interface][\u0027ipv4\u0027][\u0027address\u0027] }}\""},{"line_number":73,"context_line":""},{"line_number":74,"context_line":"# These two parameters are used to get the hostname and fqdn of the node."},{"line_number":75,"context_line":"ansible_node_hostname: \"{{ hostvars[inventory_hostname][\u0027ansible_hostname\u0027] }}\""},{"line_number":76,"context_line":"ansible_node_fqdn: \"{{ hostvars[inventory_hostname][\u0027ansible_fqdn\u0027] }}\""},{"line_number":77,"context_line":""},{"line_number":78,"context_line":"################"},{"line_number":79,"context_line":"# Chrony options"}],"source_content_type":"text/x-yaml","patch_set":3,"id":"7faddb67_2656ab08","line":76,"range":{"start_line":74,"start_character":0,"end_line":76,"end_character":71},"in_reply_to":"9fb8cfa7_88b521d3","updated":"2019-07-04 07:07:23.000000000","message":"You are right, thanks for the detailed review.^^","commit_id":"45ce99f05a30d0729f9fe90bbce9d80892ec96ba"}],"ansible/roles/ceph/defaults/main.yml":[{"author":{"_account_id":14826,"name":"Mark Goddard","email":"markgoddard86@gmail.com","username":"mgoddard"},"change_message_id":"acdb15a9eb1b2dffcdc081d2a23015cbb74d98e5","unresolved":false,"context_lines":[{"line_number":77,"context_line":"partition_name_cache_bootstrap: \"{{ \u0027KOLLA_CEPH_OSD_CACHE_BOOTSTRAP_BS\u0027 if ceph_osd_store_type \u003d\u003d \u0027bluestore\u0027 else \u0027KOLLA_CEPH_OSD_CACHE_BOOTSTRAP\u0027 }}\""},{"line_number":78,"context_line":"partition_name_osd_data: \"{{ \u0027KOLLA_CEPH_DATA_BS\u0027 if ceph_osd_store_type \u003d\u003d \u0027bluestore\u0027 else \u0027KOLLA_CEPH_DATA\u0027 }}\""},{"line_number":79,"context_line":""},{"line_number":80,"context_line":"ceph_mon_hostname: \"{% if ceph_mon_host_type \u003d\u003d \u0027HOSTNAME\u0027 %}{{ ansible_node_hostname }}{% elif ceph_mon_host_type \u003d\u003d \u0027FQDN\u0027 %}{{ ansible_node_fqdn }}{% else %}{{ storage_interface_address }}{% endif %}\""},{"line_number":81,"context_line":"ceph_mgr_hostname: \"{% if ceph_mgr_host_type \u003d\u003d \u0027HOSTNAME\u0027 %}{{ ansible_node_hostname }}{% elif ceph_mgr_host_type \u003d\u003d \u0027FQDN\u0027 %}{{ ansible_node_fqdn }}{% else %}{{ storage_interface_address }}{% endif %}\""},{"line_number":82,"context_line":"ceph_osd_hostname: \"{% if ceph_osd_host_type \u003d\u003d \u0027HOSTNAME\u0027 %}{{ ansible_node_hostname }}{% elif ceph_osd_host_type \u003d\u003d \u0027FQDN\u0027 %}{{ ansible_node_fqdn }}{% else %}{{ storage_interface_address }}{% endif %}\""},{"line_number":83,"context_line":"ceph_mds_hostname: \"{% if ceph_mds_host_type \u003d\u003d \u0027HOSTNAME\u0027 %}{{ ansible_node_hostname }}{% elif ceph_mds_host_type \u003d\u003d \u0027FQDN\u0027 %}{{ ansible_node_fqdn }}{% else %}{{ storage_interface_address }}{% endif %}\""}],"source_content_type":"text/x-yaml","patch_set":3,"id":"9fb8cfa7_48dac94b","line":80,"range":{"start_line":80,"start_character":130,"end_line":80,"end_character":147},"updated":"2019-07-03 14:02:35.000000000","message":"ansible_fqdn","commit_id":"45ce99f05a30d0729f9fe90bbce9d80892ec96ba"},{"author":{"_account_id":14826,"name":"Mark Goddard","email":"markgoddard86@gmail.com","username":"mgoddard"},"change_message_id":"acdb15a9eb1b2dffcdc081d2a23015cbb74d98e5","unresolved":false,"context_lines":[{"line_number":77,"context_line":"partition_name_cache_bootstrap: \"{{ \u0027KOLLA_CEPH_OSD_CACHE_BOOTSTRAP_BS\u0027 if ceph_osd_store_type \u003d\u003d \u0027bluestore\u0027 else \u0027KOLLA_CEPH_OSD_CACHE_BOOTSTRAP\u0027 }}\""},{"line_number":78,"context_line":"partition_name_osd_data: \"{{ \u0027KOLLA_CEPH_DATA_BS\u0027 if ceph_osd_store_type \u003d\u003d \u0027bluestore\u0027 else \u0027KOLLA_CEPH_DATA\u0027 }}\""},{"line_number":79,"context_line":""},{"line_number":80,"context_line":"ceph_mon_hostname: \"{% if ceph_mon_host_type \u003d\u003d \u0027HOSTNAME\u0027 %}{{ ansible_node_hostname }}{% elif ceph_mon_host_type \u003d\u003d \u0027FQDN\u0027 %}{{ ansible_node_fqdn }}{% else %}{{ storage_interface_address }}{% endif %}\""},{"line_number":81,"context_line":"ceph_mgr_hostname: \"{% if ceph_mgr_host_type \u003d\u003d \u0027HOSTNAME\u0027 %}{{ ansible_node_hostname }}{% elif ceph_mgr_host_type \u003d\u003d \u0027FQDN\u0027 %}{{ ansible_node_fqdn }}{% else %}{{ storage_interface_address }}{% endif %}\""},{"line_number":82,"context_line":"ceph_osd_hostname: \"{% if ceph_osd_host_type \u003d\u003d \u0027HOSTNAME\u0027 %}{{ ansible_node_hostname }}{% elif ceph_osd_host_type \u003d\u003d \u0027FQDN\u0027 %}{{ ansible_node_fqdn }}{% else %}{{ storage_interface_address }}{% endif %}\""},{"line_number":83,"context_line":"ceph_mds_hostname: \"{% if ceph_mds_host_type \u003d\u003d \u0027HOSTNAME\u0027 %}{{ ansible_node_hostname }}{% elif ceph_mds_host_type \u003d\u003d \u0027FQDN\u0027 %}{{ ansible_node_fqdn }}{% else %}{{ storage_interface_address }}{% endif %}\""}],"source_content_type":"text/x-yaml","patch_set":3,"id":"9fb8cfa7_a8d5851d","line":80,"range":{"start_line":80,"start_character":64,"end_line":80,"end_character":85},"updated":"2019-07-03 14:02:35.000000000","message":"ansible_hostname should be fine.","commit_id":"45ce99f05a30d0729f9fe90bbce9d80892ec96ba"}],"ansible/roles/ceph/tasks/bootstrap_osds.yml":[{"author":{"_account_id":14826,"name":"Mark Goddard","email":"markgoddard86@gmail.com","username":"mgoddard"},"change_message_id":"5f809260f3823c4bd1586c07716a0c70741991c0","unresolved":false,"context_lines":[{"line_number":59,"context_line":"      USE_EXTERNAL_JOURNAL: \"{{ item.1.external_journal | bool }}\""},{"line_number":60,"context_line":"      OSD_FILESYSTEM: \"{{ ceph_osd_filesystem }}\""},{"line_number":61,"context_line":"      OSD_INITIAL_WEIGHT: \"{{ osd_initial_weight }}\""},{"line_number":62,"context_line":"      HOSTNAME: \"{{ storage_interface_address if ceph_osd_host_type !\u003d \u0027HOSTNAME\u0027 else inventory_hostname }}\""},{"line_number":63,"context_line":"      OSD_STORETYPE: \"{{ ceph_osd_store_type }}\""},{"line_number":64,"context_line":"      OSD_BS_DEV: \"{{ item.1.device | default(\u0027\u0027) }}\""},{"line_number":65,"context_line":"      OSD_BS_LABEL: \"{{ item.1.partition_label | default(\u0027\u0027) }}\""}],"source_content_type":"text/x-yaml","patch_set":2,"id":"9fb8cfa7_adfb9cbb","line":62,"range":{"start_line":62,"start_character":87,"end_line":62,"end_character":105},"updated":"2019-06-28 08:51:21.000000000","message":"Wouldn\u0027t it be better to use the actual hostname here rather than the name we give it in the inventory (which is arbitrary).\n\nEither ansible_host, ansible_fqdn or ansible_nodename. Depends if we want the FQDN or just hostname.\n\nAlternatively, you could create a variable called \u0027ceph_osd_hostname\u0027, default to \u0027storage_interface_address\u0027 and allow the user to change it to one of the above.","commit_id":"6f971e6cda9e69be272fee0ef2e00380d67dab2d"},{"author":{"_account_id":14826,"name":"Mark Goddard","email":"markgoddard86@gmail.com","username":"mgoddard"},"change_message_id":"fe61b3bcc19d746f8d57ca7e5f0f9187d625692e","unresolved":false,"context_lines":[{"line_number":59,"context_line":"      USE_EXTERNAL_JOURNAL: \"{{ item.1.external_journal | bool }}\""},{"line_number":60,"context_line":"      OSD_FILESYSTEM: \"{{ ceph_osd_filesystem }}\""},{"line_number":61,"context_line":"      OSD_INITIAL_WEIGHT: \"{{ osd_initial_weight }}\""},{"line_number":62,"context_line":"      HOSTNAME: \"{{ storage_interface_address if ceph_osd_host_type !\u003d \u0027HOSTNAME\u0027 else inventory_hostname }}\""},{"line_number":63,"context_line":"      OSD_STORETYPE: \"{{ ceph_osd_store_type }}\""},{"line_number":64,"context_line":"      OSD_BS_DEV: \"{{ item.1.device | default(\u0027\u0027) }}\""},{"line_number":65,"context_line":"      OSD_BS_LABEL: \"{{ item.1.partition_label | default(\u0027\u0027) }}\""}],"source_content_type":"text/x-yaml","patch_set":2,"id":"9fb8cfa7_b1fd366f","line":62,"range":{"start_line":62,"start_character":87,"end_line":62,"end_character":105},"in_reply_to":"9fb8cfa7_51df1a65","updated":"2019-06-28 10:19:52.000000000","message":"Well they need to set it to a valid value, and we could tell them which values are valid. Those would be {{ ansible_hostname }} or {{ ansible_nodename }} or {{ ansible_fqdn }}.","commit_id":"6f971e6cda9e69be272fee0ef2e00380d67dab2d"},{"author":{"_account_id":24250,"name":"wangwei","email":"wangw88916@126.com","username":"Dream_x"},"change_message_id":"89234de547953632b798b4b976eee2c05db44e04","unresolved":false,"context_lines":[{"line_number":59,"context_line":"      USE_EXTERNAL_JOURNAL: \"{{ item.1.external_journal | bool }}\""},{"line_number":60,"context_line":"      OSD_FILESYSTEM: \"{{ ceph_osd_filesystem }}\""},{"line_number":61,"context_line":"      OSD_INITIAL_WEIGHT: \"{{ osd_initial_weight }}\""},{"line_number":62,"context_line":"      HOSTNAME: \"{{ storage_interface_address if ceph_osd_host_type !\u003d \u0027HOSTNAME\u0027 else inventory_hostname }}\""},{"line_number":63,"context_line":"      OSD_STORETYPE: \"{{ ceph_osd_store_type }}\""},{"line_number":64,"context_line":"      OSD_BS_DEV: \"{{ item.1.device | default(\u0027\u0027) }}\""},{"line_number":65,"context_line":"      OSD_BS_LABEL: \"{{ item.1.partition_label | default(\u0027\u0027) }}\""}],"source_content_type":"text/x-yaml","patch_set":2,"id":"9fb8cfa7_51df1a65","line":62,"range":{"start_line":62,"start_character":87,"end_line":62,"end_character":105},"in_reply_to":"9fb8cfa7_adfb9cbb","updated":"2019-06-28 10:12:56.000000000","message":"Yes, you are right, inventory is arbitrary. But if we let this value be set by the user, in this case, we can\u0027t set the value of \u0027mon initial members\u0027 in ceph.conf, because we don\u0027t know if the user is setting IP or hostname or other values.\n\nif \u0027mon initial members\u0027 is inconsistent with the hostname of mon, the cluster will get stuck.","commit_id":"6f971e6cda9e69be272fee0ef2e00380d67dab2d"},{"author":{"_account_id":24250,"name":"wangwei","email":"wangw88916@126.com","username":"Dream_x"},"change_message_id":"908682fc9374afd8f42101c68b05bcb7722fab79","unresolved":false,"context_lines":[{"line_number":59,"context_line":"      USE_EXTERNAL_JOURNAL: \"{{ item.1.external_journal | bool }}\""},{"line_number":60,"context_line":"      OSD_FILESYSTEM: \"{{ ceph_osd_filesystem }}\""},{"line_number":61,"context_line":"      OSD_INITIAL_WEIGHT: \"{{ osd_initial_weight }}\""},{"line_number":62,"context_line":"      HOSTNAME: \"{{ storage_interface_address if ceph_osd_host_type !\u003d \u0027HOSTNAME\u0027 else inventory_hostname }}\""},{"line_number":63,"context_line":"      OSD_STORETYPE: \"{{ ceph_osd_store_type }}\""},{"line_number":64,"context_line":"      OSD_BS_DEV: \"{{ item.1.device | default(\u0027\u0027) }}\""},{"line_number":65,"context_line":"      OSD_BS_LABEL: \"{{ item.1.partition_label | default(\u0027\u0027) }}\""}],"source_content_type":"text/x-yaml","patch_set":2,"id":"9fb8cfa7_0474f0fc","line":62,"range":{"start_line":62,"start_character":87,"end_line":62,"end_character":105},"in_reply_to":"9fb8cfa7_b1fd366f","updated":"2019-07-01 01:22:18.000000000","message":"Ok, I will modify it according to your opinion.","commit_id":"6f971e6cda9e69be272fee0ef2e00380d67dab2d"}],"ansible/roles/ceph/tasks/generate_cluster.yml":[{"author":{"_account_id":14826,"name":"Mark Goddard","email":"markgoddard86@gmail.com","username":"mgoddard"},"change_message_id":"5f809260f3823c4bd1586c07716a0c70741991c0","unresolved":false,"context_lines":[{"line_number":8,"context_line":"    environment:"},{"line_number":9,"context_line":"      KOLLA_BOOTSTRAP:"},{"line_number":10,"context_line":"      KOLLA_CONFIG_STRATEGY: \"{{ config_strategy }}\""},{"line_number":11,"context_line":"      MON_IP: \"{{ hostvars[inventory_hostname][\u0027ansible_\u0027 + storage_interface][\u0027ipv4\u0027][\u0027address\u0027] }}\""},{"line_number":12,"context_line":"      HOSTNAME: \"{{ storage_interface_address if ceph_mon_host_type !\u003d \u0027HOSTNAME\u0027 else inventory_hostname }}\""},{"line_number":13,"context_line":"    image: \"{{ ceph_mon_image_full }}\""},{"line_number":14,"context_line":"    labels:"}],"source_content_type":"text/x-yaml","patch_set":2,"id":"9fb8cfa7_2d29ec35","line":11,"range":{"start_line":11,"start_character":18,"end_line":11,"end_character":97},"updated":"2019-06-28 08:51:21.000000000","message":"storage_interface_address?","commit_id":"6f971e6cda9e69be272fee0ef2e00380d67dab2d"},{"author":{"_account_id":24250,"name":"wangwei","email":"wangw88916@126.com","username":"Dream_x"},"change_message_id":"89234de547953632b798b4b976eee2c05db44e04","unresolved":false,"context_lines":[{"line_number":8,"context_line":"    environment:"},{"line_number":9,"context_line":"      KOLLA_BOOTSTRAP:"},{"line_number":10,"context_line":"      KOLLA_CONFIG_STRATEGY: \"{{ config_strategy }}\""},{"line_number":11,"context_line":"      MON_IP: \"{{ hostvars[inventory_hostname][\u0027ansible_\u0027 + storage_interface][\u0027ipv4\u0027][\u0027address\u0027] }}\""},{"line_number":12,"context_line":"      HOSTNAME: \"{{ storage_interface_address if ceph_mon_host_type !\u003d \u0027HOSTNAME\u0027 else inventory_hostname }}\""},{"line_number":13,"context_line":"    image: \"{{ ceph_mon_image_full }}\""},{"line_number":14,"context_line":"    labels:"}],"source_content_type":"text/x-yaml","patch_set":2,"id":"9fb8cfa7_3175c632","line":11,"range":{"start_line":11,"start_character":18,"end_line":11,"end_character":97},"in_reply_to":"9fb8cfa7_2d29ec35","updated":"2019-06-28 10:12:56.000000000","message":"yes, you are right, I will change it. Thanks^^","commit_id":"6f971e6cda9e69be272fee0ef2e00380d67dab2d"}],"ansible/roles/ceph/tasks/start_mdss.yml":[{"author":{"_account_id":14826,"name":"Mark Goddard","email":"markgoddard86@gmail.com","username":"mgoddard"},"change_message_id":"acdb15a9eb1b2dffcdc081d2a23015cbb74d98e5","unresolved":false,"context_lines":[{"line_number":27,"context_line":"  register: ceph_mds_auth"},{"line_number":28,"context_line":"  run_once: true"},{"line_number":29,"context_line":"  delegate_to: \"{{ groups[\u0027ceph-mon\u0027][0] }}\""},{"line_number":30,"context_line":"  with_items: \"{{ groups[\u0027ceph-mds\u0027] }}\""},{"line_number":31,"context_line":""},{"line_number":32,"context_line":"- name: Pushing ceph mds keyring to ceph-mds"},{"line_number":33,"context_line":"  become: true"}],"source_content_type":"text/x-yaml","patch_set":3,"id":"9fb8cfa7_288f552f","side":"PARENT","line":30,"updated":"2019-07-03 14:02:35.000000000","message":"This does look a bit odd. Do you know why it was like this?","commit_id":"470108a1c095fc1c5a74f852a8ab57f1e0fa7dd1"},{"author":{"_account_id":24250,"name":"wangwei","email":"wangw88916@126.com","username":"Dream_x"},"change_message_id":"aae039869b9b81216a4e07cdfdb8d06f9e7d97b7","unresolved":false,"context_lines":[{"line_number":27,"context_line":"  register: ceph_mds_auth"},{"line_number":28,"context_line":"  run_once: true"},{"line_number":29,"context_line":"  delegate_to: \"{{ groups[\u0027ceph-mon\u0027][0] }}\""},{"line_number":30,"context_line":"  with_items: \"{{ groups[\u0027ceph-mds\u0027] }}\""},{"line_number":31,"context_line":""},{"line_number":32,"context_line":"- name: Pushing ceph mds keyring to ceph-mds"},{"line_number":33,"context_line":"  become: true"}],"source_content_type":"text/x-yaml","patch_set":3,"id":"7faddb67_db7537ce","side":"PARENT","line":30,"in_reply_to":"9fb8cfa7_288f552f","updated":"2019-07-04 07:07:23.000000000","message":"The processing here is to get the keyrings corresponding to all mds nodes at one time, because the inventory_hostname of mds node was used before, so he can use the loop to get it. But ceph_mds_hostname represents only the value of the current node, so I modified to get the keyring corresponding to the current node in each mds node.","commit_id":"470108a1c095fc1c5a74f852a8ab57f1e0fa7dd1"}],"ansible/roles/ceph/templates/ceph-mds.json.j2":[{"author":{"_account_id":14826,"name":"Mark Goddard","email":"markgoddard86@gmail.com","username":"mgoddard"},"change_message_id":"acdb15a9eb1b2dffcdc081d2a23015cbb74d98e5","unresolved":false,"context_lines":[{"line_number":1,"context_line":"{"},{"line_number":2,"context_line":"    \"command\": \"/usr/bin/ceph-mds -f -c /etc/ceph/ceph.conf -i {{ ceph_mds_hostname }}\","},{"line_number":3,"context_line":"    \"config_files\": ["},{"line_number":4,"context_line":"        {"},{"line_number":5,"context_line":"            \"source\": \"{{ container_config_directory }}/ceph.conf\","}],"source_content_type":"text/x-jinja2","patch_set":3,"id":"9fb8cfa7_c8747939","line":2,"range":{"start_line":2,"start_character":66,"end_line":2,"end_character":83},"updated":"2019-07-03 14:02:35.000000000","message":"Is this change going to break existing clusters which used inventory_hostname?","commit_id":"45ce99f05a30d0729f9fe90bbce9d80892ec96ba"},{"author":{"_account_id":24250,"name":"wangwei","email":"wangw88916@126.com","username":"Dream_x"},"change_message_id":"aae039869b9b81216a4e07cdfdb8d06f9e7d97b7","unresolved":false,"context_lines":[{"line_number":1,"context_line":"{"},{"line_number":2,"context_line":"    \"command\": \"/usr/bin/ceph-mds -f -c /etc/ceph/ceph.conf -i {{ ceph_mds_hostname }}\","},{"line_number":3,"context_line":"    \"config_files\": ["},{"line_number":4,"context_line":"        {"},{"line_number":5,"context_line":"            \"source\": \"{{ container_config_directory }}/ceph.conf\","}],"source_content_type":"text/x-jinja2","patch_set":3,"id":"7faddb67_1bd0afc9","line":2,"range":{"start_line":2,"start_character":66,"end_line":2,"end_character":83},"in_reply_to":"9fb8cfa7_c8747939","updated":"2019-07-04 07:07:23.000000000","message":"You are right, I will add the option of inventory_hostname to avoid this problem.","commit_id":"45ce99f05a30d0729f9fe90bbce9d80892ec96ba"}],"ansible/roles/ceph/templates/ceph-mon.json.j2":[{"author":{"_account_id":24072,"name":"Marcin Juszkiewicz","email":"mjuszkiewicz@redhat.com","username":"hrw"},"change_message_id":"f1c6d47604bba4612199e08f96e8254cf76655ac","unresolved":false,"context_lines":[{"line_number":2,"context_line":"{%- if ceph_mon_host_type !\u003d \u0027HOSTNAME\u0027 %}"},{"line_number":3,"context_line":"    \"command\": \"/usr/bin/ceph-mon -f {% if ceph_debug %}-d{% endif %} -i {{ hostvars[inventory_hostname][\u0027ansible_\u0027 + storage_interface][\u0027ipv4\u0027][\u0027address\u0027] }} --public-addr {{ hostvars[inventory_hostname][\u0027ansible_\u0027 + storage_interface][\u0027ipv4\u0027][\u0027address\u0027] }}:6789\","},{"line_number":4,"context_line":"{%- else %}"},{"line_number":5,"context_line":"    \"command\": \"/usr/bin/ceph-mon -f {% if ceph_debug %}-d{% endif %} -i {{ inventory_hostname }} --public-addr {{ hostvars[inventory_hostname][\u0027ansible_\u0027 + storage_interface][\u0027ipv4\u0027][\u0027address\u0027] }}:6789\","},{"line_number":6,"context_line":"{%- endif %}"},{"line_number":7,"context_line":"    \"config_files\": ["},{"line_number":8,"context_line":"        {"}],"source_content_type":"text/x-jinja2","patch_set":1,"id":"9fb8cfa7_fcd51a1c","line":5,"range":{"start_line":5,"start_character":112,"end_line":5,"end_character":197},"updated":"2019-06-24 10:56:28.000000000","message":"should {{storage_interface_address}} be used here?","commit_id":"79f97550900950e837c9db6d1188f995fa61239d"},{"author":{"_account_id":14826,"name":"Mark Goddard","email":"markgoddard86@gmail.com","username":"mgoddard"},"change_message_id":"16133dd5910b5f4075ff2d55552367b554d3ce8c","unresolved":false,"context_lines":[{"line_number":2,"context_line":"{%- if ceph_mon_host_type !\u003d \u0027HOSTNAME\u0027 %}"},{"line_number":3,"context_line":"    \"command\": \"/usr/bin/ceph-mon -f {% if ceph_debug %}-d{% endif %} -i {{ hostvars[inventory_hostname][\u0027ansible_\u0027 + storage_interface][\u0027ipv4\u0027][\u0027address\u0027] }} --public-addr {{ hostvars[inventory_hostname][\u0027ansible_\u0027 + storage_interface][\u0027ipv4\u0027][\u0027address\u0027] }}:6789\","},{"line_number":4,"context_line":"{%- else %}"},{"line_number":5,"context_line":"    \"command\": \"/usr/bin/ceph-mon -f {% if ceph_debug %}-d{% endif %} -i {{ inventory_hostname }} --public-addr {{ hostvars[inventory_hostname][\u0027ansible_\u0027 + storage_interface][\u0027ipv4\u0027][\u0027address\u0027] }}:6789\","},{"line_number":6,"context_line":"{%- endif %}"},{"line_number":7,"context_line":"    \"config_files\": ["},{"line_number":8,"context_line":"        {"}],"source_content_type":"text/x-jinja2","patch_set":1,"id":"9fb8cfa7_ce52a013","line":5,"range":{"start_line":5,"start_character":112,"end_line":5,"end_character":197},"in_reply_to":"9fb8cfa7_8ee34dd8","updated":"2019-06-27 09:02:57.000000000","message":"It doesn\u0027t work if different hosts have different interface names.","commit_id":"79f97550900950e837c9db6d1188f995fa61239d"},{"author":{"_account_id":24250,"name":"wangwei","email":"wangw88916@126.com","username":"Dream_x"},"change_message_id":"e70db673c7f260d79a3fb8942ca119b9864e84b0","unresolved":false,"context_lines":[{"line_number":2,"context_line":"{%- if ceph_mon_host_type !\u003d \u0027HOSTNAME\u0027 %}"},{"line_number":3,"context_line":"    \"command\": \"/usr/bin/ceph-mon -f {% if ceph_debug %}-d{% endif %} -i {{ hostvars[inventory_hostname][\u0027ansible_\u0027 + storage_interface][\u0027ipv4\u0027][\u0027address\u0027] }} --public-addr {{ hostvars[inventory_hostname][\u0027ansible_\u0027 + storage_interface][\u0027ipv4\u0027][\u0027address\u0027] }}:6789\","},{"line_number":4,"context_line":"{%- else %}"},{"line_number":5,"context_line":"    \"command\": \"/usr/bin/ceph-mon -f {% if ceph_debug %}-d{% endif %} -i {{ inventory_hostname }} --public-addr {{ hostvars[inventory_hostname][\u0027ansible_\u0027 + storage_interface][\u0027ipv4\u0027][\u0027address\u0027] }}:6789\","},{"line_number":6,"context_line":"{%- endif %}"},{"line_number":7,"context_line":"    \"config_files\": ["},{"line_number":8,"context_line":"        {"}],"source_content_type":"text/x-jinja2","patch_set":1,"id":"9fb8cfa7_917fe964","line":5,"range":{"start_line":5,"start_character":112,"end_line":5,"end_character":197},"in_reply_to":"9fb8cfa7_ce52a013","updated":"2019-06-27 09:51:57.000000000","message":"I tested the following case, it works well. Because the storage_interface is also different according to the node, so as long as the configuration is correct, the ip address should be correct.\n\n[storage-mon]\nceph-node1 storage_interface\u003dens160\nceph-node2 storage_interface\u003dens160\nceph-node3 storage_interface\u003dens192","commit_id":"79f97550900950e837c9db6d1188f995fa61239d"},{"author":{"_account_id":24250,"name":"wangwei","email":"wangw88916@126.com","username":"Dream_x"},"change_message_id":"8508bd0052ca93c223d7822620b350bbfc865a24","unresolved":false,"context_lines":[{"line_number":2,"context_line":"{%- if ceph_mon_host_type !\u003d \u0027HOSTNAME\u0027 %}"},{"line_number":3,"context_line":"    \"command\": \"/usr/bin/ceph-mon -f {% if ceph_debug %}-d{% endif %} -i {{ hostvars[inventory_hostname][\u0027ansible_\u0027 + storage_interface][\u0027ipv4\u0027][\u0027address\u0027] }} --public-addr {{ hostvars[inventory_hostname][\u0027ansible_\u0027 + storage_interface][\u0027ipv4\u0027][\u0027address\u0027] }}:6789\","},{"line_number":4,"context_line":"{%- else %}"},{"line_number":5,"context_line":"    \"command\": \"/usr/bin/ceph-mon -f {% if ceph_debug %}-d{% endif %} -i {{ inventory_hostname }} --public-addr {{ hostvars[inventory_hostname][\u0027ansible_\u0027 + storage_interface][\u0027ipv4\u0027][\u0027address\u0027] }}:6789\","},{"line_number":6,"context_line":"{%- endif %}"},{"line_number":7,"context_line":"    \"config_files\": ["},{"line_number":8,"context_line":"        {"}],"source_content_type":"text/x-jinja2","patch_set":1,"id":"9fb8cfa7_0ed75df0","line":5,"range":{"start_line":5,"start_character":112,"end_line":5,"end_character":197},"in_reply_to":"9fb8cfa7_fa4e7a94","updated":"2019-06-27 02:37:02.000000000","message":"I have tested it, it works well, the inventory_hostname of each node is different, so the result is correct.","commit_id":"79f97550900950e837c9db6d1188f995fa61239d"},{"author":{"_account_id":14826,"name":"Mark Goddard","email":"markgoddard86@gmail.com","username":"mgoddard"},"change_message_id":"ad959a752ab4839d04e27e981e502a042086c9dc","unresolved":false,"context_lines":[{"line_number":2,"context_line":"{%- if ceph_mon_host_type !\u003d \u0027HOSTNAME\u0027 %}"},{"line_number":3,"context_line":"    \"command\": \"/usr/bin/ceph-mon -f {% if ceph_debug %}-d{% endif %} -i {{ hostvars[inventory_hostname][\u0027ansible_\u0027 + storage_interface][\u0027ipv4\u0027][\u0027address\u0027] }} --public-addr {{ hostvars[inventory_hostname][\u0027ansible_\u0027 + storage_interface][\u0027ipv4\u0027][\u0027address\u0027] }}:6789\","},{"line_number":4,"context_line":"{%- else %}"},{"line_number":5,"context_line":"    \"command\": \"/usr/bin/ceph-mon -f {% if ceph_debug %}-d{% endif %} -i {{ inventory_hostname }} --public-addr {{ hostvars[inventory_hostname][\u0027ansible_\u0027 + storage_interface][\u0027ipv4\u0027][\u0027address\u0027] }}:6789\","},{"line_number":6,"context_line":"{%- endif %}"},{"line_number":7,"context_line":"    \"config_files\": ["},{"line_number":8,"context_line":"        {"}],"source_content_type":"text/x-jinja2","patch_set":1,"id":"9fb8cfa7_fa4e7a94","line":5,"range":{"start_line":5,"start_character":112,"end_line":5,"end_character":197},"in_reply_to":"9fb8cfa7_fcd51a1c","updated":"2019-06-24 13:38:00.000000000","message":"I think there can be problems with this.","commit_id":"79f97550900950e837c9db6d1188f995fa61239d"},{"author":{"_account_id":24250,"name":"wangwei","email":"wangw88916@126.com","username":"Dream_x"},"change_message_id":"8508bd0052ca93c223d7822620b350bbfc865a24","unresolved":false,"context_lines":[{"line_number":2,"context_line":"{%- if ceph_mon_host_type !\u003d \u0027HOSTNAME\u0027 %}"},{"line_number":3,"context_line":"    \"command\": \"/usr/bin/ceph-mon -f {% if ceph_debug %}-d{% endif %} -i {{ hostvars[inventory_hostname][\u0027ansible_\u0027 + storage_interface][\u0027ipv4\u0027][\u0027address\u0027] }} --public-addr {{ hostvars[inventory_hostname][\u0027ansible_\u0027 + storage_interface][\u0027ipv4\u0027][\u0027address\u0027] }}:6789\","},{"line_number":4,"context_line":"{%- else %}"},{"line_number":5,"context_line":"    \"command\": \"/usr/bin/ceph-mon -f {% if ceph_debug %}-d{% endif %} -i {{ inventory_hostname }} --public-addr {{ hostvars[inventory_hostname][\u0027ansible_\u0027 + storage_interface][\u0027ipv4\u0027][\u0027address\u0027] }}:6789\","},{"line_number":6,"context_line":"{%- endif %}"},{"line_number":7,"context_line":"    \"config_files\": ["},{"line_number":8,"context_line":"        {"}],"source_content_type":"text/x-jinja2","patch_set":1,"id":"9fb8cfa7_8ee34dd8","line":5,"range":{"start_line":5,"start_character":112,"end_line":5,"end_character":197},"in_reply_to":"9fb8cfa7_fcd51a1c","updated":"2019-06-27 02:37:02.000000000","message":"Yes, you are right, we can use it here.","commit_id":"79f97550900950e837c9db6d1188f995fa61239d"},{"author":{"_account_id":14826,"name":"Mark Goddard","email":"markgoddard86@gmail.com","username":"mgoddard"},"change_message_id":"5f809260f3823c4bd1586c07716a0c70741991c0","unresolved":false,"context_lines":[{"line_number":1,"context_line":"{"},{"line_number":2,"context_line":"{%- if ceph_mon_host_type !\u003d \u0027HOSTNAME\u0027 %}"},{"line_number":3,"context_line":"    \"command\": \"/usr/bin/ceph-mon -f {% if ceph_debug %}-d{% endif %} -i {{ storage_interface_address }} --public-addr {{ storage_interface_address }}:6789\","},{"line_number":4,"context_line":"{%- else %}"},{"line_number":5,"context_line":"    \"command\": \"/usr/bin/ceph-mon -f {% if ceph_debug %}-d{% endif %} -i {{ inventory_hostname }} --public-addr {{ storage_interface_address }}:6789\","}],"source_content_type":"text/x-jinja2","patch_set":2,"id":"9fb8cfa7_6dd84452","line":2,"range":{"start_line":2,"start_character":4,"end_line":2,"end_character":39},"updated":"2019-06-28 08:51:21.000000000","message":"Using ceph_mon_hostname would eliminate this if.","commit_id":"6f971e6cda9e69be272fee0ef2e00380d67dab2d"}],"ansible/roles/ceph/templates/ceph.conf.j2":[{"author":{"_account_id":14826,"name":"Mark Goddard","email":"markgoddard86@gmail.com","username":"mgoddard"},"change_message_id":"acdb15a9eb1b2dffcdc081d2a23015cbb74d98e5","unresolved":false,"context_lines":[{"line_number":7,"context_line":""},{"line_number":8,"context_line":"fsid \u003d {{ ceph_cluster_fsid }}"},{"line_number":9,"context_line":"{% if ceph_mon_host_type \u003d\u003d \u0027HOSTNAME\u0027 %}"},{"line_number":10,"context_line":"mon initial members \u003d {% for host in groups[\u0027ceph-mon\u0027] %}{{ hostvars[host][\u0027ansible_hostname\u0027] }}{% if not loop.last %}, {% endif %}{% endfor %}"},{"line_number":11,"context_line":"{% elif ceph_mon_host_type \u003d\u003d \u0027FQDN\u0027 %}"},{"line_number":12,"context_line":"mon initial members \u003d {% for host in groups[\u0027ceph-mon\u0027] %}{{ hostvars[host][\u0027ansible_fqdn\u0027] }}{% if not loop.last %}, {% endif %}{% endfor %}"},{"line_number":13,"context_line":"{%- else %}"}],"source_content_type":"text/x-jinja2","patch_set":3,"id":"9fb8cfa7_289d1557","line":10,"range":{"start_line":10,"start_character":76,"end_line":10,"end_character":94},"updated":"2019-07-03 14:02:35.000000000","message":"Why not use ceph_mon_hostname in each case, and remove the \u0027if\u0027?","commit_id":"45ce99f05a30d0729f9fe90bbce9d80892ec96ba"},{"author":{"_account_id":24250,"name":"wangwei","email":"wangw88916@126.com","username":"Dream_x"},"change_message_id":"357774b61543e0efe55651699165f8e85e16bd99","unresolved":false,"context_lines":[{"line_number":7,"context_line":""},{"line_number":8,"context_line":"fsid \u003d {{ ceph_cluster_fsid }}"},{"line_number":9,"context_line":"{% if ceph_mon_host_type \u003d\u003d \u0027HOSTNAME\u0027 %}"},{"line_number":10,"context_line":"mon initial members \u003d {% for host in groups[\u0027ceph-mon\u0027] %}{{ hostvars[host][\u0027ansible_hostname\u0027] }}{% if not loop.last %}, {% endif %}{% endfor %}"},{"line_number":11,"context_line":"{% elif ceph_mon_host_type \u003d\u003d \u0027FQDN\u0027 %}"},{"line_number":12,"context_line":"mon initial members \u003d {% for host in groups[\u0027ceph-mon\u0027] %}{{ hostvars[host][\u0027ansible_fqdn\u0027] }}{% if not loop.last %}, {% endif %}{% endfor %}"},{"line_number":13,"context_line":"{%- else %}"}],"source_content_type":"text/x-jinja2","patch_set":3,"id":"7faddb67_e12abd8e","line":10,"range":{"start_line":10,"start_character":76,"end_line":10,"end_character":94},"in_reply_to":"7faddb67_016919bd","updated":"2019-07-04 08:44:08.000000000","message":"When the task is executed, ceph_mon_hostname has been replaced with the actual value (hostname or ip), we can\u0027t use it to get the corresponding properties. So the following error will occur:\n\nTASK [ceph : Copying over ceph.conf]\nFAILED! \u003d\u003e {\"failed\": true, \"msg\": \"\u0027dict object\u0027 has no attribute u\u0027192.168.10.11\u0027\"}\nor\nFAILED! \u003d\u003e {\"failed\": true, \"msg\": \"\u0027dict object\u0027 has no attribute u\u0027ceph-node1\u0027\"}","commit_id":"45ce99f05a30d0729f9fe90bbce9d80892ec96ba"},{"author":{"_account_id":14826,"name":"Mark Goddard","email":"markgoddard86@gmail.com","username":"mgoddard"},"change_message_id":"98d52bc090be310c3fc73a32a3db6539e7762d03","unresolved":false,"context_lines":[{"line_number":7,"context_line":""},{"line_number":8,"context_line":"fsid \u003d {{ ceph_cluster_fsid }}"},{"line_number":9,"context_line":"{% if ceph_mon_host_type \u003d\u003d \u0027HOSTNAME\u0027 %}"},{"line_number":10,"context_line":"mon initial members \u003d {% for host in groups[\u0027ceph-mon\u0027] %}{{ hostvars[host][\u0027ansible_hostname\u0027] }}{% if not loop.last %}, {% endif %}{% endfor %}"},{"line_number":11,"context_line":"{% elif ceph_mon_host_type \u003d\u003d \u0027FQDN\u0027 %}"},{"line_number":12,"context_line":"mon initial members \u003d {% for host in groups[\u0027ceph-mon\u0027] %}{{ hostvars[host][\u0027ansible_fqdn\u0027] }}{% if not loop.last %}, {% endif %}{% endfor %}"},{"line_number":13,"context_line":"{%- else %}"}],"source_content_type":"text/x-jinja2","patch_set":3,"id":"7faddb67_1cf66291","line":10,"range":{"start_line":10,"start_character":76,"end_line":10,"end_character":94},"in_reply_to":"7faddb67_1c474220","updated":"2019-07-04 09:13:35.000000000","message":"Ok, that doesn\u0027t really make sense to me, but never mind.","commit_id":"45ce99f05a30d0729f9fe90bbce9d80892ec96ba"},{"author":{"_account_id":24250,"name":"wangwei","email":"wangw88916@126.com","username":"Dream_x"},"change_message_id":"bfaaf89a7d55788adba3e1c9d213dfba676dca40","unresolved":false,"context_lines":[{"line_number":7,"context_line":""},{"line_number":8,"context_line":"fsid \u003d {{ ceph_cluster_fsid }}"},{"line_number":9,"context_line":"{% if ceph_mon_host_type \u003d\u003d \u0027HOSTNAME\u0027 %}"},{"line_number":10,"context_line":"mon initial members \u003d {% for host in groups[\u0027ceph-mon\u0027] %}{{ hostvars[host][\u0027ansible_hostname\u0027] }}{% if not loop.last %}, {% endif %}{% endfor %}"},{"line_number":11,"context_line":"{% elif ceph_mon_host_type \u003d\u003d \u0027FQDN\u0027 %}"},{"line_number":12,"context_line":"mon initial members \u003d {% for host in groups[\u0027ceph-mon\u0027] %}{{ hostvars[host][\u0027ansible_fqdn\u0027] }}{% if not loop.last %}, {% endif %}{% endfor %}"},{"line_number":13,"context_line":"{%- else %}"}],"source_content_type":"text/x-jinja2","patch_set":3,"id":"7faddb67_7c30b608","line":10,"range":{"start_line":10,"start_character":76,"end_line":10,"end_character":94},"in_reply_to":"7faddb67_1cf66291","updated":"2019-07-04 09:31:50.000000000","message":"Thanks for your detailed review.:-)","commit_id":"45ce99f05a30d0729f9fe90bbce9d80892ec96ba"},{"author":{"_account_id":14826,"name":"Mark Goddard","email":"markgoddard86@gmail.com","username":"mgoddard"},"change_message_id":"694da2c491325b685096396043745547442e50fa","unresolved":false,"context_lines":[{"line_number":7,"context_line":""},{"line_number":8,"context_line":"fsid \u003d {{ ceph_cluster_fsid }}"},{"line_number":9,"context_line":"{% if ceph_mon_host_type \u003d\u003d \u0027HOSTNAME\u0027 %}"},{"line_number":10,"context_line":"mon initial members \u003d {% for host in groups[\u0027ceph-mon\u0027] %}{{ hostvars[host][\u0027ansible_hostname\u0027] }}{% if not loop.last %}, {% endif %}{% endfor %}"},{"line_number":11,"context_line":"{% elif ceph_mon_host_type \u003d\u003d \u0027FQDN\u0027 %}"},{"line_number":12,"context_line":"mon initial members \u003d {% for host in groups[\u0027ceph-mon\u0027] %}{{ hostvars[host][\u0027ansible_fqdn\u0027] }}{% if not loop.last %}, {% endif %}{% endfor %}"},{"line_number":13,"context_line":"{%- else %}"}],"source_content_type":"text/x-jinja2","patch_set":3,"id":"7faddb67_016919bd","line":10,"range":{"start_line":10,"start_character":76,"end_line":10,"end_character":94},"in_reply_to":"7faddb67_7b668354","updated":"2019-07-04 08:10:56.000000000","message":"Should have been more clear.\n\nhostvars[host][ceph_mon_hostname]","commit_id":"45ce99f05a30d0729f9fe90bbce9d80892ec96ba"},{"author":{"_account_id":14826,"name":"Mark Goddard","email":"markgoddard86@gmail.com","username":"mgoddard"},"change_message_id":"155b2d2689ada8d79883e33296aec356f4e3c27f","unresolved":false,"context_lines":[{"line_number":7,"context_line":""},{"line_number":8,"context_line":"fsid \u003d {{ ceph_cluster_fsid }}"},{"line_number":9,"context_line":"{% if ceph_mon_host_type \u003d\u003d \u0027HOSTNAME\u0027 %}"},{"line_number":10,"context_line":"mon initial members \u003d {% for host in groups[\u0027ceph-mon\u0027] %}{{ hostvars[host][\u0027ansible_hostname\u0027] }}{% if not loop.last %}, {% endif %}{% endfor %}"},{"line_number":11,"context_line":"{% elif ceph_mon_host_type \u003d\u003d \u0027FQDN\u0027 %}"},{"line_number":12,"context_line":"mon initial members \u003d {% for host in groups[\u0027ceph-mon\u0027] %}{{ hostvars[host][\u0027ansible_fqdn\u0027] }}{% if not loop.last %}, {% endif %}{% endfor %}"},{"line_number":13,"context_line":"{%- else %}"}],"source_content_type":"text/x-jinja2","patch_set":3,"id":"7faddb67_fc3fc6b2","line":10,"range":{"start_line":10,"start_character":76,"end_line":10,"end_character":94},"in_reply_to":"7faddb67_e12abd8e","updated":"2019-07-04 08:48:45.000000000","message":"Nearly there...\n\nhostvars[host][\u0027ceph_mon_hostname\u0027]","commit_id":"45ce99f05a30d0729f9fe90bbce9d80892ec96ba"},{"author":{"_account_id":24250,"name":"wangwei","email":"wangw88916@126.com","username":"Dream_x"},"change_message_id":"caa95dcf7dd57fb473b2318ca6bf25abafeacda0","unresolved":false,"context_lines":[{"line_number":7,"context_line":""},{"line_number":8,"context_line":"fsid \u003d {{ ceph_cluster_fsid }}"},{"line_number":9,"context_line":"{% if ceph_mon_host_type \u003d\u003d \u0027HOSTNAME\u0027 %}"},{"line_number":10,"context_line":"mon initial members \u003d {% for host in groups[\u0027ceph-mon\u0027] %}{{ hostvars[host][\u0027ansible_hostname\u0027] }}{% if not loop.last %}, {% endif %}{% endfor %}"},{"line_number":11,"context_line":"{% elif ceph_mon_host_type \u003d\u003d \u0027FQDN\u0027 %}"},{"line_number":12,"context_line":"mon initial members \u003d {% for host in groups[\u0027ceph-mon\u0027] %}{{ hostvars[host][\u0027ansible_fqdn\u0027] }}{% if not loop.last %}, {% endif %}{% endfor %}"},{"line_number":13,"context_line":"{%- else %}"}],"source_content_type":"text/x-jinja2","patch_set":3,"id":"7faddb67_1c474220","line":10,"range":{"start_line":10,"start_character":76,"end_line":10,"end_character":94},"in_reply_to":"7faddb67_fc3fc6b2","updated":"2019-07-04 08:57:32.000000000","message":"Still have errors:\n\nTASK [ceph : Copying over ceph.conf] *************************************\nfatal: [ceph-node1]: FAILED! \u003d\u003e {\"failed\": true, \"msg\": \"\u0027dict object\u0027 has no attribute \u0027ceph_mon_hostname\u0027\"}","commit_id":"45ce99f05a30d0729f9fe90bbce9d80892ec96ba"},{"author":{"_account_id":24250,"name":"wangwei","email":"wangw88916@126.com","username":"Dream_x"},"change_message_id":"aae039869b9b81216a4e07cdfdb8d06f9e7d97b7","unresolved":false,"context_lines":[{"line_number":7,"context_line":""},{"line_number":8,"context_line":"fsid \u003d {{ ceph_cluster_fsid }}"},{"line_number":9,"context_line":"{% if ceph_mon_host_type \u003d\u003d \u0027HOSTNAME\u0027 %}"},{"line_number":10,"context_line":"mon initial members \u003d {% for host in groups[\u0027ceph-mon\u0027] %}{{ hostvars[host][\u0027ansible_hostname\u0027] }}{% if not loop.last %}, {% endif %}{% endfor %}"},{"line_number":11,"context_line":"{% elif ceph_mon_host_type \u003d\u003d \u0027FQDN\u0027 %}"},{"line_number":12,"context_line":"mon initial members \u003d {% for host in groups[\u0027ceph-mon\u0027] %}{{ hostvars[host][\u0027ansible_fqdn\u0027] }}{% if not loop.last %}, {% endif %}{% endfor %}"},{"line_number":13,"context_line":"{%- else %}"}],"source_content_type":"text/x-jinja2","patch_set":3,"id":"7faddb67_7b668354","line":10,"range":{"start_line":10,"start_character":76,"end_line":10,"end_character":94},"in_reply_to":"9fb8cfa7_289d1557","updated":"2019-07-04 07:07:23.000000000","message":"Here we can not use ceph_mon_hostname, because ceph_mon_hostname is a fixed value, is determined according to the inventory_hostname of the current node, and here is the hostname of all mon, in the loop we have to get the corresponding value according to the host.","commit_id":"45ce99f05a30d0729f9fe90bbce9d80892ec96ba"}]}
