brpm_content 0.1.16
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +15 -0
- data/.gitignore +38 -0
- data/.travis.yml +14 -0
- data/Gemfile +3 -0
- data/LICENSE +21 -0
- data/README.md +308 -0
- data/Rakefile +24 -0
- data/TO_BE_MIGRATED.txt +8 -0
- data/architecture.png +0 -0
- data/brpm_content.gemspec +31 -0
- data/customers/demo/integrations/brpm/process_event_handler_event.rb +183 -0
- data/customers/demo/integrations/jenkins/spec/api/applications_spec.rb +89 -0
- data/customers/demo/integrations/jenkins/spec/api/plans_spec.rb +69 -0
- data/customers/demo/integrations/jenkins/spec/api/requests_spec.rb +57 -0
- data/customers/demo/integrations/jenkins/spec/spec_helper.rb +33 -0
- data/customers/demo/integrations/jira/process_webhook_event.rb +33 -0
- data/customers/demo/jira_mappings.rb +29 -0
- data/infrastructure/integrations/event_handler.rb +62 -0
- data/infrastructure/integrations/webhook_receiver.rb +49 -0
- data/infrastructure/shell_scripts/backup_database.sh +19 -0
- data/infrastructure/shell_scripts/create_bl_package.sh +34 -0
- data/infrastructure/shell_scripts/create_release_request.sh +34 -0
- data/infrastructure/shell_scripts/ddns.sh +10 -0
- data/infrastructure/shell_scripts/install_brpm.sh +63 -0
- data/infrastructure/shell_scripts/install_content_module.sh +66 -0
- data/infrastructure/shell_scripts/install_content_repo.sh +60 -0
- data/infrastructure/shell_scripts/install_module_from_gem.sh +80 -0
- data/infrastructure/shell_scripts/maintenance.sh +4 -0
- data/infrastructure/shell_scripts/patch_brpm.sh +90 -0
- data/infrastructure/shell_scripts/restore_database.sh +33 -0
- data/infrastructure/shell_scripts/run_event_handler.cmd +16 -0
- data/infrastructure/shell_scripts/run_event_handler.sh +20 -0
- data/infrastructure/shell_scripts/run_webhook_receiver.cmd +14 -0
- data/infrastructure/shell_scripts/run_webhook_receiver.sh +15 -0
- data/infrastructure/shell_scripts/update_content_repo.sh +21 -0
- data/infrastructure/silent_install_options_4.6.txt +93 -0
- data/infrastructure/silent_install_options_upgrade_4.6.txt +92 -0
- data/infrastructure/smtp_settings.rb +42 -0
- data/infrastructure/ssh_script_header_additions.rb +21 -0
- data/modules/ansible/automations/execute_role.rb +3 -0
- data/modules/ansible/automations/execute_role.txt +12 -0
- data/modules/ansible/config.yml +5 -0
- data/modules/ansible/lib/ansible.rb +41 -0
- data/modules/atrium_orchestrator/automations/execute_workflow.rb +12 -0
- data/modules/atrium_orchestrator/automations/execute_workflow.txt +25 -0
- data/modules/atrium_orchestrator/automations/reserve_ip_address.rb +22 -0
- data/modules/atrium_orchestrator/automations/reserve_ip_address.txt +21 -0
- data/modules/atrium_orchestrator/config.yml +7 -0
- data/modules/atrium_orchestrator/lib/ao_soap_client.rb +94 -0
- data/modules/bladelogic/automations/create_package.rb +29 -0
- data/modules/bladelogic/automations/create_package.txt +26 -0
- data/modules/bladelogic/automations/deploy_package.rb +137 -0
- data/modules/bladelogic/automations/deploy_package.txt +53 -0
- data/modules/bladelogic/config.yml +7 -0
- data/modules/bladelogic/lib/bl_rest/bsa_rest_client.rb +65 -0
- data/modules/bladelogic/lib/bl_soap/blpackage.rb +43 -0
- data/modules/bladelogic/lib/bl_soap/bsa_soap_base.rb +118 -0
- data/modules/bladelogic/lib/bl_soap/bsa_soap_client.rb +34 -0
- data/modules/bladelogic/lib/bl_soap/compliance_job.rb +155 -0
- data/modules/bladelogic/lib/bl_soap/deploy_job.rb +48 -0
- data/modules/bladelogic/lib/bl_soap/depot_group.rb +47 -0
- data/modules/bladelogic/lib/bl_soap/job.rb +376 -0
- data/modules/bladelogic/lib/bl_soap/job_group.rb +72 -0
- data/modules/bladelogic/lib/bl_soap/job_management.rb +22 -0
- data/modules/bladelogic/lib/bl_soap/job_result.rb +12 -0
- data/modules/bladelogic/lib/bl_soap/job_run.rb +271 -0
- data/modules/bladelogic/lib/bl_soap/login.rb +47 -0
- data/modules/bladelogic/lib/bl_soap/nsh_script_job.rb +14 -0
- data/modules/bladelogic/lib/bl_soap/patch_catalog.rb +178 -0
- data/modules/bladelogic/lib/bl_soap/patch_remediation_job.rb +137 -0
- data/modules/bladelogic/lib/bl_soap/patching_job.rb +250 -0
- data/modules/bladelogic/lib/bl_soap/server.rb +12 -0
- data/modules/bladelogic/lib/bl_soap/template.rb +13 -0
- data/modules/bladelogic/lib/bl_soap/utility.rb +99 -0
- data/modules/bladelogic/resource_automations/select_job.rb +33 -0
- data/modules/bladelogic/resource_automations/select_job.txt +15 -0
- data/modules/bladelogic/tests/create_package_spec.rb +28 -0
- data/modules/bladelogic/tests/deploy_package_spec.rb +23 -0
- data/modules/bladelogic/tests/spec_helper.rb +82 -0
- data/modules/brpm/automations/create_release_from_excel.rb +34 -0
- data/modules/brpm/automations/create_release_from_excel.txt +5 -0
- data/modules/brpm/automations/create_release_request.rb +100 -0
- data/modules/brpm/automations/create_release_request.txt +5 -0
- data/modules/brpm/automations/create_request.rb +73 -0
- data/modules/brpm/automations/create_request.txt +23 -0
- data/modules/brpm/automations/promote_request.rb +197 -0
- data/modules/brpm/automations/promote_request.txt +24 -0
- data/modules/brpm/automations/select_application_version.rb +22 -0
- data/modules/brpm/automations/select_application_version.txt +17 -0
- data/modules/brpm/automations/select_component_version.rb +12 -0
- data/modules/brpm/automations/select_component_version.txt +5 -0
- data/modules/brpm/automations/select_request_template.rb +6 -0
- data/modules/brpm/automations/select_request_template.txt +13 -0
- data/modules/brpm/automations/wait_for_step_in_other_request.rb +11 -0
- data/modules/brpm/automations/wait_for_step_in_other_request.txt +13 -0
- data/modules/brpm/automations/wait_till_promoted_request_is_completed.rb +9 -0
- data/modules/brpm/automations/wait_till_promoted_request_is_completed.txt +5 -0
- data/modules/brpm/config.yml +6 -0
- data/modules/brpm/lib/brpm_request.rb +207 -0
- data/modules/brpm/lib/brpm_rest.rb +312 -0
- data/modules/brpm/lib/brpm_rest_client.rb +1501 -0
- data/modules/brpm/resource_automations/select_application.rb +16 -0
- data/modules/brpm/resource_automations/select_application.txt +5 -0
- data/modules/brpm/resource_automations/select_environment.rb +14 -0
- data/modules/brpm/resource_automations/select_environment.txt +5 -0
- data/modules/brpm/resource_automations/select_request_template.rb +16 -0
- data/modules/brpm/resource_automations/select_request_template.txt +5 -0
- data/modules/brpm/resource_automations/select_step_in_request.rb +33 -0
- data/modules/brpm/resource_automations/select_step_in_request.txt +5 -0
- data/modules/brpm/sample_applications/e-finance.json +0 -0
- data/modules/brpm/tests/create_release_request_spec.rb +66 -0
- data/modules/brpm/tests/create_request_spec.rb +84 -0
- data/modules/brpm/tests/select_application_version_spec.rb +47 -0
- data/modules/brpm/tests/spec_helper.rb +63 -0
- data/modules/docker_brpm/automations/create_brpm_instance_input_params.rb +10 -0
- data/modules/docker_brpm/automations/create_brpm_instance_input_params.txt +17 -0
- data/modules/docker_brpm/automations/create_brpm_instance_one_shot.rb +60 -0
- data/modules/docker_brpm/automations/create_brpm_instance_one_shot.txt +14 -0
- data/modules/docker_brpm/automations/create_brpm_instance_show_results.rb +23 -0
- data/modules/docker_brpm/automations/create_brpm_instance_show_results.txt +13 -0
- data/modules/docker_brpm/automations/create_database.rb +24 -0
- data/modules/docker_brpm/automations/create_database.txt +3 -0
- data/modules/docker_brpm/automations/create_environment.rb +14 -0
- data/modules/docker_brpm/automations/create_environment.txt +3 -0
- data/modules/docker_brpm/automations/create_image_for_application.rb +23 -0
- data/modules/docker_brpm/automations/create_image_for_application.txt +6 -0
- data/modules/docker_brpm/automations/create_image_for_brpm_application_input_params.rb +7 -0
- data/modules/docker_brpm/automations/create_image_for_brpm_application_input_params.txt +8 -0
- data/modules/docker_brpm/automations/create_image_for_brpm_database_creator_input_params.rb +7 -0
- data/modules/docker_brpm/automations/create_image_for_brpm_database_creator_input_params.txt +8 -0
- data/modules/docker_brpm/automations/create_image_for_database_creator.rb +21 -0
- data/modules/docker_brpm/automations/create_image_for_database_creator.txt +6 -0
- data/modules/docker_brpm/automations/create_installed_component_for_application.rb +11 -0
- data/modules/docker_brpm/automations/create_installed_component_for_application.txt +3 -0
- data/modules/docker_brpm/automations/create_installed_component_for_database.rb +7 -0
- data/modules/docker_brpm/automations/create_installed_component_for_database.txt +3 -0
- data/modules/docker_brpm/automations/create_installed_component_for_database_creator.rb +8 -0
- data/modules/docker_brpm/automations/create_installed_component_for_database_creator.txt +3 -0
- data/modules/docker_brpm/automations/create_installed_component_for_utilities.rb +7 -0
- data/modules/docker_brpm/automations/create_installed_component_for_utilities.txt +3 -0
- data/modules/docker_brpm/automations/create_version_tags_for_component_in_all_envs.rb +13 -0
- data/modules/docker_brpm/automations/create_version_tags_for_component_in_all_envs.txt +6 -0
- data/modules/docker_brpm/automations/delete_brpm_instance.rb +38 -0
- data/modules/docker_brpm/automations/delete_brpm_instance.txt +8 -0
- data/modules/docker_brpm/automations/execute_test_run_in_jenkins.rb +43 -0
- data/modules/docker_brpm/automations/execute_test_run_in_jenkins.txt +13 -0
- data/modules/docker_brpm/automations/execute_test_run_in_jenkins_show_results.rb +5 -0
- data/modules/docker_brpm/automations/execute_test_run_in_jenkins_show_results.txt +9 -0
- data/modules/docker_brpm/automations/launch_create_image_for_brpm_application_request.rb +27 -0
- data/modules/docker_brpm/automations/launch_create_image_for_brpm_application_request.txt +3 -0
- data/modules/docker_brpm/automations/launch_test_run_request.rb +30 -0
- data/modules/docker_brpm/automations/launch_test_run_request.txt +14 -0
- data/modules/docker_brpm/automations/release_brpm_input_params.rb +7 -0
- data/modules/docker_brpm/automations/release_brpm_input_params.txt +8 -0
- data/modules/docker_brpm/automations/run_application_container.rb +27 -0
- data/modules/docker_brpm/automations/run_application_container.txt +3 -0
- data/modules/docker_brpm/automations/run_database_container.rb +14 -0
- data/modules/docker_brpm/automations/run_database_container.txt +3 -0
- data/modules/docker_brpm/automations/stop_application_container.rb +11 -0
- data/modules/docker_brpm/automations/stop_application_container.txt +3 -0
- data/modules/docker_brpm/automations/stop_database_container.rb +11 -0
- data/modules/docker_brpm/automations/stop_database_container.txt +3 -0
- data/modules/docker_brpm/automations/test_rest_api.rb +18 -0
- data/modules/docker_brpm/automations/test_rest_api.txt +3 -0
- data/modules/docker_brpm/automations/upgrade_database.rb +19 -0
- data/modules/docker_brpm/automations/upgrade_database.txt +8 -0
- data/modules/docker_brpm/config.yml +8 -0
- data/modules/docker_brpm/lib/docker.rb +39 -0
- data/modules/docker_brpm/lib/git.rb +16 -0
- data/modules/docker_brpm/sample_applications/dockerizedbrpm.json +0 -0
- data/modules/email/automations/send_notification.rb +48 -0
- data/modules/email/automations/send_notification.txt +27 -0
- data/modules/email/config.yml +6 -0
- data/modules/framework/automations/direct_execute.rb +10 -0
- data/modules/framework/automations/direct_execute.txt +16 -0
- data/modules/framework/automations/install_module.rb +13 -0
- data/modules/framework/automations/install_module.txt +16 -0
- data/modules/framework/bin/brpm_install +106 -0
- data/modules/framework/bin/event_handler +63 -0
- data/modules/framework/bin/webhook_receiver +49 -0
- data/modules/framework/brpm_auto.rb +307 -0
- data/modules/framework/brpm_framework.rb +88 -0
- data/modules/framework/brpm_script_executor.rb +146 -0
- data/modules/framework/config.yml +7 -0
- data/modules/framework/config/customer_include.rb +26 -0
- data/modules/framework/config/server.yml +3 -0
- data/modules/framework/customer_include_default.rb +25 -0
- data/modules/framework/lib/logging/brpm_logger.rb +39 -0
- data/modules/framework/lib/logging/logger_base.rb +36 -0
- data/modules/framework/lib/logging/simple_logger.rb +27 -0
- data/modules/framework/lib/params/all_params.rb +80 -0
- data/modules/framework/lib/params/integration_settings.rb +27 -0
- data/modules/framework/lib/params/params.rb +172 -0
- data/modules/framework/lib/params/params_base.rb +81 -0
- data/modules/framework/lib/params/request_params.rb +38 -0
- data/modules/framework/lib/resource_framework.rb +211 -0
- data/modules/framework/lib/rest_api.rb +155 -0
- data/modules/framework/lib/semaphore.rb +79 -0
- data/modules/framework/lib/utilities.rb +317 -0
- data/modules/framework/lib/version_control/git.rb +192 -0
- data/modules/framework/lib/version_control/svn.rb +221 -0
- data/modules/framework/log.html +39 -0
- data/modules/framework/tests/all_params_spec.rb +116 -0
- data/modules/framework/tests/brpm_auto_spec.rb +84 -0
- data/modules/framework/tests/customer_include/config/customer_include.rb +10 -0
- data/modules/framework/tests/customer_include/config/server.yml +3 -0
- data/modules/framework/tests/customer_include_spec.rb +29 -0
- data/modules/framework/tests/local_jirb.rb +15 -0
- data/modules/framework/tests/params_spec.rb +172 -0
- data/modules/framework/tests/request_params_spec.rb +86 -0
- data/modules/framework/tests/server_yaml_spec.rb +19 -0
- data/modules/framework/tests/spec_helper.rb +42 -0
- data/modules/framework/transport/dispatch_baa.rb +355 -0
- data/modules/framework/transport/dispatch_base.rb +345 -0
- data/modules/framework/transport/dispatch_nsh.rb +248 -0
- data/modules/framework/transport/dispatch_ssh.rb +154 -0
- data/modules/framework/transport/transport_baa.rb +1095 -0
- data/modules/framework/transport/transport_nsh.rb +359 -0
- data/modules/framework/transport/transport_ssh.rb +220 -0
- data/modules/framework/write_to.rb +1 -0
- data/modules/jenkins/automations/create_release.rb +4 -0
- data/modules/jenkins/automations/create_release.txt +23 -0
- data/modules/jenkins/automations/f2_downloadJenkinsArtifact.rb +126 -0
- data/modules/jenkins/config.yml +7 -0
- data/modules/jenkins/lib/jenkins.rb +300 -0
- data/modules/jenkins/resource_automations/f2_rsc_jenkinsJobs.rb +58 -0
- data/modules/jira/automations/add_comment.rb +4 -0
- data/modules/jira/automations/add_comment.txt +23 -0
- data/modules/jira/automations/create_release.rb +4 -0
- data/modules/jira/automations/create_release.txt +23 -0
- data/modules/jira/automations/delete_release.rb +4 -0
- data/modules/jira/automations/delete_release.txt +23 -0
- data/modules/jira/automations/transition_issue.rb +4 -0
- data/modules/jira/automations/transition_issue.txt +23 -0
- data/modules/jira/automations/transition_issues_for_request.rb +29 -0
- data/modules/jira/automations/transition_issues_for_request.txt +20 -0
- data/modules/jira/automations/transition_issues_for_run.rb +26 -0
- data/modules/jira/automations/transition_issues_for_run.txt +20 -0
- data/modules/jira/automations/update_release.rb +4 -0
- data/modules/jira/automations/update_release.txt +26 -0
- data/modules/jira/config.yml +7 -0
- data/modules/jira/lib/jira_rest_client.rb +185 -0
- data/modules/jira/tests/create_read_update_delete_release_spec.rb +39 -0
- data/modules/jira/tests/spec_helper.rb +39 -0
- data/modules/jira/tests/transition_issue_spec.rb +32 -0
- data/modules/patch_process_management/automations/execute_job/script.rb +105 -0
- data/modules/patch_process_management/automations/execute_job/wrapper.txt +39 -0
- data/modules/patch_process_management/automations/patch_analysis/script.rb +107 -0
- data/modules/patch_process_management/automations/patch_analysis/wrapper.txt +33 -0
- data/modules/patch_process_management/automations/patch_readiness/script.rb +89 -0
- data/modules/patch_process_management/automations/patch_readiness/wrapper.txt +33 -0
- data/modules/patch_process_management/automations/patch_remediation/script.rb +217 -0
- data/modules/patch_process_management/automations/patch_remediation/wrapper.txt +40 -0
- data/modules/patch_process_management/config.yml +10 -0
- data/modules/teamcity/automations/trigger_build.rb +4 -0
- data/modules/teamcity/automations/trigger_build.txt +14 -0
- data/modules/teamcity/config.yml +7 -0
- data/modules/teamcity/lib/teamcity_rest_client.rb +17 -0
- data/modules/teamcity/tests/spec_helper.rb +34 -0
- data/modules/teamcity/tests/trigger_build_spec.rb +27 -0
- data/modules/windows/automations/deploy_directory_over_windows_shares/script.rb +87 -0
- data/modules/windows/automations/deploy_directory_over_windows_shares/wrapper.txt +29 -0
- data/modules/windows/automations/deploy_file_over_windows_shares/script.rb +31 -0
- data/modules/windows/automations/deploy_file_over_windows_shares/wrapper.txt +24 -0
- data/modules/windows/config.yml +6 -0
- data/modules/windows/lib/samba.rb +29 -0
- metadata +397 -0
@@ -0,0 +1,29 @@
|
|
1
|
+
load "brpm/lib/brpm_rest_client.rb"
|
2
|
+
|
3
|
+
def is_issue_valid(issue)
|
4
|
+
return true
|
5
|
+
end
|
6
|
+
|
7
|
+
def map_issue_to_ticket(issue, ticket)
|
8
|
+
ticket["foreign_id"] = issue["key"]
|
9
|
+
ticket["ticket_type"] = issue["fields"]["issuetype"]["name"]
|
10
|
+
ticket["name"] = issue["fields"]["summary"]
|
11
|
+
ticket["status"] = issue["fields"]["status"]["name"]
|
12
|
+
ticket["app_name"] = issue["fields"]["project"]["name"]
|
13
|
+
|
14
|
+
ticket["extended_attributes_attributes"] = Array.new
|
15
|
+
# ticket["extended_attributes_attributes"].push( { "name" => "blabla", "value_text" => "bloblo" } )
|
16
|
+
end
|
17
|
+
|
18
|
+
def map_stage_to_issue_status(stage)
|
19
|
+
case stage
|
20
|
+
when "Development"
|
21
|
+
return "Deployed to development"
|
22
|
+
when "Test"
|
23
|
+
return "Deployed to test"
|
24
|
+
else
|
25
|
+
return nil
|
26
|
+
end
|
27
|
+
end
|
28
|
+
|
29
|
+
|
@@ -0,0 +1,62 @@
|
|
1
|
+
#!/usr/bin/env jruby
|
2
|
+
require 'rubygems'
|
3
|
+
require 'torquebox'
|
4
|
+
require 'torquebox-messaging'
|
5
|
+
require 'xmlsimple'
|
6
|
+
require_relative "../../modules/framework/brpm_script_executor"
|
7
|
+
|
8
|
+
BrpmAuto.initialize_logger(ENV["EVENT_HANDLER_LOG_FILE"])
|
9
|
+
|
10
|
+
host = ENV["EVENT_HANDLER_BRPM_HOST"]
|
11
|
+
port = ENV["EVENT_HANDLER_MESSAGING_PORT"]
|
12
|
+
username = ENV["EVENT_HANDLER_MESSAGING_USERNAME"]
|
13
|
+
password = ENV["EVENT_HANDLER_MESSAGING_PASSWORD"]
|
14
|
+
process_event_script = ENV["EVENT_HANDLER_PROCESS_EVENT_SCRIPT"]
|
15
|
+
|
16
|
+
require_relative "../../#{process_event_script}"
|
17
|
+
|
18
|
+
class MessagingProcessor < TorqueBox::Messaging::MessageProcessor
|
19
|
+
|
20
|
+
MESSAGING_PATH = '/topics/messaging/brpm_event_queue'
|
21
|
+
|
22
|
+
def initialize(host, port, username, password)
|
23
|
+
BrpmAuto.log "Initializing the message processor..."
|
24
|
+
@destination = TorqueBox::Messaging::Topic.new(
|
25
|
+
MESSAGING_PATH,
|
26
|
+
:host => host,
|
27
|
+
:port => port,
|
28
|
+
:username => username,
|
29
|
+
:password => password
|
30
|
+
)
|
31
|
+
end
|
32
|
+
|
33
|
+
def run
|
34
|
+
begin
|
35
|
+
xml = "<root>#{@destination.receive}</root>"
|
36
|
+
BrpmAuto.log xml if ENV["EVENT_HANDLER_LOG_EVENT"]=="1"
|
37
|
+
|
38
|
+
event = XmlSimple.xml_in(xml)
|
39
|
+
|
40
|
+
BrpmAuto.log "Processing new event..."
|
41
|
+
process_event(event)
|
42
|
+
|
43
|
+
rescue Exception => e
|
44
|
+
BrpmAuto.log_error(e)
|
45
|
+
BrpmAuto.log e.backtrace.join("\n\t")
|
46
|
+
end
|
47
|
+
end
|
48
|
+
end
|
49
|
+
|
50
|
+
begin
|
51
|
+
consumer = MessagingProcessor.new(host, port, username, password)
|
52
|
+
BrpmAuto.log "Starting to listen for events ..."
|
53
|
+
loop do
|
54
|
+
consumer.run
|
55
|
+
end
|
56
|
+
|
57
|
+
rescue Exception => e
|
58
|
+
BrpmAuto.log_error(e)
|
59
|
+
BrpmAuto.log e.backtrace.join("\n\t")
|
60
|
+
|
61
|
+
raise e
|
62
|
+
end
|
@@ -0,0 +1,49 @@
|
|
1
|
+
#!/usr/bin/env ruby
|
2
|
+
require 'rubygems'
|
3
|
+
require 'json'
|
4
|
+
require 'rest-client'
|
5
|
+
require 'webrick'
|
6
|
+
require_relative "../../modules/framework/brpm_script_executor"
|
7
|
+
|
8
|
+
BrpmAuto.initialize_logger(ENV["WEBHOOK_RECEIVER_LOG_FILE"])
|
9
|
+
|
10
|
+
port = ENV["WEBHOOK_RECEIVER_PORT"]
|
11
|
+
mount_point = "/#{ENV["WEBHOOK_RECEIVER_MOUNT_POINT"]}"
|
12
|
+
process_event_script = ENV["WEBHOOK_RECEIVER_PROCESS_EVENT_SCRIPT"]
|
13
|
+
|
14
|
+
require_relative "../../#{process_event_script}"
|
15
|
+
|
16
|
+
class EventProcessor < WEBrick::HTTPServlet::AbstractServlet
|
17
|
+
def do_POST(request, response)
|
18
|
+
begin
|
19
|
+
event = JSON.parse(request.body)
|
20
|
+
|
21
|
+
BrpmAuto.log "Processing new event..."
|
22
|
+
process_event(event)
|
23
|
+
|
24
|
+
response.status = 200
|
25
|
+
response['Content-Type'] = "text/plain"
|
26
|
+
response.body = "OK"
|
27
|
+
rescue Exception => e
|
28
|
+
BrpmAuto.log_error(e)
|
29
|
+
BrpmAuto.log e.backtrace.join("\n\t")
|
30
|
+
end
|
31
|
+
end
|
32
|
+
end
|
33
|
+
|
34
|
+
begin
|
35
|
+
server = WEBrick::HTTPServer.new(:Port => port)
|
36
|
+
server.mount mount_point, EventProcessor
|
37
|
+
|
38
|
+
trap("INT") {
|
39
|
+
server.shutdown
|
40
|
+
}
|
41
|
+
|
42
|
+
BrpmAuto.log "Starting the server..."
|
43
|
+
server.start
|
44
|
+
rescue Exception => e
|
45
|
+
BrpmAuto.log_error(e)
|
46
|
+
BrpmAuto.log e.backtrace.join("\n\t")
|
47
|
+
|
48
|
+
raise e
|
49
|
+
end
|
@@ -0,0 +1,19 @@
|
|
1
|
+
#! /bin/bash
|
2
|
+
|
3
|
+
if [ -z "$BRPM_HOME" ]; then
|
4
|
+
echo "BRPM_HOME is not set (e.g. /opt/bmc/RLM). Aborting the backup."
|
5
|
+
exit 1
|
6
|
+
fi
|
7
|
+
|
8
|
+
BRPM_DB_NAME=bmc_rpm_db
|
9
|
+
BRPM_DB_USER=rlm_user
|
10
|
+
|
11
|
+
if [ ! -d "/root/database_backups" ]; then
|
12
|
+
mkdir -p /root/database_backups
|
13
|
+
fi
|
14
|
+
|
15
|
+
DATE=$(date +"%Y%m%d%H%M")
|
16
|
+
echo "Backing up database to /root/database_backups/brpm_database_dump_$DATE.sql..."
|
17
|
+
$BRPM_HOME/pgsql/bin/pg_dump -U $BRPM_DB_USER $BRPM_DB_NAME -f /root/database_backups/brpm_database_dump_$DATE.sql
|
18
|
+
|
19
|
+
echo "Done."
|
@@ -0,0 +1,34 @@
|
|
1
|
+
#!/bin/bash
|
2
|
+
|
3
|
+
# ASSUMPTION: this script should be executed from the root direcory of the framework
|
4
|
+
|
5
|
+
if [ -z "$BRPM_HOME" ]; then
|
6
|
+
echo "BRPM_HOME is not set (e.g. /opt/bmc/RLM). Aborting the installation."
|
7
|
+
exit 1
|
8
|
+
fi
|
9
|
+
|
10
|
+
. $BRPM_HOME/bin/setenv.sh
|
11
|
+
|
12
|
+
jruby <<-EORUBY
|
13
|
+
require "modules/framework/brpm_script_executor"
|
14
|
+
|
15
|
+
params = {}
|
16
|
+
params["application"] = "$APPLICATION"
|
17
|
+
params["component"] = "$COMPONENT"
|
18
|
+
params["component_version"] = "$COMPONENT_VERSION"
|
19
|
+
|
20
|
+
params["brpm_url"] = "http://$BRPM_HOST:$BRPM_PORT/brpm"
|
21
|
+
params["brpm_api_token"] = "$BRPM_TOKEN"
|
22
|
+
|
23
|
+
params["SS_integration_dns"] = "$SS_INTEGRATION_DNS"
|
24
|
+
params["SS_integration_username"] = "$SS_INTEGRATION_USERNAME"
|
25
|
+
params["SS_integration_password"] = "$SS_INTEGRATION_PASSWORD"
|
26
|
+
params["SS_integration_details"] = {}
|
27
|
+
params["SS_integration_details"]["role"] = "$SS_INTEGRATION_DETAILS_ROLE"
|
28
|
+
|
29
|
+
params["log_file"] = "$LOG_FILE"
|
30
|
+
params["also_log_to_console"] = "true"
|
31
|
+
|
32
|
+
BrpmScriptExecutor.execute_automation_script("bladelogic", "create_package", params)
|
33
|
+
EORUBY
|
34
|
+
|
@@ -0,0 +1,34 @@
|
|
1
|
+
#!/bin/bash
|
2
|
+
|
3
|
+
# ASSUMPTION: this script should be executed from the root direcory of the framework
|
4
|
+
|
5
|
+
if [ -z "$BRPM_HOME" ]; then
|
6
|
+
echo "BRPM_HOME is not set (e.g. /opt/bmc/RLM). Aborting the installation."
|
7
|
+
exit 1
|
8
|
+
fi
|
9
|
+
|
10
|
+
. $BRPM_HOME/bin/setenv.sh
|
11
|
+
|
12
|
+
jruby <<-EORUBY
|
13
|
+
require "modules/framework/brpm_script_executor"
|
14
|
+
|
15
|
+
params = {}
|
16
|
+
params["application_name"] = "$APPLICATION_NAME"
|
17
|
+
params["application_version"] = "$APPLICATION_VERSION"
|
18
|
+
|
19
|
+
params["ef_net_version"] = "$EF_NET_VERSION"
|
20
|
+
params["ef_java_version"] = "$EF_JAVA_VERSION"
|
21
|
+
|
22
|
+
params["release_request_template_name"] = "$RELEASE_REQUEST_TEMPLATE_NAME"
|
23
|
+
params["release_plan_template_name"] = "$RELEASE_PLAN_TEMPLATE_NAME" unless "$RELEASE_PLAN_TEMPLATE_NAME".empty?
|
24
|
+
params["release_plan_name"] = "$RELEASE_PLAN_NAME" unless "$RELEASE_PLAN_NAME".empty?
|
25
|
+
|
26
|
+
params["brpm_url"] = "http://$BRPM_HOST:$BRPM_PORT/brpm"
|
27
|
+
params["brpm_api_token"] = "$BRPM_TOKEN"
|
28
|
+
|
29
|
+
params["log_file"] = "$LOG_FILE"
|
30
|
+
params["also_log_to_console"] = "true"
|
31
|
+
|
32
|
+
BrpmScriptExecutor.execute_automation_script("brpm", "create_release_request", params)
|
33
|
+
EORUBY
|
34
|
+
|
@@ -0,0 +1,10 @@
|
|
1
|
+
#!/bin/bash
|
2
|
+
wget https://freedns.afraid.org/scripts/afraid.aws.sh.txt
|
3
|
+
read -p "Press [enter] to open afraid.aws.sh.txt -> modify GET to curl and insert the token for the new dns name (see http://freedns.afraid.org/dynamic/)..."
|
4
|
+
nano afraid.aws.sh.txt
|
5
|
+
mv afraid.aws.sh.txt /etc/cron.d/afraid.aws.sh
|
6
|
+
chmod 500 /etc/cron.d/afraid.aws.sh
|
7
|
+
sudo chown root.root /etc/cron.d/afraid.aws.sh
|
8
|
+
echo "*/2 * * * * root /etc/cron.d/afraid.aws.sh >/dev/null 2>&1" >> /etc/crontab
|
9
|
+
read -p "What is the dns name?" dnsname
|
10
|
+
sed -c -i "s/\(HOSTNAME *= *\).*/\1$dnsname/" /etc/sysconfig/network
|
@@ -0,0 +1,63 @@
|
|
1
|
+
#!/bin/bash
|
2
|
+
service iptables stop
|
3
|
+
chkconfig iptables off
|
4
|
+
yum update -y
|
5
|
+
yum install -y git wget nano curl unzip
|
6
|
+
|
7
|
+
read -p "What is the location of the RLM package? (either ftp link or local file system)" LOCATION
|
8
|
+
|
9
|
+
if [ -z "$LOCATION" ]; then
|
10
|
+
echo "The location was not specified. Aborting the installation."
|
11
|
+
exit 1
|
12
|
+
fi
|
13
|
+
|
14
|
+
if [[ "$LOCATION" == ftp://* ]]; then
|
15
|
+
wget -O ./RLM.zip $LOCATION
|
16
|
+
LOCATION=./RLM.zip
|
17
|
+
fi
|
18
|
+
|
19
|
+
if [ ! -f "$LOCATION" ]; then
|
20
|
+
echo "The specified location is not a patch file. Aborting the installation."
|
21
|
+
exit 1
|
22
|
+
fi
|
23
|
+
|
24
|
+
unzip $LOCATION
|
25
|
+
cd BRLM/Disk1/
|
26
|
+
|
27
|
+
read -p "What is the location of the silent install file?" SILENT_INSTALL_FILE_LOCATION
|
28
|
+
|
29
|
+
if [ ! -f "$SILENT_INSTALL_FILE_LOCATION" ]; then
|
30
|
+
echo "The silent install file was not found. Aborting the installation."
|
31
|
+
exit 1
|
32
|
+
fi
|
33
|
+
|
34
|
+
BRPM_HOME=$(eval "sed -n \"s/-P installLocation=\(.*\)/\1/p\" $SILENT_INSTALL_FILE_LOCATION")
|
35
|
+
if [ -z "$BRPM_HOME" ]; then
|
36
|
+
echo "The specified location is not a silent install file. Aborting the installation."
|
37
|
+
exit 1
|
38
|
+
fi
|
39
|
+
|
40
|
+
chmod +x setup.sh
|
41
|
+
./setup.sh -i silent -DOPTIONS_FILE=$SILENT_INSTALL_FILE_LOCATION
|
42
|
+
|
43
|
+
read -p "What is the public hostname? [$(hostname)]" EXTERNAL_HOSTNAME
|
44
|
+
CURRENT_HOSTNAME=$(hostname)
|
45
|
+
BRPM_HOSTNAME=${EXTERNAL_HOSTNAME:-$CURRENT_HOSTNAME}
|
46
|
+
|
47
|
+
echo "Stopping BRPM..."
|
48
|
+
/etc/init.d/bmcrpm-4.6.00 stop
|
49
|
+
|
50
|
+
echo "Replacing the hostname to the public hostname in torquebox.yml ..."
|
51
|
+
CURRENT_VERSION=$(eval "sed -n \"s= root: $BRPM_HOME/releases/\(.*\)/RPM=\1=p\" $BRPM_HOME/server/jboss/standalone/deployments/RPM-knob.yml")
|
52
|
+
DEFAULT_HOSTNAME=$(eval "sed -n \"s= host: \(.*\)=\1=p\" $BRPM_HOME/releases/$CURRENT_VERSION/RPM/config/torquebox.yml")
|
53
|
+
sed -i -e s/$DEFAULT_HOSTNAME/$BRPM_HOSTNAME/g $BRPM_HOME/releases/$CURRENT_VERSION/RPM/config/torquebox.yml
|
54
|
+
|
55
|
+
echo "Restarting BRPM..."
|
56
|
+
/etc/init.d/bmcrpm-4.6.00 start
|
57
|
+
|
58
|
+
echo "Done."
|
59
|
+
|
60
|
+
echo "Make sure that the BRPM and stomp ports are open."
|
61
|
+
|
62
|
+
|
63
|
+
|
@@ -0,0 +1,66 @@
|
|
1
|
+
#!/bin/bash
|
2
|
+
|
3
|
+
if [ -z "$BRPM_HOME" ]; then
|
4
|
+
echo "BRPM_HOME is not set (e.g. /opt/bmc/RLM). Aborting the installation."
|
5
|
+
exit 1
|
6
|
+
fi
|
7
|
+
|
8
|
+
read -p "What is the location of the content module? You may specify either the location of a zip file on the local file system or the url of a github repo (e.g. https://github.com/BMC-RLM/brpm_module_mymodule.git)" LOCATION
|
9
|
+
|
10
|
+
if [ -z "$LOCATION" ]; then
|
11
|
+
echo "The location was not specified. Aborting the installation."
|
12
|
+
exit 1
|
13
|
+
fi
|
14
|
+
|
15
|
+
if [[ $LOCATION == *"github.com"* ]]; then
|
16
|
+
echo "The location refers to a github repo."
|
17
|
+
IS_GITHUB_LOCATION=true
|
18
|
+
else
|
19
|
+
IS_GITHUB_LOCATION=false
|
20
|
+
echo "The location refers to a file."
|
21
|
+
if [ ! -f "$LOCATION" ]; then
|
22
|
+
echo "The specified location is not a file. Aborting the installation."
|
23
|
+
exit 1
|
24
|
+
fi
|
25
|
+
fi
|
26
|
+
|
27
|
+
BASENAME=$(basename $LOCATION)
|
28
|
+
NAME=${BASENAME%.*}
|
29
|
+
|
30
|
+
CURRENT_VERSION=$(eval "sed -n \"s= root: $BRPM_HOME/releases/\(.*\)/RPM=\1=p\" $BRPM_HOME/server/jboss/standalone/deployments/RPM-knob.yml")
|
31
|
+
CONTENT_MODULES_PATH=$BRPM_HOME/releases/$CURRENT_VERSION/RPM/lib/script_support/git_repos/modules
|
32
|
+
CONTENT_MODULE_PATH=$BRPM_HOME/releases/$CURRENT_VERSION/RPM/lib/script_support/git_repos/modules/$NAME
|
33
|
+
|
34
|
+
if [ ! -d "$CONTENT_MODULES_PATH" ]; then
|
35
|
+
echo "Creating directory $CONTENT_MODULES_PATH..."
|
36
|
+
mkdir -p $CONTENT_MODULES_PATH
|
37
|
+
fi
|
38
|
+
|
39
|
+
if [ ! -d "${CONTENT_MODULES_PATH}_archive" ]; then
|
40
|
+
echo "Creating directory ${CONTENT_MODULES_PATH}_archive..."
|
41
|
+
mkdir -p ${CONTENT_MODULES_PATH}_archive
|
42
|
+
fi
|
43
|
+
|
44
|
+
if [ -d "$CONTENT_MODULE_PATH" ]; then
|
45
|
+
DATE=$(date +"%Y%m%d%H%M")
|
46
|
+
echo "Archiving current content module to ${CONTENT_MODULES_PATH}_archive/${NAME}_${DATE}..."
|
47
|
+
mv ${CONTENT_MODULE_PATH} ${CONTENT_MODULES_PATH}_archive/${NAME}_${DATE}
|
48
|
+
fi
|
49
|
+
|
50
|
+
if [ "$IS_GITHUB_LOCATION" = true ]; then
|
51
|
+
echo "Doing a 'git clone $LOCATION' on $CONTENT_MODULES_PATH..."
|
52
|
+
tmp_dir=$(pwd)
|
53
|
+
cd $CONTENT_MODULES_PATH
|
54
|
+
git clone $LOCATION
|
55
|
+
cd $tmp_dir
|
56
|
+
else
|
57
|
+
echo "Unzipping $LOCATION..."
|
58
|
+
unzip "$LOCATION" -d $CONTENT_MODULES_PATH
|
59
|
+
|
60
|
+
if [ -d $CONTENT_MODULES_PATH/$NAME-master ]; then
|
61
|
+
echo "Renaming the directory to $CONTENT_MODULE_PATH..."
|
62
|
+
mv $CONTENT_MODULES_PATH/$NAME-master $CONTENT_MODULE_PATH
|
63
|
+
fi
|
64
|
+
fi
|
65
|
+
|
66
|
+
echo "Done."
|
@@ -0,0 +1,60 @@
|
|
1
|
+
#!/bin/bash
|
2
|
+
|
3
|
+
if [ -z "$BRPM_HOME" ]; then
|
4
|
+
echo "BRPM_HOME is not set (e.g. /opt/bmc/RLM). Aborting the installation."
|
5
|
+
exit 1
|
6
|
+
fi
|
7
|
+
|
8
|
+
INSTALL=${INSTALL:-LOCAL}
|
9
|
+
|
10
|
+
if [ $INSTALL = "LOCAL" ]; then
|
11
|
+
read -p "What is the location of the content zip file? (leave empty to do a git clone from github)" LOCATION
|
12
|
+
|
13
|
+
if [ ! -z "$LOCATION" ]; then
|
14
|
+
if [ ! -f "$LOCATION" ]; then
|
15
|
+
echo "The specified location is not a file. Aborting the installation."
|
16
|
+
exit 1
|
17
|
+
fi
|
18
|
+
fi
|
19
|
+
fi
|
20
|
+
|
21
|
+
CURRENT_VERSION=$(eval "sed -n \"s= root: $BRPM_HOME/releases/\(.*\)/RPM=\1=p\" $BRPM_HOME/server/jboss/standalone/deployments/RPM-knob.yml")
|
22
|
+
CONTENT_REPOS_PATH=$BRPM_HOME/releases/$CURRENT_VERSION/RPM/lib/script_support/git_repos
|
23
|
+
CONTENT_REPO_PATH=$CONTENT_REPOS_PATH/brpm_content
|
24
|
+
|
25
|
+
if [ ! -d "$CONTENT_REPOS_PATH" ]; then
|
26
|
+
echo "Creating directory $CONTENT_REPOS_PATH..."
|
27
|
+
mkdir -p $CONTENT_REPOS_PATH
|
28
|
+
fi
|
29
|
+
|
30
|
+
if [ -d "$CONTENT_REPO_PATH" ]; then
|
31
|
+
DATE=$(date +"%Y%m%d%H%M")
|
32
|
+
echo "Archiving current content repo to ${CONTENT_REPO_PATH}_${DATE}..."
|
33
|
+
mv ${CONTENT_REPO_PATH} ${CONTENT_REPO_PATH}_${DATE}
|
34
|
+
fi
|
35
|
+
|
36
|
+
if [ -z "$LOCATION" ]; then
|
37
|
+
echo "Doing a 'git clone https://github.com/BMC-RLM/brpm_content.git' on $CONTENT_REPOS_PATH..."
|
38
|
+
tmp_dir=$(pwd)
|
39
|
+
cd $CONTENT_REPOS_PATH
|
40
|
+
git clone https://github.com/BMC-RLM/brpm_content.git
|
41
|
+
cd $tmp_dir
|
42
|
+
else
|
43
|
+
echo "Unzipping $LOCATION..."
|
44
|
+
unzip "$LOCATION" -d $CONTENT_REPOS_PATH
|
45
|
+
|
46
|
+
echo "Renaming the directory to $CONTENT_REPO_PATH..."
|
47
|
+
mv $CONTENT_REPOS_PATH/brpm_content-master $CONTENT_REPO_PATH
|
48
|
+
fi
|
49
|
+
|
50
|
+
cp $CONTENT_REPO_PATH/modules/framework/log.html $BRPM_HOME/automation_results
|
51
|
+
|
52
|
+
if [ ! -d "/root/shell_scripts" ]; then
|
53
|
+
mkdir -p /root/shell_scripts
|
54
|
+
fi
|
55
|
+
|
56
|
+
cp $CONTENT_REPO_PATH/infrastructure/shell_scripts/* /root/shell_scripts
|
57
|
+
|
58
|
+
echo "Done."
|
59
|
+
|
60
|
+
echo "Make sure that the following item is added to Metadata > Lists > AutomationErrors: '******** ERROR ********'"
|
@@ -0,0 +1,80 @@
|
|
1
|
+
#!/bin/bash
|
2
|
+
|
3
|
+
# This script is a wrapper around gem install and exists for the following reasons:
|
4
|
+
# 1) We want to keep the module gems and their dependencies in a separate location than the gems that are used by BRPM so we need to override the install dir
|
5
|
+
# 2) In case the module gem that needs to be installed comes with a gemfile.lock a "bundle install" should be executed to make sure the locked gem versions are installed
|
6
|
+
# 3) Make sure that brpm_content-latest always symlinks to the latest installed version
|
7
|
+
|
8
|
+
USAGE="install_module_from_gem.sh <module name> [<module version>]"
|
9
|
+
|
10
|
+
MODULE_NAME=$1
|
11
|
+
MODULE_VERSION=$2
|
12
|
+
|
13
|
+
if [ -z "$BRPM_HOME" ]; then
|
14
|
+
echo "BRPM_HOME is not set (e.g. /opt/bmc/RLM). Aborting the installation."
|
15
|
+
exit 1
|
16
|
+
fi
|
17
|
+
|
18
|
+
if [ -z "$MODULE_NAME" ]; then
|
19
|
+
echo "Module name is not specified. Aborting the patch installation."
|
20
|
+
echo "Usage: $USAGE"
|
21
|
+
exit 1
|
22
|
+
fi
|
23
|
+
|
24
|
+
. $BRPM_HOME/bin/setenv.sh
|
25
|
+
|
26
|
+
jruby <<EORUBY
|
27
|
+
require "rubygems"
|
28
|
+
require "bundler"
|
29
|
+
|
30
|
+
module_name = "$MODULE_NAME"
|
31
|
+
module_version = "$MODULE_VERSION"
|
32
|
+
puts "Installing module #{module_name} #{module_version == "" ? "" : module_version}..."
|
33
|
+
|
34
|
+
brpm_content_home = ENV["BRPM_CONTENT_HOME"] || "#{ENV["BRPM_HOME"]}/modules"
|
35
|
+
|
36
|
+
ENV["GEM_HOME"] = brpm_content_home
|
37
|
+
Gem.paths = ENV
|
38
|
+
puts "GEM_HOME=#{ENV["GEM_HOME"]}"
|
39
|
+
|
40
|
+
if module_version == ""
|
41
|
+
puts "Executing command 'gem install #{module_name}'..."
|
42
|
+
specs = Gem.install(module_name)
|
43
|
+
else
|
44
|
+
puts "Executing command 'gem install #{module_name} -v #{module_version}'..."
|
45
|
+
specs = Gem.install(module_name, module_version)
|
46
|
+
end
|
47
|
+
spec = specs.last
|
48
|
+
|
49
|
+
gemfile = File.join(spec.gem_dir, "Gemfile")
|
50
|
+
gemfile_lock = File.join(spec.gem_dir, "Gemfile.lock")
|
51
|
+
|
52
|
+
if File.exists?(gemfile) && File.exists?(gemfile_lock)
|
53
|
+
puts "Found a Gemfile.lock so executing command 'GEM_HOME=#{brpm_content_home} && bundle install --gemfile #{gemfile}'..."
|
54
|
+
%x(GEM_HOME=#{brpm_content_home} && bundle install --gemfile #{gemfile})
|
55
|
+
end
|
56
|
+
|
57
|
+
puts "Finding latest installed version of brpm_content..."
|
58
|
+
spec_of_latest_version = Gem::Specification.find_all_by_name("brpm_content").sort_by{ |g| [g.name.downcase, g.version] }.last
|
59
|
+
puts "The latest installed version is #{spec_of_latest_version.version}."
|
60
|
+
|
61
|
+
latest_version_path = "#{brpm_content_home}/gems/brpm_content-#{spec_of_latest_version.version}"
|
62
|
+
symlink_path = "#{brpm_content_home}/gems/brpm_content-latest"
|
63
|
+
|
64
|
+
if File.exists?(symlink_path)
|
65
|
+
if File.readlink(symlink_path) == latest_version_path
|
66
|
+
puts "The symlink #{symlink_path} is already pointing to #{latest_version_path}."
|
67
|
+
else
|
68
|
+
puts "Removing symlink #{symlink_path}..."
|
69
|
+
FileUtils.rm(symlink_path)
|
70
|
+
end
|
71
|
+
end
|
72
|
+
|
73
|
+
if ! File.exists?(symlink_path)
|
74
|
+
puts "Creating symlink #{symlink_path} to #{latest_version_path}..."
|
75
|
+
FileUtils.ln_s(latest_version_path, symlink_path)
|
76
|
+
end
|
77
|
+
EORUBY
|
78
|
+
|
79
|
+
|
80
|
+
echo "Done."
|