<div dir="ltr">Hi,<div><br></div><div>Thanks for the information.</div><div><br>I made it work by using only one attribute at that time the error was something related to the type of an attribute and I got rid of it.</div></div><br><div class="gmail_quote"><div dir="ltr" class="gmail_attr">On Fri, Jul 10, 2020 at 8:24 PM Rafael Weingärtner <<a href="mailto:rafaelweingartner@gmail.com">rafaelweingartner@gmail.com</a>> wrote:<br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><div dir="ltr"><div>Sure, this is a minimalistic config I used for testing (watch for the indentation issues that might happen due to copy/paste into Gmail).</div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><div>cat ceilometer/pollsters.d/vpn-connection-dynamic-pollster.yaml <br>---<br><br>- name: "dynamic_pollster.network.services.vpn.connection"<br>  sample_type: "gauge"<br>  unit: "ipsec_site_connection"<br>  value_attribute: "status"<br>  endpoint_type: "network"<br>  url_path: "v2.0/vpn/ipsec-site-connections"<br>  metadata_fields:<br>    - "name"<br>    - "vpnservice_id"<br>    - "description"<br>    - "status"<br>    - "peer_address"<br>  value_mapping:<br>    ACTIVE: "1"<br>    DOWN: "0"<br>  metadata_mapping:<br>    name: "display_name"<br>  default_value: 0<br></div></blockquote><div><br></div><div>Then, the polling.yaml file</div><div><br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><div>cat ceilometer/polling.yaml | grep -A 3 vpnass<br>    - name: vpnass_pollsters<br>      interval: 600<br>      meters:<br>        - dynamic_pollster.network.services.vpn.connection<br></div></blockquote><div><br></div><div>And last, but not least, the custom_gnocchi_resources file.</div><div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">cat ceilometer/custom_gnocchi_resources.yaml | grep -B 2 -A 9 "dynamic_pollster.network.services.vpn.connection"<br>  - resource_type: s2svpn<br>    metrics:<br>      dynamic_pollster.network.services.vpn.connection:<br>    attributes:<br>      name: <a href="http://resource_metadata.name" target="_blank">resource_metadata.name</a><br>      vpnservice_id: resource_metadata.vpnservice_id<br>      description: resource_metadata.description<br>      status: resource_metadata.status<br>      peer_address: resource_metadata.peer_address<br>      display_name: resource_metadata.display_name<br></blockquote></div><div><br></div><div>Bear in mind that you need to create the Gnocchi resource type.</div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><div>gnocchi resource-type show s2svpn<br>+--------------------------+-----------------------------------------------------------+<br>| Field                    | Value                                                     |<br>+--------------------------+-----------------------------------------------------------+<br>| attributes/description   | max_length=255, min_length=0, required=False, type=string |<br>| attributes/display_name  | max_length=255, min_length=0, required=False, type=string |<br>| attributes/name          | max_length=255, min_length=0, required=False, type=string |<br>| attributes/peer_address  | max_length=255, min_length=0, required=False, type=string |<br>| attributes/status        | max_length=255, min_length=0, required=False, type=string |<br>| attributes/vpnservice_id | required=False, type=uuid                                 |<br>| name                     | s2svpn                                                    |<br>| state                    | active                                                    |<br>+--------------------------+-----------------------------------------------------------+</div></blockquote><div> </div><div>What is the problem you are having?<br> </div></div><br><div class="gmail_quote"><div dir="ltr" class="gmail_attr">On Fri, Jul 10, 2020 at 10:50 AM Ionut Biru <<a href="mailto:ionut@fleio.com" target="_blank">ionut@fleio.com</a>> wrote:<br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><div dir="ltr">Hi again,<div><br></div><div>I did not manage to make it work, I cannot figure out how to connect all the pieces.</div><div><br></div><div>pollsters.d/octavia.yaml  <a href="https://paste.xinu.at/DERxh1/" target="_blank">https://paste.xinu.at/DERxh1/</a><br></div><div>pipeline.yaml <a href="https://paste.xinu.at/u1E42/" target="_blank">https://paste.xinu.at/u1E42/</a><br></div><div>polling.yaml <a href="https://paste.xinu.at/MZWNs/" target="_blank">https://paste.xinu.at/MZWNs/</a><br></div><div>gnocchi_resources.yaml <a href="https://paste.xinu.at/j3AX/" target="_blank">https://paste.xinu.at/j3AX/</a><br></div><div>gnocchi_client.py in resources_update_operations  <a href="https://paste.xinu.at/no5/" target="_blank">https://paste.xinu.at/no5/</a> <br></div><div>gnocchi resource-type show <a href="https://paste.xinu.at/7mZIyZ/" target="_blank">https://paste.xinu.at/7mZIyZ/</a><br></div><div>Do you mind if you do a full example using  "dynamic.network.services.vpn.connection" from <a href="https://docs.openstack.org/ceilometer/latest/admin/telemetry-dynamic-pollster.html" target="_blank">https://docs.openstack.org/ceilometer/latest/admin/telemetry-dynamic-pollster.html</a> ?</div><div><br></div><div>Or maybe you can point me to the mistakes made in my configuration?</div><div><br></div></div><br><div class="gmail_quote"><div dir="ltr" class="gmail_attr">On Tue, Jul 7, 2020 at 2:43 PM Rafael Weingärtner <<a href="mailto:rafaelweingartner@gmail.com" target="_blank">rafaelweingartner@gmail.com</a>> wrote:<br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><div dir="ltr">That is the right direction. I don't know why people hard-coded the initial pollsters' configs and did not document the relation between Gnocchi and Ceilometer properly. They (Ceilometer and Gnocchi) are not a single system, but interdependent systems to implement a monitoring solution. Ceilometer is the component that gathers data/information, processes, and then persists it somewhere. Gnocchi is one of the options that Ceilometer can use to persist data. By default, Ceilometer creates some basic configurations in Gnocchi to store data, such as some default resource-types with default attributes. However, we do not need (should not) rely on this default config. <br><br>You can create and use custom resources to fit the stack to your needs. This can be achieved via `gnocchi resource-type create -a <attribute_name>:<attribute_type>:<required> <name_of_resource_type>` and `gnocchi resource-type create -u <new_attribute_name>:<attribute_type>:<required> <name_of_resource_type>`. Then, in the `custom_gnocchi_resources.yaml` (if you use Kolla-ansible), you can customize the mapping of metrics to resource-types in Gnocchi.</div><br><div class="gmail_quote"><div dir="ltr" class="gmail_attr">On Tue, Jul 7, 2020 at 7:49 AM Ionut Biru <<a href="mailto:ionut@fleio.com" target="_blank">ionut@fleio.com</a>> wrote:<br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><div dir="ltr">Hello again,<div><br></div><div>What's the proper way to handle dynamic pollsters in gnocchi ?</div><div>Right now ceilometer returns:</div><div><br></div><div>WARNING ceilometer.publisher.gnocchi [-] metric dynamic.network.octavia is not handled by Gnocchi<br></div><div><br></div><div>I found <a href="https://docs.openstack.org/ceilometer/latest/contributor/new_resource_types.html" target="_blank">https://docs.openstack.org/ceilometer/latest/contributor/new_resource_types.html</a> but I'm not sure if is the right direction. </div></div><br><div class="gmail_quote"><div dir="ltr" class="gmail_attr">On Tue, Jul 7, 2020 at 10:52 AM Ionut Biru <<a href="mailto:ionut@fleio.com" target="_blank">ionut@fleio.com</a>> wrote:<br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><div dir="ltr">Seems to work fine now. Thanks.</div><br><div class="gmail_quote"><div dir="ltr" class="gmail_attr">On Mon, Jul 6, 2020 at 8:12 PM Rafael Weingärtner <<a href="mailto:rafaelweingartner@gmail.com" target="_blank">rafaelweingartner@gmail.com</a>> wrote:<br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><div dir="ltr"><div>It looks like a coding error that we left behind during a major refactoring that we introduced upstream.</div><div>I created a patch for it. Can you check/review and test it?</div><div><a href="https://review.opendev.org/739555" target="_blank">https://review.opendev.org/739555</a></div></div><br><div class="gmail_quote"><div dir="ltr" class="gmail_attr">On Mon, Jul 6, 2020 at 11:17 AM Ionut Biru <<a href="mailto:ionut@fleio.com" target="_blank">ionut@fleio.com</a>> wrote:<br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><div dir="ltr">Hi Rafael,<div><br></div><div>I have an error and I cannot resolve it myself.</div><div><br></div><div><a href="https://paste.xinu.at/LEfdXD/" target="_blank">https://paste.xinu.at/LEfdXD/</a><br></div><div><br></div><div>Do you happen to know what's wrong?</div><div><br></div><div>endpoint list <a href="https://paste.xinu.at/v3j1jl/" target="_blank">https://paste.xinu.at/v3j1jl/</a></div><div>octavia.yaml <a href="https://paste.xinu.at/TIxfOz/" target="_blank">https://paste.xinu.at/TIxfOz/</a></div><div>polling.yaml <a href="https://paste.xinu.at/oBEFj/" target="_blank">https://paste.xinu.at/oBEFj/</a></div><div>pipeline.yaml <a href="https://paste.xinu.at/qvEdTX/" target="_blank">https://paste.xinu.at/qvEdTX/</a><br></div><div><br></div></div><br><div class="gmail_quote"><div dir="ltr" class="gmail_attr">On Sat, Jul 4, 2020 at 1:10 AM Rafael Weingärtner <<a href="mailto:rafaelweingartner@gmail.com" target="_blank">rafaelweingartner@gmail.com</a>> wrote:<br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><div dir="ltr"><div>Good catch. I fixed the docs.</div><div><a href="https://review.opendev.org/#/c/739288/" target="_blank">https://review.opendev.org/#/c/739288/</a></div></div><br><div class="gmail_quote"><div dir="ltr" class="gmail_attr">On Fri, Jul 3, 2020 at 1:59 PM Ionut Biru <<a href="mailto:ionut@fleio.com" target="_blank">ionut@fleio.com</a>> wrote:<br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><div dir="ltr">Hi,<div><br></div><div>I just noticed that the example dynamic.network.services.vpn.connection from <a href="https://docs.openstack.org/ceilometer/latest/admin/telemetry-dynamic-pollster.html" target="_blank">https://docs.openstack.org/ceilometer/latest/admin/telemetry-dynamic-pollster.html</a> has the wrong indentation.</div><div>This <a href="https://paste.xinu.at/6PTfsM/" target="_blank">https://paste.xinu.at/6PTfsM/</a> is loaded without any error.</div><div><br></div><div>Now I have to see why is not polling from it</div></div><br><div class="gmail_quote"><div dir="ltr" class="gmail_attr">On Fri, Jul 3, 2020 at 7:19 PM Ionut Biru <<a href="mailto:ionut@fleio.com" target="_blank">ionut@fleio.com</a>> wrote:<br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><div dir="ltr">Hi Rafael,<div><br></div><div>I think I applied all the reviews successfully but I tried to do an octavia dynamic poller but I have couples of errors.</div><div><br></div><div>Here is the octavia.yaml: <a href="https://paste.xinu.at/kDN6SV/" target="_blank">https://paste.xinu.at/kDN6SV/</a></div><div>Error is about syntax error near name: <a href="https://paste.xinu.at/MHgDBY/" target="_blank">https://paste.xinu.at/MHgDBY/</a></div><div><br></div><div>if i remove the - in front of name like this: <a href="https://paste.xinu.at/K7s5I8/" target="_blank">https://paste.xinu.at/K7s5I8/</a></div><div>The error is different this time: <a href="https://paste.xinu.at/zWdC0U/" target="_blank">https://paste.xinu.at/zWdC0U/</a></div><div><br></div><div>Is there something I missed or is something wrong  in yaml?</div><div><br></div></div><br><div class="gmail_quote"><div dir="ltr" class="gmail_attr">On Thu, Jul 2, 2020 at 5:50 PM Rafael Weingärtner <<a href="mailto:rafaelweingartner@gmail.com" target="_blank">rafaelweingartner@gmail.com</a>> wrote:<br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><div dir="ltr"><div><br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><div>Since the merging window for ussuri was long passed 
for those commits, is it safe to assume that it will not land in 
stable/ussuri at all and those will be available for victoria?</div></blockquote><div><br></div><div>I would say so. We are lacking people to review and then merge it.</div><div><br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><div>How safe is to cherry pick those commits and use them in production?</div></blockquote><div>As long as the person executing the cherry-picks, and maintaining the code knows what she/he is doing, you should be safe. The guys that are using this implementation (and others that I and my colleagues proposed), have a few openstack components that are customized with the patches/enhancements/extensions we developed so far; this means, they are not using the community version, but something in-between (the community releases + the patches we did). Of course, it is only possible, because we are the ones creating and maintaining these codes; therefore, we can assure quality for production.<br></div><div> <br></div><div><br></div><div><br></div></div><br><div class="gmail_quote"><div dir="ltr" class="gmail_attr">On Thu, Jul 2, 2020 at 9:43 AM Ionut Biru <<a href="mailto:ionut@fleio.com" target="_blank">ionut@fleio.com</a>> wrote:<br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><div dir="ltr">Hello Rafael,<div><br></div><div>Since the merging window for ussuri was long passed for those commits, is it safe to assume that it will not land in stable/ussuri at all and those will be available for victoria?</div><div><br></div><div>How safe is to cherry pick those commits and use them in production?</div><div><br></div><div><br></div></div><br><div class="gmail_quote"><div dir="ltr" class="gmail_attr">On Fri, Apr 24, 2020 at 3:06 PM Rafael Weingärtner <<a href="mailto:rafaelweingartner@gmail.com" target="_blank">rafaelweingartner@gmail.com</a>> wrote:<br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><div dir="ltr"><div>The dynamic pollster in Ceilometer will be first released in Ussuri. However, there are some important PRs still waiting for a merge, that might be important for your use case:</div><div>* <a href="https://review.opendev.org/#/c/722092/" target="_blank">https://review.opendev.org/#/c/722092/</a></div><div>* <a href="https://review.opendev.org/#/c/715180/" target="_blank">https://review.opendev.org/#/c/715180/</a></div><div>* <a href="https://review.opendev.org/#/c/715289/" target="_blank">https://review.opendev.org/#/c/715289/</a></div><div>* <a href="https://review.opendev.org/#/c/679999/" target="_blank">https://review.opendev.org/#/c/679999/</a></div><div>* <a href="https://review.opendev.org/#/c/709807/" target="_blank">https://review.opendev.org/#/c/709807/</a></div><div><br></div></div><br><div class="gmail_quote"><div dir="ltr" class="gmail_attr">On Fri, Apr 24, 2020 at 8:18 AM Carlos Goncalves <<a href="mailto:cgoncalves@redhat.com" target="_blank">cgoncalves@redhat.com</a>> wrote:<br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><div dir="ltr"><div dir="ltr"><br></div><br><div class="gmail_quote"><div dir="ltr" class="gmail_attr">On Fri, Apr 24, 2020 at 12:20 PM Ionut Biru <<a href="mailto:ionut@fleio.com" target="_blank">ionut@fleio.com</a>> wrote:<br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><div dir="ltr">Hello,<div><br></div><div>I want to meter the loadbalancer into gnocchi for billing purposes in stein/train and ceilometer doesn't support dynamic pollsters. </div></div></blockquote><div><br></div><div>I think I misunderstood your use case, sorry. I read it as if you wanted to know "if a loadbalancer was deployed and has status active".</div><div> </div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><div dir="ltr"><div>Until I upgrade to Ussuri, is there a way to accomplish this?</div></div></blockquote><div><br></div><div>I'm not sure Ceilometer supports it even in Ussuri. I'll defer to the Ceilometer project.</div><div> </div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><br><div class="gmail_quote"><div dir="ltr" class="gmail_attr">On Fri, Apr 24, 2020 at 12:45 PM Carlos Goncalves <<a href="mailto:cgoncalves@redhat.com" target="_blank">cgoncalves@redhat.com</a>> wrote:<br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><div dir="ltr"><div dir="ltr">Hi Ionut,<div><br></div></div><div class="gmail_quote"><div dir="ltr" class="gmail_attr">On Fri, Apr 24, 2020 at 11:27 AM Ionut Biru <<a href="mailto:ionut@fleio.com" target="_blank">ionut@fleio.com</a>> wrote:<br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><div dir="ltr">Hello guys,<div>I was trying to add in polling.yaml and pipeline from ceilometer the following:</div><div>   - network.services.lb.active.connections<br>      - network.services.lb.health_monitor<br>      - network.services.lb.incoming.bytes<br>      - network.services.lb.listener<br>      - network.services.lb.loadbalancer<br>      - network.services.lb.member<br>      - network.services.lb.outgoing.bytes<br>      - network.services.lb.pool<br>      - network.services.lb.total.connections<br></div><div><br></div><div>But it doesn't work, I think they are for the old lbs that were supported in neutron.</div><div><br></div><div>I found <a href="https://docs.openstack.org/ceilometer/latest/admin/telemetry-dynamic-pollster.html" target="_blank">https://docs.openstack.org/ceilometer/latest/admin/telemetry-dynamic-pollster.html</a> but this is not available in stein or train.</div><div><br></div><div><div>I was wondering if there is a way to meter loadbalancers from octavia. </div></div><div>I mostly want for start to just meter if a loadbalancer was deployed and has status active.</div></div></blockquote><div><br></div><div>You can get the provisioning and operating status of Octavia load balancers via the Octavia API. There is also an API endpoint that returns the full load balancer status tree [1]. <span style="font-family:Arial,sans-serif;font-size:small">Additionally, </span><span style="font-size:small;font-family:Arial,sans-serif">Octavia has three API endpoints for statistics [2][3][4].</span></div><div><span style="font-family:Arial,sans-serif;font-size:small"><br></span></div><div><div>I hope this helps with your use case.</div><div><br></div><div>Cheers,</div><div>Carlos</div></div><div><br></div><div>[1] <a href="https://docs.openstack.org/api-ref/load-balancer/v2/?expanded=get-the-load-balancer-status-tree-detail#get-the-load-balancer-status-tree" target="_blank">https://docs.openstack.org/api-ref/load-balancer/v2/?expanded=get-the-load-balancer-status-tree-detail#get-the-load-balancer-status-tree</a><span style="font-family:Arial,sans-serif;font-size:small"><br></span></div><div>[2] <a href="https://docs.openstack.org/api-ref/load-balancer/v2/?expanded=get-load-balancer-statistics-detail#get-load-balancer-statistics" target="_blank">https://docs.openstack.org/api-ref/load-balancer/v2/?expanded=get-load-balancer-statistics-detail#get-load-balancer-statistics</a></div><div>[3] <a href="https://docs.openstack.org/api-ref/load-balancer/v2/?expanded=get-listener-statistics-detail#get-listener-statistics" target="_blank">https://docs.openstack.org/api-ref/load-balancer/v2/?expanded=get-listener-statistics-detail#get-listener-statistics</a></div><div>[4] <a href="https://docs.openstack.org/api-ref/load-balancer/v2/?expanded=show-amphora-statistics-detail#show-amphora-statistics" target="_blank">https://docs.openstack.org/api-ref/load-balancer/v2/?expanded=show-amphora-statistics-detail#show-amphora-statistics</a></div><div><br></div><div> </div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><div dir="ltr"><div><div><br></div>-- <br><div dir="ltr"><div dir="ltr">Ionut Biru - <a href="https://fleio.com" target="_blank">https://fleio.com</a><br></div></div></div></div>
</blockquote></div></div>
</blockquote></div><br clear="all"><div><br></div>-- <br><div dir="ltr"><div dir="ltr">Ionut Biru - <a href="https://fleio.com" target="_blank">https://fleio.com</a><br></div></div>
</blockquote></div></div>
</blockquote></div><br clear="all"><br>-- <br><div dir="ltr"><div dir="ltr">Rafael Weingärtner</div></div>
</blockquote></div><br clear="all"><div><br></div>-- <br><div dir="ltr"><div dir="ltr">Ionut Biru - <a href="https://fleio.com" target="_blank">https://fleio.com</a><br></div></div>
</blockquote></div><br clear="all"><br>-- <br><div dir="ltr"><div dir="ltr">Rafael Weingärtner</div></div>
</blockquote></div><br clear="all"><div><br></div>-- <br><div dir="ltr"><div dir="ltr">Ionut Biru - <a href="https://fleio.com" target="_blank">https://fleio.com</a><br></div></div>
</blockquote></div><br clear="all"><div><br></div>-- <br><div dir="ltr"><div dir="ltr">Ionut Biru - <a href="https://fleio.com" target="_blank">https://fleio.com</a><br></div></div>
</blockquote></div><br clear="all"><br>-- <br><div dir="ltr"><div dir="ltr">Rafael Weingärtner</div></div>
</blockquote></div><br clear="all"><div><br></div>-- <br><div dir="ltr"><div dir="ltr">Ionut Biru - <a href="https://fleio.com" target="_blank">https://fleio.com</a><br></div></div>
</blockquote></div><br clear="all"><br>-- <br><div dir="ltr"><div dir="ltr">Rafael Weingärtner</div></div>
</blockquote></div><br clear="all"><div><br></div>-- <br><div dir="ltr"><div dir="ltr">Ionut Biru - <a href="https://fleio.com" target="_blank">https://fleio.com</a><br></div></div>
</blockquote></div><br clear="all"><div><br></div>-- <br><div dir="ltr"><div dir="ltr">Ionut Biru - <a href="https://fleio.com" target="_blank">https://fleio.com</a><br></div></div>
</blockquote></div><br clear="all"><br>-- <br><div dir="ltr"><div dir="ltr">Rafael Weingärtner</div></div>
</blockquote></div><br clear="all"><div><br></div>-- <br><div dir="ltr"><div dir="ltr">Ionut Biru - <a href="https://fleio.com" target="_blank">https://fleio.com</a><br></div></div>
</blockquote></div><br clear="all"><br>-- <br><div dir="ltr"><div dir="ltr">Rafael Weingärtner</div></div>
</blockquote></div><br clear="all"><div><br></div>-- <br><div dir="ltr" class="gmail_signature"><div dir="ltr">Ionut Biru - <a href="https://fleio.com" target="_blank">https://fleio.com</a><br></div></div>