landrush 1.2.0 → 1.3.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (62) hide show
  1. checksums.yaml +5 -5
  2. data/.rubocop.yml +2 -0
  3. data/.rubocop_todo.yml +100 -12
  4. data/.travis.yml +1 -2
  5. data/CHANGELOG.md +11 -0
  6. data/Gemfile +11 -11
  7. data/README.adoc +8 -1
  8. data/Rakefile +3 -3
  9. data/appveyor.yml +3 -1
  10. data/doc/Development.adoc +24 -19
  11. data/doc/Usage.adoc +17 -6
  12. data/features/dns_resolution.feature +3 -0
  13. data/features/docker_provider.feature +32 -0
  14. data/features/support/env.rb +2 -2
  15. data/landrush.gemspec +3 -3
  16. data/lib/landrush.rb +1 -0
  17. data/lib/landrush/action/common.rb +7 -2
  18. data/lib/landrush/action/redirect_dns.rb +3 -0
  19. data/lib/landrush/action/setup.rb +16 -12
  20. data/lib/landrush/action/teardown.rb +2 -0
  21. data/lib/landrush/cap/guest/all/read_host_visible_ip_address.rb +2 -2
  22. data/lib/landrush/cap/guest/linux/add_iptables_rule.rb +2 -2
  23. data/lib/landrush/cap/guest/linux/configured_dns_servers.rb +1 -0
  24. data/lib/landrush/cap/guest/linux/redirect_dns.rb +1 -1
  25. data/lib/landrush/cap/guest/suse/add_iptables_rule.rb +2 -2
  26. data/lib/landrush/cap/host/arch/dnsmasq_installed.rb +11 -0
  27. data/lib/landrush/cap/host/arch/install_dnsmasq.rb +16 -0
  28. data/lib/landrush/cap/host/arch/restart_dnsmasq.rb +21 -0
  29. data/lib/landrush/cap/host/darwin/configure_visibility_on_host.rb +21 -18
  30. data/lib/landrush/cap/host/debian/host.rb +1 -0
  31. data/lib/landrush/cap/host/linux/configure_visibility_on_host.rb +5 -3
  32. data/lib/landrush/cap/host/linux/create_dnsmasq_config.rb +3 -0
  33. data/lib/landrush/cap/host/redhat/restart_dnsmasq.rb +8 -2
  34. data/lib/landrush/cap/host/ubuntu/host.rb +1 -0
  35. data/lib/landrush/cap/host/windows/configure_visibility_on_host.rb +14 -6
  36. data/lib/landrush/command.rb +18 -3
  37. data/lib/landrush/config.rb +6 -2
  38. data/lib/landrush/dns_server.rb +82 -0
  39. data/lib/landrush/plugin.rb +18 -0
  40. data/lib/landrush/server.rb +147 -205
  41. data/lib/landrush/start_server.rb +1 -1
  42. data/lib/landrush/store.rb +53 -24
  43. data/lib/landrush/util/dnsmasq.rb +10 -0
  44. data/lib/landrush/util/process_helper.rb +16 -16
  45. data/lib/landrush/util/retry.rb +1 -0
  46. data/lib/landrush/version.rb +1 -1
  47. data/test/landrush/action/setup_test.rb +8 -7
  48. data/test/landrush/action/teardown_test.rb +5 -5
  49. data/test/landrush/cap/guest/linux/redirect_dns_test.rb +1 -1
  50. data/test/landrush/cap/host/darwin/configure_visibility_on_host_test.rb +10 -6
  51. data/test/landrush/cap/host/linux/configure_visibility_on_host_test.rb +1 -1
  52. data/test/landrush/cap/host/windows/configure_visibility_on_host_test.rb +35 -4
  53. data/test/landrush/issues/255.rb +55 -55
  54. data/test/landrush/parallel_store_use_test.rb +50 -0
  55. data/test/landrush/server_test.rb +6 -17
  56. data/test/landrush/store_test.rb +8 -8
  57. data/test/landrush/util/dnsmasq_test.rb +42 -0
  58. data/test/support/create_fake_working_dir.rb +3 -2
  59. data/test/support/delete_fake_working_dir.rb +1 -1
  60. data/test/support/test_server_daemon.rb +1 -1
  61. data/test/test_helper.rb +6 -8
  62. metadata +42 -17
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
- SHA1:
3
- metadata.gz: fc436bab040df9eb7c4b2d72c6dbed5d939e07da
4
- data.tar.gz: d152964c54984aa6a4b93fe968a2dc66cb361105
2
+ SHA256:
3
+ metadata.gz: 5d8b8d3d76cf287d4cd432d2d702842b5efb3b672cd6c25fec249b76d989eb34
4
+ data.tar.gz: '09b16732791cb9d9d1112f1695dff95fb317ad35c07c2878c1011fb8918c5c4d'
5
5
  SHA512:
6
- metadata.gz: e036f50d31cbe851b787a7ca37de97550a8e2e1dc2abafb7b936bc50150675cc9419675740c13f9fbbbe409b7a29085cd1f5ca5388175cac0082ba0b270ca821
7
- data.tar.gz: 048b080367798a7cf2f684b1f2fabd18b936c27bc6a80e4db3a3740c5e8056a37d4cdd8cb49acbd27ac7e385b5d3463835d21bb952036b4a92b0e052cccbf45d
6
+ metadata.gz: f28250855875dff56af42a8a6c0470f94b9d1cc01661ecca63cba5f2ce4f2bb1f2df7895d48ac5df67cf46357b6bdaf06527eb8fe2abd94c86c79b2d9b0a5045
7
+ data.tar.gz: 51a1f6a0cc73405ba8913d72fa29ed98180e70eef38b456c8c7d28c025079eb22937984be94ed105e8442f8c355dc8a51fdebbb3272d2b1adb8d2f687f77727e
@@ -6,3 +6,5 @@ AllCops:
6
6
  - 'vendor/**/*'
7
7
  - 'tmp/**/*'
8
8
 
9
+ Style/FrozenStringLiteralComment:
10
+ Enabled: false
@@ -1,6 +1,6 @@
1
1
  # This configuration was generated by
2
2
  # `rubocop --auto-gen-config`
3
- # on 2016-10-04 22:36:56 +0200 using RuboCop version 0.38.0.
3
+ # on 2018-08-31 16:33:52 +0200 using RuboCop version 0.58.2.
4
4
  # The point is for the user to remove these configuration records
5
5
  # one by one as the offenses are removed from the code base.
6
6
  # Note that changes in the inspected code, or installation of new
@@ -10,31 +10,65 @@
10
10
  Metrics/AbcSize:
11
11
  Max: 47
12
12
 
13
+ # Offense count: 13
14
+ # Configuration parameters: CountComments, ExcludedMethods.
15
+ # ExcludedMethods: refine
16
+ Metrics/BlockLength:
17
+ Max: 89
18
+
13
19
  # Offense count: 3
14
20
  # Configuration parameters: CountComments.
15
21
  Metrics/ClassLength:
16
- Max: 218
22
+ Max: 200
23
+ Exclude:
24
+ - 'lib/landrush/server.rb'
17
25
 
18
26
  # Offense count: 3
19
27
  Metrics/CyclomaticComplexity:
20
- Max: 12
21
-
22
- # Offense count: 144
23
- # Configuration parameters: AllowHeredoc, AllowURI, URISchemes.
24
- # URISchemes: http, https
25
- Metrics/LineLength:
26
- Max: 154
28
+ Max: 11
29
+ Exclude:
30
+ - 'lib/landrush/command.rb'
27
31
 
28
- # Offense count: 14
32
+ # Offense count: 13
29
33
  # Configuration parameters: CountComments.
30
34
  Metrics/MethodLength:
31
35
  Max: 29
32
36
 
33
37
  # Offense count: 3
34
38
  Metrics/PerceivedComplexity:
35
- Max: 14
39
+ Max: 12
40
+ Exclude:
41
+ - 'lib/landrush/command.rb'
36
42
 
37
- # Offense count: 32
43
+ # Offense count: 9
44
+ # Configuration parameters: Blacklist.
45
+ # Blacklist: (?-mix:(^|\s)(EO[A-Z]{1}|END)(\s|$))
46
+ Naming/HeredocDelimiterNaming:
47
+ Exclude:
48
+ - 'lib/landrush/cap/host/arch/restart_dnsmasq.rb'
49
+ - 'lib/landrush/cap/host/darwin/configure_visibility_on_host.rb'
50
+ - 'lib/landrush/cap/host/linux/create_dnsmasq_config.rb'
51
+ - 'lib/landrush/cap/host/redhat/restart_dnsmasq.rb'
52
+ - 'lib/landrush/cap/host/suse/restart_dnsmasq.rb'
53
+ - 'lib/landrush/command.rb'
54
+ - 'test/landrush/cap/host/darwin/configure_visibility_on_host_test.rb'
55
+ - 'test/landrush/cap/host/linux/configure_visibility_on_host_test.rb'
56
+
57
+ # Offense count: 1
58
+ # Configuration parameters: EnforcedStyleForLeadingUnderscores.
59
+ # SupportedStylesForLeadingUnderscores: disallowed, required, optional
60
+ Naming/MemoizedInstanceVariableName:
61
+ Exclude:
62
+ - 'test/test_helper.rb'
63
+
64
+ # Offense count: 2
65
+ # Cop supports --auto-correct.
66
+ Performance/RegexpMatch:
67
+ Exclude:
68
+ - 'lib/landrush/action/setup.rb'
69
+ - 'lib/landrush/dns_server.rb'
70
+
71
+ # Offense count: 41
38
72
  Style/Documentation:
39
73
  Enabled: false
40
74
 
@@ -44,3 +78,57 @@ Style/DoubleNegation:
44
78
  - 'lib/landrush/config.rb'
45
79
  - 'lib/landrush/server.rb'
46
80
 
81
+ # Offense count: 2
82
+ # Configuration parameters: MinBodyLength.
83
+ Style/GuardClause:
84
+ Exclude:
85
+ - 'lib/landrush/action/install_prerequisites.rb'
86
+ - 'lib/landrush/action/setup.rb'
87
+
88
+ # Offense count: 5
89
+ # Cop supports --auto-correct.
90
+ Style/IfUnlessModifier:
91
+ Exclude:
92
+ - 'lib/landrush/cap/guest/linux/configured_dns_servers.rb'
93
+ - 'lib/landrush/cap/host/windows/configure_visibility_on_host.rb'
94
+ - 'lib/landrush/config.rb'
95
+ - 'lib/landrush/plugin.rb'
96
+ - 'lib/landrush/server.rb'
97
+
98
+ # Offense count: 3
99
+ Style/MultipleComparison:
100
+ Exclude:
101
+ - 'lib/landrush/command.rb'
102
+
103
+ # Offense count: 2
104
+ # Cop supports --auto-correct.
105
+ # Configuration parameters: AutoCorrect, EnforcedStyle.
106
+ # SupportedStyles: predicate, comparison
107
+ Style/NumericPredicate:
108
+ Exclude:
109
+ - 'spec/**/*'
110
+ - 'lib/landrush/store.rb'
111
+ - 'lib/landrush/util/process_helper.rb'
112
+
113
+ # Offense count: 1
114
+ # Cop supports --auto-correct.
115
+ Style/RedundantBegin:
116
+ Exclude:
117
+ - 'lib/landrush/cap/host/windows/configure_visibility_on_host.rb'
118
+
119
+ # Offense count: 4
120
+ # Cop supports --auto-correct.
121
+ # Configuration parameters: ConvertCodeThatCanStartToReturnNil, Whitelist.
122
+ # Whitelist: present?, blank?, presence, try, try!
123
+ Style/SafeNavigation:
124
+ Exclude:
125
+ - 'lib/landrush/cap/host/darwin/configure_visibility_on_host.rb'
126
+ - 'lib/landrush/cap/host/linux/create_dnsmasq_config.rb'
127
+ - 'lib/landrush/cap/host/windows/configure_visibility_on_host.rb'
128
+ - 'lib/landrush/server.rb'
129
+
130
+ # Offense count: 161
131
+ # Configuration parameters: AllowHeredoc, AllowURI, URISchemes, IgnoreCopDirectives, IgnoredPatterns.
132
+ # URISchemes: http, https
133
+ Metrics/LineLength:
134
+ Max: 154
@@ -2,8 +2,7 @@ language: ruby
2
2
 
3
3
  before_install:
4
4
  - rvm gemset use global
5
- - gem uninstall bundler -Iax --version '<1.14'
6
- - gem install bundler -v 1.12.5
5
+ - gem install bundler -v 1.16.4
7
6
 
8
7
  script:
9
8
  - bundle exec rake clean rubocop test install TESTOPTS='--verbose'
@@ -1,3 +1,14 @@
1
+ ## [1.3.0] - 2018-09-19
2
+
3
+ - Issue [#177](https://github.com/vagrant-landrush/landrush/issues/177) - Allow multiple TLD kind/feature priority/major
4
+ - Issue [#329](https://github.com/vagrant-landrush/landrush/issues/329) - Update dev docs component/documentation kind/task priority/major
5
+ - Issue [#304](https://github.com/vagrant-landrush/landrush/issues/304) - Concurrency issue when nodes are brought up in parallel kind/bug priority/major
6
+ - Issue [#261](https://github.com/vagrant-landrush/landrush/issues/261) - Example shown in README results in error component/documentation kind/bug priority/minor
7
+ - Issue [#274](https://github.com/vagrant-landrush/landrush/issues/274) - Host DNS configuration should consider NetworkManager on Fedora kind/bug priority/major resolution/duplicate
8
+ - Issue [#71](https://github.com/vagrant-landrush/landrush/issues/71) - Support for docker provider in vagrant 1.6 kind/feature priority/major
9
+ - Issue [#324](https://github.com/vagrant-landrush/landrush/issues/324) - Upgrade dev environment component/build kind/task priority/major
10
+ - Issue [#297](https://github.com/vagrant-landrush/landrush/issues/297) - Support Arch Linux as host kind/feature
11
+
1
12
  ## [1.2.0] - 2016-12-07
2
13
 
3
14
  - Issue [#298](https://github.com/vagrant-landrush/landrush/issues/298) - Travis CI used wrong Bundler version
data/Gemfile CHANGED
@@ -6,18 +6,18 @@ group :plugins do
6
6
  end
7
7
 
8
8
  group :development do
9
- gem 'vagrant',
10
- git: 'https://github.com/mitchellh/vagrant.git',
11
- ref: 'v1.8.6'
12
- gem 'rake', '~> 10'
13
- gem 'rubocop', '~> 0.38.0'
9
+ gem 'aruba', '~> 0.13'
10
+ gem 'asciidoctor'
14
11
  gem 'byebug'
15
- gem 'mocha'
16
- gem 'minitest'
17
12
  gem 'cucumber', '~> 2.1'
18
- gem 'aruba', '~> 0.13'
19
- gem 'komenda', '~> 0.1.6'
20
- gem 'guard-rake'
21
13
  gem 'guard-livereload', '~> 2.5', require: false
22
- gem 'asciidoctor'
14
+ gem 'guard-rake'
15
+ gem 'komenda', '~> 0.1.6'
16
+ gem 'minitest'
17
+ gem 'mocha'
18
+ gem 'rake', '~> 10'
19
+ gem 'rubocop'
20
+ gem 'vagrant',
21
+ git: 'https://github.com/mitchellh/vagrant.git',
22
+ ref: 'v2.1.2'
23
23
  end
@@ -12,6 +12,13 @@ It spins up a small DNS server and redirects DNS traffic from your VMs
12
12
  to use it, automatically registering/unregistering IP addresses of
13
13
  guests as they come up and go down.
14
14
 
15
+ [NOTE]
16
+ ====
17
+ This project is currently _unmaintained_ and looking for maintainers! Anybody interested in helping out please contact @hferentschik.
18
+
19
+ I'd be happy to help coach anybody who wants to drop in and pick up the maintainer role for this plugin!
20
+ ====
21
+
15
22
  '''
16
23
  toc::[]
17
24
  '''
@@ -52,7 +59,7 @@ A Landrush example configuration could look like this:
52
59
 
53
60
  ....
54
61
  Vagrant.configure("2") do |config|
55
- config.vm.box = "hashicorp/precise64"
62
+ config.vm.box = "ubuntu/xenial64"
56
63
 
57
64
  config.landrush.enabled = true
58
65
 
data/Rakefile CHANGED
@@ -37,9 +37,9 @@ rule '.html' => '.adoc' do |t|
37
37
  Asciidoctor.convert_file t.source, to_dir: 'build/html'
38
38
  end
39
39
 
40
- task default: [
41
- :rubocop,
42
- :test
40
+ task default: %i[
41
+ rubocop
42
+ test
43
43
  ]
44
44
 
45
45
  task :generate_diagrams do
@@ -4,12 +4,14 @@ version: "{build}"
4
4
  branches:
5
5
  only:
6
6
  - master
7
+ init:
8
+ - git config --global core.autocrlf true
7
9
  install:
8
10
  - set PATH=C:\Ruby22\bin;%PATH%
9
11
  - ruby --version
10
12
  - gem --version
11
13
  - gem uninstall -x bundler
12
- - gem install bundler -v 1.12.5
14
+ - gem install bundler -v 1.16.4
13
15
  - bundler --version
14
16
  - bundle install
15
17
  build_script:
@@ -2,21 +2,20 @@
2
2
  :toc:
3
3
  :toc-placement!:
4
4
 
5
- The following should get you started on setting up your development environment. As a prerequisite you will need a Ruby 2.2 environment. We
6
- recommend to use https://rvm.io/[RVM] to create an isolated development
7
- environment. On Windows the http://rubyinstaller.org/[RubyInstaller for
8
- Windows] is probably the easiest way to get started. In this case you
9
- will need the http://rubyinstaller.org/add-ons/devkit/[DevKit] as well.
5
+ The following should get you started on setting up your development environment.
6
+ As a prerequisite you will need a Ruby environment (Ruby version >= 2.2, 2.5 recommended).
7
+ We recommend to use https://rvm.io/[RVM] to create an isolated development environment.
8
+ On Windows the http://rubyinstaller.org/[RubyInstaller for Windows] is probably the easiest way to get started.
9
+ In this case you will need the http://rubyinstaller.org/add-ons/devkit/[DevKit] as well.
10
10
 
11
11
  '''
12
12
  toc::[]
13
13
  '''
14
14
 
15
- Once you have a working Ruby environment it is time to
16
- https://help.github.com/articles/fork-a-repo/[fork] the repository. Refer to the link:../CONTRIBUTING.adoc[Contributing] guide for more information.
15
+ Once you have a working Ruby environment it is time to https://help.github.com/articles/fork-a-repo/[fork] the repository.
16
+ Refer to the link:../CONTRIBUTING.adoc[Contributing] guide for more information.
17
17
 
18
- The following sections list the most important commands you will need for
19
- development.
18
+ The following sections list the most important commands you will need for development.
20
19
 
21
20
  == Setup
22
21
 
@@ -25,11 +24,13 @@ development.
25
24
  ....
26
25
  $ gem install bundler
27
26
  ....
27
+
28
28
  * Install dependencies:
29
29
  +
30
30
  ....
31
31
  $ bundle install
32
32
  ....
33
+
33
34
  * Get a list of all available build tasks:
34
35
  +
35
36
  ....
@@ -39,8 +40,9 @@ $ bundle exec rake -T
39
40
  * Build the Landrush gem:
40
41
  +
41
42
  ....
42
- $ bundle exec rake install
43
+ $ bundle exec rake build
43
44
  ....
45
+
44
46
  * Clean all generated files:
45
47
  +
46
48
  ....
@@ -54,11 +56,18 @@ $ bundle exec rake clean clobber
54
56
  ....
55
57
  $ bundle exec rake test
56
58
  ....
59
+
60
+ TIP: The unit tests utilize https://github.com/seattlerb/minitest[minitest] as test harness.
61
+ Tests are mainly written in Spec style.
62
+ To make testing simpler, each test will be configured against a newly created temporary working directly which will be deleted on teardown.
63
+ Refer to https://github.com/vagrant-landrush/landrush/blob/master/test/test_helper.rb#L173[test_helper.rb] to see how this setup and teardown works.
64
+
57
65
  * Run a single test file:
58
66
  +
59
67
  ....
60
68
  $ bundle exec rake test TEST=<path to test file>
61
69
  ....
70
+
62
71
  * Run cucumber/aruba acceptance tests:
63
72
  +
64
73
  ....
@@ -66,10 +75,9 @@ $ bundle exec rake features
66
75
  ....
67
76
 
68
77
  NOTE: The acceptance tests currently work only for OS X, out of the box.
69
- On Linux, one has to manually configure the host visibility for the
70
- TLD _landrush-acceptance-test_. See *Linux* in the *Visibility on the Host* section of the link:Usage.adoc[Usage guide]. On Windows,
71
- the acceptance tests won't work due to a bug in
72
- https://github.com/cucumber/aruba/issues/387[Aruba].
78
+ On Linux, one has to manually configure the host visibility for the TLD _landrush-acceptance-test_.
79
+ See *Linux* in the *Visibility on the Host* section of the link:Usage.adoc[Usage guide].
80
+ On Windows, the acceptance tests won't work due to a bug in https://github.com/cucumber/aruba/issues/387[Aruba].
73
81
 
74
82
  * Run a single cucumber/aruba acceptance tests:
75
83
  +
@@ -82,7 +90,7 @@ $ bundle exec rake features FEATURE=features/<feature-filename>.feature
82
90
  The documentation of this plugin is written in http://asciidoctor.org[Asciidoc]. If you need some syntax help,
83
91
  refer to the http://asciidoctor.org/docs/asciidoc-syntax-quick-reference/[AsciiDoc Syntax Quick Reference].
84
92
 
85
- To build the documentation you can execute
93
+ To build the documentation you can execute:
86
94
 
87
95
  ----
88
96
  $ bundle exec rake html
@@ -91,16 +99,13 @@ $ bundle exec rake html
91
99
  which will build the HTML documentation into the folder _build/html_.
92
100
 
93
101
  The source code also contains a link:../Guardfile[Guardfile] for the https://github.com/guard/guard[Guard] library.
94
- You can execute
102
+ You can execute:
95
103
 
96
104
  ----
97
105
  $ bundle exec guard
98
106
  ----
99
107
 
100
108
  and your HTML documentation will be automatically updated on each change to an Asciidoc source file.
101
- https://github.com/guard/guard-livereload[Live reload] is also enabled, so you just need to install the right
102
- http://livereload.com/extensions/#installing-sections[LiveReload Safari/Chrome/Firefox extension] and your
103
- browser can refresh the page each time you save a change to your Asciidoc files.
104
109
 
105
110
  == Misc
106
111
 
@@ -148,15 +148,15 @@ To disable this functionality:
148
148
  config.landrush.host_redirect_dns = false
149
149
  ....
150
150
 
151
- * OS X
151
+ * macOS
152
152
  +
153
- If you are on an OS X host, we use a nice trick to unobtrusively add a
153
+ If you are on an macOS host, we use a nice trick to unobtrusively add a
154
154
  secondary DNS server only for specific domains. During startup Landrush automatically adds
155
155
  a file into `/etc/resolver` that points
156
156
  lookups for hostnames ending in your `config.landrush.tld` domain to its
157
- DNS server. (See `man 5 resolver` on your Mac OS X host for more
157
+ DNS server. (See `man 5 resolver` on your host for more
158
158
  information on this file's syntax.)
159
-
159
+ +
160
160
  * Linux
161
161
  +
162
162
  Landrush tries to achieve the same behavior on Linux hosts using
@@ -195,8 +195,7 @@ Windows 10 and VirtualBox.
195
195
  When running VirtualBox on Windows in combination with Landrush the
196
196
  Network Connections
197
197
  (`Control Panel\Network and Internet\Network Connections`) looks
198
- somewhat like this after a successful `vagrant up`: +
199
- +
198
+ somewhat like this after a successful `vagrant up`:
200
199
  +
201
200
  image:img/network-connections.png[Network
202
201
  Connections,title="Network Connections"] +
@@ -268,4 +267,16 @@ You might want to resolve Landrush's DNS-entries on _additional_
268
267
  computing devices, like a mobile phone.
269
268
  Please refer to link:ProxyMobile.adoc[mobile instructions] for further details.
270
269
 
270
+ [TIP]
271
+ ====
272
+ Multiple TLDs can also be provided as an array.
273
+ On Linux and macOS a dnsmasq resp. resolver configuration will be created for each TLD.
274
+
275
+ ....
276
+ config.landrush.tld = ['acme.com', 'example.com']
277
+ config.landrush.host 'www.acme.com', '1.2.3.4'
278
+ config.landrush.host 'www.foo.bar', '2.3.4.5'
279
+ ....
280
+ ====
281
+
271
282
  You can refer to the link:Troubleshooting.adoc[Troubleshooting guide] if you encounter any problems while using Landrush.
@@ -29,6 +29,9 @@ Feature: dns_resolution
29
29
  Then the hostname "my-static-cname-host.landrush-acceptance-test" should resolve to "42.42.42.42" on the internal DNS server
30
30
  And the hostname "my-static-cname-host.landrush-acceptance-test" should resolve to "42.42.42.42" on the host
31
31
 
32
+ When I successfully run `bundle exec vagrant landrush stop`
33
+ Then Landrush is not running
34
+
32
35
  Examples:
33
36
  | box | provider |
34
37
  | debian/jessie64 | virtualbox |
@@ -0,0 +1,32 @@
1
+ Feature: Landrush with Docker provider
2
+ Landrush should work with Docker provider
3
+
4
+ Scenario: Booting box with Docker provider
5
+ Given a file named "Vagrantfile" with:
6
+ """
7
+ Vagrant.configure(2) do |config|
8
+ config.vm.provider "docker" do |d|
9
+ # https://github.com/tknerr/vagrant-docker-baseimages
10
+ d.image = "tknerr/baseimage-ubuntu:18.04"
11
+ d.has_ssh = true
12
+ d.privileged = true
13
+ end
14
+
15
+ config.vm.provision "shell", inline: 'apt-get install -y net-tools dnsutils'
16
+
17
+ config.landrush.enabled = true
18
+ config.vm.hostname = "foo.vagrant.test"
19
+
20
+ config.landrush.host 'static1.example.com', '1.2.3.4'
21
+ config.landrush.host 'static2.example.com', '2.3.4.5'
22
+ end
23
+ """
24
+ When I successfully run `bundle exec vagrant up`
25
+ Then Landrush is running
26
+
27
+ When I successfully run `bundle exec vagrant ssh -- dig +noall +answer +nocomments static1.example.com`
28
+ Then stdout from "bundle exec vagrant ssh -- dig +noall +answer +nocomments static1.example.com" should match /.*1\.2\.3\.4/
29
+
30
+ When I successfully run `bundle exec vagrant landrush stop`
31
+ Then Landrush is not running
32
+