Skip to content

Commit 271208a

Browse files
authored
Merge pull request #330 from harshad16/support-elyra
feature: install package directly on runtime images
2 parents ec30a7d + 4ea1840 commit 271208a

File tree

26 files changed

+5638
-322
lines changed

26 files changed

+5638
-322
lines changed

runtimes/datascience/ubi8-python-3.8/Pipfile

Lines changed: 21 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -16,11 +16,32 @@ scikit-learn = "~=1.3.0"
1616
scipy = "~=1.10.0"
1717
skl2onnx = "~=1.15.0"
1818
codeflare-sdk = "~=0.12.0"
19+
1920
# DB connectors
2021
pymongo = "~=4.5.0"
2122
psycopg = "~=3.1.10"
2223
pyodbc = "~=4.0.39"
2324
mysql-connector-python = "~=8.0.33"
2425

26+
# This is a comprehensive list of python dependencies that Elyra requires to execute Jupyter notebooks.
27+
ipykernel = "==6.13.0"
28+
ipython = "==8.10.0"
29+
ipython-genutils = "==0.2.0"
30+
jinja2 = "==3.0.3"
31+
jupyter-client = "==7.3.1"
32+
jupyter-core = "==4.11.2"
33+
MarkupSafe = "==2.1.1"
34+
minio = "==7.1.15"
35+
nbclient = "==0.6.3"
36+
nbconvert = "==6.5.1"
37+
nbformat = "==5.4.0"
38+
papermill = "==2.3.4"
39+
pyzmq = "==24.0.1"
40+
prompt-toolkit = "==3.0.30"
41+
requests = "==2.31.0"
42+
tornado = "==6.3.3"
43+
traitlets = "==5.1.1"
44+
urllib3 = "==1.26.9"
45+
2546
[requires]
2647
python_version = "3.8"

runtimes/datascience/ubi8-python-3.8/Pipfile.lock

Lines changed: 576 additions & 10 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

runtimes/datascience/ubi8-python-3.8/utils/bootstrapper.py

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -727,7 +727,6 @@ def main():
727727
input_params = OpUtil.parse_arguments(sys.argv[1:])
728728
OpUtil.log_operation_info("starting operation")
729729
t0 = time.time()
730-
OpUtil.package_install(user_volume_path=input_params.get("user-volume-path"))
731730

732731
# Create the appropriate instance, process dependencies and execute the operation
733732
file_op = FileOpBase.get_instance(**input_params)

runtimes/datascience/ubi9-python-3.9/Pipfile

Lines changed: 22 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,7 @@ name = "pypi"
66
[dev-packages]
77

88
[packages]
9+
910
# Datascience and useful extensions
1011
kafka-python = "~=2.0.2"
1112
matplotlib = "~=3.6.3"
@@ -16,11 +17,32 @@ scikit-learn = "~=1.3.0"
1617
scipy = "~=1.11.2"
1718
skl2onnx = "~=1.15.0"
1819
codeflare-sdk = "~=0.12.0"
20+
1921
# DB connectors
2022
pymongo = "~=4.5.0"
2123
psycopg = "~=3.1.10"
2224
pyodbc = "~=4.0.39"
2325
mysql-connector-python = "~=8.0.33"
2426

27+
# This is a comprehensive list of python dependencies that Elyra requires to execute Jupyter notebooks.
28+
ipykernel = "==6.13.0"
29+
ipython = "==8.10.0"
30+
ipython-genutils = "==0.2.0"
31+
jinja2 = "==3.0.3"
32+
jupyter-client = "==7.3.1"
33+
jupyter-core = "==4.11.2"
34+
MarkupSafe = "==2.1.1"
35+
minio = "==7.1.15"
36+
nbclient = "==0.6.3"
37+
nbconvert = "==6.5.1"
38+
nbformat = "==5.4.0"
39+
papermill = "==2.3.4"
40+
pyzmq = "==24.0.1"
41+
prompt-toolkit = "==3.0.30"
42+
requests = "==2.31.0"
43+
tornado = "==6.3.3"
44+
traitlets = "==5.1.1"
45+
urllib3 = "==1.26.9"
46+
2547
[requires]
2648
python_version = "3.9"

runtimes/datascience/ubi9-python-3.9/Pipfile.lock

Lines changed: 575 additions & 10 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

runtimes/datascience/ubi9-python-3.9/utils/bootstrapper.py

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -727,7 +727,6 @@ def main():
727727
input_params = OpUtil.parse_arguments(sys.argv[1:])
728728
OpUtil.log_operation_info("starting operation")
729729
t0 = time.time()
730-
OpUtil.package_install(user_volume_path=input_params.get("user-volume-path"))
731730

732731
# Create the appropriate instance, process dependencies and execute the operation
733732
file_op = FileOpBase.get_instance(**input_params)

runtimes/minimal/ubi8-python-3.8/Dockerfile

Lines changed: 7 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -13,10 +13,16 @@ LABEL name="odh-notebook-runtime-minimal-ubi8-python-3.8" \
1313

1414
WORKDIR /opt/app-root/bin
1515

16+
# Install Python packages from Pipfile.lock
17+
COPY Pipfile.lock ./
1618
# Copy Elyra dependencies for air-gapped enviroment
1719
COPY utils ./utils/
1820

19-
RUN chmod -R g+w /opt/app-root/lib/python3.8/site-packages && \
21+
RUN echo "Installing softwares and packages" && \
22+
micropipenv install && \
23+
rm -f ./Pipfile.lock && \
24+
# Fix permissions to support pip in Openshift environments \
25+
chmod -R g+w /opt/app-root/lib/python3.8/site-packages && \
2026
fix-permissions /opt/app-root -P
2127

2228
WORKDIR /opt/app-root/src
Lines changed: 30 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,30 @@
1+
[[source]]
2+
url = "https://pypi.org/simple"
3+
verify_ssl = true
4+
name = "pypi"
5+
6+
[dev-packages]
7+
8+
[packages]
9+
# This is a comprehensive list of python dependencies that Elyra requires to execute Jupyter notebooks.
10+
ipykernel = "==6.13.0"
11+
ipython = "==8.10.0"
12+
ipython-genutils = "==0.2.0"
13+
jinja2 = "==3.0.3"
14+
jupyter-client = "==7.3.1"
15+
jupyter-core = "==4.11.2"
16+
MarkupSafe = "==2.1.1"
17+
minio = "==7.1.15"
18+
nbclient = "==0.6.3"
19+
nbconvert = "==6.5.1"
20+
nbformat = "==5.4.0"
21+
papermill = "==2.3.4"
22+
pyzmq = "==24.0.1"
23+
prompt-toolkit = "==3.0.30"
24+
requests = "==2.31.0"
25+
tornado = "==6.3.3"
26+
traitlets = "==5.1.1"
27+
urllib3 = "==1.26.9"
28+
29+
[requires]
30+
python_version = "3.8"

runtimes/minimal/ubi8-python-3.8/Pipfile.lock

Lines changed: 1017 additions & 0 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

runtimes/minimal/ubi8-python-3.8/utils/bootstrapper.py

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -727,7 +727,6 @@ def main():
727727
input_params = OpUtil.parse_arguments(sys.argv[1:])
728728
OpUtil.log_operation_info("starting operation")
729729
t0 = time.time()
730-
OpUtil.package_install(user_volume_path=input_params.get("user-volume-path"))
731730

732731
# Create the appropriate instance, process dependencies and execute the operation
733732
file_op = FileOpBase.get_instance(**input_params)

0 commit comments

Comments
 (0)