Hi Anand,
I'll reply to both of your emails here.
On Tue, Dec 29, 2020 at 2:34 PM 'Anand Kane' via Syndesis
<
synd...@googlegroups.com> wrote:
> A quick note on Red Hat; I personally do not have a Red Hat subscription and I am told that there are some problems in getting support from Red Hat. I have fallen back to Syndesis on Minishift.
Sad to hear that, the support is the only thing Red Hat sells, we
should be doing a good job at it.
> Problems with extension
>
> I could create and import connector extension following the documentation
https://syndesis.io/manual/developing_extensions/.
> I could also create a connection from the connector to be used in integrations.
> However, I get exceptions listed in the attached file, extension-exceptions.txt, when I,
> Validate the custom connector during its import
> Use the connection in an integration
I'm not sure if we support metadata operations (such as validation)
with extensions, though I never fully understood what we do or don't
support with extensions since it's such an open-ended technology. Are
you using the version from master (2.0)? That could also be unstable.
Without seeing code it's a bit difficult to find out what's happening.
The exception is about missing file
`META-INF/syndesis/connector/meta/ext-sql`, and I don't really
understand why we need to load that, as far as I understood all the
dynamic bits, like loading classes from extensions should not happen
on the server JVM but on the metadata JVM, it appears we broke that
(could be a while ago).
> To fix the exceptions, I followed the example of SQL connector in app/connector/sql to write my implementations of ComponentMetadataRetrieval and ComponentVerifier (both imported via maven dependency io.syndesis.connector:connector-support-verifier:1.10.0 in my extension project). But I think, they are not being picked up. I have these files in place; META-INF/syndesis/connector/meta/sql and META-INF/syndesis/connector/verifier/ext-sql.
Yeah, there seems to be a need, for whatever reason, for those to
appear on the server classpath, and we don't have a way to do that, we
can change the classpath of the meta (by restarting it at runtime),
but not of the server. This is a strange requirement we added, not
sure why we did that.
> Problems with building a new connection
>
> I copied the 'sql' connector project into 'sql2' and changed the package from io.syndesis.connector.sql to io.syndesis.connector.sql2.
> Built and installed Syndesis by following instructions at
https://syndesis.io/docs/connectors/create/.
>
> Syndesis build and installation is successful. However, the installation does not contain 'sql2' connector. Instead, it contains 'sql' connector that I omitted from app/connector/pom.xml. I think this is happening because the new image is not pushed to Minishift. I confirmed this by logging into syndesis-server pod and checking the contents of 'sql.json' in the 'runtime.jar' file. The contents belong to the original 'sql' connector and not the new one.
>
> Running 'syndesis build -f -i -m s2i' has not solved the problem.
>
> Could you please point out what am I missing? I am really stuck at this and your help will be much appreciated.
When you installed Syndesis on minishift did you use the `--dev`
option, again I'm not sure if this was broken with the operator, it
used to create an image stream that you can push your changes to. I
also think you probably need to build the server and the metadata
projects with `-i` to push the images to that image stream. Also make
sure you've added the dependency on the new connector, it needs to be
added in several places, see[1].
Quick way to check is to do a `oc get is` and see where the image
streams are pointing to, if they're pointing to
docker.io then you
don't have the installation configured for development.
I usually don't bother with minishift, it's too slow and flaky for me,
I usually just run Syndesis locally[2], or straight from the IDE.
zoran
[1]
https://syndesis.io/docs/connectors/create/#integrating-a-new-connector-with-existing-connectors
[2]
https://syndesis.io/docs/development_quickstart/#running-without-kubernetes-openshift
--
Zoran Regvart