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:
- To manually set up the SSL connection by creating a certificate
- To update Gems
- 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:
To update Gems
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'- 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
Install the dependencies specified in your Gem file.
Windows> gem install 'bundler', '1.3.5'
> bundle installUNIX$ bundle installFor both Windows and UNIX platforms, the following message appears and then indicates the installation is successful.
Installing rest-client 1.7.2- To update HTTPI Gems, replace the following files with the files of the same name in the attached 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
- Open <RLM HOME>\releases\<version>\RPM\lib\script_support\baa_utilities.rb in a text editor.
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'
endAt line 18, provide a valid path to your environment.
WindowsCERTIFICATE_PEM = 'C:\Program Files\BMC Software\RLM\releases\4.4.00\RPM\lib\script_support\blappserver.pem'UNIXCERTIFICATE_PEM = '/opt/bmc/RLM/releases/4.4.00/RPM/lib/script_support/blappserver.pem'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)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)
endTo: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
endReplace 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
endTo: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- Start the BMC Release Process Management service.
Related topics
BMC-BladeLogic-Server-Automation-version-8-1-x