[Ovirt-devel] [PATCH node] The node now passes in the mac address and iface names during identify.
Daniel P. Berrange
berrange at redhat.com
Tue Sep 23 12:29:12 UTC 2008
On Tue, Sep 23, 2008 at 01:18:30PM +0100, Daniel P. Berrange wrote:
> On Fri, Sep 19, 2008 at 04:35:37PM -0400, Darryl L. Pierce wrote:
> > @@ -31,12 +36,19 @@ configure_from_network() {
> > if [ -n "$SRV_HOST" -a -n "$SRV_PORT" ]; then
> > printf .
> > cfgdb=$(mktemp)
> > + get_mac_addresses
> > wget -q -O $cfgdb \
> > - "http://$SRV_HOST:$SRV_PORT/ovirt/cfgdb/$(hostname)"
> > + "http://$SRV_HOST:$SRV_PORT/ovirt/managed_node/config?host=$(hostname)&macs=$macs"
> > if [ $? -eq 0 ]; then
> > printf .
> > - echo "save" >> $cfgdb
> > - augtool < $cfgdb > /dev/null 2>&1
> > + bash $cfgdb
>
> NACK. We cannot download & execute arbitrary shell scripts. It blows a
> hole in the security of the node host OS. If there are shell scripts
> needed they must be built into the node image, and merely the configuration
> data to be fed to them should be downloaded.
>
> That said, even the original code was kinda suspect - downloading an
> entire augtool control file basically allows any change whatsoever
> to be made.
>
> Really we should download data such as the interface name, and config
> options, and then use a local pre-existing script to make the changes
> and/or call augtool - ie the augtool rules should already be on the
> managed node, with placeholders where you fit in the validated config
> parameters.
Downloading augtool or bash scripts also makes for a horrible data
upgrade path, and complicates life if we want to run the node standalone
without the WUI server present.
We need to avoid tight coupling between the node & the server. All the
functional logic the node needs must be kept in the node image, and it
only goes off-node to fetch well-defined configuration parameters. This
gives us a fighting chance of providing a sane data upgrade path - if we
know the config params for each version, we can be carefult to keep
back-compatability, and more easily run standalone by just storing config
params in a local datastore.
Daniel
--
|: Red Hat, Engineering, London -o- http://people.redhat.com/berrange/ :|
|: http://libvirt.org -o- http://virt-manager.org -o- http://ovirt.org :|
|: http://autobuild.org -o- http://search.cpan.org/~danberr/ :|
|: GnuPG: 7D3B9505 -o- F3C9 553F A1DA 4AC2 5648 23C1 B3DF F742 7D3B 9505 :|
More information about the ovirt-devel
mailing list