Scalr_Db_Msr_Info::buildStorageSettings PHP Method

buildStorageSettings() protected method

protected buildStorageSettings ( )
    protected function buildStorageSettings()
    {
        if ($this->dbFarmRole->GetSetting(Scalr_Db_Msr::VOLUME_ID) && $this->replicationMaster) {
            try {
                $volume = Scalr_Storage_Volume::init()->loadById($this->dbFarmRole->GetSetting(Scalr_Db_Msr::VOLUME_ID));
                $this->volumeConfig = $volume->getConfig();
            } catch (Exception $e) {
            }
        }
        //For Rackspace we always need snapshot_config for mysql
        if ($this->dbFarmRole->GetSetting(Scalr_Db_Msr::SNAPSHOT_ID)) {
            try {
                $snapshotConfig = Scalr_Model::init(Scalr_Model::STORAGE_SNAPSHOT)->loadById($this->dbFarmRole->GetSetting(Scalr_Db_Msr::SNAPSHOT_ID));
                $this->snapshotConfig = $snapshotConfig->getConfig();
                if ($this->snapshotConfig) {
                    if ($this->snapshotConfig->type == MYSQL_STORAGE_ENGINE::EPH) {
                        if ($this->dbFarmRole->Platform == SERVER_PLATFORMS::EC2) {
                            if (!isset($this->snapshotConfig->disk)) {
                                $this->snapshotConfig->disk = new stdClass();
                            }
                            $this->snapshotConfig->disk->device = $this->dbFarmRole->GetSetting(Scalr_Db_Msr::DATA_STORAGE_EPH_DISK);
                        }
                    }
                }
            } catch (Exception $e) {
                $this->logger->error(new FarmLogMessage($this->dbServer, "Cannot get snaphotConfig for hostInit message: {$e->getMessage()}"));
            }
        }
        if ($this->replicationMaster && $this->volumeConfig) {
            $this->volumeConfig->recreateIfMissing = (int) $this->dbFarmRole->GetSetting(Scalr_Role_DbMsrBehavior::ROLE_DATA_STORAGE_RECREATE_IF_MISSING);
            if ($this->volumeConfig->type == MYSQL_STORAGE_ENGINE::EPH) {
                if ($this->dbFarmRole->Platform == SERVER_PLATFORMS::EC2 && !$this->volumeConfig->disks) {
                    $this->volumeConfig->disk->device = $this->dbFarmRole->GetSetting(Scalr_Db_Msr::DATA_STORAGE_EPH_DISK);
                }
            }
        } else {
            $this->volumeConfig = $this->getFreshVolumeConfig();
        }
    }