Skip to content

Commit b48023e

Browse files
authored
Merge pull request #61 from supermeng/master
Enhancement for console
2 parents 8841bb6 + c33952e commit b48023e

File tree

4 files changed

+67
-96
lines changed

4 files changed

+67
-96
lines changed

apis/views.py

Lines changed: 64 additions & 93 deletions
Original file line numberDiff line numberDiff line change
@@ -39,80 +39,61 @@ def render_op_result_to_msg(op_result):
3939

4040

4141
def 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

5253
def 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

9674
def 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

11091
def 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

128109
def 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

142122
def 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

157136
def 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 = "\nDeploy 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 = "\nUpdating 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),

archon.sh

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -26,4 +26,4 @@ if [ "$api_server" == "/" ];
2626
fi
2727

2828

29-
exec ./archon-0.1.linux.amd64 -sso-client-id=$client_id -api-server=$api_server -sso-server=$sso_server -entry-server=$ws_scheme"://entry."$environ -mode=frontend
29+
exec ./archon-0.1.linux.amd64 -sso-client-id=$client_id -api-server=$api_server -sso-server=$sso_server -log-server=$console_api_scheme"://lxcmond."$environ -entry-server=$ws_scheme"://entry."$environ -mode=frontend

config

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@ redirect_uri="http://console.lain.cloud/api/v1/authorize/"
44
console_api_scheme="http"
55
sso_server="https://sso.lain.com"
66
console_api_server="/"
7-
mysql_host="172.0.0.1"
7+
mysql_host="127.0.0.1"
88
mysql_dbname="console"
99
mysql_port="3306"
1010
mysql_user="console"

lain.yaml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
appname: console
22

33
build:
4-
base: laincloud/centos-lain:20171212
4+
base: laincloud/centos-lain:20180103
55
prepare:
66
version: "20171212"
77
script:

0 commit comments

Comments
 (0)