# 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 cinder || is_service_enabled nova; 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