There are two paths we could pursue for this:
a.) Utilize reporting mechanism (reporting.handlers.ReportHandler), which already does this in many senses. MAAS uses this mechanism to accomplish both "status" events and "pass/fail". This general mechanism is already in place. To use it for vmware we would have to add some Reporter that worked for vmware.
b.) Modify cloud-init to call a 'report_status' function on a datasource if that function was present. We'd just change cloud-init to call that at different points in its runtime.
The only issue with this is that it very much is implementing a subset of what reporting already does do.
So I'd prefer to work towards the ReportHandler solution (a).
There are two paths we could pursue for this: handlers. ReportHandler) , which already does this in many senses. MAAS uses this mechanism to accomplish both "status" events and "pass/fail". This general mechanism is already in place. To use it for vmware we would have to add some Reporter that worked for vmware.
a.) Utilize reporting mechanism (reporting.
b.) Modify cloud-init to call a 'report_status' function on a datasource if that function was present. We'd just change cloud-init to call that at different points in its runtime.
The only issue with this is that it very much is implementing a subset of what reporting already does do.
So I'd prefer to work towards the ReportHandler solution (a).