diff --git a/playbooks/roles/supervisor/files/pre_supervisor_checks.py b/playbooks/roles/supervisor/files/pre_supervisor_checks.py index f2749d7..77e996c 100755 --- a/playbooks/roles/supervisor/files/pre_supervisor_checks.py +++ b/playbooks/roles/supervisor/files/pre_supervisor_checks.py @@ -15,9 +15,10 @@ MIGRATION_COMMANDS = { 'cms': ". {env_file}; {python} {code_dir}/manage.py cms migrate --noinput --list --settings=aws", 'xqueue': "{python} {code_dir}/manage.py xqueue migrate --noinput --settings=aws --db-dry-run --merge", 'ecommerce': ". {env_file}; {python} {code_dir}/manage.py migrate --noinput --list", - 'programs': ". {env_file}; {python} {code_dir}/manage.py migrate --noinput --list", + 'programs': ". {env_file}; {python} {code_dir}/manage.py migrate --noinput --list", 'insights': ". {env_file}; {python} {code_dir}/manage.py migrate --noinput --list", - 'analytics_api': ". {env_file}; {python} {code_dir}/manage.py migrate --noinput --list" + 'analytics_api': ". {env_file}; {python} {code_dir}/manage.py migrate --noinput --list", + 'credentials': ". {env_file}; {python} {code_dir}/manage.py migrate --noinput --list", } HIPCHAT_USER = "PreSupervisor" @@ -101,6 +102,15 @@ if __name__ == '__main__': programs_migration_args.add_argument("--programs-code-dir", help="Location to of the programs code.") + credentials_migration_args = parser.add_argument_group("credentials_migrations", + "Args for running credentials migration checks.") + credentials_migration_args.add_argument("--credentials-python", + help="Path to python to use for executing migration check.") + credentials_migration_args.add_argument("--credentials-env", + help="Location of the credentials environment file.") + credentials_migration_args.add_argument("--credentials-code-dir", + help="Location to of the credentials code.") + insights_migration_args = parser.add_argument_group("insights_migrations", "Args for running insights migration checks.") insights_migration_args.add_argument("--insights-python", @@ -222,6 +232,7 @@ if __name__ == '__main__': "cms": {'python': args.edxapp_python, 'env_file': args.edxapp_env, 'code_dir': args.edxapp_code_dir}, "ecommerce": {'python': args.ecommerce_python, 'env_file': args.ecommerce_env, 'code_dir': args.ecommerce_code_dir}, "programs": {'python': args.programs_python, 'env_file': args.programs_env, 'code_dir': args.programs_code_dir}, + "credentials": {'python': args.credentials_python, 'env_file': args.credentials_env, 'code_dir': args.credentials_code_dir}, "insights": {'python': args.insights_python, 'env_file': args.insights_env, 'code_dir': args.insights_code_dir}, "analytics_api": {'python': args.analytics_api_python, 'env_file': args.analytics_api_env, 'code_dir': args.analytics_api_code_dir} } diff --git a/playbooks/roles/supervisor/templates/etc/init/pre_supervisor.conf.j2 b/playbooks/roles/supervisor/templates/etc/init/pre_supervisor.conf.j2 index 8fdf0dd..51fd763 100644 --- a/playbooks/roles/supervisor/templates/etc/init/pre_supervisor.conf.j2 +++ b/playbooks/roles/supervisor/templates/etc/init/pre_supervisor.conf.j2 @@ -11,4 +11,10 @@ setuid {{ supervisor_user }} {% set programs_command = "" %} {% endif %} -exec {{ supervisor_venv_dir }}/bin/python {{ supervisor_app_dir }}/pre_supervisor_checks.py --available={{ supervisor_available_dir }} --enabled={{ supervisor_cfg_dir }} {% if SUPERVISOR_HIPCHAT_API_KEY is defined %}--hipchat-api-key {{ SUPERVISOR_HIPCHAT_API_KEY }} --hipchat-room {{ SUPERVISOR_HIPCHAT_ROOM }} {% endif %} {% if edxapp_code_dir is defined %}--edxapp-python {{ COMMON_BIN_DIR }}/python.edxapp --edxapp-code-dir {{ edxapp_code_dir }} --edxapp-env {{ edxapp_app_dir }}/edxapp_env{% endif %} {% if xqueue_code_dir is defined %}--xqueue-code-dir {{ xqueue_code_dir }} --xqueue-python {{ COMMON_BIN_DIR }}/python.xqueue {% endif %} {% if ecommerce_code_dir is defined %}--ecommerce-env {{ ecommerce_home }}/ecommerce_env --ecommerce-code-dir {{ ecommerce_code_dir }} --ecommerce-python {{ COMMON_BIN_DIR }}/python.ecommerce {% endif %} {% if insights_code_dir is defined %}--insights-env {{ insights_home }}/insights_env --insights-code-dir {{ insights_code_dir }} --insights-python {{ COMMON_BIN_DIR }}/python.insights {% endif %} {% if analytics_api_code_dir is defined %}--analytics-api-env {{ analytics_api_home }}/analytics_api_env --analytics-api-code-dir {{ analytics_api_code_dir }} --analytics-api-python {{ COMMON_BIN_DIR }}/python.analytics_api {% endif %} {{ programs_command }} +{% if credentials_code_dir is defined %} + {% set credentials_command = "--credentials-env " + credentials_home + "/credentials_env --credentials-code-dir " + credentials_code_dir + " --credentials-python " + COMMON_BIN_DIR + "/python.credentials" %} +{% else %} + {% set credentials_command = "" %} +{% endif %} + +exec {{ supervisor_venv_dir }}/bin/python {{ supervisor_app_dir }}/pre_supervisor_checks.py --available={{ supervisor_available_dir }} --enabled={{ supervisor_cfg_dir }} {% if SUPERVISOR_HIPCHAT_API_KEY is defined %}--hipchat-api-key {{ SUPERVISOR_HIPCHAT_API_KEY }} --hipchat-room {{ SUPERVISOR_HIPCHAT_ROOM }} {% endif %} {% if edxapp_code_dir is defined %}--edxapp-python {{ COMMON_BIN_DIR }}/python.edxapp --edxapp-code-dir {{ edxapp_code_dir }} --edxapp-env {{ edxapp_app_dir }}/edxapp_env{% endif %} {% if xqueue_code_dir is defined %}--xqueue-code-dir {{ xqueue_code_dir }} --xqueue-python {{ COMMON_BIN_DIR }}/python.xqueue {% endif %} {% if ecommerce_code_dir is defined %}--ecommerce-env {{ ecommerce_home }}/ecommerce_env --ecommerce-code-dir {{ ecommerce_code_dir }} --ecommerce-python {{ COMMON_BIN_DIR }}/python.ecommerce {% endif %} {% if insights_code_dir is defined %}--insights-env {{ insights_home }}/insights_env --insights-code-dir {{ insights_code_dir }} --insights-python {{ COMMON_BIN_DIR }}/python.insights {% endif %} {% if analytics_api_code_dir is defined %}--analytics-api-env {{ analytics_api_home }}/analytics_api_env --analytics-api-code-dir {{ analytics_api_code_dir }} --analytics-api-python {{ COMMON_BIN_DIR }}/python.analytics_api {% endif %} {{ programs_command }} {{ credentials_command }}