fix a few bugs with app del uninstall and deletion
This commit is contained in:
parent
2e55e2fa39
commit
82478e5006
3 changed files with 18 additions and 6 deletions
|
@ -3,3 +3,8 @@
|
||||||
# List of plugins (as comma separated values of python module names) to load,
|
# List of plugins (as comma separated values of python module names) to load,
|
||||||
# usually to register additional checkers.
|
# usually to register additional checkers.
|
||||||
load-plugins=pylint_flask,pylint_flask_sqlalchemy
|
load-plugins=pylint_flask,pylint_flask_sqlalchemy
|
||||||
|
|
||||||
|
# List of class names for which member attributes should not be checked (useful
|
||||||
|
# for classes with dynamically set attributes). This supports the use of
|
||||||
|
# qualified names.
|
||||||
|
ignored-classes=optparse.Values,thread._local,_thread._local,argparse.Namespace,scoped_session
|
||||||
|
|
|
@ -51,7 +51,8 @@ class App(db.Model):
|
||||||
"""
|
"""
|
||||||
# Delete all roles first
|
# Delete all roles first
|
||||||
for role in self.roles:
|
for role in self.roles:
|
||||||
role.delete()
|
db.session.delete(role)
|
||||||
|
db.session.commit()
|
||||||
|
|
||||||
db.session.delete(self)
|
db.session.delete(self)
|
||||||
return db.session.commit()
|
return db.session.commit()
|
||||||
|
@ -166,6 +167,7 @@ class AppStatus(): # pylint: disable=too-few-public-methods
|
||||||
self.installed = False
|
self.installed = False
|
||||||
self.ready = False
|
self.ready = False
|
||||||
self.message = "Not installed"
|
self.message = "Not installed"
|
||||||
|
return
|
||||||
|
|
||||||
for helmrelease in helmreleases:
|
for helmrelease in helmreleases:
|
||||||
hr_status = helmrelease['status']
|
hr_status = helmrelease['status']
|
||||||
|
|
|
@ -98,9 +98,14 @@ def delete_app(slug):
|
||||||
current_app.logger.info("Not found")
|
current_app.logger.info("Not found")
|
||||||
return
|
return
|
||||||
|
|
||||||
|
app_status = app_obj.get_status()
|
||||||
|
if not app_status.installed:
|
||||||
deleted = app_obj.delete()
|
deleted = app_obj.delete()
|
||||||
current_app.logger.info(f"Success: {deleted}")
|
current_app.logger.info(f"Success.")
|
||||||
return
|
else:
|
||||||
|
current_app.logger.info("Can not delete installed application, run"
|
||||||
|
" 'uninstall' first")
|
||||||
|
|
||||||
|
|
||||||
@app_cli.command(
|
@app_cli.command(
|
||||||
"uninstall",
|
"uninstall",
|
||||||
|
@ -110,7 +115,7 @@ def uninstall_app(slug):
|
||||||
"""Uninstalls the app from the cluster
|
"""Uninstalls the app from the cluster
|
||||||
:param slug: str Slug of app to remove
|
:param slug: str Slug of app to remove
|
||||||
"""
|
"""
|
||||||
current_app.logger.info(f"Trying to delete app: {slug}")
|
current_app.logger.info(f"Trying to uninstall app: {slug}")
|
||||||
app_obj = App.query.filter_by(slug=slug).first()
|
app_obj = App.query.filter_by(slug=slug).first()
|
||||||
|
|
||||||
if not app_obj:
|
if not app_obj:
|
||||||
|
@ -152,7 +157,7 @@ def install_app(slug):
|
||||||
return
|
return
|
||||||
|
|
||||||
current_status = app.get_status()
|
current_status = app.get_status()
|
||||||
if current_status.installed == False:
|
if not current_status.installed:
|
||||||
app.install()
|
app.install()
|
||||||
current_app.logger.info(
|
current_app.logger.info(
|
||||||
f"App {slug} installing... use `status` to see status")
|
f"App {slug} installing... use `status` to see status")
|
||||||
|
|
Loading…
Reference in a new issue