Just had a quick look. One thing that is missing is a status
        rpc. The underlying fencing libraries use status to make sure
        the fencing worked.
      Otherwise looking good.
      On 04/04/2011 6:12 AM, "Gémes Géza" <
geza@xxxxxxxxxxx>
        wrote:
        > Hi Matt,
        > 
        > As I've wrote before I've started working on the server
        part. The first
        > working example server code is at:
        > 
https://github.com/geza-gemes/Xen-Cloud-Platform-Xensever-stonith-fence-agent
        > It is an XML-RPC server which accept start, shutdown and
        reboot
        > requests. The stonith/fence agent
        > There are still lots of things to do:
        > -Load configuration, secrets from a ini file (I've started
        working on this)
        > -Handle the signals which could be sent to the server
        process
        > -Better logging (currently none)
        > -Better handling of already running already shutdown,
        paused suspended
        > states (there is none at the moment)
        > -Set up an init script, and an optional stunel config for
        the server
        > (XCP/Xenserver doesn't have SSL python libs)
        > -Build a rpm of the server part so it can be easily
        installed in Dom0
        > 
        > Cheers,
        > 
        > Geza
        >> Hi Geza,
        >>
        >> Thanks for your feedback.
        >>
        >> Using a specific server for this was the first approach
        I took,
        >> writing a python daemon process that utilised XML-RPC
        (I will see if I
        >> can dig it up). Got a fair way down that path but
        realised I was just
        >> rewriting fence-virtd so then I started to look into
        altering
        >> fence-virtd instead. That's where I stopped. I want to
        get back around
        >> to this eventually, but that's not what this script is
        for.
        >>
        >> This script is to fence a node through the XenAPI. As
        you mentioned,
        >> the security model employed by XenAPI does not allow
        username/password
        >> based access control of specific VM's (that I am aware
        of without
        >> using windows based active directory credentials), but
        maybe it will
        >> in the future. Note that this is an underlying API
        limitation. 
        >>
        >> The same script can be updated to also use GezaAPI in
        the future, once
        >> this is written. I will be happy to make the changes
        once you have
        >> your daemon working and API laid out. To be honest it
        should be a
        >> pretty straight forward transition.
        >>
        >> Cheers,
        >> Matt.
        >>
        >> On Thu, Mar 31, 2011 at 6:51 AM, Gémes Géza <
geza@xxxxxxxxxxx
        >> <mailto:
geza@xxxxxxxxxxx>>
        wrote:
        >>
        >> 2011-03-30 13:09 keltezéssel, m c írta:
        >>> Hi,
        >>>
        >>> I think this would be the best forum, let me know
        if not.
        >>>
        >>> I am in the middle of writing fencing scripts for
        Citrix
        >>> XenServer virtual machines (specifically for use
        with Redhat
        >>> Clustering, but will also work from pacemaker etc)
        and I noticed
        >>> that XCP uses the same XenAPI (from what I can
        tell).
        >>>
        >>> Just wondering if someone would be able to test the
        scripts on
        >>> XCP and let me know if they work.
        >>>
        >>> The latest tar ball can be downloaded from the
        following URL:-
        >>> 
http://code.google.com/p/fence-xenserver/downloads/list
        >>>
        >>> Once extracted a test can be performed as follows
        (the following
        >>> will just list all the VM's and their current
        state, it will not
        >>> turn reboot a machine so is safe):-
        >>>
        >>> cd /tmp
        >>> tar xvzf fence-xenserver-0.8.tar.gz
        >>> cd fence-xenserver-0.8
        >>> ./fence_cxs_redhat.py -o list -s 
http://192.168.1.1/
        -l root -p
        >>> <passwd>
        >>>
        >>> That should be enough to test if it is functioning
        properly.
        >>> Appreciate any feedback.
        >>>
        >>> Thanks,
        >>> Matt.
        >>>
        >>>
        >>> _______________________________________________
        >>> Xen-users mailing list
        >>> 
Xen-users@xxxxxxxxxxxxxxxxxxx
        >>> <mailto:
Xen-users@xxxxxxxxxxxxxxxxxxx>
        >>> 
http://lists.xensource.com/xen-users
        >> Hi,
        >>
        >> Just this morning I've decided to start writing
        something similar
        >> (stonith script for pacemaker).
        >> I have only one objection to the approach used by your
        script. It
        >> would be more robust (more secure) if the script would
        connect to
        >> a small server running in Dom0 with some shared secret
        >> corresponding to each DomU, in this way non-cluster
        member DomU's
        >> won't be able to shut down cluster members, or legit
        DomU's
        >> wouldn't be able to do whatever they would want on the
        Dom0
        >> (allowing fence/stonith to run with root credentials,
        ssh keys,
        >> whatever laying somewhere in the DomUs filesystem is
        not the best
        >> solution regarding security).
        >> I planed to write a small server program which would
        run on the
        >> Dom0, with a htpasswd like config file, where user
        entries would
        >> have been DomUs, each with a password. The fence
        agent/stonith
        >> script would connect to this server and providing the
        right
        >> credentials for the given DomU it would be able to
        issue
        >> force-reboot, start, force-shutdown, whatever would be
        needed
        >> actions on that DomU, and nothing more. A similar
        approach without
        >> using a Dom0 side server would be possible if using AD
        >> authentication and assignment of different DomUs to
        different roles.
        >>
        >> Best Regards
        >>
        >> Geza
        >>
        >> _______________________________________________
        >> Xen-users mailing list
        >> 
Xen-users@xxxxxxxxxxxxxxxxxxx
        <mailto:
Xen-users@xxxxxxxxxxxxxxxxxxx>
        >> 
http://lists.xensource.com/xen-users
        >>
        >>
        >