Hi Samitha, Please find my comments inline below.
On Mon, Feb 3, 2020 at 3:29 PM Samitha Chathuranga <sami...@wso2.com> wrote: > Hi, > > Additionally to this, I could see that there are still the below > operations executed in the profile optimization script. > > * - Config changes in below config files* > > - api-manager.xml - enable_policy_deploy, enable_data_publishing, > enable_blacklist_condition, > enable_decision_connection (JMSConnectionDetails) > - axis2.xml - transport.ws.sender.enable, transport.wss.sender.enable > - registry.xml - indexing.enable > > These profile specific configurations are already handled by the > server_role implementation in infer.json, so no need to do anything in > profile optimization. > > *- Config file replacements* > > - axis2_TM.xml > - axis2_KM.xml > - registry_TM.xml > > This step will need to change the relevant .j2 file according to the profile. Therefore we have to keep this step in optimizer as itits. > > - > > These operations are not required since, the config file replacement won't > be effective with the new toml based config model. And the related template > files are already been replaced via the optimization script. > > So I will proceed to remove these redundant operations, within this effort > itself. > > Regards, > Samitha > > > On Fri, Jan 31, 2020 at 11:31 AM Samitha Chathuranga <sami...@wso2.com> > wrote: > >> And regarding name of the option; >> >>> *What is the ideal name for the new option (<new-option>)?* >>>> Suggestions: --override, --overrideConfig >>>> >>> >>> How about --skipConfigOptimization ? >>> >> +1 for this >> And if we use this, the default behavior should be overriding the >> configs. >> >> >> On Fri, Jan 31, 2020 at 9:49 AM Samitha Chathuranga <sami...@wso2.com> >> wrote: >> >>> Hi Pubudu, >>> >>> IMHO, I prefer to skip the config override when running the profile >>>> optimization. What if we make this as the default approach? If someone >>>> wants to override the configs, then with profile optimization, they can use >>>> a new flag called --override or something similar as Samitha mentioned. >>>> >>> If we make the default behavior to not-override, then in non >>> Docker/K8s scenarios the profile optimization will be done incompletely. We >>> have to think about most generic scenario of profile optimization. Is >>> Docker/K8s the most generic scenario of customer use cases? I assume not. >>> >>> And in the perspective that "the users expected to run the optimization >>> first and then do the configuration", overriding the configs should be the >>> default option. >>> >>> And thinking about preserving the same old behavior too, as Bhathiya >>> suggested, overriding configs should be ideal. >>> >>> Regards, >>> Samitha >>> >>> On Thu, Jan 30, 2020 at 10:28 AM Pubudu Gunatilaka <pubu...@wso2.com> >>> wrote: >>> >>>> Hi, >>>> >>>> If we check one of the existing profile toml [1], the values are very >>>> common and it cannot be used in real production cases. Sample values >>>> contain commonly used hostnames and admin credentials. If we are to use >>>> this feature properly with configuration override, users have to change >>>> these default templates. And then they can use profile optimize along with >>>> configs override. >>>> >>>> IMHO, I prefer to skip the config override when running the profile >>>> optimization. What if we make this as the default approach? If someone >>>> wants to override the configs, then with profile optimization, they can use >>>> a new flag called --override or something similar as Samitha mentioned. >>>> >>>> In K8s, docker use cases we have a single docker image and we are >>>> having profile based deployment.toml. We can bring the hostnames to the >>>> deployment.toml as Nuwan suggested and this would simplify the >>>> deployment.toml. When running the docker image, we can run the profile >>>> optimize and it won't affect the deployment.tomls that come in config maps. >>>> At the moment, in docker images, we had to deal with this configuration >>>> overridden issue. >>>> >>>> [1] - >>>> https://github.com/wso2/product-apim/blob/master/modules/distribution/product/src/main/resources/conf/deployment-templates/api-publisher.toml >>>> >>>> Thank you! >>>> >>>> On Wed, Jan 29, 2020 at 2:10 PM Harsha Kumara <hars...@wso2.com> wrote: >>>> >>>>> I'm thinking on real world scenario where customer will keep one base >>>>> product archive and add the configs. isn't it easy for them to copy those >>>>> files just to the profile optimizer tool location? >>>>> >>>>> On Wed, Jan 29, 2020 at 3:15 PM Bhathiya Jayasekara <bhath...@wso2.com> >>>>> wrote: >>>>> >>>>>> Hi Samitha, >>>>>> >>>>>> On Wed, Jan 29, 2020 at 2:29 PM Samitha Chathuranga <sami...@wso2.com> >>>>>> wrote: >>>>>> >>>>>>> Hi all, >>>>>>> >>>>>>> Our profile optimization [1] script for 3.0.0 replaces [2] already >>>>>>> available deployment.toml with a per-profile specific updated/optimized >>>>>>> toml file. (i.e. api-devportal.toml, gateway-worker.toml, etc.). This >>>>>>> process affects already configured setups, to lose the configurations. >>>>>>> >>>>>>> A user running the profile optimization might follow two approaches. >>>>>>> >>>>>>> 1. Run profile optimization on a vanilla pack. >>>>>>> - So no any configurations done when the profile optimization >>>>>>> is executed >>>>>>> 2. Run profile optimization on a configured pack. >>>>>>> - User/deployment specific configurations are already done in >>>>>>> the deployment.toml file and user run the profile optimization after >>>>>>> that. >>>>>>> >>>>>> >>>>>> The user is expected to run the optimization first and then do the >>>>>> configuration. The real problem here comes with Kubernetes, where we pass >>>>>> configs as config maps. These shouldn't be replaced by the optimizer, >>>>>> because we expect the optimized configs to come via config maps. >>>>>> >>>>>> >>>>>>> >>>>>>> There is no any issue with the Approach-1. But the Approach-2 >>>>>>> results in the above mentioned issue. A user might have made all his >>>>>>> configurations in the deployment.toml file. But once the profile >>>>>>> optimization is executed, he will lose all those config changes. >>>>>>> >>>>>>> So the suggested solution is to pass an argument/option when we run >>>>>>> the optimizing script, which decides whether to replace the >>>>>>> deployment.toml >>>>>>> or not. >>>>>>> >>>>>>> sh <PRODUCT_HOME>/bin/wso2server.sh --optimize *--<new-option> >>>>>>> *-Dprofile=api-publisher >>>>>>> >>>>>>> In this case, we have to assume(and mandate) that user has manually >>>>>>> applied the profile optimization related configurations too, into the >>>>>>> deployment.toml file while doing the other configurations. So if the >>>>>>> "new >>>>>>> option" decides not to override the deployment.toml file, the profile >>>>>>> optimization steps other than deployment.toml changes will be applied. >>>>>>> >>>>>>> So we have two concerns on how we use this new option. >>>>>>> >>>>>>> *What is the ideal name for the new option (<new-option>)?* >>>>>>> Suggestions: --override, --overrideConfig >>>>>>> >>>>>> >>>>>> How about --skipConfigOptimization ? >>>>>> >>>>>> >>>>>>> >>>>>>> *What is the default behavior of the new option?* >>>>>>> - What is the default behavior if the new option is not passed when >>>>>>> running the optimization.? >>>>>>> >>>>>> >>>>>> It should be the current behavior. >>>>>> >>>>>> Thanks, >>>>>> Bhathiya >>>>>> >>>>>> >>>>>>> - Should it override the user-made configs with the profile-specific >>>>>>> deployment toml or not? >>>>>>> - Concerns: >>>>>>> - If override the toml, users manual configs will be >>>>>>> completely removed (may be unknowlingly too). >>>>>>> - If do not override toml, the profile optimization will be >>>>>>> done incompletely. Anyway we can echo a message conveying that the >>>>>>> deployment toml was not overridiiden. >>>>>>> >>>>>>> Appreciate your input on this. >>>>>>> >>>>>>> [1] >>>>>>> https://apim.docs.wso2.com/en/next/SetupAndInstall/DeployingWSO2APIManager/DistributedDeployment/product-profiles/ >>>>>>> [2] >>>>>>> https://github.com/wso2/product-apim/blob/master/modules/distribution/product/src/main/startup-scripts/profileSetup.sh#L302 >>>>>>> >>>>>>> Thanks, >>>>>>> Samitha >>>>>>> >>>>>>> -- >>>>>>> *Samitha Chathuranga* >>>>>>> *Associate Technical Lead*, *WSO2 Inc.* >>>>>>> lean.enterprise.middleware >>>>>>> Mobile: +94715123761 >>>>>>> >>>>>>> [image: http://wso2.com/signature] <http://wso2.com/signature> >>>>>>> >>>>>> >>>>>> >>>>>> -- >>>>>> *Bhathiya Jayasekara* | Technical Lead | WSO2 Inc. >>>>>> (m) +94 71 547 8185 | (e) bhathiya-@t-wso2-d0t-com >>>>>> >>>>>> >>>>>> >>>>> >>>>> -- >>>>> >>>>> *Harsha Kumara* >>>>> >>>>> Technical Lead, WSO2 Inc. >>>>> Mobile: +94775505618 >>>>> Email: hars...@wso2.coim >>>>> Blog: harshcreationz.blogspot.com >>>>> >>>>> GET INTEGRATION AGILE >>>>> Integration Agility for Digitally Driven Business >>>>> >>>> >>>> >>>> -- >>>> *Pubudu Gunatilaka* | Technical Lead | WSO2 Inc. >>>> (m) +94774078049 | (w) +94112145345 | (e) pubu...@wso2.com >>>> <http://wso2.com/signature> >>>> >>>> >>> >>> -- >>> *Samitha Chathuranga* >>> *Associate Technical Lead*, *WSO2 Inc.* >>> lean.enterprise.middleware >>> Mobile: +94715123761 >>> >>> [image: http://wso2.com/signature] <http://wso2.com/signature> >>> >> >> >> -- >> *Samitha Chathuranga* >> *Senior Software Engineer*, *WSO2 Inc.* >> lean.enterprise.middleware >> Mobile: +94715123761 >> >> [image: http://wso2.com/signature] <http://wso2.com/signature> >> > > > -- > *Samitha Chathuranga* > *Associate Technical Lead*, *WSO2 Inc.* > lean.enterprise.middleware > Mobile: +94715123761 > > [image: http://wso2.com/signature] <http://wso2.com/signature> > Thanks *Tharindu Dharmarathna*Technical Lead WSO2 Inc.; http://wso2.com lean.enterprise.middleware mobile: *+94779109091*
_______________________________________________ Dev mailing list Dev@wso2.org http://wso2.org/cgi-bin/mailman/listinfo/dev