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:
- path: "/etc/logrotate.d/hourly"
- path: "/etc/rsyslog.d/50-default.conf"
state: absent
COMMON_ENVIRONMENT: 'default_env'
COMMON_DEPLOYMENT: 'default_deployment'
COMMON_PIP_VERBOSITY: ''
......@@ -98,6 +98,7 @@ COMMON_ENABLE_NEWRELIC_APP: False
COMMON_ENABLE_MINOS: False
COMMON_TAG_EC2_INSTANCE: False
common_boto_version: '2.34.0'
common_node_version: '6.9.4'
common_redhat_pkgs:
- ntp
- lynx
......
......@@ -9,7 +9,7 @@
#
##
# Defaults for role credentials
#
#
CREDENTIALS_GIT_IDENTITY: !!null
# depends upon Newrelic being enabled via COMMON_ENABLE_NEWRELIC
......@@ -219,6 +219,7 @@ credentials_nodeenv_dir: "{{ credentials_home }}/nodeenvs/{{ credentials_service
credentials_nodeenv_bin: "{{ credentials_nodeenv_dir }}/bin"
credentials_node_modules_dir: "{{ credentials_code_dir }}/node_modules"
credentials_node_bin: "{{ credentials_node_modules_dir }}/.bin"
credentials_node_version: "{{ common_node_version }}"
credentials_environment:
DJANGO_SETTINGS_MODULE: "{{ CREDENTIALS_DJANGO_SETTINGS_MODULE }}"
......
......@@ -42,10 +42,19 @@
- install
- 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
shell: "{{ credentials_venv_dir }}/bin/nodeenv {{ credentials_nodeenv_dir }} --prebuilt"
args:
creates: "{{ credentials_nodeenv_dir }}"
shell: "{{ credentials_venv_dir }}/bin/nodeenv {{ credentials_nodeenv_dir }} --node={{ credentials_node_version }} --prebuilt --force"
become_user: "{{ credentials_user }}"
tags:
- install
......
......@@ -99,7 +99,7 @@ DISCOVERY_MEDIA_STORAGE_BACKEND:
DEFAULT_FILE_STORAGE: 'django.core.files.storage.FileSystemStorage'
MEDIA_ROOT: '{{ DISCOVERY_MEDIA_ROOT }}'
MEDIA_URL: '{{ DISCOVERY_MEDIA_URL }}'
DISCOVERY_STATICFILES_STORAGE: 'django.contrib.staticfiles.storage.StaticFilesStorage'
# You can set different email backends with django:
......@@ -241,7 +241,7 @@ discovery_nodeenv_dir: "{{ discovery_home }}/nodeenvs/{{ discovery_service_name
discovery_nodeenv_bin: "{{ discovery_nodeenv_dir }}/bin"
discovery_node_modules_dir: "{{ discovery_code_dir }}/node_modules"
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_port: 8381
......
......@@ -76,17 +76,30 @@
- devstack
- 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
shell: "{{ discovery_venv_dir }}/bin/nodeenv {{ discovery_nodeenv_dir }} --node={{ discovery_node_version }} --prebuilt"
args:
creates: "{{ discovery_nodeenv_dir }}"
shell: "{{ discovery_venv_dir }}/bin/nodeenv {{ discovery_nodeenv_dir }} --node={{ discovery_node_version }} --prebuilt --force"
become_user: "{{ discovery_user }}"
tags:
- install
- install:app-requirements
- 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 }}"
environment: "{{ discovery_environment }}"
tags:
......
......@@ -214,6 +214,7 @@ ecommerce_nodeenv_dir: "{{ ecommerce_home }}/nodeenvs/{{ ecommerce_service_name
ecommerce_nodeenv_bin: "{{ ecommerce_nodeenv_dir }}/bin"
ecommerce_node_modules_dir: "{{ ecommerce_code_dir }}/node_modules"
ecommerce_node_bin: "{{ ecommerce_node_modules_dir }}/.bin"
ecommerce_node_version: "{{ common_node_version }}"
ecommerce_gunicorn_host: "127.0.0.1"
ecommerce_gunicorn_port: "8130"
......
......@@ -40,10 +40,19 @@
- install
- 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
shell: "{{ ecommerce_venv_dir }}/bin/nodeenv {{ ecommerce_nodeenv_dir }} --prebuilt"
args:
creates: "{{ ecommerce_nodeenv_dir }}"
shell: "{{ ecommerce_venv_dir }}/bin/nodeenv {{ ecommerce_nodeenv_dir }} --node={{ ecommerce_node_version }} --prebuilt --force"
become_user: "{{ ecommerce_user }}"
tags:
- install
......@@ -54,6 +63,7 @@
executable: "{{ ecommerce_nodeenv_bin }}/npm"
path: "{{ ecommerce_code_dir }}"
production: yes
state: latest
become_user: "{{ ecommerce_user }}"
environment: "{{ ecommerce_environment }}"
tags:
......
......@@ -642,7 +642,7 @@ edxapp_venv_bin: "{{ edxapp_venv_dir }}/bin"
edxapp_nodeenv_dir: "{{ edxapp_app_dir }}/nodeenvs/edxapp"
edxapp_nodeenv_bin: "{{ edxapp_nodeenv_dir }}/bin"
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
edxapp_node_bin: "{{ edxapp_code_dir }}/node_modules/.bin"
edxapp_user: edxapp
......
---
- name: create edxapp configuration dir
file:
path: "{{ EDXAPP_CFG_DIR }}"
path: "{{ EDXAPP_CFG_DIR }}"
state: directory
owner: "{{ edxapp_user }}"
group: "{{ common_web_group }}"
......@@ -13,7 +13,7 @@
template:
src: "{{ item.src }}"
dest: "{{ item.dest }}"
owner: "{{ item.owner }}"
owner: "{{ item.owner }}"
group: "{{ item.group }}"
mode: "{{ item.mode }}"
with_items:
......@@ -210,10 +210,18 @@
- install
- 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
shell: "{{ edxapp_venv_dir }}/bin/nodeenv {{ edxapp_nodeenv_dir }} --node={{ edxapp_node_version }} --prebuilt"
args:
creates: "{{ edxapp_nodeenv_dir }}"
shell: "{{ edxapp_venv_dir }}/bin/nodeenv {{ edxapp_nodeenv_dir }} --node={{ edxapp_node_version }} --prebuilt --force"
tags:
- install
- install:app-requirements
......@@ -245,6 +253,7 @@
executable: "{{ edxapp_nodeenv_bin }}/npm"
path: "{{ edxapp_code_dir }}"
production: yes
state: latest
environment: "{{ edxapp_environment }}"
become_user: "{{ edxapp_user }}"
tags:
......
......@@ -9,7 +9,7 @@
#
#
# Defaults for role insights
#
#
INSIGHTS_LMS_BASE: 'http://127.0.0.1:8000'
INSIGHTS_CMS_BASE: 'http://127.0.0.1:8010'
......@@ -169,7 +169,7 @@ insights_environment:
ANALYTICS_DASHBOARD_CFG: "{{ COMMON_CFG_DIR }}/{{ insights_service_name }}.yml"
PATH: "{{ insights_nodeenv_bin }}:{{ insights_venv_dir }}/bin:{{ ansible_env.PATH }}"
insights_service_name: insights
insights_venv_dir: "{{ insights_home }}/venvs/{{ insights_service_name }}"
insights_user: "{{ insights_service_name }}"
......@@ -185,6 +185,7 @@ insights_nodeenv_dir: "{{ insights_home }}/nodeenvs/{{ insights_service_name }}"
insights_nodeenv_bin: "{{ insights_nodeenv_dir }}/bin"
insights_node_modules_dir: "{{ insights_code_dir }}/node_modules"
insights_node_bin: "{{ insights_node_modules_dir }}/.bin"
insights_node_version: "{{ common_node_version }}"
insights_gunicorn_host: "127.0.0.1"
insights_gunicorn_port: "8110"
......
......@@ -44,17 +44,30 @@
- install
- 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
shell: "{{ insights_venv_dir }}/bin/nodeenv {{ insights_nodeenv_dir }} --prebuilt"
args:
creates: "{{ insights_nodeenv_dir }}"
shell: "{{ insights_venv_dir }}/bin/nodeenv {{ insights_nodeenv_dir }} --node={{ insights_node_version }} --prebuilt --force"
become_user: "{{ insights_user }}"
tags:
- install
- install:base
- 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 }}"
tags:
- 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