[Engine-devel] Requirements for Aeolus instance data injection.

Ayal Baron abaron at redhat.com
Thu Jan 12 21:45:17 UTC 2012



----- Original Message -----
> On Wed, 2012-01-11 at 22:35 +0200, Dan Kenigsberg wrote:
> > On Wed, Jan 11, 2012 at 12:10:04PM -0800, David Lutterkort wrote:
> > > > > 
> > > > >          In practical terms, the blob of data should be
> > > > >          passed to the
> > > > >          'start VM' call base64 encoded, and RHEV-M should
> > > > >          decode it
> > > > >          just
> > > > >          before putting it into its proper place.
> > > > 
> > > > This requirement is not clear, why not just pass data as
> > > > 'binary' to
> > > > 'start vm' and vdsm would write as is into the file, REST
> > > > already
> > > > knows how to encode/decode.
> > > 
> > > I mostly mentioned base64 because that's how other API's (EC2,
> > > RAX)
> > > encode6 this data; to be pedantic, it's not REST that determines
> > > the
> > > encoding, but how the request payload is serialized (XML, JSON,
> > > application/x-www-form-urlencoded ..) The nice thing about base64
> > > is
> > > that it works with all of them, without requiring add'l encoding,
> > > but
> > > ultimately anything works that allows passing arbitrary binary
> > > blobs as
> > > user_data.
> > 
> > But base64 is the additional encoding... I'm generally reluctant to
> > intorduce
> > an application-level encoding if the transport already has one.
> > Does any REST
> > serializer have a problem with natively chewing binary data (I
> > really do not
> > know)?
> 
> There's no such thing as a REST serializer; serialization is handled
> by
> whatever you use to process your payloads (XML, JSON, ...) and the
> libraries people use for that have to handle serialization-specific
> encodings; base64 is a little friendlier for really underpowered
> clients, like shell scripts.
> 
> Don't underestimate how much people automate armed with little more
> than
> bash and curl - making that easy is one of the big attractions of
> REST.

Still, if the data is already passed encoded to 'start vm' then the guest itself should decode it (encoding is done outside of the system and so should the decoding).


> 
> David
> 
> 



More information about the Engine-devel mailing list