def configure_add(self): """ Configure the Store to use the stored configuration options Any store that needs special configuration should implement this method. If the store was not able to successfully configure itself, it should raise `exceptions.BadStoreConfiguration` """ try: chunk_size = self.conf.glance_store.sheepdog_store_chunk_size self.chunk_size = chunk_size * units.Mi self.READ_CHUNKSIZE = self.chunk_size self.WRITE_CHUNKSIZE = self.READ_CHUNKSIZE self.addr = self.conf.glance_store.sheepdog_store_address self.port = self.conf.glance_store.sheepdog_store_port except cfg.ConfigFileValueError as e: reason = _("Error in store configuration: %s") % e LOG.error(reason) raise exceptions.BadStoreConfiguration(store_name='sheepdog', reason=reason) try: processutils.execute("collie", shell=True) except processutils.ProcessExecutionError as exc: reason = _("Error in store configuration: %s") % exc LOG.error(reason) raise exceptions.BadStoreConfiguration(store_name='sheepdog', reason=reason)
def _get_capacity_info(self, mount_point): """Calculates total available space for given mount point. :mount_point is path of glance data directory """ #Calculate total available space df = processutils.execute("df", "-k", mount_point)[0].strip("'\n'") total_available_space = int(df.split('\n')[1].split()[3]) * units.Ki return max(0, total_available_space)
def _run_command(self, command, data, *params): cmd = ("collie vdi %(command)s -a %(addr)s -p %(port)d %(name)s " "%(params)s" % {"command": command, "addr": self.addr, "port": self.port, "name": self.name, "params": " ".join(map(str, params))}) try: return processutils.execute( cmd, process_input=data, shell=True)[0] except processutils.ProcessExecutionError as exc: LOG.error(exc) raise glance_store.BackendException(exc)
def _run_command(self, command, data, *params): cmd = ("collie vdi %(command)s -a %(addr)s -p %(port)d %(name)s " "%(params)s" % { "command": command, "addr": self.addr, "port": self.port, "name": self.name, "params": " ".join(map(str, params)) }) try: return processutils.execute(cmd, process_input=data, shell=True)[0] except processutils.ProcessExecutionError as exc: LOG.error(exc) raise glance_store.BackendException(exc)