rbd: rbd-nbd logging the ceph-CSI way

- One logfile per device/volume
- Add ability to customize the logdir, default: /var/log/ceph

Note: if user customizes the hostpath to something else other than default
/var/log/ceph, then it is his responsibility to update the `cephLogDir`
in storageclass to reflect the same with daemon:

```
cephLogDir: "/var/log/mynewpath"
```

Signed-off-by: Prasanna Kumar Kalever <prasanna.kalever@redhat.com>
This commit is contained in:
Prasanna Kumar Kalever
2021-08-18 12:51:23 +05:30
committed by mergify[bot]
parent 0be7024726
commit 682b3a980b
4 changed files with 30 additions and 0 deletions

View File

@ -50,6 +50,7 @@ const (
rbdImageWatcherSteps = 10
rbdDefaultMounter = "rbd"
rbdNbdMounter = "rbd-nbd"
defaultLogDir = "/var/log/ceph"
// Output strings returned during invocation of "ceph rbd task add remove <imagespec>" when
// command is not supported by ceph manager. Used to check errors and recover when the command
@ -136,6 +137,7 @@ type rbdVolume struct {
ReservedID string
MapOptions string
UnmapOptions string
LogDir string
VolName string `json:"volName"`
MonValueFromSecret string `json:"monValueFromSecret"`
VolSize int64 `json:"volSize"`
@ -2002,3 +2004,16 @@ func (ri *rbdImage) addSnapshotScheduling(
return nil
}
// getCephClientLogFileName compiles the complete log file path based on inputs.
func getCephClientLogFileName(id, logDir, prefix string) string {
if prefix == "" {
prefix = "ceph"
}
if logDir == "" {
logDir = defaultLogDir
}
return fmt.Sprintf("%s/%s-%s.log", logDir, prefix, id)
}