BRPM Automation - BSA - bsa_provision_middleware

Version 2
    Share This:

    omation Info
    Name: bsa_provision_middleware
    Type: Automation
    RPM Compatible Version: 4.3 and higher
    Version: 1.0
    Integration type: BAA/BSA

    Created by: Fred Breton


    prov.jpgThis automation allows to select a provisioning action that is in fact a BlPackage and then to deploy this package to all target servers that are selected. The provisioning actions proposed are those for a specific blueprint if one is specified, else they're coming from a generic library. In fact, here we name provisioning action content that is designed to be deployed on OS level and that may represent a service (like middleware service). The list of action provided is the list of package found in Depot/BRPM/Provisionin/<blueprint name> in BSA. If no blueprint has been defined, the <blueprint name> is "Generic".


    If a Service name is provided, after deployment, the automation will create a component from blueprint component template and add it to the environment that has been selected.


    In Bladelogic side, an environment is a component group that contain components representing the available services for this environment that will be needed for the application (like tomcat, MySQL, etc...). To be recognize as an environment, a component group needs to have its property DESCRIPTION set to Environment.

    A Blueprint is represented in Bladelogic side as a component template. To be recognized as a Blueprint a component template needs to have its property DESCRIPTION set to Blueprint.


    The field that you need to complete to use this automation are the following:provact.jpg

    1. Target environment: The environment name of the targeted environment, can be inherited from the environment associated with the request. Only needed if a service name is specified.
    2. Target blueprint: The blueprint type of the provisioning library we want to use. If no blueprint is selected then generic library is used. However, if a service name is specified, then a blueprint is required.
    3. Action: the provisioning action that we want to execute to one or several servers. The proposed list depends of the blueprint selected. If no blueprint is selected then the list is from a generic library.
    4. Service name: Name to provide to the service that is provisioned in case it has sense. When provided, it will create a component per targeted server named <Service-name>-<server name> and add it to the specified environment.
    5. Job folder: Bladelogic job folder where to store the generated deploy job.
    6. Deploy option: allows setup option for the deploy job
    7. Targets: Server(s) or/and server group(s) on which the action has to be run.
    8. Required parameters:  It displays the local properties of the blpackage that are not mapped with parameters of the same name coming from request environment.
    9. Action parameters: free text field to provide value to parameters, typically value to parameters displayed in "Required parameters" field. Syntax is PARAMNAME1=value1, if you need to setup several parameters, then the separator between param=value couple is |
      If you put a parameter that is already mapped with a BRPM request environment property, then the value that will be use is the one provided in "Action parameters" field.


    In the text field, it is possible to use value coming from BRPM parameters. The syntax to call a value from a parameter is rpm{parameter_name}. This is useful do define request template that can generate request without need of then changing content of the steps.


    Remark on usage: With some BRPM version, after you selected value for "Target_Blueprint" and "Action" field, "Required_parameters" may not display anything. You need to save the step, then reopen it, put Target_Blueprint to "select", then to the value you previously selected. Action and Required_parameters will then be refreshed properly (can take 1min).


    Requirements
    You need to create an integration server pointing to your BladeLogic server to point the API (if not already done). FromSystem > Integrations, click Create new Integration at the right side of your screen:

      Server Name:  <up to you>  Server URL:   <BladeLogic Webservice url; example: https://bl-appserver:9843>  Username:     <BLadeLogic user>  password:     <password of previously defined user>  Details: role: <role you want to use; example BLAdmins>  authentication_mode: <example: SRP>

    If you want to create a new automation category for BSA associated resource automation and automation follow the documentation Managing automation categories.


    Instruction for importing the resource automation:autom.jpg

    1. Click on the link bsa_provision_middleware.rb to download the resource automation
    2. Copy the file to your BRPM server in
      <BRPM install dir>/WEB-INF/lib/script_support/
      LIBRARY/resource_automation/<automation category> before 4.4 and from BRPM version 4.4, <BRPM install dir>/lib/script_support/
      LIBRARY/automation/<automation category>
      Automation category is one you may have created (requirements) and you may need to create the associated directory, or one already existing.
    3. From the BRM Console you need to import the resource automation, Environment -> Automation, click on Import scripts from Library on the right top of the screen.
    4. Select the integration server (the BAA/BSA server you'll connect to), to use as -> Automation, and the Category in which you've classified your resource automation.
    5. A list of non already imported resource automation should appear. Check the box associated with the script you want to import. Click import button.

    Dependencies:The following files that are script libraries that need to have been copied on <BRPM install dir>/WEB-INF/lib/script_support folder of your BRPM server:  bsa_utilities.rb and script_helper.rb (the last one replacing the file provided with the product) . After those files have been added to the environment, you need to restart BRPM. The following resource automations need to have been loaded in the same automation category that the one you plan to load the automation:

    1. bsa_getenvironment.rb -> BRPM Automation - BSA - bsa_getenvironment
    2. bsa_targetblueprint.rb -> BRPM Automation - BSA - bsa_targetblueprint
    3. bsa_getprovaction -> BRPM Automation - BSA - bsa_getprovaction
    4. bsa_requiredpackageproperties_servers -> BRPM Automation - BSA -bsa_requiredpackageproperties_servers
    5. bsa_deployphases.rb -> BRPM Automation - BSA - bsa_deployphases
    6. bsa_deployjob_folders.rb -> BRPM Automation - BSA - bsa_deployjob_folders
    7. bsa_getservers -> BRPM Automation - BSA - bsa_getservers

     

    Because of ressource automation 4, BSA needs to have added command on its web service and that require to install on BSA the following content:Blade ZipKit - WebServices CLI - ListBlPackageLocalProperties

     

    Community.jpg

    *Note: This is a community supported content