[CORD-2464]
Fixes to allow scenarios to run on macOS

Change-Id: I257d62fb2726be81f21aac41baf84aaf3591eec8
diff --git a/ansible/roles/vagrant-ssh-install/tasks/main.yml b/ansible/roles/vagrant-ssh-install/tasks/main.yml
index b1da8c7..b1b287d 100644
--- a/ansible/roles/vagrant-ssh-install/tasks/main.yml
+++ b/ansible/roles/vagrant-ssh-install/tasks/main.yml
@@ -14,7 +14,13 @@
 # See the License for the specific language governing permissions and
 # limitations under the License.
 
-- name: Ensure .ssh directory exists
+- name: Check for .ssh directory
+  stat:
+    path: "{{ ansible_env.HOME }}/.ssh"
+  register: dotsshdir
+
+- name: Create .ssh directory if it doesn't exist
+  when: (not dotsshdir.stat.isdir) and (not dotsshdir.stat.islnk)
   file:
     path: "{{ ansible_env.HOME }}/.ssh"
     state: directory
diff --git a/scenarios/controlpod/Vagrantfile b/scenarios/controlpod/Vagrantfile
index b8e0d1f..c88ca85 100644
--- a/scenarios/controlpod/Vagrantfile
+++ b/scenarios/controlpod/Vagrantfile
@@ -18,7 +18,7 @@
   # set the headnode VM
   config.vm.define "head1" do |d|
     d.vm.hostname = "head1"
-    d.vm.network "forwarded_port", guest: 80, host: 8080, host_ip: '*'
+    d.vm.network "forwarded_port", guest: 80, host: 8080, host_ip: '0.0.0.0'
     d.vm.network "private_network",
       ip: settings['head_vm_ip']
     d.vm.provider :virtualbox do |vb|
diff --git a/scenarios/cord/Vagrantfile b/scenarios/cord/Vagrantfile
index 85fc03a..2216375 100644
--- a/scenarios/cord/Vagrantfile
+++ b/scenarios/cord/Vagrantfile
@@ -38,7 +38,7 @@
   config.vm.define "head1" do |d|
     d.vm.box = settings["vagrant_box"]
     d.vm.hostname = "head1"
-    d.vm.network "forwarded_port", guest: 80, host: 8080, host_ip: '*'
+    d.vm.network "forwarded_port", guest: 80, host: 8080, host_ip: '0.0.0.0'
     d.vm.network "private_network", ip: "10.100.198.201"
     d.vm.synced_folder $cordpath, $ciab_dir
     d.vm.network "private_network",
diff --git a/scenarios/mock/Vagrantfile b/scenarios/mock/Vagrantfile
index 4fa4b65..0922086 100644
--- a/scenarios/mock/Vagrantfile
+++ b/scenarios/mock/Vagrantfile
@@ -18,7 +18,7 @@
   # set the headnode VM
   config.vm.define "head1" do |d|
     d.vm.hostname = "head1"
-    d.vm.network "forwarded_port", guest: 80, host: 8080, host_ip: '*'
+    d.vm.network "forwarded_port", guest: 80, host: 8080, host_ip: '0.0.0.0'
     d.vm.network "private_network",
       ip: settings['head_vm_ip']
     d.vm.provider :virtualbox do |vb|
diff --git a/scenarios/preppedpod/Vagrantfile b/scenarios/preppedpod/Vagrantfile
index 99f97e2..6cfefe0 100644
--- a/scenarios/preppedpod/Vagrantfile
+++ b/scenarios/preppedpod/Vagrantfile
@@ -12,7 +12,7 @@
 
   config.vm.define "head1" do |h|
     h.vm.hostname = "head1"
-    h.vm.network "forwarded_port", guest: 80, host: 8080, host_ip: '*'
+    h.vm.network "forwarded_port", guest: 80, host: 8080, host_ip: '0.0.0.0'
     h.vm.provider :libvirt do |v|
       v.memory = settings['head_vm_mem']
       v.cpus = settings['head_vm_cpu']
diff --git a/scenarios/single/Vagrantfile b/scenarios/single/Vagrantfile
index b8e0d1f..c88ca85 100644
--- a/scenarios/single/Vagrantfile
+++ b/scenarios/single/Vagrantfile
@@ -18,7 +18,7 @@
   # set the headnode VM
   config.vm.define "head1" do |d|
     d.vm.hostname = "head1"
-    d.vm.network "forwarded_port", guest: 80, host: 8080, host_ip: '*'
+    d.vm.network "forwarded_port", guest: 80, host: 8080, host_ip: '0.0.0.0'
     d.vm.network "private_network",
       ip: settings['head_vm_ip']
     d.vm.provider :virtualbox do |vb|