Hi all, I am moving the discussion of stateless build ( https://github.com/apache/incubator-predictionio/pull/328) here. Replying Pat:
> BTW @chanlee514 @dszeto Are we thinking of a new command, something like pio register that would add metadata to the metastore? This would need to be run every time the engine.json changed for instance? It would also do not compile? Is there an alternative? What state does this leave us in? I imagine we would need pio register after this. Something like what docker push would do for you today. Changes of engine.json will not require registration because it is consumed during runtime by pio train and pio deploy. We are phasing out pio build so that engine templates will be more friendly with different IDEs. > After the push, what action create binary (I assume pio build) what action adds metadata to the metastore (I assume pio train) So does this require they run on the same machine? They often do not. pio build will still create the binary at this point (and hopefully phased out as mentioned). Right now the only metadata that is disappearing are engine manifests. Engine instances will still be written after pio train, and used by pio deploy. > One more question. After push how do we run the PredictionServer or train on multiple machines? In the past this required copying the manifest.json and making sure binaries are in the same location on all machines. "In the same location" is actually a downside IMO of the manifest.json design. Without manifest.json now, you would need to run pio commands from a location with a built engine, because instead of looking at engine manifests, it will now look locally for engine JARs. So deployment would still involve copying engine JARs to a remote deployment machine, running pio commands at the engine template location with engine-id and engine-version arguments. Regards, Donald