Skip to content
Toggle navigation
P
Projects
G
Groups
S
Snippets
Help
Gelencsér Szabolcs
/
circlestack
This project
Loading...
Sign in
Toggle navigation
Go to a project
Project
Repository
Issues
0
Merge Requests
0
Pipelines
Wiki
Snippets
Members
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Commit
1e204ec1
authored
Mar 07, 2018
by
Szabolcs Gelencser
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
Implement some network creation and details
parent
feb51452
Hide whitespace changes
Inline
Side-by-side
Showing
8 changed files
with
263 additions
and
174 deletions
+263
-174
.idea/workspace.xml
+206
-161
circle/circle/db.sqlite3
+0
-0
circle/circle/settings/base.py
+2
-2
circle/dashboard/views/vm.py
+6
-0
circle/network/forms.py
+1
-0
circle/network/templates/network/vxlan-create.html
+5
-4
circle/network/templates/network/vxlan-edit.html
+25
-5
circle/network/views.py
+18
-2
No files found.
.idea/workspace.xml
View file @
1e204ec1
...
@@ -2,12 +2,14 @@
...
@@ -2,12 +2,14 @@
<project
version=
"4"
>
<project
version=
"4"
>
<component
name=
"ChangeListManager"
>
<component
name=
"ChangeListManager"
>
<list
default=
"true"
id=
"1fbec8af-5a7c-40f9-b994-83ac07d1ae1d"
name=
"Default"
comment=
""
>
<list
default=
"true"
id=
"1fbec8af-5a7c-40f9-b994-83ac07d1ae1d"
name=
"Default"
comment=
""
>
<change
beforePath=
"$PROJECT_DIR$/.idea/watcherTasks.xml"
afterPath=
""
/>
<change
beforePath=
"$PROJECT_DIR$/.idea/workspace.xml"
afterPath=
"$PROJECT_DIR$/.idea/workspace.xml"
/>
<change
beforePath=
"$PROJECT_DIR$/.idea/workspace.xml"
afterPath=
"$PROJECT_DIR$/.idea/workspace.xml"
/>
<change
beforePath=
"$PROJECT_DIR$/circle/
bower.json"
afterPath=
"$PROJECT_DIR$/circle/bower.json
"
/>
<change
beforePath=
"$PROJECT_DIR$/circle/
circle/db.sqlite3"
afterPath=
"$PROJECT_DIR$/circle/circle/db.sqlite3
"
/>
<change
beforePath=
"$PROJECT_DIR$/circle/circle/settings/base.py"
afterPath=
"$PROJECT_DIR$/circle/circle/settings/base.py"
/>
<change
beforePath=
"$PROJECT_DIR$/circle/circle/settings/base.py"
afterPath=
"$PROJECT_DIR$/circle/circle/settings/base.py"
/>
<change
beforePath=
"$PROJECT_DIR$/circle/dashboard/views/vm.py"
afterPath=
"$PROJECT_DIR$/circle/dashboard/views/vm.py"
/>
<change
beforePath=
"$PROJECT_DIR$/circle/network/forms.py"
afterPath=
"$PROJECT_DIR$/circle/network/forms.py"
/>
<change
beforePath=
"$PROJECT_DIR$/circle/network/forms.py"
afterPath=
"$PROJECT_DIR$/circle/network/forms.py"
/>
<change
beforePath=
"$PROJECT_DIR$/circle/network/templates/network/vxlan-create.html"
afterPath=
"$PROJECT_DIR$/circle/network/templates/network/vxlan-create.html"
/>
<change
beforePath=
"$PROJECT_DIR$/circle/network/templates/network/vxlan-create.html"
afterPath=
"$PROJECT_DIR$/circle/network/templates/network/vxlan-create.html"
/>
<change
beforePath=
"$PROJECT_DIR$/circle/network/templates/network/vxlan-edit.html"
afterPath=
"$PROJECT_DIR$/circle/network/templates/network/vxlan-edit.html"
/>
<change
beforePath=
"$PROJECT_DIR$/circle/network/views.py"
afterPath=
"$PROJECT_DIR$/circle/network/views.py"
/>
</list>
</list>
<option
name=
"EXCLUDED_CONVERTED_TO_IGNORED"
value=
"true"
/>
<option
name=
"EXCLUDED_CONVERTED_TO_IGNORED"
value=
"true"
/>
<option
name=
"TRACKING_ENABLED"
value=
"true"
/>
<option
name=
"TRACKING_ENABLED"
value=
"true"
/>
...
@@ -32,12 +34,12 @@
...
@@ -32,12 +34,12 @@
<option
name=
"myCustomStartScript"
value=
"import sys; print('Python %s on %s' % (sys.version, sys.platform)) import django; print('Django %s' % django.get_version()) sys.path.extend([WORKING_DIR_AND_PYTHON_PATHS]) if 'setup' in dir(django): django.setup() import django_manage_shell; django_manage_shell.run(PROJECT_ROOT)"
/>
<option
name=
"myCustomStartScript"
value=
"import sys; print('Python %s on %s' % (sys.version, sys.platform)) import django; print('Django %s' % django.get_version()) sys.path.extend([WORKING_DIR_AND_PYTHON_PATHS]) if 'setup' in dir(django): django.setup() import django_manage_shell; django_manage_shell.run(PROJECT_ROOT)"
/>
</component>
</component>
<component
name=
"FileEditorManager"
>
<component
name=
"FileEditorManager"
>
<leaf>
<leaf
SIDE_TABS_SIZE_LIMIT_KEY=
"300"
>
<file
leaf-file-name=
"views.py"
pinned=
"false"
current-in-tab=
"false"
>
<file
leaf-file-name=
"views.py"
pinned=
"false"
current-in-tab=
"false"
>
<entry
file=
"file://$PROJECT_DIR$/circle/network/views.py"
>
<entry
file=
"file://$PROJECT_DIR$/circle/network/views.py"
>
<provider
selected=
"true"
editor-type-id=
"text-editor"
>
<provider
selected=
"true"
editor-type-id=
"text-editor"
>
<state
relative-caret-position=
"
561
"
>
<state
relative-caret-position=
"
16150
"
>
<caret
line=
"
1014"
column=
"42"
lean-forward=
"true"
selection-start-line=
"1014"
selection-start-column=
"42"
selection-end-line=
"1014"
selection-end-column=
"42
"
/>
<caret
line=
"
992"
column=
"30"
lean-forward=
"false"
selection-start-line=
"992"
selection-start-column=
"30"
selection-end-line=
"992"
selection-end-column=
"30
"
/>
<folding>
<folding>
<element
signature=
"e#732#743#0"
expanded=
"true"
/>
<element
signature=
"e#732#743#0"
expanded=
"true"
/>
</folding>
</folding>
...
@@ -45,21 +47,85 @@
...
@@ -45,21 +47,85 @@
</provider>
</provider>
</entry>
</entry>
</file>
</file>
<file
leaf-file-name=
"vxlan-create.html"
pinned=
"false"
current-in-tab=
"false"
>
<file
leaf-file-name=
"vm.py"
pinned=
"false"
current-in-tab=
"true"
>
<entry
file=
"file://$PROJECT_DIR$/circle/network/templates/network/vxlan-create.html"
>
<entry
file=
"file://$PROJECT_DIR$/circle/dashboard/views/vm.py"
>
<provider
selected=
"true"
editor-type-id=
"text-editor"
>
<state
relative-caret-position=
"433"
>
<caret
line=
"1026"
column=
"66"
lean-forward=
"false"
selection-start-line=
"1026"
selection-start-column=
"66"
selection-end-line=
"1026"
selection-end-column=
"66"
/>
<folding>
<element
signature=
"e#40463#41634#0"
expanded=
"false"
/>
</folding>
</state>
</provider>
</entry>
</file>
<file
leaf-file-name=
"base.py"
pinned=
"false"
current-in-tab=
"false"
>
<entry
file=
"file://$USER_HOME$/.virtualenvs/cloud/local/lib/python2.7/site-packages/django/views/generic/base.py"
>
<provider
selected=
"true"
editor-type-id=
"text-editor"
>
<state
relative-caret-position=
"1309"
>
<caret
line=
"87"
column=
"0"
lean-forward=
"false"
selection-start-line=
"87"
selection-start-column=
"0"
selection-end-line=
"87"
selection-end-column=
"0"
/>
<folding
/>
</state>
</provider>
</entry>
</file>
<file
leaf-file-name=
"nova.py"
pinned=
"false"
current-in-tab=
"false"
>
<entry
file=
"file://$PROJECT_DIR$/circle/openstack_api/nova.py"
>
<provider
selected=
"true"
editor-type-id=
"text-editor"
>
<state
relative-caret-position=
"8432"
>
<caret
line=
"517"
column=
"72"
lean-forward=
"false"
selection-start-line=
"517"
selection-start-column=
"72"
selection-end-line=
"517"
selection-end-column=
"72"
/>
<folding
/>
</state>
</provider>
</entry>
</file>
<file
leaf-file-name=
"servers.py"
pinned=
"false"
current-in-tab=
"false"
>
<entry
file=
"file://$USER_HOME$/.virtualenvs/cloud/local/lib/python2.7/site-packages/novaclient/v2/servers.py"
>
<provider
selected=
"true"
editor-type-id=
"text-editor"
>
<state
relative-caret-position=
"20791"
>
<caret
line=
"1233"
column=
"41"
lean-forward=
"false"
selection-start-line=
"1233"
selection-start-column=
"41"
selection-end-line=
"1233"
selection-end-column=
"41"
/>
<folding
/>
</state>
</provider>
</entry>
</file>
<file
leaf-file-name=
"servers.py"
pinned=
"false"
current-in-tab=
"false"
>
<entry
file=
"file://$USER_HOME$/.virtualenvs/cloud/lib/python2.7/site-packages/novaclient/v2/servers.py"
>
<provider
selected=
"true"
editor-type-id=
"text-editor"
>
<provider
selected=
"true"
editor-type-id=
"text-editor"
>
<state
relative-caret-position=
"2
33
"
>
<state
relative-caret-position=
"2
2168
"
>
<caret
line=
"1
6"
column=
"24"
lean-forward=
"true"
selection-start-line=
"16"
selection-start-column=
"24"
selection-end-line=
"16"
selection-end-column=
"24
"
/>
<caret
line=
"1
314"
column=
"38"
lean-forward=
"false"
selection-start-line=
"1314"
selection-start-column=
"38"
selection-end-line=
"1314"
selection-end-column=
"38
"
/>
<folding
/>
<folding
/>
</state>
</state>
</provider>
</provider>
</entry>
</entry>
</file>
</file>
<file
leaf-file-name=
"forms.py"
pinned=
"false"
current-in-tab=
"
tru
e"
>
<file
leaf-file-name=
"forms.py"
pinned=
"false"
current-in-tab=
"
fals
e"
>
<entry
file=
"file://$PROJECT_DIR$/circle/network/forms.py"
>
<entry
file=
"file://$PROJECT_DIR$/circle/network/forms.py"
>
<provider
selected=
"true"
editor-type-id=
"text-editor"
>
<provider
selected=
"true"
editor-type-id=
"text-editor"
>
<state
relative-caret-position=
"743"
>
<state
relative-caret-position=
"6273"
>
<caret
line=
"382"
column=
"53"
lean-forward=
"false"
selection-start-line=
"382"
selection-start-column=
"53"
selection-end-line=
"382"
selection-end-column=
"53"
/>
<caret
line=
"383"
column=
"57"
lean-forward=
"false"
selection-start-line=
"383"
selection-start-column=
"57"
selection-end-line=
"383"
selection-end-column=
"57"
/>
<folding
/>
</state>
</provider>
</entry>
</file>
<file
leaf-file-name=
"vxlan-edit.html"
pinned=
"false"
current-in-tab=
"false"
>
<entry
file=
"file://$PROJECT_DIR$/circle/network/templates/network/vxlan-edit.html"
>
<provider
selected=
"true"
editor-type-id=
"text-editor"
>
<state
relative-caret-position=
"204"
>
<caret
line=
"12"
column=
"0"
lean-forward=
"false"
selection-start-line=
"12"
selection-start-column=
"0"
selection-end-line=
"12"
selection-end-column=
"0"
/>
<folding>
<element
signature=
"e#422#429#1#HTML"
expanded=
"true"
/>
</folding>
</state>
</provider>
</entry>
</file>
<file
leaf-file-name=
"vxlan-create.html"
pinned=
"false"
current-in-tab=
"false"
>
<entry
file=
"file://$PROJECT_DIR$/circle/network/templates/network/vxlan-create.html"
>
<provider
selected=
"true"
editor-type-id=
"text-editor"
>
<state
relative-caret-position=
"782"
>
<caret
line=
"46"
column=
"26"
lean-forward=
"false"
selection-start-line=
"46"
selection-start-column=
"10"
selection-end-line=
"46"
selection-end-column=
"26"
/>
<folding
/>
<folding
/>
</state>
</state>
</provider>
</provider>
...
@@ -77,17 +143,9 @@
...
@@ -77,17 +143,9 @@
</component>
</component>
<component
name=
"FindInProjectRecents"
>
<component
name=
"FindInProjectRecents"
>
<findStrings>
<findStrings>
<find>
[a-z0-9-]+
</find>
<find>
(?P
<
pk
>
[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12})
</find>
<find>
initial
</find>
<find>
ini
</find>
<find>
initi
</find>
<find>
initialOwner
</find>
<find>
initialow
</find>
<find>
VxlanForm
</find>
<find>
VxlanForm
</find>
<find>
vxlancrea
</find>
<find>
vxlancrea
</find>
<find>
forms
</find>
<find>
forms
</find>
<find>
create
</find>
<find>
vnc
</find>
<find>
vnc
</find>
<find>
c
</find>
<find>
c
</find>
<find>
span
</find>
<find>
span
</find>
...
@@ -107,6 +165,14 @@
...
@@ -107,6 +165,14 @@
<find>
jspl
</find>
<find>
jspl
</find>
<find>
vm-create
</find>
<find>
vm-create
</find>
<find>
jsi18n
</find>
<find>
jsi18n
</find>
<find>
as_cris
</find>
<find>
moresub
</find>
<find>
VxlanFo
</find>
<find>
interfa
</find>
<find>
server_c
</find>
<find>
create
</find>
<find>
server_cr
</find>
<find>
server_create
</find>
</findStrings>
</findStrings>
<replaceStrings>
<replaceStrings>
<replace>
'ACTIVE'
</replace>
<replace>
'ACTIVE'
</replace>
...
@@ -142,10 +208,8 @@
...
@@ -142,10 +208,8 @@
<option
value=
"$PROJECT_DIR$/circle/network/models.py"
/>
<option
value=
"$PROJECT_DIR$/circle/network/models.py"
/>
<option
value=
"$PROJECT_DIR$/circle/dashboard/templates/dashboard/index-vxlans.html"
/>
<option
value=
"$PROJECT_DIR$/circle/dashboard/templates/dashboard/index-vxlans.html"
/>
<option
value=
"$PROJECT_DIR$/circle/openstack_api/base.py"
/>
<option
value=
"$PROJECT_DIR$/circle/openstack_api/base.py"
/>
<option
value=
"$PROJECT_DIR$/circle/network/templates/network/vxlan-edit.html"
/>
<option
value=
"$PROJECT_DIR$/circle/openstack_api/nova.py"
/>
<option
value=
"$PROJECT_DIR$/circle/openstack_api/nova.py"
/>
<option
value=
"$PROJECT_DIR$/circle/dashboard/views/index.py"
/>
<option
value=
"$PROJECT_DIR$/circle/dashboard/views/index.py"
/>
<option
value=
"$PROJECT_DIR$/circle/dashboard/views/vm.py"
/>
<option
value=
"$PROJECT_DIR$/circle/circle/settings/local.py"
/>
<option
value=
"$PROJECT_DIR$/circle/circle/settings/local.py"
/>
<option
value=
"$PROJECT_DIR$/circle/dashboard/templates/dashboard/vm-detail/console.html"
/>
<option
value=
"$PROJECT_DIR$/circle/dashboard/templates/dashboard/vm-detail/console.html"
/>
<option
value=
"$PROJECT_DIR$/circle/network/templates/network/horizon/client_side/_alert_message.html"
/>
<option
value=
"$PROJECT_DIR$/circle/network/templates/network/horizon/client_side/_alert_message.html"
/>
...
@@ -167,11 +231,13 @@
...
@@ -167,11 +231,13 @@
<option
value=
"$PROJECT_DIR$/circle/dashboard/views/user.py"
/>
<option
value=
"$PROJECT_DIR$/circle/dashboard/views/user.py"
/>
<option
value=
"$PROJECT_DIR$/circle/dashboard/templates/dashboard/base.html"
/>
<option
value=
"$PROJECT_DIR$/circle/dashboard/templates/dashboard/base.html"
/>
<option
value=
"$PROJECT_DIR$/circle/bower.json"
/>
<option
value=
"$PROJECT_DIR$/circle/bower.json"
/>
<option
value=
"$PROJECT_DIR$/circle/circle/settings/base.py"
/>
<option
value=
"$PROJECT_DIR$/circle/dashboard/static/vue.css"
/>
<option
value=
"$PROJECT_DIR$/circle/dashboard/static/vue.css"
/>
<option
value=
"$PROJECT_DIR$/circle/network/templates/network/vxlan-edit.html"
/>
<option
value=
"$PROJECT_DIR$/circle/network/templates/network/vxlan-create.html"
/>
<option
value=
"$PROJECT_DIR$/circle/network/templates/network/vxlan-create.html"
/>
<option
value=
"$PROJECT_DIR$/circle/
network/views
.py"
/>
<option
value=
"$PROJECT_DIR$/circle/
circle/settings/base
.py"
/>
<option
value=
"$PROJECT_DIR$/circle/network/forms.py"
/>
<option
value=
"$PROJECT_DIR$/circle/network/forms.py"
/>
<option
value=
"$PROJECT_DIR$/circle/network/views.py"
/>
<option
value=
"$PROJECT_DIR$/circle/dashboard/views/vm.py"
/>
</list>
</list>
</option>
</option>
</component>
</component>
...
@@ -229,8 +295,6 @@
...
@@ -229,8 +295,6 @@
<foldersAlwaysOnTop
value=
"true"
/>
<foldersAlwaysOnTop
value=
"true"
/>
</navigator>
</navigator>
<panes>
<panes>
<pane
id=
"Scratches"
/>
<pane
id=
"Scope"
/>
<pane
id=
"ProjectPane"
>
<pane
id=
"ProjectPane"
>
<subPane>
<subPane>
<expand>
<expand>
...
@@ -243,23 +307,12 @@
...
@@ -243,23 +307,12 @@
<item
name=
"cloud"
type=
"462c0819:PsiDirectoryNode"
/>
<item
name=
"cloud"
type=
"462c0819:PsiDirectoryNode"
/>
<item
name=
"circle"
type=
"462c0819:PsiDirectoryNode"
/>
<item
name=
"circle"
type=
"462c0819:PsiDirectoryNode"
/>
</path>
</path>
<path>
<item
name=
"cloud"
type=
"b2602c69:ProjectViewProjectNode"
/>
<item
name=
"cloud"
type=
"462c0819:PsiDirectoryNode"
/>
<item
name=
"circle"
type=
"462c0819:PsiDirectoryNode"
/>
<item
name=
"dashboard"
type=
"462c0819:PsiDirectoryNode"
/>
</path>
<path>
<item
name=
"cloud"
type=
"b2602c69:ProjectViewProjectNode"
/>
<item
name=
"cloud"
type=
"462c0819:PsiDirectoryNode"
/>
<item
name=
"circle"
type=
"462c0819:PsiDirectoryNode"
/>
<item
name=
"dashboard"
type=
"462c0819:PsiDirectoryNode"
/>
<item
name=
"static"
type=
"462c0819:PsiDirectoryNode"
/>
</path>
</expand>
</expand>
<select
/>
<select
/>
</subPane>
</subPane>
</pane>
</pane>
<pane
id=
"Scratches"
/>
<pane
id=
"Scope"
/>
</panes>
</panes>
</component>
</component>
<component
name=
"PropertiesComponent"
>
<component
name=
"PropertiesComponent"
>
...
@@ -268,7 +321,7 @@
...
@@ -268,7 +321,7 @@
<property
name=
"settings.editor.selected.configurable"
value=
"watcher.settings"
/>
<property
name=
"settings.editor.selected.configurable"
value=
"watcher.settings"
/>
<property
name=
"NewWatcherDialog.advanced.open"
value=
"true"
/>
<property
name=
"NewWatcherDialog.advanced.open"
value=
"true"
/>
<property
name=
"DefaultHtmlFileTemplate"
value=
"HTML File"
/>
<property
name=
"DefaultHtmlFileTemplate"
value=
"HTML File"
/>
<property
name=
"SearchEverywhereHistoryKey"
value=
"
	FILE	file:///home/h3yduck/cloud/circle/circle/settings/base.py vmdetailv	null	null editor	null	null networktopo	FILE	file:///home/h3yduck/cloud/circle/network/static/js/horizon.networktopology.js bow	FILE	file:///home/h3yduck/cloud/circle/bower.json base	FILE	file:///home/h3yduck/cloud/circle/circle/settings/base.py
base.py	FILE	file:///home/h3yduck/cloud/circle/circle/settings/base.py local	null	null vmdeta	null	null index	null	null vnc	null	null plain	FILE	file:///home/h3yduck/cloud/circle/dashboard/templates/dashboard/vm-plain-image-create.html forms	null	null vxlanform	null	null instanc	FILE	file:///home/h3yduck/cloud/circle/vm/models/instance.py index-vxla	FILE	file:///home/h3yduck/cloud/circle/dashboard/templates/dashboard/index-vxlans.html instance	FILE	file:///home/h3yduck/cloud/circle/vm/models/instance.py _vm-c	FILE	file:///home/h3yduck/cloud/circle/dashboard/templates/dashboard/_vm-create-1.html vmcrea	null	null loginV	null	null index.html	FILE	file:///home/h3yduck/cloud/circle/dashboard/templates/dashboard/index.html sleep	null	null Deploy	null	null Instance	null	null Vmdeta	null	null list_from	null	null aclupda	null	null base.htm	FILE	file:///home/h3yduck/cloud/circle/dashboard/templates/base.html method	ACTION	GoToMenuEx base.ht	FILE	file:///home/h3yduck/cloud/circle/dashboard/templates/base.html base.html	FILE	file:///home/h3yduck/cloud/circle/dashboard/templates/dashboard/base.html index.py	FILE	file:///home/h3yduck/cloud/circle/dashboard/views/index.py index.htm	FILE	file:///home/h3yduck/cloud/circle/dashboard/templates/dashboard/index.html server	null	null Disk	null	null"
/>
<property
name=
"SearchEverywhereHistoryKey"
value=
"
nov	FILE	file:///home/h3yduck/cloud/circle/openstack_api/nova.py nova.p	FILE	file:///home/h3yduck/cloud/circle/openstack_api/nova.py base	FILE	file:///home/h3yduck/cloud/circle/circle/settings/base.py vmdetailv	null	null editor	null	null networktopo	FILE	file:///home/h3yduck/cloud/circle/network/static/js/horizon.networktopology.js bow	FILE	file:///home/h3yduck/cloud/circle/bower.json
base.py	FILE	file:///home/h3yduck/cloud/circle/circle/settings/base.py local	null	null vmdeta	null	null index	null	null vnc	null	null plain	FILE	file:///home/h3yduck/cloud/circle/dashboard/templates/dashboard/vm-plain-image-create.html forms	null	null vxlanform	null	null instanc	FILE	file:///home/h3yduck/cloud/circle/vm/models/instance.py index-vxla	FILE	file:///home/h3yduck/cloud/circle/dashboard/templates/dashboard/index-vxlans.html instance	FILE	file:///home/h3yduck/cloud/circle/vm/models/instance.py _vm-c	FILE	file:///home/h3yduck/cloud/circle/dashboard/templates/dashboard/_vm-create-1.html vmcrea	null	null loginV	null	null index.html	FILE	file:///home/h3yduck/cloud/circle/dashboard/templates/dashboard/index.html sleep	null	null Deploy	null	null Instance	null	null Vmdeta	null	null list_from	null	null aclupda	null	null base.htm	FILE	file:///home/h3yduck/cloud/circle/dashboard/templates/base.html method	ACTION	GoToMenuEx base.ht	FILE	file:///home/h3yduck/cloud/circle/dashboard/templates/base.html base.html	FILE	file:///home/h3yduck/cloud/circle/dashboard/templates/dashboard/base.html index.py	FILE	file:///home/h3yduck/cloud/circle/dashboard/views/index.py index.htm	FILE	file:///home/h3yduck/cloud/circle/dashboard/templates/dashboard/index.html server	null	null Disk	null	null"
/>
</component>
</component>
<component
name=
"RecentsManager"
>
<component
name=
"RecentsManager"
>
<key
name=
"MoveFile.RECENT_KEYS"
>
<key
name=
"MoveFile.RECENT_KEYS"
>
...
@@ -367,30 +420,28 @@
...
@@ -367,30 +420,28 @@
</component>
</component>
<component
name=
"ToolWindowManager"
>
<component
name=
"ToolWindowManager"
>
<frame
x=
"-2"
y=
"-1"
width=
"1924"
height=
"1063"
extended-state=
"0"
/>
<frame
x=
"-2"
y=
"-1"
width=
"1924"
height=
"1063"
extended-state=
"0"
/>
<editor
active=
"true"
/>
<layout>
<layout>
<window_info
id=
"TODO"
active=
"false"
anchor=
"bottom"
auto_hide=
"false"
internal_type=
"DOCKED"
type=
"DOCKED"
visible=
"false"
show_stripe_button=
"true"
weight=
"0.32980973"
sideWeight=
"0.4978701"
order=
"6"
side_tool=
"false"
content_ui=
"tabs"
/>
<window_info
id=
"TODO"
active=
"false"
anchor=
"bottom"
auto_hide=
"false"
internal_type=
"DOCKED"
type=
"DOCKED"
visible=
"false"
show_stripe_button=
"true"
weight=
"0.32980973"
sideWeight=
"0.4978701"
order=
"6"
side_tool=
"false"
content_ui=
"tabs"
/>
<window_info
id=
"Event Log"
active=
"false"
anchor=
"bottom"
auto_hide=
"false"
internal_type=
"DOCKED"
type=
"DOCKED"
visible=
"false"
show_stripe_button=
"true"
weight=
"0.327818"
sideWeight=
"0.5021299"
order=
"7"
side_tool=
"true"
content_ui=
"tabs"
/>
<window_info
id=
"Event Log"
active=
"false"
anchor=
"bottom"
auto_hide=
"false"
internal_type=
"DOCKED"
type=
"DOCKED"
visible=
"false"
show_stripe_button=
"true"
weight=
"0.327818"
sideWeight=
"0.5021299"
order=
"7"
side_tool=
"true"
content_ui=
"tabs"
/>
<window_info
id=
"Version Control"
active=
"false"
anchor=
"bottom"
auto_hide=
"false"
internal_type=
"DOCKED"
type=
"DOCKED"
visible=
"false"
show_stripe_button=
"true"
weight=
"0.3280757"
sideWeight=
"0.5234139"
order=
"7"
side_tool=
"false"
content_ui=
"tabs"
/>
<window_info
id=
"Version Control"
active=
"false"
anchor=
"bottom"
auto_hide=
"false"
internal_type=
"DOCKED"
type=
"DOCKED"
visible=
"false"
show_stripe_button=
"true"
weight=
"0.3280757"
sideWeight=
"0.5234139"
order=
"7"
side_tool=
"false"
content_ui=
"tabs"
/>
<window_info
id=
"Python Console"
active=
"false"
anchor=
"bottom"
auto_hide=
"false"
internal_type=
"DOCKED"
type=
"DOCKED"
visible=
"false"
show_stripe_button=
"true"
weight=
"0.43023255"
sideWeight=
"0.43610224"
order=
"7"
side_tool=
"true"
content_ui=
"tabs"
/>
<window_info
id=
"Python Console"
active=
"false"
anchor=
"bottom"
auto_hide=
"false"
internal_type=
"DOCKED"
type=
"DOCKED"
visible=
"false"
show_stripe_button=
"true"
weight=
"0.43023255"
sideWeight=
"0.43610224"
order=
"7"
side_tool=
"true"
content_ui=
"tabs"
/>
<window_info
id=
"Run"
active=
"false"
anchor=
"bottom"
auto_hide=
"false"
internal_type=
"DOCKED"
type=
"DOCKED"
visible=
"false"
show_stripe_button=
"true"
weight=
"0.32769555"
sideWeight=
"0.49574015"
order=
"2"
side_tool=
"false"
content_ui=
"tabs"
/>
<window_info
id=
"Run"
active=
"false"
anchor=
"bottom"
auto_hide=
"false"
internal_type=
"DOCKED"
type=
"DOCKED"
visible=
"false"
show_stripe_button=
"true"
weight=
"0.32769555"
sideWeight=
"0.49574015"
order=
"2"
side_tool=
"false"
content_ui=
"tabs"
/>
<window_info
id=
"Terminal"
active=
"false"
anchor=
"bottom"
auto_hide=
"false"
internal_type=
"DOCKED"
type=
"DOCKED"
visible=
"
false"
show_stripe_button=
"true"
weight=
"0.640592"
sideWeight=
"0.4877529
"
order=
"7"
side_tool=
"true"
content_ui=
"tabs"
/>
<window_info
id=
"Terminal"
active=
"false"
anchor=
"bottom"
auto_hide=
"false"
internal_type=
"DOCKED"
type=
"DOCKED"
visible=
"
true"
show_stripe_button=
"true"
weight=
"0.35200846"
sideWeight=
"0.48988286
"
order=
"7"
side_tool=
"true"
content_ui=
"tabs"
/>
<window_info
id=
"Project"
active=
"false"
anchor=
"left"
auto_hide=
"false"
internal_type=
"DOCKED"
type=
"DOCKED"
visible=
"true"
show_stripe_button=
"true"
weight=
"0.
2220447
2"
sideWeight=
"0.5"
order=
"0"
side_tool=
"false"
content_ui=
"combo"
/>
<window_info
id=
"Project"
active=
"false"
anchor=
"left"
auto_hide=
"false"
internal_type=
"DOCKED"
type=
"DOCKED"
visible=
"true"
show_stripe_button=
"true"
weight=
"0.
1107561
2"
sideWeight=
"0.5"
order=
"0"
side_tool=
"false"
content_ui=
"combo"
/>
<window_info
id=
"Docker"
active=
"false"
anchor=
"bottom"
auto_hide=
"false"
internal_type=
"DOCKED"
type=
"DOCKED"
visible=
"false"
show_stripe_button=
"false"
weight=
"0.33"
sideWeight=
"0.5"
order=
"8"
side_tool=
"false"
content_ui=
"tabs"
/>
<window_info
id=
"Docker"
active=
"false"
anchor=
"bottom"
auto_hide=
"false"
internal_type=
"DOCKED"
type=
"DOCKED"
visible=
"false"
show_stripe_button=
"false"
weight=
"0.33"
sideWeight=
"0.5"
order=
"8"
side_tool=
"false"
content_ui=
"tabs"
/>
<window_info
id=
"Database"
active=
"false"
anchor=
"right"
auto_hide=
"false"
internal_type=
"DOCKED"
type=
"DOCKED"
visible=
"false"
show_stripe_button=
"true"
weight=
"0.33"
sideWeight=
"0.5"
order=
"3"
side_tool=
"false"
content_ui=
"tabs"
/>
<window_info
id=
"Database"
active=
"false"
anchor=
"right"
auto_hide=
"false"
internal_type=
"DOCKED"
type=
"DOCKED"
visible=
"false"
show_stripe_button=
"true"
weight=
"0.33"
sideWeight=
"0.5"
order=
"3"
side_tool=
"false"
content_ui=
"tabs"
/>
<window_info
id=
"Find"
active=
"false"
anchor=
"bottom"
auto_hide=
"false"
internal_type=
"DOCKED"
type=
"DOCKED"
visible=
"false"
show_stripe_button=
"true"
weight=
"0.32980973"
sideWeight=
"0.5"
order=
"1"
side_tool=
"false"
content_ui=
"tabs"
/>
<window_info
id=
"SciView"
active=
"false"
anchor=
"right"
auto_hide=
"false"
internal_type=
"DOCKED"
type=
"DOCKED"
visible=
"false"
show_stripe_button=
"true"
weight=
"0.33"
sideWeight=
"0.5"
order=
"3"
side_tool=
"false"
content_ui=
"tabs"
/>
<window_info
id=
"SciView"
active=
"false"
anchor=
"right"
auto_hide=
"false"
internal_type=
"DOCKED"
type=
"DOCKED"
visible=
"false"
show_stripe_button=
"true"
weight=
"0.33"
sideWeight=
"0.5"
order=
"3"
side_tool=
"false"
content_ui=
"tabs"
/>
<window_info
id=
"Structure"
active=
"false"
anchor=
"left"
auto_hide=
"false"
internal_type=
"DOCKED"
type=
"DOCKED"
visible=
"false"
show_stripe_button=
"true"
weight=
"0.25"
sideWeight=
"0.5"
order=
"1"
side_tool=
"false"
content_ui=
"tabs"
/>
<window_info
id=
"Structure"
active=
"false"
anchor=
"left"
auto_hide=
"false"
internal_type=
"DOCKED"
type=
"DOCKED"
visible=
"false"
show_stripe_button=
"true"
weight=
"0.25"
sideWeight=
"0.5"
order=
"1"
side_tool=
"false"
content_ui=
"tabs"
/>
<window_info
id=
"Favorites"
active=
"false"
anchor=
"left"
auto_hide=
"false"
internal_type=
"DOCKED"
type=
"DOCKED"
visible=
"false"
show_stripe_button=
"true"
weight=
"0.33"
sideWeight=
"0.5"
order=
"2"
side_tool=
"true"
content_ui=
"tabs"
/>
<window_info
id=
"Favorites"
active=
"false"
anchor=
"left"
auto_hide=
"false"
internal_type=
"DOCKED"
type=
"DOCKED"
visible=
"false"
show_stripe_button=
"true"
weight=
"0.33"
sideWeight=
"0.5"
order=
"2"
side_tool=
"true"
content_ui=
"tabs"
/>
<window_info
id=
"Debug"
active=
"
false"
anchor=
"bottom"
auto_hide=
"false"
internal_type=
"DOCKED"
type=
"DOCKED"
visible=
"false"
show_stripe_button=
"true"
weight=
"0.640592"
sideWeight=
"0.5122471
"
order=
"3"
side_tool=
"false"
content_ui=
"tabs"
/>
<window_info
id=
"Debug"
active=
"
true"
anchor=
"bottom"
auto_hide=
"false"
internal_type=
"DOCKED"
type=
"DOCKED"
visible=
"true"
show_stripe_button=
"true"
weight=
"0.35200846"
sideWeight=
"0.5101172
"
order=
"3"
side_tool=
"false"
content_ui=
"tabs"
/>
<window_info
id=
"Cvs"
active=
"false"
anchor=
"bottom"
auto_hide=
"false"
internal_type=
"DOCKED"
type=
"DOCKED"
visible=
"false"
show_stripe_button=
"true"
weight=
"0.25"
sideWeight=
"0.5"
order=
"4"
side_tool=
"false"
content_ui=
"tabs"
/>
<window_info
id=
"Cvs"
active=
"false"
anchor=
"bottom"
auto_hide=
"false"
internal_type=
"DOCKED"
type=
"DOCKED"
visible=
"false"
show_stripe_button=
"true"
weight=
"0.25"
sideWeight=
"0.5"
order=
"4"
side_tool=
"false"
content_ui=
"tabs"
/>
<window_info
id=
"TODO"
active=
"false"
anchor=
"bottom"
auto_hide=
"false"
internal_type=
"DOCKED"
type=
"DOCKED"
visible=
"false"
show_stripe_button=
"true"
weight=
"0.32980973"
sideWeight=
"0.4978701"
order=
"6"
side_tool=
"false"
content_ui=
"tabs"
/>
<window_info
id=
"Messages"
active=
"false"
anchor=
"bottom"
auto_hide=
"false"
internal_type=
"DOCKED"
type=
"DOCKED"
visible=
"false"
show_stripe_button=
"true"
weight=
"0.33"
sideWeight=
"0.5"
order=
"7"
side_tool=
"false"
content_ui=
"tabs"
/>
<window_info
id=
"Messages"
active=
"false"
anchor=
"bottom"
auto_hide=
"false"
internal_type=
"DOCKED"
type=
"DOCKED"
visible=
"false"
show_stripe_button=
"true"
weight=
"0.33"
sideWeight=
"0.5"
order=
"7"
side_tool=
"false"
content_ui=
"tabs"
/>
<window_info
id=
"Message"
active=
"false"
anchor=
"bottom"
auto_hide=
"false"
internal_type=
"DOCKED"
type=
"DOCKED"
visible=
"false"
show_stripe_button=
"true"
weight=
"0.33"
sideWeight=
"0.5"
order=
"0"
side_tool=
"false"
content_ui=
"tabs"
/>
<window_info
id=
"Message"
active=
"false"
anchor=
"bottom"
auto_hide=
"false"
internal_type=
"DOCKED"
type=
"DOCKED"
visible=
"false"
show_stripe_button=
"true"
weight=
"0.33"
sideWeight=
"0.5"
order=
"0"
side_tool=
"false"
content_ui=
"tabs"
/>
<window_info
id=
"Commander"
active=
"false"
anchor=
"right"
auto_hide=
"false"
internal_type=
"DOCKED"
type=
"DOCKED"
visible=
"false"
show_stripe_button=
"true"
weight=
"0.4"
sideWeight=
"0.5"
order=
"0"
side_tool=
"false"
content_ui=
"tabs"
/>
<window_info
id=
"Commander"
active=
"false"
anchor=
"right"
auto_hide=
"false"
internal_type=
"DOCKED"
type=
"DOCKED"
visible=
"false"
show_stripe_button=
"true"
weight=
"0.4"
sideWeight=
"0.5"
order=
"0"
side_tool=
"false"
content_ui=
"tabs"
/>
<window_info
id=
"Inspection"
active=
"false"
anchor=
"bottom"
auto_hide=
"false"
internal_type=
"DOCKED"
type=
"DOCKED"
visible=
"false"
show_stripe_button=
"true"
weight=
"0.4"
sideWeight=
"0.5"
order=
"5"
side_tool=
"false"
content_ui=
"tabs"
/>
<window_info
id=
"Inspection"
active=
"false"
anchor=
"bottom"
auto_hide=
"false"
internal_type=
"DOCKED"
type=
"DOCKED"
visible=
"false"
show_stripe_button=
"true"
weight=
"0.4"
sideWeight=
"0.5"
order=
"5"
side_tool=
"false"
content_ui=
"tabs"
/>
<window_info
id=
"Coverage"
active=
"false"
anchor=
"right"
auto_hide=
"false"
internal_type=
"DOCKED"
type=
"DOCKED"
visible=
"false"
show_stripe_button=
"true"
weight=
"0.33"
sideWeight=
"0.5"
order=
"3"
side_tool=
"true"
content_ui=
"tabs"
/>
<window_info
id=
"Coverage"
active=
"false"
anchor=
"right"
auto_hide=
"false"
internal_type=
"DOCKED"
type=
"DOCKED"
visible=
"false"
show_stripe_button=
"true"
weight=
"0.33"
sideWeight=
"0.5"
order=
"3"
side_tool=
"true"
content_ui=
"tabs"
/>
<window_info
id=
"Hierarchy"
active=
"false"
anchor=
"right"
auto_hide=
"false"
internal_type=
"DOCKED"
type=
"DOCKED"
visible=
"false"
show_stripe_button=
"true"
weight=
"0.25"
sideWeight=
"0.5"
order=
"2"
side_tool=
"false"
content_ui=
"combo"
/>
<window_info
id=
"Hierarchy"
active=
"false"
anchor=
"right"
auto_hide=
"false"
internal_type=
"DOCKED"
type=
"DOCKED"
visible=
"false"
show_stripe_button=
"true"
weight=
"0.25"
sideWeight=
"0.5"
order=
"2"
side_tool=
"false"
content_ui=
"combo"
/>
<window_info
id=
"Find"
active=
"false"
anchor=
"bottom"
auto_hide=
"false"
internal_type=
"DOCKED"
type=
"DOCKED"
visible=
"false"
show_stripe_button=
"true"
weight=
"0.32980973"
sideWeight=
"0.5"
order=
"1"
side_tool=
"false"
content_ui=
"tabs"
/>
<window_info
id=
"Ant Build"
active=
"false"
anchor=
"right"
auto_hide=
"false"
internal_type=
"DOCKED"
type=
"DOCKED"
visible=
"false"
show_stripe_button=
"true"
weight=
"0.25"
sideWeight=
"0.5"
order=
"1"
side_tool=
"false"
content_ui=
"tabs"
/>
<window_info
id=
"Ant Build"
active=
"false"
anchor=
"right"
auto_hide=
"false"
internal_type=
"DOCKED"
type=
"DOCKED"
visible=
"false"
show_stripe_button=
"true"
weight=
"0.25"
sideWeight=
"0.5"
order=
"1"
side_tool=
"false"
content_ui=
"tabs"
/>
</layout>
</layout>
<layout-to-restore>
<layout-to-restore>
...
@@ -456,6 +507,11 @@
...
@@ -456,6 +507,11 @@
<line>
82
</line>
<line>
82
</line>
<option
name=
"timeStamp"
value=
"13"
/>
<option
name=
"timeStamp"
value=
"13"
/>
</line-breakpoint>
</line-breakpoint>
<line-breakpoint
enabled=
"true"
suspend=
"THREAD"
type=
"python-line"
>
<url>
file://$PROJECT_DIR$/circle/network/views.py
</url>
<line>
1004
</line>
<option
name=
"timeStamp"
value=
"180"
/>
</line-breakpoint>
</breakpoints>
</breakpoints>
<breakpoints-dialog>
<breakpoints-dialog>
<breakpoints-dialog
/>
<breakpoints-dialog
/>
...
@@ -467,7 +523,7 @@
...
@@ -467,7 +523,7 @@
</properties>
</properties>
</breakpoint>
</breakpoint>
</default-breakpoints>
</default-breakpoints>
<option
name=
"time"
value=
"1
75
"
/>
<option
name=
"time"
value=
"1
82
"
/>
</breakpoint-manager>
</breakpoint-manager>
<watches-manager
/>
<watches-manager
/>
</component>
</component>
...
@@ -500,115 +556,53 @@
...
@@ -500,115 +556,53 @@
</expressions>
</expressions>
<expressions
id=
"evaluateExpression"
>
<expressions
id=
"evaluateExpression"
>
<expression>
<expression>
<expression-string>
self._get_networks(request
)
</expression-string>
<expression-string>
openstack_api.neutron.subnet_create(self.request, network_created.id, ip_version=4, cidr=
""
)
</expression-string>
<language-id>
Python
</language-id>
<language-id>
Python
</language-id>
<evaluation-mode>
EXPRESSION
</evaluation-mode>
<evaluation-mode>
EXPRESSION
</evaluation-mode>
</expression>
</expression>
<expression>
<expression>
<expression-string>
self._get_servers(request
)
</expression-string>
<expression-string>
openstack_api.neutron.subnet_create(self.request, network_created.id, ip_version=4, cidr=
"
0.0.0.0/0
"
)
</expression-string>
<language-id>
Python
</language-id>
<language-id>
Python
</language-id>
<evaluation-mode>
EXPRESSION
</evaluation-mode>
<evaluation-mode>
EXPRESSION
</evaluation-mode>
</expression>
</expression>
<expression>
<expression>
<expression-string>
{% javascript
"
horizon.networktopology
"
%}
</expression-string>
<expression-string>
openstack_api.neutron.subnet_create(self.request, network_created.id, ip_version=4, cidr=
"
0.0.0.0/64
"
)
</expression-string>
<language-id>
HTML
</language-id>
<language-id>
Python
</language-id>
<evaluation-mode>
EXPRESSION
</evaluation-mode>
<evaluation-mode>
EXPRESSION
</evaluation-mode>
</expression>
</expression>
<expression>
<expression>
<expression-string>
openstack_api.nova.server_vnc_console(self.request, instance.os_server_id)
</expression-string>
<expression-string>
self.object
</expression-string>
<language-id>
Python
</language-id>
<language-id>
Python
</language-id>
<evaluation-mode>
EXPRESSION
</evaluation-mode>
<evaluation-mode>
EXPRESSION
</evaluation-mode>
</expression>
</expression>
<expression>
<expression>
<expression-string>
openstack_api.nova.server_vnc_console(self.request)
</expression-string>
<expression-string>
self.object.
</expression-string>
<language-id>
Python
</language-id>
<language-id>
Python
</language-id>
<evaluation-mode>
EXPRESSION
</evaluation-mode>
<evaluation-mode>
EXPRESSION
</evaluation-mode>
</expression>
</expression>
<expression>
<expression>
<expression-string>
instance
</expression-string>
<expression-string>
form
</expression-string>
<language-id>
Python
</language-id>
<language-id>
Python
</language-id>
<evaluation-mode>
EXPRESSION
</evaluation-mode>
<evaluation-mode>
EXPRESSION
</evaluation-mode>
</expression>
</expression>
<expression>
<expression>
<expression-string>
form.cleaned_data
</expression-string>
<expression-string>
self.object.name
</expression-string>
<language-id>
Python
</language-id>
<language-id>
Python
</language-id>
<evaluation-mode>
EXPRESSION
</evaluation-mode>
<evaluation-mode>
EXPRESSION
</evaluation-mode>
</expression>
</expression>
<expression>
<expression>
<expression-string>
form['name']
</expression-string>
<expression-string>
self._get_networks(request)
</expression-string>
<language-id>
Python
</language-id>
<language-id>
Python
</language-id>
<evaluation-mode>
EXPRESSION
</evaluation-mode>
<evaluation-mode>
EXPRESSION
</evaluation-mode>
</expression>
</expression>
<expression>
<expression>
<expression-string>
form.name
</expression-string>
<expression-string>
self._get_servers(request)
</expression-string>
<language-id>
Python
</language-id>
<language-id>
Python
</language-id>
<evaluation-mode>
EXPRESSION
</evaluation-mode>
<evaluation-mode>
EXPRESSION
</evaluation-mode>
</expression>
</expression>
</expressions>
</expressions>
</component>
</component>
<component
name=
"editorHistoryManager"
>
<component
name=
"editorHistoryManager"
>
<entry
file=
"file://$USER_HOME$/.virtualenvs/cloud/local/lib/python2.7/site-packages/django/views/generic/edit.py"
>
<provider
selected=
"true"
editor-type-id=
"text-editor"
>
<state
relative-caret-position=
"202"
>
<caret
line=
"198"
column=
"6"
lean-forward=
"false"
selection-start-line=
"198"
selection-start-column=
"6"
selection-end-line=
"198"
selection-end-column=
"6"
/>
<folding
/>
</state>
</provider>
</entry>
<entry
file=
"file://$PROJECT_DIR$/circle/network/templates/network/rule-create.html"
>
<provider
selected=
"true"
editor-type-id=
"text-editor"
>
<state
relative-caret-position=
"0"
>
<caret
line=
"0"
column=
"0"
lean-forward=
"false"
selection-start-line=
"0"
selection-start-column=
"0"
selection-end-line=
"0"
selection-end-column=
"0"
/>
<folding
/>
</state>
</provider>
</entry>
<entry
file=
"file://$PROJECT_DIR$/circle/dashboard/forms.py"
>
<provider
selected=
"true"
editor-type-id=
"text-editor"
>
<state
relative-caret-position=
"212"
>
<caret
line=
"1702"
column=
"27"
lean-forward=
"false"
selection-start-line=
"1702"
selection-start-column=
"27"
selection-end-line=
"1702"
selection-end-column=
"27"
/>
</state>
</provider>
</entry>
<entry
file=
"file://$PROJECT_DIR$/circle/network/templates/network/vxlan-edit.html"
>
<provider
selected=
"true"
editor-type-id=
"text-editor"
>
<state
relative-caret-position=
"272"
>
<caret
line=
"16"
column=
"24"
lean-forward=
"true"
selection-start-line=
"16"
selection-start-column=
"24"
selection-end-line=
"16"
selection-end-column=
"24"
/>
<folding
/>
</state>
</provider>
</entry>
<entry
file=
"file://$PROJECT_DIR$/circle/dashboard/templates/dashboard/vm-plain-image-create.html"
>
<provider
selected=
"true"
editor-type-id=
"text-editor"
>
<state
relative-caret-position=
"119"
>
<caret
line=
"7"
column=
"2"
lean-forward=
"false"
selection-start-line=
"7"
selection-start-column=
"2"
selection-end-line=
"16"
selection-end-column=
"9"
/>
<folding
/>
</state>
</provider>
</entry>
<entry
file=
"file://$PROJECT_DIR$/circle/openstack_api/nova.py"
>
<provider
selected=
"true"
editor-type-id=
"text-editor"
>
<state
relative-caret-position=
"202"
>
<caret
line=
"70"
column=
"6"
lean-forward=
"false"
selection-start-line=
"70"
selection-start-column=
"6"
selection-end-line=
"70"
selection-end-column=
"6"
/>
<folding
/>
</state>
</provider>
</entry>
<entry
file=
"file://$PROJECT_DIR$/circle/dashboard/views/index.py"
>
<provider
selected=
"true"
editor-type-id=
"text-editor"
>
<state
relative-caret-position=
"95"
>
<caret
line=
"129"
column=
"0"
lean-forward=
"true"
selection-start-line=
"129"
selection-start-column=
"0"
selection-end-line=
"129"
selection-end-column=
"0"
/>
<folding
/>
</state>
</provider>
</entry>
<entry
file=
"file://$PROJECT_DIR$/circle/dashboard/templates/dashboard/vm-detail/console.html"
>
<provider
selected=
"true"
editor-type-id=
"text-editor"
>
<state
relative-caret-position=
"374"
>
<caret
line=
"43"
column=
"65"
lean-forward=
"false"
selection-start-line=
"43"
selection-start-column=
"65"
selection-end-line=
"43"
selection-end-column=
"65"
/>
</state>
</provider>
</entry>
<entry
file=
"file://$PROJECT_DIR$/circle/circle/settings/local.py"
>
<entry
file=
"file://$PROJECT_DIR$/circle/circle/settings/local.py"
>
<provider
selected=
"true"
editor-type-id=
"text-editor"
>
<provider
selected=
"true"
editor-type-id=
"text-editor"
>
<state
relative-caret-position=
"202"
>
<state
relative-caret-position=
"202"
>
...
@@ -621,7 +615,6 @@
...
@@ -621,7 +615,6 @@
<provider
selected=
"true"
editor-type-id=
"text-editor"
>
<provider
selected=
"true"
editor-type-id=
"text-editor"
>
<state
relative-caret-position=
"251"
>
<state
relative-caret-position=
"251"
>
<caret
line=
"147"
column=
"30"
lean-forward=
"false"
selection-start-line=
"147"
selection-start-column=
"30"
selection-end-line=
"147"
selection-end-column=
"30"
/>
<caret
line=
"147"
column=
"30"
lean-forward=
"false"
selection-start-line=
"147"
selection-start-column=
"30"
selection-end-line=
"147"
selection-end-column=
"30"
/>
<folding
/>
</state>
</state>
</provider>
</provider>
</entry>
</entry>
...
@@ -751,14 +744,6 @@
...
@@ -751,14 +744,6 @@
</state>
</state>
</provider>
</provider>
</entry>
</entry>
<entry
file=
"file://$PROJECT_DIR$/circle/openstack_api/neutron.py"
>
<provider
selected=
"true"
editor-type-id=
"text-editor"
>
<state
relative-caret-position=
"255"
>
<caret
line=
"1100"
column=
"23"
lean-forward=
"false"
selection-start-line=
"1100"
selection-start-column=
"23"
selection-end-line=
"1100"
selection-end-column=
"23"
/>
<folding
/>
</state>
</provider>
</entry>
<entry
file=
"file://$PROJECT_DIR$/circle/network/templates/network/horizon/client_side/_loading_modal.html"
>
<entry
file=
"file://$PROJECT_DIR$/circle/network/templates/network/horizon/client_side/_loading_modal.html"
>
<provider
selected=
"true"
editor-type-id=
"text-editor"
>
<provider
selected=
"true"
editor-type-id=
"text-editor"
>
<state
relative-caret-position=
"289"
>
<state
relative-caret-position=
"289"
>
...
@@ -805,7 +790,6 @@
...
@@ -805,7 +790,6 @@
<provider
selected=
"true"
editor-type-id=
"text-editor"
>
<provider
selected=
"true"
editor-type-id=
"text-editor"
>
<state
relative-caret-position=
"420"
>
<state
relative-caret-position=
"420"
>
<caret
line=
"130"
column=
"79"
lean-forward=
"true"
selection-start-line=
"130"
selection-start-column=
"79"
selection-end-line=
"130"
selection-end-column=
"79"
/>
<caret
line=
"130"
column=
"79"
lean-forward=
"true"
selection-start-line=
"130"
selection-start-column=
"79"
selection-end-line=
"130"
selection-end-column=
"79"
/>
<folding
/>
</state>
</state>
</provider>
</provider>
</entry>
</entry>
...
@@ -820,7 +804,6 @@
...
@@ -820,7 +804,6 @@
<provider
selected=
"true"
editor-type-id=
"text-editor"
>
<provider
selected=
"true"
editor-type-id=
"text-editor"
>
<state
relative-caret-position=
"0"
>
<state
relative-caret-position=
"0"
>
<caret
line=
"0"
column=
"22"
lean-forward=
"false"
selection-start-line=
"0"
selection-start-column=
"22"
selection-end-line=
"0"
selection-end-column=
"22"
/>
<caret
line=
"0"
column=
"22"
lean-forward=
"false"
selection-start-line=
"0"
selection-start-column=
"22"
selection-end-line=
"0"
selection-end-column=
"22"
/>
<folding
/>
</state>
</state>
</provider>
</provider>
</entry>
</entry>
...
@@ -828,17 +811,6 @@
...
@@ -828,17 +811,6 @@
<provider
selected=
"true"
editor-type-id=
"text-editor"
>
<provider
selected=
"true"
editor-type-id=
"text-editor"
>
<state
relative-caret-position=
"0"
>
<state
relative-caret-position=
"0"
>
<caret
line=
"0"
column=
"0"
lean-forward=
"false"
selection-start-line=
"0"
selection-start-column=
"0"
selection-end-line=
"0"
selection-end-column=
"0"
/>
<caret
line=
"0"
column=
"0"
lean-forward=
"false"
selection-start-line=
"0"
selection-start-column=
"0"
selection-end-line=
"0"
selection-end-column=
"0"
/>
<folding
/>
</state>
</provider>
</entry>
<entry
file=
"file://$PROJECT_DIR$/circle/dashboard/views/vm.py"
>
<provider
selected=
"true"
editor-type-id=
"text-editor"
>
<state
relative-caret-position=
"161"
>
<caret
line=
"112"
column=
"17"
lean-forward=
"false"
selection-start-line=
"112"
selection-start-column=
"17"
selection-end-line=
"112"
selection-end-column=
"17"
/>
<folding>
<element
signature=
"e#40144#41315#0"
expanded=
"false"
/>
</folding>
</state>
</state>
</provider>
</provider>
</entry>
</entry>
...
@@ -846,9 +818,6 @@
...
@@ -846,9 +818,6 @@
<provider
selected=
"true"
editor-type-id=
"text-editor"
>
<provider
selected=
"true"
editor-type-id=
"text-editor"
>
<state
relative-caret-position=
"354"
>
<state
relative-caret-position=
"354"
>
<caret
line=
"79"
column=
"32"
lean-forward=
"false"
selection-start-line=
"79"
selection-start-column=
"32"
selection-end-line=
"79"
selection-end-column=
"32"
/>
<caret
line=
"79"
column=
"32"
lean-forward=
"false"
selection-start-line=
"79"
selection-start-column=
"32"
selection-end-line=
"79"
selection-end-column=
"32"
/>
<folding>
<element
signature=
"e#731#787#0"
expanded=
"false"
/>
</folding>
</state>
</state>
</provider>
</provider>
</entry>
</entry>
...
@@ -856,7 +825,6 @@
...
@@ -856,7 +825,6 @@
<provider
selected=
"true"
editor-type-id=
"text-editor"
>
<provider
selected=
"true"
editor-type-id=
"text-editor"
>
<state
relative-caret-position=
"301"
>
<state
relative-caret-position=
"301"
>
<caret
line=
"138"
column=
"10"
lean-forward=
"false"
selection-start-line=
"138"
selection-start-column=
"10"
selection-end-line=
"138"
selection-end-column=
"10"
/>
<caret
line=
"138"
column=
"10"
lean-forward=
"false"
selection-start-line=
"138"
selection-start-column=
"10"
selection-end-line=
"138"
selection-end-column=
"10"
/>
<folding
/>
</state>
</state>
</provider>
</provider>
</entry>
</entry>
...
@@ -864,7 +832,6 @@
...
@@ -864,7 +832,6 @@
<provider
selected=
"true"
editor-type-id=
"text-editor"
>
<provider
selected=
"true"
editor-type-id=
"text-editor"
>
<state
relative-caret-position=
"476"
>
<state
relative-caret-position=
"476"
>
<caret
line=
"28"
column=
"20"
lean-forward=
"true"
selection-start-line=
"28"
selection-start-column=
"20"
selection-end-line=
"28"
selection-end-column=
"20"
/>
<caret
line=
"28"
column=
"20"
lean-forward=
"true"
selection-start-line=
"28"
selection-start-column=
"20"
selection-end-line=
"28"
selection-end-column=
"20"
/>
<folding
/>
</state>
</state>
</provider>
</provider>
</entry>
</entry>
...
@@ -872,7 +839,6 @@
...
@@ -872,7 +839,6 @@
<provider
selected=
"true"
editor-type-id=
"text-editor"
>
<provider
selected=
"true"
editor-type-id=
"text-editor"
>
<state
relative-caret-position=
"170"
>
<state
relative-caret-position=
"170"
>
<caret
line=
"84"
column=
"13"
lean-forward=
"false"
selection-start-line=
"84"
selection-start-column=
"13"
selection-end-line=
"84"
selection-end-column=
"65"
/>
<caret
line=
"84"
column=
"13"
lean-forward=
"false"
selection-start-line=
"84"
selection-start-column=
"13"
selection-end-line=
"84"
selection-end-column=
"65"
/>
<folding
/>
</state>
</state>
</provider>
</provider>
</entry>
</entry>
...
@@ -880,7 +846,6 @@
...
@@ -880,7 +846,6 @@
<provider
selected=
"true"
editor-type-id=
"text-editor"
>
<provider
selected=
"true"
editor-type-id=
"text-editor"
>
<state
relative-caret-position=
"0"
>
<state
relative-caret-position=
"0"
>
<caret
line=
"0"
column=
"18"
lean-forward=
"false"
selection-start-line=
"0"
selection-start-column=
"18"
selection-end-line=
"0"
selection-end-column=
"18"
/>
<caret
line=
"0"
column=
"18"
lean-forward=
"false"
selection-start-line=
"0"
selection-start-column=
"18"
selection-end-line=
"0"
selection-end-column=
"18"
/>
<folding
/>
</state>
</state>
</provider>
</provider>
</entry>
</entry>
...
@@ -888,51 +853,130 @@
...
@@ -888,51 +853,130 @@
<provider
selected=
"true"
editor-type-id=
"text-editor"
>
<provider
selected=
"true"
editor-type-id=
"text-editor"
>
<state
relative-caret-position=
"0"
>
<state
relative-caret-position=
"0"
>
<caret
line=
"0"
column=
"0"
lean-forward=
"false"
selection-start-line=
"0"
selection-start-column=
"0"
selection-end-line=
"0"
selection-end-column=
"0"
/>
<caret
line=
"0"
column=
"0"
lean-forward=
"false"
selection-start-line=
"0"
selection-start-column=
"0"
selection-end-line=
"0"
selection-end-column=
"0"
/>
<folding
/>
</state>
</provider>
</entry>
<entry
file=
"file://$PROJECT_DIR$/circle/dashboard/templates/base.html"
>
<provider
selected=
"true"
editor-type-id=
"text-editor"
>
<state
relative-caret-position=
"272"
>
<caret
line=
"16"
column=
"20"
lean-forward=
"false"
selection-start-line=
"16"
selection-start-column=
"20"
selection-end-line=
"16"
selection-end-column=
"20"
/>
</state>
</state>
</provider>
</provider>
</entry>
</entry>
<entry
file=
"file://$PROJECT_DIR$/circle/circle/settings/base.py"
>
<entry
file=
"file://$PROJECT_DIR$/circle/circle/settings/base.py"
>
<provider
selected=
"true"
editor-type-id=
"text-editor"
>
<provider
selected=
"true"
editor-type-id=
"text-editor"
>
<state
relative-caret-position=
"
369
"
>
<state
relative-caret-position=
"
777
"
>
<caret
line=
"
186"
column=
"35"
lean-forward=
"true"
selection-start-line=
"186"
selection-start-column=
"35"
selection-end-line=
"186
"
selection-end-column=
"35"
/>
<caret
line=
"
272"
column=
"35"
lean-forward=
"false"
selection-start-line=
"272"
selection-start-column=
"35"
selection-end-line=
"272
"
selection-end-column=
"35"
/>
<folding
/>
<folding
/>
</state>
</state>
</provider>
</provider>
</entry>
</entry>
<entry
file=
"file://$PROJECT_DIR$/circle/
dashboard/templates/base
.html"
>
<entry
file=
"file://$PROJECT_DIR$/circle/
network/templates/network/vxlan-edit
.html"
>
<provider
selected=
"true"
editor-type-id=
"text-editor"
>
<provider
selected=
"true"
editor-type-id=
"text-editor"
>
<state
relative-caret-position=
"272"
>
<state
relative-caret-position=
"204"
>
<caret
line=
"16"
column=
"20"
lean-forward=
"false"
selection-start-line=
"16"
selection-start-column=
"20"
selection-end-line=
"16"
selection-end-column=
"20"
/>
<caret
line=
"12"
column=
"0"
lean-forward=
"false"
selection-start-line=
"12"
selection-start-column=
"0"
selection-end-line=
"12"
selection-end-column=
"0"
/>
<folding>
<element
signature=
"e#422#429#1#HTML"
expanded=
"true"
/>
</folding>
</state>
</provider>
</entry>
<entry
file=
"file://$PROJECT_DIR$/circle/network/forms.py"
>
<provider
selected=
"true"
editor-type-id=
"text-editor"
>
<state
relative-caret-position=
"6273"
>
<caret
line=
"383"
column=
"57"
lean-forward=
"false"
selection-start-line=
"383"
selection-start-column=
"57"
selection-end-line=
"383"
selection-end-column=
"57"
/>
<folding
/>
<folding
/>
</state>
</state>
</provider>
</provider>
</entry>
</entry>
<entry
file=
"file://$PROJECT_DIR$/circle/network/templates/network/vxlan-create.html"
>
<entry
file=
"file://$PROJECT_DIR$/circle/network/templates/network/vxlan-create.html"
>
<provider
selected=
"true"
editor-type-id=
"text-editor"
>
<provider
selected=
"true"
editor-type-id=
"text-editor"
>
<state
relative-caret-position=
"233"
>
<state
relative-caret-position=
"782"
>
<caret
line=
"16"
column=
"24"
lean-forward=
"true"
selection-start-line=
"16"
selection-start-column=
"24"
selection-end-line=
"16"
selection-end-column=
"24"
/>
<caret
line=
"46"
column=
"26"
lean-forward=
"false"
selection-start-line=
"46"
selection-start-column=
"10"
selection-end-line=
"46"
selection-end-column=
"26"
/>
<folding
/>
</state>
</provider>
</entry>
<entry
file=
"file://$PROJECT_DIR$/circle/openstack_api/neutron.py"
>
<provider
selected=
"true"
editor-type-id=
"text-editor"
>
<state
relative-caret-position=
"207"
>
<caret
line=
"646"
column=
"64"
lean-forward=
"false"
selection-start-line=
"646"
selection-start-column=
"57"
selection-end-line=
"646"
selection-end-column=
"64"
/>
</state>
</provider>
</entry>
<entry
file=
"file://$USER_HOME$/.virtualenvs/cloud/local/lib/python2.7/site-packages/novaclient/client.py"
>
<provider
selected=
"true"
editor-type-id=
"text-editor"
>
<state
relative-caret-position=
"274"
>
<caret
line=
"321"
column=
"21"
lean-forward=
"false"
selection-start-line=
"321"
selection-start-column=
"21"
selection-end-line=
"321"
selection-end-column=
"21"
/>
</state>
</provider>
</entry>
<entry
file=
"file://$PROJECT_DIR$/circle/vm/models/activity.py"
>
<provider
selected=
"true"
editor-type-id=
"text-editor"
>
<state
relative-caret-position=
"195"
>
<caret
line=
"43"
column=
"8"
lean-forward=
"false"
selection-start-line=
"43"
selection-start-column=
"8"
selection-end-line=
"43"
selection-end-column=
"8"
/>
<folding
/>
</state>
</provider>
</entry>
<entry
file=
"file://$USER_HOME$/.virtualenvs/cloud/lib/python2.7/site-packages/novaclient/v2/servers.py"
>
<provider
selected=
"true"
editor-type-id=
"text-editor"
>
<state
relative-caret-position=
"22168"
>
<caret
line=
"1314"
column=
"38"
lean-forward=
"false"
selection-start-line=
"1314"
selection-start-column=
"38"
selection-end-line=
"1314"
selection-end-column=
"38"
/>
<folding
/>
</state>
</provider>
</entry>
<entry
file=
"file://$USER_HOME$/.virtualenvs/cloud/local/lib/python2.7/site-packages/novaclient/v2/servers.py"
>
<provider
selected=
"true"
editor-type-id=
"text-editor"
>
<state
relative-caret-position=
"20791"
>
<caret
line=
"1233"
column=
"41"
lean-forward=
"false"
selection-start-line=
"1233"
selection-start-column=
"41"
selection-end-line=
"1233"
selection-end-column=
"41"
/>
<folding
/>
<folding
/>
</state>
</state>
</provider>
</provider>
</entry>
</entry>
<entry
file=
"file://$PROJECT_DIR$/circle/network/views.py"
>
<entry
file=
"file://$PROJECT_DIR$/circle/network/views.py"
>
<provider
selected=
"true"
editor-type-id=
"text-editor"
>
<provider
selected=
"true"
editor-type-id=
"text-editor"
>
<state
relative-caret-position=
"
561
"
>
<state
relative-caret-position=
"
16150
"
>
<caret
line=
"
1014"
column=
"42"
lean-forward=
"true"
selection-start-line=
"1014"
selection-start-column=
"42"
selection-end-line=
"1014"
selection-end-column=
"42
"
/>
<caret
line=
"
992"
column=
"30"
lean-forward=
"false"
selection-start-line=
"992"
selection-start-column=
"30"
selection-end-line=
"992"
selection-end-column=
"30
"
/>
<folding>
<folding>
<element
signature=
"e#732#743#0"
expanded=
"true"
/>
<element
signature=
"e#732#743#0"
expanded=
"true"
/>
</folding>
</folding>
</state>
</state>
</provider>
</provider>
</entry>
</entry>
<entry
file=
"file://$PROJECT_DIR$/circle/network/forms.py"
>
<entry
file=
"file://$PROJECT_DIR$/circle/circle/wsgi.py"
>
<provider
selected=
"true"
editor-type-id=
"text-editor"
>
<state
relative-caret-position=
"376"
>
<caret
line=
"59"
column=
"0"
lean-forward=
"false"
selection-start-line=
"59"
selection-start-column=
"0"
selection-end-line=
"59"
selection-end-column=
"0"
/>
</state>
</provider>
</entry>
<entry
file=
"file://$USER_HOME$/.virtualenvs/cloud/local/lib/python2.7/site-packages/django/views/generic/base.py"
>
<provider
selected=
"true"
editor-type-id=
"text-editor"
>
<provider
selected=
"true"
editor-type-id=
"text-editor"
>
<state
relative-caret-position=
"
743
"
>
<state
relative-caret-position=
"
1309
"
>
<caret
line=
"
382"
column=
"53"
lean-forward=
"false"
selection-start-line=
"382"
selection-start-column=
"53"
selection-end-line=
"382"
selection-end-column=
"53
"
/>
<caret
line=
"
87"
column=
"0"
lean-forward=
"false"
selection-start-line=
"87"
selection-start-column=
"0"
selection-end-line=
"87"
selection-end-column=
"0
"
/>
<folding
/>
<folding
/>
</state>
</state>
</provider>
</provider>
</entry>
</entry>
<entry
file=
"file://$PROJECT_DIR$/circle/openstack_api/nova.py"
>
<provider
selected=
"true"
editor-type-id=
"text-editor"
>
<state
relative-caret-position=
"8432"
>
<caret
line=
"517"
column=
"72"
lean-forward=
"false"
selection-start-line=
"517"
selection-start-column=
"72"
selection-end-line=
"517"
selection-end-column=
"72"
/>
<folding
/>
</state>
</provider>
</entry>
<entry
file=
"file://$PROJECT_DIR$/circle/dashboard/views/vm.py"
>
<provider
selected=
"true"
editor-type-id=
"text-editor"
>
<state
relative-caret-position=
"433"
>
<caret
line=
"1026"
column=
"66"
lean-forward=
"false"
selection-start-line=
"1026"
selection-start-column=
"66"
selection-end-line=
"1026"
selection-end-column=
"66"
/>
<folding>
<element
signature=
"e#40463#41634#0"
expanded=
"false"
/>
</folding>
</state>
</provider>
</entry>
</component>
</component>
</project>
</project>
\ No newline at end of file
circle/circle/db.sqlite3
View file @
1e204ec1
No preview for this file type
circle/circle/settings/base.py
View file @
1e204ec1
...
@@ -267,10 +267,10 @@ PIPELINE = {
...
@@ -267,10 +267,10 @@ PIPELINE = {
),
),
"output_filename"
:
"editor.js"
,
"output_filename"
:
"editor.js"
,
},
},
"
new-network
"
:
{
"source_filenames"
:
(
"
vue
"
:
{
"source_filenames"
:
(
"vue/dist/vue.js"
,
"vue/dist/vue.js"
,
),
),
"output_filename"
:
"
new-network
.js"
,
"output_filename"
:
"
vue
.js"
,
},
},
},
},
}
}
...
...
circle/dashboard/views/vm.py
View file @
1e204ec1
...
@@ -1022,11 +1022,17 @@ class VmPlainImageCreate(LoginRequiredMixin, TemplateView):
...
@@ -1022,11 +1022,17 @@ class VmPlainImageCreate(LoginRequiredMixin, TemplateView):
return
self
.
render_to_response
(
context
)
return
self
.
render_to_response
(
context
)
def
post
(
self
,
request
,
*
args
,
**
kwargs
):
def
post
(
self
,
request
,
*
args
,
**
kwargs
):
#TODO: if there is a network available use it, of there isn't use none
# there could be some checkboxes for the user to decide
# could create default network, setup internet access
server_created
=
openstack_api
.
nova
.
server_create
(
server_created
=
openstack_api
.
nova
.
server_create
(
request
,
request
,
request
.
POST
.
get
(
"name"
),
request
.
POST
.
get
(
"name"
),
request
.
POST
.
get
(
"image"
),
request
.
POST
.
get
(
"image"
),
request
.
POST
.
get
(
"flavor"
),
request
.
POST
.
get
(
"flavor"
),
# nics=({
# 'uuid': 'fc7ba14c-53d8-4810-9030-a0f00985c036'
# })
)
)
return
HttpResponseRedirect
(
"vm/
%
s#activity"
%
server_created
.
id
)
return
HttpResponseRedirect
(
"vm/
%
s#activity"
%
server_created
.
id
)
...
...
circle/network/forms.py
View file @
1e204ec1
...
@@ -381,5 +381,6 @@ class VxlanForm(forms.Form):
...
@@ -381,5 +381,6 @@ class VxlanForm(forms.Form):
}))
}))
networkAddress
=
forms
.
CharField
(
required
=
False
)
networkAddress
=
forms
.
CharField
(
required
=
False
)
isDhcpEnabled
=
forms
.
BooleanField
(
required
=
False
)
isDhcpEnabled
=
forms
.
BooleanField
(
required
=
False
)
isAdvancedConfig
=
forms
.
BooleanField
(
required
=
False
)
#TODO: validate
#TODO: validate
circle/network/templates/network/vxlan-create.html
View file @
1e204ec1
...
@@ -19,13 +19,13 @@
...
@@ -19,13 +19,13 @@
{{ form.name|as_crispy_field }}
{{ form.name|as_crispy_field }}
{% verbatim %}
{% verbatim %}
<div
id=
"vuepart"
v-bind:class=
"{ well: isAdvancedConfig }"
>
<div
id=
"vuepart"
v-bind:class=
"{ well: isAdvancedConfig }"
>
<input
v-model=
"isAdvancedConfig"
type=
"checkbox"
>
Advanced configuration
<input
name=
"isAdvancedConfig"
v-model=
"isAdvancedConfig"
type=
"checkbox"
>
Advanced configuration
<div
v-cloak
v-if=
"isAdvancedConfig"
>
<div
v-cloak
v-if=
"isAdvancedConfig"
>
<div
class=
"form-group"
>
<div
class=
"form-group"
>
<label
for=
"id_network_address"
>
Network address
<i
class=
"asteriskField"
>
*
</i></label>
<label
for=
"id_network_address"
>
Network address
<i
class=
"asteriskField"
>
*
</i></label>
<input
type=
"text"
name=
"name"
required
class=
"form-control textinput textInput form-control"
id=
"id_network_address"
>
<input
type=
"text"
name=
"name"
required
class=
"form-control textinput textInput form-control"
id=
"id_network_address"
>
<input
name=
"isDhcpEnabled"
type=
"checkbox"
>
Enable DHCP
<input
name=
"isDhcpEnabled"
type=
"checkbox"
v-model=
"isDhcpEnabled"
>
Enable DHCP
</div>
</div>
</div>
</div>
</div>
</div>
...
@@ -38,13 +38,14 @@
...
@@ -38,13 +38,14 @@
{% endblock %}
{% endblock %}
{% block extra_js %}
{% block extra_js %}
{% javascript '
new-network
' %}
{% javascript '
vue
' %}
<script>
<script>
var
app
=
new
Vue
({
var
app
=
new
Vue
({
el
:
'#vuepart'
,
el
:
'#vuepart'
,
data
:
{
data
:
{
isAdvancedConfig
:
false
isAdvancedConfig
:
false
,
isDhcpEnabled
:
true
}
}
})
})
</script>
</script>
...
...
circle/network/templates/network/vxlan-edit.html
View file @
1e204ec1
...
@@ -8,19 +8,39 @@
...
@@ -8,19 +8,39 @@
{% block title-page %}{{ form.name.value }} | {% trans "vxlan" %}{% endblock %}
{% block title-page %}{{ form.name.value }} | {% trans "vxlan" %}{% endblock %}
{% block content %}
{% block content %}
{% if isMultipleSubnetsAvailable %}
<div
class=
"alert alert-warning alert-dismissible"
>
<a
href=
"#"
class=
"close"
data-dismiss=
"alert"
aria-label=
"close"
>
×
</a>
<strong>
Warning!
</strong>
Selecting a default subnet for network but there are more than one subnets available.
This network might have been created outside of CIRCLE and might not work as expected!
{#TODO: users should use default subnet here (or merge subnets?)#}
</div>
{% endif %}
{% if isSubnetMissing %}
<div
class=
"alert alert-danger alert-dismissible"
>
<strong>
Error!
</strong>
There must be at least one subnet allocated for network!
This network might have been created outside of CIRCLE and might not work as expected!
Click
<a
href=
""
>
here
</a>
to allocate subnet for network.
{#TODO: implement. Could be a little more sophisticated?#}
</div>
{% endif %}
<div
class=
"page-header"
>
<div
class=
"page-header"
>
<a
href=
"{% url "
network
.
vxlan-delete
"
pk=
network.id
%}"
class=
"btn btn-danger pull-right"
><i
class=
"fa fa-times-circle"
></i>
{% trans "Delete this network" %}
</a>
<a
href=
"{% url "
network
.
vxlan-delete
"
pk=
network.id
%}"
class=
"btn btn-danger pull-right"
><i
class=
"fa fa-times-circle"
></i>
{% trans "Delete this network" %}
</a>
<h2>
{{ form.name.value }}
<small>
{% trans "details of network" %}
</small>
</h2>
<h2>
{{ form.name.value }}
</h2>
</div>
</div>
<div
class=
"row"
>
<div
class=
"row"
>
<div
class=
"col-sm-6"
>
<div
class=
"col-sm-6"
>
{% crispy form %}
<h3><small>
{% trans "Details of network" %}
</small></h3>
{{ form.name|as_crispy_field }}
{{ form.networkAddress|as_crispy_field }}
{{ form.isDhcpEnabled|as_crispy_field }}
</div>
</div>
<div
class=
"col-sm-6"
>
<div
class=
"col-sm-6"
>
<div
class=
"page-header"
>
<h3
class=
"pull-right"
><small>
{% trans "connected virtual machines" %}
</small></h3>
<h3>
{% trans "Connected virtual machines" %}
</h3>
</div>
</div>
</div>
</div>
</div>
{% endblock %}
{% endblock %}
circle/network/views.py
View file @
1e204ec1
...
@@ -974,12 +974,23 @@ class VxlanDetail(LoginRequiredMixin, SuccessMessageMixin, DetailView): #TODO: c
...
@@ -974,12 +974,23 @@ class VxlanDetail(LoginRequiredMixin, SuccessMessageMixin, DetailView): #TODO: c
context_object_name
=
'network'
context_object_name
=
'network'
def
get_object
(
self
,
queryset
=
None
):
def
get_object
(
self
,
queryset
=
None
):
return
openstack_api
.
neutron
.
network_get
(
self
.
request
,
self
.
kwargs
[
'pk'
])
return
openstack_api
.
neutron
.
network_get
(
self
.
request
,
self
.
kwargs
[
'pk'
]
,
expand_subnet
=
True
)
def
get_context_data
(
self
,
**
kwargs
):
def
get_context_data
(
self
,
**
kwargs
):
context
=
super
(
VxlanDetail
,
self
)
.
get_context_data
(
**
kwargs
)
context
=
super
(
VxlanDetail
,
self
)
.
get_context_data
(
**
kwargs
)
subnet
=
self
.
object
.
subnets
[
0
]
if
len
(
self
.
object
.
subnets
)
>
0
else
None
form
=
VxlanForm
(
initial
=
{
'name'
:
self
.
object
.
name
,
'networkAddress'
:
subnet
.
cidr
if
subnet
else
None
,
'isDhcpEnabled'
:
subnet
.
enable_dhcp
if
subnet
else
False
,
})
context
[
'isMultipleSubnetsAvailable'
]
=
len
(
self
.
object
.
subnets
)
>
1
context
[
'isSubnetMissing'
]
=
len
(
self
.
object
.
subnets
)
<
1
context
[
'vm_list'
]
=
()
#SmallVmTable(self.object.vm_interface.all())
context
[
'vm_list'
]
=
()
#SmallVmTable(self.object.vm_interface.all())
context
[
'form'
]
=
VxlanF
orm
context
[
'form'
]
=
f
orm
return
context
return
context
class
VxlanCreate
(
LoginRequiredMixin
,
FormView
):
class
VxlanCreate
(
LoginRequiredMixin
,
FormView
):
...
@@ -988,6 +999,11 @@ class VxlanCreate(LoginRequiredMixin, FormView):
...
@@ -988,6 +999,11 @@ class VxlanCreate(LoginRequiredMixin, FormView):
def
form_valid
(
self
,
form
):
def
form_valid
(
self
,
form
):
network_created
=
openstack_api
.
neutron
.
network_create
(
self
.
request
,
name
=
form
.
cleaned_data
[
'name'
])
network_created
=
openstack_api
.
neutron
.
network_create
(
self
.
request
,
name
=
form
.
cleaned_data
[
'name'
])
if
form
.
cleaned_data
[
'isAdvancedConfig'
]:
pass
else
:
openstack_api
.
neutron
.
subnet_create
(
self
.
request
,
network_created
.
id
,
ip_version
=
4
)
# TODO: default ip version should read from SETTINGS
return
redirect
(
reverse_lazy
(
'network.vxlan'
,
kwargs
=
{
'pk'
:
network_created
.
id
}))
return
redirect
(
reverse_lazy
(
'network.vxlan'
,
kwargs
=
{
'pk'
:
network_created
.
id
}))
class
VxlanDelete
(
LoginRequiredMixin
,
DeleteView
):
#TODO: check user
class
VxlanDelete
(
LoginRequiredMixin
,
DeleteView
):
#TODO: check user
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment