Statistics
| Branch: | Tag: | Revision:

root / daemons / ensure-dirs.in @ c46b9782

History | View | Annotate | Download (1.2 kB)

1 46a8da3b René Nussbaumer
#!/bin/bash
2 46a8da3b René Nussbaumer
3 46a8da3b René Nussbaumer
set -e
4 46a8da3b René Nussbaumer
5 46a8da3b René Nussbaumer
LIBDIR="@LOCALSTATEDIR@/lib"
6 46a8da3b René Nussbaumer
DATADIR="${LIBDIR}/ganeti"
7 46a8da3b René Nussbaumer
RUNDIR="@LOCALSTATEDIR@/run"
8 46a8da3b René Nussbaumer
GNTRUNDIR="${RUNDIR}/ganeti"
9 46a8da3b René Nussbaumer
LOGDIR="@LOCALSTATEDIR@/log"
10 46a8da3b René Nussbaumer
GNTLOGDIR="${LOGDIR}/ganeti"
11 46a8da3b René Nussbaumer
12 46a8da3b René Nussbaumer
_fileset_owner() {
13 46a8da3b René Nussbaumer
  case "$1" in
14 46a8da3b René Nussbaumer
    masterd)
15 46a8da3b René Nussbaumer
      echo "@GNTMASTERUSER@:@GNTMASTERDGROUP@"
16 46a8da3b René Nussbaumer
      ;;
17 46a8da3b René Nussbaumer
    confd)
18 46a8da3b René Nussbaumer
      echo "@GNTCONFDUSER@:@GNTCONFDGROUP@"
19 46a8da3b René Nussbaumer
      ;;
20 46a8da3b René Nussbaumer
    rapi)
21 46a8da3b René Nussbaumer
      echo "@GNTRAPIUSER@:@GNTRAPIGROUP@"
22 46a8da3b René Nussbaumer
      ;;
23 46a8da3b René Nussbaumer
    daemons)
24 46a8da3b René Nussbaumer
      echo "@GNTMASTERUSER@:@GNTDAEMONSGROUP@"
25 46a8da3b René Nussbaumer
      ;;
26 46a8da3b René Nussbaumer
    *)
27 46a8da3b René Nussbaumer
      echo "root:root"
28 46a8da3b René Nussbaumer
      ;;
29 46a8da3b René Nussbaumer
  esac
30 46a8da3b René Nussbaumer
}
31 46a8da3b René Nussbaumer
32 46a8da3b René Nussbaumer
_ensure_dir() {
33 46a8da3b René Nussbaumer
  local dir="$1"
34 46a8da3b René Nussbaumer
  local perm="$2"
35 46a8da3b René Nussbaumer
  local owner="$3"
36 46a8da3b René Nussbaumer
37 46a8da3b René Nussbaumer
  [ -d "${dir}" ] || mkdir "${dir}"
38 46a8da3b René Nussbaumer
  chmod ${perm} "${dir}"
39 46a8da3b René Nussbaumer
  chown ${owner} "${dir}"
40 46a8da3b René Nussbaumer
}
41 46a8da3b René Nussbaumer
42 46a8da3b René Nussbaumer
_ensure_rundir() {
43 46a8da3b René Nussbaumer
  _ensure_dir "${GNTRUNDIR}" 0775 "$(_fileset_owner "daemons")"
44 46a8da3b René Nussbaumer
  _ensure_dir "${GNTRUNDIR}/socket" 0750 "$(_fileset_owner "daemons")"
45 46a8da3b René Nussbaumer
}
46 46a8da3b René Nussbaumer
47 46a8da3b René Nussbaumer
_ensure_logdir() {
48 46a8da3b René Nussbaumer
  _ensure_dir "${GNTLOGDIR}" 0770 "$(_fileset_owner "daemons")"
49 46a8da3b René Nussbaumer
50 158377f3 Guido Trotter
  touch "${GNTLOGDIR}/rapi-daemon.log"
51 46a8da3b René Nussbaumer
  chown $(_fileset_owner "rapi") "${GNTLOGDIR}/rapi-daemon.log"
52 46a8da3b René Nussbaumer
}
53 46a8da3b René Nussbaumer
54 46a8da3b René Nussbaumer
_operate_while_hold() {
55 46a8da3b René Nussbaumer
  local fn=$1
56 46a8da3b René Nussbaumer
  local path=$2
57 46a8da3b René Nussbaumer
  shift 2
58 46a8da3b René Nussbaumer
59 46a8da3b René Nussbaumer
  (cd "${path}";
60 46a8da3b René Nussbaumer
   ${fn} "$@")
61 46a8da3b René Nussbaumer
}
62 46a8da3b René Nussbaumer
63 46a8da3b René Nussbaumer
main() {
64 46a8da3b René Nussbaumer
  _operate_while_hold "_ensure_rundir" "${RUNDIR}"
65 46a8da3b René Nussbaumer
  _operate_while_hold "_ensure_logdir" "${LOGDIR}"
66 46a8da3b René Nussbaumer
}
67 46a8da3b René Nussbaumer
68 46a8da3b René Nussbaumer
main "$@"