After some discussion with @lianhao-lu about the current implementation of POST /v2/meters, there're some potential problems, listed below:
1. When `direct` is set to false, API server would send the samples to the message queue, which is asynchronous. So the HTTP status code should be 202(Accepted) instead of 201(Created)
2. When notification agent receives those samples, the pipeline rules apply and the outcome might not be what users wanted. Some samples might be lost while others might be changed. This is not the original intention of this API.
3. (Related to bug https://bugs.launchpad.net/ceilometer/+bug/1426426) When multiple samples are posted, the HTTP location header is difficult to determine because only one URI can be included in the header. This can be worked around by using `link` section in response body, but it requires API schema modifications.
4. On asynchronous samples creation, we should provide a way for users to check if samples are created successfully. One possible way, is also providing links to /v2/samples/<sample-id>
just an fyi, but regarding item2, that is the original intention of API posting, it was always going through the pipeline.