epics-containers / pvi

EPICS PV Interface described in YAML
https://epics-containers.github.io/pvi
Apache License 2.0
4 stars 3 forks source link

make index.bob filename unique #130

Closed gilesknap closed 3 months ago

gilesknap commented 3 months ago

Would it be reasonable for the generated index.bob filename to instead be $IOC_NAME-index.bob when being generated by ibek's runtime generate function?

Use case:

In the new world of docker compose for beamlines that deploy direct to docker/podman I have an issue with the opis volume mount. docker behaves beautifully like K8S and allows each service to mount a subfolder of the opis volume. But podman does not - it ignores the subpath argument and mounts the root.

Thus for podman our index.bob overwrite each other.

Unique index names seems quite nice because imaging two AD iocs - they will overwrite each other's NDPluginPva.pvi.bob for example, but that will not matter because it is the same for all IOCs and the index supplies the Macros to make the page unique.

@coretl @GDYendell what do you think?

gilesknap commented 3 months ago

There is an issue regarding this but I'm not expecting rapid results https://github.com/containers/podman/issues/20661

coretl commented 3 months ago

So this is an issue for:

So at DLS this would only be if we were making developer changes to multiple IOCs at the same time. Is that something we see ourselves doing much?

Having said that, the only reason to choose a well known index.bob is so that you could point phoebus at http://localhost:<port>/index.bob without having to type the IOC name. This was from when I was imagining we would run an HTTP server per IOC. I imagine things have moved on, so as long as it's easy to launch phoebus in both the dev and prod environment then it doesn't necessarily have to be index.bob.

If we do make this change, I slightly prefer <ioc_name>.bob to <ioc_name>-index.bob, but I'm still uneasy about the difference between development and production subpath mounts...

gilesknap commented 3 months ago

I've discussed this with @GDYendell.

I have come to feel uneasy about it too as its making a change for a corner case that affects our pretty K8S world.

I don't particularly like http://bl45p-opis/bl45p-ea-ioc-01/bl45p-ea-ioc-01.bob or http://bl45p-opis/bl45p-ea-ioc-01/bl45p-ea-ioc-01-index.bob

I think http://bl45p-opis/bl45p-ea-ioc-01/index.bob as we currently have is prettier.

I also have a workaround for the issue in podman which is to use bind mounts.

So closing