DaanHoogland opened a new issue #2991: library surface reduction
URL: https://github.com/apache/cloudstack/issues/2991
 
 
   <!--
   Verify first that your issue/request is not already reported on GitHub.
   Also test if the latest release and master branch are affected too.
   Always add information AFTER of these HTML comments, but no need to delete 
the comments.
   -->
   library interface surfaces should be reduced to improve portability and 
upgradability. examples of lockins that cloudstack suffers from are gson, 
stringutils and even the completely Apache internal log4j1.2 to log4j2 upgrade 
is a problem because of this.
   jira issue CLOUDSTACK-10089 asks for a log4j update.
   other issues have been encountered in teh past (will add references if i 
encounter them)
   ##### ISSUE TYPE
   <!-- Pick one below and delete the rest -->
    * Improvement Request
   
   ##### COMPONENT NAME
   <!--
   Categorize the issue, e.g. API, VR, VPN, UI, etc.
   -->
   ~~~
   cross cutting concern
   ~~~
   
   ##### CLOUDSTACK VERSION
   <!--
   New line separated list of affected versions, commit ID for issues on master 
branch.
   -->
   
   ~~~
   all
   ~~~
   
   ##### CONFIGURATION
   <!--
   Information about the configuration if relevant, e.g. basic network, 
advanced networking, etc.  N/A otherwise
   -->
   
   
   ##### OS / ENVIRONMENT
   <!--
   Information about the environment if relevant, N/A otherwise
   -->
   
   
   ##### SUMMARY
   <!-- Explain the problem/feature briefly -->
   
   I think a number of PR need to be created for the mentioned utilities and 
maybe others to smoothly get to a maintainable situation.
   Each of them must have all functionality used in CloudStack proxied in them.
   
   ##### STEPS TO REPRODUCE
   <!--
   For bugs, show exactly how to reproduce the problem, using a minimal 
test-case. Use Screenshots if accurate.
   
   For new features, show how the feature would be used.
   -->
   
   <!-- Paste example playbooks or commands between quotes below -->
   ~~~
   when upgrading or migrating from a library to a library of similar 
funvctionality, changes should only have to be made in one area of the 
cloudstack code base. This is the ideal situation and may never be true for 3rd 
party plugins for instance. Big improvements can be made however on the 
mentioned libraries
   * StringUtils
   * Gson (json utilities)
   * logging
   ~~~
   
   <!-- You can also paste gist.github.com links for larger files -->
   
   ##### EXPECTED RESULTS
   <!-- What did you expect to happen when running the steps above? -->
   
   ~~~
   one class or package at most has to be changed when upgrading or migrating
   ~~~
   
   ##### ACTUAL RESULTS
   <!-- What actually happened? -->
   
   <!-- Paste verbatim command output between quotes below -->
   ~~~
   a plethora of hundreds of files need to be changed for each upgrade, risking 
numerous regressions due to oversights or misinterpretations of coding styles.
   ~~~
   

----------------------------------------------------------------
This is an automated message from the Apache Git Service.
To respond to the message, please log on GitHub and use the
URL above to go to the specific comment.
 
For queries about this service, please contact Infrastructure at:
[email protected]


With regards,
Apache Git Services

Reply via email to