Page tree

Skip to end of metadata
Go to start of metadata

A publishing environment defines the source of the data and the cells to which the data is sent.
You can secure publishing environments by assigning a password to protect.

About publishing environments

A publication is always executed within a set of conditions defined by the requirements of the Product Short data. This set of conditions is referred to as a publishing environment. For example, you want to send a service model from BMC Atrium CMDB (one condition) to a test cell (second condition). If the source of the service model data is a BAROC file and the data goes to a production cell, this requires a different environment and is handled differently by Publishing Server.

The Publishing Server component supports publishing Product Short data (service model data and management data) from three sources or origins: BMC Atrium CMDB, which is referred to as an Atrium Publish Feed, from BAROC source files by using the CLI command pposter, which is referred to as Direct Publish Feed, or from a staging cell, which is referred to as Cell Publish Feed.

Publish origin

Publish is initiated from

Origin ID


  • BMC Impact Model Designer
  • Completion of reconciliation job
  • CLI command publish

Atrium CMDB

Direct Publish

  • CLI command pposter


Cell Publish

  • CLI command publish


An environment is uniquely identified by <name of the Publishing Server > + < EnvID > + < OriginId >. The environment identifier must be unique within all Atrium CMDB Publish environments or within all Direct Publish environments. However, it is simpler and easier to manage if all publishing environments in your enterprise have unique identifiers.

Specifying the publish origin

Publishing from these origins is enabled or disabled with configuration parameters (AtriumCMDBPublishOrigin, DirectPublishOrigin, CellPublishOrigin) in the pserver.conf file. By default all these origins are enabled. 

Atrium CMDB Publish is enabled by default and is initiated either through automated publishing or the CLI command publish.

Direct Publish is enabled by default and is initiated either through an API program or the CLI command pposter.

Cell Publish is used by integrations to publish service models from a staging cell. It is initiated either through an event or the CLI command publish.

About default publication environment, filters, and cell aliases

If you plan to publish the same CIs to different publishing environments, cell alias values are created and managed for you. The Publishing Server registers cell aliases for the default publishing environment based on the following parameters in the pserver.conf file:

# ------------------------------------------------------------------------------
# Default environment, filters and cell
# ------------------------------------------------------------------------------
# Identifies the default environment for AtriumCMDB publication
# If not existing already this environment will be created when pserver starts.
# AtriumCMDBDefaultEnvId=<EnvId>
# Identifies the default asset dataset for AtriumCMDB's default publish environment
# The Default environment that is created when pserver starts uses this asset dataset
# AtriumCMDBDefaultAssetDatasetId=<AssetDatasetId>
# Lists the default filters
# When pserver creates the Default environment, it registers the default filters for this environment.
# AtriumCMDBDefaultFilterIds=<FilterId>{,<FilterId>}
# If SetDefaultEnvCellAliases is enabled, at start pserver creates/manages default CellAliases for the default env
# according the settings of DefaultCell and DefaultEnvCells
# use "penv -p "CellAliases=[...]" set, to create/manage non default CellAliases
# and disable the parameter SetDefaultEnvCellAliases, so they are not removed at pserver restart
# Sets the CellName for the default HomeCellAlias Default
# This is used by the PROD publish environment of CentralPublish
# and for the default AtriumCMDB publish environment.
# Remark: Existing Default CellAlias will be removed by pserver if DefaultCell is unset (existing value
# is removed).
# DefaultCell=
# Gives the cells of the CellAliases <CellName> -> <CellName> of the Default Env
# DefaultEnvCells=<CellName>{,<CellName>}
# By default DefaultEnvCells includes DefaultCell. 
# Remark: Existing CellAliases will be removed by pserver if the corresponding cell is removed from DefaultEnvCells.
# Remark: If you unset DefaultCell, without setting any cell in DefaultEnvCells, then there will be no more CellAliases (resulting in publication failure).
# To have no Default alias but still a cell alias (which may be usefull in Enterprise mode), unset DefaultCell and add the cell to DefaultEnvCells
# Gives the cells for which pserver will create CellInformation in AtriumCMDB
# Cells=<CellName>{,<CellName>}
# Cells=<DefaultEnvCells>

BMC recommends setting the cell aliases for the default publication environment using the parameters in the pserver.conf file. If these cell aliases are not default cell aliases (that is, cannot be set using the parameters in the pserver.conf file), then perform the following steps:

  1. Define the CellAliases by running the penv -e PROD -p "CellAliases=[<CellAlias1>,<Cell1>,<CellAlias2>,<Cell2>]" command.
  2. In the pserver.conf file, set the value of SetDefaultEnvCellAliases to F.

About home cell, home cell alias, and cell alias

A service model component can be assigned to only one cell at a time. If you want, for example, to assign a component to a production cell and, at the same time, use it in a test cell for impact experiments, a mechanism is needed to make this possible. The parameters HomeCell, and CellAliases, and the attributes HomeCell and HomeCellAlias are used by Publishing Server to determine the cells to which a configuration item (CI) is sent, depending on which have values. CellAliases and HomeCell are parameters of the publishing environment, whereas HomeCell and HomeCellAlias are attributes of the CI.

The environment's parameter home cell defines the one cell to which all service model data and management data is sent.

The component's attribute home cell alias defines another name for the home cell looked up from a table so that the data with a specific home cell alias can be sent to different cells for different publishing environments.

Cell alias defines another name for a cell so that data can be sent to more than one cell.

A cell can have multiple cell aliases. The mapping of cell alias-to-cell name is one to many per environment. In other words, for each environment and for each cell alias, there can be only one cell name, but many cell aliases can be mapped to the same cell name.

Cell-alias to cell-name values must already be defined when publishing is initiated.

Default home cell alias

When the parameter DefaultCell is set, the Publishing Server creates a default cell alias mapping to the cell that is configured for the BMC Atrium CMDB PROD publishing environment. By default, the CIs and impact relationships are assigned to the cell that is set for the DefaultCell parameter. Leaving this parameter empty effectively drops CIs and impact relationships assigned to DefaultCell from publication.

Determining the cell to which a component is published

To determine the cell to which a component is published, the Publishing Server uses the following algorithm:

  1. If HomeCell is defined for the publishing environment, that value is used (regardless of the values in the component's HomeCellAlias attribute).
  2. The component's HomeCellAlias is looked up in the CellAliases for the publishing environment.
  3. If one of the CellAliases defined for the publishing environment does not have a CellAlias defined, then its cell name is used as the default cell. Every component that has no HomeCellAlias set is published to this default cell.