Skip to content

Commit 124a028

Browse files
committed
switch /repos to /workspaces
1 parent 8659340 commit 124a028

File tree

9 files changed

+48
-49
lines changed

9 files changed

+48
-49
lines changed

docs/user/index.rst

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -22,7 +22,6 @@ side-bar.
2222
tutorials/ioc_changes1
2323
tutorials/ioc_changes2
2424
tutorials/ioc_changes3
25-
tutorials/ioc_changes4
2625
tutorials/generic_ioc
2726
tutorials/debug_generic_ioc
2827
tutorials/test_generic_ioc

docs/user/reference/ioc_helm_chart.rst

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -58,7 +58,7 @@ in this folder and what you would need to change in your new IOC instance:
5858

5959
- ``config`` this folder contains any files unique to this IOC instance. At
6060
runtime on the cluster when the Generic IOC image is running it will see
61-
these files as mounted into the folder ``/repos/epics/ioc/config``.
61+
these files as mounted into the folder ``/workspaces/epics/ioc/config``.
6262
In this case we have an EPICS startup script ``st.cmd`` only
6363
and the default behaviour is just to run the IOC binary and pass it
6464
``st.cmd``.

docs/user/tutorials/create_beamline.rst

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -66,7 +66,7 @@ We will then step through the changes that are required to make it your own.
6666
NOTE: for these tutorials we will use your personal GitHub Account to
6767
store everything we do, all source repositories and container images. For
6868
production, each facility will need its own policy for where to store these
69-
assets. See `../explanations/repositories`.
69+
assets. See ``../explanations/workspacesitories``.
7070

7171
Steps
7272
-----

docs/user/tutorials/debug_generic_ioc.rst

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -44,7 +44,7 @@ command.
4444

4545
.. code-block:: bash
4646
47-
cd /repos/epics/support/adurl
47+
cd /workspaces/epics/support/adurl
4848
make
4949
5050
You should see the same error again.
@@ -81,7 +81,7 @@ need to set the variable ``GRAPHICSMAGICK_INCLUDE`` in
8181
We can see from the ``apt-file`` output that the header file is in
8282
``/usr/include/GraphicsMagick`` which is not a default include path.
8383
Therefore we need to edit this file inside our Generic IOC container:
84-
``/repos/epics/support/adurl/configure/CONFIG_SITE.linux-x86_64.Common``
84+
``/workspaces/epics/support/adurl/configure/CONFIG_SITE.linux-x86_64.Common``
8585

8686
.. _CONFIG_SITE.local: https://areadetector.github.io/areaDetector/install_guide.html#edit-config-site-local-and-optionally-config-site-local-epics-host-arch
8787

@@ -95,8 +95,8 @@ you like from the Ubuntu repositories.
9595

9696
HOWEVER, there is a much easier way ...
9797

98-
When you launch containers with ``ec`` commands the ``/repos`` folder is
99-
synchronized to a local folder ioc-XXX/repos and that is mounted into the
98+
When you launch containers with ``ec`` commands the ``/workspaces`` folder is
99+
synchronized to a local folder ioc-XXX/workspaces and that is mounted into the
100100
container. This means that you can edit files in the container using VSCode.
101101
The mounted repos folder also ensures that any changes you make inside the
102102
container are saved between invocations of the container.

docs/user/tutorials/dev_container.rst

Lines changed: 38 additions & 26 deletions
Original file line numberDiff line numberDiff line change
@@ -230,50 +230,57 @@ The above is true because your project folder ioc-adsimdetector is mounted into
230230
the container's filesystem with a bind mount at the same place that the
231231
ioc files were originally placed by the container build.
232232

233-
epics-containers devcontainers have carefully curated host filesystem mounts
234-
that allow them to look as similar as possible to the runtime container but
235-
at the same time preserve any changes that you make in the host file system.
236-
This is important because the container filesystem is temporary and will be
233+
epics-containers devcontainers have carefully curated host filesystem mounts.
234+
This allows the developer environment to look as similar as possible to the
235+
runtime container.
236+
It also will preserve any important changes that you make in the host file system.
237+
This is essential because the container filesystem is temporary and will bed
237238
destroyed when the container is rebuilt or deleted.
238239

239-
The IOC code is entirely boilerplate boilerplate, the ``src/Makefile``
240+
See `container-layout`_ for details of which host folders are mounted into the
241+
container.
242+
243+
The IOC code is entirely boilerplate, the ``/epics/ioc/iocApp/src/Makefile``
240244
determines which dbd and lib files to link by including two files that
241-
ibek generated during the container build namely
245+
``ibek`` generated during the container build namely
242246
``/epics/support/configure/lib_list`` and ``/epics/support/configure/dbd_list``.
243-
244-
You can go and take a look at the Makefile in
245-
``/epics/ioc/iocApp/src/Makefile`` to see how this is done.
247+
Although all Generic IOCs derived from ioc-template start out with the same
248+
generic source in ``iocApp/src``, you are free to change them if there is
249+
a need for different compilation options etc.
246250

247251
The Generic IOC should now be ready to run inside of the container. To do this:
248252

249253
.. code-block:: bash
250254
251-
cd ioc
252255
./start.sh
253256
254257
You will just see the default output of a Generic IOC that has no Instance
255-
configuration. Next we will add some instance configuration from one of the
258+
configuration. Hit ``Ctrl-C`` to stop the this default script.
259+
260+
Next we will add some instance configuration from one of the
256261
IOC instances in the ``bl01t`` beamline.
257262

258-
Let's now add some other folders to our VSCode workspace to make it easier to
259-
work with ``bl01t`` and to investigate the container.
263+
To do this we will add some other folders to our VSCode workspace to make it
264+
easier to work with ``bl01t`` and to investigate the container filesystem.
260265

261266
Adding the Beamline to the Workspace
262267
------------------------------------
263268

264269
To meaningfully test the Generic IOC we will need an instance to test it
265-
against. We will use the ``bl01t`` beamline that you already made. The container
266-
has been configured to mount some useful local files from the user's home directory,
267-
including the parent folder of the workspace as ``/repos`` so we can work on
270+
against. We will use the ``bl01t`` beamline that you already made. The devcontainer
271+
has been configured to mount some useful host folders into the container
272+
including the parent folder of the workspace as ``/workspaces`` so we can work on
268273
multiple peer projects.
269274

270275
In VSCode click the ``File`` menu and select ``Add Folder to Workspace``.
271-
Navigate to ``/repos`` and you will see all the peers of your ``ioc-adsimdetector``
276+
Navigate to ``/workspaces`` and you will see all the peers of your ``ioc-adsimdetector``
272277
folder (see `container-layout` below). Choose the ``bl01t`` folder and add it to the
273-
workspace - you may see an error but if so clicking "reload window" will
278+
workspace - you may see an error but if so clicking "Cancel" will
274279
clear it.
275280

276-
Also take this opportunity to add the folder ``/epics`` to the workspace.
281+
Also take this opportunity to add the folder ``/epics`` to the workspace. This
282+
is the root folder in which all of the EPICS source and built files are
283+
located.
277284

278285
.. note::
279286

@@ -284,7 +291,7 @@ Also take this opportunity to add the folder ``/epics`` to the workspace.
284291
built by the container and should be considered immutable. We will learn
285292
how to work on support modules in later tutorials. This error should only
286293
be seen on first launch. podman users will have no such problem because they
287-
will be root inside the container and root build the container.
294+
will be root inside the container and root built the container.
288295

289296
You can now easily browse around the ``/epics`` folder and see all the
290297
support modules and epics-base. This will give you a feel for the layout of
@@ -309,10 +316,6 @@ host. i.e. the root folder under which your projects are all cloned):
309316
- N/A
310317
- compiled epics-base
311318

312-
* - /epics/ioc-adsimdetector
313-
- WS/ioc-adsimdetector
314-
- Source repository for the Generic IOC
315-
316319
* - /epics/ioc
317320
- WS/ioc-adsimdetector/ioc
318321
- soft link to IOC source tree
@@ -329,10 +332,19 @@ host. i.e. the root folder under which your projects are all cloned):
329332
- N/A
330333
- all OPI files (generated or copied from support)
331334

332-
* - /repos
335+
* - /workspaces
333336
- WS
334337
- all peers to Generic IOC source repo
335338

339+
* - /workspaces/ioc-adsimdetector
340+
- WS/ioc-adsimdetector
341+
- Generic IOC source repo (in this example)
342+
343+
* - /epics/generic-source
344+
- WS/ioc-adsimdetector
345+
- A second - fixed location mount of the Generic IOC source repo
346+
347+
336348
.. _choose-ioc-instance:
337349

338350
Choose the IOC Instance to Test
@@ -346,7 +358,7 @@ Try the following:
346358
347359
cd /epics/ioc
348360
rm -r config
349-
ln -s /repos/bl01t/iocs/bl01t-ea-ioc-02/config .
361+
ln -s /workspaces/bl01t/iocs/bl01t-ea-ioc-02/config .
350362
# check the ln worked
351363
ls -l config
352364
./start.sh

docs/user/tutorials/generic_ioc.rst

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -246,7 +246,7 @@ follows:
246246
- ``RELEASE.local`` - This tells the ADURL build where to find
247247
the support modules that it depends on. epics-containers maintains a
248248
global release file that is used by all support modules and IOCs. It
249-
located at ``/repos/epics/support/configure/RELEASE``. Therefore we
249+
located at ``/workspaces/epics/support/configure/RELEASE``. Therefore we
250250
place a reference to this file in the RELEASE.local file. Whenever
251251
``python3 modules.py install`` is run it will update the global release
252252
file and also fixup any ``SUPPORT=`` lines in all ``configure/RELEASE*``

docs/user/tutorials/ibek.rst

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -83,7 +83,7 @@ STEPS:
8383
- ec dev build
8484
- ec dev launch
8585
- inside the container:
86-
- cd /repos/epics/ioc
86+
- cd /workspaces/epics/ioc
8787
- start.sh
8888

8989
.. figure:: ../images/ibek-defs-notes.png

docs/user/tutorials/ioc_changes1.rst

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -86,7 +86,7 @@ If you see the value 1 then your change is working.
8686
is required for running OPI tools on the host (TODO add link to solution).
8787

8888
Because of the symlink between ``/epics/ioc/config`` and
89-
``/repos/bl01t/iocs/bl01t-ea-ioc-02/config`` the same files you are testing
89+
``/workspaces/bl01t/iocs/bl01t-ea-ioc-02/config`` the same files you are testing
9090
by launching the IOC inside of the devcontainer are also ready to be
9191
committed and pushed to the bl01t repo. i.e.:
9292

@@ -105,7 +105,7 @@ committed and pushed to the bl01t repo. i.e.:
105105
106106
The above steps were performed on a host terminal because we are using ``ec``.
107107
However all of the steps except for the ``ec`` command could have been done
108-
*inside* the devcontainer starting with ``cd /repos/bl01t``.
108+
*inside* the devcontainer starting with ``cd /workspaces/bl01t``.
109109

110110
We choose not to have ``ec`` installed inside of the devcontainer because
111111
that would involve containers in containers which adds too much complexity.

docs/user/tutorials/ioc_changes4.rst

Lines changed: 0 additions & 12 deletions
This file was deleted.

0 commit comments

Comments
 (0)