livecd_stage2 autoresume clear

classic Classic list List threaded Threaded
3 messages Options
Reply | Threaded
Open this post in threaded view
|

livecd_stage2 autoresume clear

Marco Gigante
Hi. I'm using catalyst to generate installcd-stage2-minimal with custom
changes and packages.
I realized catalyst clears autoresume states once the iso image was
successfully generated, regardless the fact I run catalyst with or
without --clear-autoresume option.

Poking around the code, for my convenience I made the change as in the
attached diff (vs. master branch).
Could such modification bring to unexpected behaviour?

I tried with all 2.X, 3.0, and master branches seeing the same behaviour.

Thanks in advance for any help.
marco

0001-Set-autoresume-clear-option-dependent-for-livecd_sta.patch (944 bytes) Download Attachment
Reply | Threaded
Open this post in threaded view
|

Re: livecd_stage2 autoresume clear

Brian Dolbec-3
On Mon, 11 Apr 2016 16:07:11 +0200
Marco Gigante <[hidden email]> wrote:

> Hi. I'm using catalyst to generate installcd-stage2-minimal with
> custom changes and packages.
> I realized catalyst clears autoresume states once the iso image was
> successfully generated, regardless the fact I run catalyst with or
> without --clear-autoresume option.
>
> Poking around the code, for my convenience I made the change as in
> the attached diff (vs. master branch).
> Could such modification bring to unexpected behaviour?
>
> I tried with all 2.X, 3.0, and master branches seeing the same
> behaviour.
>
> Thanks in advance for any help.
> marco


catalyst always clears resume points when any stage has completed
successfully.  

Why would it do anything else???

Not clearing the resume point would render the stage unable to run
again, skipping past everything already completed which would be the
whole process.   That would force you to use the clear-autoresume
option each time you want to do a new run.

I don't understand the reasoning for this patch


-  self.settings["action_sequence"].append("clear_autoresume")
+  if "clear-autoresume" not in self.settings["options"]:
+ self.settings["action_sequence"].append("clear_autoresume")

This if statement causes kind of the opposite of what I expect the
clear-autoresume option to do.  This action sequence setting is for
clearing the resume points after it has successfully done all previous
action sequences.  What you appear to be doing avove seems more like
the "keepwork" option.  Please look at the set_completion_action_sequences()
function in base/stagebase.py.  That is a relatively recently created
function which cleans up some code duplication I found.  Perhaps that
function can apply to the livecd_stage2 operation as well.  If not all
of it applies then you can use part of it to maintain consistent option
use and behaviour.
--
Brian Dolbec <dolsen>


Reply | Threaded
Open this post in threaded view
|

Re: livecd_stage2 autoresume clear

Marco Gigante
On 11/04/2016 19:39, Brian Dolbec wrote:

> On Mon, 11 Apr 2016 16:07:11 +0200
> Marco Gigante <[hidden email]> wrote:
>
>> Hi. I'm using catalyst to generate installcd-stage2-minimal with
>> custom changes and packages.
>> I realized catalyst clears autoresume states once the iso image was
>> successfully generated, regardless the fact I run catalyst with or
>> without --clear-autoresume option.
>>
>> Poking around the code, for my convenience I made the change as in
>> the attached diff (vs. master branch).
>> Could such modification bring to unexpected behaviour?
>>
>> I tried with all 2.X, 3.0, and master branches seeing the same
>> behaviour.
>>
>> Thanks in advance for any help.
>> marco
>
> catalyst always clears resume points when any stage has completed
> successfully.
>
> Why would it do anything else???

Because during development and test it is useful to tun just some of the
steps without going through all the steps, which is very time consuming.
Since there is the --clear-autoresume option to explicitly clears the
states, I assumed the default would be to not clear them.

>
> Not clearing the resume point would render the stage unable to run
> again, skipping past everything already completed which would be the
> whole process.   That would force you to use the clear-autoresume
> option each time you want to do a new run.
>
> I don't understand the reasoning for this patch

Well, the patch was intended to better illustrate my question, not to
apply it.

>
>
> -  self.settings["action_sequence"].append("clear_autoresume")
> +  if "clear-autoresume" not in self.settings["options"]:
> + self.settings["action_sequence"].append("clear_autoresume")
>
> This if statement causes kind of the opposite of what I expect the
> clear-autoresume option to do.  This action sequence setting is for
> clearing the resume points after it has successfully done all previous
> action sequences.  What you appear to be doing avove seems more like
> the "keepwork" option.  Please look at the set_completion_action_sequences()
> function in base/stagebase.py.  That is a relatively recently created
> function which cleans up some code duplication I found.  Perhaps that
> function can apply to the livecd_stage2 operation as well.  If not all
> of it applies then you can use part of it to maintain consistent option
> use and behaviour.

oh, ok. keepwork went completely unnoticed to me. I'm running catalyst
v2 and from there I went into the repository to look at the code. Then I
used the latest code on master branch to illustrate my question.
I'm pretty new to catalyst and I'm still figuring out the whole picture.

Thanks for the explanation.
marco