OrientMe in a test environment. How to make it work
For all my test systems I do not use a real domain name, I usually go with something like server.roberto.local or the like. This is a problem when you try to install the new OrientMe component that IBM has shipped with Connections 6.
The install scripts perform a nslookup and check the domain name then add the resulting IP address to your host file, then it will try to connect to that address and obviously fail. The strange thing is that it will return an IP address also for .local domains, so basically whatever is your fake domain name, it will find a valid IP and fail the installation.
There is a workaround to make it work, it requires changing a few lines in four files.
When you install OrientMe, the instructions say to copy the deployCFC folder to /opt; open a terminal and go in /opt/deployCFC. There are several files in there, we need to modify the following four:
A-03-all-setup-hosts.sh
A-04-boot-setup-ssh-keys.sh
B-20-boot-setup-cfc.sh
B-22-all-configure-cfc.sh
Open for editing the file A-03-all-setup-hosts.sh and fine the following line
ip=${resolve_ip_return_result}
then change it to
ip=your ip address (192.168.1.x or whatever you use)
Open for editing the file A-04-boot-setup-ssh-keys.sh and do the same as above
Open for editing the file B-20-boot-setup-cfc.sh and find the following 3 lines:
master_ip=${resolve_ip_return_result} and change it to master_ip=your ip address
worker_ip=${resolve_ip_return_result} and change it to worker_ip=your ip address
proxy_ip=${resolve_ip_return_result} and change it to proxy_ip=your ip address
Open for editing the file B-22-all-configure-cfc.sh and fine the following line
master_ip=${resolve_ip_return_result} and change it to master_ip=your ip address
Make sure you have your server name and IP address in the /etc/hosts file
Now here comes the fun bit 🙂 In the /opt/deployCFC directory there is a file, manifest.md5, that contains the MD5 hashes of the script files, e.g. MD5 (deployCfC/00-all-config.sh) = f826bfd38a81ecafc55020563dc3db75
So if you try now to run the modified scripts it will not work throwing a checksum error.
You have to do the following: for each of the 4 modified files, compute a new MD5 hash, use the command md5sum to do that, e.g md5sum A-03-all-setup-hosts.sh you will get
a77f66e359a4e1f531d8220bb3f309b6 A-03-all-setup-hosts.sh
For each file get the new string and put it in the manifest.md5 file replacing the original one and save the file.
After those changes the installation script will connect to your server and the installation will proceed successfully.
A word of caution: do try this only for test environments where you do not have a real domain name available. Do NOT do this for production systems, those will have a proper domain name and you do not need to do this, also because if something goes wrong IBM will not support you if you have changed the script files.
Joakim Arborelius
28th April 2017 - 12:00
I managed to do a install without modifying the scripts.
What is needed is to remove the fqhn from the 127.0.0.1 entry in the hosts-file, and add the real IP of the server into the hosts-file (for the host name). e.g.:
127.0.0.1 localhost.localdomain localhost
192.168.10.10 omeserver.yourdomain.com
When you’re able to ping your “omeserver” with the correct ip address, then you’re good to go for installation!
Eric Winchenbach
21st July 2017 - 16:35
Excellent post, thanks. I had run into the issue and managed to get around it (less elegantly) by putting in an entry in my home router’s DNS entries for my vmware image.
I do, though, have a different but similar issue now. Having completed my install of Orient Me, when I think move my image from one host to another, my ip address (but not my hostname) changes. When I then start the image, nothing on kubernetes works. For example:
[root@connections ~]# kubectl get pods
The connection to the server connections.demos.ibm.com:8001 was refused – did you specify the right host or port?
I used a hostname throughout my installation, but still something appears to be tied to the ip address.