Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Support
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in / Register
Toggle navigation
S
slapos.core
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
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Analytics
Analytics
CI / CD
Repository
Value Stream
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
Boxiang Sun
slapos.core
Commits
7f45fa10
Commit
7f45fa10
authored
Feb 16, 2022
by
Jérome Perrin
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
tests: fix some trailing whitespaces and inconsistent indentations
parent
55ff948c
Changes
7
Hide whitespace changes
Inline
Side-by-side
Showing
7 changed files
with
79 additions
and
86 deletions
+79
-86
slapos/tests/test_configure_local.py
slapos/tests/test_configure_local.py
+1
-1
slapos/tests/test_promise.py
slapos/tests/test_promise.py
+4
-5
slapos/tests/test_register.py
slapos/tests/test_register.py
+4
-9
slapos/tests/test_slap.py
slapos/tests/test_slap.py
+1
-2
slapos/tests/test_slapformat.py
slapos/tests/test_slapformat.py
+1
-1
slapos/tests/test_slapgrid.py
slapos/tests/test_slapgrid.py
+40
-40
slapos/tests/test_slapproxy.py
slapos/tests/test_slapproxy.py
+28
-28
No files found.
slapos/tests/test_configure_local.py
View file @
7f45fa10
...
@@ -31,7 +31,7 @@ import shutil
...
@@ -31,7 +31,7 @@ import shutil
import
tempfile
import
tempfile
import
slapos.slap
import
slapos.slap
import
slapos.cli.configure_local
import
slapos.cli.configure_local
from
slapos.cli.configure_local
import
ConfigureLocalCommand
,
_createConfigurationDirectory
from
slapos.cli.configure_local
import
ConfigureLocalCommand
,
_createConfigurationDirectory
from
slapos.cli.entry
import
SlapOSApp
from
slapos.cli.entry
import
SlapOSApp
from
argparse
import
Namespace
from
argparse
import
Namespace
from
six.moves.configparser
import
ConfigParser
from
six.moves.configparser
import
ConfigParser
...
...
slapos/tests/test_promise.py
View file @
7f45fa10
...
@@ -208,7 +208,7 @@ class RunPromise(GenericPromise):
...
@@ -208,7 +208,7 @@ class RunPromise(GenericPromise):
"title": "%(name)s"
"title": "%(name)s"
}]
}]
}"""
}"""
history_file
=
os
.
path
.
join
(
self
.
partition_dir
,
PROMISE_HISTORY_RESULT_FOLDER_NAME
,
'%s.history.json'
%
name
)
history_file
=
os
.
path
.
join
(
self
.
partition_dir
,
PROMISE_HISTORY_RESULT_FOLDER_NAME
,
'%s.history.json'
%
name
)
self
.
assertTrue
(
os
.
path
.
exists
(
history_file
))
self
.
assertTrue
(
os
.
path
.
exists
(
history_file
))
with
open
(
history_file
)
as
f
:
with
open
(
history_file
)
as
f
:
...
@@ -411,7 +411,7 @@ class RunPromise(GenericPromise):
...
@@ -411,7 +411,7 @@ class RunPromise(GenericPromise):
self
.
launcher
.
run
()
self
.
launcher
.
run
()
self
.
assertTrue
(
os
.
path
.
exists
(
state_folder
))
self
.
assertTrue
(
os
.
path
.
exists
(
state_folder
))
self
.
assertTrue
(
os
.
path
.
exists
(
os
.
path
.
join
(
self
.
log_dir
,
'my_promise.log'
)))
self
.
assertTrue
(
os
.
path
.
exists
(
os
.
path
.
join
(
self
.
log_dir
,
'my_promise.log'
)))
self
.
assertSuccessResult
(
"my_promise"
)
self
.
assertSuccessResult
(
"my_promise"
)
self
.
assertSuccessHistoryResult
(
"my_promise"
)
self
.
assertSuccessHistoryResult
(
"my_promise"
)
self
.
assertSuccessStatsResult
(
1
)
self
.
assertSuccessStatsResult
(
1
)
...
@@ -1577,10 +1577,10 @@ class TestSlapOSGenericPromise(TestSlapOSPromiseMixin):
...
@@ -1577,10 +1577,10 @@ class TestSlapOSGenericPromise(TestSlapOSPromiseMixin):
def
test_promise_cleanup_plugin_dir
(
self
):
def
test_promise_cleanup_plugin_dir
(
self
):
stale_pyc
=
os
.
path
.
join
(
self
.
plugin_dir
,
'stale.pyc'
)
stale_pyc
=
os
.
path
.
join
(
self
.
plugin_dir
,
'stale.pyc'
)
with
open
(
stale_pyc
,
'w'
)
as
fh
:
with
open
(
stale_pyc
,
'w'
)
as
fh
:
fh
.
write
(
''
)
fh
.
write
(
''
)
stale_pyo
=
os
.
path
.
join
(
self
.
plugin_dir
,
'stale.pyo'
)
stale_pyo
=
os
.
path
.
join
(
self
.
plugin_dir
,
'stale.pyo'
)
with
open
(
stale_pyo
,
'w'
)
as
fh
:
with
open
(
stale_pyo
,
'w'
)
as
fh
:
fh
.
write
(
''
)
fh
.
write
(
''
)
self
.
initialisePromise
()
self
.
initialisePromise
()
self
.
launcher
.
run
()
self
.
launcher
.
run
()
self
.
assertFalse
(
os
.
path
.
exists
(
stale_pyc
))
self
.
assertFalse
(
os
.
path
.
exists
(
stale_pyc
))
...
@@ -2021,4 +2021,3 @@ class RunPromise(GenericPromise):
...
@@ -2021,4 +2021,3 @@ class RunPromise(GenericPromise):
if
__name__
==
'__main__'
:
if
__name__
==
'__main__'
:
unittest
.
main
()
unittest
.
main
()
slapos/tests/test_register.py
View file @
7f45fa10
...
@@ -40,18 +40,13 @@ class TestRegister(unittest.TestCase):
...
@@ -40,18 +40,13 @@ class TestRegister(unittest.TestCase):
template
=
slapos
.
cli
.
register
.
fetch_configuration_template
()
template
=
slapos
.
cli
.
register
.
fetch_configuration_template
()
self
.
assertNotEqual
(
""
,
template
)
self
.
assertNotEqual
(
""
,
template
)
for
entry
in
[
'computer_id'
,
for
entry
in
[
'computer_id'
,
'master_url'
,
'master_url'
,
'key_file'
,
'key_file'
,
'cert_file'
,
'cert_file'
,
'certificate_repository_path'
,
'certificate_repository_path'
,
'interface_name'
,
'interface_name'
,
'ipv4_local_network'
,
'ipv4_local_network'
,
'partition_amount'
,
'partition_amount'
,
'create_tap'
]:
'create_tap'
]:
self
.
assertTrue
(
entry
in
template
,
"%s is not in template (%s)"
%
(
entry
,
template
))
self
.
assertTrue
(
entry
in
template
,
"%s is not in template (%s)"
%
(
entry
,
template
))
slapos/tests/test_slap.py
View file @
7f45fa10
...
@@ -1471,7 +1471,7 @@ class TestOpenOrder(SlapMixin):
...
@@ -1471,7 +1471,7 @@ class TestOpenOrder(SlapMixin):
},
},
"text_content"
:
{
"text_content"
:
{
"title"
:
"Parameter XML"
,
"title"
:
"Parameter XML"
,
"default"
:
dict2xml
({
'_'
:
json
.
dumps
(
parameter_dict
)}),
"default"
:
dict2xml
({
'_'
:
json
.
dumps
(
parameter_dict
)}),
"key"
:
"field_my_text_content"
,
"key"
:
"field_my_text_content"
,
"type"
:
"TextAreaField"
"type"
:
"TextAreaField"
},
},
...
@@ -1689,4 +1689,3 @@ class TestSoftwareProductCollection(SlapMixin):
...
@@ -1689,4 +1689,3 @@ class TestSoftwareProductCollection(SlapMixin):
self
.
product_collection
.
get
self
.
product_collection
.
get
)
)
self
.
assertEqual
(
self
.
product_collection
.
foo
,
'0'
)
self
.
assertEqual
(
self
.
product_collection
.
foo
,
'0'
)
slapos/tests/test_slapformat.py
View file @
7f45fa10
...
@@ -993,4 +993,4 @@ class TestFormatConfig(SlapformatMixin):
...
@@ -993,4 +993,4 @@ class TestFormatConfig(SlapformatMixin):
# TODO add more tests with config file
# TODO add more tests with config file
if
__name__
==
'__main__'
:
if
__name__
==
'__main__'
:
unittest
.
main
()
unittest
.
main
()
slapos/tests/test_slapgrid.py
View file @
7f45fa10
...
@@ -555,7 +555,7 @@ class InstanceForTest(object):
...
@@ -555,7 +555,7 @@ class InstanceForTest(object):
if
self
.
software
is
not
None
:
if
self
.
software
is
not
None
:
if
self
.
timestamp
is
not
None
:
if
self
.
timestamp
is
not
None
:
partition
.
_parameter_dict
[
'timestamp'
]
=
self
.
timestamp
partition
.
_parameter_dict
[
'timestamp'
]
=
self
.
timestamp
self
.
current_partition
=
partition
self
.
current_partition
=
partition
return
partition
return
partition
...
@@ -582,7 +582,7 @@ class InstanceForTest(object):
...
@@ -582,7 +582,7 @@ class InstanceForTest(object):
f
.
write
(
promise_content
)
f
.
write
(
promise_content
)
os
.
chmod
(
promise
,
0o777
)
os
.
chmod
(
promise
,
0o777
)
def
setPluginPromise
(
self
,
promise_name
,
success
=
True
,
failure_count
=
1
,
def
setPluginPromise
(
self
,
promise_name
,
success
=
True
,
failure_count
=
1
,
promise_content
=
""
,
periodicity
=
0.03
):
promise_content
=
""
,
periodicity
=
0.03
):
"""
"""
This function will set plugin promise and return its path
This function will set plugin promise and return its path
...
@@ -591,12 +591,12 @@ class InstanceForTest(object):
...
@@ -591,12 +591,12 @@ class InstanceForTest(object):
if
not
os
.
path
.
isdir
(
promise_dir
):
if
not
os
.
path
.
isdir
(
promise_dir
):
os
.
makedirs
(
promise_dir
)
os
.
makedirs
(
promise_dir
)
_promise_content
=
PROMISE_CONTENT_TEMPLATE
%
\
_promise_content
=
PROMISE_CONTENT_TEMPLATE
%
\
{
'success'
:
success
,
{
'success'
:
success
,
'content'
:
promise_content
,
'content'
:
promise_content
,
'failure_amount'
:
failure_count
,
'failure_amount'
:
failure_count
,
'periodicity'
:
periodicity
,
'periodicity'
:
periodicity
,
'paths'
:
PROMISE_PATHS
}
'paths'
:
PROMISE_PATHS
}
with
open
(
os
.
path
.
join
(
promise_dir
,
promise_name
),
'w'
)
as
f
:
with
open
(
os
.
path
.
join
(
promise_dir
,
promise_name
),
'w'
)
as
f
:
f
.
write
(
_promise_content
)
f
.
write
(
_promise_content
)
return
os
.
path
.
join
(
promise_dir
,
promise_name
)
return
os
.
path
.
join
(
promise_dir
,
promise_name
)
...
@@ -717,7 +717,7 @@ class TestSlapgridCPWithMaster(MasterMixin, unittest.TestCase):
...
@@ -717,7 +717,7 @@ class TestSlapgridCPWithMaster(MasterMixin, unittest.TestCase):
'software_release'
,
'worked'
,
'.slapos-retention-lock-delay'
])
'software_release'
,
'worked'
,
'.slapos-retention-lock-delay'
])
six
.
assertCountEqual
(
self
,
os
.
listdir
(
self
.
software_root
),
[
instance
.
software
.
software_hash
])
six
.
assertCountEqual
(
self
,
os
.
listdir
(
self
.
software_root
),
[
instance
.
software
.
software_hash
])
self
.
assertEqual
(
computer
.
sequence
,
self
.
assertEqual
(
computer
.
sequence
,
[
'/getFullComputerInformation'
,
[
'/getFullComputerInformation'
,
'/stoppedComputerPartition'
])
'/stoppedComputerPartition'
])
def
test_one_partition_instance_cfg
(
self
):
def
test_one_partition_instance_cfg
(
self
):
...
@@ -735,7 +735,7 @@ class TestSlapgridCPWithMaster(MasterMixin, unittest.TestCase):
...
@@ -735,7 +735,7 @@ class TestSlapgridCPWithMaster(MasterMixin, unittest.TestCase):
'software_release'
,
'worked'
,
'.slapos-retention-lock-delay'
])
'software_release'
,
'worked'
,
'.slapos-retention-lock-delay'
])
six
.
assertCountEqual
(
self
,
os
.
listdir
(
self
.
software_root
),
[
instance
.
software
.
software_hash
])
six
.
assertCountEqual
(
self
,
os
.
listdir
(
self
.
software_root
),
[
instance
.
software
.
software_hash
])
self
.
assertEqual
(
computer
.
sequence
,
self
.
assertEqual
(
computer
.
sequence
,
[
'/getFullComputerInformation'
,
[
'/getFullComputerInformation'
,
'/stoppedComputerPartition'
])
'/stoppedComputerPartition'
])
def
test_one_free_partition
(
self
):
def
test_one_free_partition
(
self
):
...
@@ -769,7 +769,7 @@ class TestSlapgridCPWithMaster(MasterMixin, unittest.TestCase):
...
@@ -769,7 +769,7 @@ class TestSlapgridCPWithMaster(MasterMixin, unittest.TestCase):
self
.
assertLogContent
(
wrapper_log
,
'Working'
)
self
.
assertLogContent
(
wrapper_log
,
'Working'
)
six
.
assertCountEqual
(
self
,
os
.
listdir
(
self
.
software_root
),
[
partition
.
software
.
software_hash
])
six
.
assertCountEqual
(
self
,
os
.
listdir
(
self
.
software_root
),
[
partition
.
software
.
software_hash
])
self
.
assertEqual
(
computer
.
sequence
,
self
.
assertEqual
(
computer
.
sequence
,
[
'/getFullComputerInformation'
,
[
'/getFullComputerInformation'
,
'/startedComputerPartition'
])
'/startedComputerPartition'
])
self
.
assertEqual
(
partition
.
state
,
'started'
)
self
.
assertEqual
(
partition
.
state
,
'started'
)
...
@@ -788,7 +788,7 @@ class TestSlapgridCPWithMaster(MasterMixin, unittest.TestCase):
...
@@ -788,7 +788,7 @@ class TestSlapgridCPWithMaster(MasterMixin, unittest.TestCase):
self
.
assertLogContent
(
wrapper_log
,
'Working'
)
self
.
assertLogContent
(
wrapper_log
,
'Working'
)
six
.
assertCountEqual
(
self
,
os
.
listdir
(
self
.
software_root
),
[
partition
.
software
.
software_hash
])
six
.
assertCountEqual
(
self
,
os
.
listdir
(
self
.
software_root
),
[
partition
.
software
.
software_hash
])
self
.
assertEqual
(
computer
.
sequence
,
self
.
assertEqual
(
computer
.
sequence
,
[
'/getFullComputerInformation'
,
[
'/getFullComputerInformation'
,
'/startedComputerPartition'
])
'/startedComputerPartition'
])
self
.
assertEqual
(
partition
.
state
,
'started'
)
self
.
assertEqual
(
partition
.
state
,
'started'
)
...
@@ -803,7 +803,7 @@ exit 1
...
@@ -803,7 +803,7 @@ exit 1
'etc'
,
'software_release'
,
'worked'
,
'etc'
,
'software_release'
,
'worked'
,
'.slapos-retention-lock-delay'
,
'.slapgrid-0-error.log'
])
'.slapos-retention-lock-delay'
,
'.slapgrid-0-error.log'
])
self
.
assertEqual
(
computer
.
sequence
,
self
.
assertEqual
(
computer
.
sequence
,
[
'/getFullComputerInformation'
,
[
'/getFullComputerInformation'
,
'/startedComputerPartition'
,
'/getHateoasUrl'
,
'/startedComputerPartition'
,
'/getHateoasUrl'
,
'/getFullComputerInformation'
,
'/softwareInstanceError'
])
'/getFullComputerInformation'
,
'/softwareInstanceError'
])
self
.
assertEqual
(
instance
.
state
,
'started'
)
self
.
assertEqual
(
instance
.
state
,
'started'
)
...
@@ -843,7 +843,7 @@ chmod 755 etc/run/wrapper
...
@@ -843,7 +843,7 @@ chmod 755 etc/run/wrapper
self
.
assertLogContent
(
wrapper_log
,
'Working'
)
self
.
assertLogContent
(
wrapper_log
,
'Working'
)
six
.
assertCountEqual
(
self
,
os
.
listdir
(
self
.
software_root
),
[
instance
.
software
.
software_hash
])
six
.
assertCountEqual
(
self
,
os
.
listdir
(
self
.
software_root
),
[
instance
.
software
.
software_hash
])
self
.
assertEqual
(
computer
.
sequence
,
self
.
assertEqual
(
computer
.
sequence
,
[
'/getFullComputerInformation'
,
[
'/getFullComputerInformation'
,
'/startedComputerPartition'
])
'/startedComputerPartition'
])
self
.
assertEqual
(
instance
.
state
,
'started'
)
self
.
assertEqual
(
instance
.
state
,
'started'
)
...
@@ -856,7 +856,7 @@ chmod 755 etc/run/wrapper
...
@@ -856,7 +856,7 @@ chmod 755 etc/run/wrapper
'etc'
,
'software_release'
,
'worked'
,
'.slapos-retention-lock-delay'
])
'etc'
,
'software_release'
,
'worked'
,
'.slapos-retention-lock-delay'
])
self
.
assertLogContent
(
wrapper_log
,
'Signal handler called with signal 15'
)
self
.
assertLogContent
(
wrapper_log
,
'Signal handler called with signal 15'
)
self
.
assertEqual
(
computer
.
sequence
,
self
.
assertEqual
(
computer
.
sequence
,
[
'/getHateoasUrl'
,
'/getFullComputerInformation'
,
[
'/getHateoasUrl'
,
'/getFullComputerInformation'
,
'/stoppedComputerPartition'
])
'/stoppedComputerPartition'
])
self
.
assertEqual
(
instance
.
state
,
'stopped'
)
self
.
assertEqual
(
instance
.
state
,
'stopped'
)
...
@@ -901,7 +901,7 @@ chmod 755 etc/run/wrapper
...
@@ -901,7 +901,7 @@ chmod 755 etc/run/wrapper
six
.
assertCountEqual
(
self
,
os
.
listdir
(
self
.
software_root
),
six
.
assertCountEqual
(
self
,
os
.
listdir
(
self
.
software_root
),
[
instance
.
software
.
software_hash
])
[
instance
.
software
.
software_hash
])
self
.
assertEqual
(
computer
.
sequence
,
self
.
assertEqual
(
computer
.
sequence
,
[
'/getFullComputerInformation'
,
[
'/getFullComputerInformation'
,
'/startedComputerPartition'
])
'/startedComputerPartition'
])
self
.
assertEqual
(
instance
.
state
,
'started'
)
self
.
assertEqual
(
instance
.
state
,
'started'
)
...
@@ -937,7 +937,7 @@ exit 1
...
@@ -937,7 +937,7 @@ exit 1
six
.
assertCountEqual
(
self
,
os
.
listdir
(
self
.
software_root
),
six
.
assertCountEqual
(
self
,
os
.
listdir
(
self
.
software_root
),
[
instance
.
software
.
software_hash
])
[
instance
.
software
.
software_hash
])
self
.
assertEqual
(
computer
.
sequence
,
self
.
assertEqual
(
computer
.
sequence
,
[
'/getFullComputerInformation'
,
[
'/getFullComputerInformation'
,
'/stoppedComputerPartition'
])
'/stoppedComputerPartition'
])
self
.
assertEqual
(
'stopped'
,
instance
.
state
)
self
.
assertEqual
(
'stopped'
,
instance
.
state
)
...
@@ -954,7 +954,7 @@ exit 1
...
@@ -954,7 +954,7 @@ exit 1
wrapper_log
=
os
.
path
.
join
(
instance
.
partition_path
,
'.0_wrapper.log'
)
wrapper_log
=
os
.
path
.
join
(
instance
.
partition_path
,
'.0_wrapper.log'
)
self
.
assertLogContent
(
wrapper_log
,
'Working'
)
self
.
assertLogContent
(
wrapper_log
,
'Working'
)
self
.
assertEqual
(
computer
.
sequence
,
self
.
assertEqual
(
computer
.
sequence
,
[
'/getHateoasUrl'
,
'/getFullComputerInformation'
,
[
'/getHateoasUrl'
,
'/getFullComputerInformation'
,
'/startedComputerPartition'
])
'/startedComputerPartition'
])
self
.
assertEqual
(
'started'
,
instance
.
state
)
self
.
assertEqual
(
'started'
,
instance
.
state
)
...
@@ -970,7 +970,7 @@ exit 1
...
@@ -970,7 +970,7 @@ exit 1
dummy_file_name
=
'dummy_file'
dummy_file_name
=
'dummy_file'
with
open
(
os
.
path
.
join
(
instance
.
partition_path
,
dummy_file_name
),
'w'
)
as
dummy_file
:
with
open
(
os
.
path
.
join
(
instance
.
partition_path
,
dummy_file_name
),
'w'
)
as
dummy_file
:
dummy_file
.
write
(
'dummy'
)
dummy_file
.
write
(
'dummy'
)
self
.
assertEqual
(
self
.
grid
.
processComputerPartitionList
(),
slapgrid
.
SLAPGRID_SUCCESS
)
self
.
assertEqual
(
self
.
grid
.
processComputerPartitionList
(),
slapgrid
.
SLAPGRID_SUCCESS
)
...
@@ -1432,7 +1432,7 @@ class TestSlapgridCPPartitionProcessing(MasterMixin, unittest.TestCase):
...
@@ -1432,7 +1432,7 @@ class TestSlapgridCPPartitionProcessing(MasterMixin, unittest.TestCase):
self
.
assertEqual
(
self
.
launchSlapgrid
(),
slapgrid
.
SLAPGRID_SUCCESS
)
self
.
assertEqual
(
self
.
launchSlapgrid
(),
slapgrid
.
SLAPGRID_SUCCESS
)
self
.
assertEqual
(
computer
.
sequence
,
self
.
assertEqual
(
computer
.
sequence
,
[
'/getHateoasUrl'
,
[
'/getHateoasUrl'
,
'/getFullComputerInformation'
,
'/getFullComputerInformation'
,
'/stoppedComputerPartition'
,
'/stoppedComputerPartition'
,
'/getHateoasUrl'
,
'/getFullComputerInformation'
,
'/getHateoasUrl'
,
'/getFullComputerInformation'
,
'/stoppedComputerPartition'
,
'/stoppedComputerPartition'
,
...
@@ -1457,7 +1457,7 @@ class TestSlapgridCPPartitionProcessing(MasterMixin, unittest.TestCase):
...
@@ -1457,7 +1457,7 @@ class TestSlapgridCPPartitionProcessing(MasterMixin, unittest.TestCase):
self
.
launchSlapgrid
()
self
.
launchSlapgrid
()
self
.
assertEqual
(
computer
.
sequence
,
self
.
assertEqual
(
computer
.
sequence
,
[
'/getHateoasUrl'
,
[
'/getHateoasUrl'
,
'/getFullComputerInformation'
,
'/getFullComputerInformation'
,
'/stoppedComputerPartition'
,
'/stoppedComputerPartition'
,
'/getHateoasUrl'
,
'/getFullComputerInformation'
,
'/getHateoasUrl'
,
'/getFullComputerInformation'
,
'/stoppedComputerPartition'
])
'/stoppedComputerPartition'
])
...
@@ -1859,7 +1859,7 @@ class TestSlapgridUsageReport(MasterMixin, unittest.TestCase):
...
@@ -1859,7 +1859,7 @@ class TestSlapgridUsageReport(MasterMixin, unittest.TestCase):
six
.
assertCountEqual
(
self
,
os
.
listdir
(
self
.
software_root
),
[
instance
.
software
.
software_hash
])
six
.
assertCountEqual
(
self
,
os
.
listdir
(
self
.
software_root
),
[
instance
.
software
.
software_hash
])
self
.
assertEqual
(
computer
.
sequence
,
self
.
assertEqual
(
computer
.
sequence
,
[
'/getFullComputerInformation'
,
[
'/getFullComputerInformation'
,
'/startedComputerPartition'
])
'/startedComputerPartition'
])
self
.
assertEqual
(
instance
.
state
,
'started'
)
self
.
assertEqual
(
instance
.
state
,
'started'
)
...
@@ -1930,14 +1930,14 @@ class TestSlapgridUsageReport(MasterMixin, unittest.TestCase):
...
@@ -1930,14 +1930,14 @@ class TestSlapgridUsageReport(MasterMixin, unittest.TestCase):
six
.
assertCountEqual
(
self
,
os
.
listdir
(
self
.
software_root
),
[
instance
.
software
.
software_hash
])
six
.
assertCountEqual
(
self
,
os
.
listdir
(
self
.
software_root
),
[
instance
.
software
.
software_hash
])
self
.
assertEqual
(
computer
.
sequence
,
self
.
assertEqual
(
computer
.
sequence
,
[
'/getFullComputerInformation'
,
[
'/getFullComputerInformation'
,
'/startedComputerPartition'
])
'/startedComputerPartition'
])
self
.
assertEqual
(
'started'
,
instance
.
state
)
self
.
assertEqual
(
'started'
,
instance
.
state
)
# Then run usage report and see if it is still working
# Then run usage report and see if it is still working
computer
.
sequence
=
[]
computer
.
sequence
=
[]
self
.
assertEqual
(
self
.
grid
.
agregateAndSendUsage
(),
slapgrid
.
SLAPGRID_SUCCESS
)
self
.
assertEqual
(
self
.
grid
.
agregateAndSendUsage
(),
slapgrid
.
SLAPGRID_SUCCESS
)
# registerComputerPartition will create one more file:
# registerComputerPartition will create one more file:
from
slapos.slap.slap
import
COMPUTER_PARTITION_REQUEST_LIST_TEMPLATE_FILENAME
from
slapos.slap.slap
import
COMPUTER_PARTITION_REQUEST_LIST_TEMPLATE_FILENAME
request_list_file
=
COMPUTER_PARTITION_REQUEST_LIST_TEMPLATE_FILENAME
%
instance
.
name
request_list_file
=
COMPUTER_PARTITION_REQUEST_LIST_TEMPLATE_FILENAME
%
instance
.
name
self
.
assertInstanceDirectoryListEqual
([
'0'
])
self
.
assertInstanceDirectoryListEqual
([
'0'
])
...
@@ -2365,7 +2365,7 @@ class TestSlapgridDestructionLock(MasterMixin, unittest.TestCase):
...
@@ -2365,7 +2365,7 @@ class TestSlapgridDestructionLock(MasterMixin, unittest.TestCase):
class
TestSlapgridCPWithFirewall
(
MasterMixin
,
unittest
.
TestCase
):
class
TestSlapgridCPWithFirewall
(
MasterMixin
,
unittest
.
TestCase
):
def
setFirewallConfig
(
self
,
source_ip
=
""
):
def
setFirewallConfig
(
self
,
source_ip
=
""
):
self
.
firewall_cmd_add
=
os
.
path
.
join
(
self
.
_tempdir
,
'firewall_cmd_add'
)
self
.
firewall_cmd_add
=
os
.
path
.
join
(
self
.
_tempdir
,
'firewall_cmd_add'
)
...
@@ -2416,7 +2416,7 @@ exit 1
...
@@ -2416,7 +2416,7 @@ exit 1
testing
=
True
,
testing
=
True
,
)
)
self
.
grid
.
firewall_conf
=
firewall_conf
self
.
grid
.
firewall_conf
=
firewall_conf
def
checkRuleFromIpSource
(
self
,
ip
,
accept_ip_list
,
cmd_list
):
def
checkRuleFromIpSource
(
self
,
ip
,
accept_ip_list
,
cmd_list
):
# XXX - rules for one ip contain 2*len(ip_address_list + accept_ip_list) rules ACCEPT and 4 rules REJECT
# XXX - rules for one ip contain 2*len(ip_address_list + accept_ip_list) rules ACCEPT and 4 rules REJECT
num_rules
=
len
(
self
.
ip_address_list
)
*
2
+
len
(
accept_ip_list
)
*
2
+
4
num_rules
=
len
(
self
.
ip_address_list
)
*
2
+
len
(
accept_ip_list
)
*
2
+
4
...
@@ -2438,7 +2438,7 @@ exit 1
...
@@ -2438,7 +2438,7 @@ exit 1
# Check that there is REJECT rule on FORWARD, ESTABLISHED,RELATED
# Check that there is REJECT rule on FORWARD, ESTABLISHED,RELATED
rule
=
'%s FORWARD 900 -d %s -m state --state ESTABLISHED,RELATED -j REJECT'
%
(
base_cmd
,
ip
)
rule
=
'%s FORWARD 900 -d %s -m state --state ESTABLISHED,RELATED -j REJECT'
%
(
base_cmd
,
ip
)
self
.
assertIn
(
rule
,
cmd_list
)
self
.
assertIn
(
rule
,
cmd_list
)
# Check that there is INPUT ACCEPT on ip_list
# Check that there is INPUT ACCEPT on ip_list
for
_
,
other_ip
in
self
.
ip_address_list
:
for
_
,
other_ip
in
self
.
ip_address_list
:
rule
=
'%s INPUT 0 -s %s -d %s -j ACCEPT'
%
(
base_cmd
,
other_ip
,
ip
)
rule
=
'%s INPUT 0 -s %s -d %s -j ACCEPT'
%
(
base_cmd
,
other_ip
,
ip
)
...
@@ -2452,7 +2452,7 @@ exit 1
...
@@ -2452,7 +2452,7 @@ exit 1
self
.
assertIn
(
rule
,
cmd_list
)
self
.
assertIn
(
rule
,
cmd_list
)
rule
=
'%s FORWARD 0 -s %s -d %s -j ACCEPT'
%
(
base_cmd
,
other_ip
,
ip
)
rule
=
'%s FORWARD 0 -s %s -d %s -j ACCEPT'
%
(
base_cmd
,
other_ip
,
ip
)
self
.
assertIn
(
rule
,
cmd_list
)
self
.
assertIn
(
rule
,
cmd_list
)
def
checkRuleFromIpSourceReject
(
self
,
ip
,
reject_ip_list
,
cmd_list
):
def
checkRuleFromIpSourceReject
(
self
,
ip
,
reject_ip_list
,
cmd_list
):
# XXX - rules for one ip contain 2 + 2*len(ip_address_list) rules ACCEPT and 4*len(reject_ip_list) rules REJECT
# XXX - rules for one ip contain 2 + 2*len(ip_address_list) rules ACCEPT and 4*len(reject_ip_list) rules REJECT
num_rules
=
(
len
(
self
.
ip_address_list
)
*
2
)
+
(
len
(
reject_ip_list
)
*
4
)
num_rules
=
(
len
(
self
.
ip_address_list
)
*
2
)
+
(
len
(
reject_ip_list
)
*
4
)
...
@@ -2466,7 +2466,7 @@ exit 1
...
@@ -2466,7 +2466,7 @@ exit 1
# Check that there is ACCEPT rule on FORWARD
# Check that there is ACCEPT rule on FORWARD
#rule = '%s FORWARD 0 -d %s -j ACCEPT' % (base_cmd, ip)
#rule = '%s FORWARD 0 -d %s -j ACCEPT' % (base_cmd, ip)
#self.assertIn(rule, cmd_list)
#self.assertIn(rule, cmd_list)
# Check that there is INPUT/FORWARD ACCEPT on ip_list
# Check that there is INPUT/FORWARD ACCEPT on ip_list
for
_
,
other_ip
in
self
.
ip_address_list
:
for
_
,
other_ip
in
self
.
ip_address_list
:
rule
=
'%s INPUT 0 -s %s -d %s -j ACCEPT'
%
(
base_cmd
,
other_ip
,
ip
)
rule
=
'%s INPUT 0 -s %s -d %s -j ACCEPT'
%
(
base_cmd
,
other_ip
,
ip
)
...
@@ -2491,13 +2491,13 @@ exit 1
...
@@ -2491,13 +2491,13 @@ exit 1
self
.
ip_address_list
=
computer
.
ip_address_list
self
.
ip_address_list
=
computer
.
ip_address_list
ip
=
computer
.
instance_list
[
0
].
full_ip_list
[
0
][
1
]
ip
=
computer
.
instance_list
[
0
].
full_ip_list
[
0
][
1
]
source_ip_list
=
[
'10.32.0.15'
,
'10.32.0.0/8'
]
source_ip_list
=
[
'10.32.0.15'
,
'10.32.0.0/8'
]
cmd_list
=
self
.
grid
.
_getFirewallAcceptRules
(
ip
,
cmd_list
=
self
.
grid
.
_getFirewallAcceptRules
(
ip
,
[
elt
[
1
]
for
elt
in
self
.
ip_address_list
],
[
elt
[
1
]
for
elt
in
self
.
ip_address_list
],
source_ip_list
,
source_ip_list
,
ip_type
=
'ipv4'
)
ip_type
=
'ipv4'
)
self
.
checkRuleFromIpSource
(
ip
,
source_ip_list
,
cmd_list
)
self
.
checkRuleFromIpSource
(
ip
,
source_ip_list
,
cmd_list
)
cmd_list
=
self
.
grid
.
_getFirewallRejectRules
(
ip
,
cmd_list
=
self
.
grid
.
_getFirewallRejectRules
(
ip
,
[
elt
[
1
]
for
elt
in
self
.
ip_address_list
],
[
elt
[
1
]
for
elt
in
self
.
ip_address_list
],
source_ip_list
,
source_ip_list
,
...
@@ -2514,7 +2514,7 @@ exit 1
...
@@ -2514,7 +2514,7 @@ exit 1
instance
=
computer
.
instance_list
[
0
]
instance
=
computer
.
instance_list
[
0
]
ip
=
instance
.
full_ip_list
[
0
][
1
]
ip
=
instance
.
full_ip_list
[
0
][
1
]
name
=
computer
.
instance_list
[
0
].
name
name
=
computer
.
instance_list
[
0
].
name
cmd_list
=
self
.
grid
.
_getFirewallAcceptRules
(
ip
,
cmd_list
=
self
.
grid
.
_getFirewallAcceptRules
(
ip
,
[
elt
[
1
]
for
elt
in
self
.
ip_address_list
],
[
elt
[
1
]
for
elt
in
self
.
ip_address_list
],
[],
[],
...
@@ -2577,7 +2577,7 @@ exit 1
...
@@ -2577,7 +2577,7 @@ exit 1
self
.
ip_address_list
=
computer
.
ip_address_list
self
.
ip_address_list
=
computer
.
ip_address_list
with
open
(
rules_path
,
'r'
)
as
frules
:
with
open
(
rules_path
,
'r'
)
as
frules
:
rules_list
=
json
.
loads
(
frules
.
read
())
rules_list
=
json
.
loads
(
frules
.
read
())
ip
=
instance
.
full_ip_list
[
0
][
1
]
ip
=
instance
.
full_ip_list
[
0
][
1
]
self
.
checkRuleFromIpSource
(
ip
,
[],
rules_list
)
self
.
checkRuleFromIpSource
(
ip
,
[],
rules_list
)
...
@@ -2599,7 +2599,7 @@ exit 1
...
@@ -2599,7 +2599,7 @@ exit 1
self
.
ip_address_list
=
computer
.
ip_address_list
self
.
ip_address_list
=
computer
.
ip_address_list
with
open
(
rules_path
,
'r'
)
as
frules
:
with
open
(
rules_path
,
'r'
)
as
frules
:
rules_list
=
json
.
loads
(
frules
.
read
())
rules_list
=
json
.
loads
(
frules
.
read
())
ip
=
instance
.
full_ip_list
[
0
][
1
]
ip
=
instance
.
full_ip_list
[
0
][
1
]
self
.
checkRuleFromIpSourceReject
(
ip
,
[],
rules_list
)
self
.
checkRuleFromIpSourceReject
(
ip
,
[],
rules_list
)
...
@@ -2666,7 +2666,7 @@ exit 1
...
@@ -2666,7 +2666,7 @@ exit 1
for
thier_ip
in
source_ip
:
for
thier_ip
in
source_ip
:
rule_input
=
'%s INPUT 0 -s %s -d %s -j ACCEPT'
%
(
base_cmd
,
thier_ip
,
ip
)
rule_input
=
'%s INPUT 0 -s %s -d %s -j ACCEPT'
%
(
base_cmd
,
thier_ip
,
ip
)
self
.
assertIn
(
rule_input
,
rules_list
)
self
.
assertIn
(
rule_input
,
rules_list
)
rule_fwd
=
'%s FORWARD 0 -s %s -d %s -j ACCEPT'
%
(
base_cmd
,
thier_ip
,
ip
)
rule_fwd
=
'%s FORWARD 0 -s %s -d %s -j ACCEPT'
%
(
base_cmd
,
thier_ip
,
ip
)
self
.
assertIn
(
rule_fwd
,
rules_list
)
self
.
assertIn
(
rule_fwd
,
rules_list
)
...
@@ -2676,7 +2676,7 @@ exit 1
...
@@ -2676,7 +2676,7 @@ exit 1
computer
=
ComputerForTest
(
self
.
software_root
,
self
.
instance_root
)
computer
=
ComputerForTest
(
self
.
software_root
,
self
.
instance_root
)
self
.
setFirewallConfig
()
self
.
setFirewallConfig
()
source_ip
=
'10.0.8.10'
source_ip
=
'10.0.8.10'
self
.
grid
.
firewall_conf
[
'authorized_sources'
]
=
[
'10.0.8.15'
]
self
.
grid
.
firewall_conf
[
'authorized_sources'
]
=
[
'10.0.8.15'
]
with
httmock
.
HTTMock
(
computer
.
request_handler
):
with
httmock
.
HTTMock
(
computer
.
request_handler
):
instance
=
computer
.
instance_list
[
0
]
instance
=
computer
.
instance_list
[
0
]
...
@@ -2802,7 +2802,7 @@ exit 0
...
@@ -2802,7 +2802,7 @@ exit 0
[
'.slapgrid'
,
'.0_wrapper.log'
,
'buildout.cfg'
,
[
'.slapgrid'
,
'.0_wrapper.log'
,
'buildout.cfg'
,
'etc'
,
'software_release'
,
'worked'
,
'.slapos-retention-lock-delay'
])
'etc'
,
'software_release'
,
'worked'
,
'.slapos-retention-lock-delay'
])
self
.
assertEqual
(
computer
.
sequence
,
self
.
assertEqual
(
computer
.
sequence
,
[
'/getFullComputerInformation'
,
[
'/getFullComputerInformation'
,
'/startedComputerPartition'
])
'/startedComputerPartition'
])
self
.
assertEqual
(
partition
.
state
,
'started'
)
self
.
assertEqual
(
partition
.
state
,
'started'
)
manager_list
=
slapmanager
.
from_config
({
'manager_list'
:
'prerm'
})
manager_list
=
slapmanager
.
from_config
({
'manager_list'
:
'prerm'
})
...
@@ -3049,7 +3049,7 @@ class TestSlapgridWithPortRedirection(MasterMixin, unittest.TestCase):
...
@@ -3049,7 +3049,7 @@ class TestSlapgridWithPortRedirection(MasterMixin, unittest.TestCase):
self.assertEqual(self.grid.processComputerPartitionList(), slapgrid.SLAPGRID_SUCCESS)
self.assertEqual(self.grid.processComputerPartitionList(), slapgrid.SLAPGRID_SUCCESS)
self.assertEqual(self.computer.sequence,
self.assertEqual(self.computer.sequence,
['/getFullComputerInformation',
['/getFullComputerInformation',
'/startedComputerPartition'])
'/startedComputerPartition'])
self.assertEqual(self.partition.state, 'started')
self.assertEqual(self.partition.state, 'started')
...
@@ -3124,7 +3124,7 @@ class TestSlapgridWithPortRedirection(MasterMixin, unittest.TestCase):
...
@@ -3124,7 +3124,7 @@ class TestSlapgridWithPortRedirection(MasterMixin, unittest.TestCase):
self.assertEqual(self.grid.processComputerPartitionList(), slapgrid.SLAPGRID_SUCCESS)
self.assertEqual(self.grid.processComputerPartitionList(), slapgrid.SLAPGRID_SUCCESS)
self.assertEqual(self.computer.sequence,
self.assertEqual(self.computer.sequence,
['/getFullComputerInformation',
['/getFullComputerInformation',
'/startedComputerPartition', '/startedComputerPartition'])
'/startedComputerPartition', '/startedComputerPartition'])
self.assertEqual(self.partition.state, 'started')
self.assertEqual(self.partition.state, 'started')
...
@@ -3446,7 +3446,7 @@ class TestSlapgridWithDevPermManagerDevPermAllowLsblk(TestSlapgridWithDevPermLsb
...
@@ -3446,7 +3446,7 @@ class TestSlapgridWithDevPermManagerDevPermAllowLsblk(TestSlapgridWithDevPermLsb
class TestSlapgridWithWhitelistfirewall(MasterMixin, unittest.TestCase):
class TestSlapgridWithWhitelistfirewall(MasterMixin, unittest.TestCase):
config = {
config = {
'manager_list': 'whitelistfirewall',
'manager_list': 'whitelistfirewall',
'firewall':{
'firewall':
{
'firewall_cmd': 'firewall_cmd',
'firewall_cmd': 'firewall_cmd',
}
}
}
}
...
@@ -3711,7 +3711,7 @@ class TestSlapgridManagerLifecycle(MasterMixin, unittest.TestCase):
...
@@ -3711,7 +3711,7 @@ class TestSlapgridManagerLifecycle(MasterMixin, unittest.TestCase):
self.assertEqual(self.grid.processComputerPartitionList(), slapgrid.SLAPGRID_SUCCESS)
self.assertEqual(self.grid.processComputerPartitionList(), slapgrid.SLAPGRID_SUCCESS)
self.assertEqual(self.computer.sequence,
self.assertEqual(self.computer.sequence,
['/getFullComputerInformation',
['/getFullComputerInformation',
'/startedComputerPartition'])
'/startedComputerPartition'])
self.assertEqual(partition.state, 'started')
self.assertEqual(partition.state, 'started')
...
@@ -3959,7 +3959,7 @@ class TestSlapgridPromiseWithMaster(MasterMixin, unittest.TestCase):
...
@@ -3959,7 +3959,7 @@ class TestSlapgridPromiseWithMaster(MasterMixin, unittest.TestCase):
with open(os.path.join(instance.partition_path, "
.
slapgrid
/
promise
/
result
/
succeeding2
.
status
.
json
"), "r") as f:
with open(os.path.join(instance.partition_path, "
.
slapgrid
/
promise
/
result
/
succeeding2
.
status
.
json
"), "r") as f:
result = json.loads(f.read())
result = json.loads(f.read())
self.assertEqual('success',
self.assertEqual('success',
result["
result
"]["
message
"])
result["
result
"]["
message
"])
...
@@ -4074,7 +4074,7 @@ class TestSlapgridPromiseWithMaster(MasterMixin, unittest.TestCase):
...
@@ -4074,7 +4074,7 @@ class TestSlapgridPromiseWithMaster(MasterMixin, unittest.TestCase):
import time
import time
time.sleep(27)""" % (timeout_file, timeout_file)
time.sleep(27)""" % (timeout_file, timeout_file)
instance.setPluginPromise(promise_name='timeout_fail.py', success=True, promise_content=fail)
instance.setPluginPromise(promise_name='timeout_fail.py', success=True, promise_content=fail)
self.assertEqual(self.grid.processPromiseList(),
self.assertEqual(self.grid.processPromiseList(),
slapgrid.SLAPGRID_PROMISE_FAIL)
slapgrid.SLAPGRID_PROMISE_FAIL)
self.assertTrue(os.path.isfile(worked_file))
self.assertTrue(os.path.isfile(worked_file))
...
...
slapos/tests/test_slapproxy.py
View file @
7f45fa10
...
@@ -315,9 +315,9 @@ class TestInformation(BasicMixin, unittest.TestCase):
...
@@ -315,9 +315,9 @@ class TestInformation(BasicMixin, unittest.TestCase):
rv
=
self
.
app
.
get
(
'/getFullComputerInformation?computer_id=%s'
%
self
.
computer_id
)
rv
=
self
.
app
.
get
(
'/getFullComputerInformation?computer_id=%s'
%
self
.
computer_id
)
computer
=
loads
(
rv
.
data
)
computer
=
loads
(
rv
.
data
)
for
slap_partition
in
computer
.
_computer_partition_list
:
for
slap_partition
in
computer
.
_computer_partition_list
:
self
.
assertIsNone
(
slap_partition
.
_software_release_document
)
self
.
assertIsNone
(
slap_partition
.
_software_release_document
)
self
.
assertEqual
(
slap_partition
.
_requested_state
,
'destroyed'
)
self
.
assertEqual
(
slap_partition
.
_requested_state
,
'destroyed'
)
self
.
assertEqual
(
slap_partition
.
_need_modification
,
0
)
self
.
assertEqual
(
slap_partition
.
_need_modification
,
0
)
def
test_getSoftwareReleaseListFromSoftwareProduct_software_product_reference
(
self
):
def
test_getSoftwareReleaseListFromSoftwareProduct_software_product_reference
(
self
):
"""
"""
...
@@ -409,7 +409,7 @@ class MasterMixin(BasicMixin, unittest.TestCase):
...
@@ -409,7 +409,7 @@ class MasterMixin(BasicMixin, unittest.TestCase):
partition_parameter_kw
=
{}
partition_parameter_kw
=
{}
if
filter_kw
is
None
:
if
filter_kw
is
None
:
filter_kw
=
{}
filter_kw
=
{}
# Let's enforce a default software type
# Let's enforce a default software type
if
software_type
is
None
:
if
software_type
is
None
:
software_type
=
'default'
software_type
=
'default'
...
@@ -462,7 +462,7 @@ class MasterMixin(BasicMixin, unittest.TestCase):
...
@@ -462,7 +462,7 @@ class MasterMixin(BasicMixin, unittest.TestCase):
def
supply
(
self
,
url
,
computer_id
=
None
,
state
=
'available'
):
def
supply
(
self
,
url
,
computer_id
=
None
,
state
=
'available'
):
if
not
computer_id
:
if
not
computer_id
:
computer_id
=
self
.
computer_id
computer_id
=
self
.
computer_id
request_dict
=
{
'url'
:
url
,
'computer_id'
:
computer_id
,
'state'
:
state
}
request_dict
=
{
'url'
:
url
,
'computer_id'
:
computer_id
,
'state'
:
state
}
rv
=
self
.
app
.
post
(
'/supplySupply'
,
rv
=
self
.
app
.
post
(
'/supplySupply'
,
data
=
request_dict
)
data
=
request_dict
)
# XXX return a Software Release
# XXX return a Software Release
...
@@ -1027,7 +1027,7 @@ class TestSlaveRequest(MasterMixin):
...
@@ -1027,7 +1027,7 @@ class TestSlaveRequest(MasterMixin):
before_timestamp
=
after_timestamp
before_timestamp
=
after_timestamp
time
.
sleep
(
0.1
)
time
.
sleep
(
0.1
)
self
.
request
(
'http://sr//'
,
None
,
'MySecondSlave'
,
shared
=
True
,
partition_parameter_kw
=
{
'a'
:
'b'
})
self
.
request
(
'http://sr//'
,
None
,
'MySecondSlave'
,
shared
=
True
,
partition_parameter_kw
=
{
'a'
:
'b'
})
after
=
getPartition
()
after
=
getPartition
()
after_timestamp
=
getTimestamp
(
after
)
after_timestamp
=
getTimestamp
(
after
)
self
.
assertEqual
(
len
(
after
.
_parameter_dict
[
'slave_instance_list'
]),
2
)
self
.
assertEqual
(
len
(
after
.
_parameter_dict
[
'slave_instance_list'
]),
2
)
...
@@ -1035,7 +1035,7 @@ class TestSlaveRequest(MasterMixin):
...
@@ -1035,7 +1035,7 @@ class TestSlaveRequest(MasterMixin):
before_timestamp
=
after_timestamp
before_timestamp
=
after_timestamp
time
.
sleep
(
0.1
)
time
.
sleep
(
0.1
)
self
.
request
(
'http://sr//'
,
None
,
'MySecondSlave'
,
shared
=
True
,
partition_parameter_kw
=
{
'a'
:
'b'
})
self
.
request
(
'http://sr//'
,
None
,
'MySecondSlave'
,
shared
=
True
,
partition_parameter_kw
=
{
'a'
:
'b'
})
after
=
getPartition
()
after
=
getPartition
()
after_timestamp
=
getTimestamp
(
after
)
after_timestamp
=
getTimestamp
(
after
)
self
.
assertEqual
(
len
(
after
.
_parameter_dict
[
'slave_instance_list'
]),
2
)
self
.
assertEqual
(
len
(
after
.
_parameter_dict
[
'slave_instance_list'
]),
2
)
...
@@ -1468,7 +1468,7 @@ class TestMultiNodeSupport(MasterMixin):
...
@@ -1468,7 +1468,7 @@ class TestMultiNodeSupport(MasterMixin):
self
.
assertEqual
(
rv
.
_status_code
,
404
)
self
.
assertEqual
(
rv
.
_status_code
,
404
)
rv
=
self
.
_requestComputerPartition
(
'http://sr//'
,
None
,
'MyFirstInstance'
,
'slappart2'
,
rv
=
self
.
_requestComputerPartition
(
'http://sr//'
,
None
,
'MyFirstInstance'
,
'slappart2'
,
filter_kw
=
{
'computer_guid'
:
self
.
computer_id
})
filter_kw
=
{
'computer_guid'
:
self
.
computer_id
})
self
.
assertEqual
(
rv
.
_status_code
,
404
)
self
.
assertEqual
(
rv
.
_status_code
,
404
)
# Register default computer: deployment works
# Register default computer: deployment works
...
@@ -1480,7 +1480,7 @@ class TestMultiNodeSupport(MasterMixin):
...
@@ -1480,7 +1480,7 @@ class TestMultiNodeSupport(MasterMixin):
# No free space on default computer: request without SLA fails
# No free space on default computer: request without SLA fails
rv
=
self
.
_requestComputerPartition
(
'http://sr//'
,
None
,
'CanIHasPartition'
,
'slappart2'
,
rv
=
self
.
_requestComputerPartition
(
'http://sr//'
,
None
,
'CanIHasPartition'
,
'slappart2'
,
filter_kw
=
{
'computer_guid'
:
self
.
computer_id
})
filter_kw
=
{
'computer_guid'
:
self
.
computer_id
})
self
.
assertEqual
(
rv
.
_status_code
,
404
)
self
.
assertEqual
(
rv
.
_status_code
,
404
)
def
test_multi_node_support_instance
(
self
):
def
test_multi_node_support_instance
(
self
):
...
@@ -1498,13 +1498,13 @@ class TestMultiNodeSupport(MasterMixin):
...
@@ -1498,13 +1498,13 @@ class TestMultiNodeSupport(MasterMixin):
# Deploy to first non-default computer using SLA
# Deploy to first non-default computer using SLA
# It should fail since computer is not registered
# It should fail since computer is not registered
rv
=
self
.
_requestComputerPartition
(
software_release_1
,
None
,
'MyFirstInstance'
,
'slappart2'
,
filter_kw
=
{
'computer_guid'
:
computer_0_id
})
rv
=
self
.
_requestComputerPartition
(
software_release_1
,
None
,
'MyFirstInstance'
,
'slappart2'
,
filter_kw
=
{
'computer_guid'
:
computer_0_id
})
self
.
assertEqual
(
rv
.
_status_code
,
404
)
self
.
assertEqual
(
rv
.
_status_code
,
404
)
self
.
format_for_number_of_partitions
(
2
,
computer_id
=
computer_0_id
)
self
.
format_for_number_of_partitions
(
2
,
computer_id
=
computer_0_id
)
# Deploy to first non-default computer using SLA
# Deploy to first non-default computer using SLA
partition
=
self
.
request
(
software_release_1
,
None
,
'MyFirstInstance'
,
'slappart0'
,
filter_kw
=
{
'computer_guid'
:
computer_0_id
})
partition
=
self
.
request
(
software_release_1
,
None
,
'MyFirstInstance'
,
'slappart0'
,
filter_kw
=
{
'computer_guid'
:
computer_0_id
})
self
.
assertEqual
(
partition
.
getState
(),
'started'
)
self
.
assertEqual
(
partition
.
getState
(),
'started'
)
self
.
assertEqual
(
partition
.
_partition_id
,
'slappart0'
)
self
.
assertEqual
(
partition
.
_partition_id
,
'slappart0'
)
self
.
assertEqual
(
partition
.
_computer_id
,
computer_0_id
)
self
.
assertEqual
(
partition
.
_computer_id
,
computer_0_id
)
...
@@ -1517,7 +1517,7 @@ class TestMultiNodeSupport(MasterMixin):
...
@@ -1517,7 +1517,7 @@ class TestMultiNodeSupport(MasterMixin):
self
.
assertTrue
(
computer_1
.
_computer_partition_list
[
1
].
_software_release_document
==
None
)
self
.
assertTrue
(
computer_1
.
_computer_partition_list
[
1
].
_software_release_document
==
None
)
# Deploy to second non-default computer using SLA
# Deploy to second non-default computer using SLA
partition
=
self
.
request
(
software_release_2
,
None
,
'MySecondInstance'
,
'slappart0'
,
filter_kw
=
{
'computer_guid'
:
computer_1_id
})
partition
=
self
.
request
(
software_release_2
,
None
,
'MySecondInstance'
,
'slappart0'
,
filter_kw
=
{
'computer_guid'
:
computer_1_id
})
self
.
assertEqual
(
partition
.
getState
(),
'started'
)
self
.
assertEqual
(
partition
.
getState
(),
'started'
)
self
.
assertEqual
(
partition
.
_partition_id
,
'slappart0'
)
self
.
assertEqual
(
partition
.
_partition_id
,
'slappart0'
)
self
.
assertEqual
(
partition
.
_computer_id
,
computer_1_id
)
self
.
assertEqual
(
partition
.
_computer_id
,
computer_1_id
)
...
@@ -1539,10 +1539,10 @@ class TestMultiNodeSupport(MasterMixin):
...
@@ -1539,10 +1539,10 @@ class TestMultiNodeSupport(MasterMixin):
computer_1_id
=
'COMP-1'
computer_1_id
=
'COMP-1'
self
.
format_for_number_of_partitions
(
6
,
computer_id
=
computer_0_id
)
self
.
format_for_number_of_partitions
(
6
,
computer_id
=
computer_0_id
)
self
.
format_for_number_of_partitions
(
6
,
computer_id
=
computer_1_id
)
self
.
format_for_number_of_partitions
(
6
,
computer_id
=
computer_1_id
)
partition_first
=
self
.
request
(
'http://sr//'
,
None
,
'MyFirstInstance'
,
'slappart0'
,
filter_kw
=
{
'computer_guid'
:
computer_0_id
})
partition_first
=
self
.
request
(
'http://sr//'
,
None
,
'MyFirstInstance'
,
'slappart0'
,
filter_kw
=
{
'computer_guid'
:
computer_0_id
})
partition_second
=
self
.
request
(
'http://sr//'
,
None
,
'MySecondInstance'
,
'slappart0'
,
filter_kw
=
{
'computer_guid'
:
computer_1_id
})
partition_second
=
self
.
request
(
'http://sr//'
,
None
,
'MySecondInstance'
,
'slappart0'
,
filter_kw
=
{
'computer_guid'
:
computer_1_id
})
partition_first
=
self
.
request
(
'http://sr//'
,
None
,
'MyFirstInstance'
,
'slappart0'
,
filter_kw
=
{
'computer_guid'
:
computer_0_id
},
state
=
'stopped'
)
partition_first
=
self
.
request
(
'http://sr//'
,
None
,
'MyFirstInstance'
,
'slappart0'
,
filter_kw
=
{
'computer_guid'
:
computer_0_id
},
state
=
'stopped'
)
computer_0
=
loads
(
self
.
app
.
get
(
'/getFullComputerInformation?computer_id=COMP-0'
).
data
)
computer_0
=
loads
(
self
.
app
.
get
(
'/getFullComputerInformation?computer_id=COMP-0'
).
data
)
computer_1
=
loads
(
self
.
app
.
get
(
'/getFullComputerInformation?computer_id=COMP-1'
).
data
)
computer_1
=
loads
(
self
.
app
.
get
(
'/getFullComputerInformation?computer_id=COMP-1'
).
data
)
...
@@ -1562,8 +1562,8 @@ class TestMultiNodeSupport(MasterMixin):
...
@@ -1562,8 +1562,8 @@ class TestMultiNodeSupport(MasterMixin):
computer_1_id
=
'COMP-1'
computer_1_id
=
'COMP-1'
self
.
format_for_number_of_partitions
(
2
,
computer_id
=
computer_0_id
)
self
.
format_for_number_of_partitions
(
2
,
computer_id
=
computer_0_id
)
self
.
format_for_number_of_partitions
(
2
,
computer_id
=
computer_1_id
)
self
.
format_for_number_of_partitions
(
2
,
computer_id
=
computer_1_id
)
partition
=
self
.
request
(
'http://sr//'
,
None
,
'MyFirstInstance'
,
'slappart0'
,
filter_kw
=
{
'computer_guid'
:
computer_0_id
})
partition
=
self
.
request
(
'http://sr//'
,
None
,
'MyFirstInstance'
,
'slappart0'
,
filter_kw
=
{
'computer_guid'
:
computer_0_id
})
partition
=
self
.
request
(
'http://sr//'
,
None
,
'MyFirstInstance'
,
'slappart0'
,
filter_kw
=
{
'computer_guid'
:
computer_1_id
})
partition
=
self
.
request
(
'http://sr//'
,
None
,
'MyFirstInstance'
,
'slappart0'
,
filter_kw
=
{
'computer_guid'
:
computer_1_id
})
self
.
assertEqual
(
partition
.
_computer_id
,
computer_0_id
)
self
.
assertEqual
(
partition
.
_computer_id
,
computer_0_id
)
...
@@ -1582,19 +1582,19 @@ class TestMultiNodeSupport(MasterMixin):
...
@@ -1582,19 +1582,19 @@ class TestMultiNodeSupport(MasterMixin):
self
.
format_for_number_of_partitions
(
2
,
computer_id
=
computer_0_id
)
self
.
format_for_number_of_partitions
(
2
,
computer_id
=
computer_0_id
)
self
.
format_for_number_of_partitions
(
2
,
computer_id
=
computer_1_id
)
self
.
format_for_number_of_partitions
(
2
,
computer_id
=
computer_1_id
)
self
.
format_for_number_of_partitions
(
2
)
self
.
format_for_number_of_partitions
(
2
)
self
.
request
(
'http://sr2//'
,
None
,
'MyFirstInstance'
,
'slappart0'
,
filter_kw
=
{
'computer_guid'
:
computer_0_id
})
self
.
request
(
'http://sr2//'
,
None
,
'MyFirstInstance'
,
'slappart0'
,
filter_kw
=
{
'computer_guid'
:
computer_0_id
})
self
.
request
(
'http://sr//'
,
None
,
'MyOtherInstance'
,
'slappart0'
,
filter_kw
=
{
'computer_guid'
:
computer_1_id
})
self
.
request
(
'http://sr//'
,
None
,
'MyOtherInstance'
,
'slappart0'
,
filter_kw
=
{
'computer_guid'
:
computer_1_id
})
# Request slave without SLA: will fail
# Request slave without SLA: will fail
rv
=
self
.
_requestComputerPartition
(
'http://sr//'
,
None
,
'MySlaveInstance'
,
'slappart2'
,
shared
=
True
)
rv
=
self
.
_requestComputerPartition
(
'http://sr//'
,
None
,
'MySlaveInstance'
,
'slappart2'
,
shared
=
True
)
self
.
assertEqual
(
rv
.
_status_code
,
404
)
self
.
assertEqual
(
rv
.
_status_code
,
404
)
# Request slave with SLA on incorrect computer: will fail
# Request slave with SLA on incorrect computer: will fail
rv
=
self
.
_requestComputerPartition
(
'http://sr//'
,
None
,
'MySlaveInstance'
,
'slappart2'
,
shared
=
True
,
filter_kw
=
{
'computer_guid'
:
computer_0_id
})
rv
=
self
.
_requestComputerPartition
(
'http://sr//'
,
None
,
'MySlaveInstance'
,
'slappart2'
,
shared
=
True
,
filter_kw
=
{
'computer_guid'
:
computer_0_id
})
self
.
assertEqual
(
rv
.
_status_code
,
404
)
self
.
assertEqual
(
rv
.
_status_code
,
404
)
# Request computer on correct computer: will succeed
# Request computer on correct computer: will succeed
partition
=
self
.
request
(
'http://sr//'
,
None
,
'MySlaveInstance'
,
'slappart2'
,
shared
=
True
,
filter_kw
=
{
'computer_guid'
:
computer_1_id
})
partition
=
self
.
request
(
'http://sr//'
,
None
,
'MySlaveInstance'
,
'slappart2'
,
shared
=
True
,
filter_kw
=
{
'computer_guid'
:
computer_1_id
})
self
.
assertEqual
(
partition
.
_computer_id
,
computer_1_id
)
self
.
assertEqual
(
partition
.
_computer_id
,
computer_1_id
)
def
test_multi_node_support_instance_guid
(
self
):
def
test_multi_node_support_instance_guid
(
self
):
...
@@ -1608,8 +1608,8 @@ class TestMultiNodeSupport(MasterMixin):
...
@@ -1608,8 +1608,8 @@ class TestMultiNodeSupport(MasterMixin):
self
.
format_for_number_of_partitions
(
2
,
computer_id
=
computer_0_id
)
self
.
format_for_number_of_partitions
(
2
,
computer_id
=
computer_0_id
)
self
.
format_for_number_of_partitions
(
2
,
computer_id
=
computer_1_id
)
self
.
format_for_number_of_partitions
(
2
,
computer_id
=
computer_1_id
)
self
.
format_for_number_of_partitions
(
2
)
self
.
format_for_number_of_partitions
(
2
)
partition_computer_0
=
self
.
request
(
'http://sr2//'
,
None
,
'MyFirstInstance'
,
'slappart0'
,
filter_kw
=
{
'computer_guid'
:
computer_0_id
})
partition_computer_0
=
self
.
request
(
'http://sr2//'
,
None
,
'MyFirstInstance'
,
'slappart0'
,
filter_kw
=
{
'computer_guid'
:
computer_0_id
})
partition_computer_1
=
self
.
request
(
'http://sr//'
,
None
,
'MyOtherInstance'
,
'slappart0'
,
filter_kw
=
{
'computer_guid'
:
computer_1_id
})
partition_computer_1
=
self
.
request
(
'http://sr//'
,
None
,
'MyOtherInstance'
,
'slappart0'
,
filter_kw
=
{
'computer_guid'
:
computer_1_id
})
partition_computer_default
=
self
.
request
(
'http://sr//'
,
None
,
'MyThirdInstance'
,
'slappart0'
)
partition_computer_default
=
self
.
request
(
'http://sr//'
,
None
,
'MyThirdInstance'
,
'slappart0'
)
self
.
assertEqual
(
partition_computer_0
.
getInstanceGuid
(),
'COMP-0-slappart0'
)
self
.
assertEqual
(
partition_computer_0
.
getInstanceGuid
(),
'COMP-0-slappart0'
)
...
@@ -1675,11 +1675,11 @@ host = %(host)s
...
@@ -1675,11 +1675,11 @@ host = %(host)s
port = %(port)s
port = %(port)s
database_uri = %(rootdir)s/lib/external_proxy.db
database_uri = %(rootdir)s/lib/external_proxy.db
"""
%
{
"""
%
{
'rootdir'
:
self
.
_rootdir
,
'rootdir'
:
self
.
_rootdir
,
'host'
:
self
.
external_proxy_host
,
'host'
:
self
.
external_proxy_host
,
'port'
:
self
.
external_proxy_port
,
'port'
:
self
.
external_proxy_port
,
'external_computer_id'
:
self
.
external_computer_id
'external_computer_id'
:
self
.
external_computer_id
})
})
def
startExternalProxy
(
self
):
def
startExternalProxy
(
self
):
"""
"""
...
...
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