help-cfengine
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Réf. : Re: Software Package Management


From: paguerlais
Subject: Réf. : Re: Software Package Management
Date: Mon, 12 Aug 2002 16:39:57 +0200

Attn Mark : sorry, I originally sent it to help-cfengine-admin :-(

Hi all,

we have here quite the same needs for deploying software. Our current
concern is about Solaris patches, which depend on the hardware platform,
the OS version and level, the currently installed patches, ... The simpler
way for us to manage all this stuff would be :
- to have in a cfengine script the lists of patches depending on hardware
and OS (something like a matrix, on rows you have hardwares, on lines the
OSes/versions, the cells contain the patches lists).
- to execute a module which cross this list with the actual system, and
gives you back the list of the patches which must be installed (some of the
needed ones can already be installed)
- to download only the needed patches from a server
- to install the downloaded patches using shellcommands.

For the moment, my problems are :
- for defining the lists of patches : no problem, just use a ':' between
file names. Limitation : you can't use ':' within the filenames. It can be
a problem if you intend to iterate over cfengine modules lists
(module:m1:module:m2:...).
- execution of an external module : no problem, just use +, - and = to
set/unset classes and initiliaze variables.
- downlading of the needed patches :
      - I've tried using a list for 'include' (include=$(list_of_files)) :
doesn't work
      - using a list as source : the source and the destination must be of
the same type (file or dir or ...). So it is useful for dirs only, not for
files : either you copy all the files from a directory, and don't need this
feature, or you want to copy some files from a dir, and the destination
should be a directory to store the copies. But cfengine refuses to copy
because the copy a an item goes from a file to a directory :-(
      - the only way I found is to execute a shellcommand, which receives
the list or files to copy as an argument, and then creates on the fly a
cfengine script for copying thoses files. It is possible if you use the -A
flag on the command line, because this instance of cfagent must ignore the
locks set by the original instance.
- installation of the downloaded patches : no problem, the external script
have to iterate on the files. If a specific order of iteration is required,
it is easy to give this list to the script.

Allthough I've solved all my problems/needs, sometimes in a strange way,
I'll be interested if somebody had a more elegant solution.
- Would it be completly silly to accept cfengine copying a list of files to
a directory ?
- does somebody has a better/other solution to download a list of files,
the list being computed on the client at execution time ?

Patrice




help-cfengine-admin@gnu.org@qualcomm.com> le 09/08/2002 20:16:27

Envoyé par :      "Chris (Ducky) Chapin" <cchapin@qualcomm.com>


Pour : help-cfengine@gnu.org
cc :

Objet :     Re: Software Package Management



I should expand this a little =)

Our philosophy for host maintenance is a more abstract approach than most
I've heard. Basically, we need the ability to produce a core configuration
infrastructure that can manage a simple host and allow sysadmins closer to
the user base to add configurations. We ended up with a class system where
class membership is defined on the host.

Paul Paradise and I identified some features we believe would make
cfengine more suited to this kind of environment:

- pre-actionsequence modules. We could then be VERY flexible about our
  class memberships and separate it from the cfengine configs that do the
  work.

- iteration in imports. Using modules via the above method, we could
  choose which configs to import.

- option to ignore missing imports. Sometimes class definitions don't have
  corresponding configs, so an option to silently keep going if import
  is told to import a config that's not there.

- back references in iteration. In a copy action, I'd like to be able to
  use the current iteration value on the "dest" side. What it boils down
  to is a need to copy parts of a directory tree. Yeah, tricky, and the
  least important, imo.  But this is to adapt it to our current
  architecture - if we start from scratch, it's not that bad of an
  omition.

So those are some ideas... please pick away. =) I can give some specific
examples if you'd like.

When I get a chance, I'll be taking a whack at coding these up, too.

-Ducky











---------------

Les données et renseignements contenus dans ce message sont personnels, 
confidentiels et secrets. Ce message est adressé à l'individu ou l'entité dont 
les coordonnées figurent ci-dessus. Si vous n'êtes pas le bon destinataire, 
nous vous demandons de ne pas lire, copier, utiliser ou divulguer cette 
communication. Nous vous prions de notifier cette erreur à l'expéditeur et 
d'effacer immediatement cette communication de votre système.

The information contained in this message is privileged, confidential, and 
protected from disclosure. This message is intended for the individual or 
entity adressed herein. If you are not the intended recipient, please do not 
read, copy, use or disclose this communication to others ;also please notify 
the sender by replying to this message, and then delete it from your system.





reply via email to

[Prev in Thread] Current Thread [Next in Thread]