<html xmlns:v="urn:schemas-microsoft-com:vml" xmlns:o="urn:schemas-microsoft-com:office:office" xmlns:w="urn:schemas-microsoft-com:office:word" xmlns:x="urn:schemas-microsoft-com:office:excel" xmlns:p="urn:schemas-microsoft-com:office:powerpoint" xmlns:a="urn:schemas-microsoft-com:office:access" xmlns:dt="uuid:C2F41010-65B3-11d1-A29F-00AA00C14882" xmlns:s="uuid:BDC6E3F0-6DA3-11d1-A2A3-00AA00C14882" xmlns:rs="urn:schemas-microsoft-com:rowset" xmlns:z="#RowsetSchema" xmlns:b="urn:schemas-microsoft-com:office:publisher" xmlns:ss="urn:schemas-microsoft-com:office:spreadsheet" xmlns:c="urn:schemas-microsoft-com:office:component:spreadsheet" xmlns:odc="urn:schemas-microsoft-com:office:odc" xmlns:oa="urn:schemas-microsoft-com:office:activation" xmlns:html="http://www.w3.org/TR/REC-html40" xmlns:q="http://schemas.xmlsoap.org/soap/envelope/" xmlns:rtc="http://microsoft.com/officenet/conferencing" xmlns:D="DAV:" xmlns:Repl="http://schemas.microsoft.com/repl/" xmlns:mt="http://schemas.microsoft.com/sharepoint/soap/meetings/" xmlns:x2="http://schemas.microsoft.com/office/excel/2003/xml" xmlns:ppda="http://www.passport.com/NameSpace.xsd" xmlns:ois="http://schemas.microsoft.com/sharepoint/soap/ois/" xmlns:dir="http://schemas.microsoft.com/sharepoint/soap/directory/" xmlns:ds="http://www.w3.org/2000/09/xmldsig#" xmlns:dsp="http://schemas.microsoft.com/sharepoint/dsp" xmlns:udc="http://schemas.microsoft.com/data/udc" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:sub="http://schemas.microsoft.com/sharepoint/soap/2002/1/alerts/" xmlns:ec="http://www.w3.org/2001/04/xmlenc#" xmlns:sp="http://schemas.microsoft.com/sharepoint/" xmlns:sps="http://schemas.microsoft.com/sharepoint/soap/" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:udcs="http://schemas.microsoft.com/data/udc/soap" xmlns:udcxf="http://schemas.microsoft.com/data/udc/xmlfile" xmlns:udcp2p="http://schemas.microsoft.com/data/udc/parttopart" xmlns:wf="http://schemas.microsoft.com/sharepoint/soap/workflow/" xmlns:dsss="http://schemas.microsoft.com/office/2006/digsig-setup" xmlns:dssi="http://schemas.microsoft.com/office/2006/digsig" xmlns:mdssi="http://schemas.openxmlformats.org/package/2006/digital-signature" xmlns:mver="http://schemas.openxmlformats.org/markup-compatibility/2006" xmlns:m="http://schemas.microsoft.com/office/2004/12/omml" xmlns:mrels="http://schemas.openxmlformats.org/package/2006/relationships" xmlns:spwp="http://microsoft.com/sharepoint/webpartpages" xmlns:ex12t="http://schemas.microsoft.com/exchange/services/2006/types" xmlns:ex12m="http://schemas.microsoft.com/exchange/services/2006/messages" xmlns:pptsl="http://schemas.microsoft.com/sharepoint/soap/SlideLibrary/" xmlns:spsl="http://microsoft.com/webservices/SharePointPortalServer/PublishedLinksService" xmlns:Z="urn:schemas-microsoft-com:" xmlns:st="" xmlns="http://www.w3.org/TR/REC-html40">
<head>
<meta http-equiv=Content-Type content="text/html; charset=us-ascii">
<meta name=Generator content="Microsoft Word 12 (filtered medium)">
<style>
<!--
/* Font Definitions */
@font-face
{font-family:Wingdings;
panose-1:5 0 0 0 0 0 0 0 0 0;}
@font-face
{font-family:"Cambria Math";
panose-1:2 4 5 3 5 4 6 3 2 4;}
@font-face
{font-family:Calibri;
panose-1:2 15 5 2 2 2 4 3 2 4;}
@font-face
{font-family:Tahoma;
panose-1:2 11 6 4 3 5 4 4 2 4;}
@font-face
{font-family:Consolas;
panose-1:2 11 6 9 2 2 4 3 2 4;}
/* Style Definitions */
p.MsoNormal, li.MsoNormal, div.MsoNormal
{margin:0in;
margin-bottom:.0001pt;
font-size:12.0pt;
font-family:"Times New Roman","serif";
color:black;}
a:link, span.MsoHyperlink
{mso-style-priority:99;
color:blue;
text-decoration:underline;}
a:visited, span.MsoHyperlinkFollowed
{mso-style-priority:99;
color:purple;
text-decoration:underline;}
pre
{mso-style-priority:99;
mso-style-link:"HTML Preformatted Char";
margin:0in;
margin-bottom:.0001pt;
font-size:10.0pt;
font-family:"Courier New";
color:black;}
p.MsoListParagraph, li.MsoListParagraph, div.MsoListParagraph
{mso-style-priority:34;
margin-top:0in;
margin-right:0in;
margin-bottom:0in;
margin-left:.5in;
margin-bottom:.0001pt;
font-size:12.0pt;
font-family:"Times New Roman","serif";
color:black;}
span.HTMLPreformattedChar
{mso-style-name:"HTML Preformatted Char";
mso-style-priority:99;
mso-style-link:"HTML Preformatted";
font-family:Consolas;
color:black;}
span.apple-style-span
{mso-style-name:apple-style-span;}
span.EmailStyle20
{mso-style-type:personal-reply;
font-family:"Calibri","sans-serif";
color:#1F497D;}
.MsoChpDefault
{mso-style-type:export-only;
font-size:10.0pt;}
@page WordSection1
{size:8.5in 11.0in;
margin:1.0in 1.0in 1.0in 1.0in;}
div.WordSection1
{page:WordSection1;}
/* List Definitions */
@list l0
{mso-list-id:2008551189;
mso-list-type:hybrid;
mso-list-template-ids:-1796034716 -961787110 67698691 67698693 67698689 67698691 67698693 67698689 67698691 67698693;}
@list l0:level1
{mso-level-start-at:0;
mso-level-number-format:bullet;
mso-level-text:-;
mso-level-tab-stop:none;
mso-level-number-position:left;
text-indent:-.25in;
font-family:"Calibri","sans-serif";
mso-fareast-font-family:Calibri;}
ol
{margin-bottom:0in;}
ul
{margin-bottom:0in;}
-->
</style>
<!--[if gte mso 9]><xml>
<o:shapedefaults v:ext="edit" spidmax="1026" />
</xml><![endif]--><!--[if gte mso 9]><xml>
<o:shapelayout v:ext="edit">
<o:idmap v:ext="edit" data="1" />
</o:shapelayout></xml><![endif]-->
</head>
<body bgcolor=white lang=EN-US link=blue vlink=purple>
<div class=WordSection1>
<p class=MsoNormal><span style='font-size:10.0pt;font-family:"Calibri","sans-serif";
color:#1F497D'>Dan,<o:p></o:p></span></p>
<p class=MsoNormal><span style='font-size:10.0pt;font-family:"Calibri","sans-serif";
color:#1F497D'><o:p> </o:p></span></p>
<p class=MsoNormal><span style='font-size:10.0pt;font-family:"Calibri","sans-serif";
color:#1F497D'>THANK YOU!<o:p></o:p></span></p>
<p class=MsoNormal><span style='font-size:10.0pt;font-family:"Calibri","sans-serif";
color:#1F497D'><o:p> </o:p></span></p>
<p class=MsoNormal><span style='font-size:10.0pt;font-family:"Calibri","sans-serif";
color:#1F497D'>It’s working!!<o:p></o:p></span></p>
<p class=MsoNormal><span style='font-size:10.0pt;font-family:"Calibri","sans-serif";
color:#1F497D'><o:p> </o:p></span></p>
<p class=MsoListParagraph style='text-indent:-.25in;mso-list:l0 level1 lfo1'><![if !supportLists]><span
style='font-size:10.0pt;font-family:"Calibri","sans-serif";color:#1F497D'><span
style='mso-list:Ignore'>-<span style='font:7.0pt "Times New Roman"'>
</span></span></span><![endif]><span style='font-size:10.0pt;font-family:"Calibri","sans-serif";
color:#1F497D'>Jake<o:p></o:p></span></p>
<p class=MsoNormal><a name="_MailEndCompose"><span style='font-size:10.0pt;
font-family:"Calibri","sans-serif";color:#1F497D'><o:p> </o:p></span></a></p>
<div>
<div style='border:none;border-top:solid #B5C4DF 1.0pt;padding:3.0pt 0in 0in 0in'>
<p class=MsoNormal><b><span style='font-size:10.0pt;font-family:"Tahoma","sans-serif";
color:windowtext'>From:</span></b><span style='font-size:10.0pt;font-family:
"Tahoma","sans-serif";color:windowtext'> Dan Frincu
[mailto:dfrincu@streamwide.ro] <br>
<b>Sent:</b> Thursday, July 08, 2010 4:20 AM<br>
<b>To:</b> The Pacemaker cluster resource manager<br>
<b>Subject:</b> Re: [Pacemaker] Upgraded mysql from 5.0 to 5.1 - And changed to
OCF RA<o:p></o:p></span></p>
</div>
</div>
<p class=MsoNormal><o:p> </o:p></p>
<p class=MsoNormal>I think I didn't explain enough of the config, therefore the
confusion. There are 2 ways the script /usr/lib/ocf/resource.d/heartbeat/mysql
is called. First is by the cluster resource manager, Pacemaker, and second is
manually by you.<br>
<br>
When Pacemaker calls the mysql script, it goes through this code:<br>
<br>
<o:p></o:p></p>
<pre>#######################################################################<o:p></o:p></pre><pre># Initialization:<o:p></o:p></pre><pre><o:p> </o:p></pre><pre>: ${OCF_FUNCTIONS_DIR=${OCF_ROOT}/resource.d/heartbeat}<o:p></o:p></pre><pre>. ${OCF_FUNCTIONS_DIR}/.ocf-shellfuncs<o:p></o:p></pre><pre><o:p> </o:p></pre><pre>#######################################################################<o:p></o:p></pre>
<p class=MsoNormal>Which (as it says) initializes some environment variables,
then it can work with the mysql RA (Resource Agent). <br>
<br>
When you run the script, manually, you don't have to add the export commands to
the script, that _could_ mess it up when Pacemaker calls it, you run the export
commands from the shell, creating (in the current shell) the environment that
you need to test the mysql script. So, remove the export lines from the script,
as I can see from your output, it seems that the script works OK with the mysql
server.<br>
<br>
But, when running a resource manually, either via mysql RA script or via LSB
init script, it doesn't mean Pacemaker is aware of this, therefore when running
"crm status", the resource doesn't show up. You check the script
manually to see if there are any issues in running it, then you use the cluster
resource manager to start the resource and check it from "crm
status".<br>
<br>
I've also previously said "Then take step by step each action and check
it's exit code, see if it matches the OCF RA specification, and also check to
see if it actually starts the resource or not". The specification draft
for the RA exit codes can be found at <a
href="http://www.opencf.org/cgi-bin/viewcvs.cgi/specs/ra/resource-agent-api.txt?rev=HEAD">http://www.opencf.org/cgi-bin/viewcvs.cgi/specs/ra/resource-agent-api.txt?rev=HEAD</a><br>
<br>
How to test them is simple, follow the <a
href="http://www.linux-ha.org/LSBResourceAgent">http://www.linux-ha.org/LSBResourceAgent</a>
guideline, just reference the exit codes from the first link. <br>
<br>
>From the logs, I see that the mysql-server primitive returned rc=6 (exit 6),
which means "program is not configured". <br>
<br>
<o:p></o:p></p>
<pre>Jul 7 11:47:58 qad01 pengine: [4359]: ERROR: unpack_rsc_op: Hard error<o:p></o:p></pre><pre>- mysql-server_start_0 failed with rc=6: Preventing mysql-server from<o:p></o:p></pre><pre>re-starting anywhere in the cluster<o:p></o:p></pre>
<p class=MsoNormal>Because the mysql-server primitive and/or the mysql RA were
not properly configured at the time the error message was written, it led to:<br>
<br>
<br>
<o:p></o:p></p>
<pre>Jul 7 11:47:58 qad01 pengine: [4359]: WARN: common_apply_stickiness:<o:p></o:p></pre><pre>Forcing mysql-server away from qad01 after 1000000 failures<o:p></o:p></pre><pre>(max=1000000)<o:p></o:p></pre>
<p class=MsoNormal><br>
Therefore, export the variables manually, check the exit codes on each
operation of the script, they should match normal operation as described in the
RA specification draft, if everything is OK, move on the the crm shell, cleanup
the mysql-server resource, cleanup the max failures (the cluster resource
manager keeps track of these, I've had to manually remove everything from
/var/lib/heartbeat/crm/*, haven't found a way to clear this option, yet, and
loaded the saved config with crm load config.crm to have the cluster functional
again). <br>
<br>
Also keep in mind that the mysql RA script needs to be the same (as well as /etc/my.cnf)
on all cluster nodes, and even if Pacemaker propagates the changes to all nodes
via multicast, /var/lib/heartbeat/crm/* files are placed on all cluster nodes
as well. And the mysql RA script needs to work the same way on all nodes.<br>
<br>
And I'll stop, I've said enough already.<br>
<br>
Cheers.<br>
<br>
<br>
Jake Bogie wrote: <o:p></o:p></p>
<pre>So I took Dan's advice this time and cleaned up my resource<o:p></o:p></pre><pre>configuration, updated the script, and verified...however I'm still not<o:p></o:p></pre><pre>getting the resource online...<o:p></o:p></pre><pre><o:p> </o:p></pre><pre>[root@qad01 heartbeat]# crm resource start mysql-server<o:p></o:p></pre><pre>[root@qad01 heartbeat]# crm status<o:p></o:p></pre><pre>============<o:p></o:p></pre><pre>Last updated: Wed Jul 7 11:49:20 2010<o:p></o:p></pre><pre>Stack: openais<o:p></o:p></pre><pre>Current DC: qad01 - partition with quorum<o:p></o:p></pre><pre>Version: 1.0.9-89bd754939df5150de7cd76835f98fe90851b677<o:p></o:p></pre><pre>2 Nodes configured, 2 expected votes<o:p></o:p></pre><pre>3 Resources configured.<o:p></o:p></pre><pre>============<o:p></o:p></pre><pre><o:p> </o:p></pre><pre>Online: [ qad02 qad01 ]<o:p></o:p></pre><pre><o:p> </o:p></pre><pre> Resource Group: mysql<o:p></o:p></pre><pre> fs_mysql (ocf::heartbeat:Filesystem): Started qad01<o:p></o:p></pre><pre> ip_mysql (ocf::heartbeat:IPaddr2): Started qad01<o:p></o:p></pre><pre> Master/Slave Set: ms_drbd_mysql<o:p></o:p></pre><pre> Masters: [ qad01 ]<o:p></o:p></pre><pre> Slaves: [ qad02 ]<o:p></o:p></pre><pre><o:p> </o:p></pre><pre>Failed actions:<o:p></o:p></pre><pre> mysql-server_start_0 (node=qad01, call=6, rc=6, status=complete):<o:p></o:p></pre><pre>not configured<o:p></o:p></pre><pre><o:p> </o:p></pre><pre>[root@qad01 heartbeat]# ./mysql start<o:p></o:p></pre><pre>mysql[5750]: DEBUG: MySQL is not running<o:p></o:p></pre><pre>mysql[5750]: DEBUG: MySQL is not running<o:p></o:p></pre><pre>100707 11:49:55 [Warning] option 'group_concat_max_len': unsigned value<o:p></o:p></pre><pre>0 adjusted to 4<o:p></o:p></pre><pre>100707 11:49:55 [Note] Plugin 'FEDERATED' is disabled.<o:p></o:p></pre><pre>InnoDB: The InnoDB memory heap is disabled<o:p></o:p></pre><pre>InnoDB: Mutexes and rw_locks use GCC atomic builtins<o:p></o:p></pre><pre>InnoDB: Compressed tables use zlib 1.2.3<o:p></o:p></pre><pre>100707 11:49:55 InnoDB: highest supported file format is Barracuda.<o:p></o:p></pre><pre>100707 11:49:55 InnoDB: Warning: allocated tablespace 1, old maximum<o:p></o:p></pre><pre>was 0<o:p></o:p></pre><pre>100707 11:49:55 InnoDB Plugin 1.0.9 started; log sequence number<o:p></o:p></pre><pre>28732335894<o:p></o:p></pre><pre>100707 11:49:55 [Note] Event Scheduler: Loaded 0 events<o:p></o:p></pre><pre>100707 11:49:55 [Note] /usr/sbin/mysqld: ready for connections.<o:p></o:p></pre><pre>Version: '5.1.48-community' socket: '/var/lib/mysql/mysql.sock' port:<o:p></o:p></pre><pre>3306 MySQL Community Server (GPL)<o:p></o:p></pre><pre>mysql[5750]: INFO: MySQL started<o:p></o:p></pre><pre>[root@qad01 heartbeat]# ./mysql status<o:p></o:p></pre><pre>[root@qad01 heartbeat]# ./mysql monitor<o:p></o:p></pre><pre>[root@qad01 heartbeat]# ./mysql validate-all<o:p></o:p></pre><pre>[root@qad01 heartbeat]# crm status<o:p></o:p></pre><pre>============<o:p></o:p></pre><pre>Last updated: Wed Jul 7 11:50:23 2010<o:p></o:p></pre><pre>Stack: openais<o:p></o:p></pre><pre>Current DC: qad01 - partition with quorum<o:p></o:p></pre><pre>Version: 1.0.9-89bd754939df5150de7cd76835f98fe90851b677<o:p></o:p></pre><pre>2 Nodes configured, 2 expected votes<o:p></o:p></pre><pre>3 Resources configured.<o:p></o:p></pre><pre>============<o:p></o:p></pre><pre><o:p> </o:p></pre><pre>Online: [ qad02 qad01 ]<o:p></o:p></pre><pre><o:p> </o:p></pre><pre> Resource Group: mysql<o:p></o:p></pre><pre> fs_mysql (ocf::heartbeat:Filesystem): Started qad01<o:p></o:p></pre><pre> ip_mysql (ocf::heartbeat:IPaddr2): Started qad01<o:p></o:p></pre><pre> Master/Slave Set: ms_drbd_mysql<o:p></o:p></pre><pre> Masters: [ qad01 ]<o:p></o:p></pre><pre> Slaves: [ qad02 ]<o:p></o:p></pre><pre><o:p> </o:p></pre><pre>Failed actions:<o:p></o:p></pre><pre> mysql-server_start_0 (node=qad01, call=6, rc=6, status=complete):<o:p></o:p></pre><pre>not configured<o:p></o:p></pre><pre>[root@qad01 heartbeat]# ./mysql stop<o:p></o:p></pre><pre>100707 11:50:31 [Note] /usr/sbin/mysqld: Normal shutdown<o:p></o:p></pre><pre><o:p> </o:p></pre><pre>./mysql: line 426: (/1000)-5: syntax error: operand expected (error<o:p></o:p></pre><pre>token is "/1000)-5")<o:p></o:p></pre><pre>100707 11:50:31 [Note] Event Scheduler: Purging the queue. 0 events<o:p></o:p></pre><pre>100707 11:50:31 InnoDB: Starting shutdown...<o:p></o:p></pre><pre>[root@qad01 heartbeat]# 100707 11:50:36 InnoDB: Shutdown completed; log<o:p></o:p></pre><pre>sequence number 28732335904<o:p></o:p></pre><pre>100707 11:50:36 [Note] /usr/sbin/mysqld: Shutdown complete<o:p></o:p></pre><pre><o:p> </o:p></pre><pre>[root@qad01 heartbeat]#<o:p></o:p></pre><pre><o:p> </o:p></pre><pre>[root@qad01 heartbeat]# crm configure show mysql-server<o:p></o:p></pre><pre>primitive mysql-server ocf:heartbeat:mysql \<o:p></o:p></pre><pre> op monitor interval="30s" timeout="30s" \<o:p></o:p></pre><pre> op start interval="0" timeout="120" \<o:p></o:p></pre><pre> op stop interval="0" timeout="120" \<o:p></o:p></pre><pre> params binary="/usr/sbin/mysqld" config="/etc/my.cnf"<o:p></o:p></pre><pre>datadir="/drbd/mysql/data/" user="mysql" group="mysql"<o:p></o:p></pre><pre>log="/var/log/mysqld.log" pid="/drbd/mysql/data/qadb.pid"<o:p></o:p></pre><pre>socket="/var/lib/mysql/mysql.sock" test_user="qaclus"<o:p></o:p></pre><pre>test_passwd="isitup" test_table="cluster_check.connectioncheck" \<o:p></o:p></pre><pre> meta target-role="Started"<o:p></o:p></pre><pre><o:p> </o:p></pre><pre>[root@qad01 heartbeat]# cat mysql<o:p></o:p></pre><pre>#!/bin/sh<o:p></o:p></pre><pre>#<o:p></o:p></pre><pre>#<o:p></o:p></pre><pre># MySQL<o:p></o:p></pre><pre>#<o:p></o:p></pre><pre># Description: Manages a MySQL database as Linux-HA resource<o:p></o:p></pre><pre><o:p> </o:p></pre><pre>#<o:p></o:p></pre><pre># Author: Alan Robertson : DB2 Script<o:p></o:p></pre><pre># Author: Jakub Janczak : Rewrite as MySQL<o:p></o:p></pre><pre># Author: Andrew Beekhof : Cleanup and import<o:p></o:p></pre><pre># Author: Sebastian Reitenbach : add OpenBSD defaults, more<o:p></o:p></pre><pre>cleanup<o:p></o:p></pre><pre># Author: Narayan Newton : Add Gentoo/Debian defaults<o:p></o:p></pre><pre>#<o:p></o:p></pre><pre># Support: <a
href="mailto:linux-ha@lists.linux-ha.org">linux-ha@lists.linux-ha.org</a><o:p></o:p></pre><pre># License: GNU General Public License (GPL)<o:p></o:p></pre><pre># Copyright: (C) 2002 - 2005 International Business Machines, Inc.<o:p></o:p></pre><pre>#<o:p></o:p></pre><pre># An example usage in /etc/ha.d/haresources:<o:p></o:p></pre><pre># node1 10.0.0.170 mysql<o:p></o:p></pre><pre>#<o:p></o:p></pre><pre># See usage() function below for more details...<o:p></o:p></pre><pre>#<o:p></o:p></pre><pre># OCF instance parameters:<o:p></o:p></pre><pre># OCF_RESKEY_binary<o:p></o:p></pre><pre># OCF_RESKEY_config<o:p></o:p></pre><pre># OCF_RESKEY_datadir<o:p></o:p></pre><pre># OCF_RESKEY_user<o:p></o:p></pre><pre># OCF_RESKEY_group<o:p></o:p></pre><pre># OCF_RESKEY_test_table<o:p></o:p></pre><pre># OCF_RESKEY_test_user<o:p></o:p></pre><pre># OCF_RESKEY_test_passwd<o:p></o:p></pre><pre># OCF_RESKEY_enable_creation<o:p></o:p></pre><pre># OCF_RESKEY_additional_parameters<o:p></o:p></pre><pre># OCF_RESKEY_log<o:p></o:p></pre><pre># OCF_RESKEY_pid<o:p></o:p></pre><pre># OCF_RESKEY_socket<o:p></o:p></pre><pre>#######################################################################<o:p></o:p></pre><pre># Initialization:<o:p></o:p></pre><pre><o:p> </o:p></pre><pre>: ${OCF_FUNCTIONS_DIR=${OCF_ROOT}/resource.d/heartbeat}<o:p></o:p></pre><pre>. ${OCF_FUNCTIONS_DIR}/.ocf-shellfuncs<o:p></o:p></pre><pre><o:p> </o:p></pre><pre>#######################################################################<o:p></o:p></pre><pre><o:p> </o:p></pre><pre># Added exports<o:p></o:p></pre><pre>export OCF_ROOT=/usr/lib/ocf/<o:p></o:p></pre><pre>export OCF_RESKEY_binary_default="/usr/sbin/mysqld"<o:p></o:p></pre><pre>export OCF_RESKEY_config_default="/etc/my.cnf"<o:p></o:p></pre><pre>export OCF_RESKEY_datadir_default="/drbd/mysql/data"<o:p></o:p></pre><pre>export OCF_RESKEY_user_default="mysql"<o:p></o:p></pre><pre>export OCF_RESKEY_group_default="mysql"<o:p></o:p></pre><pre>export OCF_RESKEY_log_default="/var/log/mysqld.log"<o:p></o:p></pre><pre>export OCF_RESKEY_pid_default="/drbd/mysql/data/qadb.pid"<o:p></o:p></pre><pre>export OCF_RESKEY_socket_default="/var/lib/mysql/mysql.sock"<o:p></o:p></pre><pre>export OCF_RESKEY_test_user_default="qaclus"<o:p></o:p></pre><pre>export OCF_RESKEY_test_table_default="cluster_check.connectioncheck"<o:p></o:p></pre><pre>export OCF_RESKEY_test_passwd_default="isitup"<o:p></o:p></pre><pre><o:p> </o:p></pre><pre># Fill in some defaults if no values are specified<o:p></o:p></pre><pre>HOSTOS=`uname`<o:p></o:p></pre><pre>if [ "X${HOSTOS}" = "XOpenBSD" ];then<o:p></o:p></pre><pre>OCF_RESKEY_binary_default="/usr/local/bin/mysqld_safe"<o:p></o:p></pre><pre>OCF_RESKEY_config_default="/etc/my.cnf"<o:p></o:p></pre><pre>OCF_RESKEY_datadir_default="/var/mysql"<o:p></o:p></pre><pre>OCF_RESKEY_user_default="_mysql"<o:p></o:p></pre><pre>OCF_RESKEY_group_default="_mysql"<o:p></o:p></pre><pre>OCF_RESKEY_log_default="/var/log/mysqld.log"<o:p></o:p></pre><pre>OCF_RESKEY_pid_default="/var/mysql/mysqld.pid"<o:p></o:p></pre><pre>OCF_RESKEY_socket_default="/var/run/mysql/mysql.sock"<o:p></o:p></pre><pre>OCF_RESKEY_test_user_default="root"<o:p></o:p></pre><pre>OCF_RESKEY_test_table_default="mysql.user"<o:p></o:p></pre><pre>OCF_RESKEY_test_passwd_default=""<o:p></o:p></pre><pre>OCF_RESKEY_enable_creation_default=0<o:p></o:p></pre><pre>OCF_RESKEY_additional_parameters_default=""<o:p></o:p></pre><pre>else<o:p></o:p></pre><pre>OCF_RESKEY_binary_default="/usr/sbin/mysqld"<o:p></o:p></pre><pre>OCF_RESKEY_config_default="/etc/my.cnf"<o:p></o:p></pre><pre>OCF_RESKEY_datadir_default="/drbd/mysql/data"<o:p></o:p></pre><pre>OCF_RESKEY_user_default="mysql"<o:p></o:p></pre><pre>OCF_RESKEY_group_default="mysql"<o:p></o:p></pre><pre>OCF_RESKEY_log_default="/var/log/mysqld.log"<o:p></o:p></pre><pre>OCF_RESKEY_pid_default="/drbd/mysql/data/qadb.pid"<o:p></o:p></pre><pre>OCF_RESKEY_socket_default="/var/lib/mysql/mysql.sock"<o:p></o:p></pre><pre>OCF_RESKEY_test_user_default="qaclus"<o:p></o:p></pre><pre>OCF_RESKEY_test_table_default="cluster_check.connectioncheck"<o:p></o:p></pre><pre>OCF_RESKEY_test_passwd_default="isitup"<o:p></o:p></pre><pre>OCF_RESKEY_enable_creation_default=0<o:p></o:p></pre><pre>OCF_RESKEY_additional_parameters_default=""<o:p></o:p></pre><pre>Fi<o:p></o:p></pre><pre><o:p> </o:p></pre><pre>[root@qad01 heartbeat]# cat /var/log/messages | grep mysql-server<o:p></o:p></pre><pre>Jul 7 11:43:38 qad01 pengine: [4359]: ERROR: unpack_rsc_op: Hard error<o:p></o:p></pre><pre>- mysql-server_start_0 failed with rc=6: Preventing mysql-server from<o:p></o:p></pre><pre>re-starting anywhere in the cluster<o:p></o:p></pre><pre>Jul 7 11:43:38 qad01 pengine: [4359]: WARN: unpack_rsc_op: Processing<o:p></o:p></pre><pre>failed op mysql-server_start_0 on qad01: not configured (6)<o:p></o:p></pre><pre>Jul 7 11:43:38 qad01 pengine: [4359]: notice: native_print:<o:p></o:p></pre><pre>mysql-server (ocf::heartbeat:mysql): Stopped<o:p></o:p></pre><pre>Jul 7 11:43:38 qad01 pengine: [4359]: info: get_failcount: mysql-server<o:p></o:p></pre><pre>has failed INFINITY times on qad01<o:p></o:p></pre><pre>Jul 7 11:43:38 qad01 pengine: [4359]: WARN: common_apply_stickiness:<o:p></o:p></pre><pre>Forcing mysql-server away from qad01 after 1000000 failures<o:p></o:p></pre><pre>(max=1000000)<o:p></o:p></pre><pre>Jul 7 11:43:38 qad01 pengine: [4359]: info: native_color: Resource<o:p></o:p></pre><pre>mysql-server cannot run anywhere<o:p></o:p></pre><pre>Jul 7 11:43:38 qad01 pengine: [4359]: notice: LogActions: Leave<o:p></o:p></pre><pre>resource mysql-server (Stopped)<o:p></o:p></pre><pre>Jul 7 11:47:58 qad01 crmd: [4360]: info: abort_transition_graph:<o:p></o:p></pre><pre>te_update_diff:267 - Triggered transition abort (complete=1,<o:p></o:p></pre><pre>tag=lrm_rsc_op, id=mysql-server_monitor_0,<o:p></o:p></pre><pre>magic=0:7;7:0:7:e87a73c4-97b8-4f63-9e69-89ec59fce708, cib=0.287.3) :<o:p></o:p></pre><pre>Resource op removal<o:p></o:p></pre><pre>Jul 7 11:47:58 qad01 pengine: [4359]: ERROR: unpack_rsc_op: Hard error<o:p></o:p></pre><pre>- mysql-server_start_0 failed with rc=6: Preventing mysql-server from<o:p></o:p></pre><pre>re-starting anywhere in the cluster<o:p></o:p></pre><pre>Jul 7 11:47:58 qad01 pengine: [4359]: WARN: unpack_rsc_op: Processing<o:p></o:p></pre><pre>failed op mysql-server_start_0 on qad01: not configured (6)<o:p></o:p></pre><pre>Jul 7 11:47:58 qad01 pengine: [4359]: notice: native_print:<o:p></o:p></pre><pre>mysql-server (ocf::heartbeat:mysql): Stopped<o:p></o:p></pre><pre>Jul 7 11:47:58 qad01 pengine: [4359]: info: get_failcount: mysql-server<o:p></o:p></pre><pre>has failed INFINITY times on qad01<o:p></o:p></pre><pre>Jul 7 11:47:58 qad01 pengine: [4359]: WARN: common_apply_stickiness:<o:p></o:p></pre><pre>Forcing mysql-server away from qad01 after 1000000 failures<o:p></o:p></pre><pre>(max=1000000)<o:p></o:p></pre><pre>Jul 7 11:47:58 qad01 pengine: [4359]: info: native_color: Resource<o:p></o:p></pre><pre>mysql-server cannot run anywhere<o:p></o:p></pre><pre>Jul 7 11:47:58 qad01 attrd: [4358]: info: attrd_trigger_update: Sending<o:p></o:p></pre><pre>flush op to all hosts for: fail-count-mysql-server (INFINITY)<o:p></o:p></pre><pre>Jul 7 11:47:58 qad01 attrd: [4358]: info: attrd_trigger_update: Sending<o:p></o:p></pre><pre>flush op to all hosts for: last-failure-mysql-server (1278516515)<o:p></o:p></pre><pre>Jul 7 11:47:58 qad01 pengine: [4359]: notice: LogActions: Leave<o:p></o:p></pre><pre>resource mysql-server (Stopped)<o:p></o:p></pre><pre>Jul 7 11:47:58 qad01 crmd: [4360]: info: te_rsc_command: Initiating<o:p></o:p></pre><pre>action 7: monitor mysql-server_monitor_0 on qad02<o:p></o:p></pre><pre>Jul 7 11:47:58 qad01 crmd: [4360]: info: match_graph_event: Action<o:p></o:p></pre><pre>mysql-server_monitor_0 (7) confirmed on qad02 (rc=0)<o:p></o:p></pre><pre>Jul 7 11:47:58 qad01 pengine: [4359]: ERROR: unpack_rsc_op: Hard error<o:p></o:p></pre><pre>- mysql-server_start_0 failed with rc=6: Preventing mysql-server from<o:p></o:p></pre><pre>re-starting anywhere in the cluster<o:p></o:p></pre><pre>Jul 7 11:47:58 qad01 pengine: [4359]: WARN: unpack_rsc_op: Processing<o:p></o:p></pre><pre>failed op mysql-server_start_0 on qad01: not configured (6)<o:p></o:p></pre><pre>Jul 7 11:47:58 qad01 pengine: [4359]: notice: native_print:<o:p></o:p></pre><pre>mysql-server (ocf::heartbeat:mysql): Stopped<o:p></o:p></pre><pre>Jul 7 11:47:58 qad01 pengine: [4359]: info: get_failcount: mysql-server<o:p></o:p></pre><pre>has failed INFINITY times on qad01<o:p></o:p></pre><pre>Jul 7 11:47:58 qad01 pengine: [4359]: WARN: common_apply_stickiness:<o:p></o:p></pre><pre>Forcing mysql-server away from qad01 after 1000000 failures<o:p></o:p></pre><pre>(max=1000000)<o:p></o:p></pre><pre>Jul 7 11:47:58 qad01 pengine: [4359]: info: native_color: Resource<o:p></o:p></pre><pre>mysql-server cannot run anywhere<o:p></o:p></pre><pre>Jul 7 11:47:58 qad01 pengine: [4359]: notice: LogActions: Leave<o:p></o:p></pre><pre>resource mysql-server (Stopped)<o:p></o:p></pre><pre>Jul 7 11:48:01 qad01 pengine: [4359]: ERROR: unpack_rsc_op: Hard error<o:p></o:p></pre><pre>- mysql-server_start_0 failed with rc=6: Preventing mysql-server from<o:p></o:p></pre><pre>re-starting anywhere in the cluster<o:p></o:p></pre><pre>Jul 7 11:48:01 qad01 pengine: [4359]: WARN: unpack_rsc_op: Processing<o:p></o:p></pre><pre>failed op mysql-server_start_0 on qad01: not configured (6)<o:p></o:p></pre><pre>Jul 7 11:48:01 qad01 pengine: [4359]: notice: native_print:<o:p></o:p></pre><pre>mysql-server (ocf::heartbeat:mysql): Stopped<o:p></o:p></pre><pre>Jul 7 11:48:01 qad01 pengine: [4359]: info: get_failcount: mysql-server<o:p></o:p></pre><pre>has failed INFINITY times on qad01<o:p></o:p></pre><pre>Jul 7 11:48:01 qad01 pengine: [4359]: WARN: common_apply_stickiness:<o:p></o:p></pre><pre>Forcing mysql-server away from qad01 after 1000000 failures<o:p></o:p></pre><pre>(max=1000000)<o:p></o:p></pre><pre>Jul 7 11:48:01 qad01 pengine: [4359]: info: native_color: Resource<o:p></o:p></pre><pre>mysql-server cannot run anywhere<o:p></o:p></pre><pre>Jul 7 11:48:01 qad01 pengine: [4359]: notice: LogActions: Leave<o:p></o:p></pre><pre>resource mysql-server (Stopped)<o:p></o:p></pre><pre>Jul 7 11:48:10 qad01 pengine: [4359]: ERROR: unpack_rsc_op: Hard error<o:p></o:p></pre><pre>- mysql-server_start_0 failed with rc=6: Preventing mysql-server from<o:p></o:p></pre><pre>re-starting anywhere in the cluster<o:p></o:p></pre><pre>Jul 7 11:48:10 qad01 pengine: [4359]: WARN: unpack_rsc_op: Processing<o:p></o:p></pre><pre>failed op mysql-server_start_0 on qad01: not configured (6)<o:p></o:p></pre><pre>Jul 7 11:48:10 qad01 pengine: [4359]: notice: native_print:<o:p></o:p></pre><pre>mysql-server (ocf::heartbeat:mysql): Stopped<o:p></o:p></pre><pre>Jul 7 11:48:10 qad01 pengine: [4359]: info: get_failcount: mysql-server<o:p></o:p></pre><pre>has failed INFINITY times on qad01<o:p></o:p></pre><pre>Jul 7 11:48:10 qad01 pengine: [4359]: WARN: common_apply_stickiness:<o:p></o:p></pre><pre>Forcing mysql-server away from qad01 after 1000000 failures<o:p></o:p></pre><pre>(max=1000000)<o:p></o:p></pre><pre>Jul 7 11:48:10 qad01 pengine: [4359]: info: native_color: Resource<o:p></o:p></pre><pre>mysql-server cannot run anywhere<o:p></o:p></pre><pre>Jul 7 11:48:10 qad01 pengine: [4359]: notice: LogActions: Leave<o:p></o:p></pre><pre>resource mysql-server (Stopped)<o:p></o:p></pre><pre>Jul 7 11:48:11 qad01 pengine: [4359]: ERROR: unpack_rsc_op: Hard error<o:p></o:p></pre><pre>- mysql-server_start_0 failed with rc=6: Preventing mysql-server from<o:p></o:p></pre><pre>re-starting anywhere in the cluster<o:p></o:p></pre><pre>Jul 7 11:48:11 qad01 pengine: [4359]: WARN: unpack_rsc_op: Processing<o:p></o:p></pre><pre>failed op mysql-server_start_0 on qad01: not configured (6)<o:p></o:p></pre><pre>Jul 7 11:48:11 qad01 pengine: [4359]: notice: native_print:<o:p></o:p></pre><pre>mysql-server (ocf::heartbeat:mysql): Stopped<o:p></o:p></pre><pre>Jul 7 11:48:11 qad01 pengine: [4359]: info: get_failcount: mysql-server<o:p></o:p></pre><pre>has failed INFINITY times on qad01<o:p></o:p></pre><pre>Jul 7 11:48:11 qad01 pengine: [4359]: WARN: common_apply_stickiness:<o:p></o:p></pre><pre>Forcing mysql-server away from qad01 after 1000000 failures<o:p></o:p></pre><pre>(max=1000000)<o:p></o:p></pre><pre>Jul 7 11:48:11 qad01 pengine: [4359]: info: native_color: Resource<o:p></o:p></pre><pre>mysql-server cannot run anywhere<o:p></o:p></pre><pre>Jul 7 11:48:11 qad01 pengine: [4359]: notice: LogActions: Leave<o:p></o:p></pre><pre>resource mysql-server (Stopped)<o:p></o:p></pre><pre>Jul 7 11:48:26 qad01 pengine: [4359]: ERROR: unpack_rsc_op: Hard error<o:p></o:p></pre><pre>- mysql-server_start_0 failed with rc=6: Preventing mysql-server from<o:p></o:p></pre><pre>re-starting anywhere in the cluster<o:p></o:p></pre><pre>Jul 7 11:48:26 qad01 pengine: [4359]: WARN: unpack_rsc_op: Processing<o:p></o:p></pre><pre>failed op mysql-server_start_0 on qad01: not configured (6)<o:p></o:p></pre><pre>Jul 7 11:48:26 qad01 pengine: [4359]: notice: native_print:<o:p></o:p></pre><pre>mysql-server (ocf::heartbeat:mysql): Stopped<o:p></o:p></pre><pre>Jul 7 11:48:26 qad01 pengine: [4359]: info: get_failcount: mysql-server<o:p></o:p></pre><pre>has failed INFINITY times on qad01<o:p></o:p></pre><pre>Jul 7 11:48:26 qad01 pengine: [4359]: WARN: common_apply_stickiness:<o:p></o:p></pre><pre>Forcing mysql-server away from qad01 after 1000000 failures<o:p></o:p></pre><pre>(max=1000000)<o:p></o:p></pre><pre>Jul 7 11:48:26 qad01 pengine: [4359]: info: native_color: Resource<o:p></o:p></pre><pre>mysql-server cannot run anywhere<o:p></o:p></pre><pre>Jul 7 11:48:26 qad01 pengine: [4359]: notice: LogActions: Leave<o:p></o:p></pre><pre>resource mysql-server (Stopped)<o:p></o:p></pre><pre>___<o:p></o:p></pre><pre><o:p> </o:p></pre><pre>Message: 7<o:p></o:p></pre><pre>Date: Wed, 07 Jul 2010 12:55:51 +0300<o:p></o:p></pre><pre>From: Dan Frincu <a
href="mailto:dfrincu@streamwide.ro"><dfrincu@streamwide.ro></a><o:p></o:p></pre><pre>To: The Pacemaker cluster resource manager<o:p></o:p></pre><pre> <a
href="mailto:pacemaker@oss.clusterlabs.org"><pacemaker@oss.clusterlabs.org></a><o:p></o:p></pre><pre>Subject: Re: [Pacemaker] Upgraded mysql from 5.0 to 5.1<o:p></o:p></pre><pre>Message-ID: <a
href="mailto:4C344F27.1060707@streamwide.ro"><4C344F27.1060707@streamwide.ro></a><o:p></o:p></pre><pre>Content-Type: text/plain; charset=ISO-8859-1; format=flowed<o:p></o:p></pre><pre><o:p> </o:p></pre><pre>Have you copied twice this line?<o:p></o:p></pre><pre><o:p> </o:p></pre><pre>socket="/var/lib/mysql/mysql.sock" binary="/usr/sbin/mysqld"<o:p></o:p></pre><pre>socket="/var/lib/mysql/mysql.sock" binary="/usr/sbin/mysqld"<o:p></o:p></pre><pre><o:p> </o:p></pre><pre>I think so. Regardless, to test a resource agent manually requires that <o:p></o:p></pre><pre>you define some variables and then call the script by hand. Also, check <o:p></o:p></pre><pre>all the actions (start,stop,restart,promote,etc) and their exit codes, <o:p></o:p></pre><pre>to see if they match the OCF RA specification. Most of the problems that<o:p></o:p></pre><pre><o:p> </o:p></pre><pre>you will have with a resource agent and it's resource can be found if <o:p></o:p></pre><pre>you're manually testing the RA script.<o:p></o:p></pre><pre><o:p> </o:p></pre><pre>Go to /usr/lib/ocf/resource.d/heartbeat/<o:p></o:p></pre><pre>Open the mysql RA script. Go to line 63 and starting from that line <o:p></o:p></pre><pre>update the values in the script to match the contents of /etc/my.cnf. <o:p></o:p></pre><pre>Then update the crm configure for the primitive mysql-server to match as<o:p></o:p></pre><pre><o:p> </o:p></pre><pre>well.<o:p></o:p></pre><pre> From what I remember, the values in <o:p></o:p></pre><pre>OCF_RESKEY_{binary_default,pid_default,socket_default} are wrong in the <o:p></o:p></pre><pre>RA script vs what's actually installed.<o:p></o:p></pre><pre><o:p> </o:p></pre><pre>Then "export OCF_ROOT=/usr/lib/ocf/" and all OCF_RESKEY_* with their <o:p></o:p></pre><pre>defined values, then call the script with no parameters. It should <o:p></o:p></pre><pre>provide the usage of the script. Then take step by step each action and <o:p></o:p></pre><pre>check it's exit code, see if it matches the OCF RA specification, and <o:p></o:p></pre><pre>also check to see if it actually starts the resource or not. The thing <o:p></o:p></pre><pre>is, once the script works as it should, all the issues have been <o:p></o:p></pre><pre>resolved, the cluster will work with the mysql-server resource.<o:p></o:p></pre><pre><o:p> </o:p></pre><pre>Regards,<o:p></o:p></pre><pre>Dan<o:p></o:p></pre><pre><o:p> </o:p></pre><pre>Jake Bogie wrote:<o:p></o:p></pre><pre> <o:p></o:p></pre>
<blockquote style='margin-top:5.0pt;margin-bottom:5.0pt'><pre>So I took Raoul's advice and ditched the lsb:mysql check and went for<o:p></o:p></pre><pre>the ocf:heartbeat version however...<o:p></o:p></pre><pre><o:p> </o:p></pre><pre>I'm getting this now...<o:p></o:p></pre><pre><o:p> </o:p></pre><pre>What am I missing? I'm having a hard time finding a document on how to<o:p></o:p></pre><pre>setup this resource agent.<o:p></o:p></pre><pre><o:p> </o:p></pre><pre>============<o:p></o:p></pre><pre>Last updated: Tue Jul 6 12:44:07 2010<o:p></o:p></pre><pre>Stack: openais<o:p></o:p></pre><pre>Current DC: qad02 - partition with quorum<o:p></o:p></pre><pre>Version: 1.0.9-89bd754939df5150de7cd76835f98fe90851b677<o:p></o:p></pre><pre>2 Nodes configured, 2 expected votes<o:p></o:p></pre><pre>3 Resources configured.<o:p></o:p></pre><pre>============<o:p></o:p></pre><pre><o:p> </o:p></pre><pre>Online: [ qad02 qad01 ]<o:p></o:p></pre><pre><o:p> </o:p></pre><pre> Resource Group: mysql<o:p></o:p></pre><pre> fs_mysql (ocf::heartbeat:Filesystem): Started qad02<o:p></o:p></pre><pre> ip_mysql (ocf::heartbeat:IPaddr2): Started qad02<o:p></o:p></pre><pre> Master/Slave Set: ms_drbd_mysql<o:p></o:p></pre><pre> Masters: [ qad02 ]<o:p></o:p></pre><pre> Slaves: [ qad01 ]<o:p></o:p></pre><pre><o:p> </o:p></pre><pre>Failed actions:<o:p></o:p></pre><pre> mysql-server_start_0 (node=qad01, call=6, rc=6, status=complete):<o:p></o:p></pre><pre>not configured<o:p></o:p></pre><pre> mysql-server_start_0 (node=qad02, call=33, rc=5, status=complete):<o:p></o:p></pre><pre>not installed<o:p></o:p></pre><pre><o:p> </o:p></pre><pre>###<o:p></o:p></pre><pre><o:p> </o:p></pre><pre>primitive mysql-server ocf:heartbeat:mysql \<o:p></o:p></pre><pre> op monitor interval="30s" timeout="30s" \<o:p></o:p></pre><pre> op start interval="0" timeout="120" \<o:p></o:p></pre><pre> op stop interval="0" timeout="120" \<o:p></o:p></pre><pre> params config="/etc/my.cnf" datadir="/drbd/mysql/data/"<o:p></o:p></pre><pre>socket="/var/lib/mysql/mysql.sock" binary="/usr/sbin/mysqld"<o:p></o:p></pre><pre>socket="/var/lib/mysql/mysql.sock" binary="/usr/sbin/mysqld"<o:p></o:p></pre><pre>pid="/drbd/mysql/data/mysql.pid" test_passwd="isitup"<o:p></o:p></pre><pre>test_table="cluster_check.connectioncheck" test_user="qaclus" \<o:p></o:p></pre><pre><o:p> </o:p></pre><pre>_______________________________________________<o:p></o:p></pre><pre>Pacemaker mailing list: <a
href="mailto:Pacemaker@oss.clusterlabs.org">Pacemaker@oss.clusterlabs.org</a><o:p></o:p></pre><pre><a
href="http://oss.clusterlabs.org/mailman/listinfo/pacemaker">http://oss.clusterlabs.org/mailman/listinfo/pacemaker</a><o:p></o:p></pre><pre><o:p> </o:p></pre><pre>Project Home: <a
href="http://www.clusterlabs.org">http://www.clusterlabs.org</a><o:p></o:p></pre><pre>Getting started:<o:p></o:p></pre><pre> <o:p></o:p></pre></blockquote>
<pre><a href="http://www.clusterlabs.org/doc/Cluster_from_Scratch.pdf">http://www.clusterlabs.org/doc/Cluster_from_Scratch.pdf</a><o:p></o:p></pre><pre> <o:p></o:p></pre>
<blockquote style='margin-top:5.0pt;margin-bottom:5.0pt'><pre>Bugs:<o:p></o:p></pre><pre> <o:p></o:p></pre></blockquote>
<pre><a
href="http://developerbugs.linux-foundation.org/enter_bug.cgi?product=Pacemake">http://developerbugs.linux-foundation.org/enter_bug.cgi?product=Pacemake</a><o:p></o:p></pre><pre>r<o:p></o:p></pre><pre> <o:p></o:p></pre>
<blockquote style='margin-top:5.0pt;margin-bottom:5.0pt'><pre> <o:p></o:p></pre><pre> <o:p></o:p></pre></blockquote>
<pre><o:p> </o:p></pre><pre> <o:p></o:p></pre>
<p class=MsoNormal><br>
<br>
<o:p></o:p></p>
<pre>-- <o:p></o:p></pre><pre>Dan FRINCU<o:p></o:p></pre><pre>Systems Engineer<o:p></o:p></pre><pre>CCNA, RHCE<o:p></o:p></pre><pre>Streamwide Romania<o:p></o:p></pre><pre>E-mail: <a
href="mailto:dfrincu@streamwide.ro">dfrincu@streamwide.ro</a><o:p></o:p></pre><pre>Phone: +40 (0) 21 320 41 24<o:p></o:p></pre></div>
</body>
</html>