Skip to content

Commit

Permalink
doc: Update docs for release v0.11.0 (#414)
Browse files Browse the repository at this point in the history
- Add tags when pre-pulling images for FVT (`latest`, `v...`)
- Pre-pull minio-examples and minio-dev-examples images for FVT
  - this is one reason for the frequent timeouts in the FVT setup nodes
    - predictor tests using minio-dev-examples
    - storage tests for PVC using minio-examples (non -dev-)
- Update links to `modelmesh` environment variables
- Update install-script and quickstart to clone `main` branch, adding
  note pointing to the most recent stable release, and re-including the
  self-signed cert flag (#364)
- Update required minimum Kubernetes version to `1.23` (HPA
  `autoscaling/v2`)
- Update modelmesh component-versions to `v0.11.0`
- Update release-process docs with additional places where versions need
to be replaced

---------

Signed-off-by: Christian Kadner <[email protected]>
(cherry picked from commit e147d28)
  • Loading branch information
ckadner authored Aug 2, 2023
1 parent bc00bf2 commit f3ed128
Show file tree
Hide file tree
Showing 7 changed files with 39 additions and 31 deletions.
5 changes: 3 additions & 2 deletions .github/workflows/fvt.yml
Original file line number Diff line number Diff line change
Expand Up @@ -112,10 +112,11 @@ jobs:
docker pull seldonio/mlserver:1.3.2
docker pull openvino/model_server:2022.2
# docker pull pytorch/torchserve:0.7.1-cpu
docker pull kserve/modelmesh-runtime-adapter:v0.11.0-rc1
docker pull kserve/rest-proxy:v0.11.0-rc1
docker pull kserve/modelmesh:v0.11.0-rc1
docker pull kserve/modelmesh-minio-dev-examples:v0.11.0-rc1
docker pull kserve/modelmesh-minio-examples:v0.11.0-rc1
docker pull kserve/modelmesh-runtime-adapter:v0.11.0-rc1
docker pull kserve/rest-proxy:v0.11.0-rc1
- name: Check installation
run: |
Expand Down
8 changes: 4 additions & 4 deletions controllers/modelmesh/modelmesh.go
Original file line number Diff line number Diff line change
Expand Up @@ -261,24 +261,24 @@ func (m *Deployment) addMMEnvVars(deployment *appsv1.Deployment) error {
}

if m.EnableAccessLogging {
// See https://github.com/kserve/modelmesh/blob/v0.10.0/src/main/java/com/ibm/watson/modelmesh/ModelMeshEnvVars.java#L50
// See https://github.com/kserve/modelmesh/blob/v0.11.0/src/main/java/com/ibm/watson/modelmesh/ModelMeshEnvVars.java#L55
if err := setEnvironmentVar(ModelMeshContainerName, "MM_LOG_EACH_INVOKE", "true", deployment); err != nil {
return err
}
}

if m.GrpcMaxMessageSize > 0 {
// See https://github.com/kserve/modelmesh/blob/v0.10.0/src/main/java/com/ibm/watson/modelmesh/ModelMeshEnvVars.java#L34
// See https://github.com/kserve/modelmesh/blob/v0.11.0/src/main/java/com/ibm/watson/modelmesh/ModelMeshEnvVars.java#L38
if err := setEnvironmentVar(ModelMeshContainerName, "MM_SVC_GRPC_MAX_MSG_SIZE", strconv.Itoa(m.GrpcMaxMessageSize), deployment); err != nil {
return err
}
}

// See https://github.com/kserve/modelmesh/blob/v0.10.0/src/main/java/com/ibm/watson/modelmesh/ModelMeshEnvVars.java#L27
// See https://github.com/kserve/modelmesh/blob/v0.11.0/src/main/java/com/ibm/watson/modelmesh/ModelMeshEnvVars.java#L31
if err := setEnvironmentVar(ModelMeshContainerName, "MM_KVSTORE_PREFIX", ModelMeshEtcdPrefix, deployment); err != nil {
return err
}
// See https://github.com/kserve/modelmesh/blob/v0.10.0/src/main/java/com/ibm/watson/modelmesh/ModelMeshEnvVars.java#L63
// See https://github.com/kserve/modelmesh/blob/v0.11.0/src/main/java/com/ibm/watson/modelmesh/ModelMeshEnvVars.java#L68
if err := setEnvironmentVar(ModelMeshContainerName, "MM_DEFAULT_VMODEL_OWNER", m.DefaultVModelOwner, deployment); err != nil {
return err
}
Expand Down
2 changes: 1 addition & 1 deletion docs/install/install-script.md
Original file line number Diff line number Diff line change
Expand Up @@ -43,7 +43,7 @@ A secret named `model-serving-etcd` will be created and passed to the controller
Install the `v0.11.0-rc1` release of [modelmesh-serving](https://github.com/kserve/modelmesh-serving/releases/v0.11.0-rc1) by first cloning the corresponding release branch:

```shell
RELEASE=release-0.11
RELEASE="release-0.11"
git clone -b $RELEASE --depth 1 --single-branch https://github.com/kserve/modelmesh-serving.git
cd modelmesh-serving
```
Expand Down
2 changes: 1 addition & 1 deletion docs/production-use/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -10,5 +10,5 @@

| Platform | Minimum version |
| ---------------- | :-------------: |
| Kubernetes | 1.16 |
| Kubernetes | 1.23 |
| CPU architecture | x86_64 |
18 changes: 8 additions & 10 deletions docs/quickstart.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,29 +2,27 @@

To quickly get started using ModelMesh Serving, here is a brief guide.

> **Note**: To install the latest stable release, please follow the [Quick Start Guide for version 0.11](https://github.com/kserve/modelmesh-serving/blob/release-0.11/docs/quickstart.md).
## Prerequisites

- A Kubernetes cluster v 1.16+ with cluster administrative privileges
- [kubectl](https://kubernetes.io/docs/tasks/tools/#kubectl) and [kustomize](https://kubectl.docs.kubernetes.io/installation/kustomize/) (v3.2.0+)
- A Kubernetes cluster v1.23+ with cluster administrative privileges
- [kubectl](https://kubernetes.io/docs/tasks/tools/#kubectl) and [kustomize](https://kubectl.docs.kubernetes.io/installation/kustomize/) (v4.0+)
- At least 4 vCPU and 8 GB memory. For more details, please see [here](install/README.md#deployed-components).

## 1. Install ModelMesh Serving

### Get the latest release
### Clone the ModelMesh repository

```shell
RELEASE=release-0.11
RELEASE="release-0.11"
git clone -b $RELEASE --depth 1 --single-branch https://github.com/kserve/modelmesh-serving.git
cd modelmesh-serving
```

### Run install script
### Run the installation script

```shell
kubectl create namespace modelmesh-serving
./scripts/install.sh --namespace-scope-mode --namespace modelmesh-serving --quickstart
./scripts/install.sh --namespace-scope-mode --namespace modelmesh-serving --quickstart --enable-self-signed-ca
```

This will install ModelMesh Serving in the `modelmesh-serving` namespace, along with an etcd and MinIO instances.
Expand All @@ -34,7 +32,7 @@ Eventually after running this script, you should see a `Successfully installed M

To see more details about installation, click [here](./install/install-script.md).

### Verify installation
### Verify the installation

Check that the pods are running:

Expand Down Expand Up @@ -270,7 +268,7 @@ This should give you a response like the following:

To see more detailed instructions and information, click [here](./predictors/run-inference.md).

## 4. (Optional) Deleting your ModelMesh Serving installation
## 4. (Optional) Delete the ModelMesh Serving installation

To delete all ModelMesh Serving resources that were installed, run the following
command from the root of the project:
Expand Down
29 changes: 19 additions & 10 deletions docs/release-process.md
Original file line number Diff line number Diff line change
Expand Up @@ -69,8 +69,8 @@ version numbers. Most IDEs support searching an entire project using `command`-`

Some of the steps below need to be performed at least twice:

- at least once for the release candidate(s) (`v0.10.0-rc0`, `v0.10.0-rc1`, ...) and
- once more for the actual release (`v0.10.0`).
- at least once for the release candidate(s) (`v0.11.0-rc0`, `v0.11.0-rc1`, ...) and
- once more for the actual release (`v0.11.0`).

While creating a pre-release is not technically required, it is considered good
practice. It allows other stakeholders to deploy and test the designated release,
Expand Down Expand Up @@ -98,8 +98,8 @@ with KServe.
- [ ] [kserve/modelmesh-runtime-adapter](https://hub.docker.com/r/kserve/modelmesh-runtime-adapter/tags)
- [ ] [kserve/rest-proxy](https://hub.docker.com/r/kserve/rest-proxy/tags)

3. In this `modelmesh-serving` repository, update the container image tags to
the corresponding release versions for:
3. In this `modelmesh-serving` repository, on the `release-*` branch, update the
container image tags to the corresponding release versions for:

- `kserve/modelmesh`
- `kserve/modelmesh-controller`
Expand All @@ -109,6 +109,11 @@ with KServe.

The version tags should be updated in the following files:

- [ ] `.github/workflows/fvt.yml`:
- [ ] `docker pull kserve/modelmesh:v...`
- [ ] `docker pull kserve/modelmesh-minio-dev-examples:v...`
- [ ] `docker pull kserve/modelmesh-runtime-adapter:v...`
- [ ] `docker pull kserve/rest-proxy:v...`
- [ ] `config/default/config-defaults.yaml`:
- [ ] `kserve/modelmesh`
- [ ] `kserve/rest-proxy`
Expand All @@ -118,18 +123,22 @@ with KServe.
- [ ] `config/manager/kustomization.yaml`: edit the `newTag`
- [ ] `docs/component-versions.md`: update the version and component versions
- [ ] `docs/install/install-script.md`: update the `RELEASE` variable in the
`Installation` section to the new `release-*` branch name
`Installation` section to the new `release-*` branch name and remove the
note pointing to the (old) `release-*` branch
- [ ] `docs/quickstart.md`: update the `RELEASE` variable in the
_"Get the latest release"_ section to the new `release-*` branch name
_"Clone the ModelMesh repository"_ section to the new `release-*` branch
and remove the note of caution in the introduction above
- [ ] `scripts/setup_user_namespaces.sh`: change the `modelmesh_release` version

You can copy the checklist above into the PR description in the next step.

4. Submit your PR to the `release-*` branch that was created earlier and wait for
it to merge.

5. Update the following files in the `main` branch with the same versions as in the
steps above, submit them in a PR to `main`, and wait for that PR to be merged:
5. Update the following files in the `main` branch, replacing all occurrences
pointing to the old `release-*` branch or the previous release version tag
(e.g. `v0.11.0`) with the new release branch name or new version tags.
Submit them in a PR to `main`, and wait for that PR to be merged:

- [ ] `docs/component-versions.md`
- [ ] `docs/quickstart.md`
Expand Down Expand Up @@ -176,12 +185,12 @@ with KServe.
```

4. Create the new release in the GitHub UI from the `release-*` branch (or from the
tag created in the previous step). Enter the release tag value (e.g. `v0.10.0`) in
tag created in the previous step). Enter the release tag value (e.g. `v0.11.0`) in
the "Release title" field and upload the generated installation manifests ("Release assets")
in the "Attach binaries ..." section. Click the "Generate release notes" button which
will generate the release description.

**Note**, if you generated a pre-release (e.g. `v0.10.0-rc0`) then copy the release
**Note**, if you generated a pre-release (e.g. `v0.11.0-rc0`) then copy the release
notes from that and remove them from the pre-release description and revise accordingly.

https://github.com/kserve/modelmesh-serving/releases/new
Expand Down
6 changes: 3 additions & 3 deletions fvt/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -14,9 +14,9 @@ Functional Verification Test (FVT) suite for ModelMesh Serving using [Ginkgo](ht

- CLIs:
- [kubectl](https://kubernetes.io/docs/tasks/tools/#kubectl)
- [kustomize](https://kubectl.docs.kubernetes.io/installation/kustomize/) (v3.2.0+)
- [kustomize](https://kubectl.docs.kubernetes.io/installation/kustomize/) (v4.0.0+)
- A Kubernetes or OpenShift cluster:
- Kubernetes version 1.16+
- Kubernetes version 1.23+
- Cluster-administrative privileges
- 12 vCPUs (3-nodes a 4 vCPU, or, 2-nodes a 8 vCPU)
- 16 GB memory
Expand All @@ -25,7 +25,7 @@ For more details on cluster sizing, please see [here](/docs/install/README.md#de

### Install ModelMesh Serving

The FVTs rely on a set of models existing in a configured `localMinIO` storage. The easiest way to get these models is to use a quick-start install with an instance of MinIO running the `kserve/modelmesh-minio-dev-examples` image.
The FVTs rely on a set of models existing in a configured `localMinIO` storage. The easiest way to get these models is to use a quick-start installation with an instance of MinIO running the `kserve/modelmesh-minio-dev-examples` image.

If starting with a fresh namespace, install ModelMesh Serving configured for the FVTs with:

Expand Down

0 comments on commit f3ed128

Please sign in to comment.