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

Adding support to use bitvise ssh server as an alternative ssh provider #424

Closed
wants to merge 70 commits into
base: master
from

Conversation

Projects
None yet
@liamjbennett
Contributor

liamjbennett commented Aug 22, 2014

on windows.

The use-case in wishing to use bitvise ssh is that cygwin only emulates
a windows shell and bypasses some of the authentication mechanisms [1][2][3].
The impact of this is that certain commands/powershell scripts (such as
installing a windows feature) will fail. Using bitvise ssh server seems
to resolve this issue.

This change implements the host configuration option of communicator
(e.g. host['communicator']) which allows you to conditionally select the
appropriate commands. By implementing it this way it paves the way for
future communication providers such as winrm.

[1] https://cygwin.com/ml/cygwin/2004-09/msg00087.html
[2] https://cygwin.com/ml/cygwin/2006-06/msg00862.html
[3] http://thread.gmane.org/gmane.os.cygwin/128472

Adding support to use bitvise ssh server as an alternative ssh provider
on windows.

The use-case in wishing to use bitvise ssh is that cygwin only emulates
a windows shell and bypasses some of the authentication mechanisms [1][2][3].
The impact of this is that certain commands/powershell scripts (such as
installing a windows feature) will fail. Using bitvise ssh server seems
to resolve this issue.

This change implements the host configuration option of communicator
(e.g. host['communicator']) which allows you to conditionally select the
appropriate commands. By implementing it this way it paves the way for
future communication providers such as winrm.

[1] https://cygwin.com/ml/cygwin/2004-09/msg00087.html
[2] https://cygwin.com/ml/cygwin/2006-06/msg00862.html
[3] http://thread.gmane.org/gmane.os.cygwin/128472
@puppetlabs-jenkins

This comment has been minimized.

Show comment
Hide comment
@puppetlabs-jenkins

puppetlabs-jenkins Aug 22, 2014

Contributor

Can one of the admins verify this patch?

Contributor

puppetlabs-jenkins commented Aug 22, 2014

Can one of the admins verify this patch?

@liamjbennett

This comment has been minimized.

Show comment
Hide comment
@liamjbennett

liamjbennett Aug 22, 2014

Contributor

This is mostly a prototype and I expect that there might be some discussion to be had before this is merged.

Contributor

liamjbennett commented Aug 22, 2014

This is mostly a prototype and I expect that there might be some discussion to be had before this is merged.

@puppetlabs-jenkins

This comment has been minimized.

Show comment
Hide comment
@puppetlabs-jenkins

puppetlabs-jenkins Aug 22, 2014

Contributor

Can one of the admins verify this patch?

Contributor

puppetlabs-jenkins commented Aug 22, 2014

Can one of the admins verify this patch?

Show outdated Hide outdated lib/beaker/host/windows.rb Outdated
Show outdated Hide outdated lib/beaker/dsl/install_utils.rb Outdated
Show outdated Hide outdated lib/beaker/dsl/install_utils.rb Outdated
@anodelman

This comment has been minimized.

Show comment
Hide comment
@anodelman

anodelman Sep 24, 2014

Contributor

Discussed:

  • having pswindows (or whatever we end up calling it) inherit from windows and only override methods as necessary
  • do go-over to ensure that default pathing is correct for pswindows
  • is 'communicator' the right word to use? alice will ponder.

bonus! love some yard docs!

Contributor

anodelman commented Sep 24, 2014

Discussed:

  • having pswindows (or whatever we end up calling it) inherit from windows and only override methods as necessary
  • do go-over to ensure that default pathing is correct for pswindows
  • is 'communicator' the right word to use? alice will ponder.

bonus! love some yard docs!

@anodelman

This comment has been minimized.

Show comment
Hide comment
@anodelman

anodelman Nov 4, 2014

Contributor

Looks like the comments from Sept 24 are still valid.

Contributor

anodelman commented Nov 4, 2014

Looks like the comments from Sept 24 are still valid.

@anodelman

This comment has been minimized.

Show comment
Hide comment
@anodelman

anodelman Nov 17, 2014

Contributor

Needs rebase to work with new beaker env var support.

Contributor

anodelman commented Nov 17, 2014

Needs rebase to work with new beaker env var support.

Iristyle and others added some commits Jul 29, 2014

(QENG-1340) Add GitHub PR refspec to install_from_git
 - When testing out Jenkins job configuration tweaks that must coincide with source
   changes, it can be useful to have Beaker be aware of the GitHub refspec.  This
   allows SHA references to GitHub commits / PRs that have not yet been merged,
   without having to jump through a number of additional job configurations to gain
   access to the appropriate commits.
 - Note that this does have performance implications, as performing a fetch will take
   longer on the first time.
Adding a utility method for adding host entries
As much as this is a infrastructure-smell in the linux world, adding
hosts entries is still all to common in the windows world. This method
allows host entries to be configured to meet that need.

It can also be used when developing with vagrant to make sure that the
master and agent vms can see each other properly.
(QENG-846) Centralized dated log path generation, and added options f…
…or specific log paths

Before, the latest link was hard to use since it jumped around, and you couldn't really get at
the timestamped log path itself because it was hidden in the log_path function.  This work
separates out the timestamped path generation into a static method so that it can be used
anywhere, and adds the current usages of it to the global options, so that they can be used
for other purposes, such as the use case for this issue: copying other files to this location
Allow overriding Docker image entrypoint
Using docker_image_entrypoint
(QENG-526) A friendly way for Beaker to set environment...
... variables for SUTs

- add support for option :host_env, it can be set in the host
  configuration file
- requires updating each host so that sshd allows remotely setting
  environment variables
- add host.add_env_var(key,val) and host.delete_env_var(key,val) for
  using in test writing
(QENG-1000) Ensure that add-el-extras works on all rhel platforms
The --add-el-extras options was only working for platform strings of the form
el-(5,6), which meant that you couldn't have beaker add the el repo on a
'centos' platform for instance.

Change makes more use of the Beaker::Platform attributes and checks
other rhel variants (centos, scientific, and the 'redhat' variant is
another platform label used for rhel I believe).
(QENG-1430) Added accept_all_exit_codes option to host exec calls
QA was having issues with errors occuring when they'd like to have failures, since the specific
error codes are forseen and specific failure cases.  In order to help them with this use case,
I've added the accept_all_exit_codes option, which will not error on unacceptable exit codes,
defering to the test above to deal with the command's exit code as a failure or otherwise.

kevpl and others added some commits Dec 2, 2014

(MAINT) update CONTRIBUTING doc to reflect new RSpec test requirements
- will not allow use of deprecated RSpec method calls in Beaker spec
  tests
(QENG-1529) beaker support to query aws instance information
- access to individual instances by id
- access to array of all instances
(MAINT) missing assert_not_match method
- just add alias to assert_no_match
(MAINT) update ec2 tags with 'created_by'
- now tag ec2 instances with Name, department, project,
  jenkins_build_url and created_by
(QENG-1594) Beaker 2.0.0 breaks Centos 7 sshd
- append newline to end of sshd_config file
@anodelman

This comment has been minimized.

Show comment
Hide comment
@anodelman

anodelman Jan 12, 2015

Contributor

I think that you need to re-do your rebase. Got a lot of other stuff in there.

Contributor

anodelman commented Jan 12, 2015

I think that you need to re-do your rebase. Got a lot of other stuff in there.

@liamjbennett

This comment has been minimized.

Show comment
Hide comment
@liamjbennett

liamjbennett Jan 19, 2015

Contributor

Created cleaner PR to replace this one. Closing.

Contributor

liamjbennett commented Jan 19, 2015

Created cleaner PR to replace this one. Closing.

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