Skip to content

Commit 2f94b64

Browse files
committed
more faqs
1 parent d5cf69d commit 2f94b64

File tree

1 file changed

+42
-9
lines changed

1 file changed

+42
-9
lines changed

docs/reference/faq.rst

Lines changed: 42 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,17 @@
11
Frequently Asked Questions
22
==========================
33

4+
Why no mention of Operator Interfaces?
5+
--------------------------------------
6+
OPI was out of scope for the proof of concept. That is because we
7+
expect there to be a web based EPICS OPI available by the time we go
8+
live with K8s IOCs. Kubernetes is very well suited to running web
9+
servers so this is a natural fit.
10+
11+
There are a number of ways to support the current OPI solutions without
12+
breaking the repositories-only model. TODO: add a brief description of these.
13+
14+
415
Why have ioc-XXX repositories?
516
------------------------------
617
Why not put the Dockerfile and image generating in the support module itself
@@ -9,14 +20,36 @@ generate?
920

1021
Answers:
1122

12-
- There is not always a 1-1 relationship between support modules and generic
13-
IOCs. A generic IOC image is free to add any number of support modules it
14-
requires.
23+
- There is not always a 1-1 relationship between support modules and generic
24+
IOCs. A generic IOC image is free to add any number of support modules it
25+
requires.
26+
27+
- The lifecycle of a support module will often differ from a generic IOC.
28+
The version number of the image is tied to the ioc-XXX source repo that
29+
generates, so we can have separate versions for support and IOC.
30+
31+
- Not all users of a support module will need images generated and it is
32+
counter productive for them to be required to fix the Dockerfile when
33+
they are working on changes to a support module.
34+
35+
36+
How can I do IOC rollback if the internet is down?
37+
--------------------------------------------------
38+
The examples all use cloud registries for storing the generic IOC images and
39+
IOC instance Helm Charts. However it is still possible to roll back an IOC
40+
version when the internet is not available.
41+
42+
That is because Helm keeps track of several versions of each chart it
43+
deploys, they are stored in the cluster itself.
1544

16-
- The lifecycle of a support module will often differ from a generic IOC.
17-
The version number of the image is tied to the ioc-XXX source repo that
18-
generates, so we can have separate versions for support and IOC.
45+
It is also necessary Kubernetes to be able to pull the generic IOC image. If
46+
the beamline has only one Kubernetes worker node then the previous image will
47+
be in the node's local cache. If you have more than one then you will need
48+
a global image cache which is useful anyway for reducing traffic to the
49+
registries (JetStack have performed a POC for DLS that demonstrates such a
50+
global cache)
1951

20-
- Not all users of a support module will need images generated and it is
21-
counter productive for them to be required to fix the Dockerfile when
22-
they are working on changes to a support module.
52+
Note that making changes to an IOC and spinning them up would not be possible
53+
if all registries were in the cloud. However it is recommended that the 'work'
54+
registries are on prem. The production helm registry is also likely to be on
55+
prem since there is little benefit in sharing a facility's IOC instances.

0 commit comments

Comments
 (0)