Hi All,

The bootup validator's purpose is to validate certain recommended
configurations/settings at server bootup and give warnings if they are not
satisfied. This includes JVM configurations (init/max heap, permGen size),
system configurations such as CPU, RAM, Swap, supported operating systems
etc.  The component can be extended by adding new validators and specifying
them in the config-validation.xml in repository/conf. A sample
config-validation.xml can be found at svn location [1].

The component is committed to Trunk under Revision: 120131 and can be found
at [2]. It is not yet integrated with the carbon build as the component is
not yet finalised.
Suggestions to improve the code/component are most welcome.

Thanks,
Dileepa

[1]
https://svn.wso2.org/repos/wso2/trunk/carbon/core/distribution/carbon-home/repository/conf/config-validation.xml
[2]
https://svn.wso2.org/repos/wso2/trunk/carbon/core/org.wso2.carbon.core.bootup.validator/

On Sat, Feb 4, 2012 at 3:12 AM, Afkham Azeez <az...@wso2.com> wrote:

> No need to complicate stuff.  We have recommend memory settings for
> production. If somebody is running with lower values we just warn them
> about it.  That is it.
>
> --
> Afkham Azeez
> Sent from my phone
> On Feb 4, 2012 2:01 AM, "Senaka Fernando" <sen...@wso2.com> wrote:
>
>> Hi all,
>>
>> I'm just running through the discussion. Does it make sense to actually
>> validate memory? I mean, memory settings are defined in 
>> wso2server.sh/batanyway. And, it "should have" the recommended minimum 
>> values. If someone is
>> setting it lower than expected, they are deliberately doing that, so is it
>> necessary to validate memory settings?
>>
>> Or if your counter argument is to validate whether the OS has enough
>> memory (as allocated), to run the application, the JVM actually does that
>> and if there is insufficient memory, it will get back to you. So, can
>> someone please clarify the necessity?
>>
>> Thanks,
>> Senaka.
>>
>> On Tue, Jan 24, 2012 at 1:17 PM, Dileepa Jayakody <dile...@wso2.com>wrote:
>>
>>>
>>>
>>> On Tue, Jan 24, 2012 at 12:49 PM, Sameera Jayasoma <same...@wso2.com>wrote:
>>>
>>>> Hi Dileepa,
>>>>
>>>> I got one question. Is there a way to disable this validator? If a use
>>>> wants to execute this once in his system and for all the other restarts, he
>>>> wants to disable this validation step. I guess we need to support this as
>>>> well.
>>>>
>>>> We can do something like below.
>>>>
>>>> <configuration enabled="false" >
>>>>
>>>> +1 will add this feature.
>>>
>>>
>>>> Great work btw,
>>>>
>>>> Thanks,
>>>> Sameera.
>>>>
>>>>
>>>> On Mon, Jan 23, 2012 at 7:19 AM, Afkham Azeez <az...@wso2.com> wrote:
>>>>
>>>>> Most of our deployments are on Linux. It is ok to go with OS specific
>>>>> commands. Please schedule a review.
>>>>>
>>>>> --
>>>>> Afkham Azeez
>>>>> Sent from my phone
>>>>> On Jan 23, 2012 12:37 PM, "Dileepa Jayakody" <dile...@wso2.com> wrote:
>>>>>
>>>>>> Dear all,
>>>>>>
>>>>>> The bootup validator component now can be configured with custom
>>>>>> Configuration Validators and Data Collectors as shown in the below sample
>>>>>> [1]. A Data collector basically retrieves system information using some
>>>>>> mechanism (OS independent library etc.) and the collected data can be 
>>>>>> used
>>>>>> for the validation process by Configuration Validators.
>>>>>>
>>>>>> In HWDataCollector, system hardware related data such as CPU
>>>>>> frequency, physical memory are collected; For this I have used a 3rd 
>>>>>> party
>>>>>> library named JavaSysMon [2]. The initial attempt was to use SIGAR API, 
>>>>>> but
>>>>>> it was unsuccessful as I had issues with loading native libraries of it.
>>>>>> JavaSysMon seems to be a very good alternative for this requirement.
>>>>>>
>>>>>> Last few days I was looking at ways of retrieving the number of open
>>>>>> file handles as per a requirement of the bootup validator component [3].
>>>>>> But AFAIU listing open files is OS dependent and cannot be achieved 
>>>>>> through
>>>>>> regular Java APIs.
>>>>>> For example in Linux the command to list open files for a particular
>>>>>> process is: lsof -p <PID>
>>>>>> Does anybody have an idea of retrieving the number of open file
>>>>>> handles in Java? The only mechanism I can think of, at the moment is to 
>>>>>> use
>>>>>> Runtime.getRuntime().exec("the cmd to list open files"); But this
>>>>>> doesn't look like the smoothest solution for this, does anybody have a
>>>>>> better idea?
>>>>>> Appreciate your views on this.
>>>>>>
>>>>>> Thanks,
>>>>>> Dileepa
>>>>>>
>>>>>> [1]Sample  config_recommendations.xml to configure bootup validator:
>>>>>> <?xml version="1.0" encoding="ISO-8859-1"?>
>>>>>> <!--configuration bit values should be given in Mega bytes (1KB =
>>>>>> 1024 bytes, 1MB = 1024 KB, 1GB = 1024 MB), CPU value in MHz-->
>>>>>> <Configuration>
>>>>>>     <Validator
>>>>>> class="org.wso2.carbon.core.bootup.validator.HWValidator">
>>>>>>         <Parameter name="cpu">800</Parameter>
>>>>>>         <Parameter name="ram">1024</Parameter>
>>>>>>     </Validator>
>>>>>>     <Validator
>>>>>> class="org.wso2.carbon.core.bootup.validator.JVMValidator">
>>>>>>         <Parameter name="heapMemory">512</Parameter>
>>>>>>         <Parameter name="nonHeapMemory">512</Parameter>
>>>>>>         <Parameter name="totalMemory">1024</Parameter>
>>>>>>         <Parameter name="freeMemory">512</Parameter>
>>>>>>     </Validator>
>>>>>>
>>>>>>     <!--Configuration Data Collectors to collect system-data for
>>>>>> configuration validators to validate-->
>>>>>>     <Collector
>>>>>> class="org.wso2.carbon.core.bootup.data.collector.HWDataCollector"/>
>>>>>>     <Collector
>>>>>> class="org.wso2.carbon.core.bootup.data.collector.JVMDataCollector"/>
>>>>>>
>>>>>> </Configuration>
>>>>>>
>>>>>> [2] https://github.com/jezhumble/javasysmon
>>>>>> [3] https://wso2.org/jira/browse/CARBONROADMAP-15
>>>>>>
>>>>>> On Wed, Jan 18, 2012 at 11:05 AM, Dileepa Jayakody 
>>>>>> <dile...@wso2.com>wrote:
>>>>>>
>>>>>>> Hi all,
>>>>>>>
>>>>>>> As per the offline discussion had with Pradeep and Azeez few days
>>>>>>> back, I have implemented the bootup-validator component's framework to 
>>>>>>> be
>>>>>>> extensible.
>>>>>>>
>>>>>>> The component can be extended with new bootup validation tests by
>>>>>>> adding new ConfigurationValidator classes with relevant parameters to
>>>>>>> validate; in the config_recommendations.xml (the newly introduced xml in
>>>>>>> repository/conf)
>>>>>>>
>>>>>>> A sample config_recommendations.xml:
>>>>>>>
>>>>>>> <Configuration>
>>>>>>>     <Validator
>>>>>>> class="org.wso2.carbon.core.bootup.validator.HWValidator">
>>>>>>>         <Parameter name="cpu">800</Parameter>
>>>>>>>         <Parameter name="ram">1000</Parameter>
>>>>>>>     </Validator>
>>>>>>>     <Validator
>>>>>>> class="org.wso2.carbon.core.bootup.validator.JVMValidator">
>>>>>>>         <Parameter name="heapMemory">6000</Parameter>
>>>>>>>         <Parameter name="nonHeapMemory">4000</Parameter>
>>>>>>>         <Parameter name="totalMemory">10000</Parameter>
>>>>>>>         <Parameter name="freeMemory">2000</Parameter>
>>>>>>>     </Validator>
>>>>>>> </Configuration>
>>>>>>>
>>>>>>> The system data collection can also be extended in the same manner.
>>>>>>> At the moment I'm having trouble with Sigar API to retrieve HW
>>>>>>> configuration data (CPU, RAM), will update the thread with progress.
>>>>>>>
>>>>>>> Thanks,
>>>>>>> Dileepa
>>>>>>>
>>>>>>> On Fri, Jan 13, 2012 at 1:01 PM, Pradeep Fernando 
>>>>>>> <prad...@wso2.com>wrote:
>>>>>>>
>>>>>>>> Hi,
>>>>>>>>
>>>>>>>> are we going to allow users to implement their own bootup tests,
>>>>>>>> using somekind of extension mechanism. (we are providing all the 
>>>>>>>> gathered
>>>>>>>> info, they decide on what to do with those). Is it a overkill ?
>>>>>>>>
>>>>>>>> are we doing any native calls within the carbon-env (Now). ?
>>>>>>>>
>>>>>>>> thanks,
>>>>>>>> --Pradeep
>>>>>>>>
>>>>>>>> _______________________________________________
>>>>>>>> Carbon-dev mailing list
>>>>>>>> Carbon-dev@wso2.org
>>>>>>>> http://mail.wso2.org/cgi-bin/mailman/listinfo/carbon-dev
>>>>>>>>
>>>>>>>>
>>>>>>>
>>>>>>>
>>>>>>> --
>>>>>>> Dileepa Jayakody,
>>>>>>> Software Engineer, WSO2 Inc.
>>>>>>> Lean . Enterprise . Middleware
>>>>>>>
>>>>>>> Mobile : +94777-857616
>>>>>>>
>>>>>>>
>>>>>>
>>>>>>
>>>>>> --
>>>>>> Dileepa Jayakody,
>>>>>> Software Engineer, WSO2 Inc.
>>>>>> Lean . Enterprise . Middleware
>>>>>>
>>>>>> Mobile : +94777-857616
>>>>>>
>>>>>>
>>>>>> _______________________________________________
>>>>>> Carbon-dev mailing list
>>>>>> Carbon-dev@wso2.org
>>>>>> http://mail.wso2.org/cgi-bin/mailman/listinfo/carbon-dev
>>>>>>
>>>>>>
>>>>> _______________________________________________
>>>>> Carbon-dev mailing list
>>>>> Carbon-dev@wso2.org
>>>>> http://mail.wso2.org/cgi-bin/mailman/listinfo/carbon-dev
>>>>>
>>>>>
>>>>
>>>>
>>>> --
>>>> Sameera Jayasoma
>>>> Technical Lead and Product Manager, WSO2 Carbon
>>>>
>>>> WSO2, Inc. (http://wso2.com)
>>>> email: same...@wso2.com
>>>> blog: http://tech.jayasoma.org
>>>>
>>>>
>>>> Lean . Enterprise . Middleware
>>>>
>>>> _______________________________________________
>>>> Carbon-dev mailing list
>>>> Carbon-dev@wso2.org
>>>> http://mail.wso2.org/cgi-bin/mailman/listinfo/carbon-dev
>>>>
>>>>
>>>
>>>
>>> --
>>> Dileepa Jayakody,
>>> Software Engineer, WSO2 Inc.
>>> Lean . Enterprise . Middleware
>>>
>>> Mobile : +94777-857616
>>>
>>>
>>> _______________________________________________
>>> Carbon-dev mailing list
>>> Carbon-dev@wso2.org
>>> http://mail.wso2.org/cgi-bin/mailman/listinfo/carbon-dev
>>>
>>>
>>
>>
>> --
>> *Senaka Fernando*
>> Product Manager - WSO2 Governance Registry;
>> Associate Technical Lead; WSO2 Inc.; http://wso2.com*
>> Member; Apache Software Foundation; http://apache.org
>>
>> E-mail: senaka AT wso2.com
>> **P: +1 408 754 7388; ext: 51736*; *M: +94 77 322 1818
>> Linked-In: http://linkedin.com/in/senakafernando
>>
>> *Lean . Enterprise . Middleware
>>
>>
>> _______________________________________________
>> Carbon-dev mailing list
>> Carbon-dev@wso2.org
>> http://mail.wso2.org/cgi-bin/mailman/listinfo/carbon-dev
>>
>>
> _______________________________________________
> Carbon-dev mailing list
> Carbon-dev@wso2.org
> http://mail.wso2.org/cgi-bin/mailman/listinfo/carbon-dev
>
>


-- 
Dileepa Jayakody,
Software Engineer, WSO2 Inc.
Lean . Enterprise . Middleware

Mobile : +94777-857616
_______________________________________________
Carbon-dev mailing list
Carbon-dev@wso2.org
http://mail.wso2.org/cgi-bin/mailman/listinfo/carbon-dev

Reply via email to