working through ansible conversion of juju-setup.py
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 }}