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
Paul Graydon
slapos.core
Commits
b4de4ad1
Commit
b4de4ad1
authored
Jun 09, 2017
by
Tomáš Peterka
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
Replace plurals
parent
69e53d9e
Changes
2
Hide whitespace changes
Inline
Side-by-side
Showing
2 changed files
with
22 additions
and
22 deletions
+22
-22
slapos/format.py
slapos/format.py
+20
-20
slapos/tests/slapformat.py
slapos/tests/slapformat.py
+2
-2
No files found.
slapos/format.py
View file @
b4de4ad1
...
...
@@ -66,7 +66,7 @@ logger = logging.getLogger("slapos.format")
# dict[str: ManagerClass] used in configuration and XML dump of computer
# this dictionary is intended to be filled after each definition of a Manager
available_manager
s
=
{}
available_manager
_list
=
{}
def
prettify_xml
(
xml
):
...
...
@@ -427,7 +427,7 @@ class CGroupManager(Manager):
return
folder
# mark manager available
available_manager
s
[
CGroupManager
.
short_name
]
=
CGroupManager
available_manager
_list
[
CGroupManager
.
short_name
]
=
CGroupManager
class
Computer
(
object
):
...
...
@@ -437,7 +437,7 @@ class Computer(object):
ipv6_interface
=
None
,
software_user
=
'slapsoft'
,
tap_gateway_interface
=
None
,
instance_root
=
None
,
software_root
=
None
,
instance_storage_home
=
None
,
partition_list
=
None
,
manager
s
=
None
):
partition_list
=
None
,
manager
_list
=
None
):
"""
Attributes:
reference: str, the reference of the computer.
...
...
@@ -466,11 +466,11 @@ class Computer(object):
self
.
slapos_version
=
None
# HASA relation to managers (could turn into plugins with `format` and `update` methods)
self
.
manager
s
=
managers
# for serialization
self
.
manager
_list
=
manager_list
# for serialization
# hide list[Manager] from serializer by prepending "_"
self
.
_manager_list
=
tuple
(
filter
(
lambda
manager
:
manager
.
is_allowed
(),
(
available_manager
s
[
manager_str
](
self
)
for
manager_str
in
managers
)))
\
if
manager
s
else
tuple
()
(
available_manager
_list
[
manager_str
](
self
)
for
manager_str
in
manager_list
)))
\
if
manager
_list
else
tuple
()
def
__getinitargs__
(
self
):
return
(
self
.
reference
,
self
.
interface
)
...
...
@@ -600,7 +600,7 @@ class Computer(object):
@
classmethod
def
load
(
cls
,
path_to_xml
,
reference
,
ipv6_interface
,
tap_gateway_interface
,
instance_root
=
None
,
software_root
=
None
,
manager
s
=
None
):
instance_root
=
None
,
software_root
=
None
,
manager
_list
=
None
):
"""
Create a computer object from a valid xml file.
...
...
@@ -624,10 +624,10 @@ class Computer(object):
tap_gateway_interface
=
tap_gateway_interface
,
software_root
=
dumped_dict
.
get
(
'software_root'
,
software_root
),
instance_root
=
dumped_dict
.
get
(
'instance_root'
,
instance_root
),
manager
s
=
dumped_dict
.
get
(
'managers'
,
managers
),
manager
_list
=
dumped_dict
.
get
(
'manager_list'
,
manager_list
),
)
for
i
,
partition_dict
in
enumerate
(
dumped_dict
[
'partition_list'
]):
for
partition_index
,
partition_dict
in
enumerate
(
dumped_dict
[
'partition_list'
]):
if
partition_dict
[
'user'
]:
user
=
User
(
partition_dict
[
'user'
][
'name'
])
...
...
@@ -645,10 +645,10 @@ class Computer(object):
tap
=
Tap
(
partition_dict
[
'reference'
])
if
partition_dict
.
get
(
'tun'
)
is
not
None
and
partition_dict
[
'tun'
].
get
(
'ipv4_addr'
)
is
not
None
:
tun
=
Tun
(
partition_dict
[
'tun'
][
'name'
],
i
,
len
(
dumped_dict
[
'partition_list'
]))
tun
=
Tun
(
partition_dict
[
'tun'
][
'name'
],
partition_index
,
len
(
dumped_dict
[
'partition_list'
]))
tun
.
ipv4_addr
=
partition_dict
[
'tun'
][
'ipv4_addr'
]
else
:
tun
=
Tun
(
"slaptun"
+
str
(
i
),
i
,
len
(
dumped_dict
[
'partition_list'
]))
tun
=
Tun
(
"slaptun"
+
str
(
partition_index
),
partition_index
,
len
(
dumped_dict
[
'partition_list'
]))
address_list
=
partition_dict
[
'address_list'
]
external_storage_list
=
partition_dict
.
get
(
'external_storage_list'
,
[])
...
...
@@ -1509,7 +1509,7 @@ def parse_computer_xml(conf, xml_path):
tap_gateway_interface
=
conf
.
tap_gateway_interface
,
software_root
=
conf
.
software_root
,
instance_root
=
conf
.
instance_root
,
manager
s
=
conf
.
managers
)
manager
_list
=
conf
.
manager_list
)
# Connect to the interface defined by the configuration
computer
.
interface
=
interface
else
:
...
...
@@ -1525,7 +1525,7 @@ def parse_computer_xml(conf, xml_path):
ipv6_interface
=
conf
.
ipv6_interface
,
software_user
=
conf
.
software_user
,
tap_gateway_interface
=
conf
.
tap_gateway_interface
,
manager
s
=
conf
.
managers
,
manager
_list
=
conf
.
manager_list
,
)
partition_amount
=
int
(
conf
.
partition_amount
)
...
...
@@ -1640,7 +1640,7 @@ class FormatConfig(object):
tap_gateway_interface
=
None
use_unique_local_address_block
=
None
instance_storage_home
=
None
manager
s
=
None
manager
_list
=
None
def
__init__
(
self
,
logger
):
self
.
logger
=
logger
...
...
@@ -1730,13 +1730,13 @@ class FormatConfig(object):
# Split str into list[str] and check availability of every manager
# Config value is expected to be strings separated by spaces or commas
manager
s
=
[]
for
manager
in
self
.
manager
s
.
replace
(
","
,
" "
).
split
():
if
manager
not
in
available_manager
s
:
manager
_list
=
[]
for
manager
in
self
.
manager
_list
.
replace
(
","
,
" "
).
split
():
if
manager
not
in
available_manager
_list
:
raise
ValueError
(
"Unknown manager
\
"
{}
\
"
! Known are: {!s}"
.
format
(
manager
,
list
(
available_manager
s
.
keys
())))
manager
s
.
append
(
manager
)
self
.
manager
s
=
managers
# replace original str with list[str] of known managers
manager
,
list
(
available_manager
_list
.
keys
())))
manager
_list
.
append
(
manager
)
self
.
manager
_list
=
manager_list
# replace original str with list[str] of known managers
if
not
self
.
dry_run
:
if
self
.
alter_user
:
...
...
slapos/tests/slapformat.py
View file @
b4de4ad1
...
...
@@ -195,7 +195,7 @@ class CGroupManagerMock(slapos.format.CGroupManager):
return
True
# update available managers with our partially-mocked version
slapos
.
format
.
available_manager
s
[
CGroupManagerMock
.
short_name
]
=
CGroupManagerMock
slapos
.
format
.
available_manager
_list
[
CGroupManagerMock
.
short_name
]
=
CGroupManagerMock
class
SlapformatMixin
(
unittest
.
TestCase
):
...
...
@@ -705,7 +705,7 @@ class TestComputerWithCGroup(SlapformatMixin):
slapos
.
format
.
Partition
(
'partition'
,
'/tmp/slapgrid/instance_root/part1'
,
slapos
.
format
.
User
(
'testuser'
),
[],
tap
=
None
),
],
manager
s
=
(
CGroupManagerMock
.
short_name
,
)
manager
_list
=
(
CGroupManagerMock
.
short_name
,
)
)
# self.patchOs(self.logger)
...
...
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