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

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



Hi,

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.
m,

m,

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