Patchwork [18/19] Introduce -k option to enable FT migration mode (Kemari).

login
register
mail settings
Submitter Yoshiaki Tamura
Date Dec. 27, 2010, 8:25 a.m.
Message ID <1293438337-21377-19-git-send-email-tamura.yoshiaki@lab.ntt.co.jp>
Download mbox | patch
Permalink /patch/76777/
State New
Headers show

Comments

Yoshiaki Tamura - Dec. 27, 2010, 8:25 a.m.
When -k option is set to migrate command, it will turn on ft_mode to
start FT migration mode (Kemari).

Signed-off-by: Yoshiaki Tamura <tamura.yoshiaki@lab.ntt.co.jp>
---
 hmp-commands.hx |    7 ++++---
 migration.c     |    3 +++
 qmp-commands.hx |    7 ++++---
 3 files changed, 11 insertions(+), 6 deletions(-)
Yoshiaki Tamura - Dec. 27, 2010, 9:11 a.m.
2010/12/27 Michael S. Tsirkin <mst@redhat.com>:
> On Mon, Dec 27, 2010 at 05:25:36PM +0900, Yoshiaki Tamura wrote:
>> When -k option is set to migrate command, it will turn on ft_mode to
>> start FT migration mode (Kemari).
>>
>> Signed-off-by: Yoshiaki Tamura <tamura.yoshiaki@lab.ntt.co.jp>
>> ---
>>  hmp-commands.hx |    7 ++++---
>>  migration.c     |    3 +++
>>  qmp-commands.hx |    7 ++++---
>>  3 files changed, 11 insertions(+), 6 deletions(-)
>>
>> diff --git a/hmp-commands.hx b/hmp-commands.hx
>> index 4befbe2..0071409 100644
>> --- a/hmp-commands.hx
>> +++ b/hmp-commands.hx
>> @@ -735,13 +735,14 @@ ETEXI
>>
>>      {
>>          .name       = "migrate",
>> -        .args_type  = "detach:-d,blk:-b,inc:-i,uri:s",
>> -        .params     = "[-d] [-b] [-i] uri",
>> +        .args_type  = "detach:-d,blk:-b,inc:-i,ft:-k,uri:s",
>> +        .params     = "[-d] [-b] [-i] [-k] uri",
>>          .help       = "migrate to URI (using -d to not wait for completion)"
>>                     "\n\t\t\t -b for migration without shared storage with"
>>                     " full copy of disk\n\t\t\t -i for migration without "
>>                     "shared storage with incremental copy of disk "
>> -                   "(base image shared between src and destination)",
>> +                   "(base image shared between src and destination)"
>> +                   "\n\t\t\t -k for FT migration mode (Kemari)",
>
> FT -> Fault tolerance?
> IMO it's preferrable to avoid abbreviations in the documentation.

Yep.  It's fine for me to avoid abbreviations.

> Not sure whether we need to mention the codename here: is it likely to
> help the users?

Ah:-)  Just didn't know what the official name should be, and
placed Kemari for convenience.  Any ideas or preference here?

Yoshi

>
>>          .user_print = monitor_user_noop,
>>       .mhandler.cmd_new = do_migrate,
>>      },
>> diff --git a/migration.c b/migration.c
>> index 0db0b6d..a4a39eb 100644
>> --- a/migration.c
>> +++ b/migration.c
>> @@ -92,6 +92,9 @@ int do_migrate(Monitor *mon, const QDict *qdict, QObject **ret_data)
>>          return -1;
>>      }
>>
>> +    if (qdict_get_try_bool(qdict, "ft", 0))
>> +        ft_mode = FT_INIT;
>> +
>>      if (strstart(uri, "tcp:", &p)) {
>>          s = tcp_start_outgoing_migration(mon, p, max_throttle, detach,
>>                                           blk, inc);
>> diff --git a/qmp-commands.hx b/qmp-commands.hx
>> index 3486223..b28bf70 100644
>> --- a/qmp-commands.hx
>> +++ b/qmp-commands.hx
>> @@ -431,13 +431,14 @@ EQMP
>>
>>      {
>>          .name       = "migrate",
>> -        .args_type  = "detach:-d,blk:-b,inc:-i,uri:s",
>> -        .params     = "[-d] [-b] [-i] uri",
>> +        .args_type  = "detach:-d,blk:-b,inc:-i,ft:-k,uri:s",
>> +        .params     = "[-d] [-b] [-i] [-k] uri",
>>          .help       = "migrate to URI (using -d to not wait for completion)"
>>                     "\n\t\t\t -b for migration without shared storage with"
>>                     " full copy of disk\n\t\t\t -i for migration without "
>>                     "shared storage with incremental copy of disk "
>> -                   "(base image shared between src and destination)",
>> +                   "(base image shared between src and destination)"
>> +                   "\n\t\t\t -k for FT migration mode (Kemari)",
>>          .user_print = monitor_user_noop,
>>       .mhandler.cmd_new = do_migrate,
>>      },
>> --
>> 1.7.1.2
> --
> To unsubscribe from this list: send the line "unsubscribe kvm" in
> the body of a message to majordomo@vger.kernel.org
> More majordomo info at  http://vger.kernel.org/majordomo-info.html
>
Michael S. Tsirkin - Dec. 27, 2010, 9:32 a.m.
On Mon, Dec 27, 2010 at 06:11:27PM +0900, Yoshiaki Tamura wrote:
> 2010/12/27 Michael S. Tsirkin <mst@redhat.com>:
> > On Mon, Dec 27, 2010 at 05:25:36PM +0900, Yoshiaki Tamura wrote:
> >> When -k option is set to migrate command, it will turn on ft_mode to
> >> start FT migration mode (Kemari).
> >>
> >> Signed-off-by: Yoshiaki Tamura <tamura.yoshiaki@lab.ntt.co.jp>
> >> ---
> >>  hmp-commands.hx |    7 ++++---
> >>  migration.c     |    3 +++
> >>  qmp-commands.hx |    7 ++++---
> >>  3 files changed, 11 insertions(+), 6 deletions(-)
> >>
> >> diff --git a/hmp-commands.hx b/hmp-commands.hx
> >> index 4befbe2..0071409 100644
> >> --- a/hmp-commands.hx
> >> +++ b/hmp-commands.hx
> >> @@ -735,13 +735,14 @@ ETEXI
> >>
> >>      {
> >>          .name       = "migrate",
> >> -        .args_type  = "detach:-d,blk:-b,inc:-i,uri:s",
> >> -        .params     = "[-d] [-b] [-i] uri",
> >> +        .args_type  = "detach:-d,blk:-b,inc:-i,ft:-k,uri:s",
> >> +        .params     = "[-d] [-b] [-i] [-k] uri",
> >>          .help       = "migrate to URI (using -d to not wait for completion)"
> >>                     "\n\t\t\t -b for migration without shared storage with"
> >>                     " full copy of disk\n\t\t\t -i for migration without "
> >>                     "shared storage with incremental copy of disk "
> >> -                   "(base image shared between src and destination)",
> >> +                   "(base image shared between src and destination)"
> >> +                   "\n\t\t\t -k for FT migration mode (Kemari)",
> >
> > FT -> Fault tolerance?
> > IMO it's preferrable to avoid abbreviations in the documentation.
> 
> Yep.  It's fine for me to avoid abbreviations.
> 
> > Not sure whether we need to mention the codename here: is it likely to
> > help the users?
> 
> Ah:-)  Just didn't know what the official name should be, and
> placed Kemari for convenience.  Any ideas or preference here?
> 
> Yoshi

Do we need a name? Fault tolerance mode insufficient?

> >
> >>          .user_print = monitor_user_noop,
> >>       .mhandler.cmd_new = do_migrate,
> >>      },
> >> diff --git a/migration.c b/migration.c
> >> index 0db0b6d..a4a39eb 100644
> >> --- a/migration.c
> >> +++ b/migration.c
> >> @@ -92,6 +92,9 @@ int do_migrate(Monitor *mon, const QDict *qdict, QObject **ret_data)
> >>          return -1;
> >>      }
> >>
> >> +    if (qdict_get_try_bool(qdict, "ft", 0))
> >> +        ft_mode = FT_INIT;
> >> +
> >>      if (strstart(uri, "tcp:", &p)) {
> >>          s = tcp_start_outgoing_migration(mon, p, max_throttle, detach,
> >>                                           blk, inc);
> >> diff --git a/qmp-commands.hx b/qmp-commands.hx
> >> index 3486223..b28bf70 100644
> >> --- a/qmp-commands.hx
> >> +++ b/qmp-commands.hx
> >> @@ -431,13 +431,14 @@ EQMP
> >>
> >>      {
> >>          .name       = "migrate",
> >> -        .args_type  = "detach:-d,blk:-b,inc:-i,uri:s",
> >> -        .params     = "[-d] [-b] [-i] uri",
> >> +        .args_type  = "detach:-d,blk:-b,inc:-i,ft:-k,uri:s",
> >> +        .params     = "[-d] [-b] [-i] [-k] uri",
> >>          .help       = "migrate to URI (using -d to not wait for completion)"
> >>                     "\n\t\t\t -b for migration without shared storage with"
> >>                     " full copy of disk\n\t\t\t -i for migration without "
> >>                     "shared storage with incremental copy of disk "
> >> -                   "(base image shared between src and destination)",
> >> +                   "(base image shared between src and destination)"
> >> +                   "\n\t\t\t -k for FT migration mode (Kemari)",
> >>          .user_print = monitor_user_noop,
> >>       .mhandler.cmd_new = do_migrate,
> >>      },
> >> --
> >> 1.7.1.2
> > --
> > To unsubscribe from this list: send the line "unsubscribe kvm" in
> > the body of a message to majordomo@vger.kernel.org
> > More majordomo info at  http://vger.kernel.org/majordomo-info.html
> >
Yoshiaki Tamura - Dec. 27, 2010, 11:07 a.m.
2010/12/27 Michael S. Tsirkin <mst@redhat.com>:
> On Mon, Dec 27, 2010 at 06:11:27PM +0900, Yoshiaki Tamura wrote:
>> 2010/12/27 Michael S. Tsirkin <mst@redhat.com>:
>> > On Mon, Dec 27, 2010 at 05:25:36PM +0900, Yoshiaki Tamura wrote:
>> >> When -k option is set to migrate command, it will turn on ft_mode to
>> >> start FT migration mode (Kemari).
>> >>
>> >> Signed-off-by: Yoshiaki Tamura <tamura.yoshiaki@lab.ntt.co.jp>
>> >> ---
>> >>  hmp-commands.hx |    7 ++++---
>> >>  migration.c     |    3 +++
>> >>  qmp-commands.hx |    7 ++++---
>> >>  3 files changed, 11 insertions(+), 6 deletions(-)
>> >>
>> >> diff --git a/hmp-commands.hx b/hmp-commands.hx
>> >> index 4befbe2..0071409 100644
>> >> --- a/hmp-commands.hx
>> >> +++ b/hmp-commands.hx
>> >> @@ -735,13 +735,14 @@ ETEXI
>> >>
>> >>      {
>> >>          .name       = "migrate",
>> >> -        .args_type  = "detach:-d,blk:-b,inc:-i,uri:s",
>> >> -        .params     = "[-d] [-b] [-i] uri",
>> >> +        .args_type  = "detach:-d,blk:-b,inc:-i,ft:-k,uri:s",
>> >> +        .params     = "[-d] [-b] [-i] [-k] uri",
>> >>          .help       = "migrate to URI (using -d to not wait for completion)"
>> >>                     "\n\t\t\t -b for migration without shared storage with"
>> >>                     " full copy of disk\n\t\t\t -i for migration without "
>> >>                     "shared storage with incremental copy of disk "
>> >> -                   "(base image shared between src and destination)",
>> >> +                   "(base image shared between src and destination)"
>> >> +                   "\n\t\t\t -k for FT migration mode (Kemari)",
>> >
>> > FT -> Fault tolerance?
>> > IMO it's preferrable to avoid abbreviations in the documentation.
>>
>> Yep.  It's fine for me to avoid abbreviations.
>>
>> > Not sure whether we need to mention the codename here: is it likely to
>> > help the users?
>>
>> Ah:-)  Just didn't know what the official name should be, and
>> placed Kemari for convenience.  Any ideas or preference here?
>>
>> Yoshi
>
> Do we need a name? Fault tolerance mode insufficient?

Not really.  Let's call it Fault Tolerance mode from now:-)

Yoshi

>
>> >
>> >>          .user_print = monitor_user_noop,
>> >>       .mhandler.cmd_new = do_migrate,
>> >>      },
>> >> diff --git a/migration.c b/migration.c
>> >> index 0db0b6d..a4a39eb 100644
>> >> --- a/migration.c
>> >> +++ b/migration.c
>> >> @@ -92,6 +92,9 @@ int do_migrate(Monitor *mon, const QDict *qdict, QObject **ret_data)
>> >>          return -1;
>> >>      }
>> >>
>> >> +    if (qdict_get_try_bool(qdict, "ft", 0))
>> >> +        ft_mode = FT_INIT;
>> >> +
>> >>      if (strstart(uri, "tcp:", &p)) {
>> >>          s = tcp_start_outgoing_migration(mon, p, max_throttle, detach,
>> >>                                           blk, inc);
>> >> diff --git a/qmp-commands.hx b/qmp-commands.hx
>> >> index 3486223..b28bf70 100644
>> >> --- a/qmp-commands.hx
>> >> +++ b/qmp-commands.hx
>> >> @@ -431,13 +431,14 @@ EQMP
>> >>
>> >>      {
>> >>          .name       = "migrate",
>> >> -        .args_type  = "detach:-d,blk:-b,inc:-i,uri:s",
>> >> -        .params     = "[-d] [-b] [-i] uri",
>> >> +        .args_type  = "detach:-d,blk:-b,inc:-i,ft:-k,uri:s",
>> >> +        .params     = "[-d] [-b] [-i] [-k] uri",
>> >>          .help       = "migrate to URI (using -d to not wait for completion)"
>> >>                     "\n\t\t\t -b for migration without shared storage with"
>> >>                     " full copy of disk\n\t\t\t -i for migration without "
>> >>                     "shared storage with incremental copy of disk "
>> >> -                   "(base image shared between src and destination)",
>> >> +                   "(base image shared between src and destination)"
>> >> +                   "\n\t\t\t -k for FT migration mode (Kemari)",
>> >>          .user_print = monitor_user_noop,
>> >>       .mhandler.cmd_new = do_migrate,
>> >>      },
>> >> --
>> >> 1.7.1.2
>> > --
>> > To unsubscribe from this list: send the line "unsubscribe kvm" in
>> > the body of a message to majordomo@vger.kernel.org
>> > More majordomo info at  http://vger.kernel.org/majordomo-info.html
>> >
>
>
Avi Kivity - Dec. 27, 2010, 5:11 p.m.
On 12/27/2010 01:07 PM, Yoshiaki Tamura wrote:
> >>
> >>  >  Not sure whether we need to mention the codename here: is it likely to
> >>  >  help the users?
> >>
> >>  Ah:-)  Just didn't know what the official name should be, and
> >>  placed Kemari for convenience.  Any ideas or preference here?
> >>
> >>  Yoshi
> >
> >  Do we need a name? Fault tolerance mode insufficient?
>
> Not really.  Let's call it Fault Tolerance mode from now:-)

Then -k becomes meaningless.  Rename to -fault-tolerant?
Yoshiaki Tamura - Dec. 27, 2010, 11:34 p.m.
2010/12/28 Avi Kivity <avi@redhat.com>:
> On 12/27/2010 01:07 PM, Yoshiaki Tamura wrote:
>>
>> >>
>> >>  >  Not sure whether we need to mention the codename here: is it likely
>> >> to
>> >>  >  help the users?
>> >>
>> >>  Ah:-)  Just didn't know what the official name should be, and
>> >>  placed Kemari for convenience.  Any ideas or preference here?
>> >>
>> >>  Yoshi
>> >
>> >  Do we need a name? Fault tolerance mode insufficient?
>>
>> Not really.  Let's call it Fault Tolerance mode from now:-)
>
> Then -k becomes meaningless.  Rename to -fault-tolerant?

That's too long.  The option of migration is a single character
conventionally.  In that sense, -f wasn't a good option because
it usually reminds a file option, and -k was well fit not only
because Kemari but also not well used and almost harmless.

So, my preference is to keep -k option, but that may be
developer's (my) ego, and I'm happy to here what would be the
best for qemu community.

Yoshi

>
> --
> error compiling committee.c: too many arguments to function
>
>
>
Michael S. Tsirkin - Dec. 27, 2010, 11:45 p.m.
On Tue, Dec 28, 2010 at 08:34:12AM +0900, Yoshiaki Tamura wrote:
> 2010/12/28 Avi Kivity <avi@redhat.com>:
> > On 12/27/2010 01:07 PM, Yoshiaki Tamura wrote:
> >>
> >> >>
> >> >>  >  Not sure whether we need to mention the codename here: is it likely
> >> >> to
> >> >>  >  help the users?
> >> >>
> >> >>  Ah:-)  Just didn't know what the official name should be, and
> >> >>  placed Kemari for convenience.  Any ideas or preference here?
> >> >>
> >> >>  Yoshi
> >> >
> >> >  Do we need a name? Fault tolerance mode insufficient?
> >>
> >> Not really.  Let's call it Fault Tolerance mode from now:-)
> >
> > Then -k becomes meaningless.  Rename to -fault-tolerant?
> 
> That's too long.  The option of migration is a single character
> conventionally.  In that sense, -f wasn't a good option because
> it usually reminds a file option, and -k was well fit not only
> because Kemari but also not well used and almost harmless.
> 
> So, my preference is to keep -k option, but that may be
> developer's (my) ego, and I'm happy to here what would be the
> best for qemu community.
> 
> Yoshi

Hey, that's imporant too :)

It's not hard to invent a reason for -k if we need one. E.g.
the protocol is specific to the Kemari project, right?
So the text could be 'Fault Tolerance mode (using Kemari protocol)'
to avoid potential confusion with other fault tolerance solutions
if we ever get them, and the option stays -k :)

> >
> > --
> > error compiling committee.c: too many arguments to function
> >
> >
> >
Yoshiaki Tamura - Dec. 28, 2010, 1:43 a.m.
2010/12/28 Michael S. Tsirkin <mst@redhat.com>:
> On Tue, Dec 28, 2010 at 08:34:12AM +0900, Yoshiaki Tamura wrote:
>> 2010/12/28 Avi Kivity <avi@redhat.com>:
>> > On 12/27/2010 01:07 PM, Yoshiaki Tamura wrote:
>> >>
>> >> >>
>> >> >>  >  Not sure whether we need to mention the codename here: is it likely
>> >> >> to
>> >> >>  >  help the users?
>> >> >>
>> >> >>  Ah:-)  Just didn't know what the official name should be, and
>> >> >>  placed Kemari for convenience.  Any ideas or preference here?
>> >> >>
>> >> >>  Yoshi
>> >> >
>> >> >  Do we need a name? Fault tolerance mode insufficient?
>> >>
>> >> Not really.  Let's call it Fault Tolerance mode from now:-)
>> >
>> > Then -k becomes meaningless.  Rename to -fault-tolerant?
>>
>> That's too long.  The option of migration is a single character
>> conventionally.  In that sense, -f wasn't a good option because
>> it usually reminds a file option, and -k was well fit not only
>> because Kemari but also not well used and almost harmless.
>>
>> So, my preference is to keep -k option, but that may be
>> developer's (my) ego, and I'm happy to here what would be the
>> best for qemu community.
>>
>> Yoshi
>
> Hey, that's imporant too :)

Thanks, Michael :)

> It's not hard to invent a reason for -k if we need one. E.g.
> the protocol is specific to the Kemari project, right?

Right.

> So the text could be 'Fault Tolerance mode (using Kemari protocol)'
> to avoid potential confusion with other fault tolerance solutions
> if we ever get them, and the option stays -k :)

One thumbs up here :)

Yoshi

>
>> >
>> > --
>> > error compiling committee.c: too many arguments to function
>> >
>> >
>> >
>
>

Patch

diff --git a/hmp-commands.hx b/hmp-commands.hx
index 4befbe2..0071409 100644
--- a/hmp-commands.hx
+++ b/hmp-commands.hx
@@ -735,13 +735,14 @@  ETEXI
 
     {
         .name       = "migrate",
-        .args_type  = "detach:-d,blk:-b,inc:-i,uri:s",
-        .params     = "[-d] [-b] [-i] uri",
+        .args_type  = "detach:-d,blk:-b,inc:-i,ft:-k,uri:s",
+        .params     = "[-d] [-b] [-i] [-k] uri",
         .help       = "migrate to URI (using -d to not wait for completion)"
 		      "\n\t\t\t -b for migration without shared storage with"
 		      " full copy of disk\n\t\t\t -i for migration without "
 		      "shared storage with incremental copy of disk "
-		      "(base image shared between src and destination)",
+		      "(base image shared between src and destination)"
+		      "\n\t\t\t -k for FT migration mode (Kemari)",
         .user_print = monitor_user_noop,	
 	.mhandler.cmd_new = do_migrate,
     },
diff --git a/migration.c b/migration.c
index 0db0b6d..a4a39eb 100644
--- a/migration.c
+++ b/migration.c
@@ -92,6 +92,9 @@  int do_migrate(Monitor *mon, const QDict *qdict, QObject **ret_data)
         return -1;
     }
 
+    if (qdict_get_try_bool(qdict, "ft", 0))
+        ft_mode = FT_INIT;
+        
     if (strstart(uri, "tcp:", &p)) {
         s = tcp_start_outgoing_migration(mon, p, max_throttle, detach,
                                          blk, inc);
diff --git a/qmp-commands.hx b/qmp-commands.hx
index 3486223..b28bf70 100644
--- a/qmp-commands.hx
+++ b/qmp-commands.hx
@@ -431,13 +431,14 @@  EQMP
 
     {
         .name       = "migrate",
-        .args_type  = "detach:-d,blk:-b,inc:-i,uri:s",
-        .params     = "[-d] [-b] [-i] uri",
+        .args_type  = "detach:-d,blk:-b,inc:-i,ft:-k,uri:s",
+        .params     = "[-d] [-b] [-i] [-k] uri",
         .help       = "migrate to URI (using -d to not wait for completion)"
 		      "\n\t\t\t -b for migration without shared storage with"
 		      " full copy of disk\n\t\t\t -i for migration without "
 		      "shared storage with incremental copy of disk "
-		      "(base image shared between src and destination)",
+		      "(base image shared between src and destination)"
+		      "\n\t\t\t -k for FT migration mode (Kemari)",
         .user_print = monitor_user_noop,	
 	.mhandler.cmd_new = do_migrate,
     },