<div dir="ltr"><div><div><div><div><div><div><div><div><div>Hi, developers,<br><br></div>I find that ceilometer-client applies strict rule on query option, particularly, some special characters are not supported in key:value pairs, such as ~, !, and etc<br>
<br></div>the regular expression used in ceilometerclient/v2/options.py is:<br>r'([[a-zA-Z0-9_.]+)([><!]=)([^ -,\t\n\r\f\v]+)'<br><br></div>which means, key and value cannot have spaces and special characters.<br>
<br></div>But, glance and nova (may be more projects) allow special characters in names and/or metadatas, please read bug report <a href="https://bugs.launchpad.net/python-ceilometerclient/+bug/1314544">https://bugs.launchpad.net/python-ceilometerclient/+bug/1314544</a> for more detail<br>
<br></div>So, if we create resources in glance and nova, it may not be able to be filtered out in ceilometer<br><br></div>for i.e.<br># ceilometer sample-list -m instance -q 'metadata.display_name=special!key'<br>
# ceilometer sample-list -m instance -q 'metadata.display_name=vm name'<br><br></div><div>the worse case is ceilometer-client will send wrong field since the parser cannot work, so it will return 400 error!<br></div>
<div><br></div>I think ceilometer-client should not be so strict.<br><br></div>Any opinion?<br><br></div>Thanks</div>