Merge pull request #292 from ramielrowe/master

Refactoring repair api
This commit is contained in:
Andrew Melton 2014-02-27 15:36:34 -05:00
commit 3da44120e5
3 changed files with 4 additions and 11 deletions

View File

@ -36,7 +36,6 @@ from stacktach import datetime_to_decimal as dt
from stacktach import models from stacktach import models
from stacktach import stacklog from stacktach import stacklog
from stacktach import utils from stacktach import utils
from stacktach.models import InstanceExists, ImageExists
DEFAULT_LIMIT = 50 DEFAULT_LIMIT = 50
HARD_LIMIT = 1000 HARD_LIMIT = 1000
@ -454,19 +453,13 @@ def get_verified_count(request):
"format should be %YYYY-%mm-%dd)") "format should be %YYYY-%mm-%dd)")
def exists_factory(service):
model = InstanceExists
if service == 'glance':
model = ImageExists
return model
def repair_stacktach_down(request): def repair_stacktach_down(request):
post_dict = dict((request.POST._iterlists())) post_dict = dict((request.POST._iterlists()))
message_ids = post_dict.get('message_ids') message_ids = post_dict.get('message_ids')
service = post_dict.get('service', ['nova']) service = post_dict.get('service', ['nova'])
klass = _exists_model_factory(service[0])['klass']
absent_exists, exists_not_pending = \ absent_exists, exists_not_pending = \
exists_factory(service[0]).mark_exists_as_sent_unverified(message_ids) klass.mark_exists_as_sent_unverified(message_ids)
response_data = {'absent_exists': absent_exists, response_data = {'absent_exists': absent_exists,
'exists_not_pending': exists_not_pending} 'exists_not_pending': exists_not_pending}
response = HttpResponse(json.dumps(response_data), response = HttpResponse(json.dumps(response_data),

View File

@ -72,7 +72,7 @@ urlpatterns = patterns('',
url(r'db/confirm/usage/exists/(?P<message_id>[\w\-]+)/$', url(r'db/confirm/usage/exists/(?P<message_id>[\w\-]+)/$',
'stacktach.dbapi.exists_send_status'), 'stacktach.dbapi.exists_send_status'),
url(r'db/count/verified', 'stacktach.dbapi.get_verified_count'), url(r'db/count/verified', 'stacktach.dbapi.get_verified_count'),
url(r'repair/', 'stacktach.dbapi.repair_stacktach_down'), url(r'db/repair/', 'stacktach.dbapi.repair_stacktach_down'),
url(r'^(?P<deployment_id>\d+)/$', 'stacktach.views.home', name='home'), url(r'^(?P<deployment_id>\d+)/$', 'stacktach.views.home', name='home'),
url(r'^(?P<deployment_id>\d+)/details/(?P<column>\w+)/(?P<row_id>\d+)/$', url(r'^(?P<deployment_id>\d+)/details/(?P<column>\w+)/(?P<row_id>\d+)/$',

View File

@ -1009,7 +1009,7 @@ class StacktachRepairScenarioApi(StacktachBaseTestCase):
message_ids = ["04fd94b5-64dd-4559-83b7-981d9d4f7a5a", message_ids = ["04fd94b5-64dd-4559-83b7-981d9d4f7a5a",
"14fd94b5-64dd-4559-83b7-981d9d4f7a5a", "14fd94b5-64dd-4559-83b7-981d9d4f7a5a",
"24fd94b5-64dd-4559-83b7-981d9d4f7a5a"] "24fd94b5-64dd-4559-83b7-981d9d4f7a5a"]
request.POST._iterlists().AndReturn([('service', 'nova'), request.POST._iterlists().AndReturn([('service', ['nova']),
('message_ids', message_ids)]) ('message_ids', message_ids)])
self.mox.StubOutWithMock(models.InstanceExists, self.mox.StubOutWithMock(models.InstanceExists,
'mark_exists_as_sent_unverified') 'mark_exists_as_sent_unverified')