Skip to content
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

Enable a way to be more specific about how we're connecting to a node #459

Closed
KAllan357 opened this issue May 9, 2013 · 1 comment
Closed

Comments

@KAllan357
Copy link
Contributor

Problem:

The current logic in Ridley is to check the SSH port and then check the WinRM port - https://github.com/RiotGames/ridley/blob/master/lib/ridley/host_connector.rb#L56-L62.

When you have a machine that has both connections open (A Windows machines with the sshd service installed), Ridley will only ever choose the SSH connection. This will cause problems:

  • Ridley uses the Linux binding ERB template on SSH connections, and the Chef Omnibus can't figure out the platform when its a Windows machine.
  • If you disable sshd before bootstrapping, you can have a successful bootstrap; then you have to turn sshd back on (its a requirement); any chef-client calls from MB will fail because $PATH (Unix) is different than %PATH% (Windows).

Potential Solutions:

Reverse the logic of that if statement linked above. That will work until we find a Unix node that is running something on port 5985.

Find some way to turn off the sshd service whenever we see that 5985 and 22 are both open.

I think we should be able to be more explicit about which choice to make for nodes. I think that adding some additional DSL language to the groups may be the best approach.

@andrewGarson
Copy link
Contributor

I would reverse the if logic. If you are worried about some other service running on that port, you can try to send an innocuous winrm command if the port is open. Validate the response to determine if its actually winrm. The chances of something running on that port responding to a soap message the same way that winrm does is fairly low. I don't know enough about winrm to suggest what to send.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

3 participants