Please create a Crucible project to review this component & add me as a reviewer. I will go through the code & provide feedback. Hope that all the recommendations from the previous review have been incorporated.
On Mon, Feb 6, 2012 at 12:40 AM, Dileepa Jayakody <dile...@wso2.com> wrote: > 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/bat anyway. 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 > > -- *Afkham Azeez* Director of Architecture; WSO2, Inc.; http://wso2.com Member; Apache Software Foundation; http://www.apache.org/ * <http://www.apache.org/>** email: **az...@wso2.com* <az...@wso2.com>* cell: +94 77 3320919 blog: **http://blog.afkham.org* <http://blog.afkham.org>* twitter: **http://twitter.com/afkham_azeez*<http://twitter.com/afkham_azeez> * linked-in: **http://lk.linkedin.com/in/afkhamazeez* * * *Lean . Enterprise . Middleware*
_______________________________________________ Carbon-dev mailing list Carbon-dev@wso2.org http://mail.wso2.org/cgi-bin/mailman/listinfo/carbon-dev