def test_sklearn(self, namespace):
        spec = "../../servers/sklearnserver/samples/iris.yaml"
        retry_run(f"kubectl apply -f {spec} -n {namespace}")
        wait_for_status("sklearn", namespace)
        wait_for_rollout("sklearn", namespace)
        time.sleep(1)
        logging.warning("Initial request")
        r = initial_rest_request("sklearn",
                                 namespace,
                                 data=[[0.1, 0.2, 0.3, 0.4]],
                                 dtype="ndarray")
        assert r.status_code == 200

        r = rest_request_ambassador("sklearn", namespace, method="metadata")
        assert r.status_code == 200

        res = r.json()
        logging.warning(res)
        assert res["name"] == "iris"
        assert res["versions"] == ["iris/v1"]

        r = grpc_request_ambassador("sklearn",
                                    namespace,
                                    data=np.array([[0.1, 0.2, 0.3, 0.4]]))
        res = json.loads(json_format.MessageToJson(r))
        logging.info(res)

        logging.warning("Success for test_prepack_sklearn")
        run(f"kubectl delete -f {spec} -n {namespace}", shell=True)
Beispiel #2
0
 def test_model_combiner_grpc(self, namespace, s2i_python_version):
     create_push_s2i_image(s2i_python_version, "one", "grpc")
     create_push_s2i_image(s2i_python_version, "two", "grpc")
     create_push_s2i_image(s2i_python_version, "combiner", "grpc")
     retry_run(
         f"kubectl apply -f ../resources/tags_combiner_grpc.json -n {namespace}"
     )
     wait_for_status("mymodel-tags-combiner", namespace)
     wait_for_rollout("mymodel-tags-combiner", namespace)
     r = initial_grpc_request("mymodel-tags-combiner", namespace)
     arr = np.array([[1, 2, 3]])
     r = grpc_request_ambassador("mymodel-tags-combiner",
                                 namespace,
                                 API_AMBASSADOR,
                                 data=arr)
     res = json.loads(json_format.MessageToJson(r))
     logging.info(res)
     # assert r.status_code == 200
     assert res["data"]["ndarray"] == [["model-1"], ["model-2"]]
     assert res["meta"]["tags"] == {
         "combiner": "yes",
         "common": 2,
         "model-1": "yes",
         "model-2": "yes",
     }
     run(
         f"kubectl delete -f ../resources/tags_combiner_grpc.json -n {namespace}",
         shell=True,
     )