How to change domain configuration in WLST offline

Scripted installation and configuration of weblogic clusters is actually quite easy. My normal approach is to create some configuration templates using the GUI wizard and then pack the resulting domains into template files.

The using WLST I can change the settings of the domain template to fit the environment I'm currently installing.

To do a scripted domain configuration, do the following steps:
  1. Create a domain template that is close the environment you want to build in the WebLogic Configuration Wizard.
    # $MIDDLEWARE_HOME/wlserver_10.3/common/bin/config.sh
  2. Create the domain template file using the WebLogic pack script.
    # $MIDDLEWARE_HOME/wlserver_10.3/common/bin/pack.sh -domain=[DOMAIN_HOME] -template=[Resulting template jar file] - template_name=[Name of template]
  3. Create WLST script to change the template.
    # emacs domain_script.py
  4. A simple WLST script is shown below and can be used as a starting point for creating your own scripts:
    readTemplate("[template.jar file]")
    cd('/Servers/AdminServer')
    set('ListenAddress', '')
    set('ListenPort','7001')
    setOption('OverwriteDomain','true')
    writeDomain('[DOMAIN_HOME]')
    closeTemplate()
    exit()
  5. Execute the script using the WebLogic wlst interpreter.
    # . $MIDDLEWARE_HOME/wlserver_10.3/server/bin/setWLSEnv.sh
    # java weblogic.WLST domain_script.py
This should result in you having a domain folder written to the path you specified as DOMAIN_HOME in the WLST script writeDomain command.
In future posts I will give small examples of things you can do in WLST to change behavior of the domain. This post will serve as the starting point of those future posts.

Google+ for Google Apps

Back when Google+ was first announced I was impressed with what they were trying to achieve. It was nice to see that Google finally decided to go all in on the Social Network scene. Of course everyone including me thought that they finally had something worthy of our attention. They finally decided that they wanted integration across their products and they finally tried to do something that none of the competition had managed - Control of the information you make available on the network. It seemed well thought out and it seemed they wanted to put the past behind them and make a nice product.

All their previous attempts had all suffered from the same mistake. They didn't immediately make them available to their (paying) customers aka Google Apps users which is a very big mistake as a lot of the hardcore Google users have gone all out and created Google Apps accounts. The Google Apps users are exactly the kind of tech nerds you want to test and promote new products before you make them available to the general public. I understand that big professional organisations don't want to be testing new bleeding edge features. But that can already be controlled very precisely in the control panel of Google Apps. In my humble opinion this is one of the biggest mistakes you as a global company can make. Never let your die hard users down like this.

Now, the fact that we still haven't got access as Google Apps users to Google+, is what it is. There have been a few comments from Google (here and here) saying they would have it ready "soon" in weeks or months. However it has been quite a few months now and still no luck. Google+ was even opened up the the general public under a beta tag. So now people without a standard Google Email address can sign up for Google+, but the die hard Google nerds is still out of luck. I think the general consensus is that people have just stopped believing that it will happen as is clearly evident in this thread on the Google Apps Forum. The thread is the first hit you get when you search for "google+ for google apps". This would indicate that Google needs to do something I would say.

The above is not even the worst part of the way Google handled this launch. To me the worst part is that they are so incredibly tight with giving out information about what is going on. I think people would be a lot more responsive to the missing access if Google would just give some status reports once in a while. It is incredibly frustrating not knowing what is going on, or why it is so difficult to enable Google+ (Google Profiles) for Google Apps users. It would be a lot easier to forgive this if Google would explain what the problem is and why it takes so long.






String concatenation in bash problems

Today I spent several hours figuring out how to do string concatenation in a bash script.

I was thinking that it should be quite easy just do

STRING_1=Hello
STRING_2= World
echo $STRING_1$STRING_2


And of course it turns out that it is just that easy. However my problem was that I was using Notepad++ to edit the files (I know, bash on windows?). Without going into the discussion, let's just say it makes sense for my setup :)


But of course I got strange results, it seemed that the second string would be written "on top" of the first string. I finally figured out what the problem was and of course it was because the files was formatted with Windows line breaks and not Unix line breaks. I'm writing this because I need to remember to check these things every time I see strange behavior.


Now I just have to figure out how to force Notepad++ to default to using Unix line breaks.

Ubuntu Oneiric with Wine and OpenGL

Yesterday I suddenly couldn't start my wow client anymore as opengl was apparently broken. After a great deal of searching a few suggestions came up.

  • Make sure nvidia 32bit libraries are installed
    • I have no idea what this means. I know the nVidia distributed drivers will install these if you let them, but as I'm using the Ubuntu package and not the distributed drivers this made no sense to me.
  • Update to the latest Wine
    • This had no effect, but forced me to finally do the update I have been putting off. So I guess that was alright.
As none of the suggestions had any effect, I started digging in /usr/lib32 and found the libGL.so and libGL.so.1 was linking to the Mesa versions and not the nvidia versions. Changing the links finally made it work again. 

I'm still a bit surprised it suddenly stopped working, but I guess that's to be expected on a beta distribution.