[openstack-dev] [Cyborg] Agent - Conductor update
Nadathur, Sundar
sundar.nadathur at intel.com
Wed Aug 8 15:06:27 UTC 2018
Hi Zhenghao,
On 8/8/2018 4:10 AM, Zhenghao ZH21 Wang wrote:
> Hi Sundar,
> All look good to me. And I agreed with the new solution as your suggestion. But I still confused why we will lost some device info if we do diff on agent?
> Could u give me an example to explain how to lost and what we will lost?
To do the diff, the agent would need the previous configuration of
devices on the host. If it keeps that previous config in its process
memory, it will lose it if it dies and restarts for any reason. So, it
should persist it. The ideal place to persist that is the Cyborg db. So,
let us say the agent writes the config to the db each time via the
conductor.
However, consider the scenario where the agent pushes an update to the
conductor, and restarts before the conductor has written it to the db.
This can result in a race condition. If we don't address that properly,
the agent may get the copy in the db and not the latest update. That is
the loss we were talking about.
To prevent that race, the restarted agent should ask the conductor to
get the latest, and the conductor must be smart enough to 'synchronize'
with the previous unfinished update. This seems like unnecessary
complication.
I think this is what you are asking about. If not, please let me know
what you meant.
> Best regards
> Zhenghao Wang
> Cloud Researcher
>
> Email: wangzh21 at lenovo.com
> Tel: (+86) 18519550096
> Enterprise & Cloud Research Lab, Lenovo Research
> No.6 Shangdi West Road, Haidian District, Beijing
Regards,
Sundar
More information about the OpenStack-dev
mailing list