Hi Ian I still have the same problem even if I expand the node several times...
Here is what it says: #~ sudo xenman Valid, writable configuration found, using /etc/xenman.conf cyberxen2 True /************ I get the gui in which I can find 2 nodes: localhost and cyberxen2************************ ************* If I click on localhost to expand it I can see "Domain0 and only ************************** ************* the following output in the console: *****************************************************/ resetting last_error /************ When I click on cyberxen2 (my remote xen host) to expand its *************************** ************* contents, in the console output I get: ****************************************************/ Warning : Host not found ! cyberxen2 Could not initialize ssh for cyberxen2 22 /************ And the GUI shows a dialog box asking for SSH login/pass ****************************** ************ So I fil in the boxes with the appropriated credentials and here is what I get:*************/ Warning : Host not found ! cyberxen2 got expat error no element found: line 1, column 0 got expat error no element found: line 1, column 0 got expat error no element found: line 1, column 0 got expat error no element found: line 1, column 0 Traceback (most recent call last): File "/usr/share/xenman/src/xenman.py", line 547, in handle_timer_callback cls.notebook.showSummaryTab() File "/usr/share/xenman/src/xenman.py", line 751, in showSummaryTab self.summary_tab.refresh() File "/usr/share/xenman/src/xenman.py", line 1159, in refresh doms = managed_node.get_dom_names() File "/usr/share/xenman/src/XenNode.py", line 122, in get_dom_names return self.dom_list.iterkeys() File "/usr/share/xenman/src/XenNode.py", line 357, in iterkeys return self.dom_dict.keys() File "/usr/share/xenman/src/XenNode.py", line 290, in __getattr__ return self._init_dom_list() File "/usr/share/xenman/src/XenNode.py", line 285, in _init_dom_list self.refresh() File "/usr/share/xenman/src/XenNode.py", line 296, in refresh dom_list_info = self.node.node_proxy.xend.domains(1) File "/usr/share/xenman/src/XenServerProxy.py", line 165, in __call__ ret = self.__send(self.__name, args) File "/usr/lib/xen-3.0.3-1/lib/python/xen/util/xmlrpclib2.py", line 122, in __request response = xmlrpclib.ServerProxy.__request(self, methodname, params) File "xmlrpclib.py", line 1383, in __request verbose=self.__verbose File "/usr/share/xenman/src/XenServerProxy.py", line 133, in request return Transport.request(self, host, '/RPC2', request_body, verbose) File "xmlrpclib.py", line 1147, in request return self._parse_response(h.getfile(), sock) File "xmlrpclib.py", line 1284, in _parse_response p.close() File "xmlrpclib.py", line 530, in close self._parser.Parse("", 1) # end of data ExpatError: no element found: line 1, column 0 Exception in callback...ignoring None got expat error no element found: line 1, column 0 /******** And the error recursivly continues as if it came from a loop**********/ Does It help? Ian Norton-Badrul wrote: > Hi Alex, > > If i put in a remote hostname I > get: > > Warning : Host not found ! gaspode > got expat error junk after document element: line 6, column 0 > Valid, writable configuration found, using /etc/xenman.conf > got expat error syntax error: line 1, column 0 > Traceback (most recent call last): > File "/usr/share/xenman/src/xenman.py", line 181, in handle_row_expanded > .... > > But, > > Wierldy, If i click the new server in the sidebar again then I can see > all of the VMs running on my remote machine. But I always have to click > twice. > > I think it is some bad string being extracted from the cpu usage stats > for each domU on the other host as I don't get this locally. > > Also, (see my patch) I get alot of errors like this if one of my domUs > has a space in a device name (eg from a symlink or file vbd) > > Ian > > Ian > > On Thu, Mar 22, 2007 at 12:03:48PM +0100, Alexandre Chapellon wrote: > >> Ian Norton-Badrul wrote: >> >>> Hm, it looks like the xmlrpc server itself is working. >>> >>> Are you connecting with xenman remotely? or locally? >>> >>> >> Well I try connect with xenman remotely (as I want to get a centralised >> management station) >> >> >>> Ian >>> >>> On Thu, Mar 22, 2007 at 08:18:24AM +0100, Alexandre Chapellon wrote: >>> >>> >>>> Hello there, >>>> >>>> this is what I get: >>>> >>>> ~# ./xml-rpc-api2html [1]http://localhost:8005 >>>> <html> >>>> <head><title>XML API for [2]http://localhost:8005</title> >>>> </head> >>>> <body> >>>> <h1>XML-RPC API for [3]http://localhost:8005</h1> >>>> >>>> See [4]http://www.linuxdoc.org/HOWTO/XML-RPC-HOWTO/index.html for >>>> instructions >>>> on using XML-RPC with Perl, Python, Java, C, C++, PHP, etc. >>>> <h2>Methods</h2> >>>> <hr> >>>> >>>> <h3>system.listMethods</h3> >>>> system.listMethods() => ['add', 'subtract', 'multiple'] Returns a list >>>> of the methods supported by the server.<hr> >>>> >>>> <h3>system.methodHelp</h3> >>>> system.methodHelp('add') => "Adds two integers together" Returns a >>>> string containing documentation for the specified method.<hr> >>>> >>>> <h3>system.methodSignature</h3> >>>> system.methodSignature('add') => [double, int, int] Returns a list >>>> describing the signature of the method. In the above example, the add >>>> method takes two integers as arguments and returns a double result. >>>> This >>>> server does NOT support system.methodSignature.<hr> >>>> >>>> <h3>xend.domain</h3> >>>> <hr> >>>> >>>> <h3>xend.domain.configure</h3> >>>> Configure an existing domain. <br><b>param: </b> vmconfig: vm >>>> configuration<hr> >>>> >>>> <h3>xend.domain.cpu_sedf_get</h3> >>>> Get Simple EDF scheduler parameters for a domain.<hr> >>>> >>>> <h3>xend.domain.cpu_sedf_set</h3> >>>> Set Simple EDF scheduler parameters for a domain.<hr> >>>> >>>> <h3>xend.domain.create</h3> >>>> <hr> >>>> >>>> <h3>xend.domain.destroy</h3> >>>> Terminate domain immediately.<hr> >>>> >>>> <h3>xend.domain.destroyDevice</h3> >>>> <hr> >>>> >>>> <h3>xend.domain.device_configure</h3> >>>> <hr> >>>> >>>> <h3>xend.domain.device_create</h3> >>>> <hr> >>>> >>>> <h3>xend.domain.dump</h3> >>>> Dump domain core.<hr> >>>> >>>> <h3>xend.domain.getDeviceSxprs</h3> >>>> <hr> >>>> >>>> <h3>xend.domain.getRestartCount</h3> >>>> <hr> >>>> >>>> <h3>xend.domain.getVCPUInfo</h3> >>>> <hr> >>>> >>>> <h3>xend.domain.ioport_range_disable</h3> >>>> Disable access to a range of IO ports for a domain <br><b>param: </b> >>>> first: first IO port <br><b>param: </b> last: last IO port >>>> <br><b>returns: </b>: 0 on success, -1 on error<hr> >>>> >>>> <h3>xend.domain.ioport_range_enable</h3> >>>> Enable access to a range of IO ports for a domain <br><b>param: </b> >>>> first: first IO port <br><b>param: </b> last: last IO port >>>> <br><b>returns: </b>: 0 on success, -1 on error<hr> >>>> >>>> <h3>xend.domain.lookup</h3> >>>> <hr> >>>> >>>> <h3>xend.domain.lookup_by_name_nr</h3> >>>> <hr> >>>> >>>> <h3>xend.domain.lookup_by_name_or_id</h3> >>>> <hr> >>>> >>>> <h3>xend.domain.lookup_by_name_or_id_nr</h3> >>>> <hr> >>>> >>>> <h3>xend.domain.lookup_nr</h3> >>>> <hr> >>>> >>>> <h3>xend.domain.maxmem_set</h3> >>>> Set the memory limit for a domain. <br><b>param: </b> mem: memory >>>> limit >>>> (in MiB) <br><b>returns: </b>: 0 on success, -1 on error<hr> >>>> >>>> <h3>xend.domain.migrate</h3> >>>> Start domain migration.<hr> >>>> >>>> <h3>xend.domain.pause</h3> >>>> Pause domain execution.<hr> >>>> >>>> <h3>xend.domain.pincpu</h3> >>>> Set which cpus vcpu can use <br><b>param: </b> cpumap: string repr of >>>> list of usable cpus<hr> >>>> >>>> <h3>xend.domain.restore</h3> >>>> <hr> >>>> >>>> <h3>xend.domain.restore_fd</h3> >>>> Restore a domain from the given file descriptor.<hr> >>>> >>>> <h3>xend.domain.save</h3> >>>> Start saving a domain to file. <br><b>param: </b> dst: >>>> destination >>>> file<hr> >>>> >>>> <h3>xend.domain.sched_credit_get</h3> >>>> Get credit scheduler parameters for a domain.<hr> >>>> >>>> <h3>xend.domain.sched_credit_set</h3> >>>> Set credit scheduler parameters for a domain.<hr> >>>> >>>> <h3>xend.domain.send_sysrq</h3> >>>> <hr> >>>> >>>> <h3>xend.domain.setMemoryTarget</h3> >>>> <hr> >>>> >>>> <h3>xend.domain.setName</h3> >>>> <hr> >>>> >>>> <h3>xend.domain.setVCpuCount</h3> >>>> <hr> >>>> >>>> <h3>xend.domain.shadow_control</h3> >>>> Shadow page control.<hr> >>>> >>>> <h3>xend.domain.shadow_mem_get</h3> >>>> Get shadow pagetable memory allocation.<hr> >>>> >>>> <h3>xend.domain.shadow_mem_set</h3> >>>> Set shadow pagetable memory allocation.<hr> >>>> >>>> <h3>xend.domain.shutdown</h3> >>>> <hr> >>>> >>>> <h3>xend.domain.unpause</h3> >>>> Unpause domain execution.<hr> >>>> >>>> <h3>xend.domain.waitForDevices</h3> >>>> <hr> >>>> >>>> <h3>xend.domains</h3> >>>> <hr> >>>> >>>> <h3>xend.node.dmesg.clear</h3> >>>> <hr> >>>> >>>> <h3>xend.node.dmesg.info</h3> >>>> <hr> >>>> >>>> <h3>xend.node.info</h3> >>>> <hr> >>>> >>>> <h3>xend.node.log</h3> >>>> <hr> >>>> >>>> Ian Norton-Badrul wrote: >>>> >>>> Ah, I forgot it was broken, >>>> >>>> here use my modified version: (attached) >>>> >>>> Ian >>>> >>>> On Wed, Mar 21, 2007 at 05:58:44PM +0100, Alexandre Chapellon wrote: >>>> >>>> >>>> Here is what I get >>>> >>>> ~# xml-rpc-api2txt [1][5]http://localhost:8005 >>>> XML-RPC API for [2][6]http://localhost:8005 >>>> >>>> See [3][7]http://www.linuxdoc.org/HOWTO/XML-RPC-HOWTO/index.html for >>>> instructions >>>> on using XML-RPC with Perl, Python, Java, C, C++, PHP, etc. >>>> >>>> Can't use string ("signatures not supported") as an ARRAY ref while >>>> "strict refs" in use at /usr/bin/xml-rpc-api2txt line 118. >>>> >>>> doesn't seem very good, does it? >>>> >>>> Ian Norton-Badrul wrote: >>>> >>>> On Wed, Mar 21, 2007 at 04:03:55PM +0100, Alexandre Chapellon wrote: >>>> >>>> >>>> Ian Norton-Badrul wrote: >>>> >>>> >>>> Hi Alex, >>>> >>>> I belive the xmlrpc server listens on port 8006 >>>> >>>> >>>> >>>> Apparently not as if I comment the line "(xend-tcp-xmlrpc-server yes)" >>>> there is no more 8005 port listening according to netstat, in addition >>>> xenman specify a port in the dialog box when you add a new node which >>>> is 8005 by default >>>> >>>> Any other Idea? >>>> >>>> Do you (or anyone else) have it working with debian and xen 3.0.3? >>>> >>>> >>>> My xen 3.0.3 (27th sept 2006) is also listening on 8005 ( ubuntu dapper >>>> server ) >>>> My 3.0.4 machine ( ubuntu dapper desktop ) is listening on 8006. >>>> >>>> Can you install xml-rpc-api2txt (apt-get install) and point it at >>>> [4][8]http://localhost:8005 >>>> >>>> Regards >>>> >>>> Ian >>>> >>>> >>>> >>>> Ian >>>> >>>> On Wed, Mar 21, 2007 at 03:01:17PM +0100, Alexandre Chapellon wrote: >>>> >>>> >>>> >>>> Ian Norton-Badrul wrote: >>>> >>>> Hi Alex, >>>> >>>> >>>> >>>> Hi and first thanks for this fast answer >>>> >>>> What version of xen are you running on your remote system? And are you >>>> sure that machine has the xml rpc server running? >>>> >>>> >>>> I'm running Xen 3.0.3-1 (debian package) >>>> And I have activated xml rpc as show below: >>>> (xend-tcp-xmlrpc-server yes) >>>> >>>> By the way netstat shows its listenning on lo:8005... as you can see >>>> >>>> ~#netstat -tan >>>> Connexions Internet actives (serveurs et etablies) >>>> Proto Recv-Q Send-Q Adresse locale Adresse distante Etat >>>> tcp 0 0 0.0.0.0:8000 0.0.0.0:* >>>> LISTEN >>>> tcp 0 0 0.0.0.0:8002 0.0.0.0:* >>>> LISTEN >>>> tcp 0 0 127.0.0.1:8005 0.0.0.0:* >>>> LISTEN >>>> tcp 0 0 0.0.0.0:9102 0.0.0.0:* >>>> LISTEN >>>> tcp6 0 0 :::22 :::* >>>> LISTEN >>>> tcp6 0 128 ::ffff:172.20.255.60:22 ::ffff:172.30.0.1:37519 >>>> ESTABLISHED >>>> >>>> Am I right? >>>> >>>> Ian >>>> >>>> On Wed, Mar 21, 2007 at 01:59:49PM +0100, Alexandre Chapellon wrote: >>>> >>>> >>>> Hy all! >>>> >>>> I'm interresting in using xenman to manage my Domain0 and and domU upon >>>> several machines. >>>> Unfortunatly, when I try to connect to a remote node I get a Domain0 not >>>> found in the gui and the following error in the console where I launch >>>> xemna (using sudo xenman): >>>> >>>> got expat error no element found: line 1, column 0 >>>> >>>> The localhost seems to be working but not the remote ones... >>>> >>>> I have configured ssh so that It uses login/pass to connect and tcpdump >>>> shows traffic on the loopback interface when I connect: >>>> >>>> 16:02:06.662754 IP 127.0.0.1.1134 > 127.0.0.1.8005: . ack 53 win 4099 >>>> <nop,nop,timestamp 106887986 106887986>16:02:06.662853 IP 127.0.0.1.8005 >>>> > 127.0.0.1.1134: P 53:90(37) ack 298 win 4096 <nop,nop,timestamp >>>> 106887986 106887986> >>>> 16:02:06.662860 IP 127.0.0.1.1134 > 127.0.0.1.8005: . ack 90 win 4099 >>>> <nop,nop,timestamp 106887986 106887986>16:02:06.662920 IP 127.0.0.1.8005 >>>> > 127.0.0.1.1134: P 90:114(24) ack 298 win 4096 <nop,nop,timestamp >>>> 106887986 106887986> >>>> 16:02:06.662926 IP 127.0.0.1.1134 > 127.0.0.1.8005: . ack 114 win 4099 >>>> <nop,nop,timestamp 106887986 106887986> >>>> 16:02:06.662984 IP 127.0.0.1.8005 > 127.0.0.1.1134: P 114:136(22) ack >>>> 298 win 4096 <nop,nop,timestamp 106887986 106887986> >>>> 16:02:06.662991 IP 127.0.0.1.1134 > 127.0.0.1.8005: . ack 136 win 4099 >>>> <nop,nop,timestamp 106887986 106887986> >>>> 16:02:06.663036 IP 127.0.0.1.8005 > 127.0.0.1.1134: P 136:138(2) ack 298 >>>> win 4096 <nop,nop,timestamp 106887986 106887986> >>>> 16:02:06.663042 IP 127.0.0.1.1134 > 127.0.0.1.8005: . ack 138 win 4099 >>>> <nop,nop,timestamp 106887986 106887986> >>>> 16:02:06.663083 IP 127.0.0.1.8005 > 127.0.0.1.1134: P 138:2339(2201) ack >>>> 298 win 4096 <nop,nop,timestamp 106887986 106887986> >>>> 16:02:06.663089 IP 127.0.0.1.1134 > 127.0.0.1.8005: . ack 2339 win 4650 >>>> <nop,nop,timestamp 106887986 106887986> >>>> >>>> >>>> What did I miss? >>>> >>>> ------------------------------------------------------------------------- >>>> Take Surveys. Earn Cash. Influence the Future of IT >>>> Join SourceForge.net's Techsay panel and you'll get the chance to share >>>> your >>>> opinions on IT & business topics through brief surveys-and earn cash >>>> >>>> [1][5][9]http://www.techsay.com/default.php?page=join.php&p=sourceforge&CID=DEVDEV >>>> _______________________________________________ >>>> XenMan-Users mailing list >>>> [EMAIL PROTECTED] >>>> [3][7][11]https://lists.sourceforge.net/lists/listinfo/xenman-users >>>> >>>> >>>> References >>>> >>>> Visible links >>>> 1. >>>> [8][12]http://www.techsay.com/default.php?page=join.php&p=sourceforge&CID=DEVDEV >>>> 2. [9][13]mailto:XenMan-Users@lists.sourceforge.net >>>> 3. [10][14]https://lists.sourceforge.net/lists/listinfo/xenman-users >>>> >>>> >>>> References >>>> >>>> Visible links >>>> 1. [15]http://localhost:8005/ >>>> 2. [16]http://localhost:8005/ >>>> 3. [17]http://www.linuxdoc.org/HOWTO/XML-RPC-HOWTO/index.html >>>> 4. [18]http://localhost:8005/ >>>> 5. >>>> [19]http://www.techsay.com/default.php?page=join.php&p=sourceforge&CID=DEVDEV >>>> 6. [20]mail[21]mailto:[EMAIL PROTECTED] >>>> 7. [22]https://lists.sourceforge.net/lists/listinfo/xenman-users >>>> 8. >>>> [23]http://www.techsay.com/default.php?page=join.php&p=sourceforge&CID=DEVDEV >>>> 9. [24]mailto:XenMan-Users@lists.sourceforge.net >>>> 10. [25]https://lists.sourceforge.net/lists/listinfo/xenman-users >>>> >>>> >>>> >>>> ------------------------------------------------------------------ >>>> >>>> #!/usr/bin/perl -w >>>> # >>>> # A handy little script for printing out an XML-RPC API as a >>>> # nicely-formatted text file. (I wrote this in Perl because of all the >>>> # spiffy report-generation features.) >>>> # >>>> # You'll need to get Ken MacLeod's Frontier::RPC2 module from CPAN to use >>>> # this. >>>> # >>>> # Eric Kidd [26]<[EMAIL PROTECTED]> >>>> # >>>> # This script is part of xmlrpc-c, and may be used and distributed under >>>> # the same terms as the rest of the package. >>>> >>>> use strict; >>>> >>>> # One global variable for use with Perl's format routines, and one for >>>> # use inside an 'exec' block. >>>> use vars qw/$helptext $method_list/; >>>> >>>> # Try to load our Perl XML-RPC bindings, but fail gracefully. >>>> eval { >>>> require Frontier::Client; >>>> }; >>>> if ($@) { >>>> print STDERR <<"EOD"; >>>> This script requires Ken MacLeod\'s Frontier::RPC2 module. You can get this >>>> from CPAN or from his website at [27]http://bitsko.slc.ut.us/~ken/xml-rpc/ >>>> . >>>> >>>> For installation instructions, see the XML-RPC HOWTO at: >>>> [28]http://www.linuxdoc.org/HOWTO/XML-RPC-HOWTO/index.html >>>> >>>> EOD >>>> exit 1; >>>> } >>>> >>>> # Parse our command-line arguments. >>>> if (@ARGV != 1 || $ARGV[0] eq "--help") { >>>> print STDERR "Usage: xml-rpc-api2txt serverURL\n"; >>>> exit 1; >>>> } >>>> >>>> my $server = Frontier::Client->new(url => $ARGV[0]); >>>> >>>> # Try (very carefully) to get our a list of methods from the server. >>>> local $method_list; >>>> eval { >>>> $method_list = $server->call('system.listMethods'); >>>> }; >>>> if ($@) { >>>> print STDERR <<"EOD"; >>>> An error occurred while trying to talk to the XML-RPC server: >>>> >>>> $@ >>>> >>>> This may have been caused by several things--the server might not support >>>> introspection, it might not be an XML-RPC server, or your network might be >>>> down. Try the following: >>>> >>>> xml-rpc-api2txt [29]http://xmlrpc-c.sourceforge.net/api/sample.php >>>> >>>> EOD >>>> exit 1; >>>> } >>>> >>>> # Enter the methods into a hashtable. >>>> my @methods = sort @$method_list; >>>> my %method_table; >>>> foreach my $method (@methods) { >>>> $method_table{$method} = {}; >>>> } >>>> >>>> # Get more information for the hash table. Since we need to make lots and >>>> # lots of very small XML-RPC calls, we'd like to use system.multicall to >>>> # reduce the latency. >>>> if (defined $method_table{'system.multicall'}) { >>>> >>>> # This is messy but fast. Everybody hates HTTP round-trip lag, right? >>>> my @call; >>>> foreach my $method (@methods) { >>>> push @call, {methodName => 'system.methodSignature', >>>> params => [$method]}; >>>> push @call, {methodName => 'system.methodHelp', >>>> params => [$method]}; >>>> } >>>> my @result = @{$server->call('system.multicall', [EMAIL PROTECTED])}; >>>> for (my $i = 0; $i < @methods; $i++) { >>>> my $method = $methods[$i]; >>>> $method_table{$method}->{'signatures'} = $result[2*$i]->[0]; >>>> $method_table{$method}->{'help'} = $result[2*$i+1]->[0]; >>>> } >>>> } else { >>>> >>>> # This is easy but slow (especially over backbone links). >>>> foreach my $method (@methods) { >>>> my $signature = $server->call('system.methodSignature', $method); >>>> my $help = $server->call('system.methodHelp', $method); >>>> $method_table{$method}->{'signatures'} = $signature; >>>> $method_table{$method}->{'help'} = $help; >>>> } >>>> } >>>> >>>> # Now, we need to dump the API. >>>> print <<"EOD"; >>>> <html> >>>> <head><title>XML API for $ARGV[0]</title> >>>> </head> >>>> <body> >>>> <h1>XML-RPC API for $ARGV[0]</h1> >>>> >>>> See [30]http://www.linuxdoc.org/HOWTO/XML-RPC-HOWTO/index.html for >>>> instructions >>>> on using XML-RPC with Perl, Python, Java, C, C++, PHP, etc. >>>> EOD >>>> >>>> print qq|<h2>Methods</h2> >>>> <hr> >>>> |; >>>> >>>> foreach my $method (@methods) { >>>> print "\n<h3>$method</h3>\n"; >>>> my $methodinfo = ""; >>>> # Print a synopsis of the function. >>>> if ($method_table{$method}->{'signatures'} eq 'undef') { >>>> # No documentation. Bad server. No biscuit. >>>> $methodinfo = "unknown $method (...)\n"; >>>> } else { >>>> if ( $method_table{$method}->{'signatures'} =~ /^ARRAY/ ){ >>>> for my $signature >>>> (@{$method_table{$method}->{'signatures'}}) { >>>> if ( $signature =~ /^ARRAY/ ){ >>>> my $return_type = shift @$signature; >>>> my $arguments = join(", ", >>>> @$signature); >>>> $methodinfo .= "\n<tt>$return_type >>>> $method ($arguments)</tt>\n"; >>>> } >>>> } >>>> } >>>> } >>>> if ( $methodinfo ne "" ){ >>>> print "$methodinfo\n"; >>>> } >>>> >>>> my $help = $method_table{$method}->{'help'}; >>>> if ($help =~ /\n/) { >>>> # Text has already been broken into lines by the server, so just >>>> # indent it by two spaces and hope for the best. >>>> my @lines = split(/\n/, $help); >>>> my $help = " " . join("\n ", @lines); >>>> if ( $help =~ /[a-zA-Z0-9]/ ){ >>>> print "$help\n"; >>>> } >>>> } else { >>>> # Print our help text in a nicely-wrapped fashion using Perl's >>>> # formatting routines. >>>> $helptext = $method_table{$method}->{'help'}; >>>> $helptext =~ s/\\n/\n/g; >>>> $helptext =~ s/\\'/'/g; >>>> >>>> $helptext =~ s/[EMAIL PROTECTED]/<br><b>param: <\/b>/g; >>>> $helptext =~ s/[EMAIL PROTECTED]/<br><b>returns: <\/b>/g; >>>> $helptext =~ s/[EMAIL PROTECTED]/<br><b>return type: <\/b>/g; >>>> >>>> $helptext .= "<hr>"; >>>> >>>> write; >>>> } >>>> } >>>> >>>> format STDOUT = >>>> >>>> ^<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<~~ >>>> $helptext >>>> . >>>> >>>> >>>> References >>>> >>>> Visible links >>>> 1. http://localhost:8005/ >>>> 2. http://localhost:8005/ >>>> 3. http://localhost:8005/ >>>> 4. http://www.linuxdoc.org/HOWTO/XML-RPC-HOWTO/index.html >>>> 5. http://localhost:8005/ >>>> 6. http://localhost:8005/ >>>> 7. http://www.linuxdoc.org/HOWTO/XML-RPC-HOWTO/index.html >>>> 8. http://localhost:8005/ >>>> 9. >>>> http://www.techsay.com/default.php?page=join.php&p=sourceforge&CID=DEVDEV >>>> 10. mailto:[EMAIL PROTECTED] >>>> 11. https://lists.sourceforge.net/lists/listinfo/xenman-users >>>> 12. >>>> http://www.techsay.com/default.php?page=join.php&p=sourceforge&CID=DEVDEV >>>> 13. mailto:XenMan-Users@lists.sourceforge.net >>>> 14. https://lists.sourceforge.net/lists/listinfo/xenman-users >>>> 15. http://localhost:8005/ >>>> 16. http://localhost:8005/ >>>> 17. http://www.linuxdoc.org/HOWTO/XML-RPC-HOWTO/index.html >>>> 18. http://localhost:8005/ >>>> 19. >>>> http://www.techsay.com/default.php?page=join.php&p=sourceforge&CID=DEVDEV >>>> 20. mailto:2 >>>> 21. mailto:mailto:[EMAIL PROTECTED] >>>> 22. https://lists.sourceforge.net/lists/listinfo/xenman-users >>>> 23. >>>> http://www.techsay.com/default.php?page=join.php&p=sourceforge&CID=DEVDEV >>>> 24. mailto:XenMan-Users@lists.sourceforge.net >>>> 25. https://lists.sourceforge.net/lists/listinfo/xenman-users >>>> 26. mailto:[EMAIL PROTECTED] >>>> 27. http://bitsko.slc.ut.us/~ken/xml-rpc/ >>>> 28. http://www.linuxdoc.org/HOWTO/XML-RPC-HOWTO/index.html >>>> 29. http://xmlrpc-c.sourceforge.net/api/sample.php >>>> 30. http://www.linuxdoc.org/HOWTO/XML-RPC-HOWTO/index.html >>>> ------------------------------------------------------------------------- Take Surveys. Earn Cash. Influence the Future of IT Join SourceForge.net's Techsay panel and you'll get the chance to share your opinions on IT & business topics through brief surveys-and earn cash http://www.techsay.com/default.php?page=join.php&p=sourceforge&CID=DEVDEV _______________________________________________ XenMan-Users mailing list XenMan-Users@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/xenman-users