allow setting of specific charm versions, with fallback
diff --git a/roles/juju-setup/tasks/main.yml b/roles/juju-setup/tasks/main.yml
index a89cd99..075467e 100644
--- a/roles/juju-setup/tasks/main.yml
+++ b/roles/juju-setup/tasks/main.yml
@@ -59,11 +59,11 @@
   command: juju bootstrap
     creates={{ ansible_user_dir }}/.juju/environments/manual.jenv
 
-- name: Create openstack.cfg for Juju from template
+- name: Copy over juju-config.yml for configuring Juju services
   become: yes
   template:
-    src=openstack.cfg.j2
-    dest={{ openstack_cfg_path }}
+    src={{ juju_config_file }}
+    dest={{ juju_config_path }}
 
 # Code for this is in library/juju_facts.py
 - name: Obtain Juju Facts for creating machines
@@ -82,15 +82,15 @@
   juju_facts:
 
 - name: Deploy services that are hosted in their own VM
-  command: "juju deploy {{ item }} --to {{ juju_machines[item]['machine_id'] }} --config={{ openstack_cfg_path }}"
+  command: "juju deploy {{ charm_version[item] | default(item) }} --to {{ juju_machines[item]['machine_id'] }} --config={{ juju_config_path }}"
   with_items: "{{ vm_service_list | difference( juju_services.keys() ) }}"
 
 - name: Deploy mongodb to ceilometer VM
-  command: "juju deploy mongodb --to {{ juju_machines['ceilometer']['machine_id'] }} --config={{ openstack_cfg_path }}"
+  command: "juju deploy {{ charm_version['mongodb'] | default('mongodb') }} --to {{ juju_machines['ceilometer']['machine_id'] }} --config={{ juju_config_path }}"
   when: juju_services['mongodb'] is undefined
 
 - name: Deploy services that don't have their own VM
-  command: "juju deploy {{ item }} --config={{ openstack_cfg_path }}"
+  command: "juju deploy {{ charm_version[item] | default(item) }} --config={{ juju_config_path }}"
   with_items: "{{ standalone_service_list | difference( juju_services.keys() ) }}"
 
 # FIXME: ignoring errors when creating relationships.
diff --git a/roles/juju-setup/templates/openstack.cfg.j2 b/roles/juju-setup/templates/openstack.cfg.j2
deleted file mode 100644
index 38850a9..0000000
--- a/roles/juju-setup/templates/openstack.cfg.j2
+++ /dev/null
@@ -1,44 +0,0 @@
-ceilometer:
-ceilometer-agent:
-glance:
-   openstack-origin: "cloud:trusty-kilo"
-keystone:
-   use-https: "yes"
-   https-service-endpoints: "True"
-   openstack-origin: "cloud:trusty-kilo"
-mysql:
-mongodb:
-nagios:
-neutron-api:
-   flat-network-providers: "*"
-   openstack-origin: "cloud:trusty-kilo"
-   vlan-ranges: "physnet1:1000:2000 nat"
-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-openvswitch:
-   bridge-mappings: "physnet1:br-data nat:br-nat"
-   disable-security-groups: "True"
-   flat-network-providers: "*"
-   vlan-ranges: "physnet1:1000:2000 nat"
-nova-cloud-controller:
-   console-access-protocol: "novnc"
-   network-manager: "Neutron"
-   openstack-origin: "cloud:trusty-kilo"
-nova-compute:
-   virt-type: kvm
-   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"
-nrpe:
-openstack-dashboard:
-   openstack-origin: "cloud:trusty-kilo"
-rabbitmq-server:
-  ssl: "on"
-