@@ -39,80 +39,61 @@ def render_op_result_to_msg(op_result):
3939
4040
4141def render_podgroup_deploy_result_to_msg (deploy_result ):
42- msg = ' OK: %s\n ' % deploy_result .get ('OK' , False )
43- msg += ' podgroup_result:\n '
42+ msg = 'proc deploy result:\n '
4443 for pgname , pgr in deploy_result ['podgroup_result' ].iteritems ():
45- msg += ' %s\n %s\n ' % (pgname , render_op_result_to_msg (pgr ))
46- msg += ' services_need_deploy:\n '
47- for pgname in deploy_result ['services_need_deploy' ]:
48- msg += ' %s\n ' % (pgname )
44+ msg += ' %s\n ' % ( render_op_result_to_msg (pgr ))
45+ services = deploy_result ['services_need_deploy' ]
46+ if services is not None and len (services ) > 0 :
47+ msg += ' services_need_deploy:\n '
48+ for pgname in services :
49+ msg += ' %s\n ' % (pgname )
4950 return msg
5051
5152
5253def render_basic_app_deploy_result_to_msg (deploy_result ):
5354 if not deploy_result :
54- return 'OK: False \n app deploy failed!'
55- msg = 'OK: %s\n ' % deploy_result .get ('OK' , False )
56-
57- msg += '--proc_deploy_results--\n '
55+ return 'app deploy failed!'
56+ msg = '\n -------proc deploy results------ \n '
5857 proc_results = deploy_result ['proc_results' ]
59- msg += ' OK: %s \n ' % proc_results .get ('OK' , False )
60- msg += ' proc_deploy_success:\n '
61- for pgname , pg_result in proc_results ['proc_deploy_success' ].iteritems ():
62- msg += ' %s\n %s\n ' % (pgname ,
63- render_podgroup_deploy_result_to_msg (pg_result ))
64- msg += ' proc_deploy_failed:\n '
65- for pgname , pg_result in proc_results ['proc_deploy_failed' ].iteritems ():
66- msg += ' %s\n %s\n ' % (pgname ,
67- render_podgroup_deploy_result_to_msg (pg_result ))
58+ successed = proc_results ['proc_deploy_success' ]
59+ if successed is not None and len (successed ) > 0 :
60+ msg += 'procs in below are successed:\n '
61+ for pgname , pg_result in successed .iteritems ():
62+ msg += ' %s\n %s\n ' % (pgname ,
63+ render_podgroup_deploy_result_to_msg (pg_result ))
64+ failed = proc_results ['proc_deploy_failed' ]
65+ if failed is not None and len (failed ) > 0 :
66+ msg += 'procs in below are failed:\n '
67+ for pgname , pg_result in failed .iteritems ():
68+ msg += ' %s\n %s\n ' % (pgname ,
69+ render_podgroup_deploy_result_to_msg (pg_result ))
6870 msg += '\n '
69-
70- msg += '--portal_depoy_results--\n '
71- portal_results = deploy_result ['portal_results' ]
72- msg += ' OK: %s \n ' % portal_results .get ('OK' , False )
73- msg += ' portals_register_success:\n '
74- for pgname , pg_result in portal_results ['portals_register_success' ].iteritems ():
75- msg += ' %s\n %s\n ' % (pgname , render_op_result_to_msg (pg_result ))
76- msg += ' portals_register_failed:\n '
77- for pgname , pg_result in portal_results ['portals_register_failed' ].iteritems ():
78- msg += ' %s\n %s\n ' % (pgname , render_op_result_to_msg (pg_result ))
79- msg += ' portals_update_success:\n '
80- for pgname , pg_result in portal_results ['portals_update_success' ].iteritems ():
81- msg += ' %s\n %s\n ' % (pgname , render_op_result_to_msg (pg_result ))
82- msg += ' portals_update_failed:\n '
83- for pgname , pg_result in portal_results ['portals_update_failed' ].iteritems ():
84- msg += ' %s\n %s\n ' % (pgname , render_op_result_to_msg (pg_result ))
85- msg += '\n '
86-
87- useless_procs_remove_results = deploy_result .get (
88- 'useless_procs_remove_results' )
89- if useless_procs_remove_results :
90- msg += '--useless_procs_remove_results--\n '
91- msg += render_basic_app_remove_result_to_msg (
92- useless_procs_remove_results )
9371 return msg
9472
9573
9674def render_resource_deploy_result_to_msg (deploy_result ):
97- msg = 'OK: %s\n ' % deploy_result .get ('OK' , False )
98- msg += ' resources_need_deploy:\n '
99- for rename in deploy_result ['resources_need_deploy' ]:
100- msg += ' %s\n ' % (rename )
75+ msg = ''
76+ resources = deploy_result ['resources_need_deploy' ]
77+ if resources is not None and len (resources ) > 0 :
78+ msg += 'resources need deploy:\n '
79+ for rename in resources :
80+ msg += ' %s\n ' % (rename )
10181
102- msg += ' resouce_instances_deploy_results:\n '
10382 instance_results = deploy_result ['instances_deploy_results' ]
104- for riname , ri_result in instance_results .iteritems ():
105- msg += '%s\n %s\n ' % (riname ,
106- render_basic_app_deploy_result_to_msg (ri_result ))
83+ if instance_results is not None and len (instance_results ) > 0 :
84+ msg += ' resouce instances deploy results:\n '
85+ for riname , ri_result in instance_results .iteritems ():
86+ msg += ' %s\n %s\n ' % (riname ,
87+ render_basic_app_deploy_result_to_msg (ri_result ))
10788 return msg
10889
10990
11091def render_app_deploy_result_to_msg (deploy_result ):
111- msg = 'OK: %s \n ' % deploy_result . get ( 'OK' , False )
92+ msg = ''
11293 has_resource = deploy_result ['dp_resources_deploy_results' ]['has_resource' ]
11394 if has_resource :
11495 resource_results = deploy_result ['dp_resources_deploy_results' ]
115- msg += 'dp_resource_instance_deploy_results :\n '
96+ msg += 'depended resource instance deploy results :\n '
11697 msg += '%s\n ' % (render_resource_deploy_result_to_msg (resource_results ))
11798
11899 app_results = deploy_result ['app_deploy_results' ]
@@ -126,49 +107,35 @@ def render_podgroup_remove_result_to_msg(deploy_result):
126107
127108
128109def render_basic_app_remove_result_to_msg (deploy_result ):
129- msg = 'OK: %s\n ' % deploy_result .get ('OK' , False )
130- msg += 'remove_success_results:\n '
110+ msg = 'remove successed results:\n '
131111 for pgname , pgr in deploy_result ['remove_success_results' ].iteritems ():
132- msg += ' %s\n %s\n ' % (pgname , render_op_result_to_msg (pgr ))
133- msg += 'remove_missed_results :\n '
112+ msg += ' %s\n %s\n ' % (pgname , render_op_result_to_msg (pgr ))
113+ msg += 'remove missed results :\n '
134114 for pgname , pgr in deploy_result ['remove_missed_results' ].iteritems ():
135- msg += ' %s\n %s\n ' % (pgname , render_op_result_to_msg (pgr ))
136- msg += 'remove_failed_results :\n '
115+ msg += ' %s\n %s\n ' % (pgname , render_op_result_to_msg (pgr ))
116+ msg += 'remove failed results :\n '
137117 for pgname , pgr in deploy_result ['remove_failed_results' ].iteritems ():
138- msg += ' %s\n %s\n ' % (pgname , render_op_result_to_msg (pgr ))
118+ msg += ' %s\n %s\n ' % (pgname , render_op_result_to_msg (pgr ))
139119 return msg
140120
141121
142122def render_app_remove_result_to_msg (remove_result ):
143- msg = 'OK: %s\n ' % remove_result .get ('OK' , False )
144- msg += 'app_remove_results:\n '
123+ msg = 'app remove results:\n '
145124 msg += render_basic_app_remove_result_to_msg (
146125 remove_result ['app_remove_results' ])
147126
148127 instance_remove_results = remove_result ['dp_resources_remove_results' ]
149128 if instance_remove_results .get ('has_resource' , False ):
150- msg += 'resource_instance_remove_results :\n '
129+ msg += 'resource instance remove results :\n '
151130 for riname , remove_result in instance_remove_results ['instances_remove_results' ].iteritems ():
152131 msg += ' %s\n %s\n ' % (riname ,
153132 render_basic_app_remove_result_to_msg (remove_result ))
154133 return msg
155134
156135
157136def render_app_update_result_to_msg (update_result , is_resource_instance = False ):
158- msg = 'OK: %s\n ' % update_result .get ('OK' , False )
159- if not is_resource_instance :
160- msg += 'dp_resource_update_results:\n '
161- resource_update_results = update_result ['dp_resources_update_results' ]
162- msg += ' resource_instance_deploy_results:\n '
163- msg += ' %s\n ' % (render_resource_deploy_result_to_msg (resource_update_results ))
164- msg += ' resource_instance_remove_results:\n '
165- for riname , remove_result in resource_update_results ['instances_remove_results' ].iteritems ():
166- msg += ' %s\n %s\n ' % (riname ,
167- render_basic_app_remove_result_to_msg (remove_result ))
168- app_results = update_result ['app_update_results' ]
169- msg += 'app_update_results:\n '
170- msg += '%s\n ' % (render_basic_app_deploy_result_to_msg (
171- update_result if is_resource_instance else app_results ))
137+ app_results = update_result ['app_update_results' ]
138+ msg = '%s\n ' % (render_basic_app_deploy_result_to_msg (app_results ))
172139 return msg
173140
174141
@@ -374,9 +341,10 @@ def create_app(cls, access_token, appname, options=None):
374341
375342 app .clear_last_error ()
376343 app .set_deploying ()
377- t = Thread (target = cls ._app_deploy_thread , args = (
378- access_token , app , target_meta_version ,))
379- t .start ()
344+ err = cls ._app_deploy (access_token , app , target_meta_version )
345+ if err is not None :
346+ return (406 , None , 'request of deploy app %s is not acceptable with error:%s' %
347+ (appname , err ), reverse ('api_app' , kwargs = {'appname' : appname }))
380348
381349 return (202 , AppApi .render_app (app ), 'deploy request of app %s has been accepted.' % appname ,
382350 reverse ('api_app' , kwargs = {'appname' : appname }))
@@ -395,7 +363,7 @@ def create_app(cls, access_token, appname, options=None):
395363 reverse ('api_docs' ))
396364
397365 @classmethod
398- def _app_deploy_thread (cls , token , app , meta_version ):
366+ def _app_deploy (cls , token , app , meta_version ):
399367 try :
400368 op_logger .info ("DEPLOY: app %s deployed by %s to version %s" % (
401369 app .appname , AuthApi .operater , meta_version ))
@@ -424,13 +392,13 @@ def _app_deploy_thread(cls, token, app, meta_version):
424392 logger .info ("%s deploy result: %s" % (
425393 app .appname , render_app_deploy_result_to_msg (deploy_result )))
426394 if not deploy_result .get ("OK" , False ):
427- raise Exception ("error deploying : %s " %
395+ raise Exception ("\n %s \n " %
428396 render_app_deploy_result_to_msg (deploy_result ))
429397 except Exception , e :
430398 client .captureException ()
431- error_msg = "error deploying app %s : %s" % (app .appname , str (e ))
399+ error_msg = "\n Deploy app %s results : %s" % (app .appname , str (e ))
432400 logger .error (error_msg )
433- app . update_last_error ( error_msg )
401+ return error_msg
434402 finally :
435403 app .set_deployed ()
436404
@@ -560,9 +528,10 @@ def update_app(cls, access_token, appname, options=None):
560528
561529 app .clear_last_error ()
562530 app .set_deploying ()
563- t = Thread (target = cls ._app_update_thread , args = (
564- access_token , app , target_meta_version ,))
565- t .start ()
531+ err = cls ._app_update (access_token , app , target_meta_version )
532+ if err is not None :
533+ return (406 , None , 'request of update app %s is not acceptable with error:%s' %
534+ (appname , err ), reverse ('api_app' , kwargs = {'appname' : appname }))
566535 return (202 , AppApi .render_app (app ), 'update request of app %s has been accepted.' % appname ,
567536 reverse ('api_app' , kwargs = {'appname' : appname }))
568537 except InvalidMetaVersion , ime :
@@ -577,7 +546,7 @@ def update_app(cls, access_token, appname, options=None):
577546 reverse ('api_app' , kwargs = {'appname' : appname }))
578547
579548 @classmethod
580- def _app_update_thread (cls , token , app , target_meta_version ):
549+ def _app_update (cls , token , app , target_meta_version ):
581550 former_version , former_meta = app .meta_version , app .meta
582551 try :
583552 if app .appname .find ('.' ) > 0 :
@@ -586,13 +555,14 @@ def _app_update_thread(cls, token, app, target_meta_version):
586555 cls ._update_normal_app (token , app , target_meta_version )
587556 except Exception , e :
588557 client .captureException ()
589- error_msg = "error when updating app %s : %s" % (
558+ error_msg = "\n Updating app %s results : %s" % (
590559 app .appname , str (e ))
591560 logger .error (error_msg )
592561 # role back to the former version if error happends
593562 app .meta_version = former_version
594563 app .meta = former_meta
595- app .update_last_error (error_msg )
564+ # app.update_last_error(error_msg)
565+ return error_msg
596566 finally :
597567 app .set_deployed ()
598568
@@ -632,7 +602,7 @@ def _update_resource_instance(cls, token, instance, target_meta_version):
632602 logger .info ("%s update result: %s" % (instance .appname ,
633603 render_app_update_result_to_msg (update_result , is_resource_instance = True )))
634604 if not update_result .get ("OK" , False ):
635- raise Exception ("error updating : %s " % render_app_update_result_to_msg (
605+ raise Exception ("\n %s \n " % render_app_update_result_to_msg (
636606 update_result , is_resource_instance = True ))
637607
638608 @classmethod
@@ -676,7 +646,7 @@ def _update_normal_app(cls, token, app, target_meta_version):
676646 logger .info ("%s update result: %s" % (
677647 app .appname , render_app_update_result_to_msg (update_result )))
678648 if not update_result .get ("OK" , False ):
679- raise Exception ("error updating : %s " %
649+ raise Exception ("\n %s \n " %
680650 render_app_update_result_to_msg (update_result ))
681651
682652 @classmethod
@@ -1162,7 +1132,8 @@ def operate_proc(cls, appname, procname, operation, options=None):
11621132
11631133 podgroup_name = "%s.%s.%s" % (
11641134 appname , proc .type .name , proc .name )
1165- result = app .podgroup_operate (podgroup_name , instance , operation )
1135+ result = app .podgroup_operate (
1136+ podgroup_name , instance , operation )
11661137 if result .status_code < 400 :
11671138 return (202 , ProcApi .render_proc_data (appname , proc ),
11681139 render_op_result_to_msg (result ),
0 commit comments