'Setup the polling according to config.
The configuration is supported as follows:
{"sources": [{"name": source_1,
"interval": interval_time,
"meters" : ["meter_1", "meter_2"],
"resources": ["resource_uri1", "resource_uri2"],
{"name": source_2,
"interval": interval_time,
"meters" : ["meter_3"],
The interval determines the cadence of sample polling
Valid meter format is \'*\', \'!meter_name\', or \'meter_name\'.
\'*\' is wildcard symbol means any meters; \'!meter_name\' means
"meter_name" will be excluded; \'meter_name\' means \'meter_name\'
will be included.
Valid meters definition is all "included meter names", all
"excluded meter names", wildcard and "excluded meter names", or
only wildcard.
The resources is list of URI indicating the resources from where
the meters should be polled. It\'s optional and it\'s up to the
specific pollster to decide how to use it.'

def __init__(self, conf, cfg_file):

    super(PollingManager, self).__init__(conf)
    try:
        cfg = self.load_config(cfg_file)
    except (TypeError, IOError):
        LOG.warning('Using    the    pipeline    configuration    for    polling    is    deprecated.    %s    should    be    used    instead.', cfg_file)
        cfg = self.load_config(conf.pipeline_cfg_file)
    self.sources = []
    if ('sources' not in cfg):
        raise PollingException('sources    required', cfg)
    for s in cfg.get('sources'):
        self.sources.append(PollingSource(s))
