forked from rook/rook
The orchestrations need to be triggered on any update to the crd. Users today restart the operator for various scenarios when the operator could take care of it automatically. If unsupported options are updated, they should just be ignored. There are two goroutines that are working with the mons. The first is an orchestration that is triggered by the operator at startup, or when the cluster crd is updated. The second is the health check that triggers periodically by default every 45 seconds. These goroutines must not try to make updates at the same time. A mutex is added so one will block if the other is still active. The mutex is only active for the duration of working with mons, and not an entire orchestration of mgr, osd, etc Signed-off-by: travisn <tnielsen@redhat.com>