Skip to content
This repository was archived by the owner on Aug 1, 2024. It is now read-only.

Commit ba8b5ba

Browse files
author
Rebecca Graber
authored
feat!: Remove support for NFS (#838)
ARCHBOM-1853
1 parent d0ca941 commit ba8b5ba

12 files changed

Lines changed: 43 additions & 368 deletions

Makefile

Lines changed: 1 addition & 34 deletions
Original file line numberDiff line numberDiff line change
@@ -45,7 +45,7 @@
4545
create-test-course dev.attach dev.backup dev.cache-programs dev.check \
4646
dev.check-memory dev.checkout dev.clone dev.clone.https dev.clone.ssh \
4747
dev.dbshell dev.destroy dev.down dev.drop-db dev.kill dev.logs \
48-
dev.migrate dev.migrate.lms dev.migrate.studio dev.nfs.setup \
48+
dev.migrate dev.migrate.lms dev.migrate.studio \
4949
devpi-password dev.provision dev.ps dev.pull dev.pull.without-deps \
5050
dev.reset dev.reset-repos dev.restart-container dev.restart-devserver \
5151
dev.restart-devserver.forum dev.restore dev.rm-stopped dev.shell \
@@ -68,32 +68,11 @@ include options.mk
6868
# The `COMPOSE_FILE` environment variable tells Docker Compose which YAML
6969
# files to use when `docker-compose` is called without specifying any YAML files.
7070
# These files include definitions of services and volumes.
71-
# Depending on the value of FS_SYNC_STRATEGY, we use a slightly different set of
72-
# files, enabling use of different strategies to synchronize files between the host and
73-
# the containers.
74-
# Some services are only available for certain values of FS_SYNC_STRATEGY.
75-
# For example, the LMS/Studio asset watchers are only available for local-mounts and nfs,
76-
# and XQueue is only available for local-mounts.
7771

7872
# Files for use with local volume mounting (default).
79-
ifeq ($(FS_SYNC_STRATEGY),local-mounts)
8073
COMPOSE_FILE := docker-compose-host.yml
8174
COMPOSE_FILE := $(COMPOSE_FILE):docker-compose-themes.yml
8275
COMPOSE_FILE := $(COMPOSE_FILE):docker-compose-watchers.yml
83-
endif
84-
85-
# Files for use with Network File System -based synchronization.
86-
ifeq ($(FS_SYNC_STRATEGY),nfs)
87-
COMPOSE_FILE := docker-compose-host-nfs.yml
88-
COMPOSE_FILE := $(COMPOSE_FILE):docker-compose-themes-nfs.yml
89-
COMPOSE_FILE := $(COMPOSE_FILE):docker-compose-watchers-nfs.yml
90-
endif
91-
92-
ifndef COMPOSE_FILE
93-
$(error FS_SYNC_STRATEGY is set to $(FS_SYNC_STRATEGY). Must be one of: local-mounts, nfs)
94-
endif
95-
96-
# Both filesystem synchronization strategies require the main docker-compose.yml file.
9776
COMPOSE_FILE := docker-compose.yml:$(COMPOSE_FILE)
9877

9978
# Tell Docker Compose that the Compose file list uses a colon as the separator.
@@ -516,18 +495,6 @@ dev.destroy.coursegraph: dev.down.coursegraph ## Remove all coursegraph data.
516495
dev.destroy: ## Irreversibly remove all devstack-related containers, networks, and volumes.
517496
$(WINPTY) bash ./destroy.sh
518497

519-
520-
########################################################################################
521-
# Developer interface: Support for alternative file synchronization strategies.
522-
########################################################################################
523-
524-
dev.nfs.setup: ## Sets up an NFS server on the /Users folder, allowing NFS mounting on docker.
525-
./setup_native_nfs_docker_osx.sh
526-
527-
dev.nfs.%: ## Run any 'dev.'-prefixed command, but using NFS configuration.
528-
FS_SYNC_STRATEGY=nfs make dev.$*
529-
530-
531498
########################################################################################
532499
# Support for "prefix-form" commands:
533500
# $service-$action instead of dev.$action.$services

README.rst

Lines changed: 0 additions & 35 deletions
Original file line numberDiff line numberDiff line change
@@ -180,8 +180,6 @@ The default devstack services can be run by following the steps below.
180180

181181
**NOTE:** This command will bring up both MySQL 5.6 and 5.7 databases until all services are upgraded to 5.7.
182182

183-
**NOTE:** If you are looking for instructions for NFS, see :ref:`Deprecated MacOS performance improvements`.
184-
185183
#. Start the desired services. This command will mount the repositories under the
186184
``DEVSTACK_WORKSPACE`` directory.
187185

@@ -193,8 +191,6 @@ The default devstack services can be run by following the steps below.
193191
194192
make dev.up.large-and-slow
195193
196-
**NOTE:** If you are looking for instructions for NFS, see :ref:`Deprecated MacOS performance improvements`.
197-
198194
To stop a service, use ``make dev.stop.<service>``, and to both stop it
199195
and remove the container (along with any changes you have made
200196
to the filesystem in the container) use ``make dev.down.<service>``.
@@ -391,37 +387,6 @@ This is handled for you automatically by setting the ``OPENEDX_RELEASE`` environ
391387

392388
As a specific example, if ``OPENEDX_RELEASE`` is set in your environment as ``juniper.master``, then ``COMPOSE_PROJECT_NAME`` will default to ``devstack-juniper.master`` instead of ``devstack``.
393389

394-
.. _Deprecated MacOS performance improvements:
395-
396-
Deprecated MacOS performance improvements
397-
-----------------------------------------
398-
399-
**Warning:** We recommend that new devstack setups on MacOS **no longer use** NFS for MacOS. At this time, this technology **leads to increased complexity and might cause errors**. Improvements to Docker's default FS have resolved bugs or performance issues that were previously dependent on this workaround technology.
400-
401-
For further details, read more about the forthcoming `deprecation of NFS`_.
402-
403-
Until this deprecated technology goes through the deprecation and removal process, the following deprecated instructions are left here for legacy purposes:
404-
405-
Setup NFS before provisioning:
406-
407-
.. code:: sh
408-
409-
make dev.nfs.setup
410-
411-
Provision using NFS:
412-
413-
.. code:: sh
414-
415-
make dev.nfs.provision
416-
417-
Start using NFS:
418-
419-
.. code:: sh
420-
421-
make dev.nfs.up
422-
423-
.. _deprecation of NFS: https://openedx.atlassian.net/browse/DEPR-161
424-
425390
.. _Docker Compose: https://docs.docker.com/compose/
426391
.. _Docker for Mac: https://docs.docker.com/docker-for-mac/
427392
.. _Docker for Windows: https://docs.docker.com/docker-for-windows/

docker-compose-host-nfs.yml

Lines changed: 0 additions & 102 deletions
This file was deleted.

docker-compose-host.yml

Lines changed: 29 additions & 30 deletions
Original file line numberDiff line numberDiff line change
@@ -1,41 +1,40 @@
1-
# Update docker-compose-host-nfs.yml too in case of any change in this file.
21

32
version: "2.1"
43

54
services:
65
credentials:
76
volumes:
8-
- ${DEVSTACK_WORKSPACE}/credentials:/edx/app/credentials/credentials:cached
7+
- ${DEVSTACK_WORKSPACE}/credentials:/edx/app/credentials/credentials
98
- credentials_node_modules:/edx/app/credentials/credentials/node_modules
109
- credentials_tox:/edx/app/credentials/credentials/.tox
11-
- ${DEVSTACK_WORKSPACE}/src:/edx/src:cached
10+
- ${DEVSTACK_WORKSPACE}/src:/edx/src
1211
discovery:
1312
volumes:
14-
- ${DEVSTACK_WORKSPACE}/course-discovery:/edx/app/discovery/discovery:cached
13+
- ${DEVSTACK_WORKSPACE}/course-discovery:/edx/app/discovery/discovery
1514
- discovery_node_modules:/edx/app/discovery/discovery/node_modules
1615
- discovery_tox:/edx/app/discovery/discovery/.tox
17-
- ${DEVSTACK_WORKSPACE}/src:/edx/src:cached
16+
- ${DEVSTACK_WORKSPACE}/src:/edx/src
1817
ecommerce:
1918
volumes:
20-
- ${DEVSTACK_WORKSPACE}/ecommerce:/edx/app/ecommerce/ecommerce:cached
19+
- ${DEVSTACK_WORKSPACE}/ecommerce:/edx/app/ecommerce/ecommerce
2120
- ecommerce_node_modules:/edx/app/ecommerce/ecommerce/node_modules
2221
- ecommerce_tox:/edx/app/ecommerce/ecommerce/.tox
23-
- ${DEVSTACK_WORKSPACE}/src:/edx/src:cached
22+
- ${DEVSTACK_WORKSPACE}/src:/edx/src
2423
forum:
2524
volumes:
26-
- ${DEVSTACK_WORKSPACE}/cs_comments_service:/edx/app/forum/cs_comments_service:cached
25+
- ${DEVSTACK_WORKSPACE}/cs_comments_service:/edx/app/forum/cs_comments_service
2726
lms:
2827
volumes:
29-
- ${DEVSTACK_WORKSPACE}/edx-platform:/edx/app/edxapp/edx-platform:cached
28+
- ${DEVSTACK_WORKSPACE}/edx-platform:/edx/app/edxapp/edx-platform
3029
- edxapp_media:/edx/var/edxapp/media
3130
- edxapp_node_modules:/edx/app/edxapp/edx-platform/node_modules
3231
- edxapp_tox:/edx/app/edxapp/edx-platform/.tox
3332
- edxapp_uploads:/edx/var/edxapp/uploads
34-
- ${DEVSTACK_WORKSPACE}/src:/edx/src:cached
33+
- ${DEVSTACK_WORKSPACE}/src:/edx/src
3534
edx_notes_api:
3635
volumes:
37-
- ${DEVSTACK_WORKSPACE}/edx-notes-api:/edx/app/edx_notes_api/edx_notes_api:cached
38-
- ${DEVSTACK_WORKSPACE}/src:/edx/src:cached
36+
- ${DEVSTACK_WORKSPACE}/edx-notes-api:/edx/app/edx_notes_api/edx_notes_api
37+
- ${DEVSTACK_WORKSPACE}/src:/edx/src
3938
registrar:
4039
volumes:
4140
- ${DEVSTACK_WORKSPACE}/registrar:/edx/app/registrar/registrar
@@ -44,12 +43,12 @@ services:
4443
- ${DEVSTACK_WORKSPACE}/registrar:/edx/app/registrar/registrar
4544
studio:
4645
volumes:
47-
- ${DEVSTACK_WORKSPACE}/edx-platform:/edx/app/edxapp/edx-platform:cached
46+
- ${DEVSTACK_WORKSPACE}/edx-platform:/edx/app/edxapp/edx-platform
4847
- edxapp_media:/edx/var/edxapp/media
4948
- edxapp_node_modules:/edx/app/edxapp/edx-platform/node_modules
5049
- edxapp_tox:/edx/app/edxapp/edx-platform/.tox
5150
- edxapp_uploads:/edx/var/edxapp/uploads
52-
- ${DEVSTACK_WORKSPACE}/src:/edx/src:cached
51+
- ${DEVSTACK_WORKSPACE}/src:/edx/src
5352
insights:
5453
volumes:
5554
- ${DEVSTACK_WORKSPACE}/edx-analytics-dashboard:/edx/app/insights/insights
@@ -59,45 +58,45 @@ services:
5958
# See ADR #5 for rationale.
6059
frontend-app-account:
6160
volumes:
62-
- ${DEVSTACK_WORKSPACE}/frontend-app-account:/edx/app/frontend-app-account:cached
61+
- ${DEVSTACK_WORKSPACE}/frontend-app-account:/edx/app/frontend-app-account
6362
- frontend_app_account_node_modules:/edx/app/frontend-app-account/node_modules
64-
- ${DEVSTACK_WORKSPACE}/src:/edx/app/src:cached
63+
- ${DEVSTACK_WORKSPACE}/src:/edx/app/src
6564

6665
frontend-app-course-authoring:
6766
volumes:
68-
- ${DEVSTACK_WORKSPACE}/frontend-app-course-authoring:/edx/app/frontend-app-course-authoring:cached
67+
- ${DEVSTACK_WORKSPACE}/frontend-app-course-authoring:/edx/app/frontend-app-course-authoring
6968
- frontend_app_course_authoring_node_modules:/edx/app/frontend-app-course-authoring/node_modules
70-
- ${DEVSTACK_WORKSPACE}/src:/edx/app/src:cached
69+
- ${DEVSTACK_WORKSPACE}/src:/edx/app/src
7170
frontend-app-gradebook:
7271
volumes:
73-
- ${DEVSTACK_WORKSPACE}/frontend-app-gradebook:/edx/app/frontend-app-gradebook:cached
72+
- ${DEVSTACK_WORKSPACE}/frontend-app-gradebook:/edx/app/frontend-app-gradebook
7473
- frontend_app_gradebook_node_modules:/edx/app/frontend-app-gradebook/node_modules
75-
- ${DEVSTACK_WORKSPACE}/src:/edx/app/src:cached
74+
- ${DEVSTACK_WORKSPACE}/src:/edx/app/src
7675
frontend-app-learning:
7776
volumes:
78-
- ${DEVSTACK_WORKSPACE}/frontend-app-learning:/edx/app/frontend-app-learning:cached
77+
- ${DEVSTACK_WORKSPACE}/frontend-app-learning:/edx/app/frontend-app-learning
7978
- frontend_app_learning_node_modules:/edx/app/frontend-app-learning/node_modules
80-
- ${DEVSTACK_WORKSPACE}/src:/edx/app/src:cached
79+
- ${DEVSTACK_WORKSPACE}/src:/edx/app/src
8180
frontend-app-library-authoring:
8281
volumes:
83-
- ${DEVSTACK_WORKSPACE}/frontend-app-library-authoring:/edx/app/frontend-app-library-authoring:cached
82+
- ${DEVSTACK_WORKSPACE}/frontend-app-library-authoring:/edx/app/frontend-app-library-authoring
8483
- frontend_app_library_authoring_node_modules:/edx/app/frontend-app-library-authoring/node_modules
85-
- ${DEVSTACK_WORKSPACE}/src:/edx/app/src:cached
84+
- ${DEVSTACK_WORKSPACE}/src:/edx/app/src
8685
frontend-app-payment:
8786
volumes:
88-
- ${DEVSTACK_WORKSPACE}/frontend-app-payment:/edx/app/frontend-app-payment:cached
87+
- ${DEVSTACK_WORKSPACE}/frontend-app-payment:/edx/app/frontend-app-payment
8988
- frontend_app_payment_node_modules:/edx/app/frontend-app-payment/node_modules
90-
- ${DEVSTACK_WORKSPACE}/src:/edx/app/src:cached
89+
- ${DEVSTACK_WORKSPACE}/src:/edx/app/src
9190
frontend-app-program-console:
9291
volumes:
93-
- ${DEVSTACK_WORKSPACE}/frontend-app-program-console:/edx/app/frontend-app-program-console:cached
92+
- ${DEVSTACK_WORKSPACE}/frontend-app-program-console:/edx/app/frontend-app-program-console
9493
- frontend_app_program_console_node_modules:/edx/app/frontend-app-program-console/node_modules
95-
- ${DEVSTACK_WORKSPACE}/src:/edx/app/src:cached
94+
- ${DEVSTACK_WORKSPACE}/src:/edx/app/src
9695
frontend-app-publisher:
9796
volumes:
98-
- ${DEVSTACK_WORKSPACE}/frontend-app-publisher:/edx/app/frontend-app-publisher:cached
97+
- ${DEVSTACK_WORKSPACE}/frontend-app-publisher:/edx/app/frontend-app-publisher
9998
- frontend_app_publisher_node_modules:/edx/app/frontend-app-publisher/node_modules
100-
- ${DEVSTACK_WORKSPACE}/src:/edx/app/src:cached
99+
- ${DEVSTACK_WORKSPACE}/src:/edx/app/src
101100

102101
volumes:
103102
credentials_node_modules:

docker-compose-themes-nfs.yml

Lines changed: 0 additions & 23 deletions
This file was deleted.

docker-compose-themes.yml

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -3,13 +3,13 @@ version: "2.1"
33
services:
44
discovery:
55
volumes:
6-
- ${DEVSTACK_WORKSPACE}/edx-themes:/edx/app/edx-themes:cached
6+
- ${DEVSTACK_WORKSPACE}/edx-themes:/edx/app/edx-themes
77
ecommerce:
88
volumes:
9-
- ${DEVSTACK_WORKSPACE}/edx-themes:/edx/app/edx-themes:cached
9+
- ${DEVSTACK_WORKSPACE}/edx-themes:/edx/app/edx-themes
1010
lms:
1111
volumes:
12-
- ${DEVSTACK_WORKSPACE}/edx-themes:/edx/app/edx-themes:cached
12+
- ${DEVSTACK_WORKSPACE}/edx-themes:/edx/app/edx-themes
1313
studio:
1414
volumes:
15-
- ${DEVSTACK_WORKSPACE}/edx-themes:/edx/app/edx-themes:cached
15+
- ${DEVSTACK_WORKSPACE}/edx-themes:/edx/app/edx-themes

0 commit comments

Comments
 (0)