Example #1
0
    def apply_old_namespace_options(option, cli_values):
        """Apply the old format (before 2.5.0) namespaces options."""
        merge_namespaces_cli(option, cli_values)

        LOG.warning("Deprecation warning: the current namespaces "
                    "configuration format is outdated and support may be "
                    "removed in a future release. Please update your "
                    "config file to use the new format.")

        ns_set = option.value['include']
        ex_ns_set = option.value['exclude']
        gridfs_set = option.value['gridfs']
        dest_mapping = option.value['mapping']

        valid_names = set(['include', 'exclude', 'gridfs', 'mapping'])
        valid_names |= set('__' + name for name in valid_names)
        valid_names.add('__comment__')
        for key in option.value:
            if key not in valid_names:
                raise errors.InvalidConfiguration(
                    "Invalid option %s in old style (pre 2.5.0) namespaces "
                    "configuration. The only valid option names are: %r" %
                    (key, list(valid_names)))


        validate_namespace_options(
            namespace_set=ns_set, ex_namespace_set=ex_ns_set,
            dest_mapping=dest_mapping, gridfs_set=gridfs_set)
Example #2
0
    def apply_new_namespace_options(option, cli_values):
        """Apply the new format (since 2.5.0) namespaces options."""
        merge_namespaces_cli(option, cli_values)
        namespace_options = copy.deepcopy(option.value)
        ns_set = namespace_options.pop('include', None)
        ex_ns_set = namespace_options.pop('exclude', None)
        gridfs_set = namespace_options.pop('gridfs', None)
        dest_mapping = namespace_options.pop('mapping', None)
        option.value["namespace_options"] = namespace_options

        validate_namespace_options(
            namespace_set=ns_set, ex_namespace_set=ex_ns_set,
            dest_mapping=dest_mapping,
            namespace_options=namespace_options, gridfs_set=gridfs_set)