Code Monkey home page Code Monkey logo

noe-core's People

Contributors

adamkrajcik avatar honza-kasik avatar jan-onderka avatar jonderka avatar jstefl avatar jstourac avatar karm avatar marekkopecky avatar mmadzin avatar paullodge avatar thanosploumis avatar zebrik avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

noe-core's Issues

Ant won't preserve symlinks

When unzip is not available on machine, Ant is used to unzip a file. This method however won't preserve symlinks and filesystem permissions which is crucial for httpd for example. Ant has to be either:

  • Removed and unzip has to be listed as a dependency for noe-core
  • Replaced by a method/dependency which knows how to handle symlinks

Use robocopy instead of xcopy

xcopy is limited by path length and this constantly causes issues in test environment. robocopy should be available in every Windows Server version we are currently using for testing.

WorkspaceApacheDS destroy

Destroy method is not implemented for ApacheDS workspace hence destroy from abstract method is call and that method removes all servers, not only ApacheDS server.

Ditch support for JDK6 and JDK7

Do we still care about JDK6 and JDK7 these days? Would it be problem to ditch support for it and move to the JDK8+ only?

I can provide some MR if this is a welcomed change.

TomcatConfiguration generates invalid configuration

Seems that TomcatConfigurator's function httpsConnector generates invalid configuration:

e.g.
<Connector port="8443" protocol="org.apache.coyote.http11.Http11NioProtocol" secure="true" scheme="https" SSLEnabled="true" keystoreFile="/tmp/ssl/self_signed/server.jks" keystorePass="changeit" clientAuth="false"/> <Connector redirectPort="8443"/>

which results in:
SEVERE [main] org.apache.catalina.util.LifecycleBase.handleSubClassException Failed to initialize component [Connector[HTTP/1.1-auto-1]] org.apache.catalina.LifecycleException: Protocol handler initialization failed at org.apache.catalina.connector.Connector.initInternal(Connector.java:983) at org.apache.catalina.util.LifecycleBase.init(LifecycleBase.java:136) at org.apache.catalina.core.StandardService.initInternal(StandardService.java:533) at org.apache.catalina.util.LifecycleBase.init(LifecycleBase.java:136) at org.apache.catalina.core.StandardServer.initInternal(StandardServer.java:1057) at org.apache.catalina.util.LifecycleBase.init(LifecycleBase.java:136) at org.apache.catalina.startup.Catalina.load(Catalina.java:584) at org.apache.catalina.startup.Catalina.start(Catalina.java:621) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at java.lang.reflect.Method.invoke(Method.java:498) at org.apache.catalina.startup.Bootstrap.start(Bootstrap.java:343) at org.apache.catalina.startup.Bootstrap.main(Bootstrap.java:474) Caused by: java.lang.IllegalArgumentException: port out of range:-1 at java.net.InetSocketAddress.checkPort(InetSocketAddress.java:143) at java.net.InetSocketAddress.<init>(InetSocketAddress.java:188) at org.apache.tomcat.util.net.NioEndpoint.initServerSocket(NioEndpoint.java:228) at org.apache.tomcat.util.net.NioEndpoint.bind(NioEndpoint.java:212) at org.apache.tomcat.util.net.AbstractEndpoint.bindWithCleanup(AbstractEndpoint.java:1141) at org.apache.tomcat.util.net.AbstractEndpoint.init(AbstractEndpoint.java:1154) at org.apache.coyote.AbstractProtocol.init(AbstractProtocol.java:575) at org.apache.coyote.http11.AbstractHttp11Protocol.init(AbstractHttp11Protocol.java:74) at org.apache.catalina.connector.Connector.initInternal(Connector.java:980) ... 13 more

Source code:
TomcatConfigurator configurator = new TomcatConfigurator(tomcat)

SecureHttpConnectorTomcat conn = new SecureHttpConnectorTomcat()
    .setPort(tomcat.getMainHttpsPort())
    .setScheme("https")
    .setSecure(true)
    .setProtocol(protocol)
    .setKeystoreFile(tomcat.keystorePath)
    .setKeystorePass(tomcat.sslKeystorePassword)

configurator.httpsConnector(conn)

OOM on Windows

I see OOM error on Windows intermittently:

org.jboss.qa.startstop.standalone.StartWithServerStateOptionIT.startModeAdminOnlyTest  Time elapsed: 415.349 s  <<< ERROR!
java.lang.OutOfMemoryError: Java heap space
	at java.base/java.util.HashMap.resize(HashMap.java:700)
	at java.base/java.util.HashMap.putVal(HashMap.java:625)
	at java.base/java.util.HashMap.putMapEntries(HashMap.java:511)
	at java.base/java.util.HashMap.<init>(HashMap.java:486)
	at noe.common.newcmd.ListProcessData.put(ListProcessData.java:407)
	at noe.common.newcmd.ListProcessData.put(ListProcessData.java:86)
	at noe.common.newcmd.ListProcessData.putAll(ListProcessData.java:97)
	at noe.common.newcmd.ListProcessData.filterBy(ListProcessData.java:258)
	at noe.common.newcmd.ListProcessData.filterBy(ListProcessData.java:197)
	at noe.common.newcmd.ListProcess.listProcessTree(ListProcess.java:204)
	at noe.common.newcmd.ListProcess$listProcessTree$0.call(Unknown Source)
	at noe.common.utils.Cmd.destroyProcessWithTree(Cmd.groovy:579)
	at jdk.internal.reflect.GeneratedMethodAccessor187.invoke(Unknown Source)
	at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
	at java.base/java.lang.reflect.Method.invoke(Method.java:566)
	at org.codehaus.groovy.reflection.CachedMethod.invoke(CachedMethod.java:107)
	at org.codehaus.groovy.runtime.callsite.StaticMetaMethodSite$StaticMetaMethodSiteNoUnwrapNoCoerce.invoke(StaticMetaMethodSite.java:149)
	at org.codehaus.groovy.runtime.callsite.StaticMetaMethodSite.callStatic(StaticMetaMethodSite.java:100)
	at org.codehaus.groovy.runtime.callsite.AbstractCallSite.callStatic(AbstractCallSite.java:231)
	at noe.common.utils.Cmd.destroyProcess(Cmd.groovy:573)
	at noe.common.utils.Cmd$destroyProcess$5.call(Unknown Source)
	at noe.server.ServerAbstract.kill(ServerAbstract.groovy:189)
	at noe.server.ServerAbstract$kill$3.call(Unknown Source)
	at org.codehaus.groovy.runtime.callsite.CallSiteArray.defaultCall(CallSiteArray.java:47)
	at org.codehaus.groovy.runtime.callsite.AbstractCallSite.call(AbstractCallSite.java:125)
	at org.codehaus.groovy.runtime.callsite.AbstractCallSite.call(AbstractCallSite.java:130)
	at noe.server.ServerController$_killAll_closure4.doCall(ServerController.groovy:93)
	at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
	at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
	at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
	at java.base/java.lang.reflect.Method.invoke(Method.java:566)
	at org.codehaus.groovy.reflection.CachedMethod.invoke(CachedMethod.java:107)

Cmd.executeCommandConsumeStreams doesn't wait for full output

There is an issue with return variable 'output' from Cmd.executeCommandConsumeStreams which doesn't hold the whole output if it is longer than 1024 signs. 'Cmd.
executeCommandRedirectIO' is not affected by this issue and should be used instead of executeCommandConsumeStreams if longer outputs are expected.

Consolidate ITs

When adding tests for PR #20, I realized some tests are abundant. We need to:

  • Analyze which tests are redundant
  • Remove reduntant integration tests
  • Investigate why Solaris 10 tests take 5x time than Solaris 11 tests We have stopped testing on Sol 10.

Add support for Tomcat 10 TLS connectors

Tomcat 9 supports both old and new TLS connector notations in server.xml Tomcat 10, however, will not support the old notation, AFAIK, and will require an explicit <SSLHostConfig>, i.e. something like:

    <Connector port="8443" protocol="org.apache.coyote.http11.Http11AprProtocol"
               maxThreads="150" SSLEnabled="true" >
        <UpgradeProtocol className="org.apache.coyote.http2.Http2Protocol" />
        <SSLHostConfig>
            <Certificate certificateKeyFile="conf/localhost-rsa-key.pem"
                         certificateFile="conf/localhost-rsa-cert.pem"
                         certificateChainFile="conf/localhost-rsa-chain.pem"
                         type="RSA" />
        </SSLHostConfig>
    </Connector>

Noe Core does not support this style of config as of yet.

Break up Library.groovy

Library.groovy needs to be broken up into logical pieces; every new piece of code that gets into it gets lost, and is forgotten quickly by all but the author.

Add better way to provide platform

There are multiple places (e.g. JwsNameHelper and PlatformSuffixHelper) where we try to determine what is the name of the underlying OS. This should be a function of a separate class, possibly the platform class. This code is then duplicated and fragile. Should be an easy-ish refactoring target.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.