New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
GEODE-8398: Add SNI support to .NET API #634
GEODE-8398: Add SNI support to .NET API #634
Conversation
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I am concerned with the deviation without discussion from the establish API based on the SNI Proxy RFC that was previously approved. Can you please open a discussion thread on dev@geode regarding the reasons for the C++ and .NET APIs deviate from the RFC? I would have expected work like this to have come with it's own RFC if it was going to deviate from previous RFCs.
https://cwiki.apache.org/confluence/display/GEODE/Client+side+configuration+for+a+SNI+proxy
var dockerComposeProc = Process.Start(@"C:\Program Files\docker\docker\resources\bin\docker-compose.exe", "stop"); | ||
dockerComposeProc.WaitForExit(); | ||
|
||
var dockerProc = Process.Start(@"C:\Program Files\docker\docker\resources\bin\docker.exe", "container prune -f"); |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
There is a Docker C++ SDK we could use rather than forking an executable.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
not that we have found, unfortunately...
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
thx! we'll take a look at this for future improvements, current deadline isn't going to allow
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Still, it is odd to hard code the docker executable paths.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Oh good catch. I didn't even notice that initially over the whole, why not use the SDK thing. If the absolute path is necessary, which I doubt it is, then use CMake find_program
and inject. It should be sufficient to just make sure docker is in the PATH or add it to the PATH in the CTest definition.
cache_.Close(); | ||
} | ||
|
||
[Fact (Skip = "Docker nut supported in Windows CI")] |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Perhaps you mean "not" rather than "nut". Also that statement is false, Docker is fully supported in Windows so why are we not skipping it?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
its Docker on GCP that is specifically the issue, but thanks for catching the typo
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I am running Docker on Windows in GCP just fine. Can I help?
|
||
region->put("1", "one"); | ||
|
||
cache.close(); | ||
} | ||
|
||
TEST_F(SNITest, connectionFailsTest) { | ||
#if defined(_WIN32) | ||
TEST_F(SNITest, DISABLE_connectWithoutProxyFails) { |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Why is this test disabled on Windows?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
aforementioned Docker issues...
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
There's no instructions on how to run the Fact (Skip = "...
tests. I assume you need docker installed but is there anything else. There should be instructions probably in CONTRIBUTING.md
because folks will want to run these tests on their own machines.
Also, it is really strange to add "Skip CI" on tests when we don't have a CI that runs these tests. If one is running a private CI pipeline, that sounds like the skipping of tests should be done in your private pipeline, not the public code
var dockerComposeProc = Process.Start(@"C:\Program Files\docker\docker\resources\bin\docker-compose.exe", "stop"); | ||
dockerComposeProc.WaitForExit(); | ||
|
||
var dockerProc = Process.Start(@"C:\Program Files\docker\docker\resources\bin\docker.exe", "container prune -f"); |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Still, it is odd to hard code the docker executable paths.
var dockerComposeProc = Process.Start(@"C:\Program Files\docker\docker\resources\bin\docker-compose.exe", "stop"); | ||
dockerComposeProc.WaitForExit(); | ||
|
||
var dockerProc = Process.Start(@"C:\Program Files\docker\docker\resources\bin\docker.exe", "container prune -f"); |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Oh good catch. I didn't even notice that initially over the whole, why not use the SDK thing. If the absolute path is necessary, which I doubt it is, then use CMake find_program
and inject. It should be sufficient to just make sure docker is in the PATH or add it to the PATH in the CTest definition.
- also fix formatting
- TcpSslConn ctor was getting a string "host:port" instead of just "host", and needed to split off just the hostname
a9b20a7
to
6f39766
Compare
- Remove hard-coded path to Docker binaries - Update "Skip" comment for SNI tests
@pivotal-jbarrett latest mergable is up... |
This adds a new .NET API to the nativeclient to support SNI.
Notes: