← Back to team overview

yahoo-eng-team team mailing list archive

[Bug 1466929] [NEW] compute_node.metrics field should be a nova.objects object.

 

Public bug reported:

Right now, the compute_nodes.metrics field is defined as a TEXT field
and contains a straight JSON-ified string of the single-level dict of
keys returned by the single monitor currently in the Nova tree: the CPU
monitor.

https://review.openstack.org/#/c/180983/12/specs/liberty/approved/mem-
bw.rst introduces a potential new memory bandwidth monitor class, and we
should evolve the metrics field to be a versioned object field instead
of the flat string field it currently is.

We need to do the following:

1) Change the CPU monitor to return a nova.objects.CPUStats (or similar)
2) Change nova.objects.ComputeNode's metrics field from a String field to a nova.objects.VirtMetrics field, which will have as its only field an ObjectField('CPUStats')
3) Add data migration functionality that will convert over time the legacy JSON serialized metrics data into a serialized versioned object

** Affects: nova
     Importance: Low
     Assignee: Jay Pipes (jaypipes)
         Status: Triaged

-- 
You received this bug notification because you are a member of Yahoo!
Engineering Team, which is subscribed to OpenStack Compute (nova).
https://bugs.launchpad.net/bugs/1466929

Title:
  compute_node.metrics field should be a nova.objects object.

Status in OpenStack Compute (Nova):
  Triaged

Bug description:
  Right now, the compute_nodes.metrics field is defined as a TEXT field
  and contains a straight JSON-ified string of the single-level dict of
  keys returned by the single monitor currently in the Nova tree: the
  CPU monitor.

  https://review.openstack.org/#/c/180983/12/specs/liberty/approved/mem-
  bw.rst introduces a potential new memory bandwidth monitor class, and
  we should evolve the metrics field to be a versioned object field
  instead of the flat string field it currently is.

  We need to do the following:

  1) Change the CPU monitor to return a nova.objects.CPUStats (or similar)
  2) Change nova.objects.ComputeNode's metrics field from a String field to a nova.objects.VirtMetrics field, which will have as its only field an ObjectField('CPUStats')
  3) Add data migration functionality that will convert over time the legacy JSON serialized metrics data into a serialized versioned object

To manage notifications about this bug go to:
https://bugs.launchpad.net/nova/+bug/1466929/+subscriptions


Follow ups

References