Open jrsamson opened 5 years ago
@jrsamson Unfortunately, the SCDF for PCF plugin only works when it can access repo.spring.io to download the plugin JAR file that is linked in the Data Flow server's about API response. We should clean up the error that is occurring so that it is not as cryptic though.
A workaround is mentioned in the following issue:
https://github.com/pivotal-cf/spring-cloud-dataflow-for-pcf-cli-plugin/issues/6
It is definitely not the easiest workaround but is what we can do for now. We may need to provide a new command for adding a JAR version to local cache so that the plugin doesn't try to access public Internet. The process would then be:
At that point, the command should start working with your service instance. Would that work as an approach in such an environment as yours?
A proposed solution for this is to add a new command on the plugin to add a downloaded jar to the CLI cache.
GIVEN a valid SCDF shell jar is downloaded into current directory
WHEN cf cache-shell-jar [jarfile]
THEN SCDF shell jar will be processed and added to CLI cache (including SHA generation) for use with cf dataflow-shell ...
command
My one concern is that there may still be an issue for public Maven repo access from inside SCDF shell commands but that can be added as issue in that OSS repo. Would this work for you @jrsamson?
@csterwa - Yes, the proposed solution to add new command on the plugin is good.
Would it be possible to also checked access repo.spring.io. If it fails and downloaded jar does not exists in current directory - return a message to download jar and manually add to cache? And also, capability to a update the jar in cache (for newer release)?
@jrsamson I like those suggestions. Since each version is kept in cache, a newer version can be imported by running the command again. We don't have a way to switch between versions and we'd rather not implement that if it is not necessary to use an older version. I can't think of a use case for that at this time.
For the no access to public Internet, I think the following would cover that:
GIVEN an existing p-dataflow
service instance named mydataflow
AND shell has no public Internet access (or at least not to repo.spring.io
)
WHEN cf dataflow-shell mydataflow
is executed
THEN error is posted to shell that includes message that URL was not accessible
AND error message also mentions that the cf cache-shell-jar
command may be used to import jar manually from URL
@csterwa That would be great! Thanks.
We checked "Disable public internet access" and getting the error when we execute: "cf dfsh dataflow"
cf cli version - 6.43.0+815ea2f3d.2019-02-20 pas=2.4.2 mysql=2.5.3 rabbitmq=1.15.3 scdf version 1.3.2 vsphere