]> git.apps.os.sepia.ceph.com Git - ceph.git/commitdiff
cmake,deb: set EnvironmentFile using cmake 20618/head
authorKefu Chai <kchai@redhat.com>
Tue, 27 Feb 2018 08:42:48 +0000 (16:42 +0800)
committerKefu Chai <kchai@redhat.com>
Tue, 27 Feb 2018 16:23:48 +0000 (00:23 +0800)
this change also fix the EnvironmentFile specified in rbdmap.service.
without this change EnvironmentFile in rbdmap.service is always
/etc/sysconfig/ceph even on debian derived distros. after this change,
this variable is /etc/default/ceph in rbdmap.service shipped by the deb
packages.

Signed-off-by: Kefu Chai <kchai@redhat.com>
18 files changed:
debian/rules
systemd/CMakeLists.txt
systemd/ceph-fuse@.service [deleted file]
systemd/ceph-fuse@.service.in [new file with mode: 0644]
systemd/ceph-mds@.service [deleted file]
systemd/ceph-mds@.service.in [new file with mode: 0644]
systemd/ceph-mgr@.service [deleted file]
systemd/ceph-mgr@.service.in [new file with mode: 0644]
systemd/ceph-mon@.service [deleted file]
systemd/ceph-mon@.service.in [new file with mode: 0644]
systemd/ceph-osd@.service [deleted file]
systemd/ceph-osd@.service.in [new file with mode: 0644]
systemd/ceph-radosgw@.service [deleted file]
systemd/ceph-radosgw@.service.in [new file with mode: 0644]
systemd/ceph-rbd-mirror@.service [deleted file]
systemd/ceph-rbd-mirror@.service.in [new file with mode: 0644]
systemd/rbdmap.service [deleted file]
systemd/rbdmap.service.in [new file with mode: 0644]

index 50495ffb6da8d5b7d5f9a5b38974324942ff37d7..5f8923b48fa2087b3be1a171c4748951a360df4e 100755 (executable)
@@ -6,7 +6,8 @@ export DESTDIR=$(CURDIR)/debian/tmp
 export DEB_HOST_ARCH      ?= $(shell dpkg-architecture -qDEB_HOST_ARCH)
 
 extraopts += -DUSE_CRYPTOPP=OFF -DWITH_OCF=ON -DWITH_LTTNG=ON -DWITH_PYTHON3=ON -DWITH_EMBEDDED=OFF
-extraopts += -DWITH_CEPHFS_JAVA=ON -DWITH_SYSTEMD=ON
+extraopts += -DWITH_CEPHFS_JAVA=ON
+extraopts += -DWITH_SYSTEMD=ON -DCEPH_SYSTEMD_ENV_DIR=/etc/default
 # assumes that ceph is exmpt from multiarch support, so we override the libdir.
 extraopts += -DCMAKE_INSTALL_LIBDIR=/usr/lib
 extraopts += -DCMAKE_INSTALL_LIBEXECDIR=/usr/lib
@@ -83,17 +84,6 @@ override_dh_installinit:
        install -d -m0755 debian/ceph-common/usr/lib/tmpfiles.d
        install -m 0644 -D systemd/ceph.tmpfiles.d debian/ceph-common/usr/lib/tmpfiles.d/ceph.conf
 
-       sed -i s./etc/sysconfig/./etc/default/.g debian/ceph-mon/lib/systemd/system/ceph-mon@.service
-       sed -i s./etc/sysconfig/./etc/default/.g debian/ceph-osd/lib/systemd/system/ceph-osd@.service
-       sed -i s./etc/sysconfig/./etc/default/.g debian/ceph-osd/lib/systemd/system/ceph-disk@.service
-       sed -i s./etc/sysconfig/./etc/default/.g debian/ceph-osd/lib/systemd/system/ceph-volume@.service
-
-       sed -i s./etc/sysconfig/./etc/default/.g debian/ceph-mds/lib/systemd/system/ceph-mds@.service
-       sed -i s./etc/sysconfig/./etc/default/.g debian/ceph-fuse/lib/systemd/system/ceph-fuse@.service
-       sed -i s./etc/sysconfig/./etc/default/.g debian/ceph-mgr/lib/systemd/system/ceph-mgr@.service
-       sed -i s./etc/sysconfig/./etc/default/.g debian/radosgw/lib/systemd/system/ceph-radosgw@.service
-       sed -i s./etc/sysconfig/./etc/default/.g debian/rbd-mirror/lib/systemd/system/ceph-rbd-mirror@.service
-
        dh_installinit -p ceph-base --name ceph --no-start
        dh_installinit -p radosgw --no-start
 
index cd88f328926b992b282a684741ce71680ff7c459..86ea87cde4e0933daa34867d2707dde6ec466a31 100644 (file)
@@ -1,5 +1,26 @@
 set(CMAKE_INSTALL_SYSTEMD_SERVICEDIR "${CMAKE_INSTALL_LIBEXECDIR}/systemd/system"
   CACHE PATH "Location for systemd service files")
+set(CEPH_SYSTEMD_ENV_DIR "/etc/sysconf"
+  CACHE PATH "Location for systemd service environmental variable settings files")
+set(SYSTEMD_ENV_FILE "${CEPH_SYSTEMD_ENV_DIR}/ceph")
+foreach(service
+    ceph-fuse@
+    ceph-mds@
+    ceph-mgr@
+    ceph-mon@
+    ceph-osd@
+    ceph-radosgw@
+    ceph-rbd-mirror@
+    rbdmap)
+  configure_file(
+    ${service}.service.in
+    ${service}.service
+    @ONLY)
+  install(
+    FILES ${CMAKE_CURRENT_BINARY_DIR}/${service}.service
+    DESTINATION ${CMAKE_INSTALL_SYSTEMD_SERVICEDIR})
+endforeach()
+
 install(FILES
   ceph.target
   ceph-fuse.target
@@ -9,14 +30,6 @@ install(FILES
   ceph-mds.target
   ceph-radosgw.target
   ceph-rbd-mirror.target
-  ceph-fuse@.service
-  ceph-mds@.service
-  ceph-mgr@.service
-  ceph-mon@.service
-  ceph-osd@.service
-  ceph-radosgw@.service
-  ceph-rbd-mirror@.service
   ceph-disk@.service
   ceph-volume@.service
-  rbdmap.service
   DESTINATION ${CMAKE_INSTALL_SYSTEMD_SERVICEDIR})
diff --git a/systemd/ceph-fuse@.service b/systemd/ceph-fuse@.service
deleted file mode 100644 (file)
index 9898244..0000000
+++ /dev/null
@@ -1,18 +0,0 @@
-[Unit]
-Description=Ceph FUSE client
-After=network-online.target local-fs.target time-sync.target
-Wants=network-online.target local-fs.target time-sync.target
-Conflicts=umount.target
-PartOf=ceph-fuse.target
-
-[Service]
-EnvironmentFile=-/etc/sysconfig/ceph
-Environment=CLUSTER=ceph
-ExecStart=/usr/bin/ceph-fuse -f --cluster ${CLUSTER} %I
-TasksMax=infinity
-Restart=on-failure
-StartLimitInterval=30min
-StartLimitBurst=3
-
-[Install]
-WantedBy=ceph-fuse.target
diff --git a/systemd/ceph-fuse@.service.in b/systemd/ceph-fuse@.service.in
new file mode 100644 (file)
index 0000000..11eb7e7
--- /dev/null
@@ -0,0 +1,18 @@
+[Unit]
+Description=Ceph FUSE client
+After=network-online.target local-fs.target time-sync.target
+Wants=network-online.target local-fs.target time-sync.target
+Conflicts=umount.target
+PartOf=ceph-fuse.target
+
+[Service]
+EnvironmentFile=-@SYSTEMD_ENV_FILE@
+Environment=CLUSTER=ceph
+ExecStart=/usr/bin/ceph-fuse -f --cluster ${CLUSTER} %I
+TasksMax=infinity
+Restart=on-failure
+StartLimitInterval=30min
+StartLimitBurst=3
+
+[Install]
+WantedBy=ceph-fuse.target
diff --git a/systemd/ceph-mds@.service b/systemd/ceph-mds@.service
deleted file mode 100644 (file)
index d34bd05..0000000
+++ /dev/null
@@ -1,24 +0,0 @@
-[Unit]
-Description=Ceph metadata server daemon
-After=network-online.target local-fs.target time-sync.target
-Wants=network-online.target local-fs.target time-sync.target
-PartOf=ceph-mds.target
-
-[Service]
-LimitNOFILE=1048576
-LimitNPROC=1048576
-EnvironmentFile=-/etc/sysconfig/ceph
-Environment=CLUSTER=ceph
-ExecStart=/usr/bin/ceph-mds -f --cluster ${CLUSTER} --id %i --setuser ceph --setgroup ceph
-ExecReload=/bin/kill -HUP $MAINPID
-PrivateDevices=yes
-ProtectHome=true
-ProtectSystem=full
-PrivateTmp=true
-TasksMax=infinity
-Restart=on-failure
-StartLimitInterval=30min
-StartLimitBurst=3
-
-[Install]
-WantedBy=ceph-mds.target
diff --git a/systemd/ceph-mds@.service.in b/systemd/ceph-mds@.service.in
new file mode 100644 (file)
index 0000000..bd472f6
--- /dev/null
@@ -0,0 +1,24 @@
+[Unit]
+Description=Ceph metadata server daemon
+After=network-online.target local-fs.target time-sync.target
+Wants=network-online.target local-fs.target time-sync.target
+PartOf=ceph-mds.target
+
+[Service]
+LimitNOFILE=1048576
+LimitNPROC=1048576
+EnvironmentFile=-@SYSTEMD_ENV_FILE@
+Environment=CLUSTER=ceph
+ExecStart=/usr/bin/ceph-mds -f --cluster ${CLUSTER} --id %i --setuser ceph --setgroup ceph
+ExecReload=/bin/kill -HUP $MAINPID
+PrivateDevices=yes
+ProtectHome=true
+ProtectSystem=full
+PrivateTmp=true
+TasksMax=infinity
+Restart=on-failure
+StartLimitInterval=30min
+StartLimitBurst=3
+
+[Install]
+WantedBy=ceph-mds.target
diff --git a/systemd/ceph-mgr@.service b/systemd/ceph-mgr@.service
deleted file mode 100644 (file)
index 8272ad0..0000000
+++ /dev/null
@@ -1,21 +0,0 @@
-[Unit]
-Description=Ceph cluster manager daemon
-After=network-online.target local-fs.target time-sync.target
-Wants=network-online.target local-fs.target time-sync.target
-PartOf=ceph-mgr.target
-
-[Service]
-LimitNOFILE=1048576
-LimitNPROC=1048576
-EnvironmentFile=-/etc/sysconfig/ceph
-Environment=CLUSTER=ceph
-
-ExecStart=/usr/bin/ceph-mgr -f --cluster ${CLUSTER} --id %i --setuser ceph --setgroup ceph
-ExecReload=/bin/kill -HUP $MAINPID
-Restart=on-failure
-RestartSec=10
-StartLimitInterval=30min
-StartLimitBurst=3
-
-[Install]
-WantedBy=ceph-mgr.target
diff --git a/systemd/ceph-mgr@.service.in b/systemd/ceph-mgr@.service.in
new file mode 100644 (file)
index 0000000..fab1b9e
--- /dev/null
@@ -0,0 +1,21 @@
+[Unit]
+Description=Ceph cluster manager daemon
+After=network-online.target local-fs.target time-sync.target
+Wants=network-online.target local-fs.target time-sync.target
+PartOf=ceph-mgr.target
+
+[Service]
+LimitNOFILE=1048576
+LimitNPROC=1048576
+EnvironmentFile=-@SYSTEMD_ENV_FILE@
+Environment=CLUSTER=ceph
+
+ExecStart=/usr/bin/ceph-mgr -f --cluster ${CLUSTER} --id %i --setuser ceph --setgroup ceph
+ExecReload=/bin/kill -HUP $MAINPID
+Restart=on-failure
+RestartSec=10
+StartLimitInterval=30min
+StartLimitBurst=3
+
+[Install]
+WantedBy=ceph-mgr.target
diff --git a/systemd/ceph-mon@.service b/systemd/ceph-mon@.service
deleted file mode 100644 (file)
index db4995f..0000000
+++ /dev/null
@@ -1,31 +0,0 @@
-[Unit]
-Description=Ceph cluster monitor daemon
-
-# According to:
-#   http://www.freedesktop.org/wiki/Software/systemd/NetworkTarget
-# these can be removed once ceph-mon will dynamically change network
-# configuration.
-After=network-online.target local-fs.target time-sync.target
-Wants=network-online.target local-fs.target time-sync.target
-
-PartOf=ceph-mon.target
-
-[Service]
-LimitNOFILE=1048576
-LimitNPROC=1048576
-EnvironmentFile=-/etc/sysconfig/ceph
-Environment=CLUSTER=ceph
-ExecStart=/usr/bin/ceph-mon -f --cluster ${CLUSTER} --id %i --setuser ceph --setgroup ceph
-ExecReload=/bin/kill -HUP $MAINPID
-PrivateDevices=yes
-ProtectHome=true
-ProtectSystem=full
-PrivateTmp=true
-TasksMax=infinity
-Restart=on-failure
-StartLimitInterval=30min
-StartLimitBurst=5
-RestartSec=10
-
-[Install]
-WantedBy=ceph-mon.target
diff --git a/systemd/ceph-mon@.service.in b/systemd/ceph-mon@.service.in
new file mode 100644 (file)
index 0000000..c2566f3
--- /dev/null
@@ -0,0 +1,31 @@
+[Unit]
+Description=Ceph cluster monitor daemon
+
+# According to:
+#   http://www.freedesktop.org/wiki/Software/systemd/NetworkTarget
+# these can be removed once ceph-mon will dynamically change network
+# configuration.
+After=network-online.target local-fs.target time-sync.target
+Wants=network-online.target local-fs.target time-sync.target
+
+PartOf=ceph-mon.target
+
+[Service]
+LimitNOFILE=1048576
+LimitNPROC=1048576
+EnvironmentFile=-@SYSTEMD_ENV_FILE@
+Environment=CLUSTER=ceph
+ExecStart=/usr/bin/ceph-mon -f --cluster ${CLUSTER} --id %i --setuser ceph --setgroup ceph
+ExecReload=/bin/kill -HUP $MAINPID
+PrivateDevices=yes
+ProtectHome=true
+ProtectSystem=full
+PrivateTmp=true
+TasksMax=infinity
+Restart=on-failure
+StartLimitInterval=30min
+StartLimitBurst=5
+RestartSec=10
+
+[Install]
+WantedBy=ceph-mon.target
diff --git a/systemd/ceph-osd@.service b/systemd/ceph-osd@.service
deleted file mode 100644 (file)
index 0a43ee1..0000000
+++ /dev/null
@@ -1,25 +0,0 @@
-[Unit]
-Description=Ceph object storage daemon osd.%i
-After=network-online.target local-fs.target time-sync.target ceph-mon.target
-Wants=network-online.target local-fs.target time-sync.target
-PartOf=ceph-osd.target
-
-[Service]
-LimitNOFILE=1048576
-LimitNPROC=1048576
-EnvironmentFile=-/etc/sysconfig/ceph
-Environment=CLUSTER=ceph
-ExecStart=/usr/bin/ceph-osd -f --cluster ${CLUSTER} --id %i --setuser ceph --setgroup ceph
-ExecStartPre=/usr/lib/ceph/ceph-osd-prestart.sh --cluster ${CLUSTER} --id %i
-ExecReload=/bin/kill -HUP $MAINPID
-ProtectHome=true
-ProtectSystem=full
-PrivateTmp=true
-TasksMax=infinity
-Restart=on-failure
-StartLimitInterval=30min
-StartLimitBurst=30
-RestartSec=20s
-
-[Install]
-WantedBy=ceph-osd.target
diff --git a/systemd/ceph-osd@.service.in b/systemd/ceph-osd@.service.in
new file mode 100644 (file)
index 0000000..672a10b
--- /dev/null
@@ -0,0 +1,25 @@
+[Unit]
+Description=Ceph object storage daemon osd.%i
+After=network-online.target local-fs.target time-sync.target ceph-mon.target
+Wants=network-online.target local-fs.target time-sync.target
+PartOf=ceph-osd.target
+
+[Service]
+LimitNOFILE=1048576
+LimitNPROC=1048576
+EnvironmentFile=-@SYSTEMD_ENV_FILE@
+Environment=CLUSTER=ceph
+ExecStart=/usr/bin/ceph-osd -f --cluster ${CLUSTER} --id %i --setuser ceph --setgroup ceph
+ExecStartPre=/usr/lib/ceph/ceph-osd-prestart.sh --cluster ${CLUSTER} --id %i
+ExecReload=/bin/kill -HUP $MAINPID
+ProtectHome=true
+ProtectSystem=full
+PrivateTmp=true
+TasksMax=infinity
+Restart=on-failure
+StartLimitInterval=30min
+StartLimitBurst=30
+RestartSec=20s
+
+[Install]
+WantedBy=ceph-osd.target
diff --git a/systemd/ceph-radosgw@.service b/systemd/ceph-radosgw@.service
deleted file mode 100644 (file)
index 3f7fcac..0000000
+++ /dev/null
@@ -1,23 +0,0 @@
-[Unit]
-Description=Ceph rados gateway
-After=network-online.target local-fs.target time-sync.target
-Wants=network-online.target local-fs.target time-sync.target
-PartOf=ceph-radosgw.target
-
-[Service]
-LimitNOFILE=1048576
-LimitNPROC=1048576
-EnvironmentFile=-/etc/sysconfig/ceph
-Environment=CLUSTER=ceph
-ExecStart=/usr/bin/radosgw -f --cluster ${CLUSTER} --name client.%i --setuser ceph --setgroup ceph
-PrivateDevices=yes
-ProtectHome=true
-ProtectSystem=full
-PrivateTmp=true
-TasksMax=infinity
-Restart=on-failure
-StartLimitInterval=30s
-StartLimitBurst=5
-
-[Install]
-WantedBy=ceph-radosgw.target
diff --git a/systemd/ceph-radosgw@.service.in b/systemd/ceph-radosgw@.service.in
new file mode 100644 (file)
index 0000000..e2dac0b
--- /dev/null
@@ -0,0 +1,23 @@
+[Unit]
+Description=Ceph rados gateway
+After=network-online.target local-fs.target time-sync.target
+Wants=network-online.target local-fs.target time-sync.target
+PartOf=ceph-radosgw.target
+
+[Service]
+LimitNOFILE=1048576
+LimitNPROC=1048576
+EnvironmentFile=-@SYSTEMD_ENV_FILE@
+Environment=CLUSTER=ceph
+ExecStart=/usr/bin/radosgw -f --cluster ${CLUSTER} --name client.%i --setuser ceph --setgroup ceph
+PrivateDevices=yes
+ProtectHome=true
+ProtectSystem=full
+PrivateTmp=true
+TasksMax=infinity
+Restart=on-failure
+StartLimitInterval=30s
+StartLimitBurst=5
+
+[Install]
+WantedBy=ceph-radosgw.target
diff --git a/systemd/ceph-rbd-mirror@.service b/systemd/ceph-rbd-mirror@.service
deleted file mode 100644 (file)
index 17fd738..0000000
+++ /dev/null
@@ -1,24 +0,0 @@
-[Unit]
-Description=Ceph rbd mirror daemon
-After=network-online.target local-fs.target
-Wants=network-online.target local-fs.target
-PartOf=ceph-rbd-mirror.target
-
-[Service]
-LimitNOFILE=1048576
-LimitNPROC=1048576
-EnvironmentFile=-/etc/sysconfig/ceph
-Environment=CLUSTER=ceph
-ExecStart=/usr/bin/rbd-mirror -f --cluster ${CLUSTER} --id %i --setuser ceph --setgroup ceph
-ExecReload=/bin/kill -HUP $MAINPID
-PrivateDevices=yes
-ProtectHome=true
-ProtectSystem=full
-PrivateTmp=true
-Restart=on-failure
-StartLimitInterval=30min
-StartLimitBurst=3
-TasksMax=infinity
-
-[Install]
-WantedBy=ceph-rbd-mirror.target
diff --git a/systemd/ceph-rbd-mirror@.service.in b/systemd/ceph-rbd-mirror@.service.in
new file mode 100644 (file)
index 0000000..f8b15dc
--- /dev/null
@@ -0,0 +1,24 @@
+[Unit]
+Description=Ceph rbd mirror daemon
+After=network-online.target local-fs.target
+Wants=network-online.target local-fs.target
+PartOf=ceph-rbd-mirror.target
+
+[Service]
+LimitNOFILE=1048576
+LimitNPROC=1048576
+EnvironmentFile=-@SYSTEMD_ENV_FILE@
+Environment=CLUSTER=ceph
+ExecStart=/usr/bin/rbd-mirror -f --cluster ${CLUSTER} --id %i --setuser ceph --setgroup ceph
+ExecReload=/bin/kill -HUP $MAINPID
+PrivateDevices=yes
+ProtectHome=true
+ProtectSystem=full
+PrivateTmp=true
+Restart=on-failure
+StartLimitInterval=30min
+StartLimitBurst=3
+TasksMax=infinity
+
+[Install]
+WantedBy=ceph-rbd-mirror.target
diff --git a/systemd/rbdmap.service b/systemd/rbdmap.service
deleted file mode 100644 (file)
index 15e64ab..0000000
+++ /dev/null
@@ -1,17 +0,0 @@
-[Unit]
-Description=Map RBD devices
-
-After=network-online.target local-fs.target
-Wants=network-online.target local-fs.target
-
-[Service]
-EnvironmentFile=-/etc/sysconfig/ceph
-Environment=RBDMAPFILE=/etc/ceph/rbdmap
-Type=oneshot
-RemainAfterExit=yes
-ExecStart=/usr/bin/rbdmap map
-ExecReload=/usr/bin/rbdmap map
-ExecStop=/usr/bin/rbdmap unmap-all
-
-[Install]
-WantedBy=multi-user.target
diff --git a/systemd/rbdmap.service.in b/systemd/rbdmap.service.in
new file mode 100644 (file)
index 0000000..45aa2af
--- /dev/null
@@ -0,0 +1,17 @@
+[Unit]
+Description=Map RBD devices
+
+After=network-online.target local-fs.target
+Wants=network-online.target local-fs.target
+
+[Service]
+EnvironmentFile=-@SYSTEMD_ENV_FILE@
+Environment=RBDMAPFILE=/etc/ceph/rbdmap
+Type=oneshot
+RemainAfterExit=yes
+ExecStart=/usr/bin/rbdmap map
+ExecReload=/usr/bin/rbdmap map
+ExecStop=/usr/bin/rbdmap unmap-all
+
+[Install]
+WantedBy=multi-user.target