def parse(self, configuration, config): listen_settings = config_setting_add(config.root, LISTEN, CONFIG_TYPE_LIST) for listen in configuration.listens: listen_setting = config_setting_add(listen_settings, '', CONFIG_TYPE_GROUP) addr_setting = config_setting_add(listen_setting, LISTEN_ADDR, CONFIG_TYPE_STRING) config_setting_set_string(addr_setting, listen.addr) port_setting = config_setting_add(listen_setting, LISTEN_PORT, CONFIG_TYPE_INT) config_setting_set_int(port_setting, listen.port) storage_settings = config_setting_add(config.root, STORAGES, CONFIG_TYPE_LIST) for storage in configuration.storages.values(): storage_setting = config_setting_add(storage_settings, '', CONFIG_TYPE_GROUP) cid_setting = config_setting_add(storage_setting, STORAGE_CID, CONFIG_TYPE_INT) config_setting_set_int(cid_setting, storage.cid) sid_setting = config_setting_add(storage_setting, STORAGE_SID, CONFIG_TYPE_INT) config_setting_set_int(sid_setting, storage.sid) root_setting = config_setting_add(storage_setting, STORAGE_ROOT, CONFIG_TYPE_STRING) config_setting_set_string(root_setting, storage.root)
def parse(self, configuration, config): # layout_setting = config_setting_add(config.root, LAYOUT, CONFIG_TYPE_INT) # config_setting_set_int(layout_setting, configuration.layout) ports_setting = config_setting_add(config.root, PORTS, CONFIG_TYPE_LIST) for port in configuration.ports: config_setting_set_int_elem(ports_setting, -1, port) storage_settings = config_setting_add(config.root, STORAGES, CONFIG_TYPE_LIST) for storage in configuration.storages.values(): storage_setting = config_setting_add(storage_settings, '', CONFIG_TYPE_GROUP) cid_setting = config_setting_add(storage_setting, STORAGE_CID, CONFIG_TYPE_INT) config_setting_set_int(cid_setting, storage.cid) sid_setting = config_setting_add(storage_setting, STORAGE_SID, CONFIG_TYPE_INT) config_setting_set_int(sid_setting, storage.sid) root_setting = config_setting_add(storage_setting, STORAGE_ROOT, CONFIG_TYPE_STRING) config_setting_set_string(root_setting, storage.root)
def parse(self, configuration, config): if configuration.threads is not None: threads_setting = config_setting_add(config.root, THREADS, CONFIG_TYPE_INT) config_setting_set_int(threads_setting, int(configuration.threads)) if configuration.nbcores is not None: nbcores_setting = config_setting_add(config.root, NBCORES, CONFIG_TYPE_INT) config_setting_set_int(nbcores_setting, int(configuration.nbcores)) if configuration.storio is not None: storio_setting = config_setting_add(config.root, STORIO, CONFIG_TYPE_STRING) config_setting_set_string(storio_setting, configuration.storio) listen_settings = config_setting_add(config.root, LISTEN, CONFIG_TYPE_LIST) for listen in configuration.listens: listen_setting = config_setting_add(listen_settings, '', CONFIG_TYPE_GROUP) addr_setting = config_setting_add(listen_setting, LISTEN_ADDR, CONFIG_TYPE_STRING) config_setting_set_string(addr_setting, listen.addr) port_setting = config_setting_add(listen_setting, LISTEN_PORT, CONFIG_TYPE_INT) config_setting_set_int(port_setting, listen.port) storage_settings = config_setting_add(config.root, STORAGES, CONFIG_TYPE_LIST) for storage in configuration.storages.values(): storage_setting = config_setting_add(storage_settings, '', CONFIG_TYPE_GROUP) cid_setting = config_setting_add(storage_setting, STORAGE_CID, CONFIG_TYPE_INT) config_setting_set_int(cid_setting, storage.cid) sid_setting = config_setting_add(storage_setting, STORAGE_SID, CONFIG_TYPE_INT) config_setting_set_int(sid_setting, storage.sid) root_setting = config_setting_add(storage_setting, STORAGE_ROOT, CONFIG_TYPE_STRING) config_setting_set_string(root_setting, storage.root)
def parse(self, configuration, config): layout_setting = config_setting_add(config.root, LAYOUT, CONFIG_TYPE_INT) config_setting_set_int(layout_setting, int(configuration.layout)) volumes_settings = config_setting_add(config.root, VOLUMES, CONFIG_TYPE_LIST) for volume in configuration.volumes.values(): volume_settings = config_setting_add(volumes_settings, VOLUME, CONFIG_TYPE_GROUP) vid_setting = config_setting_add(volume_settings, VOLUME_VID, CONFIG_TYPE_INT) config_setting_set_int(vid_setting, int(volume.vid)) clusters_settings = config_setting_add(volume_settings, VOLUME_CIDS, CONFIG_TYPE_LIST) for cluster in volume.clusters.values(): cluster_setting = config_setting_add(clusters_settings, '', CONFIG_TYPE_GROUP) cid_setting = config_setting_add(cluster_setting, VOLUME_CID, CONFIG_TYPE_INT) config_setting_set_int(cid_setting, int(cluster.cid)) sids_setting = config_setting_add(cluster_setting, VOLUME_SIDS, CONFIG_TYPE_LIST) for sid, host in cluster.storages.items(): storage_setting = config_setting_add(sids_setting, '', CONFIG_TYPE_GROUP) sid_setting = config_setting_add(storage_setting, VOLUME_SID, CONFIG_TYPE_INT) config_setting_set_int(sid_setting, int(sid)) host_setting = config_setting_add(storage_setting, VOLUME_HOST, CONFIG_TYPE_STRING) config_setting_set_string(host_setting, str(host)) export_settings = config_setting_add(config.root, EXPORTS, CONFIG_TYPE_LIST) for export in configuration.exports.values(): export_setting = config_setting_add(export_settings, '', CONFIG_TYPE_GROUP) eid_setting = config_setting_add(export_setting, EXPORT_EID, CONFIG_TYPE_INT) config_setting_set_int(eid_setting, int(export.eid)) vid_setting = config_setting_add(export_setting, VOLUME_VID, CONFIG_TYPE_INT) config_setting_set_int(vid_setting, int(export.vid)) root_setting = config_setting_add(export_setting, EXPORT_ROOT, CONFIG_TYPE_STRING) config_setting_set_string(root_setting, str(export.root)) md5_setting = config_setting_add(export_setting, EXPORT_MD5, CONFIG_TYPE_STRING) config_setting_set_string(md5_setting, str(export.md5)) sqt_setting = config_setting_add(export_setting, EXPORT_SQUOTA, CONFIG_TYPE_STRING) config_setting_set_string(sqt_setting, str(export.squota)) hqt_setting = config_setting_add(export_setting, EXPORT_HQUOTA, CONFIG_TYPE_STRING) config_setting_set_string(hqt_setting, str(export.hquota))
def parse(self, configuration, config): if configuration.nbcores is not None: nbcores_setting = config_setting_add(config.root, NBCORES, CONFIG_TYPE_INT) config_setting_set_int(nbcores_setting, int(configuration.nbcores)) layout_setting = config_setting_add(config.root, LAYOUT, CONFIG_TYPE_INT) config_setting_set_int(layout_setting, int(configuration.layout)) volumes_settings = config_setting_add(config.root, VOLUMES, CONFIG_TYPE_LIST) for volume in configuration.volumes.values(): volume_settings = config_setting_add(volumes_settings, VOLUME, CONFIG_TYPE_GROUP) vid_setting = config_setting_add(volume_settings, VOLUME_VID, CONFIG_TYPE_INT) config_setting_set_int(vid_setting, int(volume.vid)) if volume.layout is not None: volume_layout_setting = config_setting_add( volume_settings, LAYOUT, CONFIG_TYPE_INT) config_setting_set_int(volume_layout_setting, int(volume.layout)) clusters_settings = config_setting_add(volume_settings, VOLUME_CIDS, CONFIG_TYPE_LIST) for cluster in volume.clusters.values(): cluster_setting = config_setting_add(clusters_settings, '', CONFIG_TYPE_GROUP) cid_setting = config_setting_add(cluster_setting, VOLUME_CID, CONFIG_TYPE_INT) config_setting_set_int(cid_setting, int(cluster.cid)) sids_setting = config_setting_add(cluster_setting, VOLUME_SIDS, CONFIG_TYPE_LIST) for sid, host in cluster.storages.items(): storage_setting = config_setting_add( sids_setting, '', CONFIG_TYPE_GROUP) sid_setting = config_setting_add(storage_setting, VOLUME_SID, CONFIG_TYPE_INT) config_setting_set_int(sid_setting, int(sid)) host_setting = config_setting_add(storage_setting, VOLUME_HOST, CONFIG_TYPE_STRING) config_setting_set_string(host_setting, str(host)) export_settings = config_setting_add(config.root, EXPORTS, CONFIG_TYPE_LIST) for export in configuration.exports.values(): export_setting = config_setting_add(export_settings, '', CONFIG_TYPE_GROUP) eid_setting = config_setting_add(export_setting, EXPORT_EID, CONFIG_TYPE_INT) config_setting_set_int(eid_setting, int(export.eid)) vid_setting = config_setting_add(export_setting, VOLUME_VID, CONFIG_TYPE_INT) config_setting_set_int(vid_setting, int(export.vid)) root_setting = config_setting_add(export_setting, EXPORT_ROOT, CONFIG_TYPE_STRING) config_setting_set_string(root_setting, str(export.root)) md5_setting = config_setting_add(export_setting, EXPORT_MD5, CONFIG_TYPE_STRING) config_setting_set_string(md5_setting, str(export.md5)) sqt_setting = config_setting_add(export_setting, EXPORT_SQUOTA, CONFIG_TYPE_STRING) config_setting_set_string(sqt_setting, str(export.squota)) hqt_setting = config_setting_add(export_setting, EXPORT_HQUOTA, CONFIG_TYPE_STRING) config_setting_set_string(hqt_setting, str(export.hquota))
def parse(self, configuration, config): if configuration.threads is not None: threads_setting = config_setting_add(config.root, THREADS, CONFIG_TYPE_INT) config_setting_set_int(threads_setting, int(configuration.threads)) if configuration.nbcores is not None: nbcores_setting = config_setting_add(config.root, NBCORES, CONFIG_TYPE_INT) config_setting_set_int(nbcores_setting, int(configuration.nbcores)) if configuration.storio is not None: storio_setting = config_setting_add(config.root, STORIO, CONFIG_TYPE_STRING) config_setting_set_string(storio_setting, configuration.storio) if configuration.self_healing is not None: self_healing_setting = config_setting_add(config.root, SELF_HEALING, CONFIG_TYPE_INT) config_setting_set_int(self_healing_setting, configuration.self_healing) if configuration.export_hosts is not None: export_hosts_setting = config_setting_add(config.root, EXPORT_HOSTS, CONFIG_TYPE_STRING) config_setting_set_string(export_hosts_setting, configuration.export_hosts) if configuration.crc32c_check is not None: crc32c_check_setting = config_setting_add(config.root, CRC32C_CHECK, CONFIG_TYPE_BOOL) config_setting_set_bool(crc32c_check_setting, configuration.crc32c_check) if configuration.crc32c_generate is not None: crc32c_gen_setting = config_setting_add(config.root, CRC32C_GENERATE, CONFIG_TYPE_BOOL) config_setting_set_bool(crc32c_gen_setting, configuration.crc32c_generate) if configuration.crc32c_hw_forced is not None: crc32c_hw_forced_setting = config_setting_add(config.root, CRC32C_HW_FORCED, CONFIG_TYPE_BOOL) config_setting_set_bool(crc32c_hw_forced_setting, configuration.crc32c_hw_forced) listen_settings = config_setting_add(config.root, LISTEN, CONFIG_TYPE_LIST) for listen in configuration.listens: listen_setting = config_setting_add(listen_settings, '', CONFIG_TYPE_GROUP) addr_setting = config_setting_add(listen_setting, LISTEN_ADDR, CONFIG_TYPE_STRING) config_setting_set_string(addr_setting, listen.addr) port_setting = config_setting_add(listen_setting, LISTEN_PORT, CONFIG_TYPE_INT) config_setting_set_int(port_setting, listen.port) storage_settings = config_setting_add(config.root, STORAGES, CONFIG_TYPE_LIST) for storage in configuration.storages.values(): storage_setting = config_setting_add(storage_settings, '', CONFIG_TYPE_GROUP) cid_setting = config_setting_add(storage_setting, STORAGE_CID, CONFIG_TYPE_INT) config_setting_set_int(cid_setting, storage.cid) sid_setting = config_setting_add(storage_setting, STORAGE_SID, CONFIG_TYPE_INT) config_setting_set_int(sid_setting, storage.sid) root_setting = config_setting_add(storage_setting, STORAGE_ROOT, CONFIG_TYPE_STRING) config_setting_set_string(root_setting, storage.root) device_t_setting = config_setting_add(storage_setting, STORAGE_DEV_T, CONFIG_TYPE_INT) config_setting_set_int(device_t_setting, storage.device_t) device_m_setting = config_setting_add(storage_setting, STORAGE_DEV_M, CONFIG_TYPE_INT) config_setting_set_int(device_m_setting, storage.device_m) device_r_setting = config_setting_add(storage_setting, STORAGE_DEV_R, CONFIG_TYPE_INT) config_setting_set_int(device_r_setting, storage.device_r)