[pve-devel] rfc : pve-network : idea to generate and reload config accross the nodes

Stoiko Ivanov s.ivanov at proxmox.com
Thu Apr 4 12:16:30 CEST 2019


On Thu, 4 Apr 2019 11:57:38 +0200 (CEST)
Alexandre DERUMIER <aderumier at odiso.com> wrote:

> > But how does it work ? who is currently listening for changes in
> > pmxcfs ? (through inotify?)  
> 
> >>This is low-level C-code inside pmxcfs (corosync). Please not that
> >>INotify does not work at all on /etc/pve/ - instead, we use
> >>versions numbers to track changes (see /etc/pve/.version).  
> ok great !
> 
> And how can we generate the config && reload network from here ? 
> Can we call an external perl script ?
> 
From a quick glance - we do this with `corosync-cfgtool -R` when the
corosync.conf changes
(https://git.proxmox.com/?p=pve-cluster.git;a=blob;f=data/src/dcdb.c;h=6585a3443f0a8239cf668bb10eee1482b0859149;hb=HEAD#l409)

However I would keep in mind that perl-scripts (especially if they pull
in many modules and dependencies) can take a rather long time (and many
disk-hits) when being loaded - not too sure, but could imagine that
pmxcfs blocks until the run has completed. 

just something to keep an eye on while testing.


> 
> ----- Mail original -----
> De: "dietmar" <dietmar at proxmox.com>
> À: "aderumier" <aderumier at odiso.com>
> Cc: "pve-devel" <pve-devel at pve.proxmox.com>, "Stoiko Ivanov"
> <s.ivanov at proxmox.com> Envoyé: Jeudi 4 Avril 2019 11:44:47
> Objet: Re: [pve-devel] rfc : pve-network : idea to generate and
> reload config accross the nodes
> 
> > >>So the idea is to detect network.cfg changes inside pmxcfs, and
> > >>if we detect changes do a network reload. 
> > >> 
> > >>That way we can apply the config without an additional daemon -
> > >>sounds good.   
> > 
> > Sound good. (so we can do changes in network.cfg.tmp, still have
> > the test button(api call to each nodes), and apply change to
> > network.cfg) 
> > 
> > 
> > But how does it work ? who is currently listening for changes in
> > pmxcfs ? (through inotify?)   
> 
> This is low-level C-code inside pmxcfs (corosync). Please not that
> INotify does not work at all on /etc/pve/ - instead, we use versions
> numbers to track changes (see /etc/pve/.version). 
> 
> 





More information about the pve-devel mailing list