| # ceph.sh - DevStack extras script to install Ceph | 
 |  | 
 | if is_service_enabled ceph; then | 
 |     if [[ "$1" == "source" ]]; then | 
 |         # Initial source | 
 |         source $TOP_DIR/lib/ceph | 
 |     elif [[ "$1" == "stack" && "$2" == "pre-install" ]]; then | 
 |         echo_summary "Installing Ceph" | 
 |         check_os_support_ceph | 
 |         if [ "$REMOTE_CEPH" = "False" ]; then | 
 |             install_ceph | 
 |             echo_summary "Configuring Ceph" | 
 |             configure_ceph | 
 |             # NOTE (leseb): Do everything here because we need to have Ceph started before the main | 
 |             # OpenStack components. Ceph OSD must start here otherwise we can't upload any images. | 
 |             echo_summary "Initializing Ceph" | 
 |             init_ceph | 
 |             start_ceph | 
 |         else | 
 |             install_ceph_remote | 
 |         fi | 
 |     elif [[ "$1" == "stack" && "$2" == "post-config" ]]; then | 
 |         if is_service_enabled glance; then | 
 |             echo_summary "Configuring Glance for Ceph" | 
 |             configure_ceph_glance | 
 |         fi | 
 |         if is_service_enabled nova; then | 
 |             echo_summary "Configuring Nova for Ceph" | 
 |             configure_ceph_nova | 
 |         fi | 
 |         if is_service_enabled cinder; then | 
 |             echo_summary "Configuring Cinder for Ceph" | 
 |             configure_ceph_cinder | 
 |         fi | 
 |         if is_service_enabled n-cpu; then | 
 |             # NOTE (leseb): the part below is a requirement to attach Ceph block devices | 
 |             echo_summary "Configuring libvirt secret" | 
 |             import_libvirt_secret_ceph | 
 |         fi | 
 |  | 
 |         if [ "$REMOTE_CEPH" = "False" ]; then | 
 |             if is_service_enabled glance; then | 
 |                 echo_summary "Configuring Glance for Ceph" | 
 |                 configure_ceph_embedded_glance | 
 |             fi | 
 |             if is_service_enabled nova; then | 
 |                 echo_summary "Configuring Nova for Ceph" | 
 |                 configure_ceph_embedded_nova | 
 |             fi | 
 |             if is_service_enabled cinder; then | 
 |                 echo_summary "Configuring Cinder for Ceph" | 
 |                 configure_ceph_embedded_cinder | 
 |             fi | 
 |         fi | 
 |     fi | 
 |  | 
 |     if [[ "$1" == "unstack" ]]; then | 
 |         if [ "$REMOTE_CEPH" = "True" ]; then | 
 |             cleanup_ceph_remote | 
 |         else | 
 |             cleanup_ceph_embedded | 
 |             stop_ceph | 
 |         fi | 
 |         cleanup_ceph_general | 
 |     fi | 
 |  | 
 |     if [[ "$1" == "clean" ]]; then | 
 |         if [ "$REMOTE_CEPH" = "True" ]; then | 
 |             cleanup_ceph_remote | 
 |         else | 
 |             cleanup_ceph_embedded | 
 |         fi | 
 |         cleanup_ceph_general | 
 |     fi | 
 | fi |