SIEMENS SIEMENS
SIEMENS
Polarion18
EnterpriseSetup
POL00518
Contents
Terminology.........................................................1-1
Overview...........................................................2-1
Details.............................................................3-1
Requirements........................................................4-1
Serversoftwarerequirements.............................................4-1
RequirementsforaWindowsinstallation......................................4-1
Serverhardwarerequirements.............................................4-1
Serverhardwarerequirementsoverview...................................4-1
Coordinatorserver..................................................4-2
Stand-aloneinstanceserver............................................4-3
Clusterinstanceserver...............................................4-4
SharedServicesserver...............................................4-5
Examplehardwarecongurationsforaninstance.............................4-7
Licenserequirements...................................................4-7
Installationusecases..................................................5-1
Overview...........................................................5-1
Commonterms.......................................................5-1
Settingupaclusterfromnewinstallations.....................................5-2
Optionsandprerequisites.............................................5-2
Conguringthecluster'scoordinator......................................5-4
Licensedeploymentoncoordinator.......................................5-5
Conguringthecluster'ssharedservices...................................5-6
Conguringthecluster'snodes..........................................5-8
Conguringthecluster'sactivationapplication...............................5-10
Multiplestand-aloneinstancessetup........................................5-11
Usingthecoordinatorforlicensemanagement...............................5-11
Conguringthecoordinatorformultiplestand-aloneinstancessetup...............5-13
ConguringInstance1...............................................5-13
ConguringInstance2...............................................5-14
AccessURLsformultiplestand-aloneinstances.............................5-15
MigratingFromaPre-2014multi-instanceinstallation............................5-15
Differencesbetweenthenewandoldmultiplestand-aloneinstances"setups..........5-15
Conguringthecoordinator...........................................5-16
Migratingaremoteinstancetoanon-clusteredstand-aloneinstance...............5-16
Movinglocalinstancesforthemultiplestand-aloneinstancessetup................5-17
Updatingamultiplestand-aloneinstanceorclustersetup..........................5-18
Congureshareddata.................................................6-1
POL00518PolarionEnterpriseSetup3
Contents
ShareddatacongurationstepsforbothWindowsandLinux........................6-1
Linuxconguration.....................................................6-2
Windowsconguration..................................................6-3
Securityoptions......................................................7-1
Recommendedsetup...................................................7-1
Recommendedsecurityoptions............................................7-2
Advancedsecurityoptions................................................7-3
Authenticationforservermonitoring.........................................7-5
UsingResourceTraceabilityinacluster....................................8-1
BeforesettingupResourceTraceability.......................................8-1
StandaloneResourceTraceabilityserver......................................8-1
EmbeddedResourceTraceabilityserverinclusternodes...........................8-4
Notes..............................................................9-1
Troubleshooting.....................................................10-1
Appendix:Polarioninstancearchitecture..................................11-1
4PolarionEnterpriseSetupPOL00518
Contents
Chapter1:Terminology
Polarion-GeneralreferencetothePolarionALMsoftware/server/system.
Instance-AmachinerunningasinglePolarioninstallation.
Stand-aloneInstance-Aninstance,withitsownrepositoryonthesamemachine(i.e.not
clustered),exposedtotheuserasasinglePolarionServer.
Cluster-Agroupofinstancesaccessingthesharedservices,exposedtotheuserasasingle
logicalPolarionserver.
Coordinator-AspeciallyconguredPolarioninstallationthatmanagescommunicationand
licensesamongInstances.
SharedServices-AmachinethathoststheSubversionrepository,shareddataandload
balancer(userentrypoint).Thereisonesharedservicespercluster.
POL00518PolarionEnterpriseSetup1-1
Chapter2:Overview
Thefollowinggureshowsoneclusteredsetupwithtwoclusteredinstancessharingonerepository.
POL00518PolarionEnterpriseSetup2-1
Chapter3:Details
AclustersetuprequiresonededicatedphysicalorvirtualmachineforeachInstance.Coordinatorand
sharedservicesmustalsobededicatedmachines.
Coordinator
Distributestasksthatneedtobeexecutedonasingleinstanceinthecluster.
ServesastheLicensingServerforallinstancesconnectedtothecoordinator.
ProvidesasingleentrypointtoalllogicalPolarionserversthatareconnectedtothesame
coordinator.
RecongurestheLoadBalancerifsomeoftheinstancesareofine.
Sharedservices
ProvidestheLoadBalancerthatforwardsuserstoaspecicinstanceinthecluster.
Entrypointforonecluster.
Providesalerepositorysharedbyallinstancesinthecluster.
ServestheSubversionrepositorythatcontainsthedatafortheclusteredlogicalPolarionserver.
Instance1,Instance2
MachinesrunningthePolarionservice,connectedinaClusterandallconguredtousethesame
sharedservices.(EachinstanceintheClusterusethesameSubversionrepository.)
EveryinstanceintheClusterhasitsownPolariondata(indexes,objectmaps),andPostgreSQL
database.(Ashareddatabaseisnotcurrentlysupported.)
POL00518PolarionEnterpriseSetup3-1
Chapter4:Requirements
Serversoftwarerequirements
Severalvirtualorphysicalmachinesareneeded:onefortheCoordinator,oneforeveryInstance
(stand-aloneorfromacluster)andonesharedservicespercluster.
Theserversoftwarerequirementsarethesameforallmachines,asdescribedintheWindowsand
Linuxinstallationguides,withoneexception:
TheminimumApacheHTTPServerversionis2.2.17.(Thelatest2.4.xversionisrecommended.)
AlthoughtheCoordinatormachinedoesnotreallyneedSubversion,itisstillrecommendedtouse
thestandardPolarionInstallertoinstallPolariononit.ItwillinstallSubversiononthecoordinator,
andcanjustremainthere.
Coordinator,Nodes,andstand-aloneinstancesmustallberunningthesameversionofPolarion.
RequirementsforaWindowsinstallation
APolarionclusteredsetupinaMicrosoftWindowsenvironmentrequiresthefollowing:
MSActiveDirectory.
ADNSserviceisrecommended,butyoucanalsousestaticIPaddresses.(Thesamesubnetis
expected.)
Testingforapropernetworkcongurationby'pinging'betweenallhostsinacluster.
Adomainuser.(example,yourDomain\polarion)
oForsharedServices,CIFS/Sambarequiresadomainuser,forexample,yourDomain\polarion.
AmailserverormailGWisrequiredforsendinge-mailnotications.
Foraproperconguration,youwillneedtoopenportsasdescribedinServerhardware.
Serverhardwarerequirements
Serverhardwarerequirementsoverview
GenerallytherequirementsforallservermachinesaresimilartothosedescribedinthePolarion
installationguidesforLinuxandWindows.Allmachinesmustbeconnectedbyafast1Gbps
low-latency(<10ms)intranetnetwork.
POL00518PolarionEnterpriseSetup4-1
Chapter4:Requirements
Coordinatorserver
RequirementDescription
CPU
2
RAM
2-4GB
Diskspace
10GB
FQDN
e.gcoordinator.mycompany.com
Accessfromclients
(http(s))
Coordinatorprovidessignpostandservermonitoringpages.Choose
theport(usually80forhttp,443forhttps)andcongureApacheand
Polariontousethem.
RelatedPolarionproperties:
base.url=http(s)://host:port(FQDNorIPaddress)
Accessfrom
Instances
Communicationbetweeninstancesandthecoordinator
(ZooKeeper)takesplaceontheTCP/IPportspeciedbythe
com.polarion.zookeeper.portpropertyofthecoordinator.Itis2181by
default.ThisportontheCoordinatorhostmustbeaccessiblebyall
instances.
RelatedPolarionproperties:
com.polarion.zookeeper.port=port#(OntheCoordinator.)
com.polarion.zookeeper=host:port#(OntheInstances.)
4-2PolarionEnterpriseSetupPOL00518
Chapter4:Requirements
Requirements
Stand-aloneinstanceserver
RequirementDescription
CPUSeethe"ExampleHardwareCongurations"table.
RAM
Seethe"ExampleHardwareCongurations"table.
Diskspace
Seethe"ExampleHardwareCongurations"table.
FQDN
e.g.myserver1.mycompany.com
Accessfromclients
(http(s))
Choosetheport(usually80forhttpand443forhttps),thencongure
Apache,andPolariontousethem.
RelatedPolarionproperties:
base.url=http(s)://host:port(MustbeFQDNorIPaddress.)
AccesstoSubversionThesameasasimpleinstallation.Thereshouldbehttp(s)accessfrom
clients(endusers),andsvnprotocolaccessisrecommendedforfast
localaccessbysystemusers.
RelatedPolarionproperties:
repo=http(s)://host:port/repo
repoSystem=[svn/le/http(s)]://host:port
POL00518PolarionEnterpriseSetup4-3
Requirements
Chapter4:Requirements
Clusterinstanceserver
RequirementDescription
CPUSeethe"ExampleHardwareCongurations"table.
RAM
Seethe"ExampleHardwareCongurations"table.
Diskspace
Seethe"ExampleHardwareCongurations"table.
TimesynchronizationAsystemtimethatissynchronizedwithallotherclusterinstances.
AccessfromLoad
Balancer
TheLoadBalancerneedstobeabletoredirecttherequeststothe
clusterinstancesusingthehttp(s)portwherePolarionisrunning.
RelatedPolarionproperties:
base.url=http(s)://host:port(MustbeFQDNorIPaddress)
com.polarion.loadBalancer.workerUrl=http://host
Communication
betweencluster
instances
RPCcommunicationbetweenclusterinstancestakesplaceonthe
TCP/IPportspeciedbythecontrolPortpropertyoftheinstance.All
instancesoftheclustermustbeabletoaccessthecontrolportsofall
otherinstancesinthecluster.
RelatedPolarionproperties:
controlPort=port#
controlHostname=host(MustbeFQDNorIPaddress)
4-4PolarionEnterpriseSetupPOL00518
Chapter4:Requirements
Requirements
SharedServicesserver
RequirementDescription
CPU4(8forXL)
RAM
8GB(16GBforXL)
Diskspace
100GB(Butcangrowalotdependingondata.)
FQDN
Forexample:myserver2.mycompany.com
AccessfromClients
toLoadBalancer
(http(s))
TheentrypointtotheCluster.Choosethehttp(s)protocol,congure
ApacheandadjustthecongurationoftheClusterInstances.
RelatedPolarionproperties:
base.url=http(s)://host:port
(OnInstances-MustbeanFQDNorIPaddress.)
Accessfrom
CoordinatortoLoad
Balancermanager
(http(s))
TheCoordinatorcommunicateswiththeLoadBalancermanagervia
http(s).CongureLoadBalancermanagerapplicationlocationin
Apache.
RelatedPolarionproperties:
com.polarion.loadBalancer=http(s)://host/balancer-manager
(OnClusterInstances.)
com.polarion.cluster.#ClusterId#.loadBalancer.user=
(OnaCoordinator.)
com.polarion.cluster.#ClusterId#.loadBalancer.password=
(OnaCoordinator.)
SharedFolder
Linuxpathsareusedbelow.ForWindows,useanalogicalpaths.
Folder/opt/polarionofSharedServiceshastobemountedas
/opt/polarion/sharedonallclusterinstances.Thisfoldersharingshould
besetupaftertheinstallationofPolarion.
User"polarion"onallnodesmusthavereadaccessfor:
/opt/polarion/shared/**,andwriteaccessforatleastthefollowing:
/opt/polarion/shared/data/svn/*
/opt/polarion/shared/data/BIR/**
/opt/polarion/shared/data/RR/**
/opt/polarion/shared/data/workspace/**
POL00518PolarionEnterpriseSetup4-5
Requirements
Chapter4:Requirements
RequirementDescription
TheIndexislocatedonthenodesinahighavailabilitysetup
andnotinthesharedfolders.
(/*meanslesinsidethedirectory,/**meanseverythingincludingthe
subdirectoriesrecursively)
Filescreatedbytheuseronbehalfofwhichthepolarionserviceis
running(polarion)onanynodein/opt/polarion/sharedmustbe
readablebytheuseronbehalfofwhichtheApacheserverisrunningon
thesharedservices.
ThumbnailStorageforattachmentpreviewsarefoundin:
/polarion/shared/data/workspace/previews-data/thumbnails
RelatedPolarionproperties:
com.polarion.shared=/shared/directory/path(oninstances)
AccesstoSubversion
Fromclients(endusers)andeachinstanceofthecluster,theSubversion
repositorymustbeaccessible.Eitherthehttp(s)orsvnprotocolscanbe
used.(Svnisrecommendedforfastaccessbyasystemuser).
RelatedPolarionproperties:
repo=http(s)://host:port/repo(OnInstances)
repoSystem=[svn/http(s)]://host:port(OnInstances)
4-6PolarionEnterpriseSetupPOL00518
Chapter4:Requirements
Requirements
Examplehardwarecongurationsforaninstance
Environment
S
M
L
XL
Operatingsystem
64-bit64-bit64-bit64-bit
CPUcores
4
81616
OSGBRAM
(PolarionJavamemory)
16(8)32(16)64(32)128(64)
StorageforPolarion
500GB+
1TB+
(SCSiorsimilar)
1TB+
(RAID10,NAS,
SAN)
1TB+
(RAID10,NAS,
SAN)
#ofPolarionProjects
<300
<500<750<1000
#Concurrent,logged-on
users(on1instance)
<30<60<100<150
MakesurethatthereisenoughRAMavailabletotheOSforle-caching.IftheSVNishostedona
differentmachine,morememorycouldbeallocatedforthePolarionprocess.
Licenserequirements
IfyouhostPolariononyourcompany’sinfrastructure,youmustprovideallphysicalhardwareand/or
virtualmachinesneededforthesetupyouwanttoimplement,seeInstallationusecases),andobtain
alicensefortheinstancesyourun.IfyouutilizePolarion’scloud-basedhostingservices,youmust
orderavirtualserverforeachinstanceofaclusteredormultiplestand-aloneinstanceconguration.
Everynodeinaclusterorserverinamultiplestand-aloneinstancessetupcountstowardsthe
multipleinstanceslimitsetinthelicense.PleasecontactthePolarionALMteamforassistance
withanylicensingquestions.
POL00518PolarionEnterpriseSetup4-7
Requirements
Chapter5:Installationusecases
Overview
SimpleusecasesaredescribedforClusterandaMultiplestand-aloneinstancessetup.See
migrateapre-2014"multi-instance"setuponhowtomigrateanolderversionofPolariontothe
newcongurationreleasedwithversion2014.
Themulti-instancesetupwithlocalinstancesconguredwithapre-2014ofPolarionstill
workswithPolarion2014andnewerreleasewithoutanychangesintheconguration.
However,itisnolongerpossibletocreatenewlocalinstances.
Ifyouwanttocongureaclusteredinstancefromanyofyourlocalinstances,thenyouneedto
migratethewholesetuptothenewMultiplestand-aloneinstancessetup,whereinstancesalways
runonadedicatedmachine.
Commonterms
[INSTALL]-Rootdirectoryofyourcurrentinstallation.ThiswouldtypicallybeC:\Polarionon
Windowsor/opt/polariononLinux.
[APACHE]-Apachecongurationdirectory.OnLinuxitshouldbe/etc/httpd/conf.d/andon
WindowsC:\Polarion\bundled\apache\conf\extra.
POL00518PolarionEnterpriseSetup5-1
Chapter5:Installationusecases
Settingupaclusterfromnewinstallations
Optionsandprerequisites
Administratorscansetupupeitheroneofthefollowing:
Aclusterofinstallations(below)
Multiplestand-aloneinstances
TosetupasimpleClusterwithtwoNodesfromnew/cleanPolarioninstallations:
(ThesemachinesmustberunningthesameversionofPolarion.)
Prerequisites:4machines(virtualorphysical:)
1.Coordinator(http://coordinator.yourdomain.com)
2.Node1(http://node1.yourdomain.com)
3.Node2(http://node2.yourdomain.com)
4.SharedServices(http://cluster.yourdomain.com)
5-2PolarionEnterpriseSetupPOL00518
Chapter5:Installationusecases
Installationusecases
Deploymentdiagram:
StartbyinstallingthesameversionofPolariononthefollowingmachines:coordinator,Node1,
Node2andsharedservices.
Differentthird-partysoftwareisrequiredonindividualmachines:
OntheNodes:Java,ApacheHTTPServer,andPostgreSQL
Onthecoordinator:Java,andApacheHTTPServer
Onthesharedservices:ApacheHTTPServer,andSubversion
POL00518PolarionEnterpriseSetup5-3
Installationusecases
Chapter5:Installationusecases
Theeasiestwayistousethestandardinstallationproceduretoinstallalldependenciesandeventually
uninstallthesoftwarethatisnotneeded,ifyouneedtosavespaceonthestorage.Allthird-party
software,exceptJava,isbundledinWindowsdistributions.ItisalreadypresentonmostLinux
installations.RefertotheWindowsorLinuxinstallationguidesforcompleteinstallationinstructions.
InstantiationofalocalSubversionrepositorymustbedoneonlyonthesharedservicesmachine,asit
istheonlyrepositorythatwillactuallybeused.
Polarionshouldnotbestartedimmediatelyafterinstallation,asfurtherchangesin
congurationarerequiredinordertosetupthecluster.
Becausethecoordinatorservesasalicensehubforallthenodesandinstancesconnectedtoit,you
donotneedtoactivateanylicensesonthenodes.
OncePolarionissuccessfullyinstalledoneachnodeandarespecicforeachmachine,continueon
withconguringthecluster'scoordinator.
Conguringthecluster'scoordinator
1.StopPolarion.
2.Makeabackupoftheoriginalpolarion.propertiesle.
3.Replacepolarion.propertiesusingthecoordinatortemplateleprovidedin
[INSTALL]/polarion/installfolder:polarion.properties.template.coordinator.
4.Makethefollowingchangesinthetemplate-derivedpropertiesle,followingthecomments
withinthetemplate:
Specifybase.urlappropriatelyforthemachine.MustbeFQDNorIPaddress.
Setthesamevalueforajp13-portasintheoriginalpolarion.propertiesle.
SetthesamevalueforcontrolPortasintheoriginalpolarion.propertiesle.
SpecifycontrolHostnameappropriatelyforthemachine.
5.(Optional)UncommentthetwopropertiesabouttheloadbalancercredentialsiftheApacheload
balancerisprotectedusingbasicauthenticationaccordingtoStep3intheConguringthe
cluster'ssharedservicessection.(Usernameandpassword).
Thedefaultsetupusesthesamecredentialsasthesvnrepository.
6.(Optional)ChangetheZooKeeperportifthedefaultportspeciedisnotappropriateorblocked
byarewallpolicy.
7.(Optional)T odisabletheunusedSVNrepositoriesonthenodes,removethepolarionSVN.conf
lefromtheApachecongurationdirectoryandrestartApache.
TheApachecongurationdirectoryonLinuxshouldbe:/etc/httpd/conf.d/
TheApachecongurationdirectoryonWindowsshouldbe:
C:\Polarion\bundled\apache\conf\extra
5-4PolarionEnterpriseSetupPOL00518
Chapter5:Installationusecases
Installationusecases
8.(Windowsonly)MakesurethatthePolarionserviceisstartedwiththecredentialsofadomain
usercreatedforPolarion.UsethesameuserforallPolarioninstallations.
9.StartPolarion.
Belowistheconguredpolarion.propertiesleforthecoordinatorfromthestepsabove:
com.polarion.application=polarion.coordinator
base.url=http://coordinator.yourdomain.com
TomcatService.ajp13-port=8889
#Controlportandhostnameforshutdownrequests
controlPort=8887
controlHostname=coordinator.yourdomain.com
#Credentialsusedtoconnecttotheloadbalancer,ifauthenticationisenabled
#Replace#ClusterId#withtheidofthecluster.
#com.polarion.cluster.#ClusterId#.loadBalancer.user=
#com.polarion.cluster.#ClusterId#.loadBalancer.password=
#Porttoconnecttozookeeper
com.polarion.zookeeper.port=2181
Licensedeploymentoncoordinator
Polarion2015andlater:ActivatethePolarionlicenseusingthePolarionActivationwindowonthe
coordinator.Accessinghttp://coordinator.yourdomain.com/polarionorthelogonscreenofanyNode
orInstancewillredirectyouautomaticallytothePolarionActivationwindow.Formoreinformation
seeActivationHelp.
Polarion2014andearlier:Makesurethatthecorrectlicenseleisplacedinthelicensefolder
priortostartingtheserver:
OnLinux:/opt/polarion/polarion/license/
OnWindows:C:\Polarion\polarion\license\
ACluster'slicenseisactivatedinthesamewayasasingleinstance(describedinthePolarion
InstallationGuidedocumentation).TheactivationapplicationrunsontheCoordinatormachineand
instructstheuserhowtoactivateon-lineoroff-line.Usersaccessinganyentrypointandthelogin
screensofindividualnodesandinstancesareredirectedtotheactivationpageonCoordinator
untilactivationiscomplete.NodesandinstancescanstartevenifPolarionisnotactivated,but
userscannotlogin.
POL00518PolarionEnterpriseSetup5-5
Installationusecases
Chapter5:Installationusecases
Conguringthecluster'ssharedservices
1.StopPolarionserver.
2.UninstallthePolarionservice.
OnLinux,runthisscript:/opt/polarion/bin/uninstall_polarion_service.sh
OnWindows,run:C:\Polarion\polarion\service.bat-uninstall
3.ConguretheloadbalancerinApacheusingtheexampletemplateleprovidedinthe
[INSTALL]/polarion/installfolder:loadbalancer.conf.apache24.template(forApache2.4)or
loadbalancer.conf.apache22.template(forApache2.2).Copyittothe[APACHE]directory
andrenameittoloadbalancer.conf.
Basicauthenticationisconguredinthetemplateandyouneedtocheckthecorrectlocation
fortheAuthUserFile.
4.(Windowsonly)Makesurethatloadbalancer.confisincludedinhttpd.conf:
#Polarion
Includeconf/extra/loadbalancer.conf
Includeconf/extra/polarion*.conf
5.(Windowsonly)Commentoutorremovethefollowinglinesfrompolarion.conf:
ProxyPass/polarionajp://127.0.0.1:8889/polariontimeout=600
ProxyPassReverse/polarionajp://127.0.0.1:8889/polarion
6.Makechangesinthetemplatele,followingthecommentsprovided:
Changepathforpasswdappropriatelyforthismachine.
OnLinuxitwillbe/opt/polarion/data/svn/passwd.
OnWindowsitwillbeC:\Polarion\data\svn\passwd.
AdjustBalancerMemberstopointtotheaddressofeachnode.
AdjustProxyPassReversetopointtotheaddressofeachnode.
MakesurethattheProxySetdirectivecontainsthefollowingparameters:timeout=600
keepalive=on.
Iftheparametersarenotmentionedinloadbalancer.conf,appendthemtotheendofline.
(Optional)Uncommentloggingdirectivesifyouwantenableloggingfortheloadbalancer.
7.RestartApache
8.Setupthesharedfolder:
OnLinuxmachines,werecommendNFSv4protocolforsharing.
5-6PolarionEnterpriseSetupPOL00518
Chapter5:Installationusecases
Installationusecases
OnWindowsmachines,youcanuseCIFS/Sambashareforsharing.Itmustbesharedfor
thesamedomainuserthatisusedforrunningallpolarioninstallationsinthecluster.The
userneedsallpermissionsfortheshare.
DatasharingfordifferentOperatingsystemsandprotocolsiscoveredinConguringshared
data.
9.Makebackupoftheoriginalpolarion.propertiesleonthismachine.
10.Modifypolarion.properties:
Theoriginalpropertiesfromthecleaninstallationmustbepreserved.Thesepropertieswillbe
sharedbetweennodesinthecluster,soeverythingthatiscommontonodesshouldbethere.
Addthecom.polarion.zookeeper=coordinator.yourdomain.com:2181property.
Addthecom.polarion.clusterId=cluster1property.
Addthecom.polarion.clusterLabel=MainClusterproperty.
Addthecom.polarion.clusterDescription=DescriptionofMainClusterproperty.
Addthecom.polarion.loadBalancer=http://cluster.yourdomain.com/balancer-manager
property.
Modifythesvn.access.file=$[com.polarion.shared]/data/svn/accessproperty.
Modifythesvn.passwd.file=$[com.polarion.shared]/data/svn/passwdproperty.
Modifythepolarion.build.default.deploy.repository.url=
file://$[com.polarion.shared]/data/shared-maven-repoproperty
CommentouttherepoSystemproperty.
Commentoutthecom.polarion.platform.internalPGproperty.
ThisURLmustpointtotheApacheLoadBalancerManagerURL.Thedomainis
machine-specicandwillbeusedastheentrypointforthiscluster.
Thecom.polarion.platform.internalPGpropertymustbepresentinallnodesofthe
polarion.propertiesle.
Thepolarion.propertiescongurationthatfollowsisforclusterandsharedservices.Itisused
byeachnodeinthecluster.
YoushouldnotusetheleprotocolintherepoSystempropertywhileusingacluster
setupforperformancereasons.Eithercommentout,removetheline,orsetupansvn
servertousewiththisproperty.Ifyoustillwanttousetheleprotocol,youneedto
pointittothesharedrepository.
POL00518PolarionEnterpriseSetup5-7
Installationusecases
Chapter5:Installationusecases
#Newlyaddedpropertiestooriginalfile
com.polarion.zookeeper=coordinator.yourdomain.com:2181
com.polarion.clusterId=cluster1
com.polarion.clusterLabel=MainCluster
com.polarion.clusterDescription=DescriptionofMainCluster
com.polarion.loadBalancer=http://cluster.yourdomain.com/balancer-manager
#Modifiedproperties
#repoSystem=…
svn.access.file=$[com.polarion.shared]/data/svn/access
svn.passwd.file=$[com.polarion.shared]/data/svn/passwd
polarion.build.default.deploy.repository.url=file://$[com.polarion.shared]/data/shared-maven-repo
#Listofpropertiesfromoriginalfile
repo=…
etc..
Conguringthecluster'snodes
Congurationsteps
ThefollowingstepsmustbeperformedforeachNodeintheCluster.
1.StopthePolarionserver.
2.Makeabackupoftheoriginalpolarion.propertiesle.
3.Replacepolarion.propertiesusingtheexampletemplateleprovidedfornodesinthe
[INSTALL]/polarion/installfolder:polarion.properties.template.node
4.Makesurethatthesharedfolderismountedonthismachineontherecommendedpath:
SharedfolderonLinuxshouldbein/opt/polarion/shared.
SharedfolderonWindowsisaccesseddirectlyas\\<shared_services_host>\Polarion.
5.Makechangesinthetemplatelefollowingthecommentsprovided:
Setcom.polarion.sharedtopointtothemountedsharedfolder:
OnLinuxitshouldbe/opt/polarion/shared.
OnWindowsitshouldbe\\\\<shared_services_host>\\Polarion.
Setthesamevalueforajp13-portasintheoriginalpolarion.propertiesle.
SetthesamevalueforcontrolPortasintheoriginalpolarion.propertiesle.
5-8PolarionEnterpriseSetupPOL00518
Chapter5:Installationusecases
Installationusecases
SetthecontrolHostnamevaluetonode1.yourdomain.comornode2.yourdomain.com.
(Dependingonwhichnodeyouareconguring.)
Setthevalueforcom.polarion.loadBalancer.workerUrltothespecicnodeinclustersothat
theloadbalancerknowstheURLofthenode.
Setavalueinthecalc.base.urlpropertytoaspecicnodeintheCluster.Itmustpointtothe
specicnode,otherwisecalculationwillfail.ItisthesameasworkerUrl.
(Forexample,calc.base.url=http://node1.yourdomain.com)
Addthecom.polarion.platform.internalPGpropertywithavaluefromthecluster'sshared
serviceswhereitiscommentedout
6.(Optional)T odisabletheunusedSVNrepositoriesonthenodes,removethepolarionSVN.conf
lefromtheApachecongurationdirectoryandrestartApache.
TheApachecongurationdirectoryonLinuxshouldbe/etc/httpd/conf.d/.
TheApachecongurationdirectoryonWindowsshouldbe
C:\Polarion\bundled\apache\conf\extra
7.(Windowsonly)MakesurethatthePolarionserviceisstartedusingcredentialsofadomainuser
createdforPolarion.ThesameusershouldbeusedforallPolarioninstances.
8.StartPolarion.
Thefollowingistheconguredpolarion.propertiesleforNode1.(Itwillbethesameforsecondor
thirdNodes,exceptthattheURLsmustbechangedaccordingly.)
#Sharedfolderbetweenthemachinesthatmakeupthecluster
#defaultLinux:com.polarion.shared=/opt/polarion/shared
#defaultWindows:com.polarion.shared=\\\\<shared_services_host>\\Polarion
com.polarion.shared=/opt/polarion/shared
com.polarion.nodeId=node1
TomcatService.ajp13-port=8889
#Urlofnodeinloadbalancer
com.polarion.loadBalancer.workerUrl=http://node1.yourdomain.com
#Controlportandhostnameforshutdownrequests
controlPort=8887
controlHostname=node1.yourdomain.com
#Node-specificurlofthenode.
#ItisusedincalculationstoaccessPolarionviawebservices
#calc.base.url=http://example-node
calc.base.url=http://node1.yourdomain.com
POL00518PolarionEnterpriseSetup5-9
Installationusecases
Chapter5:Installationusecases
#Postgresdatabaseconnection
com.polarion.platform.internalPG=polarion:passwordForDatabase@localhost:5433
EvenifyouplanonusingtheResourceTraceabilityfeature,addthefollowingpropertyto
thesharedpolarion.propertiesle:
com.siemens.polarion.rt.startRtServer=false
Oncetheclusterissetup,butbeforesettingupaStandaloneResourceTraceabilityServer,
removethepropertyfromthepolarion.propertiesle.
YouhavenowconguredanentireclusterforacleaninstallationofPolarion.
Yourclusterisaccessibleon:http://cluster.yourdomain.com
ServerMonitoringisaccessibleon:http://coordinator.yourdomain.com/polarion/monitoring
TheApacheLoadBalancerManagerisaccessibleon:
http://cluster.yourdomain.com/balancer-manager
Synchronizingtimeonclusternodes
TimemustbesynchronizedoneachnodeintheclusterontheOSlevelbyasystem
administrator.IdeallythisshouldbeanautomatedsyncviaNTP .Ifthetimeisnot
synchronized,userswillseedifferenttimesoneachnode,scheduledjobsmayappearto
startoffscheduleandtheMonitorwillincorrectlyorderjobsbytime.
Conguringthecluster'sactivationapplication
Beginningwithversion2015,Polarionincludesanactivationapplicationthatmakesitpossible
toinstallorupdatealicense,whilethePolarionserverisrunning,withouttheneedtocopythe
licenselemanuallytothetargetmachine.AccesstothisapplicationisNOTinitiallyprotectedbya
usernameandpassword.Forproductionuse,itishighlyrecommendedtosecureaccesstothis
applicationdirectlyintheApacheconguration.Itisonlynecessarytoperformthiscongurationon
thecoordinatorserver.
Inversion2015installationsthereisatemplateApachecongurationleinthePolarioninstallation
folder:
/polarion/polarion/install/polarion.activation.conf.template
Toensurethatausernameandpasswordisrequestedwhenaccessingtheactivationapplication
(/polarion/activate/onlineand/polarion/activate/offline),copythisletotheApache
congurationfolder.
OnLinuxusually/etc/httpd/conf.d/.
OnWindows,usuallyC:\Polarion\bundled\apache\conf\extra\.
Aftercopyingthele,renameittoremovethe.templateextension.Thenopentheleinanytext
editorandmodifyitaccordingtotheinstructioncommentsprovided.
5-10PolarionEnterpriseSetupPOL00518
Chapter5:Installationusecases
Installationusecases
Thetemplatecongurationispreparedforbothuserleauthentication(likePolarionusesfor
Subversionbydefault,withuserpasswordsdatainale)andforauthenticationagainstanLDAP
server.
Multiplestand-aloneinstancessetup
Usingthecoordinatorforlicensemanagement.
Youcansetupthemultiplestand-aloneinstancescongurationusingthecoordinatorforlicense
management.
Threemachines(virtualorpsychical)arerequiredforthissetup:
1.Coordinator(http://coordinator.yourdomain.com)
2.Stand-aloneInstance1(http://instance1.yourdomain.com)
3.Stand-aloneInstance2(http://instance2.yourdomain.com)
POL00518PolarionEnterpriseSetup5-11
Installationusecases
Chapter5:Installationusecases
Deploymentdiagramformultiplestand-aloneinstances:
StartbyinstallingthesameversionofPolariononeachofthe3machines:Coordinator,Instance1,
andInstance2.Thefollowingdifferentthird-partysoftwareisrequiredontheindividualmachines.
Ontheinstances-Java,ApacheHTTPServer,Subversion,andPostgreSQL
Onthecoordinator-Java,andApacheHTTPServer
Theeasiestwayistousethestandardinstallationproceduretoinstallalldependenciesthenuninstall
thesoftwarethatisnotneededifyouneedtosavestoragespace.Allthird-partysoftware,except
Java,isbundledinPolariondistributionsforWindows.TheyarealreadypresentonmostLinux
installations.RefertoWindowsInstallationandLinuxInstallation.(ThePDFsarealsobundled
withPolariondistributions.)
ThenextsectionsassumethatPolarionissuccessfullyinstalledusingthestandardinstallationand
runningoneachmachine.
Therearespecicnextstepsthatneedtobeperformedoneachmachine.
5-12PolarionEnterpriseSetupPOL00518
Chapter5:Installationusecases
Installationusecases
Conguringthecoordinatorformultiplestand-aloneinstancessetup
CongurationofthecoordinatorisexactlysameastheclustersetupdescribedinConguringthe
cluster'scoordinator.Proceedtocongurethecoordinatorforthissetupasdescribedthere.
ThenextsectiononInstancescongurationwillrefertothiscoordinatormachine
(http://coordinator.yourdomain.com)andassumesthatthecoordinatorisconguredandrunning.
ConguringInstance1
OnthemachinehostingthePolarioninstallationforInstance1:
1.StopPolarion.
2.Makebackupoftheoriginalpolarion.propertiesle.
3.Modifypolarion.propertiesbyaddingthefollowingbutbesurethatallpropertiesintheoriginal
learepreserved:
Addthecom.polarion.zookeeper=coordinator.yourdomain.com:2181property.
Addthecom.polarion.clusterId=Cluster1property.
Addthecom.polarion.nodeId=Instance1property.
Addthecom.polarion.clusterLabel=FirstServerproperty.
Addthecom.polarion.clusterDescription=DescriptionoffirstServerproperty.
4.StartPolarion.
Belowistheconguredpolarion.propertiesleforInstance1:
#Newlyaddedpropertiestooriginalfile
com.polarion.zookeeper=coordinator.yourdomain.com:2181
#com.polarion.clusterId-isitidentificatoroncoordinator
#(instancedisplaysasindependentcluster)
com.polarion.clusterId=Cluster1
com.polarion.nodeId=Instance1
com.polarion.clusterLabel=FirstServer
com.polarion.clusterDescription=DescriptionoffirstServer
#Listofpropertiesfromoriginalfile
repo=…
repoSystem=…
etc..
POL00518PolarionEnterpriseSetup5-13
Installationusecases
Chapter5:Installationusecases
ConguringInstance2
OnthemachinehostingthePolarioninstallationforInstance2:
1.StopPolarion.
2.Makeabackupoftheoriginalpolarion.propertiesle.
3.Modifypolarion.propertiesbyaddingthefollowingbutbesurethatallpropertiesintheoriginal
learepreserved:
Addthecom.polarion.zookeeper=coordinator.yourdomain.com:2181property.
Addthecom.polarion.clusterId=Cluster2property.
Addthecom.polarion.nodeId=Instance2property.
Addthecom.polarion.clusterLabel=SecondServerproperty.
Addthecom.polarion.clusterDescription=DescriptionofsecondServerproperty.
4.StartPolarion.
Belowistheconguredpolarion.propertiesleforinstance2:
#Newlyaddedpropertiestooriginalfile
com.polarion.zookeeper=coordinator.yourdomain.com:2181
#com.polarion.clusterId-isitidentificatoroncoordinator
#(instancedisplaysasindependentcluster)com.polarion.clusterId=Cluster2
com.polarion.nodeId=Instance2com.polarion.clusterLabel=SecondServer
com.polarion.clusterDescription=DescriptionofsecondServer
#Listofpropertiesfromoriginalfile
repo=…
repoSystem=…
etc..
Thecongurationisquitesimilartotheclustersetup.Thedifferenceisthatthereisnoloadbalancer
orsharedservices.Eachinstanceisautonomous,astand-alonePolarioninstallationwithitsown
SVNrepository.IndividualinstanceshavenothingtodowithotherinstancesinaMultipleStand-alone
Instancessetup.However,userscaneasilyswitchbetweentheinstancesbyaccessingtheentrypoint
onthecoordinator.YoucanalsomonitortheavailabilityofeachInstanceusingservermonitoring.
ThePolarionuserinterface(UI)andend-userdocumentationusethetermserverwhen
referringtowhatweterminstanceforadministrators.Forexample,theUIprovidesend
usersthepossibilitytoChangeServer.Inadministrationterms,workonadifferent
Instance.
5-14PolarionEnterpriseSetupPOL00518
Chapter5:Installationusecases
Installationusecases
AccessURLsformultiplestand-aloneinstances
EntryPoint(allInstances):http://coordinator.yourdomain.com/polarion
ServerMonitoring:http://coordinator.yourdomain.com/polarion/monitoring
Instance1directaccess:http://instance1.yourdomain.com/polarion
Instance2directaccess:http://instance2.yourdomain.com/polarion
MigratingFromaPre-2014multi-instanceinstallation
Differencesbetweenthenewandoldmultiplestand-aloneinstances"setups
Severalversionspriortoversion2014supportedatopographyofmultiplePolarioninstancesthatwas
termeda"Multi-Instance"setup.Instanceclusteringwasnotsupported.Althoughexistingcustomer
installationsofthissetuphavestillbeenusablewithversions2014-2016,thesetupwasdocumented
inthisguideasdeprecatedinfavorofthemanyimprovementsdeliveredbeginningwithversion2014.
Beginningwithversion17,thepre-2014multi-instancesetupwithlocalinstancesisno
longersupported.Ifyouareusingthistypeofsetup,inordertouseversion17(and
subsequentversions),youmustmigrateyoursystemtoamultiplestand-aloneinstances
setupasdescribedhere.(ReviewMultiplestand-aloneinstancessetuptofamiliarize
yourselfwiththissetup).Customerswithacurrentsupportandmaintenancepackagemay
consulttechnicalsupportforassistancewiththismigration.
ThenewMultipleStand-aloneInstancessetupdiffersfromoldMulti-Instancesetupinthefollowing
ways:
Themasterisreplacedbythecoordinator,whichmanagesalicenseforallinstances.
LocalinstancesarenotcompatiblewiththenewMultiplestand-aloneinstancessetup.If
youhavelocalInstancesconguredandwishtoupdateto2017(orlater)multiplestand-alone
instances,theselocalinstancesmustbemovedtoseparatemachinesandthenconguredlater
aspartofamultiplestand-aloneinstancessetup.(SeeMovinglocalinstancesforthe2014
multi-Instancesetupformoreinformation.)
Eachremoteinstancewillbecomeanon-clusteredInstanceconnectedtothecoordinator.
Thecoordinatordoesnotstartuptheinstances.Theymustbestartedindividually.
Inordertodothemigration,youneedtoupdatePolarionontheoldmasterandremoteinstances
tothesameversion.Thenyouneedtomodifythecongurationlessothattheyreectthenew
congurationproperties.
Forexample,apre-2014setupwithoneMasterapplicationandtwoRemoteInstanceswillbecomea
multiplestand-aloneinstancessetupwithonecoordinatorandtwonon-clusteredinstances.Each
instancehostsastand-aloneinstallationofPolarion,completewiththird-partysoftwareanda
repository.
POL00518PolarionEnterpriseSetup5-15
Installationusecases
Chapter5:Installationusecases
Conguringthecoordinator
Toreplacethepre-2014multi-Instancesetupyouneedtocongurethecoordinator.Thecoordinator
stillrunsonthemachinewherethemasterandlocalinstancesran.
FollowthestepsdescribedinConguringthecluster'scoordinator,andalsousetheinformation
fromthe_controller.propertiesleifneeded.Forexample,controlPortandcontrolHostnamecan
betakenfromthe_controller.propertiesle.
Fromthispointon,itisassumedthatyouhavethecoordinatorcongured,runningandaccessible
throughfollowingURL:http://coordinator.yourdomain.com/polarion.
Migratingaremoteinstancetoanon-clusteredstand-aloneinstance
1.StoptheinstanceandupdateittothelatestPolarionversion(2017orlater).
2.Makeabackupoftheoriginalpolarion.propertiesle.
3.Addthefollowingpropertiestothepolarion.propertieslebutmakesureallitsoriginal
propertiesarepreserved:
Addthecom.polarion.zookeeper=coordinator.yourdomain.com:2181property.
Addthecom.polarion.clusterId=OldRemoteInstanceIdproperty.
Addthecom.polarion.nodeId=OldRemoteInstanceId-node1property.
Addthecom.polarion.clusterLabel=OldRemoteInstanceLabelproperty.
Addthecom.polarion.clusterDescription=Descriptionoftheoldremoteinstanceproperty.
4.Ifyouhaveanypropertiesconguredininstanceid.properties,theyshouldbemovedinto
polarion.properties,otherwisetheywillbeignored.
5.StartPolarion.
Belowisanexampleofapolarion.propertiesleforamigratedremoteinstance.(Theinstance
IDisinstance1.)
#Newlyaddedpropertiestooriginalfile
com.polarion.zookeeper=coordinator.yourdomain.com:2181
com.polarion.clusterId=instance1com.polarion.nodeId=node1
com.polarion.clusterLabel=Remoteinstance-Instance1
com.polarion.clusterDescription=Descriptionoftheremoteinstance
#Listofpropertiesfromoriginalfile
repo=…
repoSystem=…
etc..
5-16PolarionEnterpriseSetupPOL00518
Chapter5:Installationusecases
Installationusecases
Checkingthemigration
Tocheckthatthemigrationwassuccessful,gotohttp://coordinator.yourdomain.com/polarionand
connecttotheinstances.
EntrypointURL:http://coordinator.yourdomain.com/polarion
ServermonitoringURL:http://coordinator.yourdomain.com/polarion/monitoring
EachInstancecanbestilldirectlyaccessedthroughitsURL:Forexample,
http://instance1.yourdomain.com/polarion
Theoldcongurationlesforthepre-2014Multi-Instancesetupfrom
[polarion_installation]/conguration/multi-instance/*willbecomeobsolete.
Movinglocalinstancesforthemultiplestand-aloneinstancessetup
MovingaLocalInstancereferstomovingtheexistingrepositoryandthecongurationlestoanew
Polarioninstallation.
ThisstepisonlyrequiredifsomeoftheInstancesareconguredasCluster.IfnoClusterisneeded,
theLocalInstanceswillstillworkastheydidbeforeintheoldMulti-instancesetupwiththesame
conguration.
Linuxpaths:
Thepolarion.propertiesle:opt/polarion/etc.
Therepositoryfolder:/opt/polarion/data/svnor
/opt/polarion/data/multi-instance/instanceId/svn.
Windowspaths:
Thepolarion.propertiesle:C:\Polarion\polarion\conguration.
Therepositoryfolder:C:\Polarion\data\svnorC:\Polarion\data\multi-instance\instanceId\svn
Tomovealocalinstancetoanewmachine:
1.InstallPolariononthenewmachine.Makesureitcanbestartedcorrectly,thenstopitand
keepitstoppedforthenextsteps.
2.Inthenewinstallationlocation,makeabackupoftherepositoryfolder.Thiscopywill
subsequentlybereferredtoassvn_backup.
3.Inthenewinstallationlocation:makeabackupofthepolarion.propertiesle.Thiscopywill
subsequentlybereferredtoaspolarion.properties_backup.
4.PerformanSVNdumpontheexistingrepository.
($svnadmindump/var/svn/repos>full.dump.Seesvnbook.red-bean.comfordetails.)
5.ThenPerformanSVNadminloadonthenewrepository.
($svnadminload/var/svn/restored<repos-backup.Seesvnbook.red-bean.comfordetails.)
POL00518PolarionEnterpriseSetup5-17
Installationusecases
Chapter5:Installationusecases
6.Copytheaccessandpasswdlestothenewrepository.
7.Copythepolarion.propertieslefromtheoldinstancetothesamelocationonthenewmachine.
(Seepathreferencesabove.)
8.StartPolarion.Youshouldhaveallthedatafromtheoldinstance.
9.Afterasuccessfulstartup,youcandeletesvn_backupandpolarion.properties_backuples.
AtthispointyouhaveacleaninstallationofthelatestPolarionversionholdingthedataand
congurationoftheoldinstance.Youcancongurethisinstanceaspartofamulti-instancesetup
followingthestepsdescribedinSettingupaclusterfromnewinstallations.
Updatingamultiplestand-aloneinstanceorclustersetup
Whenupdatingeithersetup,youcanusetheupdatedistributiontoupdatethemachinesinthe
setup(seestepsbelow).Tolimitthedowntimefortheupdateofacluster,itisrecommendedthat
youstartwithupdatingofoneoftheclusterinstancesup-fronttominimizethedowntimeforthe
durationofthecoordinatorupdate.
Loggingontoaninstance,thathasadifferentversionofPolarioninstalledthanthe
coordinatorthatitisconnectedto,isnotsupported.However,itispossibletorunthe
reindexprocedureonsuchamachine.
Updatestepsforacluster:
1.StopthePolarionserviceononeoftheclusterinstances.
2.CheckthattherearenorunningPhantomJSandVariantsserverprocessesontheinstance
andifso,killthem.
3.Installtheupdateonthetargetclusterinstance.
4.Starttheclusterinstanceinreindexmodeandwaitforthereindextonish.
5.StopthePolarionserviceonallclusterinstances,includingtheonethathasalreadybeen
updated.(StopthePolarionserviceonthecoordinatoronceithasbeendoneonalltheinstances.)
6.CheckthattherearenorunningPhantomJSandVariantsserverprocessesonanyofthe
instancesandifthereare,thenkillthem.
7.InstalltheupdateonthecoordinatormachineandstartPolarioninreindexmode.
8.Starttheclusterinstancethatwasupdatedinstep3.Onceitstarts,youruserscanlogon
toyourcluster.
9.Installtheupdateandstarteachoftheremainingclusterinstancesinreindexmode.
5-18PolarionEnterpriseSetupPOL00518
Chapter5:Installationusecases
Installationusecases
EnsurethattheupdateoftheSVNrepositoryisonlydoneonce,eitherbyupdatingoneof
thenodesup-front,orbyupdatingtheClusternodesinsequence.
UpdatingthesharedservicesmachineisonlyrequiredtoupdatethebundledApache
andSubversionforWindowsenvironments.
Toupdatemultiplestand-aloneinstances,allinstancesandthecoordinatormustbeshut
downandupdatedatonce.
RunningthereindexprocedureandtheDBHistoryCreatorjobinparallelonmultiplenodes
putsasubstantialloadonthesharedservicesmachineandwillprolongthereindexand
DBHistoryCreatorrun.
POL00518PolarionEnterpriseSetup5-19
Installationusecases
Chapter6:Congureshareddata
ShareddatacongurationstepsforbothWindowsandLinux
ThefollowingdetailshowtocongureshareddataonLinuxandWindowsmachinesandthe
differencesbetweenthetwo.
Prerequisites(4machines,allonsamedomain):
1.Coordinator(coordinator.yourdomain.com)
2.Node1(node1.yourdomain.com)
3.Node2(node2.yourdomain.com)
4.SharedServices(cluster.yourdomain.com)
ThesharedfolderhassamestructureasstandardPolarioninstallationfolder,soitispossibleto
useaPolarioninstallertocreateit
1.InstallPolarion.
2.UninstallthePolarionserviceanddeletethefoldersthatarenotneeded.Onlytwofoldersinthe
Polarioninstallationareneededforshareddata:
-Linux:/opt/polarion/etcand/opt/polarion/data.
-Windows:C:/Polarion/polarion/congurationandC:/Polarion/data.
Thedeletionoftheother,unnecessary,foldersisoptional.Youcanalsoleavethe
installationfolderasitisafterinstallation.
TherootoftheSharedServicesisthepolarionfolder.
POL00518PolarionEnterpriseSetup6-1
Chapter6:Congureshareddata
Linuxconguration
SharethefoldersamongthenodesNFSv4protocol.Otherprotocols(suchasSSHFSorNFSv3)
haveknownproblems,sotheymustnotbeused.
NFSconguration
ThefollowingdescribesanexampleonhowtosetupfoldersharingusingtheNFSprotocol.
1.ConnecttotheSharedServicesmachine(http://cluster.yourdomain.com).
2.Editthe/etc/exportsleandaddthefollowinglines:
/opt/polarionnode1(rw,sync,no_root_squash,no_subtree_check)
/opt/polarionnode2(rw,sync,no_root_squash,no_subtree_check)
3.OntheNodemachinescreatea/opt/polarion/sharedfolder.
4.OntheNodemachinesaddfollowinglinetothe/etc/fstable.
cluster.yourdomain.com:/opt/polarion/opt/polarion/sharednfsdefaults00
5.Onallmachinesrunthefollowingcommands:
ForCentos6.xDistributions:
#/etc/init.d/portmapperstart
#/etc/init.d/rpcbindstart
#/etc/init.d/nfsstart
ForCentos7.xDistributions:
#systemctlstartnfs-config.service
#systemctlstartnfs-server.service
6.Onthesharedservicesmachinerunthefollowingcommand:
#exportfs-a
7.Andonthenodemachinesmounttheshareddirectorywiththecommand:
#mount-vcluster.yourdomain.com:/opt/polarion/opt/polarion/shared/
8.Checkthatthesharedfolderappearsoneachnodeinthe/opt/polarionfolder,andmakesure
thatthepolarion.propertiesleoneachnodepointstothislocation:/opt/polarion/shared.
9.Makesurethateachnodehasrwpermissionsforthe/opt/polarion/sharedfolder,andallnodes
createfoldersandleswiththesamepermissions.
6-2PolarionEnterpriseSetupPOL00518
Chapter6:Congureshareddata
Congureshareddata
Windowsconguration
WerecommendusingstandardWindowssharingonthisplatform.
CIFS/Sambashareconguration
Youneedtoconguresharingonthesharedservicesmachine,andallNodemachines,startingwith
thesharedservicesmachine.
Sharedservicesmachine
AsimpleexampleonhowtocreatethesharedfolderusingCIFS/Samba.
1.Connecttothesharedservicesmachine(http://cluster.yourdomain.com).
2.OpenFileExplorer.
3.Right-clickontheC:/Polarionfolder.
4.SelectProperties.
5.SelecttheSharingtab.
6.ClickShare....
7.Setshareduserasthesamedomainuserforallpolarioninstallationsinthecluster.Theuser
needsfullpermissionsforthefolder.
8.Afteryouhaveconguredthesharingoptions,clickonShare,andthenDone.
Nodemachines
1.ConnecttoeachNode(http://node1.yourdomain.comandhttp://node2.yourdomain.com)
2.OpenFileExplorer.
3.Intheleftpanel,right-clickonComputer.
4.Mapanetworkdrive.Usingthecredentialsofthepolariondomainuser.
Thefoldershouldbe:\\cluster.yourdomain.com\polarion
5.Editthepolarion.propertiesleaccordinglyandspecifythepathtothesharedfolder.
Thecom.polarion.sharedpropertymustpointtothismappeddrive.
POL00518PolarionEnterpriseSetup6-3
Congureshareddata
Chapter7:Securityoptions
Recommendedsetup
Therecommendedsetupistouseencryptedcommunicationbetweentheoutsideworldandthe
internalnetworkwithserversoftheMultiplestand-aloneinstancessetup(asshowninthegure
below).Thisisalsooptimalfromaperformancepointofview.Communicationinsidethelocal
networkcanoptionallybeencryptedaswell(exceptforthefolderssharedusingNFS).SeeAdvanced
securityoptionsformoredetails.
POL00518PolarionEnterpriseSetup7-1
Chapter7:Securityoptions
HTTPSaccessshouldbesetupinanApacheserver.Seesomehintsandreferences
onhowtodothisintheAdministrator'sGuideConguringSSLSupportsection
inPolarion'sHelp.
Recommendedsecurityoptions
ServiceSecuritySettings
Entrypoint
(Coordinator)
Theentrypoint,whereuserscanselectthePolarionserver,should
beconguredforHTTPSaccessinApachesothatenduserswill
access,forexample,https://coordinator.mycompany.com/polarion.
Additionalsteps:
Remembertoupdatethebase.urlinthepolarion.propertiesle.
Servermonitoring
(Coordinator)
Thesameasabovefortheservermonitoringpage,forexample,
https://coordinator.mycompany.com/polarion/monitoring.
Thiswillbeusuallydonebythesamecongurationastheentry
point.
Stand-aloneinstance
Polarion
StandardHTTPSsetuplikeisdoneforasimplestand-alone
installation,sothattheinstancecanbeaccessedas,forexample,
https://instance1.mycompany.com/polarion.IftheSubversion
repositoryisaccessedbyendusers,itshouldbeconguredfor
HTTPSaccessaswell.
Additionalsteps:
Remembertoupdatethebase.urlinthepolarion.propertiesle.
Clusteredinstance
Polarion
StandardHTTPSsetupinApachefortheloadbalancerso
thattheclusteredinstancecanbeaccessedas,forexample,
https://instance2.mycompany.com/polarion.Ifthesubversion
repositoryisaccessedbyendusers,itshouldbeconguredfor
HTTPSaccessaswell.
1.SetthewikiProtocolSchema=httpsPolarion
propertyinthesharedclusterpropertiesle
(/opt/polarion/etc/polarion.properties)ontheshared
servicesmachine.)
2.Remembertoupdatethebase.urlinthesharedcluster
properties.
7-2PolarionEnterpriseSetupPOL00518
Chapter7:Securityoptions
Securityoptions
Advancedsecurityoptions
Ifdesired,theinternalnetworkcommunicationamongtheserverscomprisingthemultiplestand-alone
instancessetupcanbeencryptedaswell.
ServiceSecuritySettings
LoadbalancingLoadbalancingcommunicationbetweentheloadbalancerandthe
workers(clusteredinstances)canbedoneviaHTTPS.HTTPS
accessmustbesetuponthecoordinatorandallclusterunstances,
asitisforsimpleainstallation,andthenconguretheloadbalancer
tousetheHTTPSworkerURLs.Youcanusethesamewildcard
certicateonallservers.
Additionalsteps:
1.ItisnecessarytoswitchontheSSLproxyengineusing
SSLProxyEngineonintheApacheconguration.
2.ThewikiProtocolSchema=httpspropertymust
besetinthesharedclusterpropertiesle
(/opt/polarion/etc/polarion.properties),ontheshared
servicesmachine.
3.Remembertoupdatethebase.urlinsharedclusterproperties.
Bydefault,Apachedoesnotverifythecerticateofthe
workers.Toswitchiton,setSSLProxyVerify=require
propertyandyoumightalsoneedtosetthe
SSLProxyCACertificatePathpropertyorotherdirectives.
SeeApache'smodssldocumentationdocumentationfor
moredetails.
Loadbalancer
management
Bydefault,thecoordinatormanagestheloadbalancer.For
example,itswitchesofftheworkerifaPolarionclusternode
disconnectsfromthecluster.Thismanagementisdoneusingthe
HTTP/HTTPSURLprovidedbythecom.polarion.loadBalancer
sharedclusterproperty.Theloadbalancermanagerisaweb
applicationprovidedbyApache,anditcanbeconguredforHTTPS
accessonsharedservices.
Additionalsteps:
1.Remembertoupdatethecom.polarion.loadBalancerPolarion
propertytheinsharedclusterproperties.
2.Itmightbenecessarytoinstallatrustedcerticateauthorityto
theJavatruststore,especiallyifaself-signedcerticateisused.
POL00518PolarionEnterpriseSetup7-3
Securityoptions
Chapter7:Securityoptions
ServiceSecuritySettings
SubversionrepositoryForthebestperformance,clusternodesshouldaccessthe
sharedrepositorybythesystemuserusingtheSVNprotocol
(repoSystem=svn://...).Todoso,svnserverunningonthe
sharedservicesmachine,mustbeopentoremoteaccess.This
communicationisnotencrypted.
Toenhancesecurityyoumaywanttoconsiderestablishingasecure
channelusing,forexample,Stunnel.
Theideaisthatinsteadof...
repoSystem=svn://SHARED_SERVICES_HOST/
opt/polarion/data/svn/repo
Use...
repoSystem=svn://localhost/opt/polarion/data/svn/repo
Ontheclusternodeandconnect
localhost:3690toSHARED_SERVICES_HOST :3690byasecured
channel.
Clustercoordination
Instancesandnodesinthemultiplestand-aloneinstancessetup
communicatewiththecoordinatormachine.Thiscommunication
isnotencrypted.Itcanbesecuredusing,forexample,Stunnel
inaverysimilarwaytothatdescribedabove.Clusterinstances
alsocommunicatedirectlywithotherclusterinstancesusinga
TCPsocketonthecontroPort.Thiscommunicationisencrypted
internally.
7-4PolarionEnterpriseSetupPOL00518
Chapter7:Securityoptions
Securityoptions
Authenticationforservermonitoring
Aftertheinitialinstallationofacluster,theServerMonitoringpageisavailableonthe
coordinator.Onthispage,administratorscanviewandaccessallthecongurednodes
(servers),andmanagetheloadbalancer.TheaccessURLforthispageisasfollows:
http://coordinator.yourdomain.com/polarion/monitoring.
Thepagedoesnotrequireanyauthentication.However,authenticationisrecommendedandyoucan
congurebasicauthenticationviathestandardwayinApache,usingoneofthefollowingdirectives:
(Assumingthatthepasswordleiseither/opt/polarion/etc/passwdforLinuxor
C:/Polarion/data/svn/passwdforWindows.)
Apache2.4andnewer:
<Location/polarion/monitoring>
Requirealldenied
AuthTypeBasic
AuthName"Monitoring"
AuthUserFile"C:/Polarion/data/svn/passwd"
Requirevalid-user
</Location>
Apache2.2andolder:
<Location/polarion/monitoring>
OrderDeny,Allow
Denyfromall
AuthTypeBasic
AuthName"Monitoring"
AuthUserFile"/opt/polarion/etc/passwd"
SatisfyAny
requirevalid-user
</Location>
POL00518PolarionEnterpriseSetup7-5
Securityoptions
Chapter8:UsingResourceTraceabilityinacluster
BeforesettingupResourceTraceability
Toensurethataclustersetupinstallscorrectly,the
com.siemens.polarion.rt.startRtServer=falsepropertywasaddedtotheshared
polarion.propertyle.
ThispropertyshouldberemovedbeforesettingupaResourceTraceabilityserver.
StandaloneResourceTraceabilityserver
TocongureaclusterorstandaloneResourceTraceabilityinstallationconnectedtoaPolarioncluster:
Thiscongurationisrecommendedtoensurethehigh-availabilityoftheResource
Traceabilityserver.
IftheResourceTraceabilitynodegoesdown,itcanbequicklyrestartedwithouthavingto
restartthePolarionapplicationitself.
Adjustdatabase
1.ShutdownPolarionandPostgreSQL.
2.Gotothe[POLARION_DATA]/postgres-datafolder.
3.ForWindowsorLinuxinstallations,openthepostgreql.confleandcommentoutthefollowing
propertiesanduncommenttheentryforthesamepropertyexactlybelowthem:
max_connections
shared_buffers
work_mem
maintenance_work_mem
fsync
synchronous_commit
full_page_writes
wal_buffers
POL00518PolarionEnterpriseSetup8-1
Chapter8:UsingResourceTraceabilityinacluster
checkpoint_segments
effective_cache_size
max_locks_per_transaction
4.RestartPostgreSQL.
Tocreateadatabaseonanewlocation-tohaveitonsharedstorage-pleasecontactPolarion
support.
ToconnectaResourceTraceabilityServertoanexternaldatabase,thefollowingshould
beused:
com.siemens.polarion.rt.db.jdbcUrl=jdbc:postgresql://<databaseLocation>:5433/polarion
com.siemens.polarion.rt.db.username=<username>(e.gpolarion)
com.siemens.polarion.rt.db.password=<password>
Adjusttheresourcetraceabilityserver'spolarion.propertiesle
WhenconnectingtheResourceTraceabilityservertoaPolarionCluster.
1.MountthesharedstoragetotheResourceTraceabilitynode.(Requiredtosharethe
polarion.propertiesle.)
2.Makeacopyofyourpolarion.propertiesleforResourceTraceability.
3.Aftermakingthecopy,replaceitscontentwiththecontentbelowandadjusttheproperties
ifneeded:
com.siemens.polarion.rt.polarionUrl=http://polarion-cluster
com.polarion.application=polarion.rt
#Sharedfolderbetweenthemachinesthatmakeupthecluster
#defaultLinux:com.polarion.shared=/opt/polarion/shared
#defaultWindows:com.polarion.shared=\<shared_services_host>\\Polarion
com.polarion.shared=/opt/polarion/shared
TomcatService.ajp13-port=8889
base.url=http://rt-hostname
#Controlportandhostnameforshutdownrequests
controlPort=8887
controlHostname=rt-hostname
com.polarion.platform.internalPG=polarion:polarion@localhost:5433
8-2PolarionEnterpriseSetupPOL00518
Chapter8:UsingResourceTraceabilityinacluster
UsingResourceTraceabilityinacluster
Thecom.siemens.polarion.rt.polarionURLshouldpointtotheclusteraddressthatgoes
throughtheloadbalancer.
HTTPSsetupisdonelikeanyotherPolarioninstance.Certicatesmustalsobeimportedintothe
truststoresofboththePolarionandResourceTraceabilityservers.
Adjustthevirtualmemorysettings
1.AdjusttheVirtualMemorypropertiessothattheyfallintothe-Xms500m-Xmx2grange.
Thesevalueswillvarydependingonthenumberofexternalrepositories,theirsizeand
scheduling.
ForWindows:Inthe[POLARION_HOME]/polarion.inile.
ForLinux:Inthe[POLARION_HOME]/etc/cong.shle.
2.RestartPolarion.
AdjustthePolarionserver
AdjustthePolarionservertoworkwiththeStandaloneResourceTraceabilityserver.
WhenconnectingaPolarionclustertoaStandaloneResourceTraceabilityServer,addthefollowing
propertiestoeachnode:
com.siemens.polarion.rt.startRtServer=false
com.siemens.polarion.rt.url=http://rt-hostname
com.siemens.polarion.rt.urlshouldpointtothebase.urlofthestandaloneResource
Traceabilityserver.(Forbothclusterandsingleinstallations.)
HTTPSsetupisdonelikeforanyotherpolarioninstance.Additionally,importthecerticatesinto
thetruststoresofbothPolarionandResourceTraceabilityserver.
POL00518PolarionEnterpriseSetup8-3
UsingResourceTraceabilityinacluster
Chapter8:UsingResourceTraceabilityinacluster
EmbeddedResourceTraceabilityserverinclusternodes
Toensureahigh-availabilitysetup,usetheStandaloneresourcetraceabilitysetup.
Toensurethataclustersetupinstallscorrectly,the
com.siemens.polarion.rt.startRtServer=falsepropertywasaddedtotheshared
polarion.propertyle.ItshouldberemovedbeforesettingupaResourceTraceability
server.
TocorrectlycongureaResourceTraceabilitycluster,setupReaderandWriternodes.
ReaderNode:CanonlyreturnlinksthatarestoredintheResourceTraceabilitydatabasefora
speciedWorkItem.ThereisnolimittothenumberofReadernodeslocatedinthecluster.
WriterNode:Enablescongurationupdates,collectsinformationfromtherepositoriesand
storesdata,les,congurationsandlinksinthedatabase.OnlyasingleWriternodeisallowedin
thecluster.
WriternodesettingscanbeleftasisbecauseaPolarioninstancestartstheResource
TraceabilityseverbydefaultasaWriterinstance.
Congurereadernodes
CustomizethefollowingPropertiestouseadifferentPostgreSQLinstanceforstoringlinks:
AdatabaseonadifferentnodeactslikeaseparatePostgreSQLinstanceandthepropertiesbelow
shouldalsobeprovidedonthenodeorinstancepointingtothedatabase.
com.siemens.polarion.rt.db.jdbcUrl=jdbc:postgresql://someurl
(e.g.node2):5433/polarionwheretheURLpointstoadifferentserver.
Bydefaultcom.polarion.platform.internalPGisusedtofetchdatabaseproperties.
com.siemens.polarion.rt.db.jdbcUrl
com.siemens.polarion.rt.db.username
com.siemens.polarion.rt.db.password
AllReadernodesshouldbeconguredtosenddifferentwriterequeststotheWriternode.
TheyshouldalsoallbemarkedasReadernodesbysettingthe
com.siemens.polarion.rt.dataCollectingEnabled=falsepropertytofalse.
com.siemens.polarion.rt.writerNodeUrl=shouldbelinkedtotheWriternode'sbaseURL.
DenethesamedatabasepropertiesinthefollowingpropertiesforeveryReadernode.Theyshould
belinkedtotheDatabasethatisusedbytheWriternode.ThisenablesthePolarionlocatedona
ReadernodetosendarequesttofetchWorkItemlinksforitslocalRTServerinstancealongwillall
otherrequests,forexample,congurationchangestotheWriternode.
com.siemens.polarion.rt.db.jdbcUrl
com.siemens.polarion.rt.db.username
com.siemens.polarion.rt.db.password
8-4PolarionEnterpriseSetupPOL00518
Chapter8:UsingResourceTraceabilityinacluster
Chapter9:Notes
WebServices:Withthe17.1release,Polarion’swebserviceclientsupportsloadbalancingin
acluster.(ExternalapplicationsthatconnecttoPolarionviawebservicesshouldusetheload
balancer’sURLastheentrypointtoPolarion.)
Extensionsarenotsharedamongthenodesinacluster.Eachnodehasitsownindependent
extensionsfolder(e.g./opt/polarion/polarion/extensions).Therefore,anextensioncanbe
installedonsomespecicnode(s)inacluster.However,inmostcasesyouwillwanttoinstall
extensionsonallNodes.Onlyinthecaseofsomespecialkindofextensionwouldyounot
installitonallnodes.
Scheduledjobsshouldbereviewedforacluster,andconvenientnodeselectors(i.e.the
nodeattributeof<job>elements)shouldbespecieddependingonthenatureofthejob.The
followingdefaultjobsshouldhavenode="*"specied:IndexChecker,SuspendDBHistory
Creator,ResumeDBHistoryCreator.
Diagnostics:Polarioncomeswithaself-diagnosticutilityPolarionDiagnosticTool(PDT),
whichcanruncomprehensivediagnostictestsandcommunicatetheresultstoPolarion's
technicalsupportteam.PDTchecksifPolarionisrunninginaclusterandgatherscongurations
fromsharedfolders.Theutilityislocatedinthediagtoolfolderundertherootofanyinstalled
Polarioninstance,thatalsocontainsdocumentationforitsuse.
POL00518PolarionEnterpriseSetup9-1
Chapter10:Troubleshooting
Linux:ItisrecommendedtodisableSELinux,ifitisused.
Windows:DisablingtherewallonenterpriseeditionsofWindowsalsodisablescrucialnetwork
services.
Afterencounteringproblemswithactivities,forexample,
org.apache.lucene.index.IndexNotFoundException:nosegments*lefoundin
MMapDirectory@/opt/polarion/shared/data/workspace/polarion-data/index/Activities,
theindexofactivitiesmustbemanuallydeletedfromthesharedfolderanda
noderestartedsothatanemptyindexiscreated.Bydefault:itisfoundinthe
/opt/polarion/shared/data/workspace/polarion-data/index/Activitiesdirectory.
POL00518PolarionEnterpriseSetup10-1
Chapter11:Appendix:Polarioninstancearchitecture
POL00518PolarionEnterpriseSetup11-1
© 2018 Polarion AG
This software and related documentation are proprietary to Siemens Product Lifecycle Management
Software Inc.
© 2018 Polarion AG.
Polarion is a registered trademark of Polarion AG. Polarion ALM, Polarion REQUIREMENTS, Polarion QA
and Polarion VARIANTS are trademarks or registered trademarks of Polarion AG.
Siemens and the Siemens logo are registered trademarks of Siemens AG. NX, Solid Edge, and
Teamcenter are trademarks or registered trademarks of Siemens Product Lifecycle Management
Software Inc. or their subsidiaries in the United States and in other countries. All other trademarks,
registered trademarks, or service marks belong to their respective holders.