From 71d041438dfca2e6a8f990fff45d457a8d264013 Mon Sep 17 00:00:00 2001 From: hvrai Date: Mon, 5 Feb 2024 17:53:30 +0530 Subject: [PATCH 1/3] Adding documnetation for container service --- .../docs/source/figures/oci_fs_container.png | Bin 0 -> 56552 bytes .../docs/source/setup_feature_store.rst | 7 ++++++- .../docs/source/user_guides.setup.container.rst | 8 ++++++++ ...user_guides.setup.feature_store_operator.rst | 2 +- ads/opctl/backend/marketplace/helm_helper.py | 2 +- 5 files changed, 16 insertions(+), 3 deletions(-) create mode 100644 ads/feature_store/docs/source/figures/oci_fs_container.png create mode 100644 ads/feature_store/docs/source/user_guides.setup.container.rst diff --git a/ads/feature_store/docs/source/figures/oci_fs_container.png b/ads/feature_store/docs/source/figures/oci_fs_container.png new file mode 100644 index 0000000000000000000000000000000000000000..7f92f25dde064edff7294b71ef54b28c2811af45 GIT binary patch literal 56552 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 for authentication and authorization. + +:doc:`Deployment using Container Service <./user_guides.setup.container>` +_________________________________________________________________________ +This is the quickest way to get hands on with feature store. We can manually export images to OCIR using Marketplace UI and then deploy the obtained images using the container service stack. + .. _Database configuration: Database configuration @@ -36,7 +41,6 @@ Here ``feature-store-dynamic-group`` is the dynamic group corresponding to the i .. seealso:: `Dynamic groups `_ - .. _Policies: Policies --------- @@ -77,3 +81,4 @@ Known Issues ./user_guides.setup.feature_store_operator ./user_guides.setup.helm_chart + ./user_guides.setup.container diff --git a/ads/feature_store/docs/source/user_guides.setup.container.rst b/ads/feature_store/docs/source/user_guides.setup.container.rst new file mode 100644 index 000000000..7c1fc4fa8 --- /dev/null +++ b/ads/feature_store/docs/source/user_guides.setup.container.rst @@ -0,0 +1,8 @@ +================================================ +Deployment using Container Service (Recommended for new setup) +================================================ + +The Feature Store container service stack helps in quickly setting up OCI feature store using the OCI container service. The stack is deployed using the Oracle Resource Manager service. +For details please refer the documentation on `GitHub `_ + +.. image:: figures/oci_fs_container.png diff --git a/ads/feature_store/docs/source/user_guides.setup.feature_store_operator.rst b/ads/feature_store/docs/source/user_guides.setup.feature_store_operator.rst index 063b10942..9e593ca03 100644 --- a/ads/feature_store/docs/source/user_guides.setup.feature_store_operator.rst +++ b/ads/feature_store/docs/source/user_guides.setup.feature_store_operator.rst @@ -1,5 +1,5 @@ ====================================================== -Deployment Using Feature Store Operator (Recommended) +Deployment Using Feature Store Operator (Recommended for deploying in existing cluster) ====================================================== The Feature Store marketplace operator uses your current infrastructure to set up a Feature Store. It helps in setting up the Feature Store API server in your exisiting OKE cluster and MySQL database. diff --git a/ads/opctl/backend/marketplace/helm_helper.py b/ads/opctl/backend/marketplace/helm_helper.py index 8c55c3712..d9cea2338 100644 --- a/ads/opctl/backend/marketplace/helm_helper.py +++ b/ads/opctl/backend/marketplace/helm_helper.py @@ -129,7 +129,7 @@ def check_helm_pull(helm_chart_url: str, version: str) -> HelmPullStatus: stderr = result.stderr.decode("utf-8") if result.returncode == 0: return HelmPullStatus.SUCCESS - elif "unauthorized" in stderr.lower(): + elif "unauthorized" in stderr.lower() or "forbidden" in stderr.lower(): logger.debug(stderr) return HelmPullStatus.AUTHENTICATION_FAILURE else: From b2585f3c748a9ecfa5cb00cb7247f0116c3b224a Mon Sep 17 00:00:00 2001 From: hvrai Date: Mon, 5 Feb 2024 18:00:35 +0530 Subject: [PATCH 2/3] fixing documentation --- ads/feature_store/docs/source/user_guides.setup.container.rst | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/ads/feature_store/docs/source/user_guides.setup.container.rst b/ads/feature_store/docs/source/user_guides.setup.container.rst index 7c1fc4fa8..63ba4acd5 100644 --- a/ads/feature_store/docs/source/user_guides.setup.container.rst +++ b/ads/feature_store/docs/source/user_guides.setup.container.rst @@ -3,6 +3,6 @@ Deployment using Container Service (Recommended for new setup) ================================================ The Feature Store container service stack helps in quickly setting up OCI feature store using the OCI container service. The stack is deployed using the Oracle Resource Manager service. -For details please refer the documentation on `GitHub `_ +For details please refer the documentation on `GitHub `_ .. image:: figures/oci_fs_container.png From 3bf01753f4c4dd37e047d2d7269a71448fa1c9ce Mon Sep 17 00:00:00 2001 From: hvrai Date: Mon, 5 Feb 2024 20:01:55 +0530 Subject: [PATCH 3/3] fixing doc link --- ads/feature_store/docs/source/user_guides.setup.container.rst | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/ads/feature_store/docs/source/user_guides.setup.container.rst b/ads/feature_store/docs/source/user_guides.setup.container.rst index 63ba4acd5..74d584c3d 100644 --- a/ads/feature_store/docs/source/user_guides.setup.container.rst +++ b/ads/feature_store/docs/source/user_guides.setup.container.rst @@ -3,6 +3,6 @@ Deployment using Container Service (Recommended for new setup) ================================================ The Feature Store container service stack helps in quickly setting up OCI feature store using the OCI container service. The stack is deployed using the Oracle Resource Manager service. -For details please refer the documentation on `GitHub `_ +For details please refer the documentation on `GitHub `_ .. image:: figures/oci_fs_container.png