From: Perry Gagne pgagne@redhat.com
Had to exclude args since they might contain Device objects (ex. when creating a team device)
I have a couple ideas for a more thorough approch here, but whated to commit this right away to unblock testing since it might cause beaker jobs to fail.
Signed-off-by: Perry Gagne pgagne@redhat.com --- lnst/Controller/RecipeResults.py | 5 +++++ 1 file changed, 5 insertions(+)
diff --git a/lnst/Controller/RecipeResults.py b/lnst/Controller/RecipeResults.py index 941ea8d..c2e2c3e 100644 --- a/lnst/Controller/RecipeResults.py +++ b/lnst/Controller/RecipeResults.py @@ -183,6 +183,11 @@ class DeviceMethodCallResult(DeviceConfigResult): ), )
+ def __getstate__(self): + state = super(DeviceMethodCallResult, self).__getstate__() + # Remove things that can't be pickled + state['_args'] = None # Could be device object (ex. port of team device). + return state
class DeviceAttrSetResult(DeviceConfigResult): def __init__(self, success, device, attr_name, value, old_value):
Mon, Sep 21, 2020 at 08:49:49PM CEST, pgagne@redhat.com wrote:
From: Perry Gagne pgagne@redhat.com
Had to exclude args since they might contain Device objects (ex. when creating a team device)
I have a couple ideas for a more thorough approch here, but whated to commit this right away to unblock testing since it might cause beaker jobs to fail.
Signed-off-by: Perry Gagne pgagne@redhat.com
lnst/Controller/RecipeResults.py | 5 +++++ 1 file changed, 5 insertions(+)
diff --git a/lnst/Controller/RecipeResults.py b/lnst/Controller/RecipeResults.py index 941ea8d..c2e2c3e 100644 --- a/lnst/Controller/RecipeResults.py +++ b/lnst/Controller/RecipeResults.py @@ -183,6 +183,11 @@ class DeviceMethodCallResult(DeviceConfigResult): ), )
- def __getstate__(self):
state = super(DeviceMethodCallResult, self).__getstate__()
# Remove things that can't be pickled
state['_args'] = None # Could be device object (ex. port of team device).
return state
class DeviceAttrSetResult(DeviceConfigResult): def __init__(self, success, device, attr_name, value, old_value): -- 2.26.2 _______________________________________________ LNST-developers mailing list -- lnst-developers@lists.fedorahosted.org To unsubscribe send an email to lnst-developers-leave@lists.fedorahosted.org Fedora Code of Conduct: https://docs.fedoraproject.org/en-US/project/code-of-conduct/ List Guidelines: https://fedoraproject.org/wiki/Mailing_list_guidelines List Archives: https://lists.fedorahosted.org/archives/list/lnst-developers@lists.fedorahos...
Hi Perry, have you tested this in a Beaker run? Does it resolve the issue in your runs?
-Jan
On Wed, Sep 23, 2020 at 10:21:47AM +0200, Jan Tluka wrote:
Mon, Sep 21, 2020 at 08:49:49PM CEST, pgagne@redhat.com wrote:
From: Perry Gagne pgagne@redhat.com
Had to exclude args since they might contain Device objects (ex. when creating a team device)
I have a couple ideas for a more thorough approch here, but whated to commit this right away to unblock testing since it might cause beaker jobs to fail.
Signed-off-by: Perry Gagne pgagne@redhat.com
lnst/Controller/RecipeResults.py | 5 +++++ 1 file changed, 5 insertions(+)
diff --git a/lnst/Controller/RecipeResults.py b/lnst/Controller/RecipeResults.py index 941ea8d..c2e2c3e 100644 --- a/lnst/Controller/RecipeResults.py +++ b/lnst/Controller/RecipeResults.py @@ -183,6 +183,11 @@ class DeviceMethodCallResult(DeviceConfigResult): ), )
- def __getstate__(self):
state = super(DeviceMethodCallResult, self).__getstate__()
# Remove things that can't be pickled
state['_args'] = None # Could be device object (ex. port of team device).
return state
class DeviceAttrSetResult(DeviceConfigResult): def __init__(self, success, device, attr_name, value, old_value): -- 2.26.2 _______________________________________________ LNST-developers mailing list -- lnst-developers@lists.fedorahosted.org To unsubscribe send an email to lnst-developers-leave@lists.fedorahosted.org Fedora Code of Conduct: https://docs.fedoraproject.org/en-US/project/code-of-conduct/ List Guidelines: https://fedoraproject.org/wiki/Mailing_list_guidelines List Archives: https://lists.fedorahosted.org/archives/list/lnst-developers@lists.fedorahos...
Hi Perry, have you tested this in a Beaker run? Does it resolve the issue in your runs?
-Jan _______________________________________________ LNST-developers mailing list -- lnst-developers@lists.fedorahosted.org To unsubscribe send an email to lnst-developers-leave@lists.fedorahosted.org Fedora Code of Conduct: https://docs.fedoraproject.org/en-US/project/code-of-conduct/ List Guidelines: https://fedoraproject.org/wiki/Mailing_list_guidelines List Archives: https://lists.fedorahosted.org/archives/list/lnst-developers@lists.fedorahos...
Yeah, I'm a little worried about just simply blinding out the value of an entire list of arguments due to a single item being unpicklable.
At the same time I think this could also appear in DeviceAttrSetResult.
Wouldn't it be better to just make the RemoteDevice class picklable itself and leave it included?
-Ondrej
Yeah i see your point.
I was looking at this again, and am running into some weird issues when pickling and unpickling data from the RemoteDevice and Machine objects, like getting recursive getattr calls when trying to unpickle a RemoteDevice object.
Can we do a call and look over the code together, perhaps you might be able to provide some ideas as to how to solve the issue i am having.
On Wed, Sep 23, 2020 at 7:41 AM Ondrej Lichtner olichtne@redhat.com wrote:
On Wed, Sep 23, 2020 at 10:21:47AM +0200, Jan Tluka wrote:
Mon, Sep 21, 2020 at 08:49:49PM CEST, pgagne@redhat.com wrote:
From: Perry Gagne pgagne@redhat.com
Had to exclude args since they might contain Device objects (ex. when
creating a team device)
I have a couple ideas for a more thorough approch here, but whated to
commit this right away to unblock
testing since it might cause beaker jobs to fail.
Signed-off-by: Perry Gagne pgagne@redhat.com
lnst/Controller/RecipeResults.py | 5 +++++ 1 file changed, 5 insertions(+)
diff --git a/lnst/Controller/RecipeResults.py
b/lnst/Controller/RecipeResults.py
index 941ea8d..c2e2c3e 100644 --- a/lnst/Controller/RecipeResults.py +++ b/lnst/Controller/RecipeResults.py @@ -183,6 +183,11 @@ class DeviceMethodCallResult(DeviceConfigResult): ), )
- def __getstate__(self):
state = super(DeviceMethodCallResult, self).__getstate__()
# Remove things that can't be pickled
state['_args'] = None # Could be device object (ex. port of
team device).
return state
class DeviceAttrSetResult(DeviceConfigResult): def __init__(self, success, device, attr_name, value, old_value): -- 2.26.2 _______________________________________________ LNST-developers mailing list -- lnst-developers@lists.fedorahosted.org To unsubscribe send an email to
lnst-developers-leave@lists.fedorahosted.org
Fedora Code of Conduct:
https://docs.fedoraproject.org/en-US/project/code-of-conduct/
List Guidelines: https://fedoraproject.org/wiki/Mailing_list_guidelines List Archives:
https://lists.fedorahosted.org/archives/list/lnst-developers@lists.fedorahos...
Hi Perry, have you tested this in a Beaker run? Does it resolve the
issue in your runs?
-Jan _______________________________________________ LNST-developers mailing list -- lnst-developers@lists.fedorahosted.org To unsubscribe send an email to
lnst-developers-leave@lists.fedorahosted.org
Fedora Code of Conduct:
https://docs.fedoraproject.org/en-US/project/code-of-conduct/
List Guidelines: https://fedoraproject.org/wiki/Mailing_list_guidelines List Archives:
https://lists.fedorahosted.org/archives/list/lnst-developers@lists.fedorahos...
Yeah, I'm a little worried about just simply blinding out the value of an entire list of arguments due to a single item being unpicklable.
At the same time I think this could also appear in DeviceAttrSetResult.
Wouldn't it be better to just make the RemoteDevice class picklable itself and leave it included?
-Ondrej
On Wed, Sep 23, 2020 at 04:06:36PM -0400, Perry Gagne wrote:
Yeah i see your point.
I was looking at this again, and am running into some weird issues when pickling and unpickling data from the RemoteDevice and Machine objects, like getting recursive getattr calls when trying to unpickle a RemoteDevice object.
Can we do a call and look over the code together, perhaps you might be able to provide some ideas as to how to solve the issue i am having.
sure, I don't have anything scheduled for today so just ping me anytime you're ready.
-Ondrej
On Wed, Sep 23, 2020 at 7:41 AM Ondrej Lichtner olichtne@redhat.com wrote:
On Wed, Sep 23, 2020 at 10:21:47AM +0200, Jan Tluka wrote:
Mon, Sep 21, 2020 at 08:49:49PM CEST, pgagne@redhat.com wrote:
From: Perry Gagne pgagne@redhat.com
Had to exclude args since they might contain Device objects (ex. when
creating a team device)
I have a couple ideas for a more thorough approch here, but whated to
commit this right away to unblock
testing since it might cause beaker jobs to fail.
Signed-off-by: Perry Gagne pgagne@redhat.com
lnst/Controller/RecipeResults.py | 5 +++++ 1 file changed, 5 insertions(+)
diff --git a/lnst/Controller/RecipeResults.py
b/lnst/Controller/RecipeResults.py
index 941ea8d..c2e2c3e 100644 --- a/lnst/Controller/RecipeResults.py +++ b/lnst/Controller/RecipeResults.py @@ -183,6 +183,11 @@ class DeviceMethodCallResult(DeviceConfigResult): ), )
- def __getstate__(self):
state = super(DeviceMethodCallResult, self).__getstate__()
# Remove things that can't be pickled
state['_args'] = None # Could be device object (ex. port of
team device).
return state
class DeviceAttrSetResult(DeviceConfigResult): def __init__(self, success, device, attr_name, value, old_value): -- 2.26.2 _______________________________________________ LNST-developers mailing list -- lnst-developers@lists.fedorahosted.org To unsubscribe send an email to
lnst-developers-leave@lists.fedorahosted.org
Fedora Code of Conduct:
https://docs.fedoraproject.org/en-US/project/code-of-conduct/
List Guidelines: https://fedoraproject.org/wiki/Mailing_list_guidelines List Archives:
https://lists.fedorahosted.org/archives/list/lnst-developers@lists.fedorahos...
Hi Perry, have you tested this in a Beaker run? Does it resolve the
issue in your runs?
-Jan _______________________________________________ LNST-developers mailing list -- lnst-developers@lists.fedorahosted.org To unsubscribe send an email to
lnst-developers-leave@lists.fedorahosted.org
Fedora Code of Conduct:
https://docs.fedoraproject.org/en-US/project/code-of-conduct/
List Guidelines: https://fedoraproject.org/wiki/Mailing_list_guidelines List Archives:
https://lists.fedorahosted.org/archives/list/lnst-developers@lists.fedorahos...
Yeah, I'm a little worried about just simply blinding out the value of an entire list of arguments due to a single item being unpicklable.
At the same time I think this could also appear in DeviceAttrSetResult.
Wouldn't it be better to just make the RemoteDevice class picklable itself and leave it included?
-Ondrej
lnst-developers@lists.fedorahosted.org