The only service that currently registers itself as a metrics producer is Nexus, so at least for Nexus, we need to:
- Remove the corresponding row in
metric_producer for the service.
- Notify the assigned Oximeter collector that it should stop polling the producer.
Expanding some details on these, from poking around and chatting with @bnaecker:
metric_producer.id is the service ID, when metric_producer.kind = 'service'. I believe the only consumer of this table is when an Oximeter collector posts itself to Nexus, Nexus notifies it of all the producers it should be polling.
- Instances do this today by calling
Nexus::unassign_producer. Reconfigurator will need to do the same (which will require some refactoring to make that method usable from the blueprint execution background task).
The only service that currently registers itself as a metrics producer is Nexus, so at least for Nexus, we need to:
metric_producerfor the service.Expanding some details on these, from poking around and chatting with @bnaecker:
metric_producer.idis the service ID, whenmetric_producer.kind = 'service'. I believe the only consumer of this table is when an Oximeter collector posts itself to Nexus, Nexus notifies it of all the producers it should be polling.Nexus::unassign_producer. Reconfigurator will need to do the same (which will require some refactoring to make that method usable from the blueprint execution background task).