Skip to content
This repository was archived by the owner on Sep 9, 2025. It is now read-only.
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
157 commits
Select commit Hold shift + click to select a range
ed08adf
Add PyYaml library
nbesimi Jul 19, 2018
b4bace0
Prepare image for upload
nbesimi Jul 23, 2018
f721f5e
Finalize yaml creation
nbesimi Jul 23, 2018
2cda815
Get Image properties on container export
nbesimi Jul 23, 2018
d072ea7
Export Image CLI
nbesimi Jul 25, 2018
968c77d
Send YAML first. Add Username and Password parameters for push.
nbesimi Jul 25, 2018
7282a72
Repalce <fingerprint>.yaml with image.yaml
nbesimi Jul 27, 2018
eba4dde
Pull Image Implementation
nbesimi Jul 27, 2018
29d4478
Firebase Authentication. Image Import
nbesimi Aug 1, 2018
0c015b1
List HubImages
nbesimi Aug 2, 2018
11c6bac
List Hub Images
nbesimi Aug 2, 2018
b9cfe26
Import Image
nbesimi Aug 2, 2018
f36546f
Import Image - Remove file at the end
nbesimi Aug 2, 2018
926132d
Change IMAGE_HUB to hub.kuti.io
nbesimi Aug 6, 2018
1675f70
Fix Modal Bug for Move,Clone,Snapshot & Export Container
nbesimi Aug 6, 2018
b613c58
Merge pull request #222 from nbesimi/feature/image-registry-yaml
ailegion Aug 6, 2018
05d7b2f
Fix - Container Actions inside container-details
nbesimi Aug 9, 2018
45d55cf
Update text all container will be updated on network update
nbesimi Aug 9, 2018
28872c3
Set the default CPU architecture for images based on LXD Host
nbesimi Aug 9, 2018
3dfd4ce
When no local images exists, the nightly tab should be displayed by d…
nbesimi Aug 9, 2018
bb2255e
When downloading an image from Hub add the tile as alias
nbesimi Aug 9, 2018
d9adb06
Update cli - Add image group
nbesimi Aug 9, 2018
6c52e65
added: Containers - show New instance instead of empty list
ailegion Aug 10, 2018
b3931eb
added: Image-details toastr and loading when downloading
ailegion Aug 10, 2018
f042fbd
The tabs for nightly and remote should be loaded only when accessed
nbesimi Aug 12, 2018
21a7e57
Merge pull request #224 from nbesimi/fix/bug-fixes-v2.1.2
nbesimi Aug 13, 2018
df53c6c
Merge pull request #225 from ailegion/2.2-ui-updates
nbesimi Aug 13, 2018
33ead2e
Merge pull request #226 from nbesimi/feature/nightly-remote-tabs
nbesimi Aug 13, 2018
e510dc3
Added publish modal mockup visualy
sharsllani Aug 16, 2018
7f3a741
Added markdown editor
sharsllani Aug 17, 2018
4bbd145
Merge pull request #227 from sharsllani/feature/hub
nbesimi Aug 22, 2018
5503c2f
Image Hub Integration - UI Part
nbesimi Aug 22, 2018
b699657
UI - Publish Image
nbesimi Aug 23, 2018
e94a578
Integrate Hub Publish from UI
nbesimi Aug 23, 2018
5711290
Fix Architecture Filter. Bug Fixes
nbesimi Aug 23, 2018
b5a3324
Fix local and hub showing nan for siz
nbesimi Aug 23, 2018
9043dc7
For all logos use filename: logo.png
nbesimi Aug 23, 2018
5b78a5e
Merge pull request #229 from nbesimi/feature/image-hub-integration
nbesimi Aug 24, 2018
e053a03
Added attribute on propertiesmessages
sharsllani Aug 24, 2018
d02797f
added: Image-details toastr and loading when downloading
ailegion Aug 24, 2018
a37b8a6
Merge branch 'develop' into fix/ui-fixes-2
sharsllani Aug 24, 2018
f313ea9
Merge pull request #232 from nbesimi/fix/bugs-v2.2
nbesimi Aug 24, 2018
da44a39
Merge pull request #231 from sharsllani/fix/ui-fixes-2
nbesimi Aug 24, 2018
fcd43af
Merge pull request #230 from ailegion/show-download-image
nbesimi Aug 24, 2018
2c197b2
Merge pull request #233 from nbesimi/fix/loca-hub-showing-nan-size
nbesimi Aug 24, 2018
6c44742
Bump LXDUI version
nbesimi Aug 23, 2018
27f16e5
fixed: Terminal session not closing by removing shared session
ailegion Aug 24, 2018
f450064
Merge pull request #234 from ailegion/terminal-session-close-fix
nbesimi Aug 24, 2018
39c46dd
Implement squashfs support also
nbesimi Aug 27, 2018
8f797b2
Merge pull request #235 from nbesimi/fix/squashfs-images
nbesimi Aug 27, 2018
978200c
Finalize the publish image UI
nbesimi Aug 27, 2018
baf520f
Merge pull request #236 from nbesimi/feature/image-hub-ui
nbesimi Aug 27, 2018
2fb797a
updated: Buttons toggle based on state
ailegion Aug 29, 2018
f91fa93
Merge pull request #238 from ailegion/publish-form-wizard-updated
nbesimi Aug 29, 2018
4fc924b
added: Parley js library for from validation
ailegion Aug 30, 2018
6190b37
Merge pull request #239 from ailegion/publish-form-validation
nbesimi Aug 30, 2018
44b196b
Position authorization middle
nbesimi Sep 10, 2018
c66a040
Hub - BETA
nbesimi Sep 10, 2018
e66a01b
Merge pull request #242 from nbesimi/fix/position-authorization-middle
nbesimi Sep 11, 2018
35e8e08
Merge pull request #243 from nbesimi/beta-hub
nbesimi Sep 11, 2018
98352cf
added: jquery ui and TagIt library
ailegion Sep 12, 2018
ee4432d
Merge pull request #245 from ailegion/publish-image-tags
nbesimi Sep 12, 2018
aa946e3
fixed: missing libraries
ailegion Sep 12, 2018
3a8f5ae
Merge pull request #246 from ailegion/fix-missing-libs-tag-it
nbesimi Sep 12, 2018
6dfaabc
Added Key value icon with description
sharsllani Sep 12, 2018
b603ef1
Merge branch 'develop' into fix/adding-key-value-desc
sharsllani Sep 12, 2018
2fd4ddc
Merge pull request #247 from sharsllani/fix/adding-key-value-desc
nbesimi Sep 12, 2018
9238ba2
Check if file exist before upload
nbesimi Sep 12, 2018
838c389
Merge pull request #248 from nbesimi/fix/check-file-exist
nbesimi Sep 12, 2018
57337e6
Bump flask version
nbesimi Sep 12, 2018
5715528
Merge pull request #249 from nbesimi/bump-flask-version
nbesimi Sep 12, 2018
6bf2f70
Remove preview button. Remove hardcoded data
nbesimi Sep 13, 2018
698a19b
Merge pull request #250 from nbesimi/ui-fix-v2.2
nbesimi Sep 13, 2018
ed7e82c
Fixed - disabled the checkbox and made id checked by default
sharsllani Sep 14, 2018
7d7f511
Merge branch 'develop' into fix/checkbox-disable
sharsllani Sep 14, 2018
81b97a5
Merge pull request #251 from sharsllani/fix/checkbox-disable
nbesimi Sep 14, 2018
7318023
show list of ip addresses with CIDR netmask for network interfaces
felix-engelmann Sep 16, 2018
dac0387
main functionality with remote lxd socket, terminal not working
felix-engelmann Sep 19, 2018
8ae145e
use superclass instead of new pylxd connection
felix-engelmann Sep 20, 2018
80f48ab
Fix: KeyError: 'image.os' when container hasn't 'image.os'
kacchan822 Oct 17, 2018
f42f09c
Change: refactoring LXCNetwork with lxd api client.
kacchan822 Oct 26, 2018
b3d3214
fixed dropdown menu bug
bedircaushi Jan 11, 2019
814b720
Changed: the legend text-alignment from left to center
abdulla98 Jan 14, 2019
41a4028
fixed: network interface table
Roni98 Jan 14, 2019
ae4186e
fixed: changed button on container details
bedircaushi Jan 15, 2019
0988e13
Change: Indicator UP text color
abdulla98 Jan 15, 2019
acbe799
fixed: adding a title for port mapping
Roni98 Jan 15, 2019
f86af62
Border from 'Create' button removed
jasir99 Jan 15, 2019
09fa336
Add Network Interface - popover fixed
jasir99 Jan 21, 2019
3232258
Merge pull request #256 from kacchan822/fix/findShellTypeOfContainer
vhajdari Jan 21, 2019
1918486
Merge pull request #258 from kacchan822/feature/LXCNetwork-with-api
vhajdari Jan 21, 2019
bcb9561
Merge pull request #274 from Roni98/fix/adding_title
vhajdari Jan 21, 2019
4e451c9
Merge pull request #272 from abdulla98/fix/UP-indicator-text-color
vhajdari Jan 21, 2019
081f638
Merge pull request #271 from bedircaushi/fix/buttonsChanging
vhajdari Jan 21, 2019
3414dbd
reformatted network view to fit in one line and calculate prefixes
felix-engelmann Jan 21, 2019
7bc442d
merged with upstream to resolve conflict
felix-engelmann Jan 21, 2019
64a49de
Added: changed button logout bg on hover
agniramadani Jan 22, 2019
7fe2107
Move from flask_jwt to flask_jwt_extended and secure UI.
stiltr Mar 15, 2019
a39a415
Merge remote-tracking branch 'upstream/develop' into security-fix
stiltr Apr 16, 2019
acf81bc
Apply security fixes to new content from upstream/develop
stiltr Apr 16, 2019
991f2ef
Fixed Submit form for Clone,Snapshot,Move Export Buttons.
cocoy Aug 28, 2019
977b3aa
Add an option to change the listening host of the application
ASolomatin Oct 9, 2019
4eb78b1
Merge pull request #290 from ASolomatin/allow_change_host
vhajdari Mar 17, 2020
3ef2a61
Merge pull request #289 from cocoy/develop
vhajdari Mar 17, 2020
e26310d
Merge pull request #278 from agniramadani/Add/logoutButtonHoverChanged
vhajdari Mar 17, 2020
d2747a8
Merge branch 'develop' into security-fix
stiltr Mar 19, 2020
cd64069
Merge branch 'master' into develop
ajdini Apr 1, 2020
cfe0ab6
updated: Setup.py to read from requirements.txt to prevent misconfigu…
ajdini Apr 1, 2020
206fc0a
Merge pull request #283 from stiltr/security-fix
ailegion Apr 1, 2020
4ed7a28
Merge branch 'develop' into feature/setup_read_from_requirements
ajdini Apr 2, 2020
40cebc6
Merge pull request #301 from ailegion/feature/setup_read_from_require…
nbesimi Apr 2, 2020
b02b5b0
Merge branch 'develop' into fix/popover
ailegion Apr 2, 2020
768942e
Merge pull request #277 from jasir99/fix/popover
ailegion Apr 2, 2020
3db272f
Update cli.py (#312)
mineibrm Jun 24, 2020
540822d
Redundant move (#313)
mineibrm Jul 6, 2020
d8e06c1
Added PAM authentication.
ye-yng Jan 25, 2021
01f1498
Do not allow specifying passwords in CLI args
strugee Jan 27, 2021
07d00bb
Fix --username not being required
strugee Jan 27, 2021
e0879d3
Bump pyyaml from 3.11 to 5.4 (#351)
dependabot[bot] Jul 1, 2021
813f352
Use bcrypt for passwords (#346)
strugee Jul 1, 2021
b9f05ad
Fix for JWT authentication login loop. (#335)
ye-yng Jul 1, 2021
b894823
LXDUI VM Support (#336)
ye-yng Jul 1, 2021
47f6310
LXDUI Remote server terminal fix (#338)
ye-yng Jul 1, 2021
289e13f
Do not allow specifying passwords in CLI args (#342)
strugee Jul 1, 2021
6d00996
Improve systemd unit (#343)
strugee Jul 1, 2021
140bb80
Fix `--debug` wanting an argument (#345)
strugee Jul 1, 2021
f49a42b
removed the hard coded jwt secret key and replaced it with a routine …
Aug 26, 2021
bbc6234
Merge branch 'develop' into dev_pam_auth
ye-yng Jan 21, 2022
ec19292
Fixed pyyaml version
Jan 21, 2022
a09517c
Revert "Added PAM authentication."
ye-yng Jan 24, 2022
7099682
Disable InsecureRequestWarning when sslVerify is false
ye-yng Jan 24, 2022
0a52998
Extract additional instance information
ye-yng Jan 24, 2022
0ee3132
Added extra instance details to interface
ye-yng Jan 24, 2022
b5d3a8c
Added missing IPv4 address checker
ye-yng Jan 24, 2022
ac66a25
Added limits CPU option
ye-yng Jan 26, 2022
9c680db
Fixed function name
ye-yng Jan 26, 2022
a4549fb
CPU core setting implementation
ye-yng Jan 26, 2022
2278ae8
Added CPU count on error
ye-yng Jan 27, 2022
cb22493
Changed CPU information extraction method
ye-yng Jan 27, 2022
203d9a7
Import subprocess lib
ye-yng Jan 27, 2022
d797c68
Fixed limitsCPU variable name
ye-yng Jan 27, 2022
5739d45
Changed default CPU limit set to false
ye-yng Jan 27, 2022
e786ccf
Removed test print. Fixed CPU parameters in form
ye-yng Jan 27, 2022
f789b3a
fixed config set because of missing save statement
jetroni Feb 12, 2022
75e1711
Merge branch 'develop' into cli-require-username
jetroni Feb 14, 2022
5ef2bb4
Merge pull request #344 from strugee/cli-require-username
jetroni Feb 14, 2022
e4bffeb
Merge pull request #353 from Real-XkLi/develop
jetroni Feb 14, 2022
5f80eab
Merge pull request #360 from jetroni/config-set-bugfix
jetroni Feb 14, 2022
979ced0
Merge pull request #356 from ye-yng/dev_container_details
jetroni Feb 15, 2022
6fa45ef
Fixed repeated limitsCpu variable
ye-yng Feb 15, 2022
e8991f2
Merge pull request #337 from ye-yng/dev_pam_auth
jetroni Feb 15, 2022
f5925a7
Merge pull request #358 from ye-yng/dev_set_limits_cpu
jetroni Feb 15, 2022
5655e50
Fixed bug on container update while validating
jetroni Feb 15, 2022
48e1e06
Merge pull request #362 from jetroni/hotfix_container_update
jetroni Feb 15, 2022
dfc92a9
Update versions of libraries
bet4it Mar 2, 2022
2629328
Merge pull request #364 from bet4it/dep
jetroni Apr 12, 2024
72db52e
Bumps pyopenssl from 22.0.0 to 24.1.0. (#380)
jetroni Apr 21, 2024
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
1 change: 1 addition & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -8,3 +8,4 @@ LXDUI.egg-info
logs/
conf/lxdui.conf
snap/
tmp/
16 changes: 10 additions & 6 deletions app/__metadata__.py
Original file line number Diff line number Diff line change
@@ -1,30 +1,33 @@
APP_NAME = 'LXDUI'
APP_CLI_CMD = 'lxdui'
VERSION = '2.1.2'
VERSION = '2.2'
GIT_URL = 'https://github.com/AdaptiveScale/lxdui.git'
LXD_URL = 'http://localhost:8443'
LICENSE = 'Apache 2.0'
AUTHOR = 'AdaptiveScale, Inc.'
AUTHOR_URL = 'http://www.adaptivescale.com'
AUTHOR_EMAIL = '[email protected]'
KEYWORDS = 'lxc lxc-containers lxd'
IMAGE_HUB = 'http://hub.kuti.io'

'''

The following section is for the default configuration
that will be written to the lxdui.conf file if the file
The following section is for the default configuration
that will be written to the lxdui.conf file if the file
does not already exist.

'''
AUTO_LOAD_CONFIG = True
DEFAULT_CONFIG_FORMAT = 'ini'
__default_config__ = """
[LXDUI]
lxdui.host = 0.0.0.0
lxdui.port = 15151
lxdui.images.remote = https://images.linuxcontainers.org
#lxdui.lxd.remote = https://lxd.host.org:8443/
#lxdui.lxd.sslverify = true
#lxdui.lxd.remote.name = host
lxdui.jwt.token.expiration = 1200
lxdui.jwt.secret.key = AC8d83&21Almnis710sds
lxdui.jwt.auth.url.rule = /api/user/login
lxdui.admin.user = admin
lxdui.conf.dir = {{app_root}}/conf
lxdui.conf.file = ${lxdui.conf.dir}/lxdui.conf
Expand All @@ -41,7 +44,8 @@
lxdui.zfs.pool.name = lxdpool
lxdui.app.alias = LXDUI
lxdui.cli = cli

lxdui.set_limits_cpu = false

[LXDUI_CERT]
lxdui.cert.country = US
lxdui.cert.state = Texas
Expand Down
23 changes: 23 additions & 0 deletions app/api/controllers/auth.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,23 @@
from flask import Blueprint, request, jsonify
from flask_jwt_extended import create_access_token, get_jwt_identity, jwt_required
from app.api.utils.authentication import authenticate

auth_api = Blueprint('auth_api', __name__)

@auth_api.route('/login', methods=['POST'])
def login():
username = request.get_json()["username"]
password = request.get_json()["password"]
auth_resp = authenticate(username,password)
if auth_resp == False:
return jsonify('{description: "Invalid credentials", error: "Bad Request", status_code: 401}'), 401
else:
access_token = create_access_token(identity = username)
return '{ "access_token": "'+access_token+'" }'

@auth_api.route('/refresh', methods=['POST'])
@jwt_required()
def refresh():
current_user = get_jwt_identity()
access_token = create_access_token(identity=current_user)
return '{ "access_token": "'+access_token+'" }'
8 changes: 4 additions & 4 deletions app/api/controllers/container.py
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
from flask import Blueprint, request
from flask_jwt import jwt_required
from flask_jwt_extended import jwt_required
from app.api.schemas.container_schema import doValidate, doValidateCloneMove, doValidateImageExport

from app.api.models.LXCContainer import LXCContainer
Expand Down Expand Up @@ -37,7 +37,7 @@ def getContainer(name):
@jwt_required()
def createContainer():
input = request.get_json(silent=True)
validation = doValidate(input)
validation = doValidate(input, LXDModule().setLimitsCPU())
if validation:
return response.reply(message=validation.message, status=403)

Expand All @@ -56,7 +56,7 @@ def createContainer():
@jwt_required()
def updateContainer():
input = request.get_json(silent=True)
validation = doValidate(input)
validation = doValidate(input, LXDModule().setLimitsCPU())
if validation:
return response.reply(message=validation.message, status=403)

Expand Down Expand Up @@ -222,4 +222,4 @@ def removeProxy(name, proxy):
container = LXCContainer({'name': name})
return response.replySuccess(container.removeProxy(proxy))
except ValueError as e:
return response.replyFailed(message=e.__str__())
return response.replyFailed(message=e.__str__())
14 changes: 2 additions & 12 deletions app/api/controllers/fileManager.py
Original file line number Diff line number Diff line change
@@ -1,10 +1,9 @@
from flask import Blueprint, request, send_file
from flask import jsonify
from flask_jwt import jwt_required
from flask_jwt_extended import jwt_required

from app.api.models.LXCFileManager import LXCFileManager
from app.api.utils import response
from app.api.utils.authentication import jwt_decode_handler

import io
import json
Expand Down Expand Up @@ -113,12 +112,9 @@ def download(name):


@file_manager_api.route('/download/container/<string:name>', methods=['GET'])
@jwt_required()
def download_file(name):
path = request.args.get('path')
token = request.args.get('token')
print (token)
if not checkAuthentication(token):
return response.replyFailed('Not authorized')

if path == None:
return jsonify([])
Expand Down Expand Up @@ -210,9 +206,3 @@ def delete_profile(name):
except ValueError as ex:
return response.replyFailed(message=ex.__str__())


def checkAuthentication(token):
try:
return jwt_decode_handler(token)
except Exception as e:
return False
36 changes: 34 additions & 2 deletions app/api/controllers/image.py
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
from flask import Blueprint, request, jsonify
from flask_jwt import jwt_required
from flask_jwt_extended import jwt_required

from app.api.models.LXCImage import LXCImage
from app.api.models.LXDModule import LXDModule
Expand Down Expand Up @@ -84,4 +84,36 @@ def downloadImage():
client = LXDModule()
return response.replySuccess(client.downloadImage(input.get('image')), message='Image {} downloaded successfully.'.format(input.get('image')))
except ValueError as e:
return response.replyFailed(message=e.__str__())
return response.replyFailed(message=e.__str__())


import json
@image_api.route('/hub/publish', methods=['POST'])
@jwt_required()
def publishHubImage():
#input = request.get_json(silent=True)
input = json.loads(request.form.get('input'))
logo = request.files['logo']
input['logo'] = logo.filename
try:
client = LXCImage(input)
client.exportImage(input, logo)
client.pushImage(input)
return response.replySuccess(message='Image {} pushed successfully.'.format(input.get('fingerprint')))
except ValueError as e:
return response.replyFailed(message=e.__str__())


@image_api.route('/hub', methods=['POST'])
@jwt_required()
def downloadHubImage():
input = request.get_json(silent=True)
validation = doValidate(input)
if validation:
return response.replyFailed(message=validation.message)
input['fingerprint'] = input.get('image')
try:
client = LXCImage(input)
return response.replySuccess(client.importImage(input), message='Image {} downloaded successfully.'.format(input.get('fingerprint')))
except ValueError as e:
return response.replyFailed(message=e.__str__())
29 changes: 29 additions & 0 deletions app/api/controllers/imageRegistry.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,29 @@
from flask import Blueprint, request, send_file
from flask_jwt_extended import jwt_required

from app.api.models.LXCImage import LXCImage
from app.api.utils import response

from app.api.schemas.publishImageSchema import doValidate

image_registry_api = Blueprint('image_registry_api', __name__)


@image_registry_api.route('/<string:fingerprint>', methods=['POST'])
@jwt_required()
def publishImage(fingerprint):
input = request.get_json(silent=True)
validation = doValidate(input)
if validation:
return response.replyFailed(message=validation.message)

input['fingerprint'] = fingerprint
try:
image = LXCImage({'fingerprint': fingerprint})

#Export Image - Image registry
image.exportImage(input)

return response.replySuccess(image.getImage())
except ValueError as e:
return response.replyFailed(message=e.__str__())
4 changes: 2 additions & 2 deletions app/api/controllers/lxd.py
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
from flask import Blueprint, jsonify
from flask_jwt import jwt_required
from flask_jwt_extended import jwt_required

from app.api.models.LXDModule import LXDModule
from app.api.utils import response
Expand Down Expand Up @@ -33,4 +33,4 @@ def config():
client = LXDModule()
return response.replySuccess(client.config())
except ValueError as e:
return response.replyFailed(message=e.__str__())
return response.replyFailed(message=e.__str__())
14 changes: 8 additions & 6 deletions app/api/controllers/network.py
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
from flask import Blueprint, request
from flask_jwt import jwt_required
from flask_jwt_extended import jwt_required

from app.api.models.LXDModule import LXDModule
from app.api.models.LXCContainer import LXCContainer
Expand Down Expand Up @@ -36,10 +36,11 @@ def updateNetwork(name):
if validation:
return response.replyFailed(message=validation.message)

input['name'] = name
input['IPv6_ENABLED'] = False

network = LXCNetwork({'name': name})
network.updateNetwork(input, name)
network = LXCNetwork(input)
network.updateNetwork()

mainConfig = network.info()
for container in mainConfig['used_by']:
Expand All @@ -50,13 +51,14 @@ def updateNetwork(name):
@jwt_required()
def creatNetwork(name):
input = request.get_json(silent=True)
input['name'] = name
validation = doValidate(input)
if validation:
return response.replyFailed(message=validation.message)

input['IPv6_ENABLED'] = False
network = LXCNetwork({'name': name})
network.createNetwork(input, name)
network = LXCNetwork(input)
network.createNetwork()

mainConfig = network.info()
return response.replySuccess(mainConfig['result'], message='Network {} created successfully.'.format(name))
Expand All @@ -68,4 +70,4 @@ def deleteNetwork(name):
network.deleteNetwork()

client = LXDModule()
return response.replySuccess(client.listNetworks(), message='Network {} deleted successfully.'.format(name))
return response.replySuccess(client.listNetworks(), message='Network {} deleted successfully.'.format(name))
2 changes: 1 addition & 1 deletion app/api/controllers/profile.py
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
from flask import Blueprint, request
from flask import jsonify
from flask_jwt import jwt_required
from flask_jwt_extended import jwt_required

from app.api.models.LXDModule import LXDModule
from app.api.models.LXCProfile import LXCProfile
Expand Down
2 changes: 1 addition & 1 deletion app/api/controllers/snapshot.py
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
from flask import Blueprint, request
from flask_jwt import jwt_required
from flask_jwt_extended import jwt_required
from app.api.schemas.container_schema import doValidateCloneMove

from app.api.models.LXCSnapshot import LXCSnapshot
Expand Down
3 changes: 1 addition & 2 deletions app/api/controllers/storagePool.py
Original file line number Diff line number Diff line change
@@ -1,6 +1,5 @@
from flask import Blueprint, request
from flask import jsonify
from flask_jwt import jwt_required
from flask_jwt_extended import jwt_required

from app.api.models.LXDModule import LXDModule
from app.api.models.LXCStoragePool import LXCStoragePool
Expand Down
Loading