1
1
Frequently Asked Questions
2
2
==========================
3
3
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
+
4
15
Why have ioc-XXX repositories?
5
16
------------------------------
6
17
Why not put the Dockerfile and image generating in the support module itself
@@ -9,14 +20,36 @@ generate?
9
20
10
21
Answers:
11
22
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.
15
44
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)
19
51
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