diff --git a/Makefile b/Makefile index 629da474a3..49ab6d1972 100644 --- a/Makefile +++ b/Makefile @@ -46,7 +46,7 @@ dev.check-memory dev.checkout dev.clone dev.clone.https dev.clone.ssh \ dev.dbshell dev.destroy dev.down dev.drop-db dev.kill dev.logs \ dev.migrate dev.migrate.lms dev.migrate.cms \ - devpi-password dev.provision dev.ps dev.pull dev.pull.without-deps \ + dev.provision dev.ps dev.pull dev.pull.without-deps \ dev.reset dev.reset-repos dev.restart-container dev.restart-devserver \ dev.restart-devserver.forum dev.restore dev.rm-stopped dev.shell \ dev.shell.credentials dev.shell.discovery \ @@ -622,9 +622,6 @@ vnc-passwords: ## Get the VNC passwords for the Chrome and Firefox Selenium cont @docker compose logs chrome 2>&1 | grep "VNC password" | tail -1 @docker compose logs firefox 2>&1 | grep "VNC password" | tail -1 -devpi-password: ## Get the root devpi password for the devpi container. - docker compose exec devpi bash -c "cat /data/server/.serverpassword" - hadoop-application-logs-%: ## View hadoop logs by application Id. docker compose exec nodemanager yarn logs -applicationId $* diff --git a/docker-compose.yml b/docker-compose.yml index f3abc79f04..f4511cff8b 100644 --- a/docker-compose.yml +++ b/docker-compose.yml @@ -50,19 +50,6 @@ services: environment: NEO4J_AUTH: "neo4j/edx" # Initial username/password for Neo4j Web interface. - devpi: - container_name: "edx.${COMPOSE_PROJECT_NAME:-devstack}.devpi" - hostname: devpi.devstack.edx - image: edxops/devpi:${OPENEDX_RELEASE:-latest} - networks: - default: - aliases: - - edx.devstack.devpi - ports: - - "3141:3141" - volumes: - - devpi_data:/data - elasticsearch710: container_name: "edx.${COMPOSE_PROJECT_NAME:-devstack}.elasticsearch710" hostname: elasticsearch710.devstack.edx @@ -377,7 +364,6 @@ services: container_name: "edx.${COMPOSE_PROJECT_NAME:-devstack}.edxnotesapi" hostname: edx_notes_api.devstack.edx depends_on: - - devpi - elasticsearch710 - lms - mysql80 @@ -425,7 +411,6 @@ services: container_name: "edx.${COMPOSE_PROJECT_NAME:-devstack}.lms" hostname: lms.devstack.edx depends_on: - - devpi - discovery - elasticsearch710 - forum @@ -604,7 +589,6 @@ services: container_name: "edx.${COMPOSE_PROJECT_NAME:-devstack}.cms" hostname: cms.devstack.edx depends_on: - - devpi - elasticsearch710 - lms - memcached @@ -854,7 +838,6 @@ services: volumes: coursegraph_data: discovery_assets: - devpi_data: edxapp_lms_assets: edxapp_cms_assets: elasticsearch710_data: diff --git a/docs/devpi.rst b/docs/devpi.rst deleted file mode 100644 index 4d0f69d631..0000000000 --- a/docs/devpi.rst +++ /dev/null @@ -1,65 +0,0 @@ -devpi in Devstack -================= - -Several tasks in Devstack require pulling fresh copies of Python packages -from PyPI. Depending on the application you are working on this can take -anywhere from a few seconds to several minutes. Additionally, those tasks -could not be done while offline due to not being able to contact PyPI. - -To help speed up those tasks and bring us close to being able to use -Devstack entirely offline we have introduced a devpi PyPI cache container -to Devstack. Currently it is only configured as a package cache for LMS -and CMS, but the hope is to expand its use to the other Devstack -applications and to move to a state where it comes pre-populated with the -requirements of all Devstack applications. - -In general the operation of devpi should be transparent. You may notice -some significant speedup in tox testing and ``paver update_prereqs`` -operations after the first run. Container storage should persist through -``make dev.remove-containers`` and ``make dev.up.`` operations. - -The devpi web interface can be browsed from the host at: -http://localhost:3141/ - -Documentation for devpi is at: -https://www.devpi.net/ - - -What is cached? ---------------- - -devpi will cache anything that LMS or CMS pull from PyPI via pip, -including things from the various requirements files. It will not cache -requirements given as URLs (ex. ``git+https`` style links) or local -packages (ex. ``-e common/lib/calc``). When these types of packages are -encountered they bypass devpi. - -How is it tied into other Devstack components? ----------------------------------------------- - -devpi runs in a separate container started via the usual ``make`` -operations and controlled through Docker Compose. Devstack components -can use the ``devpi_consumer`` role in edx-configuration to add devpi -configuration to their containers, and override configuration -variables as necessary. - -``devpi_consumer`` creates a pip.config file in the configured location -that tells pip to use devpi as the primary package repository. If devpi -does not have a requested package it will call through to PyPI and -cache the result if something is found. - -Disabling devpi ---------------- - -To temporarily remove devpi caching from an edxapp container, start a -shell (``dev.shell.lms`` or ``dev.shell.cms``) and move or delete -``/root/.pip/pip.conf``. This will be undone on the next container -restart unless the container state is persisted. - -Monitoring devpi ----------------- - -You can monitor the devpi logs by running this command on the host: -``make devpi-logs`` or looking at the output in -Kitematic. You can also check the devpi server status by visiting: -http://localhost:3141/+status diff --git a/docs/devstack_faq.rst b/docs/devstack_faq.rst index 0e0161dd94..5776ac0968 100644 --- a/docs/devstack_faq.rst +++ b/docs/devstack_faq.rst @@ -287,12 +287,6 @@ After changing settings, you can restart the LMS/CMS process without restarting make dev.restart-devserver.cms # For CMS -What is DevPI and how does it affect Devstack? ----------------------------------------------- - -LMS and CMS use a devpi container to cache PyPI dependencies, which speeds up several Devstack operations. -See the `devpi documentation`_. - .. _edxops Docker image: https://hub.docker.com/r/edxops/ .. _Docker Hub: https://hub.docker.com/ .. _building images for devstack: docs/building-images.rst @@ -300,4 +294,3 @@ See the `devpi documentation`_. .. _Changing Themes for an Open edX Site: https://edx.readthedocs.io/projects/edx-installing-configuring-and-running/en/latest/configuration/changing_appearance/theming/index.html .. _updating relational database dumps: docs/database-dumps.rst .. _Django Migration Don'ts: https://engineering.edx.org/django-migration-donts-f4588fd11b64 -.. _devpi documentation: docs/devpi.rst diff --git a/docs/index.rst b/docs/index.rst index 0f4b9e6934..a822ef5f61 100644 --- a/docs/index.rst +++ b/docs/index.rst @@ -21,7 +21,6 @@ Contents devstack_faq building-images database-dumps - devpi developing_on_named_release_branches pycharm_integration testing_and_debugging diff --git a/options.mk b/options.mk index bde253e627..86b7eec5f7 100644 --- a/options.mk +++ b/options.mk @@ -90,4 +90,4 @@ credentials+discovery+ecommerce+insights+lms+registrar+cms # All third-party services. # Separated by plus signs. Listed in alphabetical order for clarity. THIRD_PARTY_SERVICES ?= \ -chrome+coursegraph+devpi+elasticsearch710+firefox+memcached+mongo+mysql57+mysql80+opensearch12+redis+namenode+datanode+resourcemanager+nodemanager+sparkmaster+sparkworker+vertica +chrome+coursegraph+elasticsearch710+firefox+memcached+mongo+mysql57+mysql80+opensearch12+redis+namenode+datanode+resourcemanager+nodemanager+sparkmaster+sparkworker+vertica