)]}'
{"/COMMIT_MSG":[{"author":{"_account_id":6488,"name":"Clint Byrum","email":"clint@fewbar.com","username":"clint-fewbar"},"change_message_id":"f2c2d35fc1ba3ff28d385138fbdbfb49669e4154","unresolved":false,"context_lines":[{"line_number":10,"context_line":"current status / health, allowing us to intelligently route MySQL"},{"line_number":11,"context_line":"queries to available / healthy members."},{"line_number":12,"context_line":""},{"line_number":13,"context_line":"Additionally, we:"},{"line_number":14,"context_line":""},{"line_number":15,"context_line":"* Create an \"xinetd\" element to install that component."},{"line_number":16,"context_line":"* Support custom privileges for managed MySQL users."}],"source_content_type":"text/x-gerrit-commit-message","patch_set":5,"id":"1abeadc6_dbc4f093","line":13,"updated":"2014-08-29 00:50:18.000000000","message":"\"Additionally\" or \"Also\" are good flags for where the other patches should be split.","commit_id":"1af13bfa5ea882be8f295070d22d448025717aec"},{"author":{"_account_id":741,"name":"Kiall Mac Innes","email":"kiall@macinnes.ie","username":"kiall"},"change_message_id":"c37cf70bb0760827c6a4c3ab0d46ebc394639698","unresolved":false,"context_lines":[{"line_number":10,"context_line":"current status / health, allowing us to intelligently route MySQL"},{"line_number":11,"context_line":"queries to available / healthy members."},{"line_number":12,"context_line":""},{"line_number":13,"context_line":"Additionally, we:"},{"line_number":14,"context_line":""},{"line_number":15,"context_line":"* Create an \"xinetd\" element to install that component."},{"line_number":16,"context_line":"* Support custom privileges for managed MySQL users."}],"source_content_type":"text/x-gerrit-commit-message","patch_set":5,"id":"5a890539_a4440675","line":13,"in_reply_to":"1abeadc6_dbc4f093","updated":"2014-11-10 13:01:31.000000000","message":"Done","commit_id":"1af13bfa5ea882be8f295070d22d448025717aec"}],"elements/mysql-common/README.md":[{"author":{"_account_id":6488,"name":"Clint Byrum","email":"clint@fewbar.com","username":"clint-fewbar"},"change_message_id":"f2c2d35fc1ba3ff28d385138fbdbfb49669e4154","unresolved":false,"context_lines":[{"line_number":39,"context_line":"        - username: dbuser2"},{"line_number":40,"context_line":"          database: somedb"},{"line_number":41,"context_line":"          password: abcdefg12345"},{"line_number":42,"context_line":"          privilege: \"USAGE, SELECT\""}],"source_content_type":"text/x-gfm","patch_set":5,"id":"1abeadc6_7bd67c50","line":42,"updated":"2014-08-29 00:50:18.000000000","message":"Don\u0027t forget to move this into a separate patch as well.","commit_id":"1af13bfa5ea882be8f295070d22d448025717aec"},{"author":{"_account_id":741,"name":"Kiall Mac Innes","email":"kiall@macinnes.ie","username":"kiall"},"change_message_id":"c37cf70bb0760827c6a4c3ab0d46ebc394639698","unresolved":false,"context_lines":[{"line_number":39,"context_line":"        - username: dbuser2"},{"line_number":40,"context_line":"          database: somedb"},{"line_number":41,"context_line":"          password: abcdefg12345"},{"line_number":42,"context_line":"          privilege: \"USAGE, SELECT\""}],"source_content_type":"text/x-gfm","patch_set":5,"id":"5a890539_045b1a55","line":42,"in_reply_to":"1abeadc6_7bd67c50","updated":"2014-11-10 13:01:31.000000000","message":"Done","commit_id":"1af13bfa5ea882be8f295070d22d448025717aec"}],"elements/mysql-common/install.d/11-mysql-clustercheck":[{"author":{"_account_id":6488,"name":"Clint Byrum","email":"clint@fewbar.com","username":"clint-fewbar"},"change_message_id":"a3890b458de538bcb42445c361d70156d141c5fc","unresolved":false,"context_lines":[{"line_number":1,"context_line":"#!/bin/bash"},{"line_number":2,"context_line":""},{"line_number":3,"context_line":"set -eux"},{"line_number":4,"context_line":""},{"line_number":5,"context_line":"SCRIPTDIR\u003d$(dirname $0)"},{"line_number":6,"context_line":""}],"source_content_type":"application/x-shellscript","patch_set":1,"id":"1abeadc6_55c0764f","line":3,"updated":"2014-08-23 14:48:18.000000000","message":"missing set -o pipefail","commit_id":"35f411a4a5aa1c030e85f9586c55c7f4551a0345"},{"author":{"_account_id":6488,"name":"Clint Byrum","email":"clint@fewbar.com","username":"clint-fewbar"},"change_message_id":"a3890b458de538bcb42445c361d70156d141c5fc","unresolved":false,"context_lines":[{"line_number":7,"context_line":"# Ensure the clustercheck script, placed here by os-apply-config, is executable."},{"line_number":8,"context_line":"chmod +x /usr/local/bin/clustercheck"},{"line_number":9,"context_line":""},{"line_number":10,"context_line":"# Install the clustercheck xinetd service."},{"line_number":11,"context_line":"install -D -g root -o root -m 0644 ${SCRIPTDIR}/mysqlchk /etc/xinetd.d/mysqlchk"},{"line_number":12,"context_line":""},{"line_number":13,"context_line":"cat \u003c\u003cEOF \u003e /etc/services"}],"source_content_type":"application/x-shellscript","patch_set":1,"id":"1abeadc6_95adae9d","line":10,"updated":"2014-08-23 14:48:18.000000000","message":"Let\u0027s install clustercheck the same way we install mysqlchk.","commit_id":"35f411a4a5aa1c030e85f9586c55c7f4551a0345"},{"author":{"_account_id":741,"name":"Kiall Mac Innes","email":"kiall@macinnes.ie","username":"kiall"},"change_message_id":"4552000aa00824244915942b3455a726a88b0507","unresolved":false,"context_lines":[{"line_number":6,"context_line":"SCRIPTDIR\u003d$(dirname $0)"},{"line_number":7,"context_line":""},{"line_number":8,"context_line":"# Install the clustercheck script and xinetd service"},{"line_number":9,"context_line":"install -D -g root -o root -m 0755 ${SCRIPTDIR}/clustercheck /etc/xinetd.d/clustercheck"},{"line_number":10,"context_line":"install -D -g root -o root -m 0644 ${SCRIPTDIR}/mysqlchk /etc/xinetd.d/mysqlchk"},{"line_number":11,"context_line":""},{"line_number":12,"context_line":"cat \u003c\u003cEOF \u003e /etc/services"}],"source_content_type":"application/x-shellscript","patch_set":2,"id":"1abeadc6_8b6c980a","line":9,"updated":"2014-08-25 09:40:53.000000000","message":"And this path is completely wrong :)","commit_id":"5ebfe6f0ef6fa27a1bed2e1eb9e8b7f19ccac1f8"},{"author":{"_account_id":7582,"name":"Jan Provaznik","email":"jan.provaznik@gmail.com","username":"jprovazn"},"change_message_id":"dbdca785e93cb8a765e30f493982cf1c4273027a","unresolved":false,"context_lines":[{"line_number":6,"context_line":"SCRIPTDIR\u003d$(dirname $0)"},{"line_number":7,"context_line":""},{"line_number":8,"context_line":"# Install the clustercheck script and xinetd service"},{"line_number":9,"context_line":"install -D -g root -o root -m 0755 ${SCRIPTDIR}/clustercheck /usr/local/bin/clustercheck"},{"line_number":10,"context_line":"install -D -g root -o root -m 0755 ${SCRIPTDIR}/clustercheck-tripleo /usr/local/bin/clustercheck-tripleo"},{"line_number":11,"context_line":"install -D -g root -o root -m 0644 ${SCRIPTDIR}/mysqlchk /etc/xinetd.d/mysqlchk"},{"line_number":12,"context_line":""}],"source_content_type":"application/x-shellscript","patch_set":5,"id":"baa201ad_d36ecd00","line":9,"updated":"2014-10-03 07:54:45.000000000","message":"clustercheck script is shipped with mariadb-galera-server rpm:\n\n[root@overcloud-controller0-ef2kjnwbwuxh ~]# rpm -qf /usr/bin/clustercheck \nmariadb-galera-server-5.5.39-2.fc20.i686","commit_id":"1af13bfa5ea882be8f295070d22d448025717aec"},{"author":{"_account_id":741,"name":"Kiall Mac Innes","email":"kiall@macinnes.ie","username":"kiall"},"change_message_id":"c37cf70bb0760827c6a4c3ab0d46ebc394639698","unresolved":false,"context_lines":[{"line_number":6,"context_line":"SCRIPTDIR\u003d$(dirname $0)"},{"line_number":7,"context_line":""},{"line_number":8,"context_line":"# Install the clustercheck script and xinetd service"},{"line_number":9,"context_line":"install -D -g root -o root -m 0755 ${SCRIPTDIR}/clustercheck /usr/local/bin/clustercheck"},{"line_number":10,"context_line":"install -D -g root -o root -m 0755 ${SCRIPTDIR}/clustercheck-tripleo /usr/local/bin/clustercheck-tripleo"},{"line_number":11,"context_line":"install -D -g root -o root -m 0644 ${SCRIPTDIR}/mysqlchk /etc/xinetd.d/mysqlchk"},{"line_number":12,"context_line":""}],"source_content_type":"application/x-shellscript","patch_set":5,"id":"5a890539_84362a02","line":9,"in_reply_to":"baa201ad_d36ecd00","updated":"2014-11-10 13:01:31.000000000","message":"Sadly, we need the absolute latest version of the script in order to get Clint\u0027s recent change to support our usage pattern: \n\nhttps://github.com/olafz/percona-clustercheck/commit/837c340ce32978a3d301524c20665f718e901a2e","commit_id":"1af13bfa5ea882be8f295070d22d448025717aec"},{"author":{"_account_id":8688,"name":"Alexis Lee","email":"openstack@lxsli.co.uk","username":"lxsli"},"change_message_id":"37a2259acdecfb0624afd0b532d7e466bd416b0f","unresolved":false,"context_lines":[{"line_number":8,"context_line":"# Install the clustercheck script and xinetd service"},{"line_number":9,"context_line":"install -D -g root -o root -m 0755 ${SCRIPTDIR}/clustercheck /usr/local/bin/clustercheck"},{"line_number":10,"context_line":"install -D -g root -o root -m 0755 ${SCRIPTDIR}/clustercheck-tripleo /usr/local/bin/clustercheck-tripleo"},{"line_number":11,"context_line":"install -D -g root -o root -m 0644 ${SCRIPTDIR}/mysqlchk /etc/xinetd.d/mysqlchk"},{"line_number":12,"context_line":""},{"line_number":13,"context_line":"cat \u003c\u003cEOF \u003e\u003e /etc/services"},{"line_number":14,"context_line":"mysqlchk    9200/tcp    # MySQL check"}],"source_content_type":"application/x-shellscript","patch_set":8,"id":"5a890539_f1582e34","line":11,"updated":"2014-11-13 15:12:48.000000000","message":"nit: you could use install-static for these","commit_id":"2f253245ac66e545044be01b98037f87dc88f280"}],"elements/mysql-common/install.d/clustercheck":[{"author":{"_account_id":741,"name":"Kiall Mac Innes","email":"kiall@macinnes.ie","username":"kiall"},"change_message_id":"0506b28241222afea00890df17e1e2ddcd9d8402","unresolved":false,"context_lines":[{"line_number":53,"context_line":"TIMEOUT\u003d10"},{"line_number":54,"context_line":""},{"line_number":55,"context_line":"EXTRA_ARGS\u003d\"\""},{"line_number":56,"context_line":"if [[ -n \"$MYSQL_USERNAME\" ]]; then"},{"line_number":57,"context_line":"    EXTRA_ARGS\u003d\"$EXTRA_ARGS --user\u003d${MYSQL_USERNAME}\""},{"line_number":58,"context_line":"fi"},{"line_number":59,"context_line":"if [[ -n \"$MYSQL_PASSWORD\" ]]; then"}],"source_content_type":"application/x-shellscript","patch_set":4,"id":"1abeadc6_484521b2","line":56,"updated":"2014-08-25 11:55:25.000000000","message":"These two checks appear to need to be -z rather than -n\u0027s for everything to work as expected","commit_id":"ddf1fe9465b6005b8ee4b2f3e5f5baea1711a8c9"},{"author":{"_account_id":7144,"name":"James Slagle","email":"jslagle@redhat.com","username":"slagle"},"change_message_id":"36ea1e8169a7342bda6fc5a14ef371aa4f0e20f1","unresolved":false,"context_lines":[{"line_number":79,"context_line":"                    2\u003e${ERR_FILE} | tail -1 2\u003e\u003e${ERR_FILE})"},{"line_number":80,"context_line":""},{"line_number":81,"context_line":"        if [[ \"${READ_ONLY}\" \u003d\u003d \"ON\" ]];then"},{"line_number":82,"context_line":"            # Percona XtraDB Cluster node local state is \u0027Synced\u0027, but it is in"},{"line_number":83,"context_line":"            # read-only mode. The variable AVAILABLE_WHEN_READONLY is set to 0."},{"line_number":84,"context_line":"            # \u003d\u003e return HTTP 503"},{"line_number":85,"context_line":"            # Shell return-code is 1"}],"source_content_type":"application/x-shellscript","patch_set":5,"id":"1abeadc6_d896b693","line":82,"updated":"2014-08-29 00:20:32.000000000","message":"mysql-common is also used by all the mariadb elements as well. So, the comments/and output here should be updated to not be Percona XtraDB Cluster specific.\n\nif this is only intended to be used for Percona, then you could put it in a separate element.","commit_id":"1af13bfa5ea882be8f295070d22d448025717aec"},{"author":{"_account_id":741,"name":"Kiall Mac Innes","email":"kiall@macinnes.ie","username":"kiall"},"change_message_id":"c37cf70bb0760827c6a4c3ab0d46ebc394639698","unresolved":false,"context_lines":[{"line_number":79,"context_line":"                    2\u003e${ERR_FILE} | tail -1 2\u003e\u003e${ERR_FILE})"},{"line_number":80,"context_line":""},{"line_number":81,"context_line":"        if [[ \"${READ_ONLY}\" \u003d\u003d \"ON\" ]];then"},{"line_number":82,"context_line":"            # Percona XtraDB Cluster node local state is \u0027Synced\u0027, but it is in"},{"line_number":83,"context_line":"            # read-only mode. The variable AVAILABLE_WHEN_READONLY is set to 0."},{"line_number":84,"context_line":"            # \u003d\u003e return HTTP 503"},{"line_number":85,"context_line":"            # Shell return-code is 1"}],"source_content_type":"application/x-shellscript","patch_set":5,"id":"5a890539_442c42ac","line":82,"in_reply_to":"1abeadc6_65d33204","updated":"2014-11-10 13:01:31.000000000","message":"Agreed, this is a 1:1 copy of the upstream script, with the license prepended. I disagree with modifying the script without having some functional requirement to do so.","commit_id":"1af13bfa5ea882be8f295070d22d448025717aec"},{"author":{"_account_id":6488,"name":"Clint Byrum","email":"clint@fewbar.com","username":"clint-fewbar"},"change_message_id":"f1edad8d2ced03dbefd6f6e95a7de84a87dfa1f1","unresolved":false,"context_lines":[{"line_number":79,"context_line":"                    2\u003e${ERR_FILE} | tail -1 2\u003e\u003e${ERR_FILE})"},{"line_number":80,"context_line":""},{"line_number":81,"context_line":"        if [[ \"${READ_ONLY}\" \u003d\u003d \"ON\" ]];then"},{"line_number":82,"context_line":"            # Percona XtraDB Cluster node local state is \u0027Synced\u0027, but it is in"},{"line_number":83,"context_line":"            # read-only mode. The variable AVAILABLE_WHEN_READONLY is set to 0."},{"line_number":84,"context_line":"            # \u003d\u003e return HTTP 503"},{"line_number":85,"context_line":"            # Shell return-code is 1"}],"source_content_type":"application/x-shellscript","patch_set":5,"id":"1abeadc6_65d33204","line":82,"in_reply_to":"1abeadc6_d896b693","updated":"2014-08-29 05:10:58.000000000","message":"This was just invented and published by Percona. It is purely an accident that it works perfectly on MariaDB Galera. Here is where we get into trouble importing, rather than consuming this script as an installable, released utility.\n\nThe comments: meh. The output: less meh.\n\nThis is about galera, not Percona or MySQL. But I\u0027m +1 on consuming it _as is_ and chasing any issues we have with it upstream. Ideally we\u0027d push to have it released, and the Percona bits made into common parts.","commit_id":"1af13bfa5ea882be8f295070d22d448025717aec"},{"author":{"_account_id":1872,"name":"therese-mchale","email":"therese.mchale@hp.com","username":"therese-mchale"},"change_message_id":"7d3b00729044fedcb4b84225e18441ab8f558dbc","unresolved":false,"context_lines":[{"line_number":1,"context_line":"#!/bin/bash"},{"line_number":2,"context_line":"# Copyright (c) 2012-2014, Olaf van Zandwijk"},{"line_number":3,"context_line":"# All rights reserved."},{"line_number":4,"context_line":""},{"line_number":5,"context_line":"# Redistribution and use in source and binary forms, with or without modification,"},{"line_number":6,"context_line":"# are permitted provided that the following conditions are met:"}],"source_content_type":"application/x-shellscript","patch_set":7,"id":"5a890539_93c0f7e1","line":3,"updated":"2014-11-12 13:54:05.000000000","message":"This script is I think the same as that supplied by Percona in percona-xtradb-cluster-server-5.6   package  (version 5.6.20-25.7-886 ) which is available in the percona apt repo (repo.percona.com).   \n\nSo on Ubuntu we end up with one clustercheck from the earlier (released )Percona packages  and this one which is kitted directly by this patch.        As a general policy , if we need a later versions of  some mysql  bits (or indeed any bits) than those available  in  currently released packages should be we kitting them directly in this way ordoes it make more sense to source a later version of the package?","commit_id":"8851f22a3778932ba5b67a91fb6441a014326f15"}],"elements/mysql-common/install.d/clustercheck-tripleo":[{"author":{"_account_id":6488,"name":"Clint Byrum","email":"clint@fewbar.com","username":"clint-fewbar"},"change_message_id":"f2c2d35fc1ba3ff28d385138fbdbfb49669e4154","unresolved":false,"context_lines":[{"line_number":3,"context_line":"set -eu"},{"line_number":4,"context_line":""},{"line_number":5,"context_line":"# Clustercheck requires us to pass empty user/pass values in order to have"},{"line_number":6,"context_line":"# the mysqlchk.my.cnf values used. xinetd is incapable of passing an empty"},{"line_number":7,"context_line":"# value, so we wrap the command."},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"/usr/local/bin/clustercheck \"\" \"\" 0 /dev/null 1 /mnt/state/etc/mysql/mysqlchk.my.cnf"}],"source_content_type":"application/x-shellscript","patch_set":5,"id":"1abeadc6_5b00e000","line":6,"updated":"2014-08-29 00:50:18.000000000","message":"I\u0027d like to suggest a different approach to that defficiency in xinetd:\n\n2 options:\n\n1) if we\u0027re going to spawn a shell, let it be /bin/sh, which at least has a chance at being dash, which is much much much tinier than bash. Anyway, just put the shell in the xinetd file with /bin/sh -c \u0027....\u0027. THen you can do the same command as below in the quotes.\n\n2) Fix clustercheck to take actual command line switches, which it should anyway.","commit_id":"1af13bfa5ea882be8f295070d22d448025717aec"},{"author":{"_account_id":741,"name":"Kiall Mac Innes","email":"kiall@macinnes.ie","username":"kiall"},"change_message_id":"c37cf70bb0760827c6a4c3ab0d46ebc394639698","unresolved":false,"context_lines":[{"line_number":3,"context_line":"set -eu"},{"line_number":4,"context_line":""},{"line_number":5,"context_line":"# Clustercheck requires us to pass empty user/pass values in order to have"},{"line_number":6,"context_line":"# the mysqlchk.my.cnf values used. xinetd is incapable of passing an empty"},{"line_number":7,"context_line":"# value, so we wrap the command."},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"/usr/local/bin/clustercheck \"\" \"\" 0 /dev/null 1 /mnt/state/etc/mysql/mysqlchk.my.cnf"}],"source_content_type":"application/x-shellscript","patch_set":5,"id":"5a890539_841d4a76","line":6,"in_reply_to":"1abeadc6_5b00e000","updated":"2014-11-10 13:01:31.000000000","message":"This script is gone, in favor of server_args in the xinetd script. Though .. I\u0027m still waiting on a build to validate it actually works!","commit_id":"1af13bfa5ea882be8f295070d22d448025717aec"}],"elements/mysql-common/install.d/mysqlchk":[{"author":{"_account_id":6488,"name":"Clint Byrum","email":"clint@fewbar.com","username":"clint-fewbar"},"change_message_id":"a3890b458de538bcb42445c361d70156d141c5fc","unresolved":false,"context_lines":[{"line_number":8,"context_line":"    port \u003d 9200"},{"line_number":9,"context_line":"    wait \u003d no"},{"line_number":10,"context_line":"    user \u003d nobody"},{"line_number":11,"context_line":"    server \u003d /usr/local/bin/clustercheck"},{"line_number":12,"context_line":"    log_on_failure +\u003d USERID"},{"line_number":13,"context_line":"    only_from \u003d 0.0.0.0/0"},{"line_number":14,"context_line":"    per_source \u003d UNLIMITED"}],"source_content_type":"application/octet-stream","patch_set":1,"id":"1abeadc6_f57502fa","line":11,"updated":"2014-08-23 14:48:18.000000000","message":"Assuming we use my forked clustercheck that allows empty user/password, we\u0027ll have to create a templated mysqlcheck.cnf with the user/password, and pass the CLI args here, like  this\n\n    server \u003d /usr/local/bin/clustercheck \"\" \"\" 0 /dev/null 1 /mnt/state/etc/mysqlcheck.cnf","commit_id":"35f411a4a5aa1c030e85f9586c55c7f4551a0345"}],"elements/mysql-common/os-apply-config/mnt/state/etc/mysql/mysqlchk.my.cnf":[{"author":{"_account_id":741,"name":"Kiall Mac Innes","email":"kiall@macinnes.ie","username":"kiall"},"change_message_id":"cce6fb9405e82c4b9207cd4889f4f84d8cd94381","unresolved":false,"context_lines":[{"line_number":3,"context_line":"user \u003d root"},{"line_number":4,"context_line":"{{#mysql.root-password}}"},{"line_number":5,"context_line":"password \u003d {{.}}"},{"line_number":6,"context_line":"{{/mysql.root-password}}"}],"source_content_type":"application/octet-stream","patch_set":2,"id":"1abeadc6_0ba96824","line":6,"updated":"2014-08-25 09:40:21.000000000","message":"This still needs to be switched to use a non-root account.","commit_id":"5ebfe6f0ef6fa27a1bed2e1eb9e8b7f19ccac1f8"},{"author":{"_account_id":8688,"name":"Alexis Lee","email":"openstack@lxsli.co.uk","username":"lxsli"},"change_message_id":"37a2259acdecfb0624afd0b532d7e466bd416b0f","unresolved":false,"context_lines":[{"line_number":1,"context_line":"# This file is used by the mysqlchk xinetd service / clustercheck script"},{"line_number":2,"context_line":"[client]"},{"line_number":3,"context_line":"user \u003d clustercheck"},{"line_number":4,"context_line":"{{#mysql.clustercheck-password}}"},{"line_number":5,"context_line":"password \u003d {{.}}"},{"line_number":6,"context_line":"{{/mysql.clustercheck-password}}"}],"source_content_type":"application/octet-stream","patch_set":8,"id":"5a890539_2026ddce","line":4,"updated":"2014-11-13 15:12:48.000000000","message":"we usually use _ not -","commit_id":"2f253245ac66e545044be01b98037f87dc88f280"}],"elements/mysql-common/os-apply-config/mnt/state/etc/mysql/static-dbusers.json":[{"author":{"_account_id":6488,"name":"Clint Byrum","email":"clint@fewbar.com","username":"clint-fewbar"},"change_message_id":"f2c2d35fc1ba3ff28d385138fbdbfb49669e4154","unresolved":false,"context_lines":[{"line_number":3,"context_line":"{{/mysql.root-password}}"},{"line_number":4,"context_line":"},"},{"line_number":5,"context_line":"{\"username\": \"clustercheck\","},{"line_number":6,"context_line":" \"privilege\": \"PROCESS\"{{#mysql.clustercheck-password}},"},{"line_number":7,"context_line":"  \"password\": \"{{mysql.clustercheck-password}}\""},{"line_number":8,"context_line":"{{/mysql.clustercheck-password}}"},{"line_number":9,"context_line":"}]"}],"source_content_type":"application/json","patch_set":5,"id":"1abeadc6_b8a1fa47","line":6,"updated":"2014-08-29 00:50:18.000000000","message":"PROCESS shouldn\u0027t be needed:\n\nhttp://dev.mysql.com/doc/refman/5.5/en/privileges-provided.html#priv_process\nhttp://dev.mysql.com/doc/refman/5.5/en/show-status.html\nhttp://dev.mysql.com/doc/refman/5.5/en/show-variables.html\n\nBoth commands state clearly that one doesn\u0027t need any privileges other than connecting, which is what USAGE is for.\n\nHowever, I understand sometimes documentation is wrong. If PROCESS is needed, let\u0027s make sure we file a documentation bug with MySQL.","commit_id":"1af13bfa5ea882be8f295070d22d448025717aec"},{"author":{"_account_id":741,"name":"Kiall Mac Innes","email":"kiall@macinnes.ie","username":"kiall"},"change_message_id":"c37cf70bb0760827c6a4c3ab0d46ebc394639698","unresolved":false,"context_lines":[{"line_number":3,"context_line":"{{/mysql.root-password}}"},{"line_number":4,"context_line":"},"},{"line_number":5,"context_line":"{\"username\": \"clustercheck\","},{"line_number":6,"context_line":" \"privilege\": \"PROCESS\"{{#mysql.clustercheck-password}},"},{"line_number":7,"context_line":"  \"password\": \"{{mysql.clustercheck-password}}\""},{"line_number":8,"context_line":"{{/mysql.clustercheck-password}}"},{"line_number":9,"context_line":"}]"}],"source_content_type":"application/json","patch_set":5,"id":"5a890539_24065621","line":6,"in_reply_to":"1abeadc6_b8a1fa47","updated":"2014-11-10 13:01:31.000000000","message":"Crud, I missed this in the latest patchset. I\u0027m still waiting on a build to validate this patchset actually works, I\u0027ll wait till then before addressing this.","commit_id":"1af13bfa5ea882be8f295070d22d448025717aec"},{"author":{"_account_id":8688,"name":"Alexis Lee","email":"openstack@lxsli.co.uk","username":"lxsli"},"change_message_id":"37a2259acdecfb0624afd0b532d7e466bd416b0f","unresolved":false,"context_lines":[{"line_number":6,"context_line":" \"privilege\": \"USAGE\"{{#mysql.clustercheck-password}},"},{"line_number":7,"context_line":"  \"password\": \"{{mysql.clustercheck-password}}\""},{"line_number":8,"context_line":"{{/mysql.clustercheck-password}}"},{"line_number":9,"context_line":"}]"}],"source_content_type":"application/json","patch_set":8,"id":"5a890539_83479b4a","line":9,"updated":"2014-11-13 15:12:48.000000000","message":"can you sort the indent out please? note there\u0027s a list around the whole thing","commit_id":"2f253245ac66e545044be01b98037f87dc88f280"}],"elements/mysql-common/os-apply-config/usr/local/bin/clustercheck":[{"author":{"_account_id":6488,"name":"Clint Byrum","email":"clint@fewbar.com","username":"clint-fewbar"},"change_message_id":"a3890b458de538bcb42445c361d70156d141c5fc","unresolved":false,"context_lines":[{"line_number":44,"context_line":""},{"line_number":45,"context_line":"# NOTE(kiall): The following defaults have been customized for TripleO"},{"line_number":46,"context_line":"MYSQL_USERNAME\u003d\"${1:-root}\""},{"line_number":47,"context_line":"MYSQL_PASSWORD\u003d\"${2:-{{mysql.root-password}}}\""},{"line_number":48,"context_line":"AVAILABLE_WHEN_DONOR\u003d${3:-0}"},{"line_number":49,"context_line":"ERR_FILE\u003d\"${4:-/dev/null}\""},{"line_number":50,"context_line":"AVAILABLE_WHEN_READONLY\u003d${5:-0}"}],"source_content_type":"application/x-shellscript","patch_set":1,"id":"1abeadc6_9584ce0b","line":47,"updated":"2014-08-23 14:48:18.000000000","message":"Passwords are a strict no-no on the commandline as they\u0027ll be right there in \u0027ps\u0027.  Let\u0027s not template this script, and instead pass in a DEFAULTS_EXTRA_FILE on the CLI which will have a user/password in the [mysql] section.","commit_id":"35f411a4a5aa1c030e85f9586c55c7f4551a0345"},{"author":{"_account_id":741,"name":"Kiall Mac Innes","email":"kiall@macinnes.ie","username":"kiall"},"change_message_id":"9dd8321c12cf638607053d9718c6759da83731c8","unresolved":false,"context_lines":[{"line_number":44,"context_line":""},{"line_number":45,"context_line":"# NOTE(kiall): The following defaults have been customized for TripleO"},{"line_number":46,"context_line":"MYSQL_USERNAME\u003d\"${1:-root}\""},{"line_number":47,"context_line":"MYSQL_PASSWORD\u003d\"${2:-{{mysql.root-password}}}\""},{"line_number":48,"context_line":"AVAILABLE_WHEN_DONOR\u003d${3:-0}"},{"line_number":49,"context_line":"ERR_FILE\u003d\"${4:-/dev/null}\""},{"line_number":50,"context_line":"AVAILABLE_WHEN_READONLY\u003d${5:-0}"}],"source_content_type":"application/x-shellscript","patch_set":1,"id":"1abeadc6_87082829","line":47,"updated":"2014-08-23 10:31:32.000000000","message":"root is likely (okay, defiantly) not the right user for this :) BUT - Where should I handle creating a user specifically for clustercheck?\n\nI don\u0027t think passing it via the heat-templates is right, other options?","commit_id":"35f411a4a5aa1c030e85f9586c55c7f4551a0345"},{"author":{"_account_id":6488,"name":"Clint Byrum","email":"clint@fewbar.com","username":"clint-fewbar"},"change_message_id":"a3890b458de538bcb42445c361d70156d141c5fc","unresolved":false,"context_lines":[{"line_number":58,"context_line":"                    --user\u003d${MYSQL_USERNAME} --password\u003d${MYSQL_PASSWORD}\""},{"line_number":59,"context_line":"else"},{"line_number":60,"context_line":"    MYSQL_CMDLINE\u003d\"mysql -nNE --connect-timeout\u003d$TIMEOUT --user\u003d${MYSQL_USERNAME} --password\u003d${MYSQL_PASSWORD}\""},{"line_number":61,"context_line":"fi"},{"line_number":62,"context_line":"#"},{"line_number":63,"context_line":"# Perform the query to check the wsrep_local_state"},{"line_number":64,"context_line":"#"}],"source_content_type":"application/x-shellscript","patch_set":1,"id":"1abeadc6_d5a00692","line":61,"updated":"2014-08-23 14:48:18.000000000","message":"Gah. So the author has _forced_ the issue on us with MYSQL_PASSWORD always being passed no matter what.\n\nI opened https://github.com/olafz/percona-clustercheck/issues/8 upstream for it and submitted https://github.com/olafz/percona-clustercheck/pull/9","commit_id":"35f411a4a5aa1c030e85f9586c55c7f4551a0345"}],"elements/mysql-common/os-refresh-config/post-configure.d/50-mysql-users":[{"author":{"_account_id":6488,"name":"Clint Byrum","email":"clint@fewbar.com","username":"clint-fewbar"},"change_message_id":"f2c2d35fc1ba3ff28d385138fbdbfb49669e4154","unresolved":false,"context_lines":[{"line_number":93,"context_line":"    else:"},{"line_number":94,"context_line":"        cmd \u003d \"GRANT %s ON *.*\" % (privilege)"},{"line_number":95,"context_line":""},{"line_number":96,"context_line":"    cmd +\u003d \" TO `%s`@\u0027%%\u0027 IDENTIFIED BY \u0027%s\u0027\" % (username, password)"},{"line_number":97,"context_line":""},{"line_number":98,"context_line":"    if opts.noop:"},{"line_number":99,"context_line":"        print(\"%s\" % (cmd))"}],"source_content_type":"application/octet-stream","patch_set":5,"id":"1abeadc6_b85c9a7e","line":96,"updated":"2014-08-29 00:50:18.000000000","message":"This is cool, and better than the one I did. These two patches are not logically the same change, and I\u0027d prefer that this go in as a separate patch.","commit_id":"1af13bfa5ea882be8f295070d22d448025717aec"},{"author":{"_account_id":741,"name":"Kiall Mac Innes","email":"kiall@macinnes.ie","username":"kiall"},"change_message_id":"c37cf70bb0760827c6a4c3ab0d46ebc394639698","unresolved":false,"context_lines":[{"line_number":93,"context_line":"    else:"},{"line_number":94,"context_line":"        cmd \u003d \"GRANT %s ON *.*\" % (privilege)"},{"line_number":95,"context_line":""},{"line_number":96,"context_line":"    cmd +\u003d \" TO `%s`@\u0027%%\u0027 IDENTIFIED BY \u0027%s\u0027\" % (username, password)"},{"line_number":97,"context_line":""},{"line_number":98,"context_line":"    if opts.noop:"},{"line_number":99,"context_line":"        print(\"%s\" % (cmd))"}],"source_content_type":"application/octet-stream","patch_set":5,"id":"5a890539_4ffffb01","line":96,"in_reply_to":"1abeadc6_b85c9a7e","updated":"2014-11-10 13:01:31.000000000","message":"Done","commit_id":"1af13bfa5ea882be8f295070d22d448025717aec"}],"elements/xinetd/install.d/10-xinetd":[{"author":{"_account_id":7144,"name":"James Slagle","email":"jslagle@redhat.com","username":"slagle"},"change_message_id":"36ea1e8169a7342bda6fc5a14ef371aa4f0e20f1","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":5,"id":"1abeadc6_f86532e1","updated":"2014-08-29 00:20:32.000000000","message":"while not an \"official\" policy, we\u0027ve said before that we won\u0027t create new elements just to install a package. You could just as easily install the xinetd package in whatever element needs it.\n\nthis is not my reason for the -1 though.\n\nif you are going to do a new element, it needs a README.md at least.","commit_id":"1af13bfa5ea882be8f295070d22d448025717aec"},{"author":{"_account_id":741,"name":"Kiall Mac Innes","email":"kiall@macinnes.ie","username":"kiall"},"change_message_id":"c37cf70bb0760827c6a4c3ab0d46ebc394639698","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":5,"id":"5a890539_8f09e32e","in_reply_to":"1abeadc6_38296a9b","updated":"2014-11-10 13:01:31.000000000","message":"Done","commit_id":"1af13bfa5ea882be8f295070d22d448025717aec"},{"author":{"_account_id":6488,"name":"Clint Byrum","email":"clint@fewbar.com","username":"clint-fewbar"},"change_message_id":"f2c2d35fc1ba3ff28d385138fbdbfb49669e4154","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":5,"id":"1abeadc6_38296a9b","in_reply_to":"1abeadc6_f86532e1","updated":"2014-08-29 00:50:18.000000000","message":"Agreeing with James. Just install it.","commit_id":"1af13bfa5ea882be8f295070d22d448025717aec"}]}
