Open exalate-issue-sync[bot] opened 1 year ago
JIRA Issue Migration Info
Jira Issue: PUBDEV-6767 Assignee: Pratap Ramamurthy Reporter: Michelle Tanco State: Open Fix Version: N/A Attachments: Available (Count: 2) Development PRs: N/A
Attachments From Jira
Attachment Name: image-20190806-165808.png Attached By: Michelle Tanco File Link:https://h2o-3-jira-github-migration.s3.amazonaws.com/PUBDEV-6767/image-20190806-165808.png
Attachment Name: image-20190806-171006.png Attached By: Michelle Tanco File Link:https://h2o-3-jira-github-migration.s3.amazonaws.com/PUBDEV-6767/image-20190806-171006.png
Notes from following the Scoring Server on AWS to set up a AMI Rest Server from an H2O-3 MOJO.
The documentation version of [http://docs.h2o.ai/h2o/latest-stable/h2o-docs/productionizing.html?highlight=inference server#scoring-server-on-aws|http://docs.h2o.ai/h2o/latest-stable/h2o-docs/productionizing.html?highlight=inference%20server#scoring-server-on-aws] has two bugs in the User Data Script which make it so that the spun up instance does not actually have the pipeline.mojo file. These are both fixed in the GitHub documentation (but I didn’t know this until 3hrs of debugging…): [https://github.com/h2oai/h2o-3/blob/master/h2o-docs/src/product/productionizing.rst#scoring-server-on-aws|https://github.com/h2oai/h2o-3/blob/master/h2o-docs/src/product/productionizing.rst#scoring-server-on-aws]
Outside of this, the documentation is hard to follow even for expert AWS users, but especially for novices.
There’s no link in the documents on where to set up the inference server. I first googled {{AWS Marketplace}} and then searched for {{H2O}} and then clicked on the {{hourly inference}} and followed the below screen to set up my instance. This method has no way of updating the User Data - the only config details you can change are the instance location. So I ended up spinning up and instance that had no MOJO on it - this is actually okay, we just then need documentation that says scp the MOJO to the instance (or whatever).
!image-20190806-165808.png|width=1674,height=820!
BUT, what one should actually do is go to their console, select {{ec2}}, {{instances}}, {{launch}} and then search for {{h2o}}. This give more config options including the required User Data script.
!image-20190806-171006.png|width=1665,height=772!
Also, it would be nice if our docs explained that User Data is a script that runs when the system is turned on. If you don’t know that {{Run following bash script as “userdata” to transfer your MOJO into the instance before you launch the instance.}} is extremely confusing as it sounds like you’re supposed to ssh in as user data and run a bash script, but how do you do that if the system isn’t on. There’s a lot of assumed AWS knowledge in this guide, would be happy to review from a AWS-N00B perspective!
In general, the whole point of the User Data script is to put the pipeline.mojo on the new instance, so we might include other ways this can be done. For example, I don’t have AMI privileges in our AWS account and my mojo doesn’t need to be secure so I just {{curl}}ed it from a public s3 bucket.
Also, we currently only show how to import the pipeline.mojo from s3, so this line {{If your MOJO is in S3, assign a role that provides S3 access to the instance.}} doesn’t make sense as we’re requiring the file to be in s3.
Finally, the example call the rest server uses {{type=1}}, this isn’t explained but presumably there are other types that do other things?
{code}curl "http://:8080/model?type=1&row=2000,2000"{code}