)]}'
{"specs/juno/improve-compute-agent.rst":[{"author":{"_account_id":8290,"name":"liusheng","email":"liusheng2048@gmail.com","username":"LiuSheng"},"change_message_id":"38275f0c6d5d2801bbc2b6c788ab380d8ceed977","unresolved":false,"context_lines":[{"line_number":18,"context_line":"\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d"},{"line_number":19,"context_line":""},{"line_number":20,"context_line":"Generally, ceilometer-compute-agent is running on every compute host. It will"},{"line_number":21,"context_line":"poll the instances of this host and then poll the instances\u0027s resource"},{"line_number":22,"context_line":"(vcpu, vnic, disk, etc.), This means that compute-agent will call Nova\u0027s"},{"line_number":23,"context_line":"list-instance-by-host API (by novaclient) to get instances every polling"},{"line_number":24,"context_line":"period every host, if we have a \"large-scale\" environment (hundreds hosts),"}],"source_content_type":"text/x-rst","patch_set":1,"id":"1ae5cdf2_4471f643","line":21,"updated":"2014-06-27 03:52:30.000000000","message":"s/instances\u0027s/instances\u0027/","commit_id":"7f4ba83716e2121307746f103ca2d2823e4ae4cd"},{"author":{"_account_id":6537,"name":"gordon chung","email":"gord@live.ca","username":"chungg"},"change_message_id":"3b195b62afdc8884e0da7472efaa47788de385fc","unresolved":false,"context_lines":[{"line_number":43,"context_line":""},{"line_number":44,"context_line":"  - ceilometer-collector get the instances\u0027s statistics from"},{"line_number":45,"context_line":"    ceilometer-compute-agent, and then merge the statistics info and the"},{"line_number":46,"context_line":"    instance info from nova API to instance samples, then record the samples."},{"line_number":47,"context_line":""},{"line_number":48,"context_line":"Alternatives"},{"line_number":49,"context_line":"------------"}],"source_content_type":"text/x-rst","patch_set":1,"id":"1ae5cdf2_78ab0171","line":46,"updated":"2014-06-26 17:08:57.000000000","message":"one concern is that Ceilometer services should use each other but not be dependent on each other. it should be possible to run compute agent without a collector","commit_id":"7f4ba83716e2121307746f103ca2d2823e4ae4cd"},{"author":{"_account_id":8290,"name":"liusheng","email":"liusheng2048@gmail.com","username":"LiuSheng"},"change_message_id":"38275f0c6d5d2801bbc2b6c788ab380d8ceed977","unresolved":false,"context_lines":[{"line_number":43,"context_line":""},{"line_number":44,"context_line":"  - ceilometer-collector get the instances\u0027s statistics from"},{"line_number":45,"context_line":"    ceilometer-compute-agent, and then merge the statistics info and the"},{"line_number":46,"context_line":"    instance info from nova API to instance samples, then record the samples."},{"line_number":47,"context_line":""},{"line_number":48,"context_line":"Alternatives"},{"line_number":49,"context_line":"------------"}],"source_content_type":"text/x-rst","patch_set":1,"id":"1ae5cdf2_ea41e90a","line":46,"in_reply_to":"1ae5cdf2_78ab0171","updated":"2014-06-27 03:52:30.000000000","message":"the main idea of this blueprint is to add a new ceilometer.discover (https://github.com/openstack/ceilometer/blob/master/setup.cfg#L70) for local instance, so there are two deploying ways: use the original discover or the new discover, and this will allow be configed in ceilometer.conf.\n\nif we have deployed collector and have configed the 2nd discover this will be valuable.","commit_id":"7f4ba83716e2121307746f103ca2d2823e4ae4cd"},{"author":{"_account_id":2284,"name":"Eoghan Glynn","email":"eglynn@redhat.com","username":"eglynn"},"change_message_id":"73ca25dd23c3a6c1f343b13955be5716b20fd490","unresolved":false,"context_lines":[{"line_number":46,"context_line":"    instance info from nova API to instance samples, then record the samples."},{"line_number":47,"context_line":""},{"line_number":48,"context_line":"Alternatives"},{"line_number":49,"context_line":"------------"},{"line_number":50,"context_line":""},{"line_number":51,"context_line":"For the first two step of above process, ceilometer-collector get instances"},{"line_number":52,"context_line":"info by Nova API and record the instance info in db, then"}],"source_content_type":"text/x-rst","patch_set":1,"id":"baada198_6eac97ee","line":49,"updated":"2014-07-01 11:21:51.000000000","message":"Here\u0027s an alternative to consider.\n\n* 1. ceilo compute agent calls nova-api on startup initially and caches the response\n\n* 2. on every polling cycle, the ceilo compute agent calls into inspector.inspect_instances to list the instances on the current host via the hypervisor (i.e. *without* going back to the nova-api):\n\n  https://github.com/openstack/ceilometer/blob/master/ceilometer/compute/virt/inspector.py#L149\n\n* 3. the ceilo compute agent detects when a new instance is reported by the hypervisor, which causes it to refresh its cache via nova-api\n\n* 4. the ceilo compute agent also detects when some metadata associated with an existing instance has changed, also triggers a cache refresh\n\nThe trick here for step #4 would be classify all the (a) immutable versus (b) mutable-but-infrequently changing metadata that we capture for an instance and ensure that we can detect changes in (b) in all cases via the data reported by the hypervisor. e.g. if an instance is resized, the new flavor is reflected in the RAM or disk size reported.","commit_id":"7f4ba83716e2121307746f103ca2d2823e4ae4cd"},{"author":{"_account_id":8290,"name":"liusheng","email":"liusheng2048@gmail.com","username":"LiuSheng"},"change_message_id":"26573ba1e67b607fffec3a881e6e17afc66d0311","unresolved":false,"context_lines":[{"line_number":46,"context_line":"    instance info from nova API to instance samples, then record the samples."},{"line_number":47,"context_line":""},{"line_number":48,"context_line":"Alternatives"},{"line_number":49,"context_line":"------------"},{"line_number":50,"context_line":""},{"line_number":51,"context_line":"For the first two step of above process, ceilometer-collector get instances"},{"line_number":52,"context_line":"info by Nova API and record the instance info in db, then"}],"source_content_type":"text/x-rst","patch_set":1,"id":"baada198_919643ef","line":49,"in_reply_to":"baada198_6eac97ee","updated":"2014-07-02 09:19:51.000000000","message":"cool, this idea greatly illuminate me, I will think over about this, thanks for your suggestion :)","commit_id":"7f4ba83716e2121307746f103ca2d2823e4ae4cd"},{"author":{"_account_id":6537,"name":"gordon chung","email":"gord@live.ca","username":"chungg"},"change_message_id":"3b195b62afdc8884e0da7472efaa47788de385fc","unresolved":false,"context_lines":[{"line_number":63,"context_line":""},{"line_number":64,"context_line":"REST API impact"},{"line_number":65,"context_line":"---------------"},{"line_number":66,"context_line":""},{"line_number":67,"context_line":"None"},{"line_number":68,"context_line":""},{"line_number":69,"context_line":"Security impact"}],"source_content_type":"text/x-rst","patch_set":1,"id":"1ae5cdf2_9899ad6f","line":66,"updated":"2014-06-26 17:08:57.000000000","message":"does this proposal require an api change?\nas i understand it, the compute agent will query ceilometer db for the instance meters created by CRUD notifications nova generates?","commit_id":"7f4ba83716e2121307746f103ca2d2823e4ae4cd"},{"author":{"_account_id":8290,"name":"liusheng","email":"liusheng2048@gmail.com","username":"LiuSheng"},"change_message_id":"38275f0c6d5d2801bbc2b6c788ab380d8ceed977","unresolved":false,"context_lines":[{"line_number":63,"context_line":""},{"line_number":64,"context_line":"REST API impact"},{"line_number":65,"context_line":"---------------"},{"line_number":66,"context_line":""},{"line_number":67,"context_line":"None"},{"line_number":68,"context_line":""},{"line_number":69,"context_line":"Security impact"}],"source_content_type":"text/x-rst","patch_set":1,"id":"1ae5cdf2_4a8e5dd2","line":66,"in_reply_to":"1ae5cdf2_9899ad6f","updated":"2014-06-27 03:52:30.000000000","message":"we don\u0027t need any api change, ceilometer get instance info by querying from db every poll interval, this is the alternative, but I think that is unreasonable, because hundreds of compute-agent will build hundreds of db connection, and it is better not to allow the compute-agent (on compute node)access db directly (according to the design of nova-conductor).\n\nSo I propose to let compute-agent call collector by RPC or collector send fanout RPC message to compute-agents.","commit_id":"7f4ba83716e2121307746f103ca2d2823e4ae4cd"},{"author":{"_account_id":6537,"name":"gordon chung","email":"gord@live.ca","username":"chungg"},"change_message_id":"3b195b62afdc8884e0da7472efaa47788de385fc","unresolved":false,"context_lines":[{"line_number":85,"context_line":"-------------------------------"},{"line_number":86,"context_line":""},{"line_number":87,"context_line":"Hopefully, this blueprint will improve the performance of metering mechanism"},{"line_number":88,"context_line":"of ceilometer-compute-agent and lighten the load of Nova API by reduce abundant"},{"line_number":89,"context_line":"Nova API calls in large-scale scenario."},{"line_number":90,"context_line":""},{"line_number":91,"context_line":"Other deployer impact"}],"source_content_type":"text/x-rst","patch_set":1,"id":"1ae5cdf2_f8a711a6","line":88,"updated":"2014-06-26 17:08:57.000000000","message":"does this shift the load to ceilometer?","commit_id":"7f4ba83716e2121307746f103ca2d2823e4ae4cd"},{"author":{"_account_id":8290,"name":"liusheng","email":"liusheng2048@gmail.com","username":"LiuSheng"},"change_message_id":"38275f0c6d5d2801bbc2b6c788ab380d8ceed977","unresolved":false,"context_lines":[{"line_number":85,"context_line":"-------------------------------"},{"line_number":86,"context_line":""},{"line_number":87,"context_line":"Hopefully, this blueprint will improve the performance of metering mechanism"},{"line_number":88,"context_line":"of ceilometer-compute-agent and lighten the load of Nova API by reduce abundant"},{"line_number":89,"context_line":"Nova API calls in large-scale scenario."},{"line_number":90,"context_line":""},{"line_number":91,"context_line":"Other deployer impact"}],"source_content_type":"text/x-rst","patch_set":1,"id":"1ae5cdf2_8a7865f9","line":88,"in_reply_to":"1ae5cdf2_f8a711a6","updated":"2014-06-27 03:52:30.000000000","message":"For now,the data collection process of compute-agent is :compute-agent-\u003enovaclient-\u003enova-api and then compute-agent-\u003elibvirt-\u003eceiloemter-collector, in a hundreds-host-large-scale scenario, this process will be executed hundred times meanwhile every polling period. \n\nAfter the changes of this bp, collector will need call listing server nova API (just 1 time every polling period), this is low cost. Additionally, ceilometer-collector service support multi-works, so the load of ceilometer will not be very heavy.","commit_id":"7f4ba83716e2121307746f103ca2d2823e4ae4cd"}]}
