service_statuses updated_at Field Not Set
The service_statuses updated_at value is never set due to
inconsistent column naming ('updated' is automatically set in the
base model). The result is the value remains NULL throughout the
instance creation lifecycle, despite multiple row updates.
Fix: override save() and set updated_at (following the pattern
established in agent_heartbeats)
Change-Id: I71fea5001fa1868d221f50c34605022e6a1022bd
Closes-Bug: #1199518
This commit is contained in:
@@ -25,8 +25,10 @@ from trove.common.remote import create_dns_client
|
||||
from trove.common.remote import create_guest_client
|
||||
from trove.common.remote import create_nova_client
|
||||
from trove.common.remote import create_cinder_client
|
||||
from trove.common import utils
|
||||
from trove.extensions.security_group.models import SecurityGroup
|
||||
from trove.extensions.security_group.models import SecurityGroupRule
|
||||
from trove.db import get_db_api
|
||||
from trove.db import models as dbmodels
|
||||
from trove.backup.models import Backup
|
||||
from trove.quota.quota import run_with_quotas
|
||||
@@ -722,7 +724,8 @@ class ServiceImage(dbmodels.DatabaseModelBase):
|
||||
|
||||
|
||||
class InstanceServiceStatus(dbmodels.DatabaseModelBase):
|
||||
_data_fields = ['instance_id', 'status_id', 'status_description']
|
||||
_data_fields = ['instance_id', 'status_id', 'status_description',
|
||||
'updated_at']
|
||||
|
||||
def __init__(self, status, **kwargs):
|
||||
kwargs["status_id"] = status.code
|
||||
@@ -743,6 +746,10 @@ class InstanceServiceStatus(dbmodels.DatabaseModelBase):
|
||||
self.status_id = value.code
|
||||
self.status_description = value.description
|
||||
|
||||
def save(self):
|
||||
self['updated_at'] = utils.utcnow()
|
||||
return get_db_api().save(self)
|
||||
|
||||
status = property(get_status, set_status)
|
||||
|
||||
|
||||
|
||||
Reference in New Issue
Block a user