<html><head><meta http-equiv="Content-Type" content="text/html charset=utf-8"></head><body style="word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space;" class=""><div class="">/reducing the cc noise</div><div class=""><br class=""></div>Yes, I was hoping to hear that this has already been thought about.&nbsp;<div class=""><br class=""></div><div class="">Is there a design document for this JMX aggregation?&nbsp;</div><div class="">What are the possible target environments and functional requirements?&nbsp;</div><div class="">Would this be reusable in a plain WildFly domain?</div><div class=""><br class=""></div><div class="">cheers</div><div class="">—thomas<br class=""><div class=""><br class=""><div><blockquote type="cite" class=""><div class="">On 17 Dec 2014, at 10:35, Rob Davies &lt;<a href="mailto:rdavies@redhat.com" class="">rdavies@redhat.com</a>&gt; wrote:</div><br class="Apple-interchange-newline"><div class=""><span style="font-family: Helvetica; font-size: 12px; font-style: normal; font-variant: normal; font-weight: normal; letter-spacing: normal; line-height: normal; orphans: auto; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; widows: auto; word-spacing: 0px; -webkit-text-stroke-width: 0px; background-color: rgb(255, 255, 255); float: none; display: inline !important;" class="">Hi Thomas,</span><br style="font-family: Helvetica; font-size: 12px; font-style: normal; font-variant: normal; font-weight: normal; letter-spacing: normal; line-height: normal; orphans: auto; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; widows: auto; word-spacing: 0px; -webkit-text-stroke-width: 0px; background-color: rgb(255, 255, 255);" class=""><br style="font-family: Helvetica; font-size: 12px; font-style: normal; font-variant: normal; font-weight: normal; letter-spacing: normal; line-height: normal; orphans: auto; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; widows: auto; word-spacing: 0px; -webkit-text-stroke-width: 0px; background-color: rgb(255, 255, 255);" class=""><span style="font-family: Helvetica; font-size: 12px; font-style: normal; font-variant: normal; font-weight: normal; letter-spacing: normal; line-height: normal; orphans: auto; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; widows: auto; word-spacing: 0px; -webkit-text-stroke-width: 0px; background-color: rgb(255, 255, 255); float: none; display: inline !important;" class="">it would be great to see this as an example quickstart in fabric8 - then you could pick up the jmx aggregation etc for free :)</span><br style="font-family: Helvetica; font-size: 12px; font-style: normal; font-variant: normal; font-weight: normal; letter-spacing: normal; line-height: normal; orphans: auto; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; widows: auto; word-spacing: 0px; -webkit-text-stroke-width: 0px; background-color: rgb(255, 255, 255);" class=""><br style="font-family: Helvetica; font-size: 12px; font-style: normal; font-variant: normal; font-weight: normal; letter-spacing: normal; line-height: normal; orphans: auto; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; widows: auto; word-spacing: 0px; -webkit-text-stroke-width: 0px; background-color: rgb(255, 255, 255);" class=""><blockquote cite="mid:44C922B6-FD83-44DF-9DC5-87D7AED804DA@redhat.com" type="cite" style="font-family: Helvetica; font-size: 12px; font-style: normal; font-variant: normal; font-weight: normal; letter-spacing: normal; line-height: normal; orphans: auto; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; widows: auto; word-spacing: 0px; -webkit-text-stroke-width: 0px; background-color: rgb(255, 255, 255); border: 0px none;" class=""><div class="__pbConvHr" style="margin: 30px 25px 10px;"><div style="display: table; width: 833px; border-top-width: 1px; border-top-style: solid; border-top-color: rgb(237, 238, 240); padding-top: 5px;" class=""><div style="display: table-cell; vertical-align: middle; padding-right: 6px;" class=""><img class="" apple-inline="yes" id="BABC814B-800E-4290-A8D2-FF419434473C" src="cid:part1.03040604.03040905@redhat.com"></div><div style="display: table-cell; white-space: nowrap; vertical-align: middle; width: 385px;" class=""><a moz-do-not-send="true" href="mailto:tdiesler@redhat.com" style="padding-right: 6px; font-weight: bold; color: rgb(115, 127, 146) !important; text-decoration: none !important;" class="">Thomas Diesler</a></div><div style="display: table-cell; white-space: nowrap; vertical-align: middle;" class=""><font color="#9FA2A5" class=""><span style="padding-left: 6px;" class="">17 December 2014 09:28</span></font></div></div></div><div __pbrmquotes="true" class="__pbConvBody" style="color: rgb(136, 136, 136); margin-left: 24px; margin-right: 24px;">Folks,&nbsp;<div class=""><br class=""></div><div class="">following up on this topic, I worked a little more on WildFly-Camel in Kubernetes/OpenShift.&nbsp;</div><div class=""><br class=""></div><div class="">These doc pages are targeted for the upcoming 2.1.0 release (01-Feb-2015)</div><div class=""><br class=""></div><div class=""><ul class=""><li class="">WildFly-Camel on &nbsp;<a moz-do-not-send="true" class="" href="https://github.com/wildfly-extras/wildfly-camel-book/blob/2.1/cloud/docker.md">Docker</a></li><li class="">WildFly-Camel on &nbsp;<a moz-do-not-send="true" class="" href="https://github.com/wildfly-extras/wildfly-camel-book/blob/2.1/cloud/openshift.md">OpenShift</a></li></ul></div><div class=""><br class=""></div><div class="">The setup looks like this</div><div class=""><br class=""></div><div class=""><img moz-do-not-send="true" class="" apple-height="yes" apple-width="yes" id="9F43B51C-395F-43E1-ADD8-8D93C9B3FB2A" apple-inline="yes" height="281" width="377" src="cid:5812BF05-0361-4512-B790-8227D7034943@fritz.box"></div><div class=""><br class=""></div><div class="">We can now manage these individual wildfly nodes. The domain controller (DC) is replicated once, the host definition is replicated three times.&nbsp;</div><div class="">Theoretically, this means that there is no single point of failure with the domain controller any more - kube would respawn the DC on failure</div><div class=""><br class=""></div><div class="">Here some ideas for improvement …</div><div class=""><br class=""></div><div class="">In a kube env we should be able to swap out containers based on some criteria. It should be possible to define these criteria, emit events based on them create/remove/replace containers automatically.&nbsp;</div><div class="">Additionally a human should be able to make qualified decisions through a console and create/remove/replace containers easily.</div><div class="">Much of the needed information is in jmx. Heiko told me that there is a project that can push events to influx db - something to look at.</div><div class=""><br class=""></div><div class="">If information display contained in jmx in a console has value (e.g in hawtio) that information must be aggregated and visible for each node.&nbsp;</div><div class="">Currently, we have a round robin service on 8080 which would show a different hawtio instance on every request - this is nonsense.</div><div class=""><br class="">I can see a number of high level items:&nbsp;</div><div class=""><br class=""></div><div class="">#1&nbsp;a thing that aggregates jmx content - possibly multiple MBeanServers in the DC VM that delegate to respective&nbsp;MBeanServers&nbsp;on other hosts,&nbsp;so that a management client can pickup the info from one service<br class="">#2&nbsp;look at the existing inluxdb thing and research into how to automate the replacement of containers</div><div class="">#3 from the usability perspective, there may need to be an openshift profile in the console(s) because some operations may not make sense in that env</div><div class=""><br class=""></div><div class="">cheers</div><div class="">—thomas</div><div class=""><br class=""></div><div class="">PS: looking forward to an exiting ride in 2015</div><div class=""><br class=""></div><div class=""><span id="cid:part2.02010608.07030301@redhat.com">&lt;image.jpg&gt;</span></div><div class="">&nbsp;<br class=""><br class=""></div></div><div class="__pbConvHr" style="margin: 30px 25px 10px;"><div style="display: table; width: 833px; border-top-width: 1px; border-top-style: solid; border-top-color: rgb(237, 238, 240); padding-top: 5px;" class=""><div style="display: table-cell; vertical-align: middle; padding-right: 6px;" class=""><img class="" apple-inline="yes" id="04F152CA-AB92-4EAD-B3AB-F8F52004A705" src="cid:part1.03040604.03040905@redhat.com"></div><div style="display: table-cell; white-space: nowrap; vertical-align: middle; width: 392px;" class=""><a moz-do-not-send="true" href="mailto:tdiesler@redhat.com" style="padding-right: 6px; font-weight: bold; color: rgb(115, 127, 146) !important; text-decoration: none !important;" class="">Thomas Diesler</a></div><div style="display: table-cell; white-space: nowrap; vertical-align: middle;" class=""><font color="#9FA2A5" class=""><span style="padding-left: 6px;" class="">5 December 2014 13:36</span></font></div></div></div><div __pbrmquotes="true" class="__pbConvBody" style="color: rgb(136, 136, 136); margin-left: 24px; margin-right: 24px;">Folks,<div class=""><br class=""></div><div class="">I’ve recently been looking at WildFly container deployments on OpenShift V3. The following setup is documented&nbsp;<a moz-do-not-send="true" class="" href="https://github.com/wildfly-extras/wildfly-camel-book/blob/2.1/cloud/fabric8.md">here</a></div><div class=""><br class=""></div><div class="">This approach comes with a number of benefits, which are sufficiently explained in various&nbsp;<a moz-do-not-send="true" class="" href="https://blog.openshift.com/openshift-v3-platform-combines-docker-kubernetes-atomic-and-more/">OpenShift</a>,&nbsp;<a moz-do-not-send="true" class="" href="https://github.com/GoogleCloudPlatform/kubernetes/blob/master/README.md">Kubernetes</a>&nbsp;and&nbsp;<a moz-do-not-send="true" class="" href="https://docs.docker.com/">Docker</a>&nbsp;materials, but also with a number of challenges. Lets look at those in more detail …</div><div class=""><br class=""></div><div class="">In the example above Kubernetes replicates a number of standalone containers and isolates them in a Pod each with limited access from the outside world.&nbsp;</div><div class=""><br class=""></div><div class="">* The management interfaces are not accessible&nbsp;</div><div class="">* The management consoles are not visible</div><div class=""><br class=""></div><div class="">With WildFly-Camel we have a&nbsp;<a moz-do-not-send="true" class="" href="http://wildflyext.gitbooks.io/wildfly-camel/content/features/hawtio.html">Hawt.io</a>&nbsp;console that allows us to manage Camel Routes configured or deployed to the WildFly runtime.&nbsp;</div><div class="">The WildFly console manages aspects of the appserver.</div><div class=""><br class=""></div><div class="">In a more general sense, I was wondering how the WildFly domain model maps to the Kubernetes runtime environment and how these server instances are managed and information about them relayed back to the sysadmin</div><div class=""><br class=""></div><div class="">a) Should these individual wildfly instances somehow be connected to each other (i.e. notion of domain)?</div><div class="">b) How would an HA singleton service work?</div><div class="">c) What level of management should be exposed to the outside?</div><div class="">d) Should it be possible to modify runtime behaviour of these servers (i.e. write access to config)?</div><div class="">e) Should deployment be supported at all?</div><div class="">f) How can a server be detected that has gone bad?</div><div class="">g) Should logs be aggregated?</div><div class="">h) Should there be a common management view (i.e. console) for these servers?</div><div class="">i) etc …</div><div class=""><br class=""></div><div class="">Are these concerns already being addressed for WildFly?&nbsp;</div><div class=""><br class=""></div><div class="">Is there perhaps even an already existing design that I could look at?</div><div class=""><br class=""></div><div class=""><div class="">Can such an effort be connected to the work that is going on in Fabric8?&nbsp;</div></div><div class=""><br class=""></div><div class="">cheers</div><div class="">—thomas</div><div class=""><br class=""></div><div class="">PS: it would be area that we @ wildfly-camel were interested to work on</div><div class="">&nbsp;</div></div></blockquote></div></blockquote></div><br class=""></div></div></body></html>