[libvirt] [PATCH] network: Added hook for network modification event

Anton Khramov anton at endocode.com
Tue Jul 26 11:18:27 UTC 2016


Hi Cole,

Any news on this change?

Regards,
Anton

On 07/18/2016 11:46 PM, Cole Robinson wrote:
> On 07/13/2016 07:06 AM, Khramov Anton wrote:
>> From: Anton Khramov <anton at endocode.com>
>>
>> Resolves: https://bugzilla.redhat.com/show_bug.cgi?id=1181539
>> ---
>>  docs/hooks.html.in          | 2 ++
>>  src/network/bridge_driver.c | 6 ++++++
>>  src/util/virhook.c          | 3 ++-
>>  src/util/virhook.h          | 1 +
>>  4 files changed, 11 insertions(+), 1 deletion(-)
>>
>> diff --git a/docs/hooks.html.in b/docs/hooks.html.in
>> index 1aae00c..d4f4ac3 100644
>> --- a/docs/hooks.html.in
>> +++ b/docs/hooks.html.in
>> @@ -250,6 +250,8 @@
>>            <pre>/etc/libvirt/hooks/network network_name plugged begin -</pre>
>>          Please note, that in this case, the script is passed both network and
>>          domain XMLs on its stdin.</li>
>> +      <li>When network is updated, the hook script is called as:<br/>
>> +          <pre>/etc/libvirt/hooks/network network_name updated begin -</pre></li>
>>        <li>When the domain from previous case is shutting down, the interface
>>          is unplugged. This leads to another script invocation:<br/>
>>            <pre>/etc/libvirt/hooks/network network_name unplugged begin -</pre>
>> diff --git a/src/network/bridge_driver.c b/src/network/bridge_driver.c
>> index 0fd2095..61ab17b 100644
>> --- a/src/network/bridge_driver.c
>> +++ b/src/network/bridge_driver.c
>> @@ -3460,6 +3460,12 @@ networkUpdate(virNetworkPtr net,
>>              goto cleanup;
>>          }
>>      }
>> +
>> +    /* call the 'updated' network hook script */
>> +    if (networkRunHook(network, NULL, NULL, VIR_HOOK_NETWORK_OP_UPDATED,
>> +                       VIR_HOOK_SUBOP_BEGIN) < 0)
>> +        goto cleanup;
>> +
>>      ret = 0;
>>   cleanup:
>>      virNetworkObjEndAPI(&network);
>> diff --git a/src/util/virhook.c b/src/util/virhook.c
>> index d37d6da..a8422a2 100644
>> --- a/src/util/virhook.c
>> +++ b/src/util/virhook.c
>> @@ -93,7 +93,8 @@ VIR_ENUM_IMPL(virHookNetworkOp, VIR_HOOK_NETWORK_OP_LAST,
>>                "started",
>>                "stopped",
>>                "plugged",
>> -              "unplugged")
>> +              "unplugged",
>> +              "updated")
>>  
>>  static int virHooksFound = -1;
>>  
>> diff --git a/src/util/virhook.h b/src/util/virhook.h
>> index 550ef84..4015426 100644
>> --- a/src/util/virhook.h
>> +++ b/src/util/virhook.h
>> @@ -82,6 +82,7 @@ typedef enum {
>>      VIR_HOOK_NETWORK_OP_STOPPED,        /* network has stopped */
>>      VIR_HOOK_NETWORK_OP_IFACE_PLUGGED,  /* an interface has been plugged into the network */
>>      VIR_HOOK_NETWORK_OP_IFACE_UNPLUGGED,    /* an interface was unplugged from the network */
>> +    VIR_HOOK_NETWORK_OP_UPDATED,        /* network has been updated */
>>  
>>      VIR_HOOK_NETWORK_OP_LAST,
>>  } virHookNetworkOpType;
>>
> 
> ACK this looks good to me. CCing laine to see if he wants to ACK when he's
> back online, if not I'll push it in a week.
> 
> Thanks,
> Cole
> 

-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 490 bytes
Desc: OpenPGP digital signature
URL: <http://listman.redhat.com/archives/libvir-list/attachments/20160726/94cdb436/attachment-0001.sig>


More information about the libvir-list mailing list