<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>Luca Morettoni &#187; Solaris</title>
	<atom:link href="http://www.morettoni.net/tag/solaris/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.morettoni.net</link>
	<description>software developing &#38; consulting</description>
	<lastBuildDate>Fri, 06 May 2011 07:14:55 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3</generator>
		<item>
		<title>SMF service per JBoss</title>
		<link>http://www.morettoni.net/2010/04/smf-service-per-jboss/</link>
		<comments>http://www.morettoni.net/2010/04/smf-service-per-jboss/#comments</comments>
		<pubDate>Thu, 15 Apr 2010 07:29:42 +0000</pubDate>
		<dc:creator>Luca Morettoni</dc:creator>
				<category><![CDATA[Informatica]]></category>
		<category><![CDATA[JavaEE]]></category>
		<category><![CDATA[JBoss]]></category>
		<category><![CDATA[OpenSolaris]]></category>
		<category><![CDATA[SMF]]></category>
		<category><![CDATA[Solaris]]></category>

		<guid isPermaLink="false">http://www.morettoni.net/?p=392</guid>
		<description><![CDATA[
			
				
			
		
<p>Sicuramente chi già utilizza Solaris oppure OpenSolaris conoscerà tutti i benefici e le comodità dei servizi SMF, per chi non conosce l&#8217;argomento potete leggere una breve introduzione da me scritta in questi articoli.</p>
<p>Ultimamente per lavoro ho utilizzato molto spesso l&#8217;application server JBoss ed ho notato la mancanza di un apposito servizio per integrarlo in SMF, [...]]]></description>
			<content:encoded><![CDATA[<div class="tweetmeme_button" style="float: right; margin-left: 10px;">
			<a href="http://api.tweetmeme.com/share?url=http%3A%2F%2Fwww.morettoni.net%2F2010%2F04%2Fsmf-service-per-jboss%2F"><br />
				<img src="http://api.tweetmeme.com/imagebutton.gif?url=http%3A%2F%2Fwww.morettoni.net%2F2010%2F04%2Fsmf-service-per-jboss%2F&amp;style=normal&amp;service=bit.ly&amp;b=2" height="61" width="50" /><br />
			</a>
		</div>
<p>Sicuramente chi già utilizza <a title="Solaris" href="http://www.sun.com/software/solaris/" target="_blank">Solaris</a> oppure <a title="OpenSolaris" href="http://www.opensolaris.org" target="_blank">OpenSolaris</a> conoscerà tutti i benefici e le comodità dei servizi <a title="SMF" href="http://www.opensolaris.org/os/community/smf/">SMF</a>, per chi non conosce l&#8217;argomento potete leggere una breve introduzione da me scritta in questi <a title="SMF parte 1 e 2" href="http://www.morettoni.net/2009/04/i-servizi-di-opensolaris-smf-pt1/" target="_self">articoli</a>.</p>
<p>Ultimamente per lavoro ho utilizzato molto spesso l&#8217;application server <a title="JBoss" href="http://www.jboss.org">JBoss</a> ed ho notato la mancanza di un apposito servizio per integrarlo in SMF, di conseguenza mi sono armato di pazienza e ne ho creato uno. Il servizio è stato testato con JBoss AS versione 5.1.0-GA, ma dovrebbe comportarsi bene anche con la versione 6. I due file che compongono il pacchetto sono il descrittore XML del servizio e uno script di shell che si occupa di far partire (o arrestare) JBoss.</p>
<p>Cominciamo l&#8217;analisi del file xml (jboss.xml):</p>
<pre>&lt;?xml version="1.0"?&gt;
&lt;!DOCTYPE service_bundle SYSTEM "/usr/share/lib/xml/dtd/service_bundle.dtd.1"&gt;

&lt;service_bundle type='manifest' name='jboss'&gt;

 &lt;service name='application/jboss' type='service' version='1'&gt;

  &lt;!-- Wait for network interfaces to be initialized. --&gt;
  &lt;dependency name='network' grouping='require_all'
      restart_on='none' type='service'&gt;
   &lt;service_fmri value='svc:/milestone/network:default' /&gt;
  &lt;/dependency&gt;

  &lt;!-- Wait for all local filesystems to be mounted. --&gt;
  &lt;dependency name='filesystem-local' grouping='require_all'
      restart_on='none' type='service'&gt;
   &lt;service_fmri value='svc:/system/filesystem/local:default' /&gt;
  &lt;/dependency&gt;

<strong>  &lt;!-- Wait for the production database to be online
  &lt;dependency name='database' grouping='require_all'
      restart_on='restart' type='service'&gt;
   &lt;service_fmri value='svc:/application/database/mysql:version_51' /&gt;
  &lt;/dependency&gt;
  --&gt;</strong>

  &lt;exec_method type='method' name='start'
      exec='/lib/svc/method/jboss %m %i' timeout_seconds='60' /&gt;

  &lt;exec_method type='method' name='stop'
      exec='/lib/svc/method/jboss %m %i' timeout_seconds='60' /&gt;

  &lt;!-- rememer to set home dir of jboss user (usermod -d /opt/jboss5/ jboss) --&gt;
  &lt;property_group name="jboss" type="application"&gt;
   <strong>&lt;propval name="home" type="astring" value="/opt/jboss5" override="true"/&gt;
   &lt;propval name="user" type="astring" value="jboss" override="true"/&gt;</strong>
  &lt;/property_group&gt;

  &lt;!-- set this to productions values:
   # svccfg -s svc:/application/jboss:default setprop instance/host=0.0.0.0
   # svcadm refresh jboss:default
  --&gt;
  <strong>&lt;instance name='default' enabled='false'&gt;
   &lt;property_group name='instance' type='application'&gt;
    &lt;propval name='host' type='astring' value='127.0.0.1' /&gt;
    &lt;propval name="partition" type="astring" value="" override="true"/&gt;
    &lt;propval name="udp_address" type="astring" value="" override="true"/&gt;
    &lt;propval name="udp_port" type="astring" value="" override="true"/&gt;
    &lt;propval name="properties" type="astring" value="" override="true"/&gt;
   &lt;/property_group&gt;
  &lt;/instance&gt;</strong>

  &lt;instance name='all' enabled='false'&gt;
   &lt;property_group name='instance' type='application'&gt;
    &lt;propval name='host' type='astring' value='127.0.0.1' /&gt;
    &lt;propval name="partition" type="astring" value="" override="true"/&gt;
    &lt;propval name="udp_address" type="astring" value="" override="true"/&gt;
    &lt;propval name="udp_port" type="astring" value="" override="true"/&gt;
    &lt;propval name="properties" type="astring" value="" override="true"/&gt;
   &lt;/property_group&gt;
  &lt;/instance&gt;

  &lt;instance name='minimal' enabled='false'&gt;
   &lt;property_group name='instance' type='application'&gt;
    &lt;propval name='host' type='astring' value='127.0.0.1' /&gt;
    &lt;propval name="partition" type="astring" value="" override="true"/&gt;
    &lt;propval name="udp_address" type="astring" value="" override="true"/&gt;
    &lt;propval name="udp_port" type="astring" value="" override="true"/&gt;
    &lt;propval name="properties" type="astring" value="" override="true"/&gt;
   &lt;/property_group&gt;
  &lt;/instance&gt;

  &lt;instance name='standard' enabled='false'&gt;
   &lt;property_group name='instance' type='application'&gt;
    &lt;propval name='host' type='astring' value='127.0.0.1' /&gt;
    &lt;propval name="partition" type="astring" value="" override="true"/&gt;
    &lt;propval name="udp_address" type="astring" value="" override="true"/&gt;
    &lt;propval name="udp_port" type="astring" value="" override="true"/&gt;
    &lt;propval name="properties" type="astring" value="" override="true"/&gt;
   &lt;/property_group&gt;
  &lt;/instance&gt;

  &lt;instance name='web' enabled='false'&gt;
   &lt;property_group name='instance' type='application'&gt;
    &lt;propval name='host' type='astring' value='127.0.0.1' /&gt;
    &lt;propval name="partition" type="astring" value="" override="true"/&gt;
    &lt;propval name="udp_address" type="astring" value="" override="true"/&gt;
    &lt;propval name="udp_port" type="astring" value="" override="true"/&gt;
    &lt;propval name="properties" type="astring" value="" override="true"/&gt;
   &lt;/property_group&gt;
  &lt;/instance&gt;

 &lt;stability value='Stable' /&gt;

 &lt;template&gt;
  &lt;common_name&gt;
   &lt;loctext xml:lang='C'&gt;JBoss AS&lt;/loctext&gt;
  &lt;/common_name&gt;
  &lt;documentation&gt;
   &lt;doc_link name='jboss.org' uri='http://www.jboss.org/jbossas/docs.html' /&gt;
  &lt;/documentation&gt;
 &lt;/template&gt;

 &lt;/service&gt;
&lt;/service_bundle&gt;</pre>
<p>Nella prima parte del servizio ho descritto le dipendenze di base, ovvero networking e filesystem (per ovvie ragioni), inoltre ho inserito anche una dipendenza dal database MySQL (commentata di default), togliendo i commenti JBoss non partirà finche il database non sarà partito, inoltre in caso di restart del servizio database verrà effettuato anche un restart di JBoss.</p>
<p>Di seguito trovate le proprietà generali di JBoss, ovvero la cartella dove è installato e l&#8217;utente con cui lo si vuole far partire, mentre tutte le altre proprietà sono state specificate a livello di istanza, facendo così sulla stessa macchina potreste far partire JBoss profilo standard sull&#8217;indirizzo 127.0.0.1 e JBoss profilo web su 192.168.10.1. Per modificare queste proprietà basterà dare i seguenti comandi:</p>
<pre># svccfg -s svc:/application/jboss:default setprop instance/host=0.0.0.0
# svcadm refresh jboss:default</pre>
<p>in questo caso abbiamo impostato l&#8217;host per l&#8217;instanza default al valore 0.0.0.0; ovviamente se JBoss erà già stato avviato occorrerà farlo ripartire con un:</p>
<pre># svcadm restart jboss:default</pre>
<p>Ovviamente se nella vostra installazione avrete creato altre configurazioni personalizzate di JBoss non dovrete far altro che aggiungere al file XML una nuova istanza copiando una di quelle esistenti.</p>
<p>Evito l&#8217;analisi dello script di supporto in quanto è decisamente banale, concludo invece con le informazioni per installare il tutto sul vostro sistema. Scaricate il file da <a title="jboss-smf.tar.gz" href="http://www.morettoni.net/wp-content/uploads/2010/04/jboss-smf.tar.gz">qui</a>, scompattatelo con:</p>
<pre># gzcat jboss-smf.tar.gz | tar xf -</pre>
<p>ora copiamo il file di script e rendiamolo eseguibile:</p>
<pre># cp jboss /lib/svc/method/
# chmod +x /lib/svc/method/jboss</pre>
<p>ed importiamo il descrittore di servizio:</p>
<pre># svccfg import jboss.xml</pre>
<p>a questo punto tutte le istanze saratto regolarmente configurate:</p>
<pre># svcs -a|grep jboss
disabled        9:46:57 svc:/application/jboss:all
disabled        9:46:57 svc:/application/jboss:default
disabled        9:46:57 svc:/application/jboss:web
disabled        9:46:57 svc:/application/jboss:minimal
disabled       14:16:17 svc:/application/jboss:standard</pre>
<p>per farne partire una basterà digitare:</p>
<pre># svcadm enable jboss:standard</pre>
<p>e, ad ogni riavvio del sistema, verrà fatto ripartire anche JBoss!</p>
]]></content:encoded>
			<wfw:commentRss>http://www.morettoni.net/2010/04/smf-service-per-jboss/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Solaris 10 branded zone</title>
		<link>http://www.morettoni.net/2009/10/solaris-10-branded-zone/</link>
		<comments>http://www.morettoni.net/2009/10/solaris-10-branded-zone/#comments</comments>
		<pubDate>Fri, 23 Oct 2009 11:55:15 +0000</pubDate>
		<dc:creator>Luca Morettoni</dc:creator>
				<category><![CDATA[Informatica]]></category>
		<category><![CDATA[OpenSolaris]]></category>
		<category><![CDATA[Solaris]]></category>
		<category><![CDATA[Zone]]></category>

		<guid isPermaLink="false">http://www.morettoni.net/?p=334</guid>
		<description><![CDATA[
			
				
			
		
<p>Finalmente ci siamo!!! Dalla build 127 (disponibile all&#8217;incirca tra un mesetto, visto che ora siamo alla 125) sarà possibile configurare in OpenSolaris delle zone di tipo Solaris 10. La fase di integrazione del codice è stata ultimata, ovviamente le prime build serviranno per &#8220;allineare&#8221; i due mondi e per correggere i bachi che emergeranno, ma [...]]]></description>
			<content:encoded><![CDATA[<div class="tweetmeme_button" style="float: right; margin-left: 10px;">
			<a href="http://api.tweetmeme.com/share?url=http%3A%2F%2Fwww.morettoni.net%2F2009%2F10%2Fsolaris-10-branded-zone%2F"><br />
				<img src="http://api.tweetmeme.com/imagebutton.gif?url=http%3A%2F%2Fwww.morettoni.net%2F2009%2F10%2Fsolaris-10-branded-zone%2F&amp;style=normal&amp;service=bit.ly&amp;b=2" height="61" width="50" /><br />
			</a>
		</div>
<p>Finalmente ci siamo!!! Dalla build 127 (disponibile all&#8217;incirca tra un mesetto, visto che ora siamo alla 125) sarà possibile configurare in <a title="OpenSolaris" href="http://www.opensolaris.org" target="_blank">OpenSolaris</a> delle <a title="OpenSolaris Zones" href="http://www.opensolaris.org/os/community/zones/" target="_blank">zone</a> di tipo <a title="Solaris 10" href="http://www.sun.com/software/solaris/">Solaris 10</a>. La fase di integrazione del codice è stata ultimata, ovviamente le prime build serviranno per &#8220;allineare&#8221; i due mondi e per correggere i bachi che emergeranno, ma una volta stabilizzata questa tecnologia permetterà di &#8220;virtualizzare&#8221; all&#8217;interno di una installazione OpenSolaris &#8220;n&#8221; istanze di Solaris (dalla 10u8 e successive).</p>
<p>L&#8217;annuncio ufficiale è disponibile <a title="Annuncio" href="http://www.opensolaris.org/os/community/on/flag-days/pages/2009102201/" target="_blank">qui</a>, mentre nella <a title="Brand10 dev guide" href="http://www.opensolaris.org/os/community/zones/s10brand_dev_guide/">guida degli sviluppatori</a> potrete trovare tante preziose informazioni, mentre per essere sempre informati sull&#8217;evoluzione di questa feature aggiuntiva delle zone è disponibile l&#8217;apposita pagina del progetto &#8220;<a title="Solaris 10 branded zone" href="http://www.opensolaris.org/os/project/s10brand/" target="_blank">Solaris 10 branded zone</a>&#8220;.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.morettoni.net/2009/10/solaris-10-branded-zone/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

