Does anybody know about a GUI for Config Admin of Knopflerfish? What I want to achieve is dynamic configuration management without editting configuration files manually. Is that possible at all? Here OSGI blog I read that
To set Config Admin data, take a look at the Felix Webconsole, Felix FileInstall, or the Knopflerfish environment. They all support a range of (G)UIs to create configuration records.
But I could not find any GUI for Knopflerfish :(
I don't know if you're still interested in this topic, anyway I hope I can help you.
What I tried so far are the possibility to change the ConfigAdmin data via:
Felix FileInstall (download the bundle from http://felix.apache.org/downloads.cgi) and add it to your init.xargs list of bundles to install and start. Then every modification you make in the pair "properties = value" of the file myBundle.cfg is notified to bundles registered as ManagedService with pid = myBundle. EXPLANATION ADDED FOR COMPLETENESS BUT THIS IS NOT A GUI TOOL!
Knopflerfish Console: from here you can enter the "configuration" submenu with "enter configuration", then "list" to see the available configurations with relative pids and "edit pids_name" if you want to change a configuration dynamically. To change a property value use "set property_name value"
Felix WebConsole: following this guide you can install the webConsole which allows you to access the properties of your ManagedService via web console at the port 8080 on the localhost (with default configuration). Here how you can see the interface of ConfigAdmin via Felix WebConsole.
I hope it helped to you or omeone else reading in th future.
Andrea
Related
Recently i've came to an issue to configure Last Participant Support on deployed application. I've found some old post about that:
https://www.ibm.com/developerworks/community/forums/html/topic?id=77777777-0000-0000-0000-000014090728
On server itself i found how to do it. But with jython or wsadmin commands im not able to find how to do it on application itself.
But it does not help for me. Any ideas?
There is no command assistance available for the action of changing last participant support from the admin console which typically implies there is no scripting command associated the action. And there doesn't appear to be an wsadmin AdminApp command to modify the property. Looking at config repo changes made as a result of the admin console action, the IBM Programming Model Extensions (PME) deployment descriptor file "ibm-application-ext-pme.xmi" for an application is created/modified by the action.
If possible, the best long-term solution would be to use a tool like RAD to generate that extensions file when packaging the application because if you need to redeploy the app, your config changes wouldn't get overridden. If you can't mod the app, you can script the addition of an PME descriptor file in each of the desired apps with the knowledge that redeploying the app will overwrite your changes. The changes can be made by doing something along the lines of:
1) create a text file named ibm-application-ext-pme.xmi with contents similar to this:
<pmeext:PMEApplicationExtension xmi:version="2.0" xmlns:xmi="http://www.omg.org/XMI" xmlns:pmeext="http://www.ibm.com/websphere/appserver/schemas/5.0/pmeext.xmi" xmi:id="PMEApplicationExtension_1559836881290">
<lastParticipantSupportExtension xmi:id="LastParticipantSupportExtension_1559836881292" acceptHeuristicHazard="false"/>
</pmeext:PMEApplicationExtension>
2) in wsadmin or your jython script do the following (note in this example the xmi file you created is in the current directory, if not, include the full path to it in the createDocument command) :
deployUri = "cells/<your_cell_name>/applications/<your_app_name>.ear/deployments/<your_app_name>/META-INF/ibm-application-ext-pme.xmi"
AdminConfig.createDocument(deployUri, "ibm-application-ext-pme.xmi")
AdminConfig.save()
3) restart the server
I would like to update data source properties in IBM Websphere 8.5.5.0 using a script. Generally these properties are updated manually using admin console, but I would like to do it automatically. For this I need to know the .properties or .xml file or *.* in which data source configurations are stored.
Can anyone help me with this please.
If you already know how to update the configurations in the admin console, you could use the built-in command assistance to see what underlying wsadmin command was run by the update.
http://www.ibm.com/developerworks/websphere/library/techarticles/0812_rhodes/0812_rhodes.html
Generate a command using the console The first method is the most
basic use of command assistance. You launch the administrative
console, perform an action, and access the command assistance panel,
which displays the wsadmin command for that action.
DataSource configuration is stored in an xml file, but should not be edited directly by users.
If you want to use a script, use wsadmin to modify the properties you need.
See this doc for full information on modifying datasource properties using wsadmin:
Configuring new data source custom properties using wsadmin
Can anyone explain how to enable debug logging in Eucalyptus 4.0.0 properly?
I set LOGLEVEL="DEBUG" in /etc/eucalyptus/eucalyptus.conf
Then I restarted everything but logs still only show INFO, WARN and ERROR.
You're on the right track. Setting LOGLEVEL="DEBUG" in eucalyptus.conf is valid for C-based components, and Java-based components which have not yet fully bootstrapped. When you set DEBUG in eucalyptus.conf, you'll need to restart the affected components on just that machine. So for example, on the NC, you would need to issue a restart, eg, "service eucalyptus-nc restart" in order to pick up the new value.
For the Java components, in particular after they've bootstrapped, you set the cloud-wide PROPERTY thusly:
euca-modify-property -p cloud.euca_log_level=DEBUG
and the output will tell you what the property was, and what is has become, if done correctly.
For example:
# euca-modify-property -p cloud.euca_log_level=DEBUG
PROPERTY cloud.euca_log_level DEBUG was INFO
Once you've set that, you're good to go. No need to restart any of the Java components, anywhere in the cloud.
I'm looking to start Spring XD in distributed mode (more specifically deploying it with BOSH). How does the admin component communicate to the module container?
If it's via TCP/HTTP, surely I'll have to tell the admin component where all the containers are? If it's via Redis, I would've thought that I'll need to tell the containers where the Redis instance is?
Update
I've tried running xd-admin and Redis on one box, and xd-container on another with redis.properties updated to point to the admin box. The container starts without reporting any exceptions.
Running the example stream submission curl -d "time | log" http://{admin IP}:8080/streams/ticktock yields no output to either console, and not output to the logs.
If you are using the xd-container script, then the redis.properties is expected to be under "XD_HOME/config" where XD_HOME points the base directory where you have bin, config, lib & modules of xd.
Communication between the Admin and Container runtime components is via the messaging bus, which by default is Redis.
Make sure the environment variable XD_HOME is set as per the documentation; if it is not you will see a logging message that suggests the properties file has been loaded correctly when it has not:
13/06/24 09:20:35 INFO support.PropertySourcesPlaceholderConfigurer: Loading properties file from URL [file:../config/redis.properties]
I have an old project in WSAD 5.1.2 with a WAS4 server configuration that's in a .wsi-file. If I double click it I get the server configuration editor and on the environment tab there is a System Properties section with some name-value pairs.
Now I have opened the same project in RAD 7.5.1. Where can i input the same name-value pairs for a server in RAD 7.5.1? There's no "environment-tab" if I double-click my server, just an "Overview" tab.
I finally found the proper way of doing it in the admin web interface...
Application servers > myServer > Process definition > Java Virtual Machine > Custom properties
In RAD 7.5.4 JVM name value pair is stored in Servers --> Application Servers --> java and process Management --> process definition --> java virtual machine --> custom properties
here you can create a new name value pair which can be used by Java code using System get properties function.
Apparently IBM started to ship a real application server starting with RAD/RSA6 instead of the test server that comes with WSAD. So to configure the appserver it's just to use the web admin interface as usual.
Thanks to Jeanne Boyarsky for the answer in the forums over at The Java Ranch.
The old app I'm porting needs some properties in the system properties of the JVM set so that they can be retrieved with System.getProperty(...) and I found a dirty way of making it work. So, until I find out how to do it the proper way, if there is a proper way, I came up with this hack:
After doing some "find" and "grep" in the profile directory of the appserver i found a file called:
runtimes\base_v7\profiles\<profilename>\config\cells\<cellname>\nodes\<nodename>\servers\<servername>\server.xml
At the bottom of server.xml there is a <jvmEntries xmi:id="JavaVirtualMachine_.... tag.
Inside it you can add system properties tags on the format:
<systemProperties xmi:id="someId" name="name of your property" value="the value" required="false"/>
Anyone who knows how to to this the proper way and has read all the way down here must be crying by now... :)
But, it seams to work...