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