Esempio n. 1
0
    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)
Esempio n. 2
0
    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)
Esempio n. 3
0
    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)
Esempio n. 4
0
    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))
Esempio n. 5
0
    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))
Esempio n. 6
0
    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)