On 01/14/2016 11:01 AM, Dan Williams wrote:
> On Thu, 2016-01-07 at 11:12 -0600, Dan Williams wrote:
> > Not all lease values are mandatory, and when they aren't supplied
> > by the libvirt driver they get set to NULL. That makes
> > rb_str_new2() bail out.
> Ping? Does this patch look OK or is there anything else I need to
> do
> with it? Is the submission procure for ruby-libvirt different than
> normal libvirt?
As far as I can see, posting to libvir-list is the correct thing for
ruby-libvirt patches, I think it's just that very few people use it,
so
most of us don't feel comfortable ACKing anything for it.
Thanks! I'd bet a lot more people use it than you think, since it's a
dependency of vagrant-libvirt by way of fog. So you can't stand up a
vagrant machine using libvirt without it...
Dan
It looks like Chris Lalancette is the maintainer and has been the
author
of nearly every patch in the last couple years, so I'm Cc'ing him to
be
sure it see it.
>
> Thanks!
> Dan
>
> > Signed-off-by: Dan Williams <dcbw(a)redhat.com>
> > ---
> > For example using the qemu driver we don't get 'iaid', and that
> > makes ruby unhappy:
> >
> > [{"iface"=>"virbr1",
"expirytime"=>1452189569, "type"=>0,
> > "mac"=>"52:54:00:05:2b:6f",
> > "ipaddr"=>"192.168.121.49", "prefix"=>24,
> > "hostname"=>"openshiftdev",
> >
"clientid"=>"ff:00:05:2b:6f:00:01:00:01:1e:21:55:ed:52:54:00:05:2
> > b:6f
> > "}]
> >
> > ext/libvirt/network.c | 18 ++++++++++++------
> > 1 file changed, 12 insertions(+), 6 deletions(-)
> >
> > diff --git a/ext/libvirt/network.c b/ext/libvirt/network.c
> > index 7c77d73..c250d7d 100644
> > --- a/ext/libvirt/network.c
> > +++ b/ext/libvirt/network.c
> > @@ -269,14 +269,20 @@ static VALUE leases_wrap(VALUE arg)
> > rb_hash_aset(hash, rb_str_new2("expirytime"),
> > LL2NUM(lease->expirytime));
> > rb_hash_aset(hash, rb_str_new2("type"), INT2NUM(lease
> > ->type));
> > - rb_hash_aset(hash, rb_str_new2("mac"), rb_str_new2(lease
> > ->mac));
> > - rb_hash_aset(hash, rb_str_new2("iaid"),
> > rb_str_new2(lease
> > ->iaid));
> > + if (lease->mac)
> > + rb_hash_aset(hash, rb_str_new2("mac"),
> > rb_str_new2(lease
> > ->mac));
> > + if (lease->iaid)
> > + rb_hash_aset(hash, rb_str_new2("iaid"),
> > rb_str_new2(lease->iaid));
> > rb_hash_aset(hash, rb_str_new2("ipaddr"),
> > rb_str_new2(lease
> > ->ipaddr));
> > rb_hash_aset(hash, rb_str_new2("prefix"),
> > UINT2NUM(lease
> > ->prefix));
> > - rb_hash_aset(hash, rb_str_new2("hostname"),
> > - rb_str_new2(lease->hostname));
> > - rb_hash_aset(hash, rb_str_new2("clientid"),
> > - rb_str_new2(lease->clientid));
> > + if (lease->hostname) {
> > + rb_hash_aset(hash, rb_str_new2("hostname"),
> > + rb_str_new2(lease->hostname));
> > + }
> > + if (lease->clientid) {
> > + rb_hash_aset(hash, rb_str_new2("clientid"),
> > + rb_str_new2(lease->clientid));
> > + }
> >
> > rb_ary_store(result, i, hash);
> > }
> --
> libvir-list mailing list
> libvir-list(a)redhat.com
>
https://www.redhat.com/mailman/listinfo/libvir-list
>
--
libvir-list mailing list
libvir-list(a)redhat.com
https://www.redhat.com/mailman/listinfo/libvir-list