aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorArun Isaac2023-02-09 09:12:28 +0000
committerArun Isaac2023-02-09 09:44:40 +0000
commitd968a5bbb969a3032f4460afcb294e4672dc5aa6 (patch)
tree3a730c6742f4fe55fb1363b400efa5e9270f2461
parent18ebcea38dca7b1a5ba8be3bdc70b4369674336e (diff)
downloadgn-machines-d968a5bbb969a3032f4460afcb294e4672dc5aa6.tar.gz
Share the mysqld socket directory into the container.
We ought to share the mysqld socket directory into the container, not the socket itself. If we only shared the socket, when the mysql server is restarted and a new socket is created, the bind mounting into the container would break and the container would need to be restarted. * genenetwork-development-deploy.sh: Share /var/run/mysqld, not /var/run/mysqld/mysqld.sock. * genenetwork-development.scm (genenetwork-shepherd-services): Share /run/mysqld, not /run/mysqld/mysqld.sock.
-rwxr-xr-xgenenetwork-development-deploy.sh5
-rw-r--r--genenetwork-development.scm10
2 files changed, 12 insertions, 3 deletions
diff --git a/genenetwork-development-deploy.sh b/genenetwork-development-deploy.sh
index b7f469d..2dc9135 100755
--- a/genenetwork-development-deploy.sh
+++ b/genenetwork-development-deploy.sh
@@ -21,6 +21,9 @@
# Build and install genenetwork development container on penguin2.
+# If we shared only the mysqld.sock socket file, it would break when
+# the external mysqld server is restarted. So, we share the mysqld
+# socket directory.
container_script=$(guix system container --network \
--verbosity=3 \
--load-path=. \
@@ -32,7 +35,7 @@ container_script=$(guix system container --network \
--expose=/export/data/genenetwork \
--share=/export/data/genenetwork-xapian \
--share=/export/genenetwork-database-dump \
- --share=/var/run/mysqld/mysqld.sock=/run/mysqld/mysqld.sock \
+ --share=/var/run/mysqld=/run/mysqld \
genenetwork-development.scm)
echo $container_script
diff --git a/genenetwork-development.scm b/genenetwork-development.scm
index 638d2c9..688d02f 100644
--- a/genenetwork-development.scm
+++ b/genenetwork-development.scm
@@ -436,11 +436,14 @@ described by CONFIG, a <genenetwork-configuration> object."
(program-file "genenetwork2"
(genenetwork2-cd-gexp config))
#:name "genenetwork2-pola-wrapper"
+ ;; If we mapped only the mysqld.sock
+ ;; socket file, it would break when the
+ ;; external mysqld server is restarted.
#:mappings (list (file-system-mapping
(source genotype-files)
(target source))
(file-system-mapping
- (source "/run/mysqld/mysqld.sock")
+ (source "/run/mysqld")
(target source)
(writable? #t)))
#:namespaces (delq 'net %namespaces))
@@ -458,8 +461,11 @@ described by CONFIG, a <genenetwork-configuration> object."
(program-file "genenetwork3"
(genenetwork3-cd-gexp config))
#:name "genenetwork3-pola-wrapper"
+ ;; If we mapped only the mysqld.sock
+ ;; socket file, it would break when the
+ ;; external mysqld server is restarted.
#:mappings (list (file-system-mapping
- (source "/run/mysqld/mysqld.sock")
+ (source "/run/mysqld")
(target source)
(writable? #t))
(file-system-mapping