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

Re: [Cluster-devel] fencing citrix XenServer VM's


On 02/24/2011 09:29 AM, Matt Clark wrote:
Well I seem to have a working script using the fencing.py library, however I did have to make a few minor changes.

To the all_opt array I added two options as follows:-
        "session_url" : {
                "getopt" : "s:",
                "longopt" : "session-url",
                "help" : "-s, --session-url                  URL to connect to XenServer on.",
                "required" : "1",
                "shortdesc" : "The URL of the XenServer host.",
                "order" : 1},
        "uuid" : {
                "getopt" : "u:",
                "longopt" : "uuid",
                "help" : "-u, --uuid                  UUID of the VM to fence.",
                "required" : "1",
                "shortdesc" : "The UUID of the VM to fence.",
                "order" : 1}

Is this ok to be added to fencing.py, or should I be customising/appending this in my script?

Adding this option to fencing.py is preferable way how to do it (including your fence agent to upstream version surely too). I would just like to change existing short options (eg -u is used for port number).

Adding option for URL is surely something what can be reused in different agent. I understand the need for UUID but if it is the only way how to access virtual machine then I will prefer to reuse existing port option (already used for virtual machines).

Also the following line is preventing my "list" function from working:-

if (options["-o"] == "list") and (0 == options["device_opt"].count("port")) and (0 == options["device_opt"].count("partition"))

Not knowing the library well enough, I don't know what the above if statement is trying to catch. The result is my list action prints out "N/A". I have temporarily short circuited this statement (and'ing with 0 at the end) and it all works for me, so I just need to know what this is safeguarding to know what my version of the check should be. I would expect a count of zero "ports" and "partitions" in the options array when trying the "list" action... So I must be missing the point here.

You will have to add your uuid option here. This test is here to distinguish difference between:
* list of plugged devices is available
* list of plugged devices is not available yet
* N/A - fence device can be used to fence just one device (eg iLO, DRAC)

Feel free to contact me directly, if you will have any questions about writing fence agents.


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