)]}'
{"ansible/roles/mariadb/defaults/main.yml":[{"author":{"_account_id":14119,"name":"Sam Yaple","email":"sam+git@yaple.net","username":"SamYaple"},"change_message_id":"01dc6b4d0f4c79f3dfc063114b5b4b5cdf329efe","unresolved":false,"context_lines":[{"line_number":5,"context_line":"# Database"},{"line_number":6,"context_line":"####################"},{"line_number":7,"context_line":"database_cluster_name: \"openstack\""},{"line_number":8,"context_line":"database_data_dir: \"/var/lib/mysql/\""},{"line_number":9,"context_line":"database_max_timeout: 60"},{"line_number":10,"context_line":""},{"line_number":11,"context_line":"####################"}],"source_content_type":"text/x-yaml","patch_set":5,"id":"3a7e1126_89f60ed6","line":8,"updated":"2015-12-17 01:29:18.000000000","message":"even given your explaination about not repeating this, this value should not be variable. If you want it to be a variable, use the {% set %} jinja2 stuff in the template itself.","commit_id":"61d672ce6aed0dbfa9e5de44f56dc6e5ac93693f"},{"author":{"_account_id":7693,"name":"Sidharth Surana","email":"ssurana@vmware.com","username":"ssurana"},"change_message_id":"8383a555c10267b4784845e44a893a36e7fc7d2d","unresolved":false,"context_lines":[{"line_number":5,"context_line":"# Database"},{"line_number":6,"context_line":"####################"},{"line_number":7,"context_line":"database_cluster_name: \"openstack\""},{"line_number":8,"context_line":"database_data_dir: \"/var/lib/mysql/\""},{"line_number":9,"context_line":"database_max_timeout: 60"},{"line_number":10,"context_line":""},{"line_number":11,"context_line":"####################"}],"source_content_type":"text/x-yaml","patch_set":5,"id":"3a7e1126_8bb477f2","line":8,"in_reply_to":"3a7e1126_89f60ed6","updated":"2015-12-17 21:31:21.000000000","message":"Actually, I do need this as a variable since I need to access this from the yml playbook as well.\n\nHad it been just this template, I would agree to go with the {% set %} approach.","commit_id":"61d672ce6aed0dbfa9e5de44f56dc6e5ac93693f"},{"author":{"_account_id":14119,"name":"Sam Yaple","email":"sam+git@yaple.net","username":"SamYaple"},"change_message_id":"bf792e86c807409f0ffab6ce97e22e0116dd17e0","unresolved":false,"context_lines":[{"line_number":5,"context_line":"# Database"},{"line_number":6,"context_line":"####################"},{"line_number":7,"context_line":"database_cluster_name: \"openstack\""},{"line_number":8,"context_line":"database_data_dir: \"/var/lib/mysql/\""},{"line_number":9,"context_line":"database_cluster_exists_file: \"{{ database_data_dir }}cluster.exists\""},{"line_number":10,"context_line":"database_max_timeout: 60"},{"line_number":11,"context_line":""}],"source_content_type":"text/x-yaml","patch_set":6,"id":"3a7e1126_8b5b0d2e","line":8,"updated":"2015-12-17 22:21:14.000000000","message":"again, this is not a variable that will be here. Since this is _not_ a variable that the end user can use, it should not be a variable here.\n\nYes that means you will have to write /var/lib/mysql in several places.","commit_id":"ef3f54afa4c36f2c8eae222cb1007d7bddc8ed23"},{"author":{"_account_id":14119,"name":"Sam Yaple","email":"sam+git@yaple.net","username":"SamYaple"},"change_message_id":"b8648b3aa99dd78022f2e710826b964251f8783d","unresolved":false,"context_lines":[{"line_number":5,"context_line":"# Database"},{"line_number":6,"context_line":"####################"},{"line_number":7,"context_line":"database_cluster_name: \"openstack\""},{"line_number":8,"context_line":"database_data_dir: \"/var/lib/mysql/\""},{"line_number":9,"context_line":"database_cluster_exists_file: \"{{ database_data_dir }}cluster.exists\""},{"line_number":10,"context_line":"database_max_timeout: 60"},{"line_number":11,"context_line":""}],"source_content_type":"text/x-yaml","patch_set":6,"id":"3a7e1126_18285132","line":8,"in_reply_to":"3a7e1126_0e9c0b68","updated":"2015-12-21 20:17:39.000000000","message":"expected, no. Possible to be overriden, yes.\n\nCode that is hardcoded in the container (like paths) should never be variables.\n\nAdditionally using the variable only respects DRY if it is variable to begin with, which this value is not variable.","commit_id":"ef3f54afa4c36f2c8eae222cb1007d7bddc8ed23"},{"author":{"_account_id":7693,"name":"Sidharth Surana","email":"ssurana@vmware.com","username":"ssurana"},"change_message_id":"b03ed7a2b92ba323b3952d167d03c9a610c76f94","unresolved":false,"context_lines":[{"line_number":5,"context_line":"# Database"},{"line_number":6,"context_line":"####################"},{"line_number":7,"context_line":"database_cluster_name: \"openstack\""},{"line_number":8,"context_line":"database_data_dir: \"/var/lib/mysql/\""},{"line_number":9,"context_line":"database_cluster_exists_file: \"{{ database_data_dir }}cluster.exists\""},{"line_number":10,"context_line":"database_max_timeout: 60"},{"line_number":11,"context_line":""}],"source_content_type":"text/x-yaml","patch_set":6,"id":"3a7e1126_0e9c0b68","line":8,"in_reply_to":"3a7e1126_8b5b0d2e","updated":"2015-12-21 18:58:27.000000000","message":"But does that mean that every variable that you have in the defaults/main.yml files across code base is expected to be overridden by the user? Thoughts?? \n\nokay, may be this is just a coding style choice. I prefer not to have literal repetition in the code (DRY principal), which motivated me to add this as a variable.\nBut I will take that out, if that is against the coding style here.","commit_id":"ef3f54afa4c36f2c8eae222cb1007d7bddc8ed23"},{"author":{"_account_id":14119,"name":"Sam Yaple","email":"sam+git@yaple.net","username":"SamYaple"},"change_message_id":"a41d448325f56668853ade1d16c07d99e743434e","unresolved":false,"context_lines":[{"line_number":5,"context_line":"# Database"},{"line_number":6,"context_line":"####################"},{"line_number":7,"context_line":"database_cluster_name: \"openstack\""},{"line_number":8,"context_line":"database_cluster_exists_file: \"/var/lib/mysql/cluster.exists\""},{"line_number":9,"context_line":"database_max_timeout: 60"},{"line_number":10,"context_line":""},{"line_number":11,"context_line":"####################"}],"source_content_type":"text/x-yaml","patch_set":7,"id":"3a7e1126_38e0adcc","line":8,"updated":"2015-12-21 20:20:43.000000000","message":"This should not be a variable since this location is not variable","commit_id":"b2569519cb38c8bcde72863671cc8b71e5cc841d"}],"ansible/roles/mariadb/tasks/bootstrap.yml":[{"author":{"_account_id":14119,"name":"Sam Yaple","email":"sam+git@yaple.net","username":"SamYaple"},"change_message_id":"0217f0c5a8766e4a6f33809015c126035ca544d9","unresolved":false,"context_lines":[{"line_number":75,"context_line":"      KOLLA_CONFIG_STRATEGY: \"{{ config_strategy }}\""},{"line_number":76,"context_line":"      DB_ROOT_PASSWORD: \"{{ database_password }}\""},{"line_number":77,"context_line":"      DB_PID_FILE: \"/var/lib/mysql/{{ hostvars[inventory_hostname][\u0027ansible_hostname\u0027] }}-galera.pid\""},{"line_number":78,"context_line":"      DB_CLUSTER_EXISTS_FILE: \"/var/lib/mysql/cluster.exists\""},{"line_number":79,"context_line":"      DB_MAX_TIMEOUT: \"{{ database_max_timeout }}\""},{"line_number":80,"context_line":"  when: delegate_host \u003d\u003d \u0027None\u0027 and inventory_hostname \u003d\u003d groups[\u0027mariadb\u0027][0]"},{"line_number":81,"context_line":""}],"source_content_type":"text/x-yaml","patch_set":8,"id":"3a7e1126_fe568dcc","line":78,"updated":"2015-12-21 21:23:08.000000000","message":"This shouldn\u0027t be passed in as a variable, this is not configurable, please revert this to the static string in the container","commit_id":"785b1a29eab5a09d76b7a5d015418f6f98f61496"}],"ansible/roles/mariadb/tasks/register.yml":[{"author":{"_account_id":14119,"name":"Sam Yaple","email":"sam+git@yaple.net","username":"SamYaple"},"change_message_id":"aa30a76f836a4526483a8bcd07eb0205c9fd78b6","unresolved":false,"context_lines":[{"line_number":11,"context_line":"        host\u003d\u0027%\u0027\""},{"line_number":12,"context_line":"  register: haproxy_user"},{"line_number":13,"context_line":"  changed_when: \"{{ haproxy_user.stdout.find(\u0027localhost | SUCCESS \u003d\u003e \u0027) !\u003d -1 and (haproxy_user.stdout.split(\u0027localhost | SUCCESS \u003d\u003e \u0027)[1]|from_json).changed }}\""},{"line_number":14,"context_line":"  until: haproxy_user.stdout.split()[2] \u003d\u003d \u0027SUCCESS\u0027"},{"line_number":15,"context_line":"  retries: 10"},{"line_number":16,"context_line":"  delay: 5"},{"line_number":17,"context_line":""}],"source_content_type":"text/x-yaml","patch_set":4,"id":"5a710552_81da6a77","side":"PARENT","line":14,"updated":"2015-12-14 18:39:42.000000000","message":"none of this should be removed","commit_id":"6316279278dc0d71e570f1e1dc989733f56a6c9a"},{"author":{"_account_id":14119,"name":"Sam Yaple","email":"sam+git@yaple.net","username":"SamYaple"},"change_message_id":"01dc6b4d0f4c79f3dfc063114b5b4b5cdf329efe","unresolved":false,"context_lines":[{"line_number":11,"context_line":"        host\u003d\u0027%\u0027\""},{"line_number":12,"context_line":"  register: haproxy_user"},{"line_number":13,"context_line":"  changed_when: \"{{ haproxy_user.stdout.find(\u0027localhost | SUCCESS \u003d\u003e \u0027) !\u003d -1 and (haproxy_user.stdout.split(\u0027localhost | SUCCESS \u003d\u003e \u0027)[1]|from_json).changed }}\""},{"line_number":14,"context_line":"  until: haproxy_user.stdout.split()[2] \u003d\u003d \u0027SUCCESS\u0027"},{"line_number":15,"context_line":"  retries: 10"},{"line_number":16,"context_line":"  delay: 5"},{"line_number":17,"context_line":""}],"source_content_type":"text/x-yaml","patch_set":5,"id":"3a7e1126_09d8de52","side":"PARENT","line":14,"updated":"2015-12-17 01:29:18.000000000","message":"again, this stuff is absolutely needed, this also catches failures in a meaningful way. This should run on all machines as it is a test of the individual node being accessible (not through the load balanacer)\n\nLong story short, dont change this section at all.","commit_id":"03fd08d867ec7967d2f0ec8813d865ea25a93a06"},{"author":{"_account_id":7693,"name":"Sidharth Surana","email":"ssurana@vmware.com","username":"ssurana"},"change_message_id":"8383a555c10267b4784845e44a893a36e7fc7d2d","unresolved":false,"context_lines":[{"line_number":11,"context_line":"        host\u003d\u0027%\u0027\""},{"line_number":12,"context_line":"  register: haproxy_user"},{"line_number":13,"context_line":"  changed_when: \"{{ haproxy_user.stdout.find(\u0027localhost | SUCCESS \u003d\u003e \u0027) !\u003d -1 and (haproxy_user.stdout.split(\u0027localhost | SUCCESS \u003d\u003e \u0027)[1]|from_json).changed }}\""},{"line_number":14,"context_line":"  until: haproxy_user.stdout.split()[2] \u003d\u003d \u0027SUCCESS\u0027"},{"line_number":15,"context_line":"  retries: 10"},{"line_number":16,"context_line":"  delay: 5"},{"line_number":17,"context_line":""}],"source_content_type":"text/x-yaml","patch_set":5,"id":"3a7e1126_eb1bbb7e","side":"PARENT","line":14,"in_reply_to":"3a7e1126_09d8de52","updated":"2015-12-17 21:31:21.000000000","message":"Okay I understand the intent here for what you are saying to test accessibility, but I actually disagree with the approach here. \nSo, by the time the code execution reaches this step, the expectation is:\n\n1. The multi node galera cluster is properly set up.\n2. Given #1 is accomplished, theoretically only the first node to complete this action should really have the \"changed\" \u003d true, and the other nodes should get \"changed\" \u003d false, given #1 is true.\n3. In case for #2 if we see \"changed\" \u003d true for all 3 nodes, that means we actually did not get #1 set up properly. and after this statement, the transactionid on all 3 nodes possibly will be different, and may cause the cluster to be not properly setup in future.\n\n\nI believe a better approach would be to query the cluster status and check if the cluster reports the right number of nodes as we expect, and then only issue this command to one node, and have the cluster take care of replicating that.","commit_id":"03fd08d867ec7967d2f0ec8813d865ea25a93a06"},{"author":{"_account_id":7693,"name":"Sidharth Surana","email":"ssurana@vmware.com","username":"ssurana"},"change_message_id":"1315ea36a534f6a622a64a3af3e4747bce0b0549","unresolved":false,"context_lines":[{"line_number":11,"context_line":"        host\u003d\u0027%\u0027\""},{"line_number":12,"context_line":"  register: haproxy_user"},{"line_number":13,"context_line":"  changed_when: \"{{ haproxy_user.stdout.find(\u0027localhost | SUCCESS \u003d\u003e \u0027) !\u003d -1 and (haproxy_user.stdout.split(\u0027localhost | SUCCESS \u003d\u003e \u0027)[1]|from_json).changed }}\""},{"line_number":14,"context_line":"  until: haproxy_user.stdout.split()[2] \u003d\u003d \u0027SUCCESS\u0027"},{"line_number":15,"context_line":"  retries: 10"},{"line_number":16,"context_line":"  delay: 5"},{"line_number":17,"context_line":""}],"source_content_type":"text/x-yaml","patch_set":5,"id":"3a7e1126_ae3857a1","side":"PARENT","line":14,"in_reply_to":"3a7e1126_6b6ee102","updated":"2015-12-21 18:58:04.000000000","message":"Well that\u0027s exactly what I said in #2 above (which is the expected behavior), only 1 node should change and the others should just be a no-op. I mentioned \"changed\" not just SUCCESS \n\nThe problem is I encountered behavior mentioned in #3 which is concerning, if and when it happens.","commit_id":"03fd08d867ec7967d2f0ec8813d865ea25a93a06"},{"author":{"_account_id":14119,"name":"Sam Yaple","email":"sam+git@yaple.net","username":"SamYaple"},"change_message_id":"bc05322c48738e4a23ce03b53cc914e49c2a3cdc","unresolved":false,"context_lines":[{"line_number":11,"context_line":"        host\u003d\u0027%\u0027\""},{"line_number":12,"context_line":"  register: haproxy_user"},{"line_number":13,"context_line":"  changed_when: \"{{ haproxy_user.stdout.find(\u0027localhost | SUCCESS \u003d\u003e \u0027) !\u003d -1 and (haproxy_user.stdout.split(\u0027localhost | SUCCESS \u003d\u003e \u0027)[1]|from_json).changed }}\""},{"line_number":14,"context_line":"  until: haproxy_user.stdout.split()[2] \u003d\u003d \u0027SUCCESS\u0027"},{"line_number":15,"context_line":"  retries: 10"},{"line_number":16,"context_line":"  delay: 5"},{"line_number":17,"context_line":""}],"source_content_type":"text/x-yaml","patch_set":5,"id":"3a7e1126_586499b7","side":"PARENT","line":14,"in_reply_to":"3a7e1126_ae3857a1","updated":"2015-12-21 20:17:35.000000000","message":"Oh i see what you mean. Yes _you_ can encounter the third scenario because of this patchset, but with the master code you can never encounter the third scenario.","commit_id":"03fd08d867ec7967d2f0ec8813d865ea25a93a06"},{"author":{"_account_id":14119,"name":"Sam Yaple","email":"sam+git@yaple.net","username":"SamYaple"},"change_message_id":"4343d968f2af0ee06cd750e6ebfea298ff2badb1","unresolved":false,"context_lines":[{"line_number":11,"context_line":"        host\u003d\u0027%\u0027\""},{"line_number":12,"context_line":"  register: haproxy_user"},{"line_number":13,"context_line":"  changed_when: \"{{ haproxy_user.stdout.find(\u0027localhost | SUCCESS \u003d\u003e \u0027) !\u003d -1 and (haproxy_user.stdout.split(\u0027localhost | SUCCESS \u003d\u003e \u0027)[1]|from_json).changed }}\""},{"line_number":14,"context_line":"  until: haproxy_user.stdout.split()[2] \u003d\u003d \u0027SUCCESS\u0027"},{"line_number":15,"context_line":"  retries: 10"},{"line_number":16,"context_line":"  delay: 5"},{"line_number":17,"context_line":""}],"source_content_type":"text/x-yaml","patch_set":5,"id":"3a7e1126_6b6ee102","side":"PARENT","line":14,"in_reply_to":"3a7e1126_eb1bbb7e","updated":"2015-12-17 22:35:30.000000000","message":"You are incorrect. First, not all nodes get a changed (only the first one that successfully changes it). It just all nodes get a return of SUCCESS, thats not the same as changed.","commit_id":"03fd08d867ec7967d2f0ec8813d865ea25a93a06"},{"author":{"_account_id":14119,"name":"Sam Yaple","email":"sam+git@yaple.net","username":"SamYaple"},"change_message_id":"bf792e86c807409f0ffab6ce97e22e0116dd17e0","unresolved":false,"context_lines":[{"line_number":11,"context_line":"        host\u003d\u0027%\u0027\""},{"line_number":12,"context_line":"  register: haproxy_user"},{"line_number":13,"context_line":"  changed_when: \"{{ haproxy_user.stdout.find(\u0027localhost | SUCCESS \u003d\u003e \u0027) !\u003d -1 and (haproxy_user.stdout.split(\u0027localhost | SUCCESS \u003d\u003e \u0027)[1]|from_json).changed }}\""},{"line_number":14,"context_line":"  until: haproxy_user.stdout.split()[2] \u003d\u003d \u0027SUCCESS\u0027"},{"line_number":15,"context_line":"  retries: 10"},{"line_number":16,"context_line":"  delay: 5"},{"line_number":17,"context_line":""}],"source_content_type":"text/x-yaml","patch_set":6,"id":"3a7e1126_6b6fc1c5","side":"PARENT","line":14,"updated":"2015-12-17 22:21:14.000000000","message":"again, you should not be adjusting this. This is a test that does more than just create the haproxy user. It ensures all nodes are operational","commit_id":"03fd08d867ec7967d2f0ec8813d865ea25a93a06"}],"ansible/roles/mariadb/tasks/start.yml":[{"author":{"_account_id":14119,"name":"Sam Yaple","email":"sam+git@yaple.net","username":"SamYaple"},"change_message_id":"01dc6b4d0f4c79f3dfc063114b5b4b5cdf329efe","unresolved":false,"context_lines":[{"line_number":1,"context_line":"---"},{"line_number":2,"context_line":"- name: Starting MariaDB master container"},{"line_number":3,"context_line":"  docker:"},{"line_number":4,"context_line":"    tty: True"},{"line_number":5,"context_line":"    net: host"}],"source_content_type":"text/x-yaml","patch_set":5,"id":"3a7e1126_e98eb226","line":2,"updated":"2015-12-17 01:29:18.000000000","message":"There is no \"master\" mariadb galera node and this should not be here. Plus this won\u0027t work without your base/start.sh and that is not something you can change in this patchset","commit_id":"61d672ce6aed0dbfa9e5de44f56dc6e5ac93693f"}],"ansible/roles/mariadb/templates/galera.cnf.j2":[{"author":{"_account_id":14119,"name":"Sam Yaple","email":"sam+git@yaple.net","username":"SamYaple"},"change_message_id":"aa30a76f836a4526483a8bcd07eb0205c9fd78b6","unresolved":false,"context_lines":[{"line_number":7,"context_line":"default-storage-engine\u003dinnodb"},{"line_number":8,"context_line":"innodb_autoinc_lock_mode\u003d2"},{"line_number":9,"context_line":""},{"line_number":10,"context_line":"datadir\u003d{{ database_data_dir }}"},{"line_number":11,"context_line":""},{"line_number":12,"context_line":"wsrep_cluster_address\u003dgcomm://{% if (groups[\u0027mariadb\u0027] | length) \u003e 1 %}{% for host in groups[\u0027mariadb\u0027] %}{{ hostvars[host][\u0027ansible_\u0027 + api_interface][\u0027ipv4\u0027][\u0027address\u0027] }}:{{ mariadb_wsrep_port }}{% if not loop.last %},{% endif %}{% endfor %}{% endif %}"},{"line_number":13,"context_line":""}],"source_content_type":"text/x-jinja2","patch_set":4,"id":"5a710552_61e73e13","line":10,"updated":"2015-12-14 18:39:42.000000000","message":"why is the database directory varible? it is inside a container and this should_not be a variable. it should always be /var/lib/mysql","commit_id":"24e2dc3d4238d837a9731f02e3b20a62342edd1c"},{"author":{"_account_id":7693,"name":"Sidharth Surana","email":"ssurana@vmware.com","username":"ssurana"},"change_message_id":"d38f9a3df770806aa9eb7e4db2d43a595264d4bc","unresolved":false,"context_lines":[{"line_number":7,"context_line":"default-storage-engine\u003dinnodb"},{"line_number":8,"context_line":"innodb_autoinc_lock_mode\u003d2"},{"line_number":9,"context_line":""},{"line_number":10,"context_line":"datadir\u003d{{ database_data_dir }}"},{"line_number":11,"context_line":""},{"line_number":12,"context_line":"wsrep_cluster_address\u003dgcomm://{% if (groups[\u0027mariadb\u0027] | length) \u003e 1 %}{% for host in groups[\u0027mariadb\u0027] %}{{ hostvars[host][\u0027ansible_\u0027 + api_interface][\u0027ipv4\u0027][\u0027address\u0027] }}:{{ mariadb_wsrep_port }}{% if not loop.last %},{% endif %}{% endfor %}{% endif %}"},{"line_number":13,"context_line":""}],"source_content_type":"text/x-jinja2","patch_set":4,"id":"3a7e1126_bb2473af","line":10,"in_reply_to":"5a710552_61e73e13","updated":"2015-12-16 22:54:03.000000000","message":"This is just so that I don\u0027t have to repeat it manually for the \"pid-file\" property below. \nMore for single point of configuration.","commit_id":"24e2dc3d4238d837a9731f02e3b20a62342edd1c"},{"author":{"_account_id":14119,"name":"Sam Yaple","email":"sam+git@yaple.net","username":"SamYaple"},"change_message_id":"bf792e86c807409f0ffab6ce97e22e0116dd17e0","unresolved":false,"context_lines":[{"line_number":7,"context_line":"default-storage-engine\u003dinnodb"},{"line_number":8,"context_line":"innodb_autoinc_lock_mode\u003d2"},{"line_number":9,"context_line":""},{"line_number":10,"context_line":"datadir\u003d{{ database_data_dir }}"},{"line_number":11,"context_line":""},{"line_number":12,"context_line":"wsrep_cluster_address\u003dgcomm://{% if (groups[\u0027mariadb\u0027] | length) \u003e 1 %}{% for host in groups[\u0027mariadb\u0027] %}{{ hostvars[host][\u0027ansible_\u0027 + api_interface][\u0027ipv4\u0027][\u0027address\u0027] }}:{{ mariadb_wsrep_port }}{% if not loop.last %},{% endif %}{% endfor %}{% endif %}"},{"line_number":13,"context_line":""}],"source_content_type":"text/x-jinja2","patch_set":6,"id":"3a7e1126_cb9fd5b2","line":10,"updated":"2015-12-17 22:21:14.000000000","message":"same comment about this not being variable (under no circumstance will this be a variable there are hard coded dockerfile things that use /var/lib/mysql)","commit_id":"ef3f54afa4c36f2c8eae222cb1007d7bddc8ed23"},{"author":{"_account_id":7488,"name":"Jeffrey Zhang","email":"zhang.lei.fly@gmail.com","username":"Jeffrey4l"},"change_message_id":"5af4df6a7086bf2c2bed874fd891b451391ca8e9","unresolved":false,"context_lines":[{"line_number":26,"context_line":"max_connections\u003d1000"},{"line_number":27,"context_line":""},{"line_number":28,"context_line":"[server]"},{"line_number":29,"context_line":"pid-file\u003d/var/lib/mysql/{{ hostvars[inventory_hostname][\u0027ansible_hostname\u0027] }}-galera.pid"}],"source_content_type":"text/x-jinja2","patch_set":9,"id":"1a7b0d38_cc5aa650","line":29,"updated":"2015-12-24 07:32:30.000000000","message":"Could u explain what\u0027s the difference between {{ hostvars[inventory_hostname][\u0027ansible_hostname\u0027] }} and {{ ansible_hostname }}\n\nIn my understanding, they are always equal.","commit_id":"092bb413048163e2c299074999bd11185c7abdbb"},{"author":{"_account_id":7693,"name":"Sidharth Surana","email":"ssurana@vmware.com","username":"ssurana"},"change_message_id":"35d64f17a07a2960045b8fb9a7210cb29737f29c","unresolved":false,"context_lines":[{"line_number":26,"context_line":"max_connections\u003d1000"},{"line_number":27,"context_line":""},{"line_number":28,"context_line":"[server]"},{"line_number":29,"context_line":"pid-file\u003d/var/lib/mysql/{{ hostvars[inventory_hostname][\u0027ansible_hostname\u0027] }}-galera.pid"}],"source_content_type":"text/x-jinja2","patch_set":9,"id":"fa69d971_25ad5e31","line":29,"in_reply_to":"1a7b0d38_cc5aa650","updated":"2016-01-04 17:11:01.000000000","message":"Done","commit_id":"092bb413048163e2c299074999bd11185c7abdbb"},{"author":{"_account_id":14119,"name":"Sam Yaple","email":"sam+git@yaple.net","username":"SamYaple"},"change_message_id":"803bb339a6e7e78974674c7f4503886cff25ec0c","unresolved":false,"context_lines":[{"line_number":26,"context_line":"max_connections\u003d1000"},{"line_number":27,"context_line":""},{"line_number":28,"context_line":"[server]"},{"line_number":29,"context_line":"pid-file\u003d/var/lib/mysql/{{ hostvars[inventory_hostname][\u0027ansible_hostname\u0027] }}-galera.pid"}],"source_content_type":"text/x-jinja2","patch_set":9,"id":"fa69d971_4cec8fc7","line":29,"in_reply_to":"1a7b0d38_cc5aa650","updated":"2015-12-30 15:51:22.000000000","message":"you are correct Jeffrey","commit_id":"092bb413048163e2c299074999bd11185c7abdbb"}],"docker/base/start.sh":[{"author":{"_account_id":14119,"name":"Sam Yaple","email":"sam+git@yaple.net","username":"SamYaple"},"change_message_id":"01dc6b4d0f4c79f3dfc063114b5b4b5cdf329efe","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":5,"id":"3a7e1126_89cb6e72","updated":"2015-12-17 01:29:18.000000000","message":"This file should absolutely _not_ be modified. And certainly not in this patchset as this has far reaching changes.","commit_id":"61d672ce6aed0dbfa9e5de44f56dc6e5ac93693f"}],"docker/mariadb/extend_start.sh":[{"author":{"_account_id":14119,"name":"Sam Yaple","email":"sam+git@yaple.net","username":"SamYaple"},"change_message_id":"aa30a76f836a4526483a8bcd07eb0205c9fd78b6","unresolved":false,"context_lines":[{"line_number":26,"context_line":"    touch /var/lib/mysql/cluster.exists"},{"line_number":27,"context_line":"    mysql_install_db"},{"line_number":28,"context_line":"    bootstrap_db"},{"line_number":29,"context_line":"    exit 0"},{"line_number":30,"context_line":"fi"}],"source_content_type":"text/x-sh","patch_set":4,"id":"5a710552_410002ab","line":29,"updated":"2015-12-14 18:39:42.000000000","message":"this will break multinode, the \"bootstrap\" container must be running","commit_id":"24e2dc3d4238d837a9731f02e3b20a62342edd1c"},{"author":{"_account_id":14119,"name":"Sam Yaple","email":"sam+git@yaple.net","username":"SamYaple"},"change_message_id":"01dc6b4d0f4c79f3dfc063114b5b4b5cdf329efe","unresolved":false,"context_lines":[{"line_number":26,"context_line":"    touch /var/lib/mysql/cluster.exists"},{"line_number":27,"context_line":"    mysql_install_db"},{"line_number":28,"context_line":"    bootstrap_db"},{"line_number":29,"context_line":"    exit 0"},{"line_number":30,"context_line":"fi"}],"source_content_type":"text/x-sh","patch_set":5,"id":"3a7e1126_e9879210","line":29,"updated":"2015-12-17 01:29:18.000000000","message":"This is the reason you think multinode \"never worked\" because you are exiting here. In the current method this _doesn\u0027t_ exit, allowing the --wsrep-new-cluster option to pass through to the exec in the base/start.sh","commit_id":"61d672ce6aed0dbfa9e5de44f56dc6e5ac93693f"},{"author":{"_account_id":7693,"name":"Sidharth Surana","email":"ssurana@vmware.com","username":"ssurana"},"change_message_id":"8383a555c10267b4784845e44a893a36e7fc7d2d","unresolved":false,"context_lines":[{"line_number":26,"context_line":"    touch /var/lib/mysql/cluster.exists"},{"line_number":27,"context_line":"    mysql_install_db"},{"line_number":28,"context_line":"    bootstrap_db"},{"line_number":29,"context_line":"    exit 0"},{"line_number":30,"context_line":"fi"}],"source_content_type":"text/x-sh","patch_set":5,"id":"3a7e1126_3d56e6d2","line":29,"in_reply_to":"3a7e1126_e9879210","updated":"2015-12-17 21:31:21.000000000","message":"well not really, since with the unchanged code, in my environment, I could not get even a single successful db setup with the original code, thus it let me to investigate whats happening. \n\nHowever, the point I missed, is the fact that the extended start scrip is not directly executed, but rather is executed as part of the base start.sh.\n\nNow, I think the true reason for the failure on my environment for the original code, was just pure timing and nothing else.\n\nI will address this in a different way, in the next patch.","commit_id":"61d672ce6aed0dbfa9e5de44f56dc6e5ac93693f"},{"author":{"_account_id":14119,"name":"Sam Yaple","email":"sam+git@yaple.net","username":"SamYaple"},"change_message_id":"bf792e86c807409f0ffab6ce97e22e0116dd17e0","unresolved":false,"context_lines":[{"line_number":25,"context_line":"    ARGS\u003d\"--wsrep-new-cluster\""},{"line_number":26,"context_line":"    mysql_install_db"},{"line_number":27,"context_line":"    bootstrap_db"},{"line_number":28,"context_line":"    touch ${DB_CLUSTER_EXISTS_FILE}"},{"line_number":29,"context_line":"fi"}],"source_content_type":"text/x-sh","patch_set":6,"id":"3a7e1126_2bdf796a","line":28,"updated":"2015-12-17 22:21:14.000000000","message":"please leave this alone, turning this into a variable that is passed into the container has no value and runs counter to most of our other code.\n\nSince this file will always exist at _this_ location, it should be static","commit_id":"ef3f54afa4c36f2c8eae222cb1007d7bddc8ed23"},{"author":{"_account_id":7693,"name":"Sidharth Surana","email":"ssurana@vmware.com","username":"ssurana"},"change_message_id":"b03ed7a2b92ba323b3952d167d03c9a610c76f94","unresolved":false,"context_lines":[{"line_number":25,"context_line":"    ARGS\u003d\"--wsrep-new-cluster\""},{"line_number":26,"context_line":"    mysql_install_db"},{"line_number":27,"context_line":"    bootstrap_db"},{"line_number":28,"context_line":"    touch ${DB_CLUSTER_EXISTS_FILE}"},{"line_number":29,"context_line":"fi"}],"source_content_type":"text/x-sh","patch_set":6,"id":"3a7e1126_67323e61","line":28,"in_reply_to":"3a7e1126_2bdf796a","updated":"2015-12-21 18:58:27.000000000","message":"This is needed to be a variable since we need to refer to this file in the ansible code. If we keep it hardcoded here, and replicate the same path manually again at other places in ansible, it will soon become extremely difficult to track. As one is under docker folder and other under the ansible folder.\nSo, IMHO there is a lot of value in passing this from ansible as it makes code more \"maintainable\" in long run.","commit_id":"ef3f54afa4c36f2c8eae222cb1007d7bddc8ed23"},{"author":{"_account_id":14119,"name":"Sam Yaple","email":"sam+git@yaple.net","username":"SamYaple"},"change_message_id":"b8648b3aa99dd78022f2e710826b964251f8783d","unresolved":false,"context_lines":[{"line_number":25,"context_line":"    ARGS\u003d\"--wsrep-new-cluster\""},{"line_number":26,"context_line":"    mysql_install_db"},{"line_number":27,"context_line":"    bootstrap_db"},{"line_number":28,"context_line":"    touch ${DB_CLUSTER_EXISTS_FILE}"},{"line_number":29,"context_line":"fi"}],"source_content_type":"text/x-sh","patch_set":6,"id":"3a7e1126_78f075c9","line":28,"in_reply_to":"3a7e1126_67323e61","updated":"2015-12-21 20:17:39.000000000","message":"No. this should not change as we also have kolla-mesos. Making this variable is not acceptable, this is what is expected in the container at a specific location.\n\nWe don\u0027t pass in external values like this into the container since this value is not meant to be variable","commit_id":"ef3f54afa4c36f2c8eae222cb1007d7bddc8ed23"},{"author":{"_account_id":7488,"name":"Jeffrey Zhang","email":"zhang.lei.fly@gmail.com","username":"Jeffrey4l"},"change_message_id":"5af4df6a7086bf2c2bed874fd891b451391ca8e9","unresolved":false,"context_lines":[{"line_number":3,"context_line":"function bootstrap_db {"},{"line_number":4,"context_line":"    mysqld_safe --wsrep-new-cluster \u0026"},{"line_number":5,"context_line":"    # Wait for the mariadb server to be \"Ready\" before starting the security reset with a max timeout"},{"line_number":6,"context_line":"    TIMEOUT\u003d${DB_MAX_TIMEOUT}"},{"line_number":7,"context_line":"    while [ ! -f ${DB_PID_FILE} ]; do"},{"line_number":8,"context_line":"        if [[ ${TIMEOUT} -gt 0 ]]; then"},{"line_number":9,"context_line":"            let TIMEOUT-\u003d1"}],"source_content_type":"text/x-sh","patch_set":9,"id":"1a7b0d38_6c77f23a","line":6,"updated":"2015-12-24 07:32:30.000000000","message":"adding a default timeout should be better.\n\nTIMEOUT\u003d${DB_MAX_TIMEOUT:-60}","commit_id":"092bb413048163e2c299074999bd11185c7abdbb"},{"author":{"_account_id":7693,"name":"Sidharth Surana","email":"ssurana@vmware.com","username":"ssurana"},"change_message_id":"35d64f17a07a2960045b8fb9a7210cb29737f29c","unresolved":false,"context_lines":[{"line_number":3,"context_line":"function bootstrap_db {"},{"line_number":4,"context_line":"    mysqld_safe --wsrep-new-cluster \u0026"},{"line_number":5,"context_line":"    # Wait for the mariadb server to be \"Ready\" before starting the security reset with a max timeout"},{"line_number":6,"context_line":"    TIMEOUT\u003d${DB_MAX_TIMEOUT}"},{"line_number":7,"context_line":"    while [ ! -f ${DB_PID_FILE} ]; do"},{"line_number":8,"context_line":"        if [[ ${TIMEOUT} -gt 0 ]]; then"},{"line_number":9,"context_line":"            let TIMEOUT-\u003d1"}],"source_content_type":"text/x-sh","patch_set":9,"id":"fa69d971_f0faa6bc","line":6,"in_reply_to":"1a7b0d38_6c77f23a","updated":"2016-01-04 17:11:01.000000000","message":"Done","commit_id":"092bb413048163e2c299074999bd11185c7abdbb"},{"author":{"_account_id":14119,"name":"Sam Yaple","email":"sam+git@yaple.net","username":"SamYaple"},"change_message_id":"803bb339a6e7e78974674c7f4503886cff25ec0c","unresolved":false,"context_lines":[{"line_number":3,"context_line":"function bootstrap_db {"},{"line_number":4,"context_line":"    mysqld_safe --wsrep-new-cluster \u0026"},{"line_number":5,"context_line":"    # Wait for the mariadb server to be \"Ready\" before starting the security reset with a max timeout"},{"line_number":6,"context_line":"    TIMEOUT\u003d${DB_MAX_TIMEOUT}"},{"line_number":7,"context_line":"    while [ ! -f ${DB_PID_FILE} ]; do"},{"line_number":8,"context_line":"        if [[ ${TIMEOUT} -gt 0 ]]; then"},{"line_number":9,"context_line":"            let TIMEOUT-\u003d1"}],"source_content_type":"text/x-sh","patch_set":9,"id":"fa69d971_2cfefb6b","line":6,"in_reply_to":"1a7b0d38_6c77f23a","updated":"2015-12-30 15:51:22.000000000","message":"While I don\u0027t particularly like defaults in two places (ansible and here) I think you are correct about having a default Jeffrey","commit_id":"092bb413048163e2c299074999bd11185c7abdbb"}]}
