Appreciations accepted

Vladlen Litvinov, the author: If you have some job offer for me, I'm ready to discuss it. View Vladlen Litvinov's profile on LinkedIn

Password

Friday, November 21, 2014

How can I change the hostname in an already configured Business Process Manager environment? The way of real geek.

Have You Tried Turning It Off And On Again?
"The IT Crowd"
 
Undoubtedly, IBM support are good guys but they have not enough a fantasy, a flight of mind, an imagination. They are limited by official guides and reglaments.
Not so long ago they created a new portal named dwAnswers, and now they are inventing questions and answering themself on them.
Yesterday I saw a good question and the typical answer of IBM support. Let's look at it:
Link 
I need to modify the hostname of my physical machine / virtual machine.
Which steps do I have to follow to change the hostname in the configuration of my IBM Business Process Manager environment?
And the answer:
Currently, the IBM Business Process Manager does not support to change the hostname in an already configured BPM environment as the hostname is stored in too many configuration files and database tables.
It is also not supported to clone a virtual machine image with an already configured BPM environment and adjust the hostname there.
You have to install and configure BPM in the new environment from scratch.
The author, sit down, you get the bad mark!

OK, let's help the poor guy don't stay in class after school.

I have got: 
IBM BPM Advanced 8.5.5 Process Center with Oracle 11g DB on SLES.
One cluster, one node. Server has name by default: linux-hfu7.

The task:
I don’t like this name and I want to rename it to bpmpc01.
 
My environment is working:







 











The way:

1. For any case do the full resynchronizing.
2. Stop the environment.
3. Stop Oracle DB.
4. Change the hostname

wasadmin@bpmpc01:~> hostname
bpmpc01
wasadmin@bpmpc01:~> ping bpmpc01
PING bpmpc01 (192.168.214.137) 56(84) bytes of data.
64 bytes from bpmpc01 (192.168.214.137): icmp_seq=1 ttl=64 time=0.026 ms
64 bytes from bpmpc01 (192.168.214.137): icmp_seq=2 ttl=64 time=0.030 ms

Let’s start.


wasadmin@bpmpc01:/ibm/bpm85/bin> ./wsadmin.sh -conntype NONE -lang jython

WASX7357I: By request, this scripting client is not connected to any server process. Certain configuration and application operations will be available in local mode.

WASX7031I: For help, enter: "print Help.help()"                                                                          

wsadmin>AdminConfig.list('ServerIndex')

'(cells/linux-hfu7Cell01/nodes/linux-hfu7CellManager01|serverindex.xml#ServerIndex_1)\n(cells/linux-hfu7Cell01/nodes/linux-hfu7Node01|serverindex.xml#ServerIndex_1)'

6. We have two nodes: dmgrNode and serverNode. So you need change hostname in both. Let's do it.

wsadmin>AdminConfig.modify('(cells/linux-hfu7Cell01/nodes/linux-hfu7CellManager01|serverindex.xml#ServerIndex_1)',  "[[hostName bpmpc01]]")                    
wsadmin>AdminConfig.modify('(cells/linux-hfu7Cell01/nodes/linux-hfu7Node01|serverindex.xml#ServerIndex_1)',  "[[hostName bpmpc01]]")

wsadmin>wsadmin>AdminConfig.save()
 
6. Start Deployment Manader
7. Open ISC and change the hostname in Virtual Hosts on every server (include DM, NA)
8. Do the command:

./syncNode.sh localhost <port> -username <name> -password <password>

9. Change listener and network service configuration for Oracle and start Oracle.
10. Change the hostname for REST services using ISC.
11. Change the hostname in BPM configuration files (99Local etc, about 6 links).
12. Do the full resynchronizing.
13. Start NA and Deployment Environment.
14. Create new certificates for WAS. I don't describe this process because to describe it takes me much time than do it. There is no interesting here. May be next time. You must create new root certificate, new certificates for nodes and add them into trust stores.
15. At last - full restart of environment, NA, DM.

16. The result is: 

We see the new hostname in the address bar and our BPM works.
It took me only 40 minutes of clear time.

4 comments:

  1. Hi Vladlen,

    I'm working in something similar, the customer needs to change the physical database server where all the BPM information resides to a new one that has a Oracle RAC (with HighAvailability). I've changed all data sources and then I tested the connections and all finish successfully, but when I run the <> the shell script finish very quickly and with Errors.

    Do you have any idea what do I need to configure in the BPM environment to work properly?

    Thanks in advance for your help.

    Regards,
    JUMA.

    ReplyDelete
    Replies
    1. Hello Juma,
      it depends on your BPM version. If you use 7.5 - 8.0, there are some configuration files ("Lombardi style") in it. You can find it in the folder /profiles/.../config/cell.../nodes.../server...
      Look at the files 98Database.xml (for PS and PDW). You must change your DB settings in them.
      If you need more concrete advice - send me logs from you environment during errors.

      Delete
    2. Hi Vladlen..!!

      The version is BPM Adv 8.5.5 and today I notice that one of the paramaters of the BPMConfig script was wrong: "-output" instead of the good one "outputDir".

      I feel very sorry for the mistake...!!!

      You mention also that there are some XML configuration files but you said that depends on the BPM version, do you think I have to modify any other XML file with BPM Adv 8.5.5?

      Please let me know, and again I apologize with the mistake....

      Thanks a lot....!

      Regards,
      JUMA.

      PS. The HTML page result of the BPMConfig script show all the connections in green,..

      What is the better way to contact you when I have some doubts or questions, because I'm a begginer in the BPM stuff.

      Thanks again.

      Delete
    3. If you have 8.5.5 - you need not change the files.
      You can find my contacts in my LinkedIn profile.
      Look at the top of the page.

      Delete