Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Support
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in
Toggle navigation
P
py-bake
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
sds
py-bake
Commits
0985e51f
Commit
0985e51f
authored
Aug 14, 2018
by
Matthieu Dorier
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
added migrate_target
parent
a28d22f6
Changes
2
Hide whitespace changes
Inline
Side-by-side
Showing
2 changed files
with
41 additions
and
5 deletions
+41
-5
pybake/client.py
pybake/client.py
+20
-2
pybake/src/client.cpp
pybake/src/client.cpp
+21
-3
No files found.
pybake/client.py
View file @
0985e51f
...
...
@@ -254,7 +254,7 @@ class BakeProviderHandle():
ret
=
_pybakeclient
.
remove
(
self
.
_ph
,
rid
.
_rid
)
return
(
ret
==
0
)
def
migrate
(
self
,
source_rid
,
dest_addr
,
dest_provider_id
,
dest_target
,
remove_source
=
True
):
def
migrate
_region
(
self
,
source_rid
,
dest_addr
,
dest_provider_id
,
dest_target
,
remove_source
=
True
):
"""
Migrates a give region from its source to a destination designated by
an address, a provider id, and a target id. This function will also remove
...
...
@@ -269,8 +269,26 @@ class BakeProviderHandle():
Returns:
The resulting BakeRegionID if successful, None otherwise.
"""
ret
=
_pybakeclient
.
migrate
(
self
.
_ph
,
source_rid
.
_rid
,
remove_source
,
ret
=
_pybakeclient
.
migrate
_region
(
self
.
_ph
,
source_rid
.
_rid
,
remove_source
,
str
(
dest_addr
),
int
(
dest_provider_id
),
dest_target
.
_tid
)
if
(
ret
==
None
):
return
ret
return
BakeRegionID
(
ret
)
def
migrate_target
(
self
,
source_tid
,
dest_addr
,
dest_provider_id
,
dest_root
,
remove_source
=
True
):
"""
Migrates a given target from its source to a destination designated by
an address, and a provider id. This function will also remove the original region
if remove_source is set to True.
Args:
source_tid (BakeTargetID): source target to move.
dest_addr (str): destination address.
dest_provider_id (int): destination provider id.
dest_root (str): destination root where to migrate the target.
remove_source (bool) whether to remove the source region or not.
Returns:
True if the target was correctly migrated.
"""
return
_pybakeclient
.
migrate_target
(
self
.
_ph
,
source_tid
.
_tid
,
remove_source
,
str
(
dest_addr
),
int
(
dest_provider_id
),
str
(
dest_root
))
pybake/src/client.cpp
View file @
0985e51f
...
...
@@ -209,7 +209,7 @@ static py11::object pybake_read(
return
py11
::
bytes
(
result
);
}
static
py11
::
object
pybake_migrate
(
static
py11
::
object
pybake_migrate
_region
(
pybake_provider_handle_t
source_ph
,
const
bake_region_id_t
&
source_rid
,
bool
remove_source
,
...
...
@@ -219,7 +219,7 @@ static py11::object pybake_migrate(
bake_region_id_t
dest_rid
;
int
ret
;
Py_BEGIN_ALLOW_THREADS
ret
=
bake_migrate
(
source_ph
,
source_rid
,
ret
=
bake_migrate
_region
(
source_ph
,
source_rid
,
remove_source
,
dest_addr
.
c_str
(),
dest_provider_id
,
dest_target_id
,
&
dest_rid
);
Py_END_ALLOW_THREADS
...
...
@@ -227,6 +227,23 @@ static py11::object pybake_migrate(
return
py11
::
cast
(
dest_rid
);
}
static
py11
::
object
pybake_migrate_target
(
pybake_provider_handle_t
source_ph
,
const
bake_target_id_t
&
source_tid
,
bool
remove_source
,
const
std
::
string
&
dest_addr
,
uint16_t
dest_provider_id
,
const
std
::
string
&
dest_root
)
{
int
ret
;
Py_BEGIN_ALLOW_THREADS
ret
=
bake_migrate_target
(
source_ph
,
source_tid
,
remove_source
,
dest_addr
.
c_str
(),
dest_provider_id
,
dest_root
.
c_str
());
Py_END_ALLOW_THREADS
if
(
ret
!=
BAKE_SUCCESS
)
return
py11
::
cast
(
false
);
return
py11
::
cast
(
true
);
}
#if HAS_NUMPY
static
py11
::
object
pybake_read_numpy
(
pybake_provider_handle_t
ph
,
...
...
@@ -282,7 +299,8 @@ PYBIND11_MODULE(_pybakeclient, m)
m
.
def
(
"read"
,
&
pybake_read
);
m
.
def
(
"remove"
,
[](
pybake_provider_handle_t
pbph
,
bake_region_id_t
rid
)
{
return
bake_remove
(
pbph
,
rid
);}
);
m
.
def
(
"migrate"
,
&
pybake_migrate
);
m
.
def
(
"migrate_region"
,
&
pybake_migrate_region
);
m
.
def
(
"migrate_target"
,
&
pybake_migrate_target
);
m
.
def
(
"shutdown_service"
,
[](
pybake_client_t
client
,
pymargo_addr
addr
)
{
return
bake_shutdown_service
(
client
,
addr
);
});
#if HAS_NUMPY
...
...
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