Commit 1e49bc81 by George Song Committed by GitHub

Merge pull request #3648 from edx/bjacobel/ecom-node-version

Pin nodeenv's node version to 6.9.4 LTS for Platform, Ecommerce, Insights and Credentials
parents a767e7c4 c5958e9e
...@@ -45,7 +45,7 @@ common_directories: ...@@ -45,7 +45,7 @@ common_directories:
- path: "/etc/logrotate.d/hourly" - path: "/etc/logrotate.d/hourly"
- path: "/etc/rsyslog.d/50-default.conf" - path: "/etc/rsyslog.d/50-default.conf"
state: absent state: absent
COMMON_ENVIRONMENT: 'default_env' COMMON_ENVIRONMENT: 'default_env'
COMMON_DEPLOYMENT: 'default_deployment' COMMON_DEPLOYMENT: 'default_deployment'
COMMON_PIP_VERBOSITY: '' COMMON_PIP_VERBOSITY: ''
...@@ -98,6 +98,7 @@ COMMON_ENABLE_NEWRELIC_APP: False ...@@ -98,6 +98,7 @@ COMMON_ENABLE_NEWRELIC_APP: False
COMMON_ENABLE_MINOS: False COMMON_ENABLE_MINOS: False
COMMON_TAG_EC2_INSTANCE: False COMMON_TAG_EC2_INSTANCE: False
common_boto_version: '2.34.0' common_boto_version: '2.34.0'
common_node_version: '6.9.4'
common_redhat_pkgs: common_redhat_pkgs:
- ntp - ntp
- lynx - lynx
......
...@@ -9,7 +9,7 @@ ...@@ -9,7 +9,7 @@
# #
## ##
# Defaults for role credentials # Defaults for role credentials
# #
CREDENTIALS_GIT_IDENTITY: !!null CREDENTIALS_GIT_IDENTITY: !!null
# depends upon Newrelic being enabled via COMMON_ENABLE_NEWRELIC # depends upon Newrelic being enabled via COMMON_ENABLE_NEWRELIC
...@@ -219,6 +219,7 @@ credentials_nodeenv_dir: "{{ credentials_home }}/nodeenvs/{{ credentials_service ...@@ -219,6 +219,7 @@ credentials_nodeenv_dir: "{{ credentials_home }}/nodeenvs/{{ credentials_service
credentials_nodeenv_bin: "{{ credentials_nodeenv_dir }}/bin" credentials_nodeenv_bin: "{{ credentials_nodeenv_dir }}/bin"
credentials_node_modules_dir: "{{ credentials_code_dir }}/node_modules" credentials_node_modules_dir: "{{ credentials_code_dir }}/node_modules"
credentials_node_bin: "{{ credentials_node_modules_dir }}/.bin" credentials_node_bin: "{{ credentials_node_modules_dir }}/.bin"
credentials_node_version: "{{ common_node_version }}"
credentials_environment: credentials_environment:
DJANGO_SETTINGS_MODULE: "{{ CREDENTIALS_DJANGO_SETTINGS_MODULE }}" DJANGO_SETTINGS_MODULE: "{{ CREDENTIALS_DJANGO_SETTINGS_MODULE }}"
......
...@@ -42,10 +42,19 @@ ...@@ -42,10 +42,19 @@
- install - install
- install:app-requirements - install:app-requirements
# See https://github.com/ekalinin/nodeenv/issues/182
# This can be removed once https://github.com/ekalinin/nodeenv/pull/183 is merged
- name: Remove nodeenv src
file:
path: "{{ credentials_nodeenv_dir }}/src"
state: absent
become_user: "{{ credentials_user }}"
tags:
- install
- install:app-requirements
- name: create nodeenv - name: create nodeenv
shell: "{{ credentials_venv_dir }}/bin/nodeenv {{ credentials_nodeenv_dir }} --prebuilt" shell: "{{ credentials_venv_dir }}/bin/nodeenv {{ credentials_nodeenv_dir }} --node={{ credentials_node_version }} --prebuilt --force"
args:
creates: "{{ credentials_nodeenv_dir }}"
become_user: "{{ credentials_user }}" become_user: "{{ credentials_user }}"
tags: tags:
- install - install
......
...@@ -99,7 +99,7 @@ DISCOVERY_MEDIA_STORAGE_BACKEND: ...@@ -99,7 +99,7 @@ DISCOVERY_MEDIA_STORAGE_BACKEND:
DEFAULT_FILE_STORAGE: 'django.core.files.storage.FileSystemStorage' DEFAULT_FILE_STORAGE: 'django.core.files.storage.FileSystemStorage'
MEDIA_ROOT: '{{ DISCOVERY_MEDIA_ROOT }}' MEDIA_ROOT: '{{ DISCOVERY_MEDIA_ROOT }}'
MEDIA_URL: '{{ DISCOVERY_MEDIA_URL }}' MEDIA_URL: '{{ DISCOVERY_MEDIA_URL }}'
DISCOVERY_STATICFILES_STORAGE: 'django.contrib.staticfiles.storage.StaticFilesStorage' DISCOVERY_STATICFILES_STORAGE: 'django.contrib.staticfiles.storage.StaticFilesStorage'
# You can set different email backends with django: # You can set different email backends with django:
...@@ -241,7 +241,7 @@ discovery_nodeenv_dir: "{{ discovery_home }}/nodeenvs/{{ discovery_service_name ...@@ -241,7 +241,7 @@ discovery_nodeenv_dir: "{{ discovery_home }}/nodeenvs/{{ discovery_service_name
discovery_nodeenv_bin: "{{ discovery_nodeenv_dir }}/bin" discovery_nodeenv_bin: "{{ discovery_nodeenv_dir }}/bin"
discovery_node_modules_dir: "{{ discovery_code_dir }}/node_modules" discovery_node_modules_dir: "{{ discovery_code_dir }}/node_modules"
discovery_node_bin: "{{ discovery_node_modules_dir }}/.bin" discovery_node_bin: "{{ discovery_node_modules_dir }}/.bin"
discovery_node_version: "6.9.4" discovery_node_version: "{{ common_node_version }}"
discovery_gunicorn_host: "127.0.0.1" discovery_gunicorn_host: "127.0.0.1"
discovery_gunicorn_port: 8381 discovery_gunicorn_port: 8381
......
...@@ -76,17 +76,30 @@ ...@@ -76,17 +76,30 @@
- devstack - devstack
- devstack:install - devstack:install
# See https://github.com/ekalinin/nodeenv/issues/182
# This can be removed once https://github.com/ekalinin/nodeenv/pull/183 is merged
- name: Remove nodeenv src
file:
path: "{{ discovery_nodeenv_dir }}/src"
state: absent
become_user: "{{ discovery_user }}"
tags:
- install
- install:app-requirements
- name: create nodeenv - name: create nodeenv
shell: "{{ discovery_venv_dir }}/bin/nodeenv {{ discovery_nodeenv_dir }} --node={{ discovery_node_version }} --prebuilt" shell: "{{ discovery_venv_dir }}/bin/nodeenv {{ discovery_nodeenv_dir }} --node={{ discovery_node_version }} --prebuilt --force"
args:
creates: "{{ discovery_nodeenv_dir }}"
become_user: "{{ discovery_user }}" become_user: "{{ discovery_user }}"
tags: tags:
- install - install
- install:app-requirements - install:app-requirements
- name: install node dependencies - name: install node dependencies
npm: executable={{ discovery_nodeenv_bin }}/npm path={{ discovery_code_dir }} production=yes npm:
executable: "{{ discovery_nodeenv_bin }}/npm"
path: "{{ discovery_code_dir }}"
production: yes
state: latest
become_user: "{{ discovery_user }}" become_user: "{{ discovery_user }}"
environment: "{{ discovery_environment }}" environment: "{{ discovery_environment }}"
tags: tags:
......
...@@ -214,6 +214,7 @@ ecommerce_nodeenv_dir: "{{ ecommerce_home }}/nodeenvs/{{ ecommerce_service_name ...@@ -214,6 +214,7 @@ ecommerce_nodeenv_dir: "{{ ecommerce_home }}/nodeenvs/{{ ecommerce_service_name
ecommerce_nodeenv_bin: "{{ ecommerce_nodeenv_dir }}/bin" ecommerce_nodeenv_bin: "{{ ecommerce_nodeenv_dir }}/bin"
ecommerce_node_modules_dir: "{{ ecommerce_code_dir }}/node_modules" ecommerce_node_modules_dir: "{{ ecommerce_code_dir }}/node_modules"
ecommerce_node_bin: "{{ ecommerce_node_modules_dir }}/.bin" ecommerce_node_bin: "{{ ecommerce_node_modules_dir }}/.bin"
ecommerce_node_version: "{{ common_node_version }}"
ecommerce_gunicorn_host: "127.0.0.1" ecommerce_gunicorn_host: "127.0.0.1"
ecommerce_gunicorn_port: "8130" ecommerce_gunicorn_port: "8130"
......
...@@ -40,10 +40,19 @@ ...@@ -40,10 +40,19 @@
- install - install
- install:app-requirements - install:app-requirements
# See https://github.com/ekalinin/nodeenv/issues/182
# This can be removed once https://github.com/ekalinin/nodeenv/pull/183 is merged
- name: Remove nodeenv src
file:
path: "{{ ecommerce_nodeenv_dir }}/src"
state: absent
become_user: "{{ ecommerce_user }}"
tags:
- install
- install:app-requirements
- name: Create nodeenv - name: Create nodeenv
shell: "{{ ecommerce_venv_dir }}/bin/nodeenv {{ ecommerce_nodeenv_dir }} --prebuilt" shell: "{{ ecommerce_venv_dir }}/bin/nodeenv {{ ecommerce_nodeenv_dir }} --node={{ ecommerce_node_version }} --prebuilt --force"
args:
creates: "{{ ecommerce_nodeenv_dir }}"
become_user: "{{ ecommerce_user }}" become_user: "{{ ecommerce_user }}"
tags: tags:
- install - install
...@@ -54,6 +63,7 @@ ...@@ -54,6 +63,7 @@
executable: "{{ ecommerce_nodeenv_bin }}/npm" executable: "{{ ecommerce_nodeenv_bin }}/npm"
path: "{{ ecommerce_code_dir }}" path: "{{ ecommerce_code_dir }}"
production: yes production: yes
state: latest
become_user: "{{ ecommerce_user }}" become_user: "{{ ecommerce_user }}"
environment: "{{ ecommerce_environment }}" environment: "{{ ecommerce_environment }}"
tags: tags:
......
...@@ -642,7 +642,7 @@ edxapp_venv_bin: "{{ edxapp_venv_dir }}/bin" ...@@ -642,7 +642,7 @@ edxapp_venv_bin: "{{ edxapp_venv_dir }}/bin"
edxapp_nodeenv_dir: "{{ edxapp_app_dir }}/nodeenvs/edxapp" edxapp_nodeenv_dir: "{{ edxapp_app_dir }}/nodeenvs/edxapp"
edxapp_nodeenv_bin: "{{ edxapp_nodeenv_dir }}/bin" edxapp_nodeenv_bin: "{{ edxapp_nodeenv_dir }}/bin"
edxapp_settings: '{{ EDXAPP_SETTINGS }}' edxapp_settings: '{{ EDXAPP_SETTINGS }}'
edxapp_node_version: "6.9.2" edxapp_node_version: "{{ common_node_version }}"
# This is where node installs modules, not node itself # This is where node installs modules, not node itself
edxapp_node_bin: "{{ edxapp_code_dir }}/node_modules/.bin" edxapp_node_bin: "{{ edxapp_code_dir }}/node_modules/.bin"
edxapp_user: edxapp edxapp_user: edxapp
......
--- ---
- name: create edxapp configuration dir - name: create edxapp configuration dir
file: file:
path: "{{ EDXAPP_CFG_DIR }}" path: "{{ EDXAPP_CFG_DIR }}"
state: directory state: directory
owner: "{{ edxapp_user }}" owner: "{{ edxapp_user }}"
group: "{{ common_web_group }}" group: "{{ common_web_group }}"
...@@ -13,7 +13,7 @@ ...@@ -13,7 +13,7 @@
template: template:
src: "{{ item.src }}" src: "{{ item.src }}"
dest: "{{ item.dest }}" dest: "{{ item.dest }}"
owner: "{{ item.owner }}" owner: "{{ item.owner }}"
group: "{{ item.group }}" group: "{{ item.group }}"
mode: "{{ item.mode }}" mode: "{{ item.mode }}"
with_items: with_items:
...@@ -210,10 +210,18 @@ ...@@ -210,10 +210,18 @@
- install - install
- install:app-requirements - install:app-requirements
# See https://github.com/ekalinin/nodeenv/issues/182
# This can be removed once https://github.com/ekalinin/nodeenv/pull/183 is merged
- name: Remove nodeenv src
file:
path: "{{ edxapp_nodeenv_dir }}/src"
state: absent
tags:
- install
- install:app-requirements
- name: create nodeenv - name: create nodeenv
shell: "{{ edxapp_venv_dir }}/bin/nodeenv {{ edxapp_nodeenv_dir }} --node={{ edxapp_node_version }} --prebuilt" shell: "{{ edxapp_venv_dir }}/bin/nodeenv {{ edxapp_nodeenv_dir }} --node={{ edxapp_node_version }} --prebuilt --force"
args:
creates: "{{ edxapp_nodeenv_dir }}"
tags: tags:
- install - install
- install:app-requirements - install:app-requirements
...@@ -245,6 +253,7 @@ ...@@ -245,6 +253,7 @@
executable: "{{ edxapp_nodeenv_bin }}/npm" executable: "{{ edxapp_nodeenv_bin }}/npm"
path: "{{ edxapp_code_dir }}" path: "{{ edxapp_code_dir }}"
production: yes production: yes
state: latest
environment: "{{ edxapp_environment }}" environment: "{{ edxapp_environment }}"
become_user: "{{ edxapp_user }}" become_user: "{{ edxapp_user }}"
tags: tags:
......
...@@ -9,7 +9,7 @@ ...@@ -9,7 +9,7 @@
# #
# #
# Defaults for role insights # Defaults for role insights
# #
INSIGHTS_LMS_BASE: 'http://127.0.0.1:8000' INSIGHTS_LMS_BASE: 'http://127.0.0.1:8000'
INSIGHTS_CMS_BASE: 'http://127.0.0.1:8010' INSIGHTS_CMS_BASE: 'http://127.0.0.1:8010'
...@@ -169,7 +169,7 @@ insights_environment: ...@@ -169,7 +169,7 @@ insights_environment:
ANALYTICS_DASHBOARD_CFG: "{{ COMMON_CFG_DIR }}/{{ insights_service_name }}.yml" ANALYTICS_DASHBOARD_CFG: "{{ COMMON_CFG_DIR }}/{{ insights_service_name }}.yml"
PATH: "{{ insights_nodeenv_bin }}:{{ insights_venv_dir }}/bin:{{ ansible_env.PATH }}" PATH: "{{ insights_nodeenv_bin }}:{{ insights_venv_dir }}/bin:{{ ansible_env.PATH }}"
insights_service_name: insights insights_service_name: insights
insights_venv_dir: "{{ insights_home }}/venvs/{{ insights_service_name }}" insights_venv_dir: "{{ insights_home }}/venvs/{{ insights_service_name }}"
insights_user: "{{ insights_service_name }}" insights_user: "{{ insights_service_name }}"
...@@ -185,6 +185,7 @@ insights_nodeenv_dir: "{{ insights_home }}/nodeenvs/{{ insights_service_name }}" ...@@ -185,6 +185,7 @@ insights_nodeenv_dir: "{{ insights_home }}/nodeenvs/{{ insights_service_name }}"
insights_nodeenv_bin: "{{ insights_nodeenv_dir }}/bin" insights_nodeenv_bin: "{{ insights_nodeenv_dir }}/bin"
insights_node_modules_dir: "{{ insights_code_dir }}/node_modules" insights_node_modules_dir: "{{ insights_code_dir }}/node_modules"
insights_node_bin: "{{ insights_node_modules_dir }}/.bin" insights_node_bin: "{{ insights_node_modules_dir }}/.bin"
insights_node_version: "{{ common_node_version }}"
insights_gunicorn_host: "127.0.0.1" insights_gunicorn_host: "127.0.0.1"
insights_gunicorn_port: "8110" insights_gunicorn_port: "8110"
......
...@@ -44,17 +44,30 @@ ...@@ -44,17 +44,30 @@
- install - install
- install:app-requirements - install:app-requirements
# See https://github.com/ekalinin/nodeenv/issues/182
# This can be removed once https://github.com/ekalinin/nodeenv/pull/183 is merged
- name: Remove nodeenv src
file:
path: "{{ insights_nodeenv_dir }}/src"
state: absent
become_user: "{{ insights_user }}"
tags:
- install
- install:app-requirements
- name: create nodeenv - name: create nodeenv
shell: "{{ insights_venv_dir }}/bin/nodeenv {{ insights_nodeenv_dir }} --prebuilt" shell: "{{ insights_venv_dir }}/bin/nodeenv {{ insights_nodeenv_dir }} --node={{ insights_node_version }} --prebuilt --force"
args:
creates: "{{ insights_nodeenv_dir }}"
become_user: "{{ insights_user }}" become_user: "{{ insights_user }}"
tags: tags:
- install - install
- install:base - install:base
- name: install node dependencies - name: install node dependencies
npm: executable={{ insights_nodeenv_bin }}/npm path={{ insights_code_dir }} production=yes npm:
executable: "{{ insights_nodeenv_bin }}/npm"
path: "{{ insights_code_dir }}"
production: yes
state: latest
become_user: "{{ insights_user }}" become_user: "{{ insights_user }}"
tags: tags:
- install - install
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment