def createPool(conn, ptype, poolname=None, fmt=None, target_path=None, source_path=None, source_name=None, iqn=None): if poolname is None: poolname = StoragePool.find_free_name(conn, "%s-pool" % ptype) pool_inst = StoragePool(conn) pool_inst.name = poolname pool_inst.type = ptype if pool_inst.supports_hosts(): hostobj = pool_inst.hosts.add_new() hostobj.name = "some.random.hostname" if pool_inst.supports_source_path(): pool_inst.source_path = source_path or "/some/source/path" if pool_inst.supports_target_path(): pool_inst.target_path = (target_path or pool_inst.default_target_path()) if fmt and pool_inst.supports_format(): pool_inst.format = fmt if pool_inst.supports_source_name(): pool_inst.source_name = (source_name or pool_inst.default_source_name()) if iqn and pool_inst.supports_iqn(): pool_inst.iqn = iqn return poolCompare(pool_inst)
def createPool(conn, ptype, poolname=None, fmt=None, target_path=None, source_path=None, source_name=None, iqn=None): if poolname is None: poolname = StoragePool.find_free_name(conn, "%s-pool" % ptype) pool_inst = StoragePool(conn) pool_inst.name = poolname pool_inst.type = ptype if pool_inst.supports_property("hosts"): hostobj = pool_inst.hosts.add_new() hostobj.name = "some.random.hostname" if pool_inst.supports_property("source_path"): pool_inst.source_path = source_path or "/some/source/path" if pool_inst.supports_property("target_path"): pool_inst.target_path = target_path or "/some/target/path" if fmt and pool_inst.supports_property("format"): pool_inst.format = fmt if source_name and pool_inst.supports_property("source_name"): pool_inst.source_name = source_name if iqn and pool_inst.supports_property("iqn"): pool_inst.iqn = iqn pool_inst.validate() return poolCompare(pool_inst)
def _make_stub_pool(self): pool = self._get_pool_from_sourcelist() if not pool: pool = StoragePool(self.conn.get_backend()) pool.type = self._get_config_pool_type() pool.name = self.widget("pool-name").get_text() return pool
def manage_path(conn, path): """ If path is not managed, try to create a storage pool to probe the path """ vol, pool, path_is_pool = check_if_path_managed(conn, path) if vol or pool or not _can_auto_manage(path): return vol, pool, path_is_pool dirname = os.path.dirname(path) poolname = StoragePool.find_free_name( conn, os.path.basename(dirname) or "pool") logging.debug("Attempting to build pool=%s target=%s", poolname, dirname) poolxml = StoragePool(conn) poolxml.name = poolxml.find_free_name( conn, os.path.basename(dirname) or "dirpool") poolxml.type = poolxml.TYPE_DIR poolxml.target_path = dirname pool = poolxml.install(build=False, create=True, autostart=True) conn.clear_cache(pools=True) vol = None for checkvol in pool.listVolumes(): if checkvol == os.path.basename(path): vol = pool.storageVolLookupByName(checkvol) break return vol, pool, False
def createPool(conn, ptype, poolname=None, fmt=None, target_path=None, source_path=None, source_name=None, uuid=None, iqn=None): if poolname is None: poolname = _findFreePoolName(conn, str(ptype) + "-pool") if uuid is None: uuid = generate_uuid_from_string(poolname) pool_inst = StoragePool(conn) pool_inst.name = poolname pool_inst.type = ptype pool_inst.uuid = uuid if pool_inst.supports_property("host"): pool_inst.host = "some.random.hostname" if pool_inst.supports_property("source_path"): pool_inst.source_path = source_path or "/some/source/path" if pool_inst.supports_property("target_path"): pool_inst.target_path = target_path or "/some/target/path" if fmt and pool_inst.supports_property("format"): pool_inst.format = fmt if source_name and pool_inst.supports_property("source_name"): pool_inst.source_name = source_name if iqn and pool_inst.supports_property("iqn"): pool_inst.iqn = iqn pool_inst.validate() return poolCompare(pool_inst)
def createPool(conn, ptype, poolname=None, fmt=None, target_path=None, source_path=None, source_name=None, iqn=None): if poolname is None: poolname = StoragePool.find_free_name(conn, "%s-pool" % ptype) pool_inst = StoragePool(conn) pool_inst.name = poolname pool_inst.type = ptype if pool_inst.supports_property("hosts"): hostobj = pool_inst.hosts.add_new() hostobj.name = "some.random.hostname" if pool_inst.supports_property("source_path"): pool_inst.source_path = source_path or "/some/source/path" if pool_inst.supports_property("target_path"): pool_inst.target_path = target_path or "/some/target/path" if fmt and pool_inst.supports_property("format"): pool_inst.format = fmt if source_name and pool_inst.supports_property("source_name"): pool_inst.source_name = source_name if iqn and pool_inst.supports_property("iqn"): pool_inst.iqn = iqn return poolCompare(pool_inst)
def createPool(conn, ptype, poolname=None, fmt=None, target_path=None, source_path=None, source_name=None, uuid=None, iqn=None): if poolname is None: poolname = StoragePool.find_free_name(conn, "%s-pool" % ptype) if uuid is None: uuid = generate_uuid_from_string(poolname) pool_inst = StoragePool(conn) pool_inst.name = poolname pool_inst.type = ptype pool_inst.uuid = uuid if pool_inst.supports_property("hosts"): pool_inst.add_host("some.random.hostname") if pool_inst.supports_property("source_path"): pool_inst.source_path = source_path or "/some/source/path" if pool_inst.supports_property("target_path"): pool_inst.target_path = target_path or "/some/target/path" if fmt and pool_inst.supports_property("format"): pool_inst.format = fmt if source_name and pool_inst.supports_property("source_name"): pool_inst.source_name = source_name if iqn and pool_inst.supports_property("iqn"): pool_inst.iqn = iqn pool_inst.validate() return poolCompare(pool_inst)
def _build_pool(conn, meter, path): pool = StoragePool.lookup_pool_by_path(conn, path) if pool: logging.debug("Existing pool '%s' found for %s", pool.name(), path) pool.refresh(0) return pool name = util.generate_name("boot-scratch", conn.storagePoolLookupByName) logging.debug("Building storage pool: path=%s name=%s", path, name) poolbuild = StoragePool(conn) poolbuild.type = poolbuild.TYPE_DIR poolbuild.name = name poolbuild.target_path = path # Explicitly don't build? since if we are creating this directory # we probably don't have correct perms ret = poolbuild.install(meter=meter, create=True, build=False, autostart=True) conn.clear_cache(pools=True) return ret
def makepool(name, create): poolxml = StoragePool(conn) poolxml.type = "dir" poolxml.name = name poolxml.target_path = "/tmp/foo/bar/baz/%s" % name return poolxml.install(create=create)