Register a file path from which to read parameter values.

        This method can be called multiple times to register multiple files for
        querying.  Files are expected to be ``ini`` formatted.

        No assumptions should be made about the order that the registered files
        are read and values defined in multiple files may have unpredictable
        results.

        **Arguments**

        :``file_name``: Name of the file to add to the parameter search.

def add_configuration_file(self, file_name):
        '''Register a file path from which to read parameter values.

        This method can be called multiple times to register multiple files for
        querying.  Files are expected to be ``ini`` formatted.

        No assumptions should be made about the order that the registered files
        are read and values defined in multiple files may have unpredictable
        results.

        **Arguments**

        :``file_name``: Name of the file to add to the parameter search.

        '''

        logger.info('adding %s to configuration files', file_name)

        if file_name not in self.configuration_files and self._inotify:
            self._watch_manager.add_watch(file_name, pyinotify.IN_MODIFY)

        if os.access(file_name, os.R_OK):
            self.configuration_files[file_name] = SafeConfigParser()
            self.configuration_files[file_name].read(file_name)
        else:
            logger.warn('could not read %s', file_name)
            warnings.warn('could not read {}'.format(file_name), ResourceWarning)