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
c83ead96
authored
Nov 11, 2013
by
Őry Máté
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
fix pep8
parent
4a19156a
Hide whitespace changes
Inline
Side-by-side
Showing
15 changed files
with
72 additions
and
52 deletions
+72
-52
circle/acl/management/__init__.py
+4
-2
circle/circle/settings/__init__.py
+0
-1
circle/circle/settings/base.py
+1
-0
circle/circle/settings/local.py
+1
-1
circle/circle/settings/production.py
+3
-2
circle/circle/settings/test.py
+1
-1
circle/dashboard/models.py
+0
-2
circle/firewall/admin.py
+16
-15
circle/firewall/fw.py
+29
-14
circle/monitor/calvin/examples/basic.py
+5
-5
circle/monitor/calvin/examples/test.py
+4
-3
circle/network/models.py
+0
-2
circle/templates/registration/login.html
+1
-1
circle/vm/models.py
+6
-3
circle/vm/tests/test_models.py
+1
-0
No files found.
circle/acl/management/__init__.py
View file @
c83ead96
...
...
@@ -19,7 +19,8 @@ def create_levels(app, created_models, verbosity, db=DEFAULT_DB_ALIAS,
from
django.contrib.contenttypes.models
import
ContentType
app_models
=
[
k
for
k
in
get_models
(
app
)
if
AclBase
in
k
.
__bases__
]
print
"Creating levels for models:
%
s."
%
", "
.
join
([
m
.
__name__
for
m
in
app_models
])
print
"Creating levels for models:
%
s."
%
", "
.
join
(
[
m
.
__name__
for
m
in
app_models
])
# This will hold the levels we're looking for as
# (content_type, (codename, name))
...
...
@@ -59,7 +60,8 @@ def create_levels(app, created_models, verbosity, db=DEFAULT_DB_ALIAS,
Level
.
objects
.
using
(
db
)
.
bulk_create
(
levels
)
if
verbosity
>=
2
:
print
(
"Adding levels [
%
s]."
%
", "
.
join
(
levels
))
print
(
"Searched: [
%
s]."
%
", "
.
join
([
unicode
(
l
)
for
l
in
searched_levels
]))
print
(
"Searched: [
%
s]."
%
", "
.
join
(
[
unicode
(
l
)
for
l
in
searched_levels
]))
print
(
"All: [
%
s]."
%
", "
.
join
([
unicode
(
l
)
for
l
in
all_levels
]))
# set weights
...
...
circle/circle/settings/__init__.py
View file @
c83ead96
circle/circle/settings/base.py
View file @
c83ead96
"""Common settings and globals."""
# flake8: noqa
from
datetime
import
timedelta
from
os
import
environ
...
...
circle/circle/settings/local.py
View file @
c83ead96
...
...
@@ -3,7 +3,7 @@
# from os.path import join, normpath
from
base
import
*
from
base
import
*
# noqa
########## DEBUG CONFIGURATION
...
...
circle/circle/settings/production.py
View file @
c83ead96
...
...
@@ -3,7 +3,7 @@
from
os
import
environ
from
base
import
*
from
base
import
*
# noqa
def
get_env_setting
(
setting
):
...
...
@@ -15,7 +15,8 @@ def get_env_setting(setting):
raise
ImproperlyConfigured
(
error_msg
)
########## HOST CONFIGURATION
# See: https://docs.djangoproject.com/en/1.5/releases/1.5/#allowed-hosts-required-in-production
# See: https://docs.djangoproject.com/en/1.5/releases/1.5/
# #allowed-hosts-required-in-production
ALLOWED_HOSTS
=
get_env_setting
(
'DJANGO_ALLOWED_HOSTS'
)
.
split
(
','
)
########## END HOST CONFIGURATION
...
...
circle/circle/settings/test.py
View file @
c83ead96
from
base
import
*
from
base
import
*
# noqa
########## TEST SETTINGS
TEST_RUNNER
=
'discover_runner.DiscoverRunner'
...
...
circle/dashboard/models.py
View file @
c83ead96
from
django.db
import
models
# Create your models here.
circle/firewall/admin.py
View file @
c83ead96
...
...
@@ -55,23 +55,24 @@ class RuleAdmin(admin.ModelAdmin):
def
color_desc
(
self
,
instance
):
"""Returns a colorful description of the instance."""
data
=
{
'type'
:
instance
.
r_type
,
'src'
:
(
instance
.
foreign_network
.
name
if
instance
.
direction
==
'1'
else
instance
.
r_type
),
'dst'
:
(
instance
.
r_type
if
instance
.
direction
==
'1'
else
instance
.
foreign_network
.
name
),
'para'
:
(
u'<span style="color: #00FF00;">'
+
((
'proto=
%
s '
%
instance
.
proto
)
if
instance
.
proto
else
''
)
+
((
'sport=
%
s '
%
instance
.
sport
)
if
instance
.
sport
else
''
)
+
((
'dport=
%
s '
%
instance
.
dport
)
if
instance
.
dport
else
''
)
+
'</span>'
),
'desc'
:
instance
.
description
}
return
(
u'<span style="color: #FF0000;">[
%(type)
s]</span> '
u'
%(src)
s<span style="color: #0000FF;"> ▸ </span>
%(dst)
s '
u'
%(para)
s
%(desc)
s'
)
%
{
'type'
:
instance
.
r_type
,
'src'
:
(
instance
.
foreign_network
.
name
if
instance
.
direction
==
'1'
else
instance
.
r_type
),
'dst'
:
(
instance
.
r_type
if
instance
.
direction
==
'1'
else
instance
.
foreign_network
.
name
),
'para'
:
(
u'<span style="color: #00FF00;">'
+
((
'proto=
%
s '
%
instance
.
proto
)
if
instance
.
proto
else
''
)
+
((
'sport=
%
s '
%
instance
.
sport
)
if
instance
.
sport
else
''
)
+
((
'dport=
%
s '
%
instance
.
dport
)
if
instance
.
dport
else
''
)
+
'</span>'
),
'desc'
:
instance
.
description
}
u'
%(para)
s
%(desc)
s'
)
%
data
color_desc
.
allow_tags
=
True
@staticmethod
...
...
circle/firewall/fw.py
View file @
c83ead96
...
...
@@ -195,17 +195,33 @@ class Firewall:
self
.
iptablesnat
(
'COMMIT'
)
def
ipt_filter
(
self
):
ipv4_re
=
re
.
compile
(
'([0-9]{1,3}
\
.){3}[0-9]{1,3}'
)
# pre-run stuff
self
.
prerun
()
# firewall's own rules
self
.
ipt_filter_firewall
()
self
.
ipt_filter_zones
()
self
.
ipt_filter_host_rules
()
self
.
ipt_filter_vlan_rules
()
self
.
ipt_filter_vlan_drop
()
self
.
postrun
()
if
self
.
proto
==
6
:
# remove ipv4-specific rules
ipv4_re
=
re
.
compile
(
'([0-9]{1,3}
\
.){3}[0-9]{1,3}'
)
self
.
RULES
=
[
x
for
x
in
self
.
RULES
if
not
ipv4_re
.
search
(
x
)]
self
.
RULES
=
[
x
.
replace
(
'icmp'
,
'icmpv6'
)
for
x
in
self
.
RULES
]
def
ipt_filter_firewall
(
self
):
"""Build firewall's own rules."""
for
f
in
self
.
fw
:
for
rule
in
f
.
rules
.
all
():
self
.
fw2vlan
(
rule
)
# zonak kozotti lancokra ugras
def
ipt_filter_zones
(
self
):
"""Jumping to chains between zones."""
for
s_vlan
in
self
.
vlans
:
for
d_vlan
in
self
.
vlans
:
self
.
iptables
(
'-N
%
s_
%
s'
%
(
s_vlan
,
d_vlan
))
...
...
@@ -213,7 +229,9 @@ class Firewall:
(
s_vlan
.
name
,
d_vlan
.
name
,
s_vlan
,
d_vlan
))
# hosts' rules
def
ipt_filter_host_rules
(
self
):
"""Build hosts' rules."""
for
i_vlan
in
self
.
vlans
:
for
i_host
in
i_vlan
.
host_set
.
all
():
for
group
in
i_host
.
groups
.
all
():
...
...
@@ -222,23 +240,20 @@ class Firewall:
for
rule
in
i_host
.
rules
.
all
():
self
.
host2vlan
(
i_host
,
rule
)
# enable communication between VLANs
def
ipt_filter_vlan_rules
(
self
):
"""Enable communication between VLANs."""
for
s_vlan
in
self
.
vlans
:
for
rule
in
s_vlan
.
rules
.
all
():
self
.
vlan2vlan
(
s_vlan
,
rule
)
# zonak kozotti lancokat zarja le
def
ipt_filter_vlan_drop
(
self
):
"""Close intra-VLAN chains."""
for
s_vlan
in
self
.
vlans
:
for
d_vlan
in
self
.
vlans
:
self
.
iptables
(
'-A
%
s_
%
s -g LOG_DROP'
%
(
s_vlan
,
d_vlan
))
# post-run stuff
self
.
postrun
()
if
self
.
proto
==
6
:
self
.
RULES
=
[
x
for
x
in
self
.
RULES
if
not
ipv4_re
.
search
(
x
)]
self
.
RULES
=
[
x
.
replace
(
'icmp'
,
'icmpv6'
)
for
x
in
self
.
RULES
]
def
__init__
(
self
,
proto
=
4
):
self
.
RULES
=
[]
self
.
RULES_NAT
=
[]
...
...
circle/monitor/calvin/examples/basic.py
View file @
c83ead96
from
calvin
import
*
from
calvin
import
*
# noqa
server_name
=
"0.0.0.0"
server_port
=
"8080"
...
...
@@ -10,12 +10,12 @@ query.setFormat("json") #Not neccesary, default is json
query
.
setRelativeStart
(
1
,
"minutes"
)
#Current cpu usage
query
.
generate
()
#print(query.getGenerated())
#
print(query.getGenerated())
print
(
query
.
getStart
())
#query.setAbsoluteStart("1889", "04", "20", "00", "00")
#query.setRelativeEnd(...)
#query.setAbsoluteEnd(...)
#
query.setAbsoluteStart("1889", "04", "20", "00", "00")
#
query.setRelativeEnd(...)
#
query.setAbsoluteEnd(...)
handler
=
GraphiteHandler
(
server_name
,
server_port
)
...
...
circle/monitor/calvin/examples/test.py
View file @
c83ead96
from
calvin
import
*
from
calvin
import
*
# noqa
import
datetime
query
=
Query
()
...
...
@@ -9,7 +9,8 @@ query.generate()
handler
=
GraphiteHandler
(
"10.9.1.209"
)
times
=
int
(
input
(
"How many requests do you intend to send? [postive integer] "
))
times
=
int
(
input
(
"How many requests do you intend to send? [postive integer] "
))
global_start
=
datetime
.
datetime
.
now
()
for
i
in
range
(
1
,
times
):
...
...
@@ -17,7 +18,7 @@ for i in range(1, times):
handler
.
put
(
query
)
handler
.
send
()
local_end
=
datetime
.
datetime
.
now
()
print
((
local_end
-
local_start
)
.
microseconds
)
print
((
local_end
-
local_start
)
.
microseconds
)
global_end
=
datetime
.
datetime
.
now
()
print
(
"*-*-*-*-*-*-*-*-*-*-*-*-*-*-*"
)
...
...
circle/network/models.py
View file @
c83ead96
from
django.db
import
models
# Create your models here.
circle/templates/registration/login.html
View file @
c83ead96
...
...
@@ -3,7 +3,7 @@
{% load staticfiles %}
{% get_current_language as LANGUAGE_CODE %}
{% block content %}
<form
action=
"
/ufo/
"
method=
"POST"
>
<form
action=
""
method=
"POST"
>
{% csrf_token %}
{{ form }}
<input
type=
"submit"
value=
"LOGIN"
/>
...
...
circle/vm/models.py
View file @
c83ead96
...
...
@@ -506,7 +506,7 @@ class Instance(AclBase, VirtualMachineDescModel, TimeStampedModel):
'name'
:
self
.
vm_name
,
'vcpu'
:
self
.
num_cores
,
'memory'
:
int
(
self
.
ram_size
)
*
1024
,
# convert from MiB to KiB
'memory_max'
:
int
(
self
.
max_ram_size
)
*
1024
,
# convert
from
MiB to KiB
'memory_max'
:
int
(
self
.
max_ram_size
)
*
1024
,
# convert MiB to KiB
'cpu_share'
:
self
.
priority
,
'arch'
:
self
.
arch
,
'boot_menu'
:
self
.
boot_menu
,
...
...
@@ -762,9 +762,12 @@ class InstanceActivity(ActivityModel):
def
__unicode__
(
self
):
if
self
.
parent
:
return
self
.
parent
.
activity_code
+
"("
+
self
.
instance
.
name
+
")"
+
"->"
+
self
.
activity_code
return
'{}({})->{}'
.
format
(
self
.
parent
.
activity_code
,
self
.
instance
.
name
,
self
.
activity_code
)
else
:
return
self
.
activity_code
+
"("
+
self
.
instance
.
name
+
")"
return
'{}({})'
.
format
(
self
.
activity_code
,
self
.
instance
.
name
)
@classmethod
def
create
(
cls
,
code_suffix
,
instance
,
task_uuid
=
None
,
user
=
None
):
...
...
circle/vm/tests/test_models.py
View file @
c83ead96
...
...
@@ -6,4 +6,5 @@ class TemplateTestCase(TestCase):
def
test_template_creation
(
self
):
template
=
InstanceTemplate
(
name
=
'My first template'
,
access_method
=
'ssh'
,
)
template
.
clean
()
# TODO add images & net
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