<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<style type="text/css" style="display:none;"><!-- P {margin-top:0;margin-bottom:0;} --></style>
</head>
<body dir="ltr">
<div id="divtagdefaultwrapper" style="font-size:12pt;color:#000000;font-family:Calibri,Helvetica,sans-serif;" dir="ltr">
<p>Hello Gordon,</p>
<p><br>
</p>
<p>In order to avoid previous erroneous configurations I started over the ceilometer implementation. I tried including modifying the pipeline file as proposed and now I am finding errors like this when I Try to make change similar to the one you proposed.</p>
<p><br>
</p>
<p>2017-10-31 23:45:35.707 14436 ERROR cotyledon [-] Unhandled exception<br>
2017-10-31 23:45:35.707 14436 ERROR cotyledon Traceback (most recent call last):<br>
2017-10-31 23:45:35.707 14436 ERROR cotyledon   File "/usr/lib/python2.7/dist-packages/cotyledon/__init__.py", line 62, in _exit_on_exception<br>
2017-10-31 23:45:35.707 14436 ERROR cotyledon     yield<br>
2017-10-31 23:45:35.707 14436 ERROR cotyledon   File "/usr/lib/python2.7/dist-packages/cotyledon/__init__.py", line 140, in _run<br>
2017-10-31 23:45:35.707 14436 ERROR cotyledon     self.run()<br>
2017-10-31 23:45:35.707 14436 ERROR cotyledon   File "/usr/lib/python2.7/dist-packages/ceilometer/agent/manager.py", line 417, in run<br>
2017-10-31 23:45:35.707 14436 ERROR cotyledon     self.polling_manager = pipeline.setup_polling()<br>
2017-10-31 23:45:35.707 14436 ERROR cotyledon   File "/usr/lib/python2.7/dist-packages/ceilometer/pipeline.py", line 855, in setup_polling<br>
2017-10-31 23:45:35.707 14436 ERROR cotyledon     return PollingManager(cfg_file)<br>
2017-10-31 23:45:35.707 14436 ERROR cotyledon   File "/usr/lib/python2.7/dist-packages/ceilometer/pipeline.py", line 817, in __init__<br>
2017-10-31 23:45:35.707 14436 ERROR cotyledon     cfg = self.load_config(cfg_info)<br>
2017-10-31 23:45:35.707 14436 ERROR cotyledon   File "/usr/lib/python2.7/dist-packages/ceilometer/pipeline.py", line 639, in load_config<br>
2017-10-31 23:45:35.707 14436 ERROR cotyledon     conf = yaml.safe_load(data)<br>
2017-10-31 23:45:35.707 14436 ERROR cotyledon   File "/usr/lib/python2.7/dist-packages/yaml/__init__.py", line 93, in safe_load<br>
2017-10-31 23:45:35.707 14436 ERROR cotyledon     return load(stream, SafeLoader)<br>
2017-10-31 23:45:35.707 14436 ERROR cotyledon   File "/usr/lib/python2.7/dist-packages/yaml/__init__.py", line 71, in load<br>
2017-10-31 23:45:35.707 14436 ERROR cotyledon     return loader.get_single_data()<br>
2017-10-31 23:45:35.707 14436 ERROR cotyledon   File "/usr/lib/python2.7/dist-packages/yaml/constructor.py", line 37, in get_single_data<br>
2017-10-31 23:45:35.707 14436 ERROR cotyledon     node = self.get_single_node()<br>
2017-10-31 23:45:35.707 14436 ERROR cotyledon   File "/usr/lib/python2.7/dist-packages/yaml/composer.py", line 36, in get_single_node<br>
2017-10-31 23:45:35.707 14436 ERROR cotyledon     document = self.compose_document()<br>
2017-10-31 23:45:35.707 14436 ERROR cotyledon   File "/usr/lib/python2.7/dist-packages/yaml/composer.py", line 55, in compose_document<br>
2017-10-31 23:45:35.707 14436 ERROR cotyledon     node = self.compose_node(None, None)<br>
2017-10-31 23:45:35.707 14436 ERROR cotyledon   File "/usr/lib/python2.7/dist-packages/yaml/composer.py", line 84, in compose_node<br>
2017-10-31 23:45:35.707 14436 ERROR cotyledon     node = self.compose_mapping_node(anchor)<br>
2017-10-31 23:45:35.707 14436 ERROR cotyledon   File "/usr/lib/python2.7/dist-packages/yaml/composer.py", line 127, in compose_mapping_node<br>
2017-10-31 23:45:35.707 14436 ERROR cotyledon     while not self.check_event(MappingEndEvent):<br>
2017-10-31 23:45:35.707 14436 ERROR cotyledon   File "/usr/lib/python2.7/dist-packages/yaml/parser.py", line 98, in check_event<br>
2017-10-31 23:45:35.707 14436 ERROR cotyledon     self.current_event = self.state()<br>
2017-10-31 23:45:35.707 14436 ERROR cotyledon   File "/usr/lib/python2.7/dist-packages/yaml/parser.py", line 439, in parse_block_mapping_key<br>
2017-10-31 23:45:35.707 14436 ERROR cotyledon     "expected <block end>, but found %r" % token.id, token.start_mark)<br>
2017-10-31 23:45:35.707 14436 ERROR cotyledon ParserError: while parsing a block mapping<br>
2017-10-31 23:45:35.707 14436 ERROR cotyledon   in "<string>", line 2, column 1:<br>
2017-10-31 23:45:35.707 14436 ERROR cotyledon     sources:<br>
2017-10-31 23:45:35.707 14436 ERROR cotyledon     ^<br>
2017-10-31 23:45:35.707 14436 ERROR cotyledon expected <block end>, but found '<block sequence start>'<br>
2017-10-31 23:45:35.707 14436 ERROR cotyledon   in "<string>", line 15, column 5:<br>
2017-10-31 23:45:35.707 14436 ERROR cotyledon         - name: meter_source<br>
2017-10-31 23:45:35.707 14436 ERROR cotyledon         ^<br>
2017-10-31 23:45:35.707 14436 ERROR cotyledon <br>
</p>
<p><br>
</p>
<p>Follows the pipeline file, with those comments it works out as expected. I'm trying to add the ODL and SNMP configuration but when I add them it starts throwing out those errors.</p>
<p><br>
</p>
<p></p>
<div>---<br>
sources:<br>
#   - name: meter_snmp<br>
#     interval: 60<br>
#     resources:<br>
#         - snmp://OS_community@192.168.0.1<br>
#         - snmp://OS_community@192.168.0.2<br>
#     meters:<br>
#       - "hardware.cpu*"<br>
#       - "hardware.memory*"<br>
#       - "hardware.disk*"<br>
#       - "hardware.network*"<br>
#     sinks:<br>
#       - meter_sink<br>
    - name: meter_source<br>
      interval: 60<br>
      meters:<br>
          - "*"<br>
      sinks:<br>
          - meter_sink<br>
    - name: cpu_source<br>
      interval: 60<br>
      meters:<br>
          - "cpu"<br>
      sinks:<br>
          - cpu_sink<br>
          - cpu_delta_sink<br>
    - name: disk_source<br>
      interval: 60<br>
      meters:<br>
          - "disk.read.bytes"<br>
          - "disk.read.requests"<br>
          - "disk.write.bytes"<br>
          - "disk.write.requests"<br>
          - "disk.device.read.bytes"<br>
          - "disk.device.read.requests"<br>
          - "disk.device.write.bytes"<br>
          - "disk.device.write.requests"<br>
      sinks:<br>
          - disk_sink<br>
    - name: network_source<br>
      interval: 60<br>
      meters:<br>
          - "network.incoming.bytes"<br>
          - "network.incoming.packets"<br>
          - "network.outgoing.bytes"<br>
          - "network.outgoing.packets"<br>
      sinks:<br>
          - network_sink<br>
#     - name: meter_source<br>
#       interval: 60<br>
#       meters:<br>
#           - switch.flow.duration_seconds<br>
#       sinks:<br>
#           - meter_sink<br>
#       resources:<br>
#           - opendaylight://127.0.0.1:8080/controller/nb/v2?container_name=default&container_name=egg&auth=basic&user=admin&password=admin&scheme=http<br>
sinks:<br>
    - name: meter_sink<br>
      transformers:<br>
      publishers:<br>
          - notifier://<br>
    - name: cpu_sink<br>
      transformers:<br>
          - name: "rate_of_change"<br>
            parameters:<br>
                target:<br>
                    name: "cpu_util"<br>
                    unit: "%"<br>
                    type: "gauge"<br>
                    scale: "100.0 / (10**9 * (resource_metadata.cpu_number or 1))"<br>
      publishers:<br>
          - notifier://<br>
    - name: cpu_delta_sink<br>
      transformers:<br>
          - name: "delta"<br>
            parameters:<br>
                target:<br>
                    name: "cpu.delta"<br>
                growth_only: True<br>
      publishers:<br>
          - notifier://<br>
    - name: disk_sink<br>
      transformers:<br>
          - name: "rate_of_change"<br>
            parameters:<br>
                source:<br>
                    map_from:<br>
                        name: "(disk\\.device|disk)\\.(read|write)\\.(bytes|requests)"<br>
                        unit: "(B|request)"<br>
                target:<br>
                    map_to:<br>
                        name: "\\1.\\2.\\3.rate"<br>
                        unit: "\\1/s"<br>
                    type: "gauge"<br>
      publishers:<br>
          - notifier://<br>
    - name: network_sink<br>
      transformers:<br>
          - name: "rate_of_change"<br>
            parameters:<br>
                source:<br>
                   map_from:<br>
                       name: "network\\.(incoming|outgoing)\\.(bytes|packets)"<br>
                       unit: "(B|packet)"<br>
                target:<br>
                    map_to:<br>
                        name: "network.\\1.\\2.rate"<br>
                        unit: "\\1/s"<br>
                    type: "gauge"<br>
      publishers:<br>
          - notifier://<br>
</div>
<p></p>
<p><br>
</p>
<hr class="ms-border-color-neutralLight" style="border-right:0;border-bottom:0;border-left:0;border-top-style:solid;margin-top:15px;margin-bottom:15px;margin-left:10px;">
<div class="ms-border-color-neutralTertiaryAlt" style="border-left-width:2px;border-left-style:solid;padding-left:10px;">
<div>
<div><font size="2"><span style="font-size:10pt;">On 26/10/17 08:33 AM, andres sanchez ramos wrote:<br>
> <br>
> import pbr.version<br>
> version_info = pbr.version.VersionInfo('ceilometer')<br>
> <br>
> and the output was 7.0.3<br>
<br>
<br>
what happens if you use:<br>
<br>
     - name: meter_source<br>
       interval: 60<br>
       meters:<br>
           - switch.flow.duration_seconds<br>
           - <any network specific meter><br>
       sinks:<br>
           - meter_sink<br>
       resources:<br>
           - <br>
opendaylight://127.0.0.1:8080/controller/nb/v2?container_name=default&container_name=egg&auth=basic&user=admin&password=admin&scheme=http<br>
<br>
-- <br>
gord</span></font></div>
</div>
</div>
<br>
<p><br>
</p>
<div id="Signature">
<p>Enviado desde <a id="LPNoLP" href="http://aka.ms/weboutlook">Outlook</a><br>
</p>
</div>
</div>
</body>
</html>