Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Support
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in / Register
Toggle navigation
S
slapos.toolbox
Project overview
Project overview
Details
Activity
Releases
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Issues
0
Issues
0
List
Boards
Labels
Milestones
Merge Requests
6
Merge Requests
6
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Analytics
Analytics
CI / CD
Repository
Value Stream
Wiki
Wiki
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
nexedi
slapos.toolbox
Commits
ee2afd05
Commit
ee2afd05
authored
Feb 28, 2025
by
Thomas Gambier
🚴🏼
Browse files
Options
Browse Files
Download
Plain Diff
support for statsmodels 14.4
See merge request
!141
parents
cc665e37
16eedf99
Changes
3
Hide whitespace changes
Inline
Side-by-side
Showing
3 changed files
with
19 additions
and
18 deletions
+19
-18
setup.py
setup.py
+1
-1
slapos/promise/plugin/check_free_disk_space.py
slapos/promise/plugin/check_free_disk_space.py
+15
-13
slapos/test/promise/plugin/test_check_url_available.py
slapos/test/promise/plugin/test_check_url_available.py
+3
-4
No files found.
setup.py
View file @
ee2afd05
...
@@ -11,7 +11,7 @@ for f in sorted(glob.glob(os.path.join('slapos', 'README.*.rst'))):
...
@@ -11,7 +11,7 @@ for f in sorted(glob.glob(os.path.join('slapos', 'README.*.rst'))):
long_description
+=
open
(
"CHANGES.txt"
).
read
()
+
"
\
n
"
long_description
+=
open
(
"CHANGES.txt"
).
read
()
+
"
\
n
"
prediction_require
=
[
'statsmodels'
,
'scipy'
,
'pandas'
]
prediction_require
=
[
'statsmodels
>=0.14.0
'
,
'scipy'
,
'pandas'
]
test_require
=
[
'mock'
,
'cryptography'
,
'websockets; python_version>="3"'
,]
+
prediction_require
test_require
=
[
'mock'
,
'cryptography'
,
'websockets; python_version>="3"'
,]
+
prediction_require
setup
(
name
=
name
,
setup
(
name
=
name
,
...
...
slapos/promise/plugin/check_free_disk_space.py
View file @
ee2afd05
...
@@ -22,7 +22,7 @@ from contextlib import closing
...
@@ -22,7 +22,7 @@ from contextlib import closing
try
:
try
:
import
pandas
as
pd
import
pandas
as
pd
import
numpy
as
np
import
numpy
as
np
from
statsmodels.tsa.arima
_
model
import
ARIMA
from
statsmodels.tsa.arima
.
model
import
ARIMA
except
ImportError
:
except
ImportError
:
pass
pass
...
@@ -127,8 +127,8 @@ class RunPromise(GenericPromise):
...
@@ -127,8 +127,8 @@ class RunPromise(GenericPromise):
with
warnings
.
catch_warnings
():
with
warnings
.
catch_warnings
():
warnings
.
simplefilter
(
"ignore"
)
warnings
.
simplefilter
(
"ignore"
)
model
=
ARIMA
(
history
,
order
=
arima_order
)
model
=
ARIMA
(
history
,
order
=
arima_order
)
model_fit
=
model
.
fit
(
disp
=-
1
)
model_fit
=
model
.
fit
()
yhat
=
model_fit
.
forecast
()
[
0
]
yhat
=
model_fit
.
get_forecast
().
predicted_mean
[
0
]
predictions
.
append
(
yhat
)
predictions
.
append
(
yhat
)
history
.
append
(
test
[
t
])
history
.
append
(
test
[
t
])
# calculate out of sample error
# calculate out of sample error
...
@@ -145,12 +145,12 @@ class RunPromise(GenericPromise):
...
@@ -145,12 +145,12 @@ class RunPromise(GenericPromise):
for
d
in
d_values
:
for
d
in
d_values
:
for
q
in
q_values
:
for
q
in
q_values
:
order
=
(
p
,
d
,
q
)
order
=
(
p
,
d
,
q
)
try
:
rmse
=
self
.
evaluateArimaModel
(
dataset
,
order
)
rmse
=
self
.
evaluateArimaModel
(
dataset
,
order
)
if
rmse
<
best_score
:
if
rmse
<
best_score
:
best_score
,
best_cfg
=
rmse
,
order
best_score
,
best_cfg
=
rmse
,
order
if
rmse
==
0.0
:
except
Exception
:
self
.
logger
.
info
(
"Found perfect model with order %s"
,
order
)
pass
return
best_cfg
return
best_cfg
return
best_cfg
def
diskSpacePrediction
(
self
,
disk_partition
,
database
,
date
,
time
,
day_range
):
def
diskSpacePrediction
(
self
,
disk_partition
,
database
,
date
,
time
,
day_range
):
...
@@ -191,11 +191,13 @@ class RunPromise(GenericPromise):
...
@@ -191,11 +191,13 @@ class RunPromise(GenericPromise):
# disabling warnings during the ARIMA calculation
# disabling warnings during the ARIMA calculation
with
warnings
.
catch_warnings
():
with
warnings
.
catch_warnings
():
warnings
.
simplefilter
(
"ignore"
)
warnings
.
simplefilter
(
"ignore"
)
model_arima
=
ARIMA
(
df
,
order
=
best_cfg
)
model_arima
=
ARIMA
(
df
,
order
=
best_cfg
,
trend
=
"t"
)
# disp < 0 means no output about convergence information
model_arima_fit
=
model_arima
.
fit
()
model_arima_fit
=
model_arima
.
fit
(
disp
=-
1
)
# save ARIMA predictions
# save ARIMA predictions
fcast
,
_
,
conf
=
model_arima_fit
.
forecast
(
max_date_predicted
,
alpha
=
0.05
)
fcast_result
=
model_arima_fit
.
get_forecast
(
steps
=
max_date_predicted
)
fcast
=
fcast_result
.
predicted_mean
conf
=
fcast_result
.
conf_int
(
alpha
=
0.05
).
to_numpy
()
# pass the same index as the others
# pass the same index as the others
fcast
=
pd
.
Series
(
fcast
,
index
=
future_index_date
)
fcast
=
pd
.
Series
(
fcast
,
index
=
future_index_date
)
if
fcast
.
empty
:
if
fcast
.
empty
:
...
...
slapos/test/promise/plugin/test_check_url_available.py
View file @
ee2afd05
...
@@ -223,10 +223,9 @@ class CheckUrlAvailableMixin(TestPromisePluginMixin):
...
@@ -223,10 +223,9 @@ class CheckUrlAvailableMixin(TestPromisePluginMixin):
server
=
BaseHTTPServer
.
HTTPServer
(
server
=
BaseHTTPServer
.
HTTPServer
(
(
SLAPOS_TEST_IPV4
,
SLAPOS_TEST_IPV4_PORT
),
(
SLAPOS_TEST_IPV4
,
SLAPOS_TEST_IPV4_PORT
),
cls
.
RequestHandler
)
cls
.
RequestHandler
)
server
.
socket
=
ssl
.
wrap_socket
(
context
=
ssl
.
SSLContext
(
ssl
.
PROTOCOL_TLS_SERVER
)
server
.
socket
,
context
.
load_cert_chain
(
certfile
=
cls
.
test_server_certificate_file
.
name
)
certfile
=
cls
.
test_server_certificate_file
.
name
,
server
.
socket
=
context
.
wrap_socket
(
server
.
socket
,
server_side
=
True
)
server_side
=
True
)
server
.
serve_forever
()
server
.
serve_forever
()
cls
.
server_process
=
multiprocessing
.
Process
(
target
=
server
)
cls
.
server_process
=
multiprocessing
.
Process
(
target
=
server
)
...
...
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