working through ansible conversion of juju-setup.py
diff --git a/roles/create-vms/handlers/main.yml b/roles/create-vms/handlers/main.yml
new file mode 100644
index 0000000..fce01c5
--- /dev/null
+++ b/roles/create-vms/handlers/main.yml
@@ -0,0 +1,4 @@
+---
+# roles/create-vms/handlers/main.yml
+
+
diff --git a/roles/create-vms/tasks/main.yml b/roles/create-vms/tasks/main.yml
index 123b86b..a637153 100644
--- a/roles/create-vms/tasks/main.yml
+++ b/roles/create-vms/tasks/main.yml
@@ -13,6 +13,14 @@
   register: vm_ip
 
 - name: Create /etc/hosts with VM IP addresses
+  become: yes
   template:
     src=hosts.j2
     dest=/etc/hosts
+
+- name: Create /etc/ansible/hosts file
+  become: yes
+  template:
+    src=ansible_hosts.j2
+    dest=/etc/ansible/hosts
+
diff --git a/roles/create-vms/templates/ansible_hosts.j2 b/roles/create-vms/templates/ansible_hosts.j2
new file mode 100644
index 0000000..9b6096e
--- /dev/null
+++ b/roles/create-vms/templates/ansible_hosts.j2
@@ -0,0 +1,8 @@
+[localhost]
+127.0.0.1 hostname={{ ansible_fqdn }}
+
+[services]
+{% for vm in head_vm_list -%}
+{{ vm.name }}
+{% endfor -%}
+
diff --git a/roles/juju-setup/files/openstack.cfg b/roles/juju-setup/files/openstack.cfg
new file mode 100644
index 0000000..e9a1866
--- /dev/null
+++ b/roles/juju-setup/files/openstack.cfg
@@ -0,0 +1,37 @@
+glance:
+   openstack-origin: "cloud:trusty-kilo"
+keystone:
+   admin-password: ""
+   https-service-endpoints: "True"
+   openstack-origin: "cloud:trusty-kilo"
+   use-https: "yes"
+nova-cloud-controller:
+   console-access-protocol: "novnc"
+   network-manager: "Neutron"
+   openstack-origin: "cloud:trusty-kilo"
+nova-compute:
+#   config-flags: "firewall_driver=nova.virt.firewall.NoopFirewallDriver"
+   config-flags: "firewall_driver=nova.virt.firewall.NoopFirewallDriver,xos_api_url=http://portal.opencloud.us"
+   disable-neutron-security-groups: "True"
+   openstack-origin: "cloud:trusty-kilo"
+ntp:
+   source: "0.ubuntu.pool.ntp.org 1.ubuntu.pool.ntp.org 2.ubuntu.pool.ntp.org 3.ubuntu.pool.ntp.org"
+openstack-dashboard:
+   openstack-origin: "cloud:trusty-kilo"
+neutron-gateway:
+   bridge-mappings: "physnet1:br-data nat:br-nat"
+   flat-network-providers: "*"
+   instance-mtu: "1400"
+   openstack-origin: "cloud:trusty-kilo"
+   vlan-ranges: "physnet1:1000:2000 nat"
+neutron-api:
+   flat-network-providers: "*"
+   openstack-origin: "cloud:trusty-kilo"
+   vlan-ranges: "physnet1:1000:2000 nat"
+neutron-openvswitch:
+   bridge-mappings: "physnet1:br-data nat:br-nat"
+   disable-security-groups: "True"
+   flat-network-providers: "*"
+   vlan-ranges: "physnet1:1000:2000 nat"
+rabbitmq-server:
+  ssl: "on"
diff --git a/roles/juju-setup/tasks/main.yml b/roles/juju-setup/tasks/main.yml
new file mode 100644
index 0000000..0540b1c
--- /dev/null
+++ b/roles/juju-setup/tasks/main.yml
@@ -0,0 +1,33 @@
+---
+# roles/juju-setup/main/tasks.yml
+
+- name: Verify that we can log into every VM
+  command: ansible services -m ping -u ubuntu
+
+- name: Initialize Juju
+  command: juju generate-config
+    creates={{ ansible_env['PWD'] }}/.juju/environments.yaml
+
+- name: Juju config file
+  template:
+    src=environments.yaml.j2
+    dest={{ ansible_env['PWD'] }}/.juju/environments.yaml
+
+- name: Bootstrap Juju
+  command: juju bootstrap
+    creates={{ ansible_env['PWD'] }}/.juju/environments/manual.jenv
+
+- name: Copy openstack.cfg for Juju
+  become: yes
+  copy:
+    src=openstack.cfg
+    dest=/usr/local/src/openstack.cfg
+
+- name: Get Juju machine status
+  command: juju status --format=json
+  register: juju_status_json
+
+- name: Add Juju status to ansible facts
+  set_fact: juju_status="{{ juju_status_json.stdout | from_json }}"
+
+
diff --git a/roles/juju-setup/templates/environments.yaml.j2 b/roles/juju-setup/templates/environments.yaml.j2
new file mode 100644
index 0000000..e575b23
--- /dev/null
+++ b/roles/juju-setup/templates/environments.yaml.j2
@@ -0,0 +1,7 @@
+default: manual
+environments:
+    manual:
+        type: manual
+        bootstrap-host: juju
+        bootstrap-user: ubuntu
+        default-series: {{ ansible_distribution_release }}
diff --git a/roles/juju-user-prep/files/ansible.cfg b/roles/juju-user-prep/files/ansible.cfg
new file mode 100644
index 0000000..dd43d2b
--- /dev/null
+++ b/roles/juju-user-prep/files/ansible.cfg
@@ -0,0 +1,2 @@
+[defaults]
+host_key_checking = false
diff --git a/roles/juju-user-prep/tasks/main.yml b/roles/juju-user-prep/tasks/main.yml
new file mode 100644
index 0000000..27f1d91
--- /dev/null
+++ b/roles/juju-user-prep/tasks/main.yml
@@ -0,0 +1,15 @@
+---
+# roles/juju-user-prep/main/tasks.yml
+
+- name: Disable host key checking in ~/.ssh/config
+  lineinfile:
+    dest={{ ansible_env['PWD'] }}/.ssh/config
+    line="StrictHostKeyChecking no"
+    create=yes
+    mode=0600
+
+- name: Disable host key checking in ~/.ansible.cfg
+  copy:
+    src=ansible.cfg
+    dest={{ ansible_env['PWD'] }}/.ansible.cfg
+