diff --git a/.zuul.yaml b/.zuul.yaml index 71011ed5..a43635fd 100644 --- a/.zuul.yaml +++ b/.zuul.yaml @@ -100,6 +100,11 @@ name: devstack-plugin-ceph-multinode-cephfs-nfs-cephadm parent: manila-tempest-plugin-multinode-cephfs-nfs-cephadm description: Test CephFS NFS (DHSS=False) in a Multinode devstack env + vars: + devstack_localrc: + MDS_LOGS: True + CEPH_INGRESS_IP: "{{hostvars['controller'].ansible_default_ipv6.address}}" + - job: name: devstack-plugin-ceph-multinode-tempest-py3 diff --git a/devstack/lib/cephadm b/devstack/lib/cephadm index c4a591fe..8b36fccd 100755 --- a/devstack/lib/cephadm +++ b/devstack/lib/cephadm @@ -61,6 +61,8 @@ CEPH_CONF_FILE=${CEPH_CONF_FILE:-$CEPH_CONF_DIR/ceph.conf} # LOG(s) and EXPORTED CONFIG FILES EXPORT=$HOME/ceph_export.yml RBD_CLIENT_LOG=/var/log/ceph/qemu-guest-\$pid.log +MDS_LOG_FILE="$HOME/mds_log.conf" +MDS_LOGS=${MDS_LOGS:-"False"} # MANILA DEFAULTS MANILA_CEPH_USER=${MANILA_CEPH_USER:-manila} @@ -72,7 +74,7 @@ CEPHFS_CLIENT=0 CEPHFS_CLIENT_NAME="client.$MANILA_CEPH_USER" CEPHFS_CLIENT_LOG="/var/log/ceph-$CEPHFS_CLIENT_NAME.log" CEPHFS_MULTIPLE_FILESYSTEMS=${CEPHFS_MULTIPLE_FILESYSTEMS:-False} -VIP=$HOST_IP +VIP=$CEPH_INGRESS_IP # GLANCE DEFAULTS @@ -109,6 +111,33 @@ function set_debug { fi } +function enable_verbose_mds_logging { + $SUDO "$CEPHADM" shell --fsid $FSID --config $CEPH_CONFIG \ + --keyring $CEPH_KEYRING -- ceph config set mds debug_mds 20 + $SUDO "$CEPHADM" shell --fsid $FSID --config $CEPH_CONFIG \ + --keyring $CEPH_KEYRING -- ceph config set mds debug_ms 20 + $SUDO "$CEPHADM" shell --fsid $FSID --config $CEPH_CONFIG \ + --keyring $CEPH_KEYRING -- ceph config set mds debug_client 20 + $SUDO "$CEPHADM" shell --fsid $FSID --config $CEPH_CONFIG \ + --keyring $CEPH_KEYRING -- ceph config set mds log_to_file true + $SUDO "$CEPHADM" shell --fsid $FSID --config $CEPH_CONFIG \ + --keyring $CEPH_KEYRING -- ceph config set global mon_cluster_log_to_file true + $SUDO "$CEPHADM" shell --fsid $FSID --config $CEPH_CONFIG \ + --keyring $CEPH_KEYRING -- ceph config set global log_to_file true + touch "$MDS_LOG_FILE" + cat < "$MDS_LOG_FILE" +LOG { + COMPONENTS { + ALL = FULL_DEBUG; + } +} +EOF + $SUDO "$CEPHADM" shell --fsid $FSID --config $CEPH_CONFIG \ + --keyring $CEPH_KEYRING -m $MDS_LOG_FILE -- ceph nfs cluster config set "$FSNAME" \ + -i /mnt/mds_log.conf + +} + # Admin: check ceph cluster status function check_cluster_status { $SUDO "$CEPHADM" shell --fsid $FSID --config $CEPH_CONFIG \ @@ -340,7 +369,7 @@ function ceph_nfs_config { $SUDO "$CEPHADM" shell --fsid $FSID --config $CEPH_CONFIG \ --keyring $CEPH_KEYRING -- ceph nfs cluster create \ "$FSNAME" "$HOSTNAME" --port $NFS_PORT --ingress \ - --ingress-mode haproxy-protocol --virtual_ip $HOST_IP + --ingress-mode haproxy-protocol --virtual_ip $VIP else echo "[CEPHADM] Ingress service is not deployed \ to preserve the ability to apply client restrictions." diff --git a/devstack/plugin.sh b/devstack/plugin.sh index d8694944..ccd8c3cd 100644 --- a/devstack/plugin.sh +++ b/devstack/plugin.sh @@ -119,6 +119,9 @@ elif [[ "$1" == "stack" && "$2" == "post-config" ]]; then fi fi fi + if [[ "$MDS_LOGS" == "True" ]]; then + enable_verbose_mds_logging + fi elif [[ "$1" == "stack" && "$2" == "test-config" ]]; then if is_service_enabled tempest; then iniset $TEMPEST_CONFIG compute-feature-enabled swap_volume False