Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

make index.bob filename unique #130

Closed
gilesknap opened this issue Jul 23, 2024 · 3 comments
Closed

make index.bob filename unique #130

gilesknap opened this issue Jul 23, 2024 · 3 comments

Comments

@gilesknap
Copy link
Member

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
Copy link
Member Author

There is an issue regarding this but I'm not expecting rapid results
containers/podman#20661

@coretl
Copy link
Contributor

coretl commented Jul 23, 2024

So this is an issue for:

  • Running multiple IOCs
  • Orchestrated with docker-compose
  • Containers running under podman

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
Copy link
Member Author

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

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants