Unsupported content This version of the documentation is no longer supported. However, the documentation is available for your convenience. You will not be able to leave comments.

Prerequisites for upgrade


This topic describes the prerequisites that you must perform before you upgrade your BMC Cloud Lifecycle Management solution to version 3.0 in high availability (HA) and non-HA environments. In this topic, the following sections are provided: 

 

To create backups and snapshots

  1. Take a snapshot of the physical computer or virtual machine (VM) and back up the database for the enterprise BMC Remedy AR System server and the Cloud database at the same time.
  2. Ensure that you restore the database and host computers for enterprise AR System server and Cloud database together. Otherwise, you might encounter possible data corruption issues.

    Note

    After you back up the Cloud Platform Manager host computer, ensure that you back up the hosts and databases for enterprise AR System server and Cloud database. You must perform this step to save the data that the Cloud Platform Manager created on the Cloud database.

    From the host on which you installed Cloud Platform Manager, back up the Platform_Manager folder.

  3. From the host on which you installed the preboot executable environment (PXE) server, back up the TFTP folder.
     This folder is deleted on the target computer during the upgrade process.
  4. Before you upgrade the PXE server, back up your data store.

    Note

    Ensure that you specify the correct data store location.

  5. For all products that you want to upgrade in the solution:
    1. Take a snapshot of the host on which you installed the product.
    2. Back up the product database, if one exists.
       For example, for BMC Atrium Core - Web Registry components, take a snapshot of the host on which you installed the web registry. For the enterprise AR System server, backup the the host on which you installed the product and the database.

To remove Enterprise AR System server and Cloud database from the server group

Before you install the AR Extension, you must remove the AR System Servers from the server group. You must perform this step to remove any load balancer settings that you might have configured in your environment.

  1. Go to ARSystemserverInstallationdirectory\Conf.
  2. Open the ar.conf (on Linux) or ar.cfg (on Microsoft Windows) file and remove the following entries:

    Map-IP-Address: 10.128.253.183 10.128.105.209
    Map-IP-Address: 10.128.106.166 10.128.105.209
  3. Update the Server-Name and Server-Connect-Name properties with the host name on which you installed the enterprise AR System server.

To update the DSO information

If you have installed a server group environment for the following products, ensure that you update the Distributed Server Option (DSO) for them to point to the Primary servers:

  • BMC Remedy AR System and BMC Remedy IT Service Management (ITSM) Suite servers (all nodes in server group)--Update the DSO target with the BMC Remedy AR System Cloud Database – Primary host information
  • BMC Remedy AR System Cloud Database servers (all nodes in server group)-- Update the DSO target with the BMC Remedy AR System and BMC Remedy IT Service Management (ITSM) Suite – Primary host information
  1. Using the mid tier, log on to any of the AR System server in the server group.
  2. Search for the Distributed Logical Mapping form and change the Name attribute value to the host name on which you installed the enterprise AR System server – Primary or Cloud Database – Primary depending on the following points:
    • For the enterprise AR System server, specify the Cloud Database – Primary host name.
    • For the Cloud database, specify the enterprise AR System server – Primary host name.
  3. Using the mid tier, log on to the Primary and Secondary servers of the enterprise AR System server and the Cloud database products.
  4. Go to AR System Administration Console > System > General > Server Information > Connection Settings > DSO Server tab.
  5. Change the Server Nameto the local host name on which you installed the enterprise AR System server – Primary depending on the following points:
    • For the enterprise AR System server, specify the Cloud Database – Primary host name.
    • For the Cloud database, specify the enterprise AR System server – Primary host name.
  6. Click the Configuration tab.
  7. Clear the Server Group Member box.
  8. Restart the AR System server service on the enterprise AR System server and Cloud database hosts.

Prerequisites for the enterprise AR System server

Before you upgrade the enterprise AR System server host, you must complete the following prerequisites:

  1. Ensure that the enterprise AR System Server host has a minimum of 16 GB RAM and 4 CPUs available.

    Note

    Ensure that you have the same amount of RAM and same number of CPUs on the Cloud Database host also.

  2. Verify that the following queue parameters are listed in the ar configuration file (ar.cfg on Windows and ar.conf on Linux):

    Private-RPC-Socket:  390601   1   1
    Private-RPC-Socket:  390603   5  10
    Private-RPC-Socket:  390620  12  12
    Private-RPC-Socket:  390621  12  16
    Private-RPC-Socket:  390622   4   6
    Private-RPC-Socket:  390626  12  12
    Private-RPC-Socket:  390635  20  20
    Private-RPC-Socket:  390680   2  25
    Private-RPC-Socket:  390681   4   4
    Allow-Unqual-Queries: T
  3. If the queue parameters are not present on the enterprise AR System Primary and Secondary servers, add these parameters in ar configuration file and restart the AR System server services.
  4. For MS SQL Server database, update the following database tuning settings:

    Alter database ARSystem set recovery simple;
    Alter database ARSystem set ALLOW_SNAPSHOT_ISOLATION ON;
    Alter database ARSystem set single_user with Rollback immediate;
    Alter database ARSystem set READ_COMMITTED_SNAPSHOT ON;
    Alter database ARSystem set multi_user;
    Alter database ARSystem set PARAMETERIZATION FORCED;
  5. Open the CMF:PluginConfiguration form for the enterprise AR System server and change the following attributes:

     Example: Callback URL: {nolink}http://CLM-MT:8080/arsys/plugins/CloudCallBackPlugin/params?server=<EnterprisePrimaryHostname>&username=csmcallback&pwd=csmcallback{nolink} 
    • Callback URL: set to the host name on which you installed the enterprise AR System Server – Primary
    • FIELD_AO_HOST: set to host name on which you installed BMC Atrium Orchestrator – Primary
  6. Update the BMC BMC.CLOUD.BMc_Callout join form on the Cloud Database host:

     Example:{nolink}[http://clm-mt:8080/arsys/plugins/CloudCallBackPlugin/params?server=]<ITSMPrimartHost>&username=csmcallback&pwd=csmcallback&operation=CHECK_CHANGE_REQUIRED{nolink}
    1. Search for the CSM Change integration HTTP Callout entry.
    2. Click on View relationship and open the URL entry.
    3. From the Custom tab, update the Attribute Value with the host name on which you installed the enterprise AR System Server – Primary.

Prerequisites for Cloud Platform Manager

Before you upgrade the Cloud Platform Manager host, you must complete the following prerequisites:

  1. Open the Cloudservice.JSON file and set the attributevalue parameter of the enterprise AR System server load balancer setting name to the host name on which you installed the Cloud Database – Primary.
  2. Open the BMC Remedy Configuration Tool using the following URL: http://:<hostname>:<port>/arsys/shared/config/config.jsp.
  3. On the AR Server Settings panel, click Add Server and specify the enterprise AR System Server – Primary host name.
  4. On the General Settings panel, set the following fields to he enterprise AR System Server – Primary host name:
    • Preference Server(s)
    • Data Visualization Module Server(s)
    • Homepage Server
    • Authentication Server

Prerequisites for BMC Network Automation

This section lists the prerequisites for BMC Network Automation.

Upgrading pod and container blueprints

The XML schema for pod and container blueprints in BMC Cloud Lifecycle Managment version 3.0 contains significant differences from the previous version. Any blueprints that are in the BMC Network Automation database during the upgrade are automatically updated with the latest XML schema. Any pod and container blueprint files outside of the BMC Network Automation database will not be updated, and you will no longer be able to import those blueprint files.

If you are upgrading from BMC CLoud Lifecycle Management version 2.1 to version 3.0, BMC recommends that you perform the following procedure to upgrade your pod and container blueprints.

To upgrade pod and container blueprints:

  1. Locate all pod and container blueprints that you want to be able to use in your upgraded environment.
  2. Import all of those pod and container blueprints into BMC Cloud Lifecycle Management version 2.1.
  3. Upgrade BMC Cloud Lifecycle Management to version 3.0. The XML schema for all blueprint files are updated.
  4. Export the pod and container blueprints, if desired.

Upgrading network containers (remove multiple merge actions in a node)

Since multiple merge actions executed on the same container node to configure or unconfigure it now involve concatenation of the underlying templates involved, you should make sure that their templates do not contain unnecessary exit statements at the bottom which could interfere with this logic.

Upgrading rogue switches

The API methods in BMC Cloud Lifecycle Management version 3.0 for provisioning to a physical switch or rogue hypervisor switch are not usable for containers created in BMC Cloud Lifecycle Management version 2.x, which have been upgraded version 3.0.

Click for upgrading rogue switches detail

In BMC Cloud Lifecycle Management version 2.x, there was a vanilla node to represent physical switch and there was no node at all for the rogue hypervisor switch. In order for the new API methods to work for upgraded containers, you must morph the vanilla nodes to physical access switches and create hypervisor access switch nodes (encapsulating a null device).

The rogue hypervisor server switch nodes need to be populated with attach points that reference an appropriate nic segment. The nic segment needs to have an appropriate networkName, and reference the appropriate VLAN and address pool for the servers being provisioned. The pod level and container level switch nodes need to be populated in all necessary pod/container instances.

Upgrade Mechanism

You can re-use the existing pod/container import mechanism to populate the switch node information in all the necessary pod/container instances.

populateRogueServers attribute

A new attribute has been introduced in pod/container import xml to support populating switch nodes. If set to true, the pod/container import mechanism morphs the vanilla nodes to physical access switches (as specified in the xml) and create the hypervisor switches (as specified in the xml) in necessary pod/container instances.

Populating switch nodes in pod

The switch nodes in the pod can be populated by importing a subset of pod xml which includes NIC segment (network segment the port types are part of in the hypervisor switch), physical switch, and hypervisor switch (with port types) information. An example of the xml is shown below.

Example pod xml
<?xml version="1.0" encoding="UTF-8" ?>
<bbnaData>
   <version>
<build>0</build>
<lastUpgrader>94</lastUpgrader>
<maint>2</maint>
<major>8</major>
<minor>2</minor>
<patch>0</patch>
   </version>
<pod populateRogueServers="true" reacquireAddresses="false">
<!-- Put the name of your pod -->
<name>samplepod</name>
<!-- nic segment the port types are part of in hypervisor switch -->
<nicSegments>
<nicSegment>
<name>Management Network 1</name>
<networkName>Management Network 1</networkName>
<addressPoolName>Management Addresses</addressPoolName>
<vlanName>Management VLAN</vlanName>
</nicSegment>
</nicSegments>
<nodes>
   <!-- This node represents the existing node whose physical access flag is true -->
<node xsi:type="podPhysicalSwitch" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<balancedParams />
<containerCount>1</containerCount>
<!-- Put proper value of the BNA device representing the switch-->
<device>PhysicalSwitch</device>
<!-- This name should match the name of the existing pod node whose physicalAccessFlag is true-->
<name>PhysicalSwitch</name>
<params />
<role>PhysicalSwitch</role>
<!-- Put the proper port names -->
<portNames>
<portName>fa0/1</portName>
<portName>fa0/2</portName>
</portNames>
</node>
<!-- This node represents the new rogue hypervisor node -->
<node xsi:type="podHypervisorSwitch" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<balancedParams/>
<containerCount>1</containerCount>
<name>AccessSwitch2</name>
<params/>
<role>AccessSwitch2</role>
<hypervisorContext>hyp-l</hypervisorContext>
<portTypes>
<portType>
<enabledFlag>true</enabledFlag>
<name>Management Port Type</name>
<nicSegmentName>Management Network 1</nicSegmentName>
<nameWithinSwitch>ManagementPortType</nameWithinSwitch>
</portType>
</portTypes>
</node>
</nodes>
   </pod>
</bbnaData>

Populating switch nodes in container

The switch nodes in the container can be populated by importing a subset of container xml which includes NIC segment (network segment the port types are part of in the hypervisor switch), physical switch, and hypervisor switch (with port types) information. An example of the xml is shown below.

Example container xml
<?xml version="1.0" encoding="UTF-8" ?>
<bbnaData>
<version>
<build>0</build>
<lastUpgrader>6</lastUpgrader>
<maint>2</maint>
<major>8</major>
<minor>2</minor>
<patch>0</patch>
   </version>
   <container reacquireAddresses="false" populateRogueServers="true">
<!-- Put the name of your container -->
<name>samplecontainer</name>
<!-- nic segment the port types are part of in hypervisor switch -->
<nicSegments>
<nicSegment>
<name>Customer Network 1</name>
<networkName>Customer Network 1</networkName>
<addressPoolName>Customer Addresses</addressPoolName>
<vlanName>Customer VLAN</vlanName>
<enabledFlag>true</enabledFlag>
<lockedFlag>true</lockedFlag>
</nicSegment>
</nicSegments>
<nodes>
<!-- This node represents the existing node whose pod node physical access flag is true -->
<node xsi:type="containerPhysicalSwitch" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<name>PhysicalSwitch</name>
<ports />
</node>
<!-- This node represents the new rogue hypervisor node -->
<node xsi:type="containerHypervisorSwitch" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<acquiredAddresses/>
<configureActionInfos/>
<hostedFlag>true</hostedFlag>
<name>AccessSwitch2</name>
<numVrfs>0</numVrfs>
<podNodeName>AccessSwitch2</podNodeName>
<role>AccessSwitch2</role>
<state>3</state>
<portTypes>
<portType>
<enabledFlag>true</enabledFlag>
<name>Custom Port Type</name>
<nicSegmentName>Customer Network 1</nicSegmentName>
<nameWithinSwitch>samplecontainer.CustomerPortType1</nameWithinSwitch>
</portType>
</portTypes>
<ports/>
<unconfigureActionInfos/>
</node>
</nodes>
</container>
 </bbnaData>

Upgrading BMC Network Automation API calls

If your BMC Cloud Lifecycle Management version 2.1 environment contains customizations that called the BMC Network Automation API (for example, for QTS), your customizations must be translated to use the new BMC Network Automation API used for BMC Cloud Lifecycle Management version 3.0.

Click for upgrading BMC Network Automation API calls detail

Consult the following tables to understand the changes to the BMC Network Automation Pod and Container Management (PCM) web services, and update your customizations appropriately.

PCM web services method changes

The tables below describes the new, modified, removed and replaced, and deleted methods in the BMC Network Automation PCM web services for BMC Cloud Lifecycle Management version 3.0.

Legend:

  • New methods are highlighted in green.
  • Methods that were updated are highlighted in blue.
  • Methods that are being removed and replaced with new logic are highlighted in purple.
  • Methods that are being deleted are highlighted in red.

Pod Service methods

Method Name

Current Signature

Current Return Type

New Signature

New Return Type

Comments

getAllPodNodes

 

 

String userToken, String podName

PodNodeDTO[]

 

getAllPodPairs

 

 

String userToken, String podName

PodPairDTO[]

 

getAllPodNames

 

 

String userToken

String[]

 

getAllPods

String userToken

PodDTO[]

 

 

Replaced by getAllPodNames

getFreeVlanCount

String userToken,
String podName

int

 

 

Replaced by PodDTO.vlanPools

getPod

String userToken, String podName 

PodDTO 

 

 

 

getPodInfo

String userToken,
String podName

PodInfoDTO

 

 

Replaced by getPod

getUsedVlanCount

String userToken,
String podName

int

 

 

Replaced by PodDTO.vlanPools.

Container Service methods

Method Name

Current Signature

Current Return Type

New Signature

New Return Type

Comments

acquireRogueServerNicAddress

String userToken,
String containerName,
String networkName

AcquiredAddressDTO

 

 

Replaced by AddressingService.acquireRogueAddress

addVirtualServerNics

String userToken,
String containerName,
String zoneName,
VirtualNicDTO[] nics,
String hypervisorContext

VirtualPortInfoDTO[]

 

 

Replaced by AddressingService.acquireVirtualServerNicAddresses

connectPhysicalServerNic

 

 

String userToken,
String containerName,
PhysicalNicDTO nic,
String accessSwitchName,
String attachPointName

boolean

 

createAndConfigureContainer

String userToken,
String containerBlueprintName,
String podName,
String containerName,
NameValueDTO[] runtimeParameters

String

 

 

Replaced by ContainerBlueprintService.provisionContainer

deprovisionContainer

 

 

String userToken,
String containerName,
boolean deleteOnFailure

boolean

 

describeIncompatability

String userToken,
String podName,
String containerBlueprintName

String

 

 

Replaced by ContainerBlueprintService.describeIncompatibility

getAllContainerBlueprintNames

String userToken

String[]

 

 

Replaced by ContainerBlueprintService.getAllBlueprintNames

getAllContainerNames

String userToken

String[]

 

 

 

getAllContainerNodes

 

 

String userToken,
String containerName

ContainerNodeDTO[]

 

getAllContainerPairs

 

 

String userToken,
String containerName

ContainerPairDTO[]

 

getConfigureRuntimeParamNames

String userToken,
String containerBlueprintName

String[]

String usrToken,
String containerName,
DynamicComponentsOverrideDTO dynamicComponentsOverride 

String[] 

 

getContainer

 

 

String userToken,
String containerName

ContainerDTO

 

getContainerInfo

String userToken,
String containerName

ContainerInfoDTO

 

 

Replaced by getContainer

getContainerNamesInPod

String userToken,
String podName

String[]

 

 

 

getCompatibleBlueprintNames

String userToken,
String podName

String[]

 

 

Replaced by ContainerBlueprin.Service.getCompatibleBlueprintNames

getHypervisorAccessSwitchZone

String userToken,
String containerName,
String hypervisorContext

String

 

 

Replaced by ContainerDTO.virtualAccessSwitches

getPhysicalAccessSwitchNames

String userToken,
String containerName

String[]

 

 

Replaced by ContainerDTO.physicalAccessSwitches

getPhysicalAccessSwitchZone

String userToken,
String containerName,
String switchName

String

 

 

Replaced by ContainerDTO.physicalAccessSwitches

getVlan

String userToken,
String containerName,
String networkName

VlanDTO

 

 

Replaced by ContainerDTO.acquiredVlans

isCompatible

String userToken,
String podName,
String containerBlueprintName

boolean

 

 

Replaced by ContainerBlueprintService.isCompatible

modifyContainer

 

 

String userToken,
String containerName,
DynamicComponentsOverrideDTO dynamicComponentsOverride,
DynamicAddressingOverrideDTO
dynamicAddressingOverride,
NameValueDTO[] runtimeParams)

ContainerDTO

 

releaseRogueServerNicAddress

String userToken,
String containerName,
String address

boolean

 

 

Replaced by AddressingService.releaseRogueAddress

removeVirtualServer

String userToken,
String containerName,
String serverName

boolean

 

 

Replaced by AddressingService.removeAllServerNicAddresses

removeVirtualServerNics

String userToken,
String containerName,
VirtualNicDTO[] nics

boolean

 

 

Replaced by AddressingService.removeVirtualServicerNicAddresses

unconfigureAndDeleteContainer

String userToken,
String containerName,
boolean deleteOnFailure

boolean

 

 

Replaced by deprovisionContainer 

Zone Service methods

Method Name

Signature

Return Type

Comments

getFirewallName

String userToken,
String containerName,
String zoneName

String

Replaced by ContainerDTO.firewalls

getLoadBalancerName

String userToken,
String containerName,
String zoneName

String

Replaced by ContainerDTO.loadBalancers

getZoneNames

String userToken,
String containerName

String[]

Replaced by ContainerDTO.zones

hasFirewall

String userToken,
String containerName,
String zoneName

boolean

Replaced by ContainerDTO.firewalls 

hasLoadBalancer

String userToken,
String containerName,
String zoneName

boolean

Replaced by ContainerDTO.loadBalancers 

LoadBalancer Service methods

Method Name

Current Signature

Current Return Type

New Signature

New Return Type

Comments

addLoadBalancerPoolEntries

String userToken,
String containerName,
String zoneName,
String loadBalancerPoolName,
LoadBalancerPoolEntryDTO[] loadBalancerPoolEntries

boolean

 

 

Replaced by addPoolEntries

addLoadBalancerPools

String userToken,
String containerName,
String zoneName,
LoadBalancerPoolInfoDTO[] loadBalancerPoolDtos

AcquiredAddressDTO[]

 

 

Replaced by addPool

addPoolEntries

 

 

String userToken,
String containerName,
LoadBalancerSelectorDTO lbselectorDTO,
String poolName, 
LoadBalancerPoolEntryDTO[] entries

boolean

 

addPool

 

 

String userToken,
String containerName, 
LoadBalancerSelectorDTO lbselectorDTO,
LoadBalancerPoolTypeSelectorDTO poolTypeSelector, 
LoadBalancerPoolDTO pool

AcquiredAddressDTO

 

disableLoadBalancerPoolEntries

String userToken
String containerName,
String zoneName,
String loadBalancerPoolName, 
LoadBalancerPoolEntryDTO[] loadBalancerPoolDtos

boolean

 

 

Replaced by disablePoolEntries

disablePoolEntries

 

 

String userToken,
String containerName, 
LoadBalancerSelectorDTO lbselectorDTO,
String poolName, 
LoadBalancerPoolEntryDTO[] entries

boolean

 

enableLoadBalancerPoolEntries

String userToken,
String containerName,
String zoneName,
String loadBalancerPoolName,
LoadBalancerPoolEntryDTO[] loadBalancerPoolEntries

boolean

 

 

Replaced by enablePoolEntries

enablePoolEntries

 

 

String userToken,
String containerName, 
LoadBalancerSelectorDTO lbselectorDTO,
String poolName,
String[] serverNames

boolean

 

getAllLoadBalancerPools

String userToken,
String containerName,
String zoneName

LoadBalancerPoolInfoDTO[]

 

 

Replaced by getAllPoolNames and getPool 

getAllPoolNames

 

 

String userToken,
String containerName, 
LoadBalancerSelectorDTO lbselectorDTO,

String[]

 

getLoadBalancerPoolEntries

String userToken,
String containerName,
String zoneName,
String loadBalancerPoolName

LoadBalancerPoolEntryDTO[]

 

 

Replaced by LoadBalancerPoolDTO

getLoadBalancerPoolNames

String userToken,
String containerName,
String zoneName

getLoadBalancerPoolNames

 

 

Replaced by getAllPoolNames

getLoadBalancerVips

String userToken,
String containerName,
String zoneName,
String[] loadBalancerPoolNames

NameValueDTO[]

 

 

Replaced by addPool return value.

getPool

 

 

String userToken,
String containerName,
LoadBalancerSelectorDTO lbselectorDTO,
String poolName

LoadBalancerPoolDTO

 

removeLoadBalancerPoolEntries

String userToken,
String containerName, String zoneName,
String loadBalancerPoolName,
LoadBalancerPoolEntryDTO[] loadBalancerPoolEntries

boolean

 

 

Replaced by removePoolEntries 

removeLoadBalancerPools

String userToken, String containerName String zoneName String[] loadBalancerPoolNames

boolean

 

 

Replaced by removePools

removePoolEntries

 

 

String userToken,
String containerName, 
LoadBalancerSelectorDTO lbselectorDTO,
String poolName, 
LoadBalancerPoolEntryDTO[] entries

boolean

 

removePool

 

 

String userToken,
String containerName,
LoadBalancerSelectorDTO lbselectorDTO,
String poolName

boolean

 

Firewall Service methods

Method Name

Signature

Return Type

Comments

getAllFirewallRules

String userToken,
String containerName,
String zoneName

FirewallDTO[]

Replaced by SecurityService.getAllFirewallRules

overlayFirewallRules

String userToken,
String containerName,
String zoneName,
FirewallRuleDTO[] firewallRules

String

Replaced by SecurityService.addFirewallRules 

overwriteFirewallRules

String userToken,
String containerName,
String zoneName,
FirewallRuleDTO[] firewallRules,
String contextHostAddress

String

Replaced by SerucirytService.replaceFirewallRules

removeFirewallRules

String userToken,
String containerName,
String zoneName,
FirewallRuleDTO[] firewallRules

String

Replaced by SecurityService.removeFirewallRules 

Security Service methods

Method Name

Signature

Return Type

Comments

addFirewallRules

String userToken,
String containerName,
FirewallAclSelectorDTO fwAclSelectorDTO,
FirewallRuleDTO[] rules

boolean

 

addPathRule

String userToken,
String containerName,
boolean permitFlag,
PathRuleDTO[] rule

FirewallUpdateDTO[]

 

getAllFirewallRules

String userToken,
String containerName,
FirewallAclSelectorDTO fwAclSelectorDTO

StampedFirewallRulesDTO 

 

removeFirewallRules

String userToken,
String conteinerName,
FirewallAclSelectorDTO fwAclSelectorDTO,
FirewallRuleDTO[] rules

boolean

 

removePathRule

String userToken,
String containerName,
PathRuleDTO rule

FirewallUpdateDTO[]

 

replaceFirewallRules

String userToken,
String containerName,
FirewallAclSelectorDTO fwAclSelectorDTO,
StampedFirewallRulesDTO rules,
String contextAddress

boolean

 

Addressing Service methods

Method Name

Signature

Return Type

Comments

acquirePhysicalServerNicAddress

String userToken,
String containerName,
PhysicalNicDTO nic,
AccessSwitchSelectorDTO accessSwitchSelector,
String attachPointName

AcquiredAddressDTO

 

acquireSpecificPhysicalServerNicAddress

String userToken,
String containerName,
PhysicalNicDTO nic,
AccessSwitchSelectorDTO accessSwitchSelector,
String attachPointName,
String desiredValue

AcquiredAddressDTO

 

acquireRogueAddress

String userToken,
String containerName,
String addressPoolName

AcquiredAddressDTO

 

acquireSpecificVirtualServerNicAddress

String userToken,
String containerName,
VirtualNicDTO nic,
AccessSwitchSelectorDTO accessSwitchSelector,
String attachPointName,
String desiredValue

AcquiredAddressDTO

 

acquireVirtualServerNicAddress

String userToken,
String containerName,
VirtualNicDTO nic,
AccessSwitchSelectorDTO accessSwitchSelector,
String attachPointName

AcquiredAddressDTO

 

releaseAllServerNicAddresses

String userToken,
String containerName,
String serverName

boolean

 

releasePhysicalServerNicAddress

String userToken,
String containerName,
PhysicalNicDTO nic

boolean

 

releaseRogueAddress

String userToken,
String containerName,
String address

boolean

 

releaseVirtualServerNicAddress

String userToken,
String containerName,
VirtualNicDTO nic

boolean

 

Container Blueprint Service methods

Method Name

Signature

Return Type

Comments

provisionContainer

String userToken,
String blueprintName,
DynamicComponentsOverrideDTO dynamicComponentsOverride,
DynamicAddressingOverrideDTO dynamicAddressingOverride,
String podName,
String containerName,
NameValueDTO[] runtimeParams

ContainerDTO

 

describeIncompatibility

String userToken,
String podName,
String blueprintName

String

 

getAllBlueprintNames

String userToken

String[]

 

getBlueprint

String userToken,
String blueprintName

ContainerBlueprintDTO

 

getCompatibleBlueprintNames

String userToken,
String podName

String[]

 

getRuntimeParamNames

String usrToken,
String blueprintName,
DynamicComponentsOverrideDTO dynamicComponentsOverride 

String[]

 

isCompatible

String userToken,
String podName,
String blueprintName

boolean

 

provisionContainer

String userToken,
String blueprintName,
DynamicComponentsOverrideDTO dynamicComponentsOverride,
DynamicAddressingOverrideDTO dynamicAddressingOverride,
String podName,
String containerName,
NameValueDTO[] runtimeParams

ContainerDTO

 

PCM web services DTO changes

The table below describes the new, modified, removed and replaced, and deleted DTOs in the BMC Network Automation PCM web services for BMC Cloud Lifecycle Management version 3.0.

Legend:

  • New DTOs are highlighted in green.
  • Modified DTOs&nbspare highlighted in blue.
  • DTOs that are being removed and replaced with new logic are highlighted in purple.
  • DTOs that are being deleted are highlighted in red.

DTO Name

Current Attributes

New Attributes

Comments

AccessSwitchSelectorDTO

 

String nodeName
String podNodeName

 

AcquiredAddressDTO

String address,
String gatewayAddress,
String subnetMask

boolean acquiredFlag,
String address, 
String addressPoolName,
String condition,
String gatewayAddress,
String subnetMask

 

AcquiredVlanDTO

String name
String networkName
int num

boolean acquiredFlag,
String condition,
String name,
int num 

 

AddressPoolOverrideDTO

 

String name,
Integer size

 

AddressPoolInfoDTO

String endAddress,
int freeAddressCount,
String name,
boolean publicFlag,
String poolMask,
String startAddress,
int totalAddressCount,
int usedAddressCount

 

Replaced by ContainerAddressPoolDTO and PodAddressPoolDTO

AddressRangeDTO

 

String name,
int freePoolCount,
String rangeAddress,
String rangeMask,
boolean publicFlag,
String poolMask,
int totalPoolCount,
int usedPoolCount

 

AddressRangeInfoDTO

String name,
String rangeAddress,
String rangeMask,
boolean publicFlag,
String poolMask,
int freePoolCount,
int totalPoolCount,
int usedPoolCount

 

Replaced by AddressRangeDTO 

AddressSpaceDTO

 

boolean acquiredFlag,
String condition,
String name,
String networkAddress,
String networkMask,
String[] poolNames,
boolean publicFlag

 

AddressSpaceOverrideDTO

 

String networkAddress,
String networkMask,
Boolean publicFlag,
AddressSpaceSelectorDTO selector

 

AddressSpaceSelectorDTO

 

String name,
String poolInternalSegmentName

 

ContainerAddressPoolBlueprintDTO

 

Integer availablePoolSize,
String condition,
Integer defaultPoolSize,
String natPoolName,
String name,
String rangeName,
String spaceName

 

ContainerAddressPoolDTO

 

boolean acquiredFlag,
String condition,
String endAddress,
int freeAddressCount,
String gatewayAddress,
String id,
String natPoolName,
String name,
String poolMask,
String rangeName,
String spaceName,
String startAddress,
int totalAddressCount,
int usedAddressCount

 

ContainerBlueprintDTO

 

ContainerAddressPoolBlueprintDTO[] addressPoolBlueprints,
String description,
ExternalNetworkSegmentBlueprintDTO[] externalSegmentBlueprints,
FirewallBlueprintDTO[] firewallBlueprints,
InfrastructureAddressSpaceBlueprintDTO[] infrastructureAddressSpaceBlueprints,
String legacyVersion,
LoadBalancerBlueprintDTO[] loadBalancerBlueprints,
String name,
NetworkPathDTO[] networkPaths,
NicNetworkSegmentBlueprintDTO[] nicSegmentBlueprints,
PhysicalAccessSwitchBlueprintDTO[] physicalAccessSwitchBlueprints,
ProvisioningAddressSpaceBlueprintDTO[] provisioningAddressSpaceBlueprints,
String tag,
String type,
VipNetworkSegmentBlueprintDTO[] vipNetworkSegments,
VirtualAccessSwitchBlueprintDTO[] virtualAccessSwitchBlueprints,
String[] vlanNames,
ZoneDTO[] zoneBlueprints

 

ContainerDTO

 

AcquiredAddressDTO[] acquiredInfrastructureAddresses,
AcquiredVlanDTO[] acquiredVlans,
ContainerAddressPoolDTO[] addressPools,
AddressSpaceDTO[] addressSpaces,
String blueprintName,
String configureForProvisionJobId,
String diagramLink,
ExternalNetworkSegmentDTO[] externalSegments,
FirewallDTO[] firewalls,
String legacyVersion,
LoadBalancerDTO[] loadBalancers,
String name,
NetworkPathDTO[] networkPaths,
NicNetworkSegmentDTO[] nicSegments,
PhysicalAccessSwitchDTO[] phyysicalAccessSwitches,
String podName,
NameValueDTO[] runtimeParams,
int state,
String tag,
String type,
String unconfigureForDeprovisionJobId,
VipNetworkSegmentDTO[] vipSegments,
VirtualAccessSwitchDTO[] virtualAccessSwitches,
ZoneDTO[] zones

 

ContainerInfoDTO

int acquiredVlanCount,
AddressPoolInfoDTO[] containerAddressPools,
String name,
NetworkInfoDTO[] networkInfo,
AddressPoolInfoDTO[] podAddressPools,
String state

 

 

ContainerNicNetworkSegmentBlueprintDTO

 

String addressPoolName,
boolean defaultEnabledFlag,
String description,
boolean lockedFlag,
boolean managementFlag,
String networkName,
String name,
String tag,
String vlanName,
String zoneName

 

ContainerNicNetworkSegmentDTO

 

String addressPoolName,
String description,
boolean enabledFlag,
boolean lockedFlag,
boolen managementFlag,
String networkName,
String name,
String tag,
String vlanName, 
String zoneName

 

ContainerNodeDTO

 

AcquiredAddressDTO[] acquiredAddresses,
int containerNodeType,
String deviceName,
String name,
String podNodeName,
String role

 

ContainerPairDTO

 

AcquiredAddressDTO[] acquiredAddresses,
int containerPairType,
String name,
String node1Name,
String node2Name,
String podPairName

 

ContainerParamsDTO

String containerName,
String firewallNamePattern,
String loadBalancerNamePattern

 

Unused

DynamicAddressingOverrideDTO

 

AddressPoolOverrideDTO[] addressPoolOverrides,
AddressSpaceOverrideDTO[] addressSpaceOverrides,
ExternalNetworkOverrideDTO[] externalSegmentOverrides

 

DynamicComponentOverrideDTO

 

boolean enabledFlag,
String name

 

DynamicComponentsOverrideDTO

 

DynamicComponentOverrideDTO[] loadBalancerOverrides,
DynamicComponentOverrideDTO[] nicSegmentOverrides

 

ExternalNetworkSegmentBlueprintDTO

 

String name,
String networkName,
String tag

 

ExternalNetworkSegmentDTO

 

String name,
String networkAddress,
String networkMask,
String networkName,
String tag

 

ExternalNetworkSegmentOverrideDTO

 

String name,
String networkAddress,
String networkMask

 

FirewallAclBlueprintDTO

 

String description,
String name

 

FirewallAclDTO

 

String description,
boolean enabledFlag,
boolean inboundFlag,
String name

 

FirewallBlueprintDTO

 

String description,
FirewallInterfaceBlueprintDTO[] managedInterfaceBlueprints,
String name,
String namePrefix

 

FirewallDTO

 

String description,
String deviceName,
boolean enabledFlag,
FirewallInterfaceDTO[] managedInterfaces,
String name

 

FirewallInterfaceBlueprintDTO

 

String[] bridgeInterfaceNames,
String description,
String name,
FirewallAclBlueprint inboundAcl,
FirewallAclBlueprint outboundAcl,
String[] servicedEndpointNames

 

FirewallInterfaceDTO

 

String[] bridgeInterfaceNames,
String description,
boolean enabledFlag,
FirewallAclDTO inboundAcl, 
String name,
FirewallAclDTO outboundAcl,  
String[] servicedEndpointNames

 

FirewallRuleDTO

String description,
String destinationHostAddress,
String destinationNetworkAddress,
String destinationNetworkMask,
Integer destinationPort,
boolean enabledFlag,
boolean permitFlag,
String sourceHostAddress,
String sourceNetworkAddress,
String sourceNetworkMask,
int tranportProtocol

 

 

FirewallAclSelectorDTO

 

private String vfwName
private String interfaceName
boolean inboundAclFlag
private String zoneName

 

FirewallAclUpdateDTO

 

String aclName,
String firewallName,
boolean inboundFlag,
String interfaceName,
String firewallAclLastUpdatedtoken

FirewallRuleDTO[] rules

 

InfrastructureAddressSpaceBlueprintDTO

 

String[] addressPoolNames,
boolean allowOverrideFlag,
String condition,
String defaultNetworkAddress,
String defaultNetworkMask,
String description,
String name

 

LoadBalancerBlueprintDTO

 

String clientVlanName,
boolean defaultEnabledFlag,
String description,
boolean lockedFlag,
LoadBalancerPoolTypeBlueprintDTO[] poolTypeBlueprints,
String name

 

LoadBalancerDTO

 

String clientVlanName,
String description,
String deviceName,
boolean enabledFlag,
boolean lockedFlag,
String name,
LoadBalancerPoolTypeDTO[] poolTypes

 

LoadBalancerPoolEntryDTO

boolean enabled,
String serverAddress,
int serverPort,
String serverHostName

boolean enabledFlag,
String serverAddress,
int serverPort,
String serverName 

 

LoadBalancerPoolDTO

 

int clientPort
String description
LoadBalancerPoolEntry[] entries
String name
NameValueDTO[] options
int transportProtocol
String vipName

 

LoadBalancerPoolInfoDTO

int clientPort,
String description,
String name,
String networkLabel,
NameValue[] options,
int transportProtocol,
String vipName

 

Replaced by LoadBalancerPoolDTO

LoadBalancerPoolTypeBlueprintDTO

 

boolean enabledFlag,
String name,
String serverVlanName,
String[] servicedNicSegmentNames,
String vipSegmentName

 

LoadBalancerPoolTypeDTO

 

String description,
boolean enabledFlag,
String name,
String serverVlanName,
String[] servicedNicSegmentNames,
String vipSegmentName

 

LoadBalancerPoolTypeSelectorDTO

 

String name,
String[] servicedNicSegmentNames,
String vipSegmentName

 

LoadBalancerSelectorDTO

 

String vlbName
String zoneName

 

NameValueDTO

String name,
String value

 

 

NetworkInfoDTO

boolean managementFlag,
String networkName,
int vlanCount,
String[] zoneNames

 

Replaced by VirtualAttachPointDTO 

NetworkPathDTO

 

String endpoint1Name,
String endpoint2Name,
String[] firewallNames

 

PathRule

 

SecurityEndpointDTO destination
int destinationPort
SecurityEndpointDTO source
int transportProtocol
boolean enabledFlag
boolean permitFlag

 

PhysicalAccessSwitchBlueprintDTO

 

String name
PhysicalAttachPointBlueprint[] attachPointBlueprints

 

PhysicalAccessSwitchDTO

 

String deviceName,
String name,
PhysicalAttachPoint[] attachPoints

 

PhysicalAttachPointBlueprintDTO

 

String description,
String name,
String nicSegmentName

 

PhysicalAttachPointDTO

 

String description,
boolean enabledFlag,
boolean managementFlag,
String name,
String nicSegmentName

 

PhysicalNicDTO

 

String name,
String serverName
String rogueServerAddress

 

PodAddressPoolDTO

 

String endAddress,
int freeAddressCount,
String gatewayAddress,
String id,
String name,
String natPoolName,
String poolMask,
String publicFlag,
String startAddress,
int totalAddressCount,
int usedAddressCount 

 

PodDTO

String name,
String siteId

PodAddressPoolDTO[] addressPools,
AddressRangeDTO[] addressRanges,
String blueprintName,
String diagramLink,
String legacyVersion,
String name,
NicNetworkSegment[] nicSegments,
PhysicalAccessSwitchDTO[] physicalAccessSwitches,
String siteId,
VirtualAccessSwitchDTO[] virtualAccessSwitches,    
VlanPoolDTO[] vlanPools,
VlanDTO[] vlans

 

PodInfoDTO

AddressPoolInfoDTO[] addressPools,
AddressRangeInfoDTO[] addressRanges,
int freeManagementAddressCount,
int freeVlanCount,
String name,
int totalManagementAddressCount,
int totalVlanCount,
int usedManagementAddressCount,
int usedVlanCount

 

Replaced by PodDTO 

PodNicNetworkSegmentDTO

 

String addressPoolName,
String description,
boolean enabledFlag,
boolean lockedFlag,
boolen managementFlag,
String networkName,
String name,
String tag,
String vlanName, 
String zoneName

 

PodNodeDTO

 

String deviceName,
String hypervisorContext,
String name,
int podNodeType,
String role

 

PodPairDTO

 

String name,
String node1Name,
String node2Name
int podPairType

 

ProvisioningAddressSpaceBlueprintDTO

 

String[] addressPoolNames,
String condition,
String defaultNetworkAddress,
String defaultNetworkMask,
boolean deriveConditionFromElementsFlag,
String description,
String name,
boolean defaultPublicFlag

 

SecurityEndpointDTO

 

String endpointName,
String hostAddress,
String networkAddress,
String networkMask

 

StampedFirewallRulesDTO

 

String firewallAclLastUpdatedToken,
FirewallRulesDTO[] ruleDTOs

 

VipNetworkSegmentBlueprintDTO

 

String addressPoolName,
String description,
String loadBalancerName,
String networkName,
String name,
String tag,
String vlanName

 

VipNetworkSegmentDTO

 

String addressPoolName,
String description,
boolean enabledFlag,
String loadBalancerName,
String networkName,
String name,
String tag,
String vlanName

 

VirtualAccessSwitchBlueprintDTO

 

String name,
VirtualAttachPointBlueprint[] attachPointBlueprints

 

VirtualAccessSwitchDTO

 

String deviceName,
String hypervisorContext,
String name,
VirtualAttachPoint[] attachPoints

 

VirtualAttachPointBlueprintDTO

 

String description,
boolean managementFlag,
String name,
String nameWithinSwitch,
String nicSegmentName

 

VirtualAttachPointDTO

 

String description,
boolean enabledFlag,
String name,
String nameWithinSwitch,
String nicName

 

VirtualNicDTO

boolean acquiredAddressFlag,
String name,
String networkName, 
String serverName

String name,
String serverName
String rogueServerAddress 

 

VirtualPortInfoDTO

String address,
String gatewayAddress,
boolean managementFlag,
String networkName,
String nicName,
String poolMask,
String portTypeName,
String vlanName,
String vlanNumber

 

Replaced by VirtualAttachPointDTO 

VlanDTO

String name,
String networkName
int num

String name,
int num

 

VlanPoolDTO

 

int endNum,
int freeVlanCount,
String name,
int startNum,
boolean shareableFlag, 
int totalVlanCount,  
int usedVlanCount  

 

ZoneBlueprintDTO

 

String description,
String[] nicSegmentNames,
String name

 

ZoneDTO

 

String description,
boolean enabledFlag,
String[] nicSegmentNames,
String name

 

Prerequisites for BMC ProactiveNet Performance Manager

Before you upgrade the BMC ProactiveNet components, you must complete the following prerequisites:

  1. Ensure that all the BMC ProactiveNet servers and the BMC ProactiveNet Data Collection Host systems with domain names can be pinged by one another.
  2. If the BMC ProactiveNet database and the BMC Application Server reside on different systems, ensure that they are synchronized.

Note

If you installed BMC ProactiveNet manually or in an HA environment via operating system cluster in the BMC Cloud Lifecycle Management 2.1 deployment, you must manually apply 8.6.02 patch (8.6 SP2). Then upgrade to version 9.0 using the BMC Cloud Lifecycle Management 3.1 Installer.

Additionally, if you had installed BMC ProactiveNet using BMC Cloud Lifecycle Management 2.1 Installer and are using the BMC ProactiveNet Performance Management Enterprise License, you must apply the 8.6 SP2 patch before upgrading to 9.0. For a BMC ProactiveNet basic license, you need not apply 8.6 SP2 patch.

For fixing issues with the BMC ProactiveNet and Performance Manager upgrade, see Upgrade-issues-with-BMC-ProactiveNet-Performance-Management.

 

Tip: For faster searching, add an asterisk to the end of your partial query. Example: cert*