diff --git a/aws_bitbucket_dc_node.yml b/aws_bitbucket_dc_node.yml index 3d8348e..96c19d8 100644 --- a/aws_bitbucket_dc_node.yml +++ b/aws_bitbucket_dc_node.yml @@ -22,7 +22,6 @@ - "Environment=JVM_MINIMUM_MEMORY={{ atl_jvm_heap }}" - "Environment=JVM_SUPPORT_RECOMMENDED_ARGS={{ atl_jvm_opts }}" atl_startup_exec_options: - - "-fg" - "--no-search" roles: @@ -37,5 +36,5 @@ - role: product_startup - role: bitbucket_dataset_restore when: atl_bitbucket_dataset_url is search ("(http|https)://") - + diff --git a/roles/product_startup/defaults/main.yml b/roles/product_startup/defaults/main.yml index 8a3695d..da7824c 100644 --- a/roles/product_startup/defaults/main.yml +++ b/roles/product_startup/defaults/main.yml @@ -10,9 +10,16 @@ atl_startup_script_map: stash: "bin/start-bitbucket.sh" crowd: "start_crowd.sh" +atl_stop_script_map: + jira: "bin/stop-jira.sh" + confluence: "bin/stop-confluence.sh" + stash: "bin/stop-bitbucket.sh" + crowd: "stop_crowd.sh" + atl_startup_exec_path: "{{ atl_product_installation_current }}/{{ atl_startup_script_map[atl_product_family] }}" atl_startup_exec_options: ["-fg"] atl_startup_systemd_params: [] +atl_stop_exec_path: "{{ atl_product_installation_current }}/{{ atl_stop_script_map[atl_product_family] }}" atl_systemd_service_dir_map: amazon: "/usr/lib/systemd/system" diff --git a/roles/product_startup/molecule/bitbucket/converge.yml b/roles/product_startup/molecule/bitbucket/converge.yml index dffb8ea..b0b462a 100644 --- a/roles/product_startup/molecule/bitbucket/converge.yml +++ b/roles/product_startup/molecule/bitbucket/converge.yml @@ -20,7 +20,6 @@ - "Environment=JVM_SUPPORT_RECOMMENDED_ARGS={{ atl_jvm_opts }}" atl_startup_exec_options: - - "-fg" - "--no-search" atl_startup_enable: false diff --git a/roles/product_startup/molecule/bitbucket/tests/test_default.py b/roles/product_startup/molecule/bitbucket/tests/test_default.py index c895f75..6b9685c 100644 --- a/roles/product_startup/molecule/bitbucket/tests/test_default.py +++ b/roles/product_startup/molecule/bitbucket/tests/test_default.py @@ -9,7 +9,7 @@ testinfra_hosts = testinfra.utils.ansible_runner.AnsibleRunner( def test_service_file(host): systemd_prefix = "/lib" if host.system_info.distribution == "ubuntu" else "/usr/lib" f = host.file(systemd_prefix+'/systemd/system/bitbucket.service') - assert f.contains("^ExecStart=/opt/atlassian/bitbucket/current/bin/start-bitbucket.sh -fg --no-search$") + assert f.contains("^ExecStart=/opt/atlassian/bitbucket/current/bin/start-bitbucket.sh --no-search$") assert f.contains("^UMask=0027$") assert f.contains("^LimitNOFILE=4096$") assert f.contains("^Environment=BITBUCKET_HOME=/media/atl/bitbucket$") diff --git a/roles/product_startup/templates/product.service.j2 b/roles/product_startup/templates/product.service.j2 index ce2dff8..9c16e66 100644 --- a/roles/product_startup/templates/product.service.j2 +++ b/roles/product_startup/templates/product.service.j2 @@ -3,6 +3,9 @@ Description=Atlassian {{ atl_product_edition }} After=network-online.target [Service] +{% if (atl_product_family == "stash") %} +Type=forking +{% endif %} User={{ atl_product_user }} Group={{ atl_product_user }} StandardOutput=journal+console @@ -12,8 +15,15 @@ StandardError=journal+console {{ p }} {% endfor %} -{# Bitbucket DC sets up its service start/stop logging in a different way to all our other DC offerings and so we exclude it from having the catalina.out redirect #} -ExecStart={{ atl_startup_exec_path }}{% for c in atl_startup_exec_options %} {{ c }}{% endfor %}{% if (atl_product_family != "stash") %} >{{ atl_product_installation_current }}/logs/catalina.out 2>&1{% endif %} +{# Bitbucket DC sets up its service start/stop logging in a different way to all our other DC offerings and so we exclude it from having the catalina.out redirect and foreground startup #} +{% if (atl_product_family == "stash") %} +PIDFile={{ atl_product_home }}/log/bitbucket.pid +ExecStart={{ atl_startup_exec_path }}{% for c in atl_startup_exec_options %} {{ c }}{% endfor %} + +ExecStop={{ atl_stop_exec_path }} +{% else %} +ExecStart={{ atl_startup_exec_path }}{% for c in atl_startup_exec_options %} {{ c }}{% endfor %} >{{ atl_product_installation_current }}/logs/catalina.out 2>&1 +{% endif %} Restart=on-failure