On 21/10/15 11:25, Martin Lucina wrote:
The sed nonsense is there because qemu does some kind of (unknown,
undocumented AFAICT) parsing on the content of -append options?!

That's the only way I got it to work for the original rumprun version, and it did involve reading the qemu sources. If someone knows of a better way, I have no special love for the comma duplication.

I've just spent an hour trying to make this work with xl. The closest I got
was:

xl create /dev/null -c kernel=\"wopr.bin\" name=\"wopr\" extra=\"$(cat wopr.json|sed -e 
s/\"/\\\\\"/g | tr '\n' ' ')\"

The above doesn't actually work due to some mismatch in the amount of '\'s
required. In any case, passing the JSON via the command line as opposed to
writing it to Xenstore is total madness.

I imagined it would be done for xl exactly like the current rumprun launch sequence does it, not your "total madness" approach. Why does appending -p to the given command line, writing to xenstore, and unpausing not work? Now that your crisis made me think of it more, the only thing I can imagine is that the user might want to create the domain paused. That's not really *too* hard to solve, e.g. with -p flag or an xlpaused target (not sure which would be better).

There are obviously some restrictions on the options that can be given to the backend tool if the user expects things to work. It's going to be that way with or without a convenience tool.

Unfortunately, with the proposed scope of the tool, we can't write to
Xenstore, since this requires the
create-domain-as-paused-then-write-to-xenstore dance.

Can you elaborate what "scope of the tool" means here?

Reply via email to