Saturday, July 10, 2010

Running two IPS servers on the same machine

We have an IPS server providing the KDE packages for OpenSolaris. There are bits for the stable releases, but as KDE 4.5 is approaching, I'd like to have the pre-release stuff available as well and to keep it separate. So I need to run two servers.

Somehow I thought this could be a bit complicated, but it's indeed dead simple.

First, export the configuration of the existing server:
$ svccfg export svc:/application/pkg/server > pkg.xml

Modify to suit your needs:
$ diff -u pkg.xml.orig pkg.xml
--- pkg.xml.orig 2010-07-10 01:31:21.520139723 +0200
+++ pkg.xml 2010-07-10 01:32:29.530018365 +0200
@@ -1,7 +1,7 @@
<?xml version='1.0'?>
<!DOCTYPE service_bundle SYSTEM '/usr/share/lib/xml/dtd/service_bundle.dtd.1'>
<service_bundle type='manifest' name='export'>
- <service name='application/pkg/server' type='service' version='0'>
+ <service name='application/pkg/server-devel' type='service' version='0'>
<create_default_instance enabled='true'/>
<dependency name='fs' grouping='require_all' restart_on='none' type='service'>
<service_fmri value='svc:/system/filesystem/local'/>
@@ -38,8 +38,8 @@
<propval name='ssl_key_file' type='astring' value='none'/>
<propval name='threads' type='count' value='10'/>
<propval name='writable_root' type='astring' value=''/>
- <propval name='port' type='count' value='10000'/>
- <propval name='inst_root' type='astring' value='/export/home/test/repo'/>
+ <propval name='port' type='count' value='10001'/>
+ <propval name='inst_root' type='astring' value='/export/home/test/repo-devel'/>
<property_group name='pkg_secure' type='application'>
<property name='read_authorization' type='astring'/>

And import the new service:

$ pfexec svccfg import pkg.xml

Is it there? Yes it is:

$ svcs -a|grep pkg/server
online Jul_08 svc:/application/pkg/server:default
online 1:40:43 svc:/application/pkg/server-devel:default

Now I only need to initialize it:

pkgsend -s file:/export/home/test/repo-devel create-repository --set-property \
publisher.prefix=kdeips-dev-devel --set-property publisher.alias=kdeips-dev-devel

And I can start publishing into it!

So where are the fresh packages, may you ask? Being uploaded, stay tuned!

No comments:

Post a Comment