Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Feature/feature store 1.0.4 #370

Merged
merged 67 commits into from
Oct 27, 2023
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
67 commits
Select commit Hold shift + click to select a range
01b5606
Added auto validation for load balancer.
lu-ohai Jun 27, 2023
98e11ff
Fixed unit tests.
lu-ohai Jun 27, 2023
95ac6ae
Updated pr.
lu-ohai Jul 18, 2023
6b3fbdf
Fixed pipeline step to dict.
lu-ohai Sep 11, 2023
1367e4c
Fixed unit tests.
lu-ohai Sep 12, 2023
4eb2deb
Merge branch 'main' of https://github.com/oracle/accelerated-data-sci…
lu-ohai Sep 14, 2023
95fe7fa
Fixed unpatched object storage url bug in unit test.
lu-ohai Sep 20, 2023
06a37f0
Updated pr.
lu-ohai Sep 20, 2023
24b3262
Updated pr.
lu-ohai Sep 20, 2023
c174d72
Fixed issue caused by https://github.com/microsoft/onnxruntime/issues…
lu-ohai Sep 21, 2023
44e23d7
Fixed unpatched object storage url bug in unit test (#340)
lu-ohai Sep 21, 2023
26096cd
Merge branch 'main' of https://github.com/oracle/accelerated-data-sci…
lu-ohai Sep 21, 2023
c533e2e
Fixed pipeline step to dict (#325)
lu-ohai Sep 21, 2023
f1c5390
Moved geopandas file load out of constructor (#337)
jdesanto Sep 21, 2023
326db9b
Added support to cancel all job runs.
lu-ohai Sep 22, 2023
d72098c
Fixed generic model save() issue.
lu-ohai Sep 23, 2023
6fd9b03
Fixed generic model save() issue (#347)
lu-ohai Sep 25, 2023
3873b99
code changes for streaming dataframe
yogesh266 Sep 27, 2023
cc3fb53
refactored code for streaming changes
yogesh266 Sep 27, 2023
da6eb53
ODSC-46642/pass model by reference (#342)
mingkang111 Sep 27, 2023
fa6f315
ADS release 2.8.10 (#355)
liudmylaru Sep 27, 2023
0ad891a
Added unit test.
lu-ohai Sep 28, 2023
435741b
Merge branch 'main' of https://github.com/oracle/accelerated-data-sci…
lu-ohai Sep 28, 2023
dc4c9de
spark transformation changes
yogesh266 Sep 30, 2023
6bbb58a
code refactor for streaming dataframe
yogesh266 Oct 4, 2023
b835edb
Added support to cancel all job runs (#346)
lu-ohai Oct 4, 2023
fc8cca9
Added support for customizing destination path for job mount file sys…
lu-ohai Oct 9, 2023
03b51be
Switching to fsclient sdk
harsh97 Oct 10, 2023
ee0a419
Migrate feature store to separate SDK (#369)
KshitizLohia Oct 10, 2023
fd28516
Update ads.set_auth() to use both customized config and signer when p…
qiuosier Oct 10, 2023
3f6d290
Update distributed training CLI to add "ray" framework.
qiuosier Oct 10, 2023
837229a
Updated pr.
lu-ohai Oct 10, 2023
68d4b59
Updated pr.
lu-ohai Oct 10, 2023
cadbab1
Updated pr.
lu-ohai Oct 10, 2023
37c7ddf
Added docs for mounting file systems for job.
lu-ohai Oct 10, 2023
abb3140
Re-arrange unitary tests workflows (#374)
liudmylaru Oct 11, 2023
3c2a007
Merge branch 'main' of https://github.com/oracle/accelerated-data-sci…
lu-ohai Oct 11, 2023
78cd84a
Merge branch 'main' of https://github.com/oracle/accelerated-data-sci…
lu-ohai Oct 11, 2023
a4a3d9a
Added support for customizing path for job mount file system (#368)
lu-ohai Oct 12, 2023
dd2b4b3
Merge commit 'a4a3d9a16e0bccd9cac5eb6fddb813c30f3b2669'
qiuosier Oct 12, 2023
b44c0a1
Merge commit 'a4a3d9a16e0bccd9cac5eb6fddb813c30f3b2669'
qiuosier Oct 12, 2023
dcd8aba
Updated pr.
lu-ohai Oct 13, 2023
8207481
Merge branch 'main' of https://github.com/oracle/accelerated-data-sci…
lu-ohai Oct 13, 2023
9018bde
Added warning for load balancer (#240)
lu-ohai Oct 13, 2023
278a064
added docs
KshitizLohia Oct 14, 2023
50c675c
Merge branch 'main' of github.com:oracle/accelerated-data-science int…
KshitizLohia Oct 14, 2023
0235f0c
added documentation
KshitizLohia Oct 14, 2023
1ec5922
backmerged
KshitizLohia Oct 14, 2023
3ec41ae
Merge branch 'feature/feature-store-1.0.4' of github.com:oracle/accel…
yogesh266 Oct 15, 2023
ca6d812
Update distributed training CLI to add "ray" framework. (#372)
qiuosier Oct 16, 2023
1bc4b18
Update `ads.set_auth()` to use both customized config and signer (#371)
qiuosier Oct 16, 2023
cf24b43
code changes for streaming integeration
yogesh266 Oct 16, 2023
fed6358
added docs
KshitizLohia Oct 16, 2023
8fa1606
added docs
KshitizLohia Oct 16, 2023
399b1a7
added docs
KshitizLohia Oct 16, 2023
fbdddd3
Streaming dataframe support (#354)
KshitizLohia Oct 16, 2023
f353f8a
ODSC-48247/Update Doc On ModelDeployment Default Shape Name Selection…
mingkang111 Oct 17, 2023
a6d855f
Update llama2_full.rst and training_llm.rst
qiuosier Oct 18, 2023
7cc3f8f
[DOCS] Large Language Model section. (#358)
mingkang111 Oct 18, 2023
b710891
Updated oci doc link.
lu-ohai Oct 18, 2023
69aa3b7
Update Training Large Language Model page to recent updates. (#379)
qiuosier Oct 18, 2023
c12ffd9
Added docs for mounting file systems for job. (#373)
lu-ohai Oct 18, 2023
c6a3a2b
ADS release 2.8.11 (#380)
liudmylaru Oct 18, 2023
935ab5c
added docs by lorna
KshitizLohia Oct 26, 2023
6035770
added docs by lorna
KshitizLohia Oct 26, 2023
d7a76ff
backmerged
KshitizLohia Oct 26, 2023
6393b3a
added docs
KshitizLohia Oct 26, 2023
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
14 changes: 14 additions & 0 deletions .github/workflows/create-more-space/action.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,14 @@
# We are running out space on the disk, solution described here:
# https://github.com/actions/runner-images/issues/2840#issuecomment-790492173

name: "Create more disk space"
description: "Removing some folders to create more disk space"
runs:
using: composite
steps:
- shell: bash
run: |
sudo rm -rf /usr/share/dotnet
sudo rm -rf /opt/ghc
sudo rm -rf "/usr/local/share/boost"
sudo rm -rf "$AGENT_TOOLSDIRECTORY"
42 changes: 8 additions & 34 deletions .github/workflows/run-unittests-default_setup.yml
Original file line number Diff line number Diff line change
@@ -1,18 +1,13 @@
name: tests/unitary/default_setup/**
name: "[Py3.8][Py3.9][Py3.10] tests/unitary/default_setup/**"

on:
workflow_dispatch:
pull_request:
branches:
- main
- "release/**"
- develop
paths:
- "ads/**"
- pyproject.toml
- "**requirements.txt"
- .github/workflows/run-unittests.yml
- .github/workflows/run-unittests-default_setup.yml
- ".github/workflows/run-unittests*.yml"

# Cancel in progress workflows on pull_requests.
# https://docs.github.com/en/actions/using-jobs/using-concurrency#example-using-a-fallback-value
Expand Down Expand Up @@ -41,37 +36,16 @@ jobs:
steps:
- uses: actions/checkout@v3

# Caching python libraries installed with pip
# https://github.com/actions/cache/blob/main/examples.md#python---pip
- uses: actions/cache@v3
with:
path: ~/.cache/pip
key: ${{ runner.os }}-pip-${{ hashFiles('**/test-requirements.txt') }}
restore-keys: |
${{ runner.os }}-pip-
- uses: actions/setup-python@v4
with:
python-version: ${{ matrix.python-version }}
cache: "pip"
cache-dependency-path: |
pyproject.toml
"**requirements.txt"

- name: "Test config setup"
shell: bash
env:
HOME_RUNNER_DIR: /home/runner
run: |
set -x # print commands that are executed
mkdir -p "$HOME_RUNNER_DIR"/.oci
openssl genrsa -out $HOME_RUNNER_DIR/.oci/oci_ads_user.pem 2048
cat <<EOT >> "$HOME_RUNNER_DIR/.oci/config"
[DEFAULT]
user=ocid1.user.oc1..xxx
fingerprint=00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00
tenancy=ocid1.tenancy.oc1..xxx
region=test_region
key_file=$HOME_RUNNER_DIR/.oci/oci_ads_user.pem
EOT
ls -lha "$HOME_RUNNER_DIR"/.oci
echo "Test config file:"
cat $HOME_RUNNER_DIR/.oci/config
- uses: ./.github/workflows/set-dummy-conf
name: "Test config setup"

- name: "Run default_setup tests folder ONLY with minimum ADS dependencies"
timeout-minutes: 15
Expand Down
Original file line number Diff line number Diff line change
@@ -1,18 +1,13 @@
name: tests/unitary/**
name: "[Py3.8][COV REPORT] tests/unitary/**"

on:
workflow_dispatch:
pull_request:
branches:
- main
- "release/**"
- develop
paths:
- "ads/**"
- pyproject.toml
- "**requirements.txt"
- .github/workflows/run-unittests.yml
- .github/workflows/run-unittests-default_setup.yml
- ".github/workflows/run-unittests*.yml"

# Cancel in progress workflows on pull_requests.
# https://docs.github.com/en/actions/using-jobs/using-concurrency#example-using-a-fallback-value
Expand All @@ -30,58 +25,37 @@ env:

jobs:
test:
name: python ${{ matrix.python-version }}, ${{ matrix.name }}
name: python 3.8, ${{ matrix.name }}
runs-on: ubuntu-latest
timeout-minutes: 90

strategy:
fail-fast: false
matrix:
python-version: ["3.8", "3.9", "3.10"]
test-path: ["tests/unitary/with_extras tests/unitary/default_setup", "tests/unitary/with_extras/model"]
include:
- test-path: "tests/unitary/with_extras tests/unitary/default_setup"
ignore-path: "--ignore tests/unitary/with_extras/model --ignore tests/unitary/with_extras/feature_store"
name: "unitary"
- test-path: "tests/unitary/with_extras/model"
name: "model"
- python-version: "3.8"
cov-reports: --cov=ads --cov-report=xml --cov-report=html

steps:
- uses: actions/checkout@v3

# Caching python libraries installed with pip
# https://github.com/actions/cache/blob/main/examples.md#python---pip
- uses: actions/cache@v3
with:
path: ~/.cache/pip
key: ${{ runner.os }}-pip-${{ hashFiles('**/dev-requirements.txt') }}
restore-keys: |
${{ runner.os }}-pip-
- uses: ./.github/workflows/create-more-space
name: "Create more disk space"

- uses: actions/setup-python@v4
with:
python-version: ${{ matrix.python-version }}
python-version: "3.8"
cache: "pip"
cache-dependency-path: |
pyproject.toml
"**requirements.txt"

- name: "Test config setup"
shell: bash
env:
HOME_RUNNER_DIR: /home/runner
run: |
set -x # print commands that are executed
mkdir -p "$HOME_RUNNER_DIR"/.oci
openssl genrsa -out $HOME_RUNNER_DIR/.oci/oci_ads_user.pem 2048
cat <<EOT >> "$HOME_RUNNER_DIR/.oci/config"
[DEFAULT]
user=ocid1.user.oc1..xxx
fingerprint=00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00
tenancy=ocid1.tenancy.oc1..xxx
region=test_region
key_file=$HOME_RUNNER_DIR/.oci/oci_ads_user.pem
EOT
ls -lha "$HOME_RUNNER_DIR"/.oci
echo "Test config file:"
cat $HOME_RUNNER_DIR/.oci/config
- uses: ./.github/workflows/set-dummy-conf
name: "Test config setup"

- name: "Test env setup"
timeout-minutes: 20
Expand All @@ -104,22 +78,19 @@ jobs:
set -x # print commands that are executed

# Setup project and tests folder for cov reports to not be overwritten by another parallel step
if [[ ! -z "${{ matrix.cov-reports }}" ]]; then
mkdir -p cov-${{ matrix.name }}
cd cov-${{ matrix.name }}
ln -s ../tests tests
ln -s ../ads ads
ln -s ../.coveragerc .coveragerc
fi
mkdir -p cov-${{ matrix.name }}
cd cov-${{ matrix.name }}
ln -s ../tests tests
ln -s ../ads ads
ln -s ../.coveragerc .coveragerc

# Run tests
python -m pytest -v -p no:warnings --durations=5 \
-n auto --dist loadfile ${{ matrix.cov-reports }} \
-n auto --dist loadfile --cov=ads --cov-report=xml --cov-report=html \
${{ matrix.test-path }} ${{ matrix.ignore-path }}

- name: "Save coverage files"
uses: actions/upload-artifact@v3
if: ${{ matrix.cov-reports }}
with:
name: cov-reports-${{ matrix.name }}
path: |
Expand All @@ -132,7 +103,7 @@ jobs:
runs-on: ubuntu-latest
continue-on-error: true
needs: test
if: ${{ success() }} && ${{ github.event.issue.pull_request }}
if: ${{ success() }} && && github.event_name == 'pull_request'
env:
COMPARE_BRANCH: main

Expand Down
84 changes: 84 additions & 0 deletions .github/workflows/run-unittests-py39-py310.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,84 @@
name: "[Py3.9][Py3.10] - tests/unitary/**"

on:
workflow_dispatch:
pull_request:
paths:
- "ads/**"
- pyproject.toml
- "**requirements.txt"
- ".github/workflows/run-unittests*.yml"

# Cancel in progress workflows on pull_requests.
# https://docs.github.com/en/actions/using-jobs/using-concurrency#example-using-a-fallback-value
concurrency:
group: ${{ github.workflow }}-${{ github.head_ref || github.run_id }}
cancel-in-progress: true

permissions:
contents: read
pull-requests: write

# hack for https://github.com/actions/cache/issues/810#issuecomment-1222550359
env:
SEGMENT_DOWNLOAD_TIMEOUT_MINS: 5

jobs:
test:
name: python ${{ matrix.python-version }}, ${{ matrix.name }}
runs-on: ubuntu-latest
timeout-minutes: 90

strategy:
fail-fast: false
matrix:
python-version: ["3.9", "3.10"]
test-path: ["tests/unitary/with_extras tests/unitary/default_setup", "tests/unitary/with_extras/model"]
include:
- test-path: "tests/unitary/with_extras tests/unitary/default_setup"
ignore-path: "--ignore tests/unitary/with_extras/model --ignore tests/unitary/with_extras/feature_store"
name: "unitary"
- test-path: "tests/unitary/with_extras/model"
name: "model"

steps:
- uses: actions/checkout@v3

- uses: ./.github/workflows/create-more-space
name: "Create more disk space"

- uses: actions/setup-python@v4
with:
python-version: ${{ matrix.python-version }}
cache: "pip"
cache-dependency-path: |
pyproject.toml
"**requirements.txt"

- uses: ./.github/workflows/set-dummy-conf
name: "Test config setup"

- name: "Test env setup"
timeout-minutes: 20
shell: bash
run: |
set -x # print commands that are executed

sudo apt-get install libkrb5-dev graphviz
$CONDA/bin/conda init
source /home/runner/.bashrc

pip install -r dev-requirements.txt

- name: "Run unitary tests folder with maximum ADS dependencies"
timeout-minutes: 60
shell: bash
env:
CONDA_PREFIX: /usr/share/miniconda
run: |
set -x # print commands that are executed

# Run tests
python -m pytest -v -p no:warnings --durations=5 \
-n auto --dist loadfile \
${{ matrix.test-path }} ${{ matrix.ignore-path }}
26 changes: 26 additions & 0 deletions .github/workflows/set-dummy-conf/action.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,26 @@
# This composite action is to avoid duplicating code across test actions.
# Ref: https://docs.github.com/en/actions/creating-actions/creating-a-composite-action

name: "Create dummy oci config"
description: "Creates dummy oci config folder in ~/.oci"
runs:
using: composite
steps:
- shell: bash
env:
HOME_RUNNER_DIR: /home/runner
run: |
set -x # print commands that are executed
mkdir -p "$HOME_RUNNER_DIR"/.oci
openssl genrsa -out $HOME_RUNNER_DIR/.oci/oci_ads_user.pem 2048
cat <<EOT >> "$HOME_RUNNER_DIR/.oci/config"
[DEFAULT]
user=ocid1.user.oc1..xxx
fingerprint=00:00:00:00:00:00:00:00:00:00:00:00:00:00:00:00
tenancy=ocid1.tenancy.oc1..xxx
region=test_region
key_file=$HOME_RUNNER_DIR/.oci/oci_ads_user.pem
EOT
ls -lha "$HOME_RUNNER_DIR"/.oci
echo "Test config file:"
cat $HOME_RUNNER_DIR/.oci/config
1 change: 1 addition & 0 deletions .gitleaks.toml
Original file line number Diff line number Diff line change
Expand Up @@ -13,6 +13,7 @@ useDefault = true
'''example-password''',
'''this-is-not-the-secret''',
'''<redacted>''',
'''security_token''',
# NVIDIA_GPGKEY_SUM from public documentation:
# https://gitlab.com/nvidia/container-images/cuda/-/blob/master/dist/10.1/centos7/base/Dockerfile
'''d0664fbbdb8c32356d45de36c5984617217b2d0bef41b93ccecd326ba3b80c87'''
Expand Down
1 change: 1 addition & 0 deletions .pre-commit-config.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -39,6 +39,7 @@ repos:
rev: v8.17.0
hooks:
- id: gitleaks
exclude: .github/workflows/reusable-actions/set-dummy-conf.yml
# Oracle copyright checker
- repo: https://github.com/oracle-samples/oci-data-science-ai-samples/
rev: cbe0136f7aaffe463b31ddf3f34b0e16b4b124ff
Expand Down
4 changes: 2 additions & 2 deletions ads/common/auth.py
Original file line number Diff line number Diff line change
Expand Up @@ -416,7 +416,7 @@ def create_signer(
>>> auth = ads.auth.create_signer(auth_type="security_token", config=config) # security token authentication created based on provided config
"""
if signer or signer_callable:
configuration = ads.telemetry.update_oci_client_config()
configuration = ads.telemetry.update_oci_client_config(config)
if signer_callable:
signer = signer_callable(**signer_kwargs)
signer_dict = {
Expand Down Expand Up @@ -479,7 +479,7 @@ def default_signer(client_kwargs: Optional[Dict] = None) -> Dict:
"""
auth_state = AuthState()
if auth_state.oci_signer or auth_state.oci_signer_callable:
configuration = ads.telemetry.update_oci_client_config()
configuration = ads.telemetry.update_oci_client_config(auth_state.oci_config)
signer = auth_state.oci_signer
if auth_state.oci_signer_callable:
signer_kwargs = auth_state.oci_signer_kwargs or {}
Expand Down
Loading