Skip to content

Commit af8a422

Browse files
authored
Build: always use gvisor Docker runtime (#10469)
* Build: always use `gvisor` Docker runtime Remove the feature flag to decide whether or not Docker should use `gVisor`. This is currently enabled by default to all the projects since last week, so I think we are safe to remove it since it has been working fine. * Mention gVisor in the installation guide
1 parent 37650de commit af8a422

File tree

4 files changed

+3
-14
lines changed

4 files changed

+3
-14
lines changed

docs/dev/install.rst

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -59,6 +59,8 @@ Set up your environment
5959

6060
pip install -r common/dockerfiles/requirements.txt
6161

62+
#. Set up gVisor following :doc:`rtd-dev:guides/gvisor`.
63+
6264
#. Build the Docker image for the servers:
6365

6466
.. warning::

readthedocs/doc_builder/director.py

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -140,14 +140,12 @@ def create_vcs_environment(self):
140140
)
141141

142142
def create_build_environment(self):
143-
use_gvisor = self.data.config.using_build_tools and self.data.config.build.jobs
144143
self.build_environment = self.data.environment_class(
145144
project=self.data.project,
146145
version=self.data.version,
147146
config=self.data.config,
148147
build=self.data.build,
149148
environment=self.get_build_env_vars(),
150-
use_gvisor=use_gvisor,
151149
api_client=self.data.api_client,
152150
)
153151

readthedocs/doc_builder/environments.py

Lines changed: 1 addition & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -564,15 +564,11 @@ class DockerBuildEnvironment(BaseBuildEnvironment):
564564

565565
def __init__(self, *args, **kwargs):
566566
container_image = kwargs.pop("container_image", None)
567-
self.use_gvisor = kwargs.pop("use_gvisor", False)
568567
super().__init__(*args, **kwargs)
569568
self.client = None
570569
self.container = None
571570
self.container_name = self.get_container_name()
572571

573-
if self.project.has_feature(Feature.DOCKER_GVISOR_RUNTIME):
574-
self.use_gvisor = True
575-
576572
# Decide what Docker image to use, based on priorities:
577573
# The image set by user or,
578574
if self.config and self.config.docker_image:
@@ -799,12 +795,10 @@ def create_container(self):
799795
"""Create docker container."""
800796
client = self.get_client()
801797
try:
802-
docker_runtime = "runsc" if self.use_gvisor else None
803798
log.info(
804799
'Creating Docker container.',
805800
container_image=self.container_image,
806801
container_id=self.container_id,
807-
docker_runtime=docker_runtime,
808802
)
809803
self.container = client.create_container(
810804
image=self.container_image,
@@ -819,7 +813,7 @@ def create_container(self):
819813
host_config=self.get_container_host_config(),
820814
detach=True,
821815
user=settings.RTD_DOCKER_USER,
822-
runtime=docker_runtime,
816+
runtime="runsc", # gVisor runtime
823817
)
824818
client.start(container=self.container_id)
825819
except (DockerAPIError, ConnectionError) as exc:

readthedocs/projects/models.py

Lines changed: 0 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1909,7 +1909,6 @@ def add_features(sender, **kwargs):
19091909
CONDA_APPEND_CORE_REQUIREMENTS = "conda_append_core_requirements"
19101910
ALL_VERSIONS_IN_HTML_CONTEXT = "all_versions_in_html_context"
19111911
CDN_ENABLED = "cdn_enabled"
1912-
DOCKER_GVISOR_RUNTIME = "gvisor_runtime"
19131912
RECORD_404_PAGE_VIEWS = "record_404_page_views"
19141913
ALLOW_FORCED_REDIRECTS = "allow_forced_redirects"
19151914
DISABLE_PAGEVIEWS = "disable_pageviews"
@@ -1982,10 +1981,6 @@ def add_features(sender, **kwargs):
19821981
"are enabled."
19831982
),
19841983
),
1985-
(
1986-
DOCKER_GVISOR_RUNTIME,
1987-
_("Build: Use Docker gVisor runtime to create build container."),
1988-
),
19891984
(
19901985
RECORD_404_PAGE_VIEWS,
19911986
_("Proxito: Record 404s page views."),

0 commit comments

Comments
 (0)