forked from rook/rook
It's quite convinient to expose /var/log/ceph so that we can decide to activate logs locally on the machine and see what's going on. This is only a placeholder when a daemon is stuck crashlooping and we want to allow administrator to gather log files. We still do not log on file but this can be activated via a config option passed to the centralized config option store. For some daemons, which typically do not store any data (rgw, rbd-mirror and mds) we had to propagate dataDirHostPath from the cluster spec to each creation call so that the bindmount can happen. Fixes: https://github.com/rook/rook/issues/2881 Signed-off-by: Sébastien Han <seb@redhat.com>
78 lines
2.4 KiB
Go
78 lines
2.4 KiB
Go
/*
|
|
Copyright 2019 The Rook Authors. All rights reserved.
|
|
|
|
Licensed under the Apache License, Version 2.0 (the "License");
|
|
you may not use this file except in compliance with the License.
|
|
You may obtain a copy of the License at
|
|
|
|
http://www.apache.org/licenses/LICENSE-2.0
|
|
|
|
Unless required by applicable law or agreed to in writing, software
|
|
distributed under the License is distributed on an "AS IS" BASIS,
|
|
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
|
See the License for the specific language governing permissions and
|
|
limitations under the License.
|
|
*/
|
|
|
|
package config
|
|
|
|
import (
|
|
"testing"
|
|
|
|
"github.com/stretchr/testify/assert"
|
|
)
|
|
|
|
func TestNewStatefulDaemonDataPathMap(t *testing.T) {
|
|
// mon
|
|
d := NewStatefulDaemonDataPathMap("/var/lib/rook", "/mon-a/data", MonType, "a", "rook-ceph")
|
|
assert.Equal(t, &DataPathMap{
|
|
PersistData: true,
|
|
HostDataDir: "/var/lib/rook/mon-a/data",
|
|
ContainerDataDir: "/var/lib/ceph/mon/ceph-a",
|
|
ContainerLogDir: "/var/log/ceph",
|
|
HostLogDir: "/var/lib/rook/rook-ceph/log",
|
|
}, d)
|
|
|
|
// osd
|
|
d = NewStatefulDaemonDataPathMap("/var/lib/rook/", "osd0/", OsdType, "0", "rook-ceph")
|
|
assert.Equal(t, &DataPathMap{
|
|
PersistData: true,
|
|
HostDataDir: "/var/lib/rook/osd0",
|
|
ContainerDataDir: "/var/lib/ceph/osd/ceph-0",
|
|
ContainerLogDir: "/var/log/ceph",
|
|
HostLogDir: "/var/lib/rook/rook-ceph/log",
|
|
}, d)
|
|
}
|
|
|
|
func TestNewStatelessDaemonDataPathMap(t *testing.T) {
|
|
// mgr
|
|
d := NewStatelessDaemonDataPathMap(MgrType, "a", "rook-ceph", "/var/lib/rook")
|
|
assert.Equal(t, &DataPathMap{
|
|
PersistData: false,
|
|
HostDataDir: "",
|
|
ContainerDataDir: "/var/lib/ceph/mgr/ceph-a",
|
|
ContainerLogDir: "/var/log/ceph",
|
|
HostLogDir: "/var/lib/rook/rook-ceph/log",
|
|
}, d)
|
|
|
|
// mds
|
|
d = NewStatelessDaemonDataPathMap(MdsType, "myfs.a", "rook-ceph", "/var/lib/rook")
|
|
assert.Equal(t, &DataPathMap{
|
|
PersistData: false,
|
|
HostDataDir: "",
|
|
ContainerDataDir: "/var/lib/ceph/mds/ceph-myfs.a",
|
|
ContainerLogDir: "/var/log/ceph",
|
|
HostLogDir: "/var/lib/rook/rook-ceph/log",
|
|
}, d)
|
|
|
|
// rgw
|
|
d = NewStatelessDaemonDataPathMap(RgwType, "objstore", "rook-ceph", "/var/lib/rook")
|
|
assert.Equal(t, &DataPathMap{
|
|
PersistData: false,
|
|
HostDataDir: "",
|
|
ContainerDataDir: "/var/lib/ceph/rgw/ceph-objstore",
|
|
ContainerLogDir: "/var/log/ceph",
|
|
HostLogDir: "/var/lib/rook/rook-ceph/log",
|
|
}, d)
|
|
}
|