Skip to content
Toggle navigation
P
Projects
G
Groups
S
Snippets
Help
CIRCLE
/
cloud
This project
Loading...
Sign in
Toggle navigation
Go to a project
Project
Repository
Issues
94
Merge Requests
10
Pipelines
Wiki
Snippets
Members
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
A prog2-höz tartozó friss repo anyagok itt elérhetőek:
https://git.iit.bme.hu/
Commit
58ca65ad
authored
Nov 15, 2025
by
Szeberényi Imre
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
füred fix
parent
a0d175b0
Hide whitespace changes
Inline
Side-by-side
Showing
6 changed files
with
24 additions
and
7 deletions
+24
-7
circle/circle/settings/base.py
+8
-0
circle/dashboard/forms.py
+4
-1
circle/dashboard/views/index.py
+1
-1
circle/vm/models/instance.py
+9
-3
circle/vm/operations.py
+1
-1
requirements/base.txt
+1
-1
No files found.
circle/circle/settings/base.py
View file @
58ca65ad
...
...
@@ -497,6 +497,8 @@ if get_env_variable('DJANGO_SAML', 'FALSE') == 'TRUE':
'required_attributes'
:
required_attrs
,
'optional_attributes'
:
optional_attrs
,
'want_response_signed'
:
False
,
"logout_requests_signed"
:
True
,
"logout_responses_signed"
:
True
,
},
},
'metadata'
:
{
'local'
:
[
remote_metadata
],
},
...
...
@@ -528,6 +530,12 @@ if get_env_variable('DJANGO_SAML', 'FALSE') == 'TRUE':
SAML_MAIN_ATTRIBUTE_MAX_LENGTH
=
int
(
get_env_variable
(
"DJANGO_SAML_MAIN_ATTRIBUTE_MAX_LENGTH"
,
0
))
SAML_LOGOUT_REQUESTS_SIGNED
=
True
SAML_LOGOUT_RESPONSES_SIGNED
=
True
SESSION_EXPIRE_AT_BROWSER_CLOSE
=
True
LOGIN_REDIRECT_URL
=
"/"
AGENT_DIR
=
get_env_variable
(
...
...
circle/dashboard/forms.py
View file @
58ca65ad
...
...
@@ -659,6 +659,7 @@ class LeaseForm(forms.ModelForm):
(
60
*
60
*
24
*
7
,
"weeks"
),
(
60
*
60
*
24
,
"days"
),
(
60
*
60
,
"hours"
),
(
60
,
"minutes"
),
)
for
i
,
(
seconds
,
name
)
in
enumerate
(
chunks
):
count
=
delta_seconds
//
seconds
...
...
@@ -673,7 +674,7 @@ class LeaseForm(forms.ModelForm):
return
re
def
generate_fields
(
self
):
intervals
=
[
"hours"
,
"days"
,
"weeks"
,
"months"
]
intervals
=
[
"
minutes"
,
"
hours"
,
"days"
,
"weeks"
,
"months"
]
methods
=
[
"suspend"
,
"delete"
]
# feels redundant but these lines are so long
s
=
(
self
.
instance
.
suspend_interval
.
total_seconds
()
...
...
@@ -698,12 +699,14 @@ class LeaseForm(forms.ModelForm):
data
=
self
.
cleaned_data
suspend_seconds
=
timedelta
(
minutes
=
data
[
'suspend_minutes'
],
hours
=
data
[
'suspend_hours'
],
days
=
(
data
[
'suspend_days'
]
+
data
[
'suspend_months'
]
%
12
*
30
+
data
[
'suspend_months'
]
/
12
*
365
),
weeks
=
data
[
'suspend_weeks'
],
)
delete_seconds
=
timedelta
(
minutes
=
data
[
'delete_minutes'
],
hours
=
data
[
'delete_hours'
],
days
=
(
data
[
'delete_days'
]
+
data
[
'delete_months'
]
%
12
*
30
+
data
[
'delete_months'
]
/
12
*
365
),
...
...
circle/dashboard/views/index.py
View file @
58ca65ad
...
...
@@ -111,7 +111,7 @@ class IndexView(LoginRequiredMixin, TemplateView):
quota
=
store
.
get_quota
()
files
=
{
'toplist'
:
toplist
,
'quota'
:
quota
}
except
Exception
:
logger
.
exception
(
"Unable to get tolist for
%
s"
,
logger
.
exception
(
"Unable to get to
p
list for
%
s"
,
unicode
(
self
.
request
.
user
))
files
=
{
'toplist'
:
[]}
cache
.
set
(
cache_key
,
files
,
300
)
...
...
circle/vm/models/instance.py
View file @
58ca65ad
...
...
@@ -744,8 +744,11 @@ class Instance(AclBase, VirtualMachineDescModel, StatusModel, OperatedMixin,
interval
=
self
.
lease
.
suspend_interval
if
(
self
.
status
!=
"SUSPENDED"
and
self
.
time_of_suspend
is
not
None
and
interval
is
not
None
):
limit
=
timezone
.
now
()
+
timedelta
(
seconds
=
(
threshold
*
self
.
lease
.
suspend_interval
.
total_seconds
()))
limit
=
timedelta
(
seconds
=
(
threshold
*
self
.
lease
.
suspend_interval
.
total_seconds
()))
if
limit
<
timedelta
(
seconds
=
300
):
limit
=
timedelta
(
seconds
=
300
)
limit
+=
timezone
.
now
()
return
limit
>
self
.
time_of_suspend
else
:
return
False
...
...
@@ -753,8 +756,11 @@ class Instance(AclBase, VirtualMachineDescModel, StatusModel, OperatedMixin,
def
_is_delete_expiring
(
self
,
threshold
=
0.1
):
interval
=
self
.
lease
.
delete_interval
if
self
.
time_of_delete
is
not
None
and
interval
is
not
None
:
limit
=
time
zone
.
now
()
+
time
delta
(
seconds
=
(
limit
=
timedelta
(
seconds
=
(
threshold
*
self
.
lease
.
delete_interval
.
total_seconds
()))
if
limit
<
timedelta
(
seconds
=
300
):
limit
=
timedelta
(
seconds
=
300
)
limit
+=
timezone
.
now
()
return
limit
>
self
.
time_of_delete
else
:
return
False
...
...
circle/vm/operations.py
View file @
58ca65ad
...
...
@@ -1072,7 +1072,7 @@ class RenewOperation(InstanceOperation):
return
create_readable
(
ugettext_noop
(
"Renewed to suspend at
%(suspend)
s and destroy at
%(delete)
s."
),
suspend
=
self
.
instance
.
time_of_suspend
,
delete
=
self
.
instance
.
time_of_
suspend
)
delete
=
self
.
instance
.
time_of_
delete
)
@register_operation
...
...
requirements/base.txt
View file @
58ca65ad
...
...
@@ -47,5 +47,5 @@ python-memcached==1.58
enum34==1.1.6
ipaddress==1.0.18
django-qrcode2
install
Image
Image
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