Hi bob I have update patch for your review comment for this patch https://review.opendev.org/#/c/726281/ In this patch, I add check, when host lock and unlock, in case this host with storage personality. if not ceph.is_rook_ceph(): # Semantic Check: Avoid Lock of Host with recovering OSDs # First ignore: workers, simplex, hosts without OSDs configured if personality != constants.WORKER and \ not cutils.is_aio_simplex_system(pecan.request.dbapi) and \ pecan.request.dbapi.istor_get_by_ihost(hostupdate.ihost_orig['uuid']) and \ self._ceph.check_recovery_in_progress(hostupdate.ihost_orig['hostname']): raise wsme.exc.ClientSideError( _("PGs in recovery state, rejecting %s action on %s as OSDs " "of this host are getting up to date data from its peer " "host. Retry once recovery completes." % ( hostupdate.ihost_patch['action'], hostupdate.ihost_orig['hostname']))) At first, "self._ceph.check_recovery_in_progress", this line will return fail, after duplex finish migration. This makes duplex host could not lock, after migration. As rook deployed ceph-mgr has not enable restful module, and admin user has not created. I update rook-ceph application in starlingx/rook-ceph project. https://review.opendev.org/#/c/716792/ patchset 50 In this application's third helm-chart rook-ceph-provisioner, create key admin and add certification for "mgr/restful/controller-0/key", "mgr/restful/controller-0/crt" "mgr/restful/controller-1/key", "mgr/restful/controller-1/crt". So this patch could be abandon. https://review.opendev.org/#/c/726281/ Please go on review my patch rook-ceph Patch for rook-ceph deployment https://review.opendev.org/#/c/716792/ https://review.opendev.org/#/c/720637/ https://review.opendev.org/#/c/731872/ BR! Martin, Chen IOTG, Software Engineer 021-61164330