From 709d7912adcaf75ea2039cb78e8a0d492efd6ae9 Mon Sep 17 00:00:00 2001 From: deflax Date: Sun, 6 May 2018 19:13:02 +0300 Subject: [PATCH] add support topic to each deployment --- app/__init__.py | 2 ++ app/panel/routes.py | 3 ++- app/static/datapoint.seed | 2 +- app/static/datapoint.sh | 9 +++++++++ app/templates/nav.html | 2 +- app/templates/panel/dashboard.html | 3 +++ app/templates/panel/support_item.html | 2 +- app/templates/panel/vdc_pool.html | 6 +++--- app/vmanager/routes.py | 10 ++++++++-- 9 files changed, 30 insertions(+), 9 deletions(-) diff --git a/app/__init__.py b/app/__init__.py index f8a56ee..e033a6b 100644 --- a/app/__init__.py +++ b/app/__init__.py @@ -4,6 +4,7 @@ from flask_bootstrap import Bootstrap from flask_mail import Mail from flask_sqlalchemy import SQLAlchemy from flask_login import LoginManager +from flask_pagedown import PageDown from flask_wtf.csrf import CSRFProtect, CSRFError from flask_babel import Babel, lazy_gettext from flask_moment import Moment @@ -34,6 +35,7 @@ mail = Mail() mail.init_app(app) bootstrap = Bootstrap() bootstrap.init_app(app) +pagedown = PageDown(app) csrf = CSRFProtect(app) #csrf.init_app(app) babel = Babel() diff --git a/app/panel/routes.py b/app/panel/routes.py index 8b5f738..604a8b6 100644 --- a/app/panel/routes.py +++ b/app/panel/routes.py @@ -97,7 +97,8 @@ def dashboard(user_pid): if not current_user.is_administrator(): send_email(current_app.config['MAIL_USERNAME'], '{} experienced an error'.format(cuser.email), 'vmanager/email/adm_unreachable', user=current_user, unit_id=unit_id, error=repr(e)) continue - return render_template('panel/dashboard.html', sys_regions=sys_regions, inv_deployments=inv_deployments, inv_services=inv_services, inv_domains=inv_domains, inv_addresses=inv_addresses, rrd=rrd, status=statuses, warnflag=warnflag, regions=regions) + supportform = MessageForm() + return render_template('panel/dashboard.html', sys_regions=sys_regions, inv_deployments=inv_deployments, inv_services=inv_services, inv_domains=inv_domains, inv_addresses=inv_addresses, rrd=rrd, status=statuses, warnflag=warnflag, regions=regions, form=supportform) #SUPPORT diff --git a/app/static/datapoint.seed b/app/static/datapoint.seed index 5f8f6aa..3157094 100644 --- a/app/static/datapoint.seed +++ b/app/static/datapoint.seed @@ -79,7 +79,7 @@ d-i base-installer/kernel/image string linux-generic d-i passwd/user-fullname string ubuntu-user d-i passwd/username string ubuntu -d-i passwd/user-password-crypted password $6$HVqIDE43CsBb$JecrxJll8LUED03dz1KjS8Peek7dKVS0lR.1girEOGbh8XWh.cBFlpds9aREaDAptd8U5bLEW8ZOx8htjjPLr/ +d-i passwd/user-password-crypted password $6$NafeQeIx$uKRfMInxDw3vcGFML74rdjupfENDwbltlAVoJfRzMWtJu3qN2Sl0j3IBK9dYIYQtyEZZ3wKQn6ECLrHWEf8rj/ d-i user-setup/allow-password-weak boolean true d-i passwd/user-default-groups string sudo d-i user-setup/encrypt-home boolean false diff --git a/app/static/datapoint.sh b/app/static/datapoint.sh index 25bb22e..6c01b09 100644 --- a/app/static/datapoint.sh +++ b/app/static/datapoint.sh @@ -24,6 +24,12 @@ update-grub ################################################################################ #curl -sSL https://get.docker.com/ | sh +apt install docker.io + +# install portainer +#docker run -d -p 9000:9000 portainer/portainer +#run with root access to host socket. +docker run -d -p 9000:9000 --restart always -v /var/run/docker.sock:/var/run/docker.sock -v /opt/portainer:/data portainer/portainer ################################################################################ ## install Gitlab CI Multirunner @@ -53,3 +59,6 @@ update-grub ################################################################################ #chage -d 0 gitlab-ci + +#shutdown at the end +shutdown -h now diff --git a/app/templates/nav.html b/app/templates/nav.html index a2c2d61..058f17f 100644 --- a/app/templates/nav.html +++ b/app/templates/nav.html @@ -52,7 +52,7 @@
  • Transactions
  • Profile
  • -
  • Support
  • +
  • Logout
  • diff --git a/app/templates/panel/dashboard.html b/app/templates/panel/dashboard.html index 15b085e..90cf0fe 100644 --- a/app/templates/panel/dashboard.html +++ b/app/templates/panel/dashboard.html @@ -55,6 +55,9 @@ addEventListener("DOMContentLoaded", function() { } }, true); + +{{ pagedown.include_pagedown() }} + {% endblock %} {% block page_content %} diff --git a/app/templates/panel/support_item.html b/app/templates/panel/support_item.html index e3a94f7..f6f9343 100644 --- a/app/templates/panel/support_item.html +++ b/app/templates/panel/support_item.html @@ -3,7 +3,7 @@
    diff --git a/app/templates/panel/vdc_pool.html b/app/templates/panel/vdc_pool.html index 9539bf0..4a87c65 100644 --- a/app/templates/panel/vdc_pool.html +++ b/app/templates/panel/vdc_pool.html @@ -16,13 +16,13 @@ {% if deploy.enabled == False or deploy.warning == True %}
    {% else %} -
    +
    {% endif %}
    @@ -99,7 +99,7 @@

    - {% with support=deploy.discussion %} + {% with support=deploy.topic %} {% include "panel/support_item.html" %} {% endwith %}

    diff --git a/app/vmanager/routes.py b/app/vmanager/routes.py index b5aca5f..d4e4b1b 100644 --- a/app/vmanager/routes.py +++ b/app/vmanager/routes.py @@ -6,7 +6,7 @@ from . import vmanager from .forms import ActivateForm from .. import db, csrf from ..email import send_email -from ..models import User, Permission, Transaction, Order, Deployment, PubVLAN, Service, Region, Server, Address, Domain, contact_proxmaster +from ..models import User, Permission, Transaction, Order, Deployment, PubVLAN, Service, Region, Server, Address, Domain, SupportTopic, contact_proxmaster from ..decorators import admin_required, permission_required import json @@ -102,7 +102,13 @@ def vmcreate(orderid): if query['status'] == 'kvm_created': selected_slave = Server.query.filter_by(name=query['slave']).first() - deployment = Deployment(user_id=order.user_id, machine_alias=str(order.parameter1), period=1, machine_id=query['unit_id'], machine_cpu=data['cpu'], machine_mem=data['mem'], machine_hdd=data['hdd'], enabled=True, protected=False, daysleft=15, warning=True, discount=0, server_id=int(selected_slave.pid)) + + #create new topic + new_topic = SupportTopic(hashtag='deploy-' + str(query['unit_id'])) + db.session.add(new_topic) + db.session.commit() + + deployment = Deployment(user_id=order.user_id, machine_alias=str(order.parameter1), period=1, machine_id=query['unit_id'], machine_cpu=data['cpu'], machine_mem=data['mem'], machine_hdd=data['hdd'], enabled=True, protected=False, daysleft=15, warning=True, discount=0, server_id=int(selected_slave.pid), topic_id=int(new_topic.pid)) db.session.add(deployment) db.session.commit()