Archive for January, 2008

Keeping your Client Access (now iSeries Access) Updated

January 24th, 2008

As part of the implementation of the iASP’s and the problems we experienced we started to look at the level of iSeries Access. We were shocked to find out that we have a fix pack which is 2 years out of date! So we have to upgrade.

We had thought that the PTFs would have fixed some of the issues because we have a policy of downloading everything automatically, seems that Client access fix packs don’t ship as PTF’s. It’s about time IBM got some of its iSeries software divisions to work together so we had a single point to update from! I now have to use one method for updating the OS, another for fixing up Websphere Eclipse, another for iSeries Access! I tried to use the methods used in a normal Eclipse IDE but that doesn’t work you have to use the IBM Installation Manager, so why not add iSeries Access to that?

The next fix pack is due out on the 25th January so we will be waiting a few days before we start the upgrades.

If like me you didn’t realize iSeries Access needed manual attention you can go here to get your fix packs! Divide and Conquer!


i5 Marketing, Systems Management

New Test Environment ready for development work

January 24th, 2008

We mentioned recently that we are looking to develop a version of RAP which would be suitable for hosting services, this solution would be based around iASP technology but keep the base RAP technology for the replication process. During the initial planning phase we discovered a couple of gotchas which we hope to be able to work round but overall we feel the technology we will develop should make a suitable solution. The next thing we needed was an environment to test some of the theories on, so we set about getting a couple of extra disks for our 515 to set up iASP’s.

First problem was finding a couple of disks but after some digging around we found a supplier who had a couple of drives which would suit us, they had a couple of 35GB disks which should work in the i515 but IBM would not support them! So we went for a couple of used 70GB drives and they arrived in good time from the guys at CorpTechs.. IBM is stating they cannot be included in maintenance still but that’s another story (they said you cant add used drives to maintenance?) At $2,500 for new the cost wasn’t justified in our test environment!

The next problem we came across was the Operations Navigator install we used to discover the drives and manage them kept timing out with a CWBC01048 error. We read through a lot of manuals and tried to make the message go away but it just wouldn’t, no matter how we set up the connections and authorities it just kept timing out. The thing which really threw us was everything else worked, it even worked to the i520 but just would not connect to the i515! We then set about connecting a new PC to the Operations Console via a direct attach cable only to find it also didn’t work! IBM called us late last night saying the system had called home with a problem, we looked at the logs and sure enough it had reported a problem. The attention light was on the system so we then looked at the logs in SST and determined a line failure which was due to the failed Operations Console connects caused a threshold to be exceeded an the attention light was set as well as the message to IBM. Nothing was wrong so we simply removed the log entries and cleared the attention light. Next we attached the Operations Console to the PC we had been having the Operations Navigator problems with and Operations Console came up no problems. We could also now configure the DASD to the iASP’s.

So we had a duff comms port on the initial PC we used to connect the console plus we had a damaged Operations Navigator install on the other PC! (We tried to connect the Operations Navigator again after we had removed the Console cable and it went back to timing out when we tried to view the DASD configurations or start a service window). We decided to start afresh, brought in ANOTHER PC, configured iSeries Access as well as Operations console, upgraded the service packs and connected with no problems to both the Operations Console and the Operations Navigator DASD management functions. We also re-installed iSeries Access on the PC which had the damaged Install on, this fixed it all up and it now works perfectly! We didn’t want to have to keep running to the console to manage the DASD! 18 hours of pure hell turned out OK in the end!

So we now have a fully functioning test environment we can use. Next will be the fun bit of writing the test programs and modules ready for a product simulation.


I would like to mention Lukas Beeler as it was his site we went to find the method of turning off the attention light and thanks to CorpTech for providing excellent service and product.

Disaster recovery, High Availability, Systems Management

New data replication tool?

January 22nd, 2008

I was reading the IT Jungle Article about Mirroring/400 looking to break into the US market. Currently based in Argentina they have seen some success in Italy and are now looking to break into the US market by joining up with partners who can host their software in a data center.

I decided to take a look at exactly what they offer, one big problem I don’t speak spanish! so the site is useless for the American English speaking market (although there are a lot of spanish speak people in America I think most prefer to see the content in English?). It also shows a sample of their green screen menu on the site which is again in spanish so I couldn’t guess what options it has? Hopefully they have a full English language version?

We are looking to do something with partners using RAP but have also started to develop a product aimed specifically at that market. Its going to be based on allowing multiple customers to be hosted on a single target, when they need to invoke a recovery everything should be available to be moved to a separate environment within a short time frame. I did post a poll on the SystemiNetwork Forums to see if such a solution would be of interest, but as only a few people bothered to respond I don’t think the poll is worth anything?(I also selected the option to allow multiple selections which was an error, but cant change it back). I know there are a lot of recovery sites out there who are struggling to fill their data centers with enough customers to really make it viable but I have also heard of some who are booked to capacity (could be something to do with the price) so even that doesn’t give an accurate picture of the market availability. The state of the World economy may change things a little, people will still need data protection and recoverability but may not have the budgets to go for a full in-house solution, we hope they decide a hosted solution while not optimal (so the poll results show) is the next best thing. Most HA users never switch their environments anyhow unless they really have to and when they do they always get a list of surprises.

We are looking for Partners to build a hosted solution based on the RAP technology which would provide a RAP like recovery position for many customers from a single system. If you read this post and know of anyone who is looking for a similar solution lets us know or simply get them to contact us.


Disaster recovery, High Availability

Gentoo Hardened Problems

January 22nd, 2008

We had been getting a message every time we tried to update the portage tree so after some research decided to implement a hardened version of Gentoo on our Linux production server. The research we did seemed to make out it was going to be fairly easy, simply point your make profile to a hardened profile then run the emerge -e world command and you would end up with a working but hardened system. So much for the research, we did the upgrade and all seemed to go well, we ran the etc-update function and carefully checked that we upgraded the relevant config files and started everything again.

Boot up went well with no issues and the initial checks like does the apache server show the right pages etc. Then we found out that PHP was not compiled into the server! OK so we updated the server to include apache, regenerated the modules etc, restarted apache and sure enough phpinfo(); returned all the right information! Or so we thought!

Next we tried to start the SugarCRM application interface, just a blank page! we also looked at phpmyadmin and the same problems, no session support, so we went though the exercise of rebuilding PHP and restarted everything again. We could now see everything in SugarCRM, but what about other programs? To cut a long story short we must have re-generated PHP 6 times to get everything that was working to work again. we had to add xml,session,pcre,sockets,posix and unicode into the USE variables just to get SugarCRM working again.

We then found out that the email functions had stopped working because the resolve conf file had been cleared, it wasn’t part of the etc-update file list so we dont know why it happened? So we rebuilt the file and we now have a working system! Would we suggest you migrate to a hardened version? No not unless you are really sure you need to and understand all of the ramifications of doing so. We are not Linux experts, but we have been using Gentoo in test and development for about 5 years now and never had the problems we had for this upgrade. We did contemplate moving back to the un-hardened version but we had so much time and effort invested in this we decided to keep plodding on!

The real reason for this is to say just how EASY the System i is to manage, all of you linux, unix guys out there have my respect. I think I am pretty savvy when it comes to systems and how to manage them but System i is still the best I have come across. If it wasnt for the very poor performance on the System i we have installed SugarCRM on (i520 low end model) I would never have moved to the Linux server! Not that the System i is a poor performer normally, just that trying to cludge PHP into the PASE environment has caused a lot of problems which unless IBM does something about will stop anyone from taking the option seriously! I moved from V5R3 to V5R4 in less than a day, most of the time was taken up waiting for the CD to spin, none of this reconfiguring everything everytime you upgrade! I am sure the V6R1 move will be just as painless once the initial bugs have been ironed out.

The Linux Environment seems to be stable at the moment! The System i has been stable since we installed it!


i5 Marketing, Linux, Systems Management

SugarCRM upgrade to 5.0.0a

January 20th, 2008

We decided to take the plunge and upgrade to SugarCRM 5.0.0a on our internal test and production server. We ran SugarCRM 4.5.1g on a Gentoo Linux box which kept having problems while an install on our i520 although slow was pretty stable. We had taken MySQL and SugarCRM down over the Christmas period and not started it up until now. To say we had problems is an understatement, 2 days later and we now have a working install again.

We wont go into all the details of how we upgraded because the upgrade wizard available in SugarCRM seems to be pretty good at getting the job done. The following are just a few notes on the problems we encountered and how we got over them.

First problem was trying to start MySQL on the i520, we kept getting an error which pointed to a missing file! We have not touched the install so could not understand what has happened. We also looked in the logs to see a file /usr/local/mysql/share/mysql/english/errmsg.sys was missing. One thing we did do was remove the Platform install? Could the removal of the platform have removed these files? Platform does install its own copy of a MySQL server instance so its possible. We also implemented the PASE_TZ variable as mentioned in a previous post which could have contributed to the problem as the date within the PHP environment has been changed.

We copied the sugarcrm directory from the mysql/data directory and removed the entire installation. We then re-installed following the normal installation instructions including setting up the access to the msql tables again. We had a few more issues running the server associated with the finding of certain objects but cleaning up the LIBPATH environment variable seems to have cleared that up? Once we had the MySQL server instance up and running we simply moved the sugarcrm directory back into the mysql/data directory, restarted the server and we could see the database in phpmyadmin. We had to set up the sugarcrm user profile as well as the required authorities manually because we didn’t restore the mysql tables into the data directory(not sure if this would have worked?)

We could now start the SugarCRM webserver and successfully signed into the application and all of the data was back in place. The i520 while I love it, is terrible at serving the SugraCRM data (probably would be the same for any PHP application?) so we have made the decision to move the SugarCRM install back to the Linux Server. To do this we had to migrate the data from the i5 to the Linux MySQL instance. This was not as easy as I first thought it would be! First we had to upgrade the 4.5.1g version to 5.0.0a on the Linux Box.

The upgrade went well except for a couple of problems, we had to set up the SugarCRM install to accept our version of PHP. We run Gentoo on the server so when php returns its version it returns 5.2.4_p20070914-pl2-gentoo which is not in the suported version array for SugarCRM. We had to go into the utils.php file in the include directory of the SugarCRM install to add the required entry. We also had to change a number of size limits for POST data and upload file sizes which are detailed in the installation instructions. Failing to do this will stop the upgrade wizard in it tracks. We downloaded the file locally and used it to do the upgrade, trying to use the SugarForge just didnt work for us.

We then had to do the same for the i520, while the process wasn’t without error and took immensely longer than on the Linux Box it did eventually complete. We had similar problems as the Linux box in terms of having the correct environment variables but the timeouts caught us many more times probably because its so slow! A feature we found most disturbing was the browser would time out and go blank, we just kept checking the active jobs and could see the ZENDCORE jobs and MySQL server jobs were running with a high CPU utilization, once they returned to idle we could refresh the browser and all would be fine!

We now had 2 systems with the same level of database, we just had to move the data from the mysql database to the other. We started off by clearing everything out from the target MySQL Database, the we tried to export the data, we started off with the accounts. Trying to use the export function on the i5 in SugrarCRM kept failing? its was probably our impatience which added to the problem but it sat there at 90% for ever (or so it seemed) so we kept canning the process! We then went to the MyPHPAdmin functions to export the various tables manually. Accounts went well, but the dump of the contacts table did not. The account information for the contact is not in the contact table, so importing the contacts did not tie it up to the account! Eventually we found that if we exported the data in smaller chunks we could get the export function to work, it also correctly exported the information required to link the various objects during the import! Eventually we were able to export the Accounts, contacts, opportunities and leads with no problems.

Importing the to the Linux box also failed a number of times but persistence paid off.

We now have a fully functioning SugarCRM install on our Linux Box, we will leave the i520 install up and running for test purposes but it totally inadequate for production purposes.

A couple of notes we would like to add, firstly the lack of a scheduler such as CRON on the i5 limited the SugarCRM capabilities. The i520 just isn’t man enough to run the application effectively, we only have limited users and the performance was heartbreaking! We do have the i515 installtion to complete which we will do just to see if performance is better on the unrestricted CPU? If th System i family are to be considered suitable hosts for PHP applications IBM (no one else has the ability to do it) MUST improve the PHP/PASE environment. I would rather see PHP running as a true i5OS job as the PASE environment seems to have a lot of challenges (see our previous posts). We have now decided against developing PHP interfaces to our products which run on the i5, we dont feel the experience would be a good one for the type of products we develop and sell?

This post is not about how to perform an upgrade of SugarCRM, its just showing some of the problems we have experienced and the opinions we have formed from those experiences. Hopefully you can see where we went wrong and not make the same mistakes.


Linux, MySql, PHP, PHP Programming, Systems Management

IE 7 is screwed up when using tabs.

January 20th, 2008

I have a policy of making sure my MS software is always at the latest level, I don’t need to get caught out with down level software. Recently I started to notice a problem every time I closed IE7, if I had tabs open it would hang and never close, closing IE7 using Task Manager would take my CPU up to 100% but did close the browser!

I let the send problem report script run so MS is getting lots of reports from me! Has anyone else seen this problem or is it just me? I also downloaded and installed MS Silverlight (looked like a good idea at the time) which I removed to see if it was causing the problem, but I still hang when exiting IE7 which has had tabs open. Sometime closing the tab does not work either and it will hang.

Sometimes being up to date seems to be just as bad as not!



Time in a PASE environment!

January 18th, 2008

I have seen numerous posts on the ZEND PHP forums regarding the time not being correct in the output generated by the PHP date() function. So I thought I would check it out for myself.

First pass I simply ran the QP2TERM program and ran the date command in the terminal environment, it came back with the right date and time! I read through the manuals a bit (google is marvelous!) to see what could be the problem. I got a number of hits and after reviewing the returned content I posted back on the forum about setting the TZ environment variable.

Here are a couple of notes I made

OS/400 PASE environment variables are independent of ILE environment variables. Setting a variable in one environment has no effect on the other environment, but several system interfaces allow you to copy variables between environments:

Time-of-day information in an OS/400 PASE program depends on the value of OS/400 PASE environment variable TZ, which provides information about timezone name and offset from UTC (Universal Coorodinated Time). For example, the correct TZ setting for Central Time in the USA is TZ=CST6CDT. See AIX documentation for more information about environment varble TZ

(the spelling mistakes are not mine this time!)

As the time in QP2TERM seemed to be right I thought I was not having the same problem, so I added a bit of code to a test page to test the PHP values returned.
echo date('l dS \of F Y h:i:s A');
This should have returned the right time but I was 5 hours out, it was obviously returning the GMT time. So I set an environment variable TZ with a value of ‘EST5EDT’ and ran the page again! No change. I was using the WRKENVVAR to add the variable, I didnt prompt the command so I only got the *JOB ENVVAR’s. (Remember to prompt the WRKENVAR command if you want to work with *SYS level variables.) It still didnt work so I dug a little further to find that the i5 version of the AIX TZ variable is PASE_TZ. So I set this to the right value using ADDENVVAR ENVVAR(PASE_TZ) VALUE('EST5EDT') LEVEL(*SYS) but I still didnt get the right results!

So after a little more reading I found a few lines hidden in the depths of the text which seemed to imply the variables are loaded on program start up, so as the Zend PHP server was running all the time it could be the problem. Stopping the subsystem (I decided stopping the subsystem would be more effective than just the HTTP servers) and starting it again fixed the problem. I now have a php script returning the correct date and time!

Here is a link to the forum post in case your interested.
Date problem post

Happy hunting!


HTTP Server, LAMPS Server, PHP, PHP Programming, Systems Management

Simple sign-on page using PHP

January 18th, 2008

We have started to develop the GUI for RAP product. As part of the process we need to sign onto the i5 and check that the user is in fact able to sign on. Once they have signed on we store the credentials for future use, PHP doesnt allow a connection to persist over many pages, even the persistent connection we have been reviewing still expires on moving to a new page ( or so the documentation seems to point out?).

The process uses 3 pages, a sign on page which is presented every time a user goes to the site, a page which shows more information and a logoff button plus the actual page which causes the logoff to return the user to the signon page. We have stripped out a lot of the code for the final pages so you see just enough to be able to work with and migrate into your own design.

The sign on page (index.php)

Welcome to Shield
Please enter your username and password.
User Name

© 2004-2007 Shield Advanced Solutions Ltd. All Rights Reserved.
Powered By i5/OS

The above should give you a sign on screen which until you have a valid sign on will keep coming back up. If you do pass in valid information you will be sent to the following screen.
The main process page (main.php)

  "syslibl"=>array("syslibl","char(165)")),$conn) ||
  die("Command failure errno=".i5_errno()." msg=".i5_errormsg());
  print "User : $user
"; print "User Library : $userlib
"; print "System Library list : $syslibl
"; print "Current Library : $curl"; ?>

This page will display some of the job attributes for the signed on user. Pressing the logoff button will call the following script.
Page which causes the user to be signed off (logoff.php)

This will cause the user to be presented with the sign in screen once again.

We have used session variables to store the user information across the pages, calling the session destroy causes that information to be destroyed so going back to the sign on page(logon.php) will result in the signon panel to be shown. If we did not call the session_destroy function we would simply be shown the second page (main.php)

This is a very simple set up which should be enhanced as required. One thing we will be adding is the ability to set a cookie so the user can set a check box to have his sign on information remebered for the next time they come back to the page.


Here is a sample of the improved page

Sample sign on screen(Enhanced)

PHP Programming

Vision finally gives up on Uptimes

January 18th, 2008

Looks like Vision have given up on the idea of running a blog (could be they have NO Vision?), if you try to get to the Uptimes blog which was being maintained by Alan Arnold (well he wrote one blog entry) you will end up with a 404 error!

Blogging is not easy, especially when you have other things to do such as develop enough content to feed the blog, but to write one entry and then decide they dont need it anymore shows how much they put into the thought process ahead of time. We hope no one misses it, we wont!

Our posting effort is being slowed down by development activity but as we get things to work we will show how we did it. We are looking to put a couple of iASP’s onto our i515 to see what the technology offers in terms of recovery, our RAP product will benefit from supporting iASP’s which is why we are interested in giving it a spin.

Why iASP? Well if you have a target system which can be divided into multiple iASP’s and we can have RAP address each of those iASP’s to apply the journal entries, we could supply hosting providers with a very low cost solution for those customers who have no data protection today but dont have the budget to spend out on a full fledge HA solution.

RAP is targeting low end users who need Data Protection that is up to date but dont need object replication to the same degree because their applications dont change too often.

The recession also seems to be taking effect, spending 5-10K on a product which provides pretty good Recovery Time Objectives and excellent Recovery Point Objectives should be more affordable than the current HA solution. That should make the spend decision even more palletable for those money saving bean counters even if times are hard. Data is your most important assett, loose it and you won’t get it back!

Should business turn round and you need to go for a fully fledged HA solution you already have a very good starting point to work from…


Disaster recovery, High Availability

Upgrading IBM Websphere Client Studio

January 16th, 2008

I have been using Websphere RSE for a few months now and had a couple of problems with some of the programs not working correctly, I kept trying to update everything using the update function in the RSE IDE but it failed miserably everytime with conflicts between all of the installed features. I had given up trying to update things thinking that one day I would get a new version and simply install that! I then went to the IBM Websphere site and looked for fix packs, sure enough there was a fix pack available (1.2GB) available. I downloaded the fix pack (7 hours later) and looked at how I should install it!

I then found out I needed to use the IBM Installtion Manager ( 1 hour to upgrade that to Version 1.1.02 over the internet) and I was able to use this to upgrade the WCSi using the downloaded file. It wasnt as simple as that but it did work, I had to unpack the download and set up the Installation Manager to see the repository insterad of going straight to the web.

I have a couple of systems I use for development so the download of the fix pack was a better alternative although at the time of downloading it I didnt know that! Before I set up the Installation Manager to use the downloaded repository I did run the update request with the web being the repository, it identified the updates correctly and showed a download size for all the fixes of 360Mb with an installation size of 415mb. I only installed the RSE so if you installed all of the other elements your downloads will be much larger. My second system has more of the features installed!

Once the upgrade started it completed in approximately 30 minutes, this is affected by the Disk speed and CPU so your results may not be the same. I now have a version running and hope it clears up some of the problems.

Another issue I want to resolve is how to install PDT to allow PHP scripts to be parsed etc! I am hoping to find out to do this and will post the results once I have done it! At the moment it looks like it will only go to my local system to find new features/options so I need to do a bit more work on it!

Here is a link to the fix pack if you need it Fix pack

IBM Installation Manager automatically detected the new update and went to the web to update. but it is also available for download here


C Programming System i5

Bad Behavior has blocked 488 access attempts in the last 7 days.