TBH, I wonder if it doesn't belong in the charmhelpers codebase, because it's seems to me that, considering the racing between the main and its subordinates charms, package installing should be retried by default. On 'main' charms the retrying would be rarely (never) reached.
Also, IMO, 'fatal' doesn't transmit well what the code does, A better alternative would be 'retry' which could modify the hardcoded "30 times 10s wait" retry behaviour or just stick more suitable defaults.
TBH, I wonder if it doesn't belong in the charmhelpers codebase, because it's seems to me that, considering the racing between the main and its subordinates charms, package installing should be retried by default. On 'main' charms the retrying would be rarely (never) reached.
Also, IMO, 'fatal' doesn't transmit well what the code does, A better alternative would be 'retry' which could modify the hardcoded "30 times 10s wait" retry behaviour or just stick more suitable defaults.