cloudfoundry-attic / bosh-notes

Collection of proposals for BOSH
Apache License 2.0
51 stars 23 forks source link

Feature request: Multiple template in errands #21

Closed tscolari closed 8 years ago

tscolari commented 8 years ago

Hello there,

We found a situation where we wanted to add a feature to an errand, but without changing it's job code, for compatibility reasons. The best solution we could think of would be adding this feature as a separate job/template to the errand, but we found out that bosh didn't like that very much. It would be pretty cool if bosh supported this, or if there's some workaround to achieve similar results we would love to hear!

Many thanks!

dpb587-pivotal commented 8 years ago

Hi - can you clarify what "without changing it's job code" means and why "bosh didn't like that very much"'s error message? Errands can have other, non-run templates as long as they're mentioned in the job spec.

allomov commented 8 years ago

Hey @tscolari and @dpb587-pivotal

If I understood your case correctly, then you don't need to have an extra functionality from BOSH itself, it already has possibility to place additional configs and binaries from another release on the same VM with your original job. Your original release should be changed to be able extended by templates added from other releases.

The good example of how it works is external BOSH CPI mechanism. You can find director.cpi_job in BOSH director that points to binaries that a delivered to the same VM by separate release release (find details on the implementation here). Here is an example how this jobs can colocated on the same VM.

This is how mechanism of extension of default releases works, I've seen such approach in other releases, logsearch for example. So implementation of release extensions should be done by releases them-self.

That's my thoughts on this point to be synced on this idea.

I am not sure about it errands, but they should work in the same way I suppose.

allomov commented 8 years ago

Could you please, described details on what is wrong with such approach with errands? I knew that it is kind of hard to locate several errands on the same machine or errands can set locks on the deployment which make it impossible to run them in parallel. But I didn't know about any problems with multiple templates on errand.

tscolari commented 8 years ago

@allomov @dpb587-pivotal I apologize, I'm very sorry. It seems that our tests collocating the errand were potentially wrong. We tried again, and collocating jobs in errands worked perfectly!