Question

Linux client - automatic silent install with a custom default.xml file

  • 19 October 2023
  • 2 replies
  • 562 views

Badge

We want to install the commvault client automatically on a new linux server.

We are using the linux_commvault.tar, extracting it to a temporary folder
and copying our custom default.xml to that folder.

The installation of the subclient is working as expected.

What we are missing - how to define the StoragePolicy in this config ?
We just defined the 'storagePolicyName' but it did not work.
What is missing? 

The default.xml file (with jinja2 variables as a placeholder):

<?xml version="1.0" ?>
<CVInstallManager_ClientSetup Focus="Instance001" JobID="0" OEMID="1" Operationtype="0">
<ClientAuthentication>
<userAccountToLogin domainName="" password="" userName=""/>
</ClientAuthentication>
<CommServeInfo networkGateway="{{ commvault_hostname }}">
<CommserveHostInfo clientName="" hostName=""/>
</CommServeInfo>
<clientComposition overWriteClientHostName="1">
<clientInfo>
<client clientCertificate="" cvdPort="" installDirectory="">
<clientEntity clientName="" hostName=""/>
<jobResulsDir path=""/>
</client>
<clientProps logFilesLocation=""/>
</clientInfo>
<components>
<fileSystem>
<selectedSubclientPolicy subclientPolicyId="" subclientPolicyName=""/>
</fileSystem>
<commonInfo globalFilters="" useExistingStoragePolicy="">
<subclientPlanToUse planName=""/>
<storagePolicyToUse storagePolicyId="" storagePolicyName="{{ commvault_storage_policy | default('') }}"/>
</commonInfo>
<mediaAgent>
<indexCacheDirectory/>
</mediaAgent>
<componentInfo ComponentName="File System Core" consumeLicense="1" ComponentId="1002"/>
</components>
<mediaAgent>
<indexCacheDirectory/>
</mediaAgent>
<clientRoles bLaptopBackup="0"/>
</clientComposition>
<organizationProperties authCode=""/>
<installFlags allowNewerCommserve="0" autoRegister="0" decoupledInstall="0" forceIPV4="1" hideApps="0" cleanupExistingInstance="0" ignoreJobsRunning="0" install32Base="0" install64Base="0" launchProcessManager="0" numberOfStreams="10" restoreOnlyAgents="0" singleInterfaceBinding="0" unixGroup="" unixGroupAccess="5" unixOtherAccess="5" unixTempDirectory="" registrationAuthType="0" selectedRoles="1002,1101" launchRolesManager="1" selectedRolesGroups="36">
<firewallInstall certificatePath="" enableFirewallConfig="1" firewallConfigFile="" firewallConnectionType="2" httpProxyConfigurationType="2" httpProxyHostName="" httpProxyPortNumber="">
<proxyInfo hostName="{{ commvault_hostname }}" portNumber="8403"/>
</firewallInstall>
</installFlags>
<Dialogs name="unixGroupSelection" show="False"/>
<Dialogs name="configLaptop" show="False"/>
<Dialogs name="unixGroup" show="False"/>
<Dialogs name="decoupledInstall" show="False"/>
<Dialogs name="ConfigureClientGroup" show="False"/>
<Dialogs name="RolesGroupsSelection" show="False"/>
<Dialogs name="CommcellAuthInput" show="True"/>
<Dialogs name="EndPointCommcellAuthInput" show="False"/>
<Dialogs name="addUserToGroup" show="False"/>
<Dialogs name="instance" show="False"/>
<Dialogs name="decideNewGroup" show="False"/>
<Dialogs name="fwHttpProxy" show="False"/>
<Dialogs name="createCustom" show="False"/>
<Dialogs name="cvdbRecommend" show="False"/>
<Dialogs name="welcome" show="True"/>
<Dialogs name="configure" show="False"/>
<Dialogs name="logDirectory" show="False"/>
<Dialogs name="fwHttpProxyConfig" show="False"/>
<Dialogs name="ServerSelection" show="False"/>
<Dialogs name="cvdPort" show="False"/>
<Dialogs name="ConfigurePlan" show="False"/>
<Dialogs name="perClientCertLoc" show="False"/>
<Dialogs name="oem" show="False"/>
<Dialogs name="ConfigureStoragePolicy" show="False"/>
<Dialogs name="pkgSelection" show="False"/>
<Dialogs name="commserverPreClientCertificate" show="False"/>
<Dialogs name="unixPermissions" show="False"/>
<Dialogs name="overrideClientInfo" show="False"/>
<Dialogs name="ConfigureSubClientPolicy" show="False"/>
<Dialogs name="summary" show="False"/>
<Dialogs name="installDirectory" show="False"/>
<Dialogs name="restoreOnlyAgents" show="False"/>
</CVInstallManager_ClientSetup>

 


2 replies

Badge +1

Hello Tommes,

 

It seems that “storagePolicyName” procedure may not work.

I would request to please use the procedure as per the documentation for Linux Custom package answer file creation - https://documentation.commvault.com/2023e/expert/57498_customizing_answer_file_of_unix_linux_and_macintosh_custom_package.html

 

 

Please try declaring the storage policy details in the subclient policy section and let us know if that works.

 

======

subclientPolicyName=""/>
            </fileSystem>
            <commonInfo globalFilters="" useExistingStoragePolicy="">
                <subclientPlanToUse planName=""/>
                <storagePolicyToUse storagePolicyId="" 

======

Badge

It likely requires inputting both the storage policy ID and the Storage Policy name in the storagePolicyToUse parameter values for this to work.  This ensures an accurate storage policy is used for the install. 
Example
<commonInfo globalFilters="" useExistingStoragePolicy="">
                <subclientPlanToUse planName=""/>
                <storagePolicyToUse storagePolicyId="3" storagePolicyName="CSSP"/>
            </commonInfo>
 


You can use the Developer Tools API explorer Sandbox from your local Command Center to easily pull the associated storage policy name & ID from output of the API explorer.  Below the Get /StoragePolicy API is utilized to pull a list of all storage policies and their associated ID’s.  You have to click the try it out button > then Click execute for the API query to run and display results in the responses section.
 
https://[commserve_hostname]/webconsole/sandbox/apiexplorer/#/
Note:  You must have admin privileges in command center for the api explorer tool to be available when you login.

 

 

Reply