Information
    • 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.

BMC BladeLogic Server Automation integration issues


This topic provides the workaround required when integrating BMC Release Process Management 4.4.00.08 with BMC BladeLogic Server Automation 8.5.01.02 or 8.5.01.03.

To implement the workaround, perform all of the following procedures:

  1. To manually set up the SSL connection by creating a certificate
  2. To update Gems
  3. To update BMC Application Automation utilities

To manually set up the SSL connection by creating a certificate 

Failed to execute the [excerpt-include] macro.

For example:

Windows
> copy c:\openssl\blappserver.pem c:Program Files\BMC Software\RLM\releases\4.4.00.08\RPM\lib\script_support\blappserver.pem
UNIX
$ mv blappserver.pem lib/script_support/blappserver.pem 

To update Gems

  1. To update the rest-client, open the <RLM HOME>/releases/<version>/RPM/Gemfile and change Line 56:

    From:
    56> gem 'rest-client'
    To:
    56> gem 'rest-client', '1.7.2'
  2. On the command line, navigate to <RPM HOME>\releases\<version>\RPM and run the following executable file:
    • (Windows) > bin/setenv.bat
    • (UNIX) $ . bin/setenv.sh
  3. Install the dependencies specified in your Gem file.

    Windows
    > gem install 'bundler', '1.3.5'
    > bundle install


    UNIX
    $ bundle install

    For both Windows and UNIX platforms, the following message appears and then indicates the installation is successful.

    Installing rest-client 1.7.2
  4. To update HTTPI Gems, replace the following files with the files of the same name in the attached HTTPI_patch.zip file:   

    • <RLM HOME>\lib\jruby\lib\ruby\gems\shared\gems\httpi-1.1.1\lib\httpi\adapter\net_http.rb

    • <RLM HOME>\lib\jruby\lib\ruby\gems\shared\gems\httpi-1.1.1\lib\httpi\auth\ssl.rb

To update BMC Application Automation utilities

  1. Open <RLM HOME>\releases\<version>\RPM\lib\script_support\baa_utilities.rb in a text editor.
  2. At line 18-19, add the following new code:

    class << self

    CERTIFICATE_PEM = '/opt/bmc/RLM/releases/4.4.00/RPM/lib/script_support/blappserver.pem'
       CIPHERS = 'kEDH+AESGCM'

    def rest_version '8.2'
     end
  3. At line 18, provide a valid path to your environment.

    Windows
    CERTIFICATE_PEM = 'C:\Program Files\BMC Software\RLM\releases\4.4.00\RPM\lib\script_support\blappserver.pem'
    UNIX
    CERTIFICATE_PEM = '/opt/bmc/RLM/releases/4.4.00/RPM/lib/script_support/blappserver.pem'
  4. Replace line 56.

    From:
    def execute_job_internal(baa_base_url, baa_username, baa_password, baa_role, job_url, operation, arguments_hash)
       action_sub_url = "#{job_url}/Operations/#{operation}"
          url = compose_rest_url(baa_base_url, baa_username, baa_password, baa_role, action_sub_url)
        
      response = RestClient.post URI.escape(url), arguments_hash.to_json, :content_type => :json, :accept => :json
          response = parse_rest_response(response, 'posting', url)
    To:
    def execute_job_internal(baa_base_url, baa_username, baa_password, baa_role, job_url, operation, arguments_hash)
          action_sub_url = "#{job_url}/Operations/#{operation}"
          url = compose_rest_url(baa_base_url, baa_username, baa_password, baa_role, action_sub_url)

          response = build_rest_resource(url).post(arguments_hash.to_json, content_type: :json, accept: :json)
          response = parse_rest_response(response, 'posting', url)
  5. Replace lines 682 and 683.

    From:
    def get_rest_response(url)     
    response = RestClient.get URI.escape(url), :accept => :json
       parse_rest_response(response, 'querying', url)   
     end
    To:
    def get_rest_response(url)     
    response = build_rest_resource(url).get(accept: :json)     
    parse_rest_response(response, 'querying', url)   
     end
      
    def build_rest_resource(url)     
    puts "URL: #{url}"     
    puts "VERSION: #{RestClient.version}"     

    resource = RestClient::Resource.new(         
    URI.escape(url),         
    ssl_ciphers: CIPHERS,         
    ssl_ca_file: CERTIFICATE_PEM,         
    verify_ssl:  OpenSSL::SSL::VERIFY_PEER     
    )     
    resource
     end
  6. Replace line 721.

    From:
    def get_soap_client(baa_base_url, service_name, timeout = nil)     
    Savon.client("#{baa_base_url}/services/BSA#{service_name}.wsdl") do |_, http|
           http.auth.ssl.verify_mode = :none       
    http.read_timeout = timeout unless timeout.nil?     
     end # return client   
    end
    To:
    def get_soap_client(baa_base_url, service_name, timeout = nil)
    Savon.client("#{baa_base_url}/services/BSA#{service_name}.wsdl") do |_, http|       
    http.auth.ssl.verify_mode = :peer
           http.auth.ssl.ca_cert_file = CERTIFICATE_PEM
           http.auth.ssl.ciphers = CIPHERS       
    http.read_timeout = timeout unless timeout.nil?     
     end # return client   
    end
  7. Start the BMC Release Process Management service.

Related topics

Known and corrected issues

BMC-BladeLogic-Server-Automation-version-8-1-x

 

 

 

 

 

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

BMC Release Process Management 4.4