diff --git a/bundles/openstack/bundle-ceph-config.yaml b/bundles/openstack/bundle-ceph-config.yaml
new file mode 100644
index 0000000000000000000000000000000000000000..533f746d60bfae57ed0a1e198c0aa57ca384c83e
--- /dev/null
+++ b/bundles/openstack/bundle-ceph-config.yaml
@@ -0,0 +1,393 @@
+## Specific configuration file for a cloud region.
+## Edit values within <...> to represent your region.
+## This version deploys a local Ceph cluster.
+## This is the bundle "overlay" file, to be used in conjunction with the bundle base file.
+
+## Deploy with the command:
+## juju deploy  --overlay ./bundle-openstack-ceph-overlay.yaml ./bundle-openstack-ceph-base.yaml 
+
+parameters:
+
+  # Region settings  
+  region: &region                               <region-name>
+  source_ntp: &source_ntp                       ntp1.inrim.it
+
+  # Nagios
+  nagios_context: &nagios_context               <nagios-context> #can be set to region-name
+  nagios_admin_email: &nagios_admin_email       <email-address>
+  nagios_admin_pwd: &nagiosadmin_pwd            <nagios-admin-pwd>
+  nagios_readonly_pwd: &nagiosro_pwd            <nagios-ro-pwd>
+
+  # ceph radosgw pool prefix
+  ceph-radosgw-pool-prefix: &ceph_radosgw_pool_prefix    <radosgw-prefix>
+
+  # vips (number of VIPs should match number of different bindings)
+  vip-percona: &vip_percona             <percona-priv-vip>
+  vip-ceilometer: &vip_ceilometer       <ceilometer-priv-vip>   <ceilometer-pub-vip>
+  vip-ceph-radosgw: &vip_ceph_radosgw   <radosgw-priv-vip>      <radosgw-pub-vip>
+  vip-cinder: &vip_cinder               <cinder-priv-vip>       <cinder-pub-vip>
+  vip-glance: &vip_glance               <glance-priv-vip>       <glance-pub-vip>
+  vip-dashboard: &vip_dashboard         <dashboard-priv-vip>    <dashboard-pub-vip>
+  vip-keystone: &vip_keystone           <keystone-priv-vip>     <keystone-pub-vip>
+  vip-neutron: &vip_neutron             <neutron-priv-vip>      <neutron-pub-vip>
+  vip-nova: &vip_nova_cloud_controller  <nova-priv-vip>         <nova-pub-vip>
+  console-proxy-ip: &console_proxy_ip                           <nova-pub-vip>
+  # This is the gateway for public VIPs
+  default_public_gateway: &default_public_gateway               <network-public-gateway>
+
+  # hostnames
+  os-public-hostname: &os_public_hostname      <keystone-public-hostname>
+  os-internal-hostname: &os_internal_hostname  <keystone-internal-hostname>
+  # this one could be identical to internal-hostname
+  os-admin-hostname: &os_admin_hostname        <keystone-admin-hostname>
+
+  # network setup: should be the same cross-sites
+  ### Use network-space-* in bindings unless os-admin-* is usable instead
+  network-space-default: &network_space_default <default-space-name>
+  network-space-pub: &network_space_pub         <public-space-name>
+  network-space-os-data: &network_space_os_data <os-data-space-name>
+  network-space-os-mgmt: &network_space_os_mgmt <os-mgmt-space-name>
+
+  # Change with the name of the public network physical interface. Check the base file for bridge mapping definition
+  data-port: &data_port                         br-ex:<physical-interface-name>
+
+  # secrets and passwords:
+  root-password: &root_password  <percona-root-password>
+  sst-password:  &sst_password   <percona-sst-password>
+
+  # admin password. Access the dashboard with domain: admin_domain; username: admin; password: <keystone-admin-password>
+  admin-password: &admin_password  <keystone-admin-password>
+  secret_dashboard: &secret_dashboard   <secret-dashboard-password>
+
+  # keystone 
+  admin-token: &admin_token  <keystone-admin-token>
+
+
+
+# ------------------------------------------------------------------------------
+
+machines:
+  '0':
+    constraints: arch=amd64 tags=devel-na-net
+  '1':
+    constraints: arch=amd64 tags=devel-na-ctrl
+  '2':
+    constraints: arch=amd64 tags=devel-na-ctrl
+  '3':
+    constraints: arch=amd64 tags=devel-na-compute
+  '4':
+    constraints: arch=amd64 tags=devel-na-compute
+
+# ----------------------------------------------------------------------
+
+applications:
+
+  network-host:
+    charm: cs:ubuntu
+    bindings:
+      "": *network_space_default
+    num_units: 1
+    to:
+      - '0'
+
+  controller-host:
+    charm: cs:ubuntu
+    bindings:
+      "": *network_space_default
+    num_units: 2
+    to:
+      - '1'
+      - '2'
+
+  compute-host:
+    charm: cs:ubuntu
+    bindings:
+      "": *network_space_default
+    num_units: 2
+    to:
+      - '3'
+      - '4'
+
+  defaultgw:
+    charm: cs:~csd-garr/defaultgw
+    options:
+      gateway: *default_public_gateway
+
+  controller-hacluster:
+    charm: cs:hacluster
+    bindings:
+      "": *network_space_os_mgmt
+    options:
+      nagios_context: *nagios_context
+
+  glance-hacluster:
+    charm: cs:hacluster
+    bindings:
+      "": *network_space_os_mgmt
+    options:
+      nagios_context: *nagios_context
+
+  horizon-hacluster:
+    charm: cs:hacluster
+    bindings:
+      "": *network_space_os_mgmt
+    options:
+      nagios_context: *nagios_context
+
+  keystone-hacluster:
+    charm: cs:hacluster
+    bindings:
+      "": *network_space_os_mgmt
+    options:
+      nagios_context: *nagios_context
+
+  neutron-api-hacluster:
+    charm: cs:hacluster
+    bindings:
+      "": *network_space_os_mgmt
+    options:
+      nagios_context: *nagios_context
+
+  percona-hacluster:
+    charm: cs:hacluster
+    bindings:
+      "": *network_space_os_mgmt
+    options:
+      nagios_context: *nagios_context
+
+  ceph-radosgw-hacluster:
+    charm: cs:hacluster
+    options:
+      nagios_context: *nagios_context
+
+  nagios-server:
+    charm: cs:nagios
+    bindings:
+      "": *network_space_os_mgmt
+      website: *network_space_pub
+    num_units: 1
+    to:
+      - 'lxd:1'
+
+
+  rabbitmq-server:
+    charm: cs:rabbitmq-server
+    bindings:
+      "": *network_space_default
+    options:
+      nagios_context: *nagios_context
+    num_units: 3
+    to:
+      - 'lxd:2'
+      - 'lxd:1'
+
+  percona-cluster:
+    charm: cs:percona-cluster
+    bindings:
+      "": *network_space_default
+      shared-db: *network_space_os_mgmt
+      cluster: *network_space_os_mgmt
+    options:
+      nagios_context: *nagios_context
+      root-password: *root_password
+      sst-password: *sst_password
+      vip: *vip_percona
+    num_units: 3
+    to:
+      - 'lxd:1'
+      - 'lxd:2'
+
+  keystone:
+    charm: cs:keystone
+    bindings:
+      "": *network_space_default
+      public: *network_space_pub
+    options:
+      admin-password: *admin_password
+      admin-token: *admin_token
+      nagios_context: *nagios_context
+      os-public-hostname: *os_public_hostname
+      region: *region
+      vip: *vip_keystone
+    num_units: 3
+    to:
+      - 'lxd:2'
+      - 'lxd:1'
+
+  openstack-dashboard:
+    charm: cs:openstack-dashboard
+    bindings:
+      "": *network_space_default
+      website: *network_space_pub
+    options:
+      nagios_context: *nagios_context
+      secret: *secret_dashboard
+      vip: *vip_dashboard
+    num_units: 3
+    to:
+      - 'lxd:1'
+      - 'lxd:2'
+
+  nova-compute:
+    charm: cs:nova-compute
+    bindings:
+      "": *network_space_default
+    options:
+      nagios_context: *nagios_context
+    num_units: 2
+    to:
+      - '3'
+      - '4'
+
+  nova-cloud-controller:
+    charm: cs:nova-cloud-controller
+    bindings:
+      "": *network_space_default
+      public: *network_space_pub
+    options:
+      region: *region
+      nagios_context: *nagios_context
+      console-proxy-ip: *console_proxy_ip
+      vip: *vip_nova_cloud_controller
+    num_units: 3
+    to:
+      - 'lxd:1'
+      - 'lxd:2'
+
+  neutron-api:
+    charm: cs:neutron-api
+    bindings:
+      "": *network_space_default
+      public: *network_space_pub
+    options:
+      region: *region
+      nagios_context: *nagios_context
+      vip: *vip_neutron
+    num_units: 3
+    to:
+      - 'lxd:2'
+      - 'lxd:1'
+
+  neutron-openvswitch:
+    charm: cs:neutron-openvswitch
+    bindings:
+      "": *network_space_default
+
+  cinder:
+    charm: cs:cinder
+    bindings:
+      "": *network_space_default
+      public: *network_space_pub
+    options:
+      nagios_context: *nagios_context
+      region: *region
+      vip: *vip_cinder
+    num_units: 3
+    to:
+      - 'lxd:1'
+      - 'lxd:2'
+
+  cinder-ceph:
+    charm: cs:cinder-ceph
+    bindings:
+      "": *network_space_default
+    options:
+
+  ceph-mon:
+    charm: cs:ceph-mon
+    bindings:
+      "": *network_space_default
+      public: *network_space_os_mgmt
+    options:
+      nagios_context: *nagios_context
+    num_units: 3
+    to:
+      - 'lxd:0'
+      - 'lxd:1'
+      - 'lxd:1'
+    annotations:
+      gui-x: '1200'
+      gui-y: '400'
+
+  ceph-osd:
+    charm: cs:ceph-osd
+    series: *series
+    bindings:
+      "": *network_space_default
+      public: *network_space_os_mgmt
+      cluster: *network_space_os_data
+      mon: *network_space_os_mgmt
+    options:
+      nagios_context: *nagios_context
+    num_units: 2
+    to:
+      - '3'
+      - '4'
+    annotations:
+      gui-x: '1400'
+      gui-y: '400'
+
+  ceph-radosgw:
+    charm: cs:ceph-radosgw
+    bindings:
+      "": *network_space_default
+      public: *network_space_pub
+    options:
+      pool-prefix: *ceph_radosgw_pool_prefix
+      region: *region
+      vip: *vip_ceph_radosgw
+      nagios_context: *nagios_context
+    num_units: 3
+    to:
+      - 'lxd:2'
+      - 'lxd:1'
+
+  glance:
+    charm: cs:glance
+    bindings:
+      "": *network_space_default
+      public: *network_space_pub
+    options:
+      region: *region
+      nagios_context: *nagios_context
+      vip: *vip_glance
+    num_units: 3
+    to:
+      - 'lxd:1'
+      - 'lxd:2'
+
+  memcached:
+    charm: cs:memcached
+    bindings:
+      "": *network_space_default
+    options:
+      nagios_context: *nagios_context
+    num_units: 3
+    to:
+      - 'lxd:2'
+      - 'lxd:1'
+
+
+  neutron-gateway:
+    charm: cs:neutron-gateway
+    bindings:
+      "": *network_space_default
+      data: *network_space_os_data
+    options:
+      data-port: *data_port
+      nagios_context: *nagios_context
+    num_units: 1
+    to:
+      - '0'
+
+  ceilometer:
+    charm: cs:ceilometer
+    bindings:
+      "": *network_space_default
+      public: *network_space_pub
+    options:
+      region: *region
+    num_units: 1
+    to:
+      - 'lxd:1'
+
diff --git a/bundles/openstack/bundle-cephproxy-config.yaml b/bundles/openstack/bundle-cephproxy-config.yaml
new file mode 100644
index 0000000000000000000000000000000000000000..f27b2ce0ddc85ca32e1e62bd391b9673323775de
--- /dev/null
+++ b/bundles/openstack/bundle-cephproxy-config.yaml
@@ -0,0 +1,374 @@
+## Specific configuration file for a cloud region.
+## Edit values within <...> to represent your region.
+## This version connects to an external Ceph cluster via ceph-proxy charm.
+## This is the bundle "overlay" file, to be used in conjunction with the bundle base file.
+
+## Deploy with the command:
+## juju deploy  --overlay ./bundle-openstack-ceph-overlay.yaml ./bundle-openstack-ceph-base.yaml 
+
+parameters:
+
+  # Region settings  
+  region: &region                               <region-name>
+  source_ntp: &source_ntp             		ntp1.inrim.it
+ 
+  # Nagios
+  nagios_context: &nagios_context               <nagios-context> #can be set to region-name
+  nagios_admin_email: &nagios_admin_email       <email-address>
+  nagios_admin_pwd: &nagiosadmin_pwd            <nagios-admin-pwd>
+  nagios_readonly_pwd: &nagiosro_pwd            <nagios-ro-pwd>
+
+  # Ceph proxy
+  ceph-proxy-admin-key: &ceph_proxy_admin_key <ceph-admin-key>
+  ceph-proxy-fsid: &ceph_proxy_fsid <ceph-fsid>
+  ceph-proxy-monitor-hosts: &ceph_proxy_monitor_hosts <ceph-mon-hosts>
+
+  ceph-radosgw-pool-prefix: &ceph_radosgw_pool_prefix    <radosgw-prefix>
+
+  # vips (number of VIPs should match number of different bindings)
+  vip-percona: &vip_percona             <percona-priv-vip>
+  vip-ceilometer: &vip_ceilometer       <ceilometer-priv-vip> 	<ceilometer-pub-vip>
+  vip-ceph-radosgw: &vip_ceph_radosgw   <radosgw-priv-vip>   	<radosgw-pub-vip>
+  vip-cinder: &vip_cinder               <cinder-priv-vip>   	<cinder-pub-vip>
+  vip-glance: &vip_glance               <glance-priv-vip>   	<glance-pub-vip>
+  vip-dashboard: &vip_dashboard         <dashboard-priv-vip>   	<dashboard-pub-vip>
+  vip-keystone: &vip_keystone           <keystone-priv-vip>   	<keystone-pub-vip>
+  vip-neutron: &vip_neutron             <neutron-priv-vip>   	<neutron-pub-vip>
+  vip-nova: &vip_nova_cloud_controller  <nova-priv-vip>   	<nova-pub-vip>
+  console-proxy-ip: &console_proxy_ip   			<nova-pub-vip>
+  # This is the gateway for public VIPs
+  default_public_gateway: &default_public_gateway     		<network-public-gateway>
+
+  # hostnames
+  os-public-hostname: &os_public_hostname      <keystone-public-hostname>
+  os-internal-hostname: &os_internal_hostname  <keystone-internal-hostname>
+  # this one could be identical to internal-hostname
+  os-admin-hostname: &os_admin_hostname        <keystone-admin-hostname>
+
+  # network setup: should be the same cross-sites
+  ### Use network-space-* in bindings unless os-admin-* is usable instead
+  network-space-default: &network_space_default	<default-space-name>
+  network-space-pub: &network_space_pub		<public-space-name>
+  network-space-os-data: &network_space_os_data	<os-data-space-name>
+  network-space-os-mgmt: &network_space_os_mgmt	<os-mgmt-space-name>
+
+  # Change with the name of the public network physical interface. Check the base file for bridge mapping definition
+  data-port: &data_port				br-ex:<physical-interface-name> 
+
+  # secrets and passwords:
+  root-password: &root_password  <percona-root-password>
+  sst-password:  &sst_password   <percona-sst-password>
+
+  # admin password. Access the dashboard with domain: admin_domain; username: admin; password: <keystone-admin-password>
+  admin-password: &admin_password  <keystone-admin-password>
+  secret_dashboard: &secret_dashboard   <secret-dashboard-password>
+
+  # keystone 
+  admin-token: &admin_token  <keystone-admin-token>
+
+# ------------------------------------------------------------------------------
+
+# Tag machines on MAAS 
+machines:
+  '0':
+    constraints: arch=amd64 tags=<network-server-tag>
+  '1':
+    constraints: arch=amd64 tags=<controller-server-tag>
+  '2':
+    constraints: arch=amd64 tags=<controller-server-ta>
+  '3':
+    constraints: arch=amd64 tags=<compute-server-tag>
+  '4':
+    constraints: arch=amd64 tags=<compute-server-tag>
+
+# ----------------------------------------------------------------------
+
+applications:
+
+  network-host:
+    charm: cs:ubuntu
+    bindings:
+      "": *network_space_default
+    num_units: 1
+    to:
+      - '0'
+
+  controller-host:
+    charm: cs:ubuntu
+    bindings:
+      "": *network_space_default
+    num_units: 2
+    to:
+      - '1'
+      - '2'
+
+  compute-host:
+    charm: cs:ubuntu
+    bindings:
+      "": *network_space_default
+    num_units: 2
+    to:
+      - '3'
+      - '4'
+
+  defaultgw:
+    charm: cs:~csd-garr/defaultgw
+    options:
+      gateway: *default_public_gateway
+
+  controller-hacluster:
+    charm: cs:hacluster
+    bindings:
+      "": *network_space_os_mgmt
+    options:
+      nagios_context: *nagios_context
+
+  glance-hacluster:
+    charm: cs:hacluster
+    bindings:
+      "": *network_space_os_mgmt
+    options:
+      nagios_context: *nagios_context
+
+  horizon-hacluster:
+    charm: cs:hacluster
+    bindings:
+      "": *network_space_os_mgmt
+    options:
+      nagios_context: *nagios_context
+
+  keystone-hacluster:
+    charm: cs:hacluster
+    bindings:
+      "": *network_space_os_mgmt
+    options:
+      nagios_context: *nagios_context
+
+  neutron-api-hacluster:
+    charm: cs:hacluster
+    bindings:
+      "": *network_space_os_mgmt
+    options:
+      nagios_context: *nagios_context
+
+  percona-hacluster:
+    charm: cs:hacluster
+    bindings:
+      "": *network_space_os_mgmt
+    options:
+      nagios_context: *nagios_context
+
+  ceph-radosgw-hacluster:
+    charm: cs:hacluster
+    options:
+      nagios_context: *nagios_context
+
+  nagios-server:
+    charm: cs:nagios
+    bindings:
+      "": *network_space_os_mgmt
+      website: *network_space_pub
+    num_units: 1
+    to:
+      - 'lxd:1'
+
+
+  rabbitmq-server:
+    charm: cs:rabbitmq-server
+    bindings:
+      "": *network_space_default
+    options:
+      nagios_context: *nagios_context
+    num_units: 3
+    to:
+      - 'lxd:2'
+      - 'lxd:1'
+
+  percona-cluster:
+    charm: cs:percona-cluster
+    bindings:
+      "": *network_space_default
+      shared-db: *network_space_os_mgmt
+      cluster: *network_space_os_mgmt
+    options:
+      nagios_context: *nagios_context
+      root-password: *root_password
+      sst-password: *sst_password
+      vip: *vip_percona
+    num_units: 3
+    to:
+      - 'lxd:1'
+      - 'lxd:2'
+
+  keystone:
+    charm: cs:keystone
+    bindings:
+      "": *network_space_default
+      public: *network_space_pub
+    options:
+      admin-password: *admin_password
+      admin-token: *admin_token
+      nagios_context: *nagios_context
+      os-public-hostname: *os_public_hostname
+      region: *region
+      vip: *vip_keystone
+    num_units: 3
+    to:
+      - 'lxd:2'
+      - 'lxd:1'
+
+  openstack-dashboard:
+    charm: cs:openstack-dashboard
+    bindings:
+      "": *network_space_default
+      website: *network_space_pub
+    options:
+      nagios_context: *nagios_context
+      secret: *secret_dashboard
+      vip: *vip_dashboard
+    num_units: 3
+    to:
+      - 'lxd:1'
+      - 'lxd:2'
+
+  nova-compute:
+    charm: cs:nova-compute
+    bindings:
+      "": *network_space_default
+    options:
+      nagios_context: *nagios_context
+    num_units: 2
+    to:
+      - '3'
+      - '4'
+
+  nova-cloud-controller:
+    charm: cs:nova-cloud-controller
+    bindings:
+      "": *network_space_default
+      public: *network_space_pub
+    options:
+      region: *region
+      nagios_context: *nagios_context
+      console-proxy-ip: *console_proxy_ip
+      vip: *vip_nova_cloud_controller
+    num_units: 3
+    to:
+      - 'lxd:1'
+      - 'lxd:2'
+
+  neutron-api:
+    charm: cs:neutron-api
+    bindings:
+      "": *network_space_default
+      public: *network_space_pub
+    options:
+      region: *region
+      nagios_context: *nagios_context
+      vip: *vip_neutron
+    num_units: 3
+    to:
+      - 'lxd:2'
+      - 'lxd:1'
+
+  neutron-openvswitch:
+    charm: cs:neutron-openvswitch
+    bindings:
+      "": *network_space_default
+
+  cinder:
+    charm: cs:cinder
+    bindings:
+      "": *network_space_default
+      public: *network_space_pub
+    options:
+      nagios_context: *nagios_context
+      region: *region
+      vip: *vip_cinder
+    num_units: 3
+    to:
+      - 'lxd:1'
+      - 'lxd:2'
+
+  cinder-ceph:
+    charm: cs:cinder-ceph
+    bindings:
+      "": *network_space_default
+    options:
+
+  ceph-proxy:
+    charm: cs:ceph-proxy
+    bindings:
+      "": *network_space_default
+    options:
+      admin-key: *ceph_proxy_admin_key
+      fsid: *ceph_proxy_fsid
+      monitor-hosts: *ceph_proxy_monitor_hosts
+    num_units: 1
+    to:
+      - 'lxd:1'
+
+  ceph-radosgw:
+    charm: cs:ceph-radosgw
+    bindings:
+      "": *network_space_default
+      public: *network_space_pub
+    options:
+      pool-prefix: *ceph_radosgw_pool_prefix
+      region: *region
+      vip: *vip_ceph_radosgw
+      nagios_context: *nagios_context
+    num_units: 3
+    to:
+      - 'lxd:2'
+      - 'lxd:1'
+
+  glance:
+    charm: cs:glance
+    bindings:
+      "": *network_space_default
+      public: *network_space_pub
+    options:
+      region: *region
+      nagios_context: *nagios_context
+      vip: *vip_glance
+    num_units: 3
+    to:
+      - 'lxd:1'
+      - 'lxd:2'
+
+  memcached:
+    charm: cs:memcached
+    bindings:
+      "": *network_space_default
+    options:
+      nagios_context: *nagios_context
+    num_units: 3
+    to:
+      - 'lxd:2'
+      - 'lxd:1'
+
+
+  neutron-gateway:
+    charm: cs:neutron-gateway
+    bindings:
+      "": *network_space_default
+      data: *network_space_os_data
+    options:
+      data-port: *data_port
+      nagios_context: *nagios_context
+    num_units: 1
+    to:
+      - '0'
+
+  ceilometer:
+    charm: cs:ceilometer
+    bindings:
+      "": *network_space_default
+      public: *network_space_pub
+    options:
+      region: *region
+    num_units: 1
+    to:
+      - 'lxd:1'
+
diff --git a/bundles/openstack/bundle-openstack-ceph-base.yaml b/bundles/openstack/bundle-openstack-ceph-base.yaml
new file mode 100644
index 0000000000000000000000000000000000000000..b498b769b6bdbf7cdea1bc0930c795a2a74f83f2
--- /dev/null
+++ b/bundles/openstack/bundle-openstack-ceph-base.yaml
@@ -0,0 +1,679 @@
+## Sample bundle for the deployment of OpenStack in a region of the
+## GARR Federated Cloud Platform.
+## This version deploys a local ceph.
+## This is the base bundle file, to be used in conjunction with an "overlay" file with custom parameters (passwords etc)
+
+## Deploy with the command:
+## juju deploy  --overlay ./bundle-openstack-cephproxy-overlay.yaml ./bundle-openstack-cephproxy-base.yaml 
+
+parameters:
+
+  # sources
+  #openstack-origin: &openstack_origin   cloud:xenial-queens
+  #series: &series  xenial
+  #dashboard-series: &dashboard_series xenial
+
+  openstack-origin: &openstack_origin   distro
+  series: &series  bionic
+  dashboard-series: &dashboard_series bionic
+
+  # Region settings  
+  region: &region                               garr-na2-devel
+  source_ntp: &source_ntp                       ntp1.inrim.it
+
+  # Ceph configs
+  ceph-osd-partition: &ceph_osd_partition  "/dev/sda /dev/sdb /dev/sdc"
+  ceph-cinder-replication-count: &ceph_cinder_replication_count  3
+  ceph-glance-replication-count: &ceph_glance_replication_count  3
+  ceph-radosgw-replication-count: &ceph_radosgw_replication_count  3
+
+  ceph-radosgw-lightweight-pool-pg-num:  &ceph_radosgw_lightweight_pool_pg_num  8
+  ceph-radosgw-rgw-buckets-pool-weight:  &ceph_radosgw_rgw_buckets_pool_weight  5
+  ceph-radosgw-config-flags:  &ceph_radosgw_config_flags
+
+  # network defaults:
+  flat-network-providers: &flat_network_providers  ext_net
+  neutron-external-network: &neutron_external_network ext_net
+  network-device-mtu: &network_device_mtu  9000
+  instance-mtu: &instance_mtu	8000
+  enable-dvr: &dvr-mode		False
+  vlan-ranges: &vlan_ranges	physnet-ovs:801:801
+  enable-local-dhcp-and-metadata: &enable_local_dhcp_and_metadata   True
+  enable-ml2-dns: &enable_ml2_dns True
+  dns-domain: &dns_domain garr.cloud.na.
+  enable-dvr: &dvr_mode		False
+
+  # Change as appropriate
+  bridge-mappings: &bridge_mappings             ext_net:br-ex
+
+  # keystone/dashboard
+  preferred-api-version: &preferred_api_version     3
+
+  # nova-compute
+  worker-multiplier: &worker_multiplier             '1.0'
+  cpu-allocation-ratio: &cpu_allocation_ratio       '2.0'
+  ram-allocation-ratio: &ram_allocation_ratio       '1.5'
+  n-c-config-flags: &nova_compute_config_flags    "block_device_allocate_retries=600,block_device_allocate_retries_interval=5"
+
+  hugepages: &hugepages    '5%'
+  libvirt-image-backend: &libvirt_image_backend 	rbd
+  rbd-pool: &rbd_pool cinder-ceph
+  cpu-mode: &cpu-mode
+
+# Ceilometer
+  event-time-to-live: &celiometer_event_time_to_live -1
+  metering-time-to-live: &celiometer_metering_time_to_live -1
+
+# ------------------------------------------------------------------------------
+
+machines:
+  '0':
+    series: *series
+  '1':
+    series: *series
+  '2':
+    series: *series
+  '3':
+    series: *series
+  '4':
+    series: *series
+
+# ----------------------------------------------------------------------
+
+applications:
+
+  controller-host:
+    charm: cs:ubuntu
+    series: *series
+    annotations:
+      gui-x: '2000'
+      gui-y: '0'
+
+  compute-host:
+    charm: cs:ubuntu
+    series: *series
+    annotations:
+      gui-x: '2000'
+      gui-y: '500'
+
+  network-host:
+    charm: cs:ubuntu
+    series: *series
+    annotations:
+      gui-x: '2000'
+      gui-y: '800'
+
+  ntp:
+    charm: cs:ntp
+    series: *series
+    annotations:
+      gui-x: '2200'
+      gui-y: '500'
+
+  defaultgw:
+    charm: cs:~csd-garr/defaultgw
+    series: *series
+    annotations:
+      gui-x: '800'
+      gui-y: '0'
+
+  ceph-radosgw-hacluster:
+    charm: cs:hacluster
+    series: *series
+    options:
+      corosync_transport: 'unicast'
+      nagios_servicegroups: ceph,object,storage
+    annotations:
+      gui-x: '1000'
+      gui-y: '-200'
+
+  cinder-hacluster:
+    charm: cs:hacluster
+    series: *series
+    options:
+      corosync_transport: 'unicast'
+      nagios_servicegroups: ceph,block,storage
+    annotations:
+      gui-x: '1250'
+      gui-y: '350'
+
+  controller-hacluster:
+    charm: cs:hacluster
+    series: *series
+    options:
+      corosync_transport: 'unicast'
+      nagios_servicegroups: nova,compute
+    annotations:
+      gui-x: '-200'
+      gui-y: '500'
+
+  glance-hacluster:
+    charm: cs:hacluster
+    series: *series
+    options:
+      corosync_transport: 'unicast'
+      nagios_servicegroups: ceph,object,storage
+    annotations:
+      gui-x: '1200'
+      gui-y: '600'
+
+  horizon-hacluster:
+    charm: cs:hacluster
+    series: *series
+    options:
+      corosync_transport: 'unicast'
+      nagios_servicegroups: dashboard,web
+    annotations:
+      gui-x: '250'
+      gui-y: '50'
+
+  keystone-hacluster:
+    charm: cs:hacluster
+    series: *series
+    options:
+      corosync_transport: 'unicast'
+      nagios_servicegroups: keystone
+    annotations:
+      gui-x: '350'
+      gui-y: '350'
+
+  neutron-api-hacluster:
+    charm: cs:hacluster
+    series: *series
+    options:
+      corosync_transport: 'unicast'
+      nagios_servicegroups: neutron
+    annotations:
+      gui-x: '550'
+      gui-y: '1350'
+
+  percona-hacluster:
+    charm: cs:hacluster
+    series: *series
+    options:
+      corosync_transport: 'unicast'
+      nagios_servicegroups: database
+    annotations:
+      gui-x: '1300'
+      gui-y: '800'
+
+# Nagios
+  nagios-server:
+    charm: cs:nagios
+    series: *series
+    options:
+      monitor_self: true
+
+  nrpe-controller:
+    charm: cs:nrpe
+    series: *series
+    options:
+      swap: '-w 40% -c 25% -n ok'
+
+  nrpe-cinder:
+    charm: cs:nrpe
+    series: *series
+    options:
+      swap: '-w 40% -c 25% -n ok'
+
+  nrpe-glance:
+    charm: cs:nrpe
+    series: *series
+    options:
+      swap: '-w 40% -c 25% -n ok'
+
+  nrpe-cephmon:
+    charm: cs:nrpe
+    series: *series
+    options:
+      swap: '-w 40% -c 25% -n ok'
+
+  nrpe-cephosd:
+    charm: cs:nrpe
+    series: *series
+    options:
+      swap: '-w 40% -c 25% -n ok'
+
+  nrpe-radosgw:
+    charm: cs:nrpe
+    series: *series
+    options:
+      swap: '-w 40% -c 25% -n ok'
+
+  nrpe-keystone:
+    charm: cs:nrpe
+    series: *series
+    options:
+      swap: '-w 40% -c 25% -n ok'
+
+  nrpe-dashboard:
+    charm: cs:nrpe
+    series: *series
+    options:
+      swap: '-w 40% -c 25% -n ok'
+
+  nrpe-neutron:
+    charm: cs:nrpe
+    series: *series
+    options:
+      swap: '-w 40% -c 25% -n ok'
+
+  nrpe-neutrongw:
+    charm: cs:nrpe
+    series: *series
+    options:
+      swap: '-w 40% -c 25% -n ok'
+
+  nrpe-nova:
+    charm: cs:nrpe
+    series: *series
+    options:
+      swap: '-w 40% -c 25% -n ok'
+
+  nrpe-novacompute:
+    charm: cs:nrpe
+    series: *series
+    options:
+      swap: '-w 40% -c 25% -n ok'
+
+  nrpe-percona:
+    charm: cs:nrpe
+    series: *series
+    options:
+      swap: '-w 40% -c 25% -n ok'
+
+  nrpe-rabbitmq:
+    charm: cs:nrpe
+    series: *series
+    options:
+      swap: '-w 40% -c 25% -n ok'
+
+  nrpe-memcache:
+    charm: cs:nrpe
+    series: *series
+    options:
+      swap: '-w 40% -c 25% -n ok'
+
+  rabbitmq-server:
+    charm: cs:rabbitmq-server
+    series: *series
+    options:
+      min-cluster-size: 1
+      cluster-partition-handling: pause_minority
+      management_plugin: True
+      nagios_servicegroups: messaging
+      use-syslog: True
+    annotations:
+      gui-x: '400'
+      gui-y: '800'
+
+  percona-cluster:
+    charm: cs:percona-cluster
+    series: *series
+    options:
+      min-cluster-size: 2
+      innodb-buffer-pool-size: 10G
+      max-connections: 30000
+      nagios_servicegroups: database
+    annotations:
+      gui-x: '1000'
+      gui-y: '800'
+
+  keystone:
+    charm: cs:keystone
+    series: *series
+    options:
+      openstack-origin: *openstack_origin
+      action-managed-upgrade: True
+      debug: 'False'
+      verbose: 'False'
+      admin-user: admin
+      nagios_servicegroups: keystone
+      worker-multiplier: *worker_multiplier
+      preferred-api-version: *preferred_api_version
+      use-syslog: True
+    annotations:
+      gui-x: '500'
+      gui-y: '500'
+
+  openstack-dashboard:
+    charm: cs:openstack-dashboard
+    series: *series
+    options:
+      openstack-origin: *openstack_origin
+      action-managed-upgrade: True
+      debug: 'False'
+      endpoint-type: internalURL,publicURL
+      nagios_servicegroups: dashboard,web
+      use-syslog: True
+      webroot: '/'
+    annotations:
+      gui-x: '500'
+      gui-y: '0'
+
+  nova-compute:
+    charm: cs:nova-compute
+    series: *series
+    options:
+      openstack-origin: *openstack_origin
+      action-managed-upgrade: True
+      debug: 'False'
+      verbose: 'False'
+      config-flags: *nova_compute_config_flags
+      cpu-mode: *cpu-mode
+      enable-live-migration: True
+      enable-resize: True
+      migration-auth-type: ssh
+      libvirt-image-backend: *libvirt_image_backend
+      rbd-pool: *rbd_pool
+      nagios_servicegroups: nova,compute
+      use-internal-endpoints: True
+      enable-resize: True
+      enable-live-migration: True
+    annotations:
+      gui-x: '0'
+      gui-y: '200'
+
+  nova-cloud-controller:
+    charm: cs:nova-cloud-controller
+    series: *series
+    options:
+      openstack-origin: *openstack_origin
+      action-managed-upgrade: True
+      debug: 'False'
+      verbose: 'False'
+      console-access-protocol: 'vnc'
+      nagios_servicegroups: nova,compute
+      network-manager: neutron
+      cpu-allocation-ratio: *cpu_allocation_ratio
+      ram-allocation-ratio: *ram_allocation_ratio
+      service-guard: True
+      use-internal-endpoints: True
+      worker-multiplier: *worker_multiplier
+    annotations:
+      gui-x: '0'
+      gui-y: '450'
+
+  neutron-api:
+    charm: cs:neutron-api
+    series: *series
+    options:
+      openstack-origin: *openstack_origin
+      action-managed-upgrade: True
+      debug: 'False'
+      verbose: 'False'
+      enable-ml2-port-security: True
+      flat-network-providers: *flat_network_providers
+      nagios_servicegroups: neutron
+      neutron-security-groups: True
+      network-device-mtu: *network_device_mtu
+      use-internal-endpoints: True
+      use-syslog: True
+      worker-multiplier: *worker_multiplier
+      neutron-external-network: *neutron_external_network
+      enable-dvr: *dvr_mode
+      enable-ml2-dns: *enable_ml2_dns
+      dns-domain: *dns_domain
+    annotations:
+      gui-x: '500'
+      gui-y: '1100'
+
+  neutron-openvswitch:
+    charm: cs:neutron-openvswitch
+    series: *series
+    options:
+      debug: 'False'
+      verbose: 'False'
+      disable-security-groups: False
+      flat-network-providers: *flat_network_providers
+      use-syslog: True
+      enable-local-dhcp-and-metadata: *enable_local_dhcp_and_metadata
+    annotations:
+      gui-x: '1100'
+      gui-y: '1100'
+
+  cinder:
+    charm: cs:cinder
+    series: *series
+    options:
+      openstack-origin: *openstack_origin
+      action-managed-upgrade: True
+      block-device: None
+      glance-api-version: 2
+      nagios_servicegroups: ceph,block,storage
+      use-syslog: True
+      use-internal-endpoints: True
+      worker-multiplier: *worker_multiplier
+    annotations:
+      gui-x: '1000'
+      gui-y: '200'
+
+  cinder-ceph:
+    charm: cs:cinder-ceph
+    series: *series
+    options:
+      restrict-ceph-pools: True
+      ceph-osd-replication-count: *ceph_cinder_replication_count
+    annotations:
+      gui-x: '1330'
+      gui-y: '230'
+
+  ceph-mon:
+    charm: cs:ceph-mon
+    series: *series
+    options:
+      source: *openstack_origin
+      nagios_servicegroups: ceph,storage
+    annotations:
+      gui-x: '1200'
+      gui-y: '400'
+
+  ceph-osd:
+    charm: cs:ceph-osd
+    series: *series
+    options:
+      source: *openstack_origin
+      osd-devices: *ceph_osd_partition
+      nagios_servicegroups: ceph,storage
+      # osd-reformat: 'True'
+      osd-format: 'xfs'
+      use-syslog: True
+    annotations:
+      gui-x: '1400'
+      gui-y: '400'
+
+  ceph-radosgw:
+    charm: cs:ceph-radosgw
+    series: *series
+    options:
+      source: *openstack_origin
+      ceph-osd-replication-count: *ceph_radosgw_replication_count
+      config-flags: *ceph_radosgw_config_flags
+      rgw-buckets-pool-weight:  *ceph_radosgw_rgw_buckets_pool_weight
+      rgw-lightweight-pool-pg-num: *ceph_radosgw_lightweight_pool_pg_num
+      nagios_servicegroups: ceph,object,storage
+      restrict-ceph-pools: True
+      use-syslog: True
+    annotations:
+      "gui-x": "1000"
+      "gui-y": "0"
+
+  glance:
+    charm: cs:glance
+    series: *series
+    options:
+      openstack-origin: *openstack_origin
+      ceph-osd-replication-count: *ceph_glance_replication_count
+      action-managed-upgrade: True
+      debug: 'False'
+      verbose: 'False'
+      nagios_servicegroups: ceph,object,storage
+      use-internal-endpoints: True
+      use-syslog: True
+      restrict-ceph-pools: True
+    annotations:
+      gui-x: '1000'
+      gui-y: '400'
+
+  memcached:
+    charm: cs:memcached
+    series: *series    
+    options:
+      allow-ufw-ip6-softfail: True
+    annotations:
+      gui-x: '100'
+      gui-y: '800'
+
+  neutron-gateway:
+    charm: cs:neutron-gateway
+    series: *series
+    options:
+      openstack-origin: *openstack_origin
+      bridge-mappings: *bridge_mappings
+      action-managed-upgrade: True
+      # Lower instance MTU to fit GRE tunnel (without changing switch config etc)
+      instance-mtu: *instance_mtu
+      nagios_servicegroups: neutron
+    annotations:
+      gui-x: '0'
+      gui-y: '1100'
+
+  ceilometer:
+    charm: cs:ceilometer
+    series: *series
+    options:
+      openstack-origin: *openstack_origin
+      action-managed-upgrade: True
+      debug: False
+      verbose: False
+      event-time-to-live: *celiometer_event_time_to_live
+      metering-time-to-live: *celiometer_metering_time_to_live
+    annotations:
+      gui-x: '450'
+      gui-y: '-250'
+
+  ceilometer-agent:
+    charm: cs:ceilometer-agent
+    series: *series
+    annotations:
+      gui-x: '200'
+      gui-y: '-150'
+
+# ------------------------------------------------------------------------------
+relations:
+  - [ ntp, controller-host ]
+  - [ ntp, compute-host ]
+  - [ ntp, network-host ]
+  - [ percona-cluster, percona-hacluster ]
+  - [ cinder, cinder-hacluster ]
+  - [ glance, glance-hacluster ]
+  - [ keystone, keystone-hacluster ]
+  - [ neutron-api, neutron-api-hacluster ]
+  - [ nova-cloud-controller, controller-hacluster ]
+  - [ openstack-dashboard, horizon-hacluster ]
+  - [ keystone, percona-cluster ]
+  - [ neutron-api, percona-cluster ]
+  - [ neutron-api, rabbitmq-server ]
+  - [ neutron-api, nova-cloud-controller ]
+  - [ neutron-api, keystone ]
+  - [ neutron-openvswitch, rabbitmq-server ]
+  - [ neutron-openvswitch, neutron-api ]
+  - [ neutron-openvswitch, nova-compute ]
+  - [ nova-cloud-controller, memcached ]
+  - [ "nova-cloud-controller:shared-db", "percona-cluster:shared-db" ]
+  - [ "nova-cloud-controller:amqp", "rabbitmq-server:amqp" ]
+  - [ nova-cloud-controller, glance ]
+  - [ nova-cloud-controller, keystone ]
+  - [ nova-compute, nova-cloud-controller ]
+  - [ "nova-compute:amqp", "rabbitmq-server:amqp" ]
+  - [ nova-compute, glance ]
+  - [ glance, percona-cluster ]
+  - [ glance, keystone ]
+  - [ "glance:image-service", "cinder:image-service" ]
+  - [ "glance:amqp", "rabbitmq-server:amqp" ]
+  - [ cinder, percona-cluster ]
+  - [ cinder, rabbitmq-server ]
+  - [ cinder, nova-cloud-controller ]
+  - [ cinder, keystone ]
+  - [ "openstack-dashboard:identity-service", "keystone:identity-service" ]
+  - [ "neutron-gateway:amqp", "rabbitmq-server:amqp" ]
+  - [ "neutron-gateway:neutron-plugin-api", "neutron-api:neutron-plugin-api" ]
+  - [ "nova-cloud-controller:quantum-network-service", "neutron-gateway:quantum-network-service" ]
+  - [ "cinder-ceph:ceph-access", "nova-compute:ceph-access" ]
+  - [ "cinder-ceph:storage-backend", "cinder:storage-backend" ]
+# ceph
+  - [ "ceph-mon:client", "nova-compute:ceph" ]
+  - [ "ceph-mon:client", "cinder-ceph:ceph" ]
+  - [ "ceph-mon:client", "glance:ceph" ]
+  - [ "ceph-mon:radosgw", "ceph-radosgw:mon" ]
+  - [ "ceph-osd:mon", "ceph-mon:osd" ]
+# ceph-radosgw
+  - [ "ceph-radosgw:ha", "ceph-radosgw-hacluster:ha" ]
+  - [ "keystone:identity-service", "ceph-radosgw:identity-service" ]
+# default-gw
+  - [ "ceph-radosgw:juju-info", "defaultgw:juju-info" ]
+  - [ "keystone:juju-info", "defaultgw:juju-info" ]
+  - [ "openstack-dashboard:juju-info", "defaultgw:juju-info" ]
+  - [ "nova-cloud-controller:juju-info", "defaultgw:juju-info" ]
+  - [ "glance:juju-info", "defaultgw:juju-info" ]
+  - [ "cinder:juju-info", "defaultgw:juju-info" ]
+  - [ "neutron-api:juju-info", "defaultgw:juju-info" ]
+# nagios server
+  - [ "nagios-server:juju-info", "defaultgw:juju-info" ]
+# nagios controllers (physical)
+  - [ controller-host, nrpe-controller]
+  - [ "nrpe-controller:monitors", "nagios-server:monitors" ]
+# nagios ceph
+  - [ ceph-mon, nrpe-cephmon]
+  - [ "nrpe-cephmon:monitors", "nagios-server:monitors" ]
+  - [ ceph-osd, nrpe-cephosd]
+  - [ "nrpe-cephosd:monitors", "nagios-server:monitors" ]
+  - [ cinder, nrpe-cinder]
+  - [ cinder-hacluster, nrpe-cinder]
+  - [ "nrpe-cinder:monitors", "nagios-server:monitors" ]
+  - [ glance, nrpe-glance]
+  - [ glance-hacluster, nrpe-glance]
+  - [ "nrpe-glance:monitors", "nagios-server:monitors" ]
+  - [ ceph-radosgw, nrpe-radosgw]
+  - [ ceph-radosgw-hacluster, nrpe-radosgw]
+  - [ "nrpe-radosgw:monitors", "nagios-server:monitors" ]
+# nagios keystone
+  - [ keystone, nrpe-keystone]
+  - [ keystone-hacluster, nrpe-keystone]
+  - [ "nrpe-keystone:monitors", "nagios-server:monitors" ]
+# nagios horizon
+  - [ openstack-dashboard, nrpe-dashboard]
+  - [ horizon-hacluster, nrpe-dashboard]
+  - [ "nrpe-dashboard:monitors", "nagios-server:monitors" ]
+# nagios neutron
+  - [ neutron-api, nrpe-neutron]
+  - [ neutron-api-hacluster, nrpe-neutron]
+  - [ "nrpe-neutron:monitors", "nagios-server:monitors" ]
+  - [ network-host, nrpe-neutrongw]
+  - [ neutron-gateway, nrpe-neutrongw]
+  - [ "nrpe-neutrongw:monitors", "nagios-server:monitors" ]
+# nagios nova
+  - [ nova-cloud-controller, nrpe-nova]
+  - [ controller-hacluster, nrpe-nova]
+  - [ "nrpe-nova:monitors", "nagios-server:monitors" ]
+  - [ compute-host, nrpe-novacompute]
+  - [ nova-compute, nrpe-novacompute]
+  - [ "nrpe-novacompute:monitors", "nagios-server:monitors" ]
+# nagios percona
+  - [ percona-cluster, nrpe-percona]
+  - [ percona-hacluster, nrpe-percona]
+  - [ "nrpe-percona:monitors", "nagios-server:monitors" ]
+# nagios memcache
+  - [ "memcached:nrpe-external-master", "nrpe-memcache:nrpe-external-master" ]
+  - [ "nrpe-memcache:monitors", "nagios-server:monitors" ]
+# nagios rabbitmq
+  - [rabbitmq-server, nrpe-rabbitmq]
+  - [ "nrpe-rabbitmq:monitors", "nagios-server:monitors" ]
+# ceilometer
+  - [ "ceilometer:amqp", "rabbitmq-server:amqp" ]
+  - [ "ceilometer:identity-service", "keystone:identity-service" ]
+  - [ "ceilometer:identity-notifications", "keystone:identity-notifications" ]
+  - [ "ceilometer-agent:nova-ceilometer", "nova-compute:nova-ceilometer" ]
+  - [ "ceilometer:ceilometer-service", "ceilometer-agent:ceilometer-service" ]
+  - [ "ceilometer:juju-info", "defaultgw:juju-info" ]
+
diff --git a/bundles/openstack/bundle-openstack-cephproxy-base.yaml b/bundles/openstack/bundle-openstack-cephproxy-base.yaml
new file mode 100644
index 0000000000000000000000000000000000000000..45d5a8897d38ab48a7d81e9b02db0f968953a9d5
--- /dev/null
+++ b/bundles/openstack/bundle-openstack-cephproxy-base.yaml
@@ -0,0 +1,642 @@
+## Sample bundle for the deployment of OpenStack in a region of the
+## GARR Federated Cloud Platform.
+## This version connects to an external Ceph cluster via ceph-proxy charm.
+## This is the base bundle file, to be used in conjunction with an "overlay" file with custom parameters (passwords etc)
+
+## Deploy with the command:
+## juju deploy  --overlay ./bundle-openstack-ceph-overlay.yaml ./bundle-openstack-ceph-base.yaml 
+
+
+parameters:
+
+  # sources
+  #openstack-origin: &openstack_origin   cloud:xenial-queens
+  #series: &series  xenial
+  #dashboard-series: &dashboard_series xenial
+
+  openstack-origin: &openstack_origin   distro
+  series: &series  bionic
+  dashboard-series: &dashboard_series bionic
+
+  # Ceph configs
+  ceph-radosgw-lightweight-pool-pg-num:  &ceph_radosgw_lightweight_pool_pg_num  8
+  ceph-radosgw-rgw-buckets-pool-weight:  &ceph_radosgw_rgw_buckets_pool_weight  5
+  ceph-radosgw-config-flags:  &ceph_radosgw_config_flags
+
+  ceph-cinder-replication-count: &ceph_cinder_replication_count  3
+  ceph-glance-replication-count: &ceph_glance_replication_count  3
+  ceph-radosgw-replication-count: &ceph_radosgw_replication_count  3
+
+  # network defaults:
+  flat-network-providers: &flat_network_providers  ext_net
+  neutron-external-network: &neutron_external_network ext_net
+  network-device-mtu: &network_device_mtu  9000
+  instance-mtu: &instance_mtu	8000
+  enable-dvr: &dvr-mode		False
+  vlan-ranges: &vlan_ranges	physnet-ovs:801:801
+  enable-local-dhcp-and-metadata: &enable_local_dhcp_and_metadata   True
+  enable-ml2-dns: &enable_ml2_dns True
+  dns-domain: &dns_domain garr.cloud.na.
+  enable-dvr: &dvr_mode		False
+
+  # Change as appropriate
+  bridge-mappings: &bridge_mappings             ext_net:br-ex
+
+  # keystone/dashboard
+  preferred-api-version: &preferred_api_version     3
+
+  # nova-compute
+  worker-multiplier: &worker_multiplier             '1.0'
+  cpu-allocation-ratio: &cpu_allocation_ratio       '2.0'
+  ram-allocation-ratio: &ram_allocation_ratio       '1.5'
+  n-c-config-flags: &nova_compute_config_flags    "block_device_allocate_retries=600,block_device_allocate_retries_interval=5"
+
+  hugepages: &hugepages    '5%'
+  libvirt-image-backend: &libvirt_image_backend 	rbd
+  rbd-pool: &rbd_pool cinder-ceph
+  cpu-mode: &cpu-mode
+
+# Ceilometer
+  event-time-to-live: &celiometer_event_time_to_live -1
+  metering-time-to-live: &celiometer_metering_time_to_live -1
+
+# ------------------------------------------------------------------------------
+
+machines:
+  '0':
+    series: *series
+  '1':
+    series: *series
+  '2':
+    series: *series
+  '3':
+    series: *series
+  '4':
+    series: *series
+
+# ----------------------------------------------------------------------
+
+applications:
+
+  controller-host:
+    charm: cs:ubuntu
+    series: *series
+    annotations:
+      gui-x: '2000'
+      gui-y: '0'
+
+  compute-host:
+    charm: cs:ubuntu
+    series: *series
+    annotations:
+      gui-x: '2000'
+      gui-y: '500'
+
+  network-host:
+    charm: cs:ubuntu
+    series: *series
+    annotations:
+      gui-x: '2000'
+      gui-y: '800'
+
+  ntp:
+    charm: cs:ntp
+    series: *series
+    annotations:
+      gui-x: '2200'
+      gui-y: '500'
+
+  defaultgw:
+    charm: cs:~csd-garr/defaultgw
+    series: *series
+    annotations:
+      gui-x: '800'
+      gui-y: '0'
+
+  ceph-radosgw-hacluster:
+    charm: cs:hacluster
+    series: *series
+    options:
+      corosync_transport: 'unicast'
+      nagios_servicegroups: ceph,object,storage
+    annotations:
+      gui-x: '1000'
+      gui-y: '-200'
+
+  cinder-hacluster:
+    charm: cs:hacluster
+    series: *series
+    options:
+      corosync_transport: 'unicast'
+      nagios_servicegroups: ceph,block,storage
+    annotations:
+      gui-x: '1250'
+      gui-y: '350'
+
+  controller-hacluster:
+    charm: cs:hacluster
+    series: *series
+    options:
+      corosync_transport: 'unicast'
+      nagios_servicegroups: nova,compute
+    annotations:
+      gui-x: '-200'
+      gui-y: '500'
+
+  glance-hacluster:
+    charm: cs:hacluster
+    series: *series
+    options:
+      corosync_transport: 'unicast'
+      nagios_servicegroups: ceph,object,storage
+    annotations:
+      gui-x: '1200'
+      gui-y: '600'
+
+  horizon-hacluster:
+    charm: cs:hacluster
+    series: *series
+    options:
+      corosync_transport: 'unicast'
+      nagios_servicegroups: dashboard,web
+    annotations:
+      gui-x: '250'
+      gui-y: '50'
+
+  keystone-hacluster:
+    charm: cs:hacluster
+    series: *series
+    options:
+      corosync_transport: 'unicast'
+      nagios_servicegroups: keystone
+    annotations:
+      gui-x: '350'
+      gui-y: '350'
+
+  neutron-api-hacluster:
+    charm: cs:hacluster
+    series: *series
+    options:
+      corosync_transport: 'unicast'
+      nagios_servicegroups: neutron
+    annotations:
+      gui-x: '550'
+      gui-y: '1350'
+
+  percona-hacluster:
+    charm: cs:hacluster
+    series: *series
+    options:
+      corosync_transport: 'unicast'
+      nagios_servicegroups: database
+    annotations:
+      gui-x: '1300'
+      gui-y: '800'
+
+# Nagios
+  nagios-server:
+    charm: cs:nagios
+    series: *series
+    options:
+      monitor_self: true
+
+  nrpe-controller:
+    charm: cs:nrpe
+    series: *series
+    options:
+      swap: '-w 40% -c 25% -n ok'
+
+  nrpe-cinder:
+    charm: cs:nrpe
+    series: *series
+    options:
+      swap: '-w 40% -c 25% -n ok'
+
+  nrpe-glance:
+    charm: cs:nrpe
+    series: *series
+    options:
+      swap: '-w 40% -c 25% -n ok'
+
+  nrpe-radosgw:
+    charm: cs:nrpe
+    series: *series
+    options:
+      swap: '-w 40% -c 25% -n ok'
+
+  nrpe-keystone:
+    charm: cs:nrpe
+    series: *series
+    options:
+      swap: '-w 40% -c 25% -n ok'
+
+  nrpe-dashboard:
+    charm: cs:nrpe
+    series: *series
+    options:
+      swap: '-w 40% -c 25% -n ok'
+
+  nrpe-neutron:
+    charm: cs:nrpe
+    series: *series
+    options:
+      swap: '-w 40% -c 25% -n ok'
+
+  nrpe-neutrongw:
+    charm: cs:nrpe
+    series: *series
+    options:
+      swap: '-w 40% -c 25% -n ok'
+
+  nrpe-nova:
+    charm: cs:nrpe
+    series: *series
+    options:
+      swap: '-w 40% -c 25% -n ok'
+
+  nrpe-novacompute:
+    charm: cs:nrpe
+    series: *series
+    options:
+      swap: '-w 40% -c 25% -n ok'
+
+  nrpe-percona:
+    charm: cs:nrpe
+    series: *series
+    options:
+      swap: '-w 40% -c 25% -n ok'
+
+  nrpe-rabbitmq:
+    charm: cs:nrpe
+    series: *series
+    options:
+      swap: '-w 40% -c 25% -n ok'
+
+  nrpe-memcache:
+    charm: cs:nrpe
+    series: *series
+    options:
+      swap: '-w 40% -c 25% -n ok'
+
+  rabbitmq-server:
+    charm: cs:rabbitmq-server
+    series: *series
+    options:
+      min-cluster-size: 1
+      cluster-partition-handling: pause_minority
+      management_plugin: True
+      nagios_servicegroups: messaging
+      use-syslog: True
+    annotations:
+      gui-x: '400'
+      gui-y: '800'
+
+  percona-cluster:
+    charm: cs:percona-cluster
+    series: *series
+    options:
+      min-cluster-size: 2
+      innodb-buffer-pool-size: 10G
+      max-connections: 30000
+      nagios_servicegroups: database
+    annotations:
+      gui-x: '1000'
+      gui-y: '800'
+
+  keystone:
+    charm: cs:keystone
+    series: *series
+    options:
+      openstack-origin: *openstack_origin
+      action-managed-upgrade: True
+      debug: 'False'
+      verbose: 'False'
+      admin-user: admin
+      nagios_servicegroups: keystone
+      worker-multiplier: *worker_multiplier
+      preferred-api-version: *preferred_api_version
+      use-syslog: True
+    annotations:
+      gui-x: '500'
+      gui-y: '500'
+
+  openstack-dashboard:
+    charm: cs:openstack-dashboard
+    series: *series
+    options:
+      openstack-origin: *openstack_origin
+      action-managed-upgrade: True
+      debug: 'False'
+      endpoint-type: internalURL,publicURL
+      nagios_servicegroups: dashboard,web
+      use-syslog: True
+      webroot: '/'
+    annotations:
+      gui-x: '500'
+      gui-y: '0'
+
+  nova-compute:
+    charm: cs:nova-compute
+    series: *series
+    options:
+      openstack-origin: *openstack_origin
+      action-managed-upgrade: True
+      debug: 'False'
+      verbose: 'False'
+      config-flags: *nova_compute_config_flags
+      cpu-mode: *cpu-mode
+      enable-live-migration: True
+      enable-resize: True
+      migration-auth-type: ssh
+      libvirt-image-backend: *libvirt_image_backend
+      rbd-pool: *rbd_pool
+      nagios_servicegroups: nova,compute
+      use-internal-endpoints: True
+      enable-resize: True
+      enable-live-migration: True
+    annotations:
+      gui-x: '0'
+      gui-y: '200'
+
+  nova-cloud-controller:
+    charm: cs:nova-cloud-controller
+    series: *series
+    options:
+      openstack-origin: *openstack_origin
+      action-managed-upgrade: True
+      debug: 'False'
+      verbose: 'False'
+      console-access-protocol: 'vnc'
+      nagios_servicegroups: nova,compute
+      network-manager: neutron
+      cpu-allocation-ratio: *cpu_allocation_ratio
+      ram-allocation-ratio: *ram_allocation_ratio
+      service-guard: True
+      use-internal-endpoints: True
+      worker-multiplier: *worker_multiplier
+    annotations:
+      gui-x: '0'
+      gui-y: '450'
+
+  neutron-api:
+    charm: cs:neutron-api
+    series: *series
+    options:
+      openstack-origin: *openstack_origin
+      action-managed-upgrade: True
+      debug: 'False'
+      verbose: 'False'
+      enable-ml2-port-security: True
+      flat-network-providers: *flat_network_providers
+      nagios_servicegroups: neutron
+      neutron-security-groups: True
+      network-device-mtu: *network_device_mtu
+      use-internal-endpoints: True
+      use-syslog: True
+      worker-multiplier: *worker_multiplier
+      neutron-external-network: *neutron_external_network
+      enable-dvr: *dvr_mode
+      enable-ml2-dns: *enable_ml2_dns
+      dns-domain: *dns_domain
+    annotations:
+      gui-x: '500'
+      gui-y: '1100'
+
+  neutron-openvswitch:
+    charm: cs:neutron-openvswitch
+    series: *series
+    options:
+      debug: 'False'
+      verbose: 'False'
+      disable-security-groups: False
+      flat-network-providers: *flat_network_providers
+      use-syslog: True
+      enable-local-dhcp-and-metadata: *enable_local_dhcp_and_metadata
+    annotations:
+      gui-x: '1100'
+      gui-y: '1100'
+
+  cinder:
+    charm: cs:cinder
+    series: *series
+    options:
+      openstack-origin: *openstack_origin
+      action-managed-upgrade: True
+      block-device: None
+      glance-api-version: 2
+      nagios_servicegroups: ceph,block,storage
+      use-syslog: True
+      use-internal-endpoints: True
+      worker-multiplier: *worker_multiplier
+    annotations:
+      gui-x: '1000'
+      gui-y: '200'
+
+  cinder-ceph:
+    charm: cs:cinder-ceph
+    series: *series
+    options:
+      restrict-ceph-pools: True
+      ceph-osd-replication-count: *ceph_cinder_replication_count
+    annotations:
+      gui-x: '1330'
+      gui-y: '230'
+
+  ceph-proxy:
+    charm: cs:ceph-proxy
+    series: *series
+    options:
+      source: *openstack_origin
+    annotations:
+      gui-x: '1300'
+      gui-y: '0'
+
+  ceph-radosgw:
+    charm: cs:ceph-radosgw
+    series: *series
+    options:
+      source: *openstack_origin
+      ceph-osd-replication-count: *ceph_radosgw_replication_count
+      config-flags: *ceph_radosgw_config_flags
+      rgw-buckets-pool-weight:  *ceph_radosgw_rgw_buckets_pool_weight
+      rgw-lightweight-pool-pg-num: *ceph_radosgw_lightweight_pool_pg_num
+      nagios_servicegroups: ceph,object,storage
+      restrict-ceph-pools: True
+      use-syslog: True
+    annotations:
+      "gui-x": "1000"
+      "gui-y": "0"
+
+  glance:
+    charm: cs:glance
+    series: *series
+    options:
+      openstack-origin: *openstack_origin
+      ceph-osd-replication-count: *ceph_glance_replication_count
+      action-managed-upgrade: True
+      debug: 'False'
+      verbose: 'False'
+      nagios_servicegroups: ceph,object,storage
+      use-internal-endpoints: True
+      use-syslog: True
+      restrict-ceph-pools: True
+    annotations:
+      gui-x: '1000'
+      gui-y: '400'
+
+  memcached:
+    charm: cs:memcached
+    series: *series    
+    options:
+      allow-ufw-ip6-softfail: True
+    annotations:
+      gui-x: '100'
+      gui-y: '800'
+
+  neutron-gateway:
+    charm: cs:neutron-gateway
+    series: *series
+    options:
+      openstack-origin: *openstack_origin
+      bridge-mappings: *bridge_mappings
+      action-managed-upgrade: True
+      # Lower instance MTU to fit GRE tunnel (without changing switch config etc)
+      instance-mtu: *instance_mtu
+      nagios_servicegroups: neutron
+    annotations:
+      gui-x: '0'
+      gui-y: '1100'
+
+  ceilometer:
+    charm: cs:ceilometer
+    series: *series
+    options:
+      openstack-origin: *openstack_origin
+      action-managed-upgrade: True
+      debug: False
+      verbose: False
+      event-time-to-live: *celiometer_event_time_to_live
+      metering-time-to-live: *celiometer_metering_time_to_live
+    annotations:
+      gui-x: '450'
+      gui-y: '-250'
+
+  ceilometer-agent:
+    charm: cs:ceilometer-agent
+    series: *series
+    annotations:
+      gui-x: '200'
+      gui-y: '-150'
+
+# ------------------------------------------------------------------------------
+relations:
+  - [ ntp, controller-host ]
+  - [ ntp, compute-host ]
+  - [ ntp, network-host ]
+  - [ percona-cluster, percona-hacluster ]
+  - [ cinder, cinder-hacluster ]
+  - [ glance, glance-hacluster ]
+  - [ keystone, keystone-hacluster ]
+  - [ neutron-api, neutron-api-hacluster ]
+  - [ nova-cloud-controller, controller-hacluster ]
+  - [ openstack-dashboard, horizon-hacluster ]
+  - [ keystone, percona-cluster ]
+  - [ neutron-api, percona-cluster ]
+  - [ neutron-api, rabbitmq-server ]
+  - [ neutron-api, nova-cloud-controller ]
+  - [ neutron-api, keystone ]
+  - [ neutron-openvswitch, rabbitmq-server ]
+  - [ neutron-openvswitch, neutron-api ]
+  - [ neutron-openvswitch, nova-compute ]
+  - [ nova-cloud-controller, memcached ]
+  - [ "nova-cloud-controller:shared-db", "percona-cluster:shared-db" ]
+  - [ "nova-cloud-controller:amqp", "rabbitmq-server:amqp" ]
+  - [ nova-cloud-controller, glance ]
+  - [ nova-cloud-controller, keystone ]
+  - [ nova-compute, nova-cloud-controller ]
+  - [ "nova-compute:amqp", "rabbitmq-server:amqp" ]
+  - [ nova-compute, glance ]
+  - [ glance, percona-cluster ]
+  - [ glance, keystone ]
+  - [ "glance:image-service", "cinder:image-service" ]
+  - [ "glance:amqp", "rabbitmq-server:amqp" ]
+  - [ cinder, percona-cluster ]
+  - [ cinder, rabbitmq-server ]
+  - [ cinder, nova-cloud-controller ]
+  - [ cinder, keystone ]
+  - [ "openstack-dashboard:identity-service", "keystone:identity-service" ]
+  - [ "neutron-gateway:amqp", "rabbitmq-server:amqp" ]
+  - [ "neutron-gateway:neutron-plugin-api", "neutron-api:neutron-plugin-api" ]
+  - [ "nova-cloud-controller:quantum-network-service", "neutron-gateway:quantum-network-service" ]
+  - [ "cinder-ceph:ceph-access", "nova-compute:ceph-access" ]
+  - [ "ceph-proxy:client", "nova-compute:ceph" ]
+  - [ "ceph-proxy:client", "cinder-ceph:ceph" ]
+  - [ "cinder-ceph:storage-backend", "cinder:storage-backend" ]
+  - [ "ceph-proxy:client", "glance:ceph" ]
+# ceph-radosgw
+  - [ "ceph-radosgw:ha", "ceph-radosgw-hacluster:ha" ]
+  - [ "keystone:identity-service", "ceph-radosgw:identity-service" ]
+  - [ "ceph-radosgw:mon", "ceph-proxy:radosgw" ]
+# default-gw
+  - [ "ceph-radosgw:juju-info", "defaultgw:juju-info" ]
+  - [ "keystone:juju-info", "defaultgw:juju-info" ]
+  - [ "openstack-dashboard:juju-info", "defaultgw:juju-info" ]
+  - [ "nova-cloud-controller:juju-info", "defaultgw:juju-info" ]
+  - [ "glance:juju-info", "defaultgw:juju-info" ]
+  - [ "cinder:juju-info", "defaultgw:juju-info" ]
+  - [ "neutron-api:juju-info", "defaultgw:juju-info" ]
+# nagios server
+  - [ "nagios-server:juju-info", "defaultgw:juju-info" ]
+# nagios controllers (physical)
+  - [ controller-host, nrpe-controller]
+  - [ "nrpe-controller:monitors", "nagios-server:monitors" ]
+# nagios ceph
+  - [ cinder, nrpe-cinder]
+  - [ cinder-hacluster, nrpe-cinder]
+  - [ "nrpe-cinder:monitors", "nagios-server:monitors" ]
+  - [ glance, nrpe-glance]
+  - [ glance-hacluster, nrpe-glance]
+  - [ "nrpe-glance:monitors", "nagios-server:monitors" ]
+  - [ ceph-radosgw, nrpe-radosgw]
+  - [ ceph-radosgw-hacluster, nrpe-radosgw]
+  - [ "nrpe-radosgw:monitors", "nagios-server:monitors" ]
+# nagios keystone
+  - [ keystone, nrpe-keystone]
+  - [ keystone-hacluster, nrpe-keystone]
+  - [ "nrpe-keystone:monitors", "nagios-server:monitors" ]
+# nagios horizon
+  - [ openstack-dashboard, nrpe-dashboard]
+  - [ horizon-hacluster, nrpe-dashboard]
+  - [ "nrpe-dashboard:monitors", "nagios-server:monitors" ]
+# nagios neutron
+  - [ neutron-api, nrpe-neutron]
+  - [ neutron-api-hacluster, nrpe-neutron]
+  - [ "nrpe-neutron:monitors", "nagios-server:monitors" ]
+  - [ network-host, nrpe-neutrongw]
+  - [ neutron-gateway, nrpe-neutrongw]
+  - [ "nrpe-neutrongw:monitors", "nagios-server:monitors" ]
+# nagios nova
+  - [ nova-cloud-controller, nrpe-nova]
+  - [ controller-hacluster, nrpe-nova]
+  - [ "nrpe-nova:monitors", "nagios-server:monitors" ]
+  - [ compute-host, nrpe-novacompute]
+  - [ nova-compute, nrpe-novacompute]
+  - [ "nrpe-novacompute:monitors", "nagios-server:monitors" ]
+# nagios percona
+  - [ percona-cluster, nrpe-percona]
+  - [ percona-hacluster, nrpe-percona]
+  - [ "nrpe-percona:monitors", "nagios-server:monitors" ]
+# nagios memcache
+  - [ "memcached:nrpe-external-master", "nrpe-memcache:nrpe-external-master" ]
+  - [ "nrpe-memcache:monitors", "nagios-server:monitors" ]
+# nagios rabbitmq
+  - [rabbitmq-server, nrpe-rabbitmq]
+  - [ "nrpe-rabbitmq:monitors", "nagios-server:monitors" ]
+# ceilometer
+  - [ "ceilometer:amqp", "rabbitmq-server:amqp" ]
+  - [ "ceilometer:identity-service", "keystone:identity-service" ]
+  - [ "ceilometer:identity-notifications", "keystone:identity-notifications" ]
+  - [ "ceilometer-agent:nova-ceilometer", "nova-compute:nova-ceilometer" ]
+  - [ "ceilometer:ceilometer-service", "ceilometer-agent:ceilometer-service" ]
+  - [ "ceilometer:juju-info", "defaultgw:juju-info" ]
+
diff --git a/bundles/openstack/bundle-config.yaml b/bundles/openstack/napoli/bundle-config.yaml
similarity index 100%
rename from bundles/openstack/bundle-config.yaml
rename to bundles/openstack/napoli/bundle-config.yaml
diff --git a/bundles/openstack/napoli/bundle-na-ceph-config.yaml b/bundles/openstack/napoli/bundle-na-ceph-config.yaml
new file mode 100644
index 0000000000000000000000000000000000000000..44ccb9e1372e31bd21568a54ac1c783205767019
--- /dev/null
+++ b/bundles/openstack/napoli/bundle-na-ceph-config.yaml
@@ -0,0 +1,389 @@
+## Specific configuration file for a cloud region.
+## Edit values within <...> to represent your region.
+## This version deploys a local Ceph cluster.
+## This is the bundle "overlay" file, to be used in conjunction with the bundle base file.
+
+## Deploy with the command:
+## juju deploy  --overlay ./bundle-openstack-ceph-overlay.yaml ./bundle-openstack-ceph-base.yaml 
+
+parameters:
+
+  # Region settings  
+  region: &region                               garr-na2-devel
+  source_ntp: &source_ntp             		ntp1.inrim.it
+ 
+  # Nagios
+  nagios_context: &nagios_context               na2-devel
+  nagios_admin_email: &nagios_admin_email       csd-support@garr.it
+  nagios_admin_pwd: &nagiosadmin_pwd            '123grid@G4rr'
+  nagios_readonly_pwd: &nagiosro_pwd            '123grid@G4rr'
+
+  ceph-radosgw-pool-prefix: &ceph_radosgw_pool_prefix    rgw-devel
+
+  # vips (number of VIPs should match number of different bindings)
+  vip-percona: &vip_percona             10.6.4.110
+  vip-ceilometer: &vip_ceilometer       10.6.4.111 90.147.153.111
+  vip-ceph-radosgw: &vip_ceph_radosgw   10.6.4.112 90.147.153.112
+  vip-cinder: &vip_cinder               10.6.4.113 90.147.153.113
+  vip-glance: &vip_glance               10.6.4.114 90.147.153.114
+  vip-dashboard: &vip_dashboard         10.6.4.115 90.147.153.115
+  vip-keystone: &vip_keystone           10.6.4.116 90.147.153.116
+  vip-neutron: &vip_neutron             10.6.4.117 90.147.153.117
+  vip-nova: &vip_nova_cloud_controller  10.6.4.118 90.147.153.118
+  console-proxy-ip: &console_proxy_ip              90.147.153.118
+  # This is the gateway for public VIPs
+  default_public_gateway: &default_public_gateway     90.147.153.1
+
+  # hostnames
+  os-public-hostname: &os_public_hostname      keystone.na2.garrservices.it
+  os-internal-hostname: &os_internal_hostname  keystone.na2.garrservices.it
+  # this one could be identical to internal-hostname
+  os-admin-hostname: &os_admin_hostname        keystone.na2.garrservices.it
+
+  # network setup: should be the same cross-sites
+  ### Use network-space-* in bindings unless os-admin-* is usable instead
+  network-space-default: &network_space_default	space-os-mgmt
+  network-space-pub: &network_space_pub		space-pub
+  network-space-os-data: &network_space_os_data	space-os-data
+  network-space-os-mgmt: &network_space_os_mgmt	space-os-mgmt
+
+  # Change as appropriate
+  data-port: &data_port				br-ex:bond0.401
+
+  # secrets and passwords:
+  root-password: &root_password  '123percona@G4rr'
+  sst-password:  &sst_password   '123percona@G4rr'
+  admin-password: &admin_password  'ADMIN_g4rrXpr0gr3ss'
+  secret_dashboard: &secret_dashboard   '123grid@G4rr'
+  #encryption-key: &encryption_key       <encryption_key>
+
+  # keystone/dashboard
+  admin-token: &admin_token  Eig5JeiX5aiphohgiech6aozegh7ahfe5volei5zie2riemienai4ye3eiv3wi
+
+# ------------------------------------------------------------------------------
+
+machines:
+  '0':
+    constraints: arch=amd64 tags=devel-na-net
+  '1':
+    constraints: arch=amd64 tags=devel-na-ctrl
+  '2':
+    constraints: arch=amd64 tags=devel-na-ctrl
+  '3':
+    constraints: arch=amd64 tags=devel-na-compute
+  '4':
+    constraints: arch=amd64 tags=devel-na-compute
+
+# ----------------------------------------------------------------------
+
+applications:
+
+  network-host:
+    charm: cs:ubuntu
+    bindings:
+      "": *network_space_default
+    num_units: 1
+    to:
+      - '0'
+
+  controller-host:
+    charm: cs:ubuntu
+    bindings:
+      "": *network_space_default
+    num_units: 2
+    to:
+      - '1'
+      - '2'
+
+  compute-host:
+    charm: cs:ubuntu
+    bindings:
+      "": *network_space_default
+    num_units: 2
+    to:
+      - '3'
+      - '4'
+
+  defaultgw:
+    charm: cs:~csd-garr/defaultgw
+    options:
+      gateway: *default_public_gateway
+
+  controller-hacluster:
+    charm: cs:hacluster
+    bindings:
+      "": *network_space_os_mgmt
+    options:
+      nagios_context: *nagios_context
+
+  glance-hacluster:
+    charm: cs:hacluster
+    bindings:
+      "": *network_space_os_mgmt
+    options:
+      nagios_context: *nagios_context
+
+  horizon-hacluster:
+    charm: cs:hacluster
+    bindings:
+      "": *network_space_os_mgmt
+    options:
+      nagios_context: *nagios_context
+
+  keystone-hacluster:
+    charm: cs:hacluster
+    bindings:
+      "": *network_space_os_mgmt
+    options:
+      nagios_context: *nagios_context
+
+  neutron-api-hacluster:
+    charm: cs:hacluster
+    bindings:
+      "": *network_space_os_mgmt
+    options:
+      nagios_context: *nagios_context
+
+  percona-hacluster:
+    charm: cs:hacluster
+    bindings:
+      "": *network_space_os_mgmt
+    options:
+      nagios_context: *nagios_context
+
+  ceph-radosgw-hacluster:
+    charm: cs:hacluster
+    options:
+      nagios_context: *nagios_context
+
+  nagios-server:
+    charm: cs:nagios
+    bindings:
+      "": *network_space_os_mgmt
+      website: *network_space_pub
+    num_units: 1
+    to:
+      - 'lxd:1'
+
+
+  rabbitmq-server:
+    charm: cs:rabbitmq-server
+    bindings:
+      "": *network_space_default
+    options:
+      nagios_context: *nagios_context
+    num_units: 3
+    to:
+      - 'lxd:2'
+      - 'lxd:1'
+
+  percona-cluster:
+    charm: cs:percona-cluster
+    bindings:
+      "": *network_space_default
+      shared-db: *network_space_os_mgmt
+      cluster: *network_space_os_mgmt
+    options:
+      nagios_context: *nagios_context
+      root-password: *root_password
+      sst-password: *sst_password
+      vip: *vip_percona
+    num_units: 3
+    to:
+      - 'lxd:1'
+      - 'lxd:2'
+
+  keystone:
+    charm: cs:keystone
+    bindings:
+      "": *network_space_default
+      public: *network_space_pub
+    options:
+      admin-password: *admin_password
+      admin-token: *admin_token
+      nagios_context: *nagios_context
+      os-public-hostname: *os_public_hostname
+      region: *region
+      vip: *vip_keystone
+    num_units: 3
+    to:
+      - 'lxd:2'
+      - 'lxd:1'
+
+  openstack-dashboard:
+    charm: cs:openstack-dashboard
+    bindings:
+      "": *network_space_default
+      website: *network_space_pub
+    options:
+      nagios_context: *nagios_context
+      secret: *secret_dashboard
+      vip: *vip_dashboard
+    num_units: 3
+    to:
+      - 'lxd:1'
+      - 'lxd:2'
+
+  nova-compute:
+    charm: cs:nova-compute
+    bindings:
+      "": *network_space_default
+    options:
+      nagios_context: *nagios_context
+    num_units: 2
+    to:
+      - '3'
+      - '4'
+
+  nova-cloud-controller:
+    charm: cs:nova-cloud-controller
+    bindings:
+      "": *network_space_default
+      public: *network_space_pub
+    options:
+      region: *region
+      nagios_context: *nagios_context
+      console-proxy-ip: *console_proxy_ip
+      vip: *vip_nova_cloud_controller
+    num_units: 3
+    to:
+      - 'lxd:1'
+      - 'lxd:2'
+
+  neutron-api:
+    charm: cs:neutron-api
+    bindings:
+      "": *network_space_default
+      public: *network_space_pub
+    options:
+      region: *region
+      nagios_context: *nagios_context
+      vip: *vip_neutron
+    num_units: 3
+    to:
+      - 'lxd:2'
+      - 'lxd:1'
+
+  neutron-openvswitch:
+    charm: cs:neutron-openvswitch
+    bindings:
+      "": *network_space_default
+
+  cinder:
+    charm: cs:cinder
+    bindings:
+      "": *network_space_default
+      public: *network_space_pub
+    options:
+      nagios_context: *nagios_context
+      region: *region
+      vip: *vip_cinder
+    num_units: 3
+    to:
+      - 'lxd:1'
+      - 'lxd:2'
+
+  cinder-ceph:
+    charm: cs:cinder-ceph
+    bindings:
+      "": *network_space_default
+    options:
+
+  ceph-mon:
+    charm: cs:ceph-mon
+    bindings:
+      "": *network_space_default
+      public: *network_space_os_mgmt
+    options:
+      nagios_context: *nagios_context
+    num_units: 3
+    to:
+      - 'lxd:0'
+      - 'lxd:1'
+      - 'lxd:1'
+    annotations:
+      gui-x: '1200'
+      gui-y: '400'
+
+  ceph-osd:
+    charm: cs:ceph-osd
+    series: *series
+    bindings:
+      "": *network_space_default
+      public: *network_space_os_mgmt
+      cluster: *network_space_os_data
+      mon: *network_space_os_mgmt
+    options:
+      nagios_context: *nagios_context
+    num_units: 2
+    to:
+      - '3'
+      - '4'
+    annotations:
+      gui-x: '1400'
+      gui-y: '400'
+
+  ceph-radosgw:
+    charm: cs:ceph-radosgw
+    bindings:
+      "": *network_space_default
+      public: *network_space_pub
+    options:
+      pool-prefix: *ceph_radosgw_pool_prefix
+      region: *region
+      vip: *vip_ceph_radosgw
+      nagios_context: *nagios_context
+    num_units: 3
+    to:
+      - 'lxd:2'
+      - 'lxd:1'
+
+  glance:
+    charm: cs:glance
+    bindings:
+      "": *network_space_default
+      public: *network_space_pub
+    options:
+      region: *region
+      nagios_context: *nagios_context
+      vip: *vip_glance
+    num_units: 3
+    to:
+      - 'lxd:1'
+      - 'lxd:2'
+
+  memcached:
+    charm: cs:memcached
+    bindings:
+      "": *network_space_default
+    options:
+      nagios_context: *nagios_context
+    num_units: 3
+    to:
+      - 'lxd:2'
+      - 'lxd:1'
+
+
+  neutron-gateway:
+    charm: cs:neutron-gateway
+    bindings:
+      "": *network_space_default
+      data: *network_space_os_data
+    options:
+      data-port: *data_port
+      nagios_context: *nagios_context
+    num_units: 1
+    to:
+      - '0'
+
+  ceilometer:
+    charm: cs:ceilometer
+    bindings:
+      "": *network_space_default
+      public: *network_space_pub
+    options:
+      region: *region
+    num_units: 1
+    to:
+      - 'lxd:1'
+
diff --git a/bundles/openstack/napoli/bundle-na-cephproxy-config.yaml b/bundles/openstack/napoli/bundle-na-cephproxy-config.yaml
new file mode 100644
index 0000000000000000000000000000000000000000..31b884aed7c6e1eec565c3381fa2d9036b8ba370
--- /dev/null
+++ b/bundles/openstack/napoli/bundle-na-cephproxy-config.yaml
@@ -0,0 +1,376 @@
+## Specific configuration file for a cloud region.
+## Edit values within <...> to represent your region.
+## This version connects to an external Ceph cluster via ceph-proxy charm.
+## This is the bundle "overlay" file, to be used in conjunction with the bundle base file.
+
+## Deploy with the command:
+## juju deploy  --overlay ./bundle-openstack-ceph-overlay.yaml ./bundle-openstack-ceph-base.yaml 
+
+parameters:
+
+  # Region settings  
+  region: &region                               garr-na2-devel
+  source_ntp: &source_ntp             		ntp1.inrim.it
+ 
+  # Nagios
+  nagios_context: &nagios_context               na2-devel
+  nagios_admin_email: &nagios_admin_email       csd-support@garr.it
+  nagios_admin_pwd: &nagiosadmin_pwd            '123grid@G4rr'
+  nagios_readonly_pwd: &nagiosro_pwd            '123grid@G4rr'
+
+  #### Ceph configs
+  # local Ceph
+  #ceph-osd-partition: &ceph_osd_partition  "/dev/sdb" 
+
+  # Ceph proxy
+  ceph-proxy-admin-key: &ceph_proxy_admin_key AQAIc7lcZDfDBxAAku93E8t4R+wDZWsEe/yXBA==
+  ceph-proxy-fsid: &ceph_proxy_fsid 6a3ce468-2e7e-49b4-8136-233916037d94
+  ceph-proxy-monitor-hosts: &ceph_proxy_monitor_hosts "10.6.3.21"
+
+  ceph-radosgw-pool-prefix: &ceph_radosgw_pool_prefix    rgw-devel
+
+  # vips (number of VIPs should match number of different bindings)
+  vip-percona: &vip_percona             10.6.4.110
+  vip-ceilometer: &vip_ceilometer       10.6.4.111 90.147.153.111
+  vip-ceph-radosgw: &vip_ceph_radosgw   10.6.4.112 90.147.153.112
+  vip-cinder: &vip_cinder               10.6.4.113 90.147.153.113
+  vip-glance: &vip_glance               10.6.4.114 90.147.153.114
+  vip-dashboard: &vip_dashboard         10.6.4.115 90.147.153.115
+  vip-keystone: &vip_keystone           10.6.4.116 90.147.153.116
+  vip-neutron: &vip_neutron             10.6.4.117 90.147.153.117
+  vip-nova: &vip_nova_cloud_controller  10.6.4.118 90.147.153.118
+  console-proxy-ip: &console_proxy_ip              90.147.153.118
+  # This is the gateway for public VIPs
+  default_public_gateway: &default_public_gateway     90.147.153.1
+
+  # hostnames
+  os-public-hostname: &os_public_hostname      keystone.na2.garrservices.it
+  os-internal-hostname: &os_internal_hostname  keystone.na2.garrservices.it
+  # this one could be identical to internal-hostname
+  os-admin-hostname: &os_admin_hostname        keystone.na2.garrservices.it
+
+  # network setup: should be the same cross-sites
+  ### Use network-space-* in bindings unless os-admin-* is usable instead
+  network-space-default: &network_space_default	space-os-mgmt
+  network-space-pub: &network_space_pub		space-pub
+  network-space-os-data: &network_space_os_data	space-os-data
+  network-space-os-mgmt: &network_space_os_mgmt	space-os-mgmt
+
+  # Change as appropriate
+  data-port: &data_port				br-ex:bond0.401
+
+  # secrets and passwords:
+  root-password: &root_password  '123percona@G4rr'
+  sst-password:  &sst_password   '123percona@G4rr'
+  admin-password: &admin_password  'ADMIN_g4rrXpr0gr3ss'
+  secret_dashboard: &secret_dashboard   '123grid@G4rr'
+  #encryption-key: &encryption_key       <encryption_key>
+
+  # keystone/dashboard
+  admin-token: &admin_token  Eig5JeiX5aiphohgiech6aozegh7ahfe5volei5zie2riemienai4ye3eiv3wi
+
+# ------------------------------------------------------------------------------
+
+machines:
+  '0':
+    constraints: arch=amd64 tags=devel-na-net
+  '1':
+    constraints: arch=amd64 tags=devel-na-ctrl
+  '2':
+    constraints: arch=amd64 tags=devel-na-ctrl
+  '3':
+    constraints: arch=amd64 tags=devel-na-compute
+  '4':
+    constraints: arch=amd64 tags=devel-na-compute
+
+# ----------------------------------------------------------------------
+
+applications:
+
+  network-host:
+    charm: cs:ubuntu
+    bindings:
+      "": *network_space_default
+    num_units: 1
+    to:
+      - '0'
+
+  controller-host:
+    charm: cs:ubuntu
+    bindings:
+      "": *network_space_default
+    num_units: 2
+    to:
+      - '1'
+      - '2'
+
+  compute-host:
+    charm: cs:ubuntu
+    bindings:
+      "": *network_space_default
+    num_units: 2
+    to:
+      - '3'
+      - '4'
+
+  defaultgw:
+    charm: cs:~csd-garr/defaultgw
+    options:
+      gateway: *default_public_gateway
+
+  controller-hacluster:
+    charm: cs:hacluster
+    bindings:
+      "": *network_space_os_mgmt
+    options:
+      nagios_context: *nagios_context
+
+  glance-hacluster:
+    charm: cs:hacluster
+    bindings:
+      "": *network_space_os_mgmt
+    options:
+      nagios_context: *nagios_context
+
+  horizon-hacluster:
+    charm: cs:hacluster
+    bindings:
+      "": *network_space_os_mgmt
+    options:
+      nagios_context: *nagios_context
+
+  keystone-hacluster:
+    charm: cs:hacluster
+    bindings:
+      "": *network_space_os_mgmt
+    options:
+      nagios_context: *nagios_context
+
+  neutron-api-hacluster:
+    charm: cs:hacluster
+    bindings:
+      "": *network_space_os_mgmt
+    options:
+      nagios_context: *nagios_context
+
+  percona-hacluster:
+    charm: cs:hacluster
+    bindings:
+      "": *network_space_os_mgmt
+    options:
+      nagios_context: *nagios_context
+
+  ceph-radosgw-hacluster:
+    charm: cs:hacluster
+    options:
+      nagios_context: *nagios_context
+
+  nagios-server:
+    charm: cs:nagios
+    bindings:
+      "": *network_space_os_mgmt
+      website: *network_space_pub
+    num_units: 1
+    to:
+      - 'lxd:1'
+
+
+  rabbitmq-server:
+    charm: cs:rabbitmq-server
+    bindings:
+      "": *network_space_default
+    options:
+      nagios_context: *nagios_context
+    num_units: 3
+    to:
+      - 'lxd:2'
+      - 'lxd:1'
+
+  percona-cluster:
+    charm: cs:percona-cluster
+    bindings:
+      "": *network_space_default
+      shared-db: *network_space_os_mgmt
+      cluster: *network_space_os_mgmt
+    options:
+      nagios_context: *nagios_context
+      root-password: *root_password
+      sst-password: *sst_password
+      vip: *vip_percona
+    num_units: 3
+    to:
+      - 'lxd:1'
+      - 'lxd:2'
+
+  keystone:
+    charm: cs:keystone
+    bindings:
+      "": *network_space_default
+      public: *network_space_pub
+    options:
+      admin-password: *admin_password
+      admin-token: *admin_token
+      nagios_context: *nagios_context
+      os-public-hostname: *os_public_hostname
+      region: *region
+      vip: *vip_keystone
+    num_units: 3
+    to:
+      - 'lxd:2'
+      - 'lxd:1'
+
+  openstack-dashboard:
+    charm: cs:openstack-dashboard
+    bindings:
+      "": *network_space_default
+      website: *network_space_pub
+    options:
+      nagios_context: *nagios_context
+      secret: *secret_dashboard
+      vip: *vip_dashboard
+    num_units: 3
+    to:
+      - 'lxd:1'
+      - 'lxd:2'
+
+  nova-compute:
+    charm: cs:nova-compute
+    bindings:
+      "": *network_space_default
+    options:
+      nagios_context: *nagios_context
+    num_units: 2
+    to:
+      - '3'
+      - '4'
+
+  nova-cloud-controller:
+    charm: cs:nova-cloud-controller
+    bindings:
+      "": *network_space_default
+      public: *network_space_pub
+    options:
+      region: *region
+      nagios_context: *nagios_context
+      console-proxy-ip: *console_proxy_ip
+      vip: *vip_nova_cloud_controller
+    num_units: 3
+    to:
+      - 'lxd:1'
+      - 'lxd:2'
+
+  neutron-api:
+    charm: cs:neutron-api
+    bindings:
+      "": *network_space_default
+      public: *network_space_pub
+    options:
+      region: *region
+      nagios_context: *nagios_context
+      vip: *vip_neutron
+    num_units: 3
+    to:
+      - 'lxd:2'
+      - 'lxd:1'
+
+  neutron-openvswitch:
+    charm: cs:neutron-openvswitch
+    bindings:
+      "": *network_space_default
+
+  cinder:
+    charm: cs:cinder
+    bindings:
+      "": *network_space_default
+      public: *network_space_pub
+    options:
+      nagios_context: *nagios_context
+      region: *region
+      vip: *vip_cinder
+    num_units: 3
+    to:
+      - 'lxd:1'
+      - 'lxd:2'
+
+  cinder-ceph:
+    charm: cs:cinder-ceph
+    bindings:
+      "": *network_space_default
+    options:
+
+  ceph-proxy:
+    charm: cs:ceph-proxy
+    bindings:
+      "": *network_space_default
+    options:
+      admin-key: *ceph_proxy_admin_key
+      fsid: *ceph_proxy_fsid
+      monitor-hosts: *ceph_proxy_monitor_hosts
+    num_units: 1
+    to:
+      - 'lxd:1'
+
+  ceph-radosgw:
+    charm: cs:ceph-radosgw
+    bindings:
+      "": *network_space_default
+      public: *network_space_pub
+    options:
+      pool-prefix: *ceph_radosgw_pool_prefix
+      region: *region
+      vip: *vip_ceph_radosgw
+      nagios_context: *nagios_context
+    num_units: 3
+    to:
+      - 'lxd:2'
+      - 'lxd:1'
+
+  glance:
+    charm: cs:glance
+    bindings:
+      "": *network_space_default
+      public: *network_space_pub
+    options:
+      region: *region
+      nagios_context: *nagios_context
+      vip: *vip_glance
+    num_units: 3
+    to:
+      - 'lxd:1'
+      - 'lxd:2'
+
+  memcached:
+    charm: cs:memcached
+    bindings:
+      "": *network_space_default
+    options:
+      nagios_context: *nagios_context
+    num_units: 3
+    to:
+      - 'lxd:2'
+      - 'lxd:1'
+
+
+  neutron-gateway:
+    charm: cs:neutron-gateway
+    bindings:
+      "": *network_space_default
+      data: *network_space_os_data
+    options:
+      data-port: *data_port
+      nagios_context: *nagios_context
+    num_units: 1
+    to:
+      - '0'
+
+  ceilometer:
+    charm: cs:ceilometer
+    bindings:
+      "": *network_space_default
+      public: *network_space_pub
+    options:
+      region: *region
+    num_units: 1
+    to:
+      - 'lxd:1'
+
diff --git a/bundles/openstack/napoli/bundle-na-cephproxy-defaults.yaml b/bundles/openstack/napoli/bundle-na-cephproxy-defaults.yaml
new file mode 100644
index 0000000000000000000000000000000000000000..969cd866c68738d1eaf36f2ef4d62fafb1e506ba
--- /dev/null
+++ b/bundles/openstack/napoli/bundle-na-cephproxy-defaults.yaml
@@ -0,0 +1,789 @@
+## Sample bundle for the deployment of OpenStack in a region of the
+## GARR Federated Cloud Platform.
+
+defaults:
+
+  # Ceph configs
+  ceph-radosgw-lightweight-pool-pg-num:  &ceph_radosgw_lightweight_pool_pg_num  8
+  ceph-radosgw-rgw-buckets-pool-weight:  &ceph_radosgw_rgw_buckets_pool_weight  5
+  ceph-radosgw-config-flags:  &ceph_radosgw_config_flags
+
+  ceph-cinder-replication-count: &ceph_cinder_replication_count  3
+  ceph-glance-replication-count: &ceph_glance_replication_count  3
+  ceph-radosgw-replication-count: &ceph_radosgw_replication_count  3
+
+  # network defaults:
+  flat-network-providers: &flat_network_providers  ext_net
+  neutron-external-network: &neutron_external_network ext_net
+  network-device-mtu: &network_device_mtu  1500
+  instance-mtu: &instance_mtu	1400
+  enable-dvr: &dvr-mode		False
+  vlan-ranges: &vlan_ranges	physnet-ovs:801:801
+  enable-local-dhcp-and-metadata: &enable_local_dhcp_and_metadata   True
+
+  # keystone/dashboard
+  preferred-api-version: &preferred_api_version     3
+
+  # nova-compute
+  worker-multiplier: &worker_multiplier             '1.0'
+  cpu-allocation-ratio: &cpu_allocation_ratio       '2.0'
+  ram-allocation-ratio: &ram_allocation_ratio       '1.5'
+  n-c-config-flags: &nova_compute_config_flags    "block_device_allocate_retries=600,block_device_allocate_retries_interval=5"
+
+  hugepages: &hugepages    '5%'
+  libvirt-image-backend: &libvirt_image_backend 	rbd
+  rbd-pool: &rbd_pool cinder-ceph
+  cpu-mode: &cpu-mode
+
+# Ceilometer
+  event-time-to-live: &celiometer_event_time_to_live -1
+  metering-time-to-live: &celiometer_metering_time_to_live -1
+
+services:
+
+  controller-host:
+    charm: cs:ubuntu
+    series: *series
+    bindings:
+      "": *network_space_default
+    num_units: 2
+    to:
+      - '1'
+      - '2'
+    annotations:
+      gui-x: '2000'
+      gui-y: '0'
+
+  compute-host:
+    charm: cs:ubuntu
+    series: *series
+    bindings:
+      "": *network_space_default
+    num_units: 1
+    to:
+      - '3'
+    annotations:
+      gui-x: '2000'
+      gui-y: '500'
+
+  network-host:
+    charm: cs:ubuntu
+    series: *series
+    bindings:
+      "": *network_space_default
+    num_units: 1
+    to:
+      - '0'
+    annotations:
+      gui-x: '2000'
+      gui-y: '800'
+
+  ntp:
+    charm: cs:ntp
+    series: *series
+    options:
+      source: *source_ntp
+    annotations:
+      gui-x: '2200'
+      gui-y: '500'
+
+  defaultgw:
+    charm: cs:~csd-garr/defaultgw
+    options:
+      gateway: *default_public_gateway
+    annotations:
+      gui-x: '800'
+      gui-y: '0'
+
+  ceph-radosgw-hacluster:
+    charm: cs:hacluster
+    series: *series
+    options:
+      corosync_key: *corosync_key
+      nagios_context: *nagios_context
+      corosync_transport: 'unicast'
+      nagios_servicegroups: ceph,object,storage
+    annotations:
+      gui-x: '1000'
+      gui-y: '-200'
+
+  cinder-hacluster:
+    charm: cs:hacluster
+    series: *series
+    options:
+      corosync_key: *corosync_key
+      nagios_context: *nagios_context
+      corosync_transport: 'unicast'
+      nagios_servicegroups: ceph,block,storage
+    annotations:
+      gui-x: '1250'
+      gui-y: '350'
+
+  controller-hacluster:
+    charm: cs:hacluster
+    series: *series
+    bindings:
+      "": *network_space_os_mgmt
+    options:
+      corosync_key: *corosync_key
+      nagios_context: *nagios_context
+      corosync_transport: 'unicast'
+      nagios_servicegroups: nova,compute
+    annotations:
+      gui-x: '-200'
+      gui-y: '500'
+
+  glance-hacluster:
+    charm: cs:hacluster
+    series: *series
+    bindings:
+      "": *network_space_os_mgmt
+    options:
+      corosync_key: *corosync_key
+      nagios_context: *nagios_context
+      corosync_transport: 'unicast'
+      nagios_servicegroups: ceph,object,storage
+    annotations:
+      gui-x: '1200'
+      gui-y: '600'
+
+  horizon-hacluster:
+    charm: cs:hacluster
+    series: *series
+    bindings:
+      "": *network_space_os_mgmt
+    options:
+      corosync_key: *corosync_key
+      nagios_context: *nagios_context
+      corosync_transport: 'unicast'
+      nagios_servicegroups: dashboard,web
+    annotations:
+      gui-x: '250'
+      gui-y: '50'
+
+  keystone-hacluster:
+    charm: cs:hacluster
+    series: *series
+    bindings:
+      "": *network_space_os_mgmt
+    options:
+      corosync_key: *corosync_key
+      nagios_context: *nagios_context
+      corosync_transport: 'unicast'
+      nagios_servicegroups: keystone
+    annotations:
+      gui-x: '350'
+      gui-y: '350'
+
+  neutron-api-hacluster:
+    charm: cs:hacluster
+    series: *series
+    bindings:
+      "": *network_space_os_mgmt
+    options:
+      corosync_key: *corosync_key
+      nagios_context: *nagios_context
+      corosync_transport: 'unicast'
+      nagios_servicegroups: neutron
+    annotations:
+      gui-x: '550'
+      gui-y: '1350'
+
+  percona-hacluster:
+    charm: cs:hacluster
+    series: *series
+    bindings:
+      "": *network_space_os_mgmt
+    options:
+      corosync_key: *corosync_key
+      nagios_context: *nagios_context
+      corosync_transport: 'unicast'
+      nagios_servicegroups: database
+    annotations:
+      gui-x: '1300'
+      gui-y: '800'
+
+# Nagios
+  nagios-server:
+    charm: cs:nagios
+    series: *series
+    bindings:
+      "": *network_space_os_mgmt
+      website: *network_space_pub
+    num_units: 1
+    options:
+      admin_email: *nagios_admin_email
+      password: *nagiosadmin_pwd
+      ro-password: *nagiosro_pwd
+      monitor_self: true
+    to:
+      - 'lxd:2'
+  nrpe-controller:
+    charm: cs:nrpe
+    series: *series
+    options:
+      swap: '-w 40% -c 25% -n ok'
+  nrpe-cinder:
+    charm: cs:nrpe
+    series: *series
+    options:
+      swap: '-w 40% -c 25% -n ok'
+  nrpe-glance:
+    charm: cs:nrpe
+    series: *series
+    options:
+      swap: '-w 40% -c 25% -n ok'
+  nrpe-radosgw:
+    charm: cs:nrpe
+    series: *series
+    options:
+      swap: '-w 40% -c 25% -n ok'
+  nrpe-keystone:
+    charm: cs:nrpe
+    series: *series
+    options:
+      swap: '-w 40% -c 25% -n ok'
+  nrpe-dashboard:
+    charm: cs:nrpe
+    series: *series
+    options:
+      swap: '-w 40% -c 25% -n ok'
+  nrpe-neutron:
+    charm: cs:nrpe
+    series: *series
+    options:
+      swap: '-w 40% -c 25% -n ok'
+  nrpe-neutrongw:
+    charm: cs:nrpe
+    series: *series
+    options:
+      swap: '-w 40% -c 25% -n ok'
+  nrpe-nova:
+    charm: cs:nrpe
+    series: *series
+    options:
+      swap: '-w 40% -c 25% -n ok'
+  nrpe-novacompute:
+    charm: cs:nrpe
+    series: *series
+    options:
+      swap: '-w 40% -c 25% -n ok'
+  nrpe-percona:
+    charm: cs:nrpe
+    series: *series
+    options:
+      swap: '-w 40% -c 25% -n ok'
+  nrpe-rabbitmq:
+    charm: cs:nrpe
+    series: *series
+    options:
+      swap: '-w 40% -c 25% -n ok'
+  nrpe-memcache:
+    charm: cs:nrpe
+    series: *series
+    options:
+      swap: '-w 40% -c 25% -n ok'
+
+  rabbitmq-server:
+    charm: cs:rabbitmq-server
+    series: *series
+    bindings:
+      "": *network_space_default
+    num_units: 3
+    options:
+      access-network: *access_network
+      nagios_context: *nagios_context
+      min-cluster-size: 1
+      cluster-partition-handling: pause_minority
+      management_plugin: True
+      nagios_servicegroups: messaging
+      use-syslog: True
+    to:
+      - 'lxd:2'
+      - 'lxd:1'
+    annotations:
+      gui-x: '400'
+      gui-y: '800'
+
+  percona-cluster:
+    charm: cs:percona-cluster
+    series: *series
+    bindings:
+      "": *network_space_default
+      shared-db: *network_space_os_mgmt
+      cluster: *network_space_os_mgmt
+    num_units: 3
+    options:
+      nagios_context: *nagios_context
+      root-password: *root_password
+      sst-password: *sst_password
+      vip: *vip_percona
+      min-cluster-size: 2
+      innodb-buffer-pool-size: 10G
+      lp1366997-workaround: True
+      max-connections: 30000
+      nagios_servicegroups: database
+    to:
+      - 'lxd:1'
+      - 'lxd:2'
+    annotations:
+      gui-x: '1000'
+      gui-y: '800'
+
+  keystone:
+    charm: cs:keystone
+    series: *series
+    bindings:
+      "": *network_space_default
+      public: *network_space_pub
+    num_units: 3
+    options:
+      admin-password: *admin_password
+      admin-token: *admin_token
+      nagios_context: *nagios_context
+      openstack-origin: *openstack_origin
+      os-public-hostname: *os_public_hostname
+      action-managed-upgrade: True
+      debug: 'False'
+      verbose: 'False'
+      admin-user: admin
+      nagios_servicegroups: keystone
+      worker-multiplier: *worker_multiplier
+      preferred-api-version: *preferred_api_version
+      region: *region
+      use-syslog: True
+      vip: *vip_keystone
+    to:
+      - 'lxd:2'
+      - 'lxd:1'
+    annotations:
+      gui-x: '500'
+      gui-y: '500'
+
+  openstack-dashboard:
+    charm: cs:openstack-dashboard
+    series: *series
+    bindings:
+      "": *network_space_default
+      website: *network_space_pub
+    num_units: 3
+    options:
+      nagios_context: *nagios_context
+      secret: *secret_dashboard
+      vip: *vip_dashboard
+      openstack-origin: *openstack_origin
+      action-managed-upgrade: True
+      debug: 'False'
+      endpoint-type: internalURL,publicURL
+      nagios_servicegroups: dashboard,web
+      use-syslog: True
+      webroot: '/'
+    to:
+      - 'lxd:1'
+      - 'lxd:2'
+    annotations:
+      gui-x: '500'
+      gui-y: '0'
+
+  nova-compute:
+    charm: cs:nova-compute
+    series: *series
+    bindings:
+      "": *network_space_default
+    num_units: 1
+    options:
+      openstack-origin: *openstack_origin
+      nagios_context: *nagios_context
+      action-managed-upgrade: True
+      debug: 'False'
+      verbose: 'False'
+      config-flags: *nova_compute_config_flags
+      cpu-mode: *cpu-mode
+      enable-live-migration: True
+      enable-resize: True
+      migration-auth-type: ssh
+      libvirt-image-backend: *libvirt_image_backend
+      rbd-pool: *rbd_pool
+      nagios_servicegroups: nova,compute
+      use-internal-endpoints: True
+      enable-resize: True
+      enable-live-migration: True
+    to:
+      - '3'
+    annotations:
+      gui-x: '0'
+      gui-y: '200'
+
+  nova-cloud-controller:
+    charm: cs:nova-cloud-controller
+    series: *series
+    bindings:
+      "": *network_space_default
+      public: *network_space_pub
+    num_units: 3
+    options:
+      openstack-origin: *openstack_origin
+      action-managed-upgrade: True
+      debug: 'False'
+      verbose: 'False'
+      region: *region
+      console-access-protocol: 'vnc'
+      nagios_context: *nagios_context
+      nagios_servicegroups: nova,compute
+      network-manager: Neutron
+      cpu-allocation-ratio: *cpu_allocation_ratio
+      ram-allocation-ratio: *ram_allocation_ratio
+      service-guard: True
+      single-nova-consoleauth: False
+      use-internal-endpoints: True
+      worker-multiplier: *worker_multiplier
+      console-proxy-ip: *console_proxy_ip
+      vip: *vip_nova_cloud_controller
+
+    to:
+      - 'lxd:1'
+      - 'lxd:2'
+    annotations:
+      gui-x: '0'
+      gui-y: '450'
+
+  neutron-api:
+    charm: cs:neutron-api
+    series: *series
+    bindings:
+      "": *network_space_default
+      public: *network_space_pub
+    num_units: 3
+    options:
+      openstack-origin: *openstack_origin
+      action-managed-upgrade: True
+      debug: 'False'
+      verbose: 'False'
+      region: *region
+      enable-ml2-port-security: True
+      flat-network-providers: *flat_network_providers
+      nagios_context: *nagios_context
+      nagios_servicegroups: neutron
+      neutron-security-groups: True
+      network-device-mtu: *network_device_mtu
+      use-internal-endpoints: True
+      use-syslog: True
+      worker-multiplier: *worker_multiplier
+      neutron-external-network: *neutron_external_network
+      enable-dvr: *dvr_mode
+      enable-ml2-dns: *enable_ml2_dns
+      dns-domain: *dns_domain
+      vip: *vip_neutron
+    to:
+      - 'lxd:2'
+      - 'lxd:1'
+    annotations:
+      gui-x: '500'
+      gui-y: '1100'
+
+  neutron-openvswitch:
+    charm: cs:neutron-openvswitch
+    series: *series
+    bindings:
+      "": *network_space_default
+    options:
+      debug: 'False'
+      verbose: 'False'
+      disable-security-groups: False
+      flat-network-providers: *flat_network_providers
+      use-syslog: True
+      enable-local-dhcp-and-metadata: *enable_local_dhcp_and_metadata
+    annotations:
+      gui-x: '1100'
+      gui-y: '1100'
+
+  cinder:
+    charm: cs:cinder
+    series: *series
+    bindings:
+      "": *network_space_default
+      public: *network_space_pub
+    num_units: 3
+    options:
+      openstack-origin: *openstack_origin
+      action-managed-upgrade: True
+      block-device: None
+      glance-api-version: 2
+      nagios_context: *nagios_context
+      nagios_servicegroups: ceph,block,storage
+      region: *region
+      use-syslog: True
+      use-internal-endpoints: True
+      worker-multiplier: *worker_multiplier
+      region: *region
+      vip: *vip_cinder
+    to:
+      - 'lxd:1'
+      - 'lxd:2'
+    annotations:
+      gui-x: '1000'
+      gui-y: '200'
+
+  cinder-ceph:
+    charm: cs:cinder-ceph
+    series: *series
+    bindings:
+      "": *network_space_default
+    options:
+      restrict-ceph-pools: True
+      ceph-osd-replication-count: *ceph_cinder_replication_count
+    annotations:
+      gui-x: '1330'
+      gui-y: '230'
+
+  ceph-proxy:
+    charm: cs:ceph-proxy
+    series: *series
+    bindings:
+      "": *network_space_default
+    options:
+      admin-key: *ceph_proxy_admin_key
+      fsid: *ceph_proxy_fsid
+      monitor-hosts: *ceph_proxy_monitor_hosts
+      source: *openstack_origin
+    num_units: 1
+    to:
+      - 'lxd:1'
+    annotations:
+      gui-x: '1300'
+      gui-y: '0'
+
+  ceph-radosgw:
+    charm: cs:ceph-radosgw
+    series: *series
+    bindings:
+      "": *network_space_default
+      public: *network_space_pub
+    num_units: 3
+    options:
+      ceph-osd-replication-count: *ceph_radosgw_replication_count
+      config-flags: *ceph_radosgw_config_flags
+      pool-prefix: *ceph_radosgw_pool_prefix
+      region: *region
+      rgw-buckets-pool-weight:  *ceph_radosgw_rgw_buckets_pool_weight
+      rgw-lightweight-pool-pg-num: *ceph_radosgw_lightweight_pool_pg_num
+      vip: *vip_ceph_radosgw
+      nagios_context: *nagios_context
+      nagios_servicegroups: ceph,object,storage
+      restrict-ceph-pools: True
+      use-syslog: True
+    to:
+      - 'lxd:1'
+      - 'lxd:2'
+    annotations:
+      "gui-x": "1000"
+      "gui-y": "0"
+
+  glance:
+    charm: cs:glance
+    series: *series
+    bindings:
+      "": *network_space_default
+      public: *network_space_pub
+    num_units: 3
+    options:
+      ceph-osd-replication-count: *ceph_glance_replication_count
+      region: *region
+      nagios_context: *nagios_context
+      vip: *vip_glance
+      openstack-origin: *openstack_origin
+      action-managed-upgrade: True
+      debug: 'False'
+      verbose: 'False'
+      nagios_servicegroups: ceph,object,storage
+      use-internal-endpoints: True
+      use-syslog: True
+      restrict-ceph-pools: True
+    to:
+      - 'lxd:2'
+      - 'lxd:1'
+    annotations:
+      gui-x: '1000'
+      gui-y: '400'
+
+  memcached:
+    charm: cs:memcached
+    series: *series    
+    bindings:
+      "": *network_space_default
+    num_units: 3
+    options:
+      nagios_context: *nagios_context
+      allow-ufw-ip6-softfail: True
+    to:
+      - 'lxd:1'
+      - 'lxd:2'
+    annotations:
+      gui-x: '100'
+      gui-y: '800'
+
+  neutron-gateway:
+    charm: cs:neutron-gateway
+    series: *series
+    bindings:
+      "": *network_space_default
+      data: *network_space_os_data
+    num_units: 1
+    options:
+      bridge-mappings: *bridge_mappings
+      openstack-origin: *openstack_origin
+      action-managed-upgrade: True
+      data-port: *data_port
+      # Lower instance MTU to fit GRE tunnel (without changing switch config etc)
+      instance-mtu: *instance_mtu
+      nagios_context: *nagios_context
+      nagios_servicegroups: neutron
+    to:
+      - '0'
+    annotations:
+      gui-x: '0'
+      gui-y: '1100'
+
+  ceilometer:
+    charm: cs:ceilometer
+    series: *series
+    bindings:
+      "": *network_space_default
+      public: *network_space_pub
+    num_units: 1
+    options:
+      openstack-origin: *openstack_origin
+      action-managed-upgrade: True
+      debug: False
+      verbose: False
+      event-time-to-live: *celiometer_event_time_to_live
+      metering-time-to-live: *celiometer_metering_time_to_live
+      region: *region
+    to:
+      - 'lxd:1'
+    annotations:
+      gui-x: '450'
+      gui-y: '-250'
+
+  ceilometer-agent:
+    charm: cs:ceilometer-agent
+    series: *series
+    options:
+      action-managed-upgrade: True
+    annotations:
+      gui-x: '200'
+      gui-y: '-150'
+
+# ------------------------------------------------------------------------------
+relations:
+  - [ ntp, controller ]
+  - [ ntp, compute-host ]
+  - [ ntp, network-host ]
+  - [ percona-cluster, percona-hacluster ]
+  - [ cinder, cinder-hacluster ]
+  - [ glance, glance-hacluster ]
+  - [ keystone, keystone-hacluster ]
+  - [ neutron-api, neutron-api-hacluster ]
+  - [ nova-cloud-controller, controller-hacluster ]
+  - [ openstack-dashboard, horizon-hacluster ]
+  - [ keystone, percona-cluster ]
+  - [ neutron-api, percona-cluster ]
+  - [ neutron-api, rabbitmq-server ]
+  - [ neutron-api, nova-cloud-controller ]
+  - [ neutron-api, keystone ]
+  - [ neutron-openvswitch, rabbitmq-server ]
+  - [ neutron-openvswitch, neutron-api ]
+  - [ neutron-openvswitch, nova-compute ]
+  - [ nova-cloud-controller, memcached ]
+  - [ nova-cloud-controller, percona-cluster ]
+  - [ nova-cloud-controller, rabbitmq-server ]
+  - [ nova-cloud-controller, glance ]
+  - [ nova-cloud-controller, keystone ]
+  - [ nova-compute, nova-cloud-controller ]
+  - [ "nova-compute:amqp", "rabbitmq-server:amqp" ]
+  - [ nova-compute, glance ]
+  - [ nova-compute, percona-cluster ]
+  - [ glance, percona-cluster ]
+  - [ glance, keystone ]
+  - [ "glance:image-service", "cinder:image-service" ]
+  - [ "glance:amqp", "rabbitmq-server:amqp" ]
+  - [ cinder, percona-cluster ]
+  - [ cinder, rabbitmq-server ]
+  - [ cinder, nova-cloud-controller ]
+  - [ cinder, keystone ]
+  - [ openstack-dashboard, keystone ]
+  - [ "neutron-gateway:amqp", "rabbitmq-server:amqp" ]
+  - [ "neutron-gateway:neutron-plugin-api", "neutron-api:neutron-plugin-api" ]
+  - [ "nova-cloud-controller:quantum-network-service", "neutron-gateway:quantum-network-service" ]
+  - [ "cinder-ceph:ceph-access", "nova-compute:ceph-access" ]
+  - [ "ceph-proxy:client", "nova-compute:ceph" ]
+  - [ "ceph-proxy:client", "cinder-ceph:ceph" ]
+  - [ "cinder-ceph:storage-backend", "cinder:storage-backend" ]
+  - [ "ceph-proxy:client", "glance:ceph" ]
+# ceph-radosgw
+  - [ "ceph-radosgw:ha", "ceph-radosgw-hacluster:ha" ]
+  - [ "keystone:identity-service", "ceph-radosgw:identity-service" ]
+  - [ "ceph-radosgw:mon", "ceph-proxy:radosgw" ]
+# default-gw
+  - [ "ceph-radosgw:juju-info", "defaultgw:juju-info" ]
+  - [ "keystone:juju-info", "defaultgw:juju-info" ]
+  - [ "openstack-dashboard:juju-info", "defaultgw:juju-info" ]
+  - [ "nova-cloud-controller:juju-info", "defaultgw:juju-info" ]
+  - [ "glance:juju-info", "defaultgw:juju-info" ]
+  - [ "cinder:juju-info", "defaultgw:juju-info" ]
+  - [ "neutron-api:juju-info", "defaultgw:juju-info" ]
+# nagios server
+  - [ "nagios-server:juju-info", "defaultgw:juju-info" ]
+# nagios controllers (physical)
+  - [ controller, nrpe-controller]
+  - [ "nrpe-controller:monitors", "nagios-server:monitors" ]
+# nagios ceph
+  - [ cinder, nrpe-cinder]
+  - [ cinder-hacluster, nrpe-cinder]
+  - [ "nrpe-cinder:monitors", "nagios-server:monitors" ]
+  - [ glance, nrpe-glance]
+  - [ glance-hacluster, nrpe-glance]
+  - [ "nrpe-glance:monitors", "nagios-server:monitors" ]
+  - [ ceph-radosgw, nrpe-radosgw]
+  - [ ceph-radosgw-hacluster, nrpe-radosgw]
+  - [ "nrpe-radosgw:monitors", "nagios-server:monitors" ]
+# nagios keystone
+  - [ keystone, nrpe-keystone]
+  - [ keystone-hacluster, nrpe-keystone]
+  - [ "nrpe-keystone:monitors", "nagios-server:monitors" ]
+# nagios horizon
+  - [ openstack-dashboard, nrpe-dashboard]
+  - [ horizon-hacluster, nrpe-dashboard]
+  - [ "nrpe-dashboard:monitors", "nagios-server:monitors" ]
+# nagios neutron
+  - [ neutron-api, nrpe-neutron]
+  - [ neutron-api-hacluster, nrpe-neutron]
+  - [ "nrpe-neutron:monitors", "nagios-server:monitors" ]
+  - [ network-host, nrpe-neutrongw]
+  - [ neutron-gateway, nrpe-neutrongw]
+  - [ "nrpe-neutrongw:monitors", "nagios-server:monitors" ]
+# nagios nova
+  - [ nova-cloud-controller, nrpe-nova]
+  - [ controller-hacluster, nrpe-nova]
+  - [ "nrpe-nova:monitors", "nagios-server:monitors" ]
+  - [ compute-host, nrpe-novacompute]
+  - [ nova-compute, nrpe-novacompute]
+  - [ "nrpe-novacompute:monitors", "nagios-server:monitors" ]
+# nagios percona
+  - [ percona-cluster, nrpe-percona]
+  - [ percona-hacluster, nrpe-percona]
+  - [ "nrpe-percona:monitors", "nagios-server:monitors" ]
+# nagios memcache
+  - [ "memcached:nrpe-external-master", "nrpe-memcache:nrpe-external-master" ]
+  - [ "nrpe-memcache:monitors", "nagios-server:monitors" ]
+# nagios rabbitmq
+  - [rabbitmq-server, nrpe-rabbitmq]
+  - [ "nrpe-rabbitmq:monitors", "nagios-server:monitors" ]
+# ceilometer
+  - [ "ceilometer:amqp", "rabbitmq-server:amqp" ]
+  - [ "ceilometer:identity-service", "keystone:identity-service" ]
+  - [ "ceilometer:identity-notifications", "keystone:identity-notifications" ]
+  - [ "ceilometer-agent:nova-ceilometer", "nova-compute:nova-ceilometer" ]
+  - [ "ceilometer:ceilometer-service", "ceilometer-agent:ceilometer-service" ]
+  - [ "ceilometer:juju-info", "defaultgw:juju-info" ]
+
diff --git a/bundles/openstack/napoli/bundle-openstack-ceph-base.yaml b/bundles/openstack/napoli/bundle-openstack-ceph-base.yaml
new file mode 100644
index 0000000000000000000000000000000000000000..8db566cae7e063cfa84f320286b9bf90a624aa63
--- /dev/null
+++ b/bundles/openstack/napoli/bundle-openstack-ceph-base.yaml
@@ -0,0 +1,680 @@
+## Sample bundle for the deployment of OpenStack in a region of the
+## GARR Federated Cloud Platform.
+## This version deploys a local ceph.
+## This is the base bundle file, to be used in conjunction with an "overlay" file with custom parameters (passwords etc)
+
+## Deploy with the command:
+## juju deploy  --overlay ./bundle-openstack-cephproxy-overlay.yaml ./bundle-openstack-cephproxy-base.yaml 
+
+parameters:
+
+  # sources
+  #openstack-origin: &openstack_origin   cloud:xenial-queens
+  #series: &series  xenial
+  #dashboard-series: &dashboard_series xenial
+
+  openstack-origin: &openstack_origin   distro
+  series: &series  bionic
+  dashboard-series: &dashboard_series bionic
+
+  # Region settings  
+  region: &region                               garr-na2-devel
+  source_ntp: &source_ntp                       ntp1.inrim.it
+
+  # Ceph configs
+  ceph-osd-partition: &ceph_osd_partition  "/dev/sda /dev/sdb /dev/sdc"
+  ceph-cinder-replication-count: &ceph_cinder_replication_count  3
+  ceph-glance-replication-count: &ceph_glance_replication_count  3
+  ceph-radosgw-replication-count: &ceph_radosgw_replication_count  3
+  ceph-radosgw-pool-prefix: &ceph_radosgw_pool_prefix    rgw
+
+  ceph-radosgw-lightweight-pool-pg-num:  &ceph_radosgw_lightweight_pool_pg_num  8
+  ceph-radosgw-rgw-buckets-pool-weight:  &ceph_radosgw_rgw_buckets_pool_weight  5
+  ceph-radosgw-config-flags:  &ceph_radosgw_config_flags
+
+  # network defaults:
+  flat-network-providers: &flat_network_providers  ext_net
+  neutron-external-network: &neutron_external_network ext_net
+  network-device-mtu: &network_device_mtu  9000
+  instance-mtu: &instance_mtu	8000
+  enable-dvr: &dvr-mode		False
+  vlan-ranges: &vlan_ranges	physnet-ovs:801:801
+  enable-local-dhcp-and-metadata: &enable_local_dhcp_and_metadata   True
+  enable-ml2-dns: &enable_ml2_dns True
+  dns-domain: &dns_domain garr.cloud.na.
+  enable-dvr: &dvr_mode		False
+
+  # Change as appropriate
+  bridge-mappings: &bridge_mappings             ext_net:br-ex
+
+  # keystone/dashboard
+  preferred-api-version: &preferred_api_version     3
+
+  # nova-compute
+  worker-multiplier: &worker_multiplier             '1.0'
+  cpu-allocation-ratio: &cpu_allocation_ratio       '2.0'
+  ram-allocation-ratio: &ram_allocation_ratio       '1.5'
+  n-c-config-flags: &nova_compute_config_flags    "block_device_allocate_retries=600,block_device_allocate_retries_interval=5"
+
+  hugepages: &hugepages    '5%'
+  libvirt-image-backend: &libvirt_image_backend 	rbd
+  rbd-pool: &rbd_pool cinder-ceph
+  cpu-mode: &cpu-mode
+
+# Ceilometer
+  event-time-to-live: &celiometer_event_time_to_live -1
+  metering-time-to-live: &celiometer_metering_time_to_live -1
+
+# ------------------------------------------------------------------------------
+
+machines:
+  '0':
+    series: *series
+  '1':
+    series: *series
+  '2':
+    series: *series
+  '3':
+    series: *series
+  '4':
+    series: *series
+
+# ----------------------------------------------------------------------
+
+applications:
+
+  controller-host:
+    charm: cs:ubuntu
+    series: *series
+    annotations:
+      gui-x: '2000'
+      gui-y: '0'
+
+  compute-host:
+    charm: cs:ubuntu
+    series: *series
+    annotations:
+      gui-x: '2000'
+      gui-y: '500'
+
+  network-host:
+    charm: cs:ubuntu
+    series: *series
+    annotations:
+      gui-x: '2000'
+      gui-y: '800'
+
+  ntp:
+    charm: cs:ntp
+    series: *series
+    annotations:
+      gui-x: '2200'
+      gui-y: '500'
+
+  defaultgw:
+    charm: cs:~csd-garr/defaultgw
+    series: *series
+    annotations:
+      gui-x: '800'
+      gui-y: '0'
+
+  ceph-radosgw-hacluster:
+    charm: cs:hacluster
+    series: *series
+    options:
+      corosync_transport: 'unicast'
+      nagios_servicegroups: ceph,object,storage
+    annotations:
+      gui-x: '1000'
+      gui-y: '-200'
+
+  cinder-hacluster:
+    charm: cs:hacluster
+    series: *series
+    options:
+      corosync_transport: 'unicast'
+      nagios_servicegroups: ceph,block,storage
+    annotations:
+      gui-x: '1250'
+      gui-y: '350'
+
+  controller-hacluster:
+    charm: cs:hacluster
+    series: *series
+    options:
+      corosync_transport: 'unicast'
+      nagios_servicegroups: nova,compute
+    annotations:
+      gui-x: '-200'
+      gui-y: '500'
+
+  glance-hacluster:
+    charm: cs:hacluster
+    series: *series
+    options:
+      corosync_transport: 'unicast'
+      nagios_servicegroups: ceph,object,storage
+    annotations:
+      gui-x: '1200'
+      gui-y: '600'
+
+  horizon-hacluster:
+    charm: cs:hacluster
+    series: *series
+    options:
+      corosync_transport: 'unicast'
+      nagios_servicegroups: dashboard,web
+    annotations:
+      gui-x: '250'
+      gui-y: '50'
+
+  keystone-hacluster:
+    charm: cs:hacluster
+    series: *series
+    options:
+      corosync_transport: 'unicast'
+      nagios_servicegroups: keystone
+    annotations:
+      gui-x: '350'
+      gui-y: '350'
+
+  neutron-api-hacluster:
+    charm: cs:hacluster
+    series: *series
+    options:
+      corosync_transport: 'unicast'
+      nagios_servicegroups: neutron
+    annotations:
+      gui-x: '550'
+      gui-y: '1350'
+
+  percona-hacluster:
+    charm: cs:hacluster
+    series: *series
+    options:
+      corosync_transport: 'unicast'
+      nagios_servicegroups: database
+    annotations:
+      gui-x: '1300'
+      gui-y: '800'
+
+# Nagios
+  nagios-server:
+    charm: cs:nagios
+    series: *series
+    options:
+      monitor_self: true
+
+  nrpe-controller:
+    charm: cs:nrpe
+    series: *series
+    options:
+      swap: '-w 40% -c 25% -n ok'
+
+  nrpe-cinder:
+    charm: cs:nrpe
+    series: *series
+    options:
+      swap: '-w 40% -c 25% -n ok'
+
+  nrpe-glance:
+    charm: cs:nrpe
+    series: *series
+    options:
+      swap: '-w 40% -c 25% -n ok'
+
+  nrpe-cephmon:
+    charm: cs:nrpe
+    series: *series
+    options:
+      swap: '-w 40% -c 25% -n ok'
+
+  nrpe-cephosd:
+    charm: cs:nrpe
+    series: *series
+    options:
+      swap: '-w 40% -c 25% -n ok'
+
+  nrpe-radosgw:
+    charm: cs:nrpe
+    series: *series
+    options:
+      swap: '-w 40% -c 25% -n ok'
+
+  nrpe-keystone:
+    charm: cs:nrpe
+    series: *series
+    options:
+      swap: '-w 40% -c 25% -n ok'
+
+  nrpe-dashboard:
+    charm: cs:nrpe
+    series: *series
+    options:
+      swap: '-w 40% -c 25% -n ok'
+
+  nrpe-neutron:
+    charm: cs:nrpe
+    series: *series
+    options:
+      swap: '-w 40% -c 25% -n ok'
+
+  nrpe-neutrongw:
+    charm: cs:nrpe
+    series: *series
+    options:
+      swap: '-w 40% -c 25% -n ok'
+
+  nrpe-nova:
+    charm: cs:nrpe
+    series: *series
+    options:
+      swap: '-w 40% -c 25% -n ok'
+
+  nrpe-novacompute:
+    charm: cs:nrpe
+    series: *series
+    options:
+      swap: '-w 40% -c 25% -n ok'
+
+  nrpe-percona:
+    charm: cs:nrpe
+    series: *series
+    options:
+      swap: '-w 40% -c 25% -n ok'
+
+  nrpe-rabbitmq:
+    charm: cs:nrpe
+    series: *series
+    options:
+      swap: '-w 40% -c 25% -n ok'
+
+  nrpe-memcache:
+    charm: cs:nrpe
+    series: *series
+    options:
+      swap: '-w 40% -c 25% -n ok'
+
+  rabbitmq-server:
+    charm: cs:rabbitmq-server
+    series: *series
+    options:
+      min-cluster-size: 1
+      cluster-partition-handling: pause_minority
+      management_plugin: True
+      nagios_servicegroups: messaging
+      use-syslog: True
+    annotations:
+      gui-x: '400'
+      gui-y: '800'
+
+  percona-cluster:
+    charm: cs:percona-cluster
+    series: *series
+    options:
+      min-cluster-size: 2
+      innodb-buffer-pool-size: 10G
+      max-connections: 30000
+      nagios_servicegroups: database
+    annotations:
+      gui-x: '1000'
+      gui-y: '800'
+
+  keystone:
+    charm: cs:keystone
+    series: *series
+    options:
+      openstack-origin: *openstack_origin
+      action-managed-upgrade: True
+      debug: 'False'
+      verbose: 'False'
+      admin-user: admin
+      nagios_servicegroups: keystone
+      worker-multiplier: *worker_multiplier
+      preferred-api-version: *preferred_api_version
+      use-syslog: True
+    annotations:
+      gui-x: '500'
+      gui-y: '500'
+
+  openstack-dashboard:
+    charm: cs:openstack-dashboard
+    series: *series
+    options:
+      openstack-origin: *openstack_origin
+      action-managed-upgrade: True
+      debug: 'False'
+      endpoint-type: internalURL,publicURL
+      nagios_servicegroups: dashboard,web
+      use-syslog: True
+      webroot: '/'
+    annotations:
+      gui-x: '500'
+      gui-y: '0'
+
+  nova-compute:
+    charm: cs:nova-compute
+    series: *series
+    options:
+      openstack-origin: *openstack_origin
+      action-managed-upgrade: True
+      debug: 'False'
+      verbose: 'False'
+      config-flags: *nova_compute_config_flags
+      cpu-mode: *cpu-mode
+      enable-live-migration: True
+      enable-resize: True
+      migration-auth-type: ssh
+      libvirt-image-backend: *libvirt_image_backend
+      rbd-pool: *rbd_pool
+      nagios_servicegroups: nova,compute
+      use-internal-endpoints: True
+      enable-resize: True
+      enable-live-migration: True
+    annotations:
+      gui-x: '0'
+      gui-y: '200'
+
+  nova-cloud-controller:
+    charm: cs:nova-cloud-controller
+    series: *series
+    options:
+      openstack-origin: *openstack_origin
+      action-managed-upgrade: True
+      debug: 'False'
+      verbose: 'False'
+      console-access-protocol: 'vnc'
+      nagios_servicegroups: nova,compute
+      network-manager: neutron
+      cpu-allocation-ratio: *cpu_allocation_ratio
+      ram-allocation-ratio: *ram_allocation_ratio
+      service-guard: True
+      use-internal-endpoints: True
+      worker-multiplier: *worker_multiplier
+    annotations:
+      gui-x: '0'
+      gui-y: '450'
+
+  neutron-api:
+    charm: cs:neutron-api
+    series: *series
+    options:
+      openstack-origin: *openstack_origin
+      action-managed-upgrade: True
+      debug: 'False'
+      verbose: 'False'
+      enable-ml2-port-security: True
+      flat-network-providers: *flat_network_providers
+      nagios_servicegroups: neutron
+      neutron-security-groups: True
+      network-device-mtu: *network_device_mtu
+      use-internal-endpoints: True
+      use-syslog: True
+      worker-multiplier: *worker_multiplier
+      neutron-external-network: *neutron_external_network
+      enable-dvr: *dvr_mode
+      enable-ml2-dns: *enable_ml2_dns
+      dns-domain: *dns_domain
+    annotations:
+      gui-x: '500'
+      gui-y: '1100'
+
+  neutron-openvswitch:
+    charm: cs:neutron-openvswitch
+    series: *series
+    options:
+      debug: 'False'
+      verbose: 'False'
+      disable-security-groups: False
+      flat-network-providers: *flat_network_providers
+      use-syslog: True
+      enable-local-dhcp-and-metadata: *enable_local_dhcp_and_metadata
+    annotations:
+      gui-x: '1100'
+      gui-y: '1100'
+
+  cinder:
+    charm: cs:cinder
+    series: *series
+    options:
+      openstack-origin: *openstack_origin
+      action-managed-upgrade: True
+      block-device: None
+      glance-api-version: 2
+      nagios_servicegroups: ceph,block,storage
+      use-syslog: True
+      use-internal-endpoints: True
+      worker-multiplier: *worker_multiplier
+    annotations:
+      gui-x: '1000'
+      gui-y: '200'
+
+  cinder-ceph:
+    charm: cs:cinder-ceph
+    series: *series
+    options:
+      restrict-ceph-pools: True
+      ceph-osd-replication-count: *ceph_cinder_replication_count
+    annotations:
+      gui-x: '1330'
+      gui-y: '230'
+
+  ceph-mon:
+    charm: cs:ceph-mon
+    series: *series
+    options:
+      source: *openstack_origin
+      nagios_servicegroups: ceph,storage
+    annotations:
+      gui-x: '1200'
+      gui-y: '400'
+
+  ceph-osd:
+    charm: cs:ceph-osd
+    series: *series
+    options:
+      source: *openstack_origin
+      osd-devices: *ceph_osd_partition
+      nagios_servicegroups: ceph,storage
+      # osd-reformat: 'True'
+      osd-format: 'xfs'
+      use-syslog: True
+    annotations:
+      gui-x: '1400'
+      gui-y: '400'
+
+  ceph-radosgw:
+    charm: cs:ceph-radosgw
+    series: *series
+    options:
+      source: *openstack_origin
+      ceph-osd-replication-count: *ceph_radosgw_replication_count
+      config-flags: *ceph_radosgw_config_flags
+      rgw-buckets-pool-weight:  *ceph_radosgw_rgw_buckets_pool_weight
+      rgw-lightweight-pool-pg-num: *ceph_radosgw_lightweight_pool_pg_num
+      nagios_servicegroups: ceph,object,storage
+      restrict-ceph-pools: True
+      use-syslog: True
+    annotations:
+      "gui-x": "1000"
+      "gui-y": "0"
+
+  glance:
+    charm: cs:glance
+    series: *series
+    options:
+      openstack-origin: *openstack_origin
+      ceph-osd-replication-count: *ceph_glance_replication_count
+      action-managed-upgrade: True
+      debug: 'False'
+      verbose: 'False'
+      nagios_servicegroups: ceph,object,storage
+      use-internal-endpoints: True
+      use-syslog: True
+      restrict-ceph-pools: True
+    annotations:
+      gui-x: '1000'
+      gui-y: '400'
+
+  memcached:
+    charm: cs:memcached
+    series: *series    
+    options:
+      allow-ufw-ip6-softfail: True
+    annotations:
+      gui-x: '100'
+      gui-y: '800'
+
+  neutron-gateway:
+    charm: cs:neutron-gateway
+    series: *series
+    options:
+      openstack-origin: *openstack_origin
+      bridge-mappings: *bridge_mappings
+      action-managed-upgrade: True
+      # Lower instance MTU to fit GRE tunnel (without changing switch config etc)
+      instance-mtu: *instance_mtu
+      nagios_servicegroups: neutron
+    annotations:
+      gui-x: '0'
+      gui-y: '1100'
+
+  ceilometer:
+    charm: cs:ceilometer
+    series: *series
+    options:
+      openstack-origin: *openstack_origin
+      action-managed-upgrade: True
+      debug: False
+      verbose: False
+      event-time-to-live: *celiometer_event_time_to_live
+      metering-time-to-live: *celiometer_metering_time_to_live
+    annotations:
+      gui-x: '450'
+      gui-y: '-250'
+
+  ceilometer-agent:
+    charm: cs:ceilometer-agent
+    series: *series
+    annotations:
+      gui-x: '200'
+      gui-y: '-150'
+
+# ------------------------------------------------------------------------------
+relations:
+  - [ ntp, controller-host ]
+  - [ ntp, compute-host ]
+  - [ ntp, network-host ]
+  - [ percona-cluster, percona-hacluster ]
+  - [ cinder, cinder-hacluster ]
+  - [ glance, glance-hacluster ]
+  - [ keystone, keystone-hacluster ]
+  - [ neutron-api, neutron-api-hacluster ]
+  - [ nova-cloud-controller, controller-hacluster ]
+  - [ openstack-dashboard, horizon-hacluster ]
+  - [ keystone, percona-cluster ]
+  - [ neutron-api, percona-cluster ]
+  - [ neutron-api, rabbitmq-server ]
+  - [ neutron-api, nova-cloud-controller ]
+  - [ neutron-api, keystone ]
+  - [ neutron-openvswitch, rabbitmq-server ]
+  - [ neutron-openvswitch, neutron-api ]
+  - [ neutron-openvswitch, nova-compute ]
+  - [ nova-cloud-controller, memcached ]
+  - [ "nova-cloud-controller:shared-db", "percona-cluster:shared-db" ]
+  - [ "nova-cloud-controller:amqp", "rabbitmq-server:amqp" ]
+  - [ nova-cloud-controller, glance ]
+  - [ nova-cloud-controller, keystone ]
+  - [ nova-compute, nova-cloud-controller ]
+  - [ "nova-compute:amqp", "rabbitmq-server:amqp" ]
+  - [ nova-compute, glance ]
+  - [ glance, percona-cluster ]
+  - [ glance, keystone ]
+  - [ "glance:image-service", "cinder:image-service" ]
+  - [ "glance:amqp", "rabbitmq-server:amqp" ]
+  - [ cinder, percona-cluster ]
+  - [ cinder, rabbitmq-server ]
+  - [ cinder, nova-cloud-controller ]
+  - [ cinder, keystone ]
+  - [ "openstack-dashboard:identity-service", "keystone:identity-service" ]
+  - [ "neutron-gateway:amqp", "rabbitmq-server:amqp" ]
+  - [ "neutron-gateway:neutron-plugin-api", "neutron-api:neutron-plugin-api" ]
+  - [ "nova-cloud-controller:quantum-network-service", "neutron-gateway:quantum-network-service" ]
+  - [ "cinder-ceph:ceph-access", "nova-compute:ceph-access" ]
+  - [ "cinder-ceph:storage-backend", "cinder:storage-backend" ]
+# ceph
+  - [ "ceph-mon:client", "nova-compute:ceph" ]
+  - [ "ceph-mon:client", "cinder-ceph:ceph" ]
+  - [ "ceph-mon:client", "glance:ceph" ]
+  - [ "ceph-mon:radosgw", "ceph-radosgw:mon" ]
+  - [ "ceph-osd:mon", "ceph-mon:osd" ]
+# ceph-radosgw
+  - [ "ceph-radosgw:ha", "ceph-radosgw-hacluster:ha" ]
+  - [ "keystone:identity-service", "ceph-radosgw:identity-service" ]
+# default-gw
+  - [ "ceph-radosgw:juju-info", "defaultgw:juju-info" ]
+  - [ "keystone:juju-info", "defaultgw:juju-info" ]
+  - [ "openstack-dashboard:juju-info", "defaultgw:juju-info" ]
+  - [ "nova-cloud-controller:juju-info", "defaultgw:juju-info" ]
+  - [ "glance:juju-info", "defaultgw:juju-info" ]
+  - [ "cinder:juju-info", "defaultgw:juju-info" ]
+  - [ "neutron-api:juju-info", "defaultgw:juju-info" ]
+# nagios server
+  - [ "nagios-server:juju-info", "defaultgw:juju-info" ]
+# nagios controllers (physical)
+  - [ controller-host, nrpe-controller]
+  - [ "nrpe-controller:monitors", "nagios-server:monitors" ]
+# nagios ceph
+  - [ ceph-mon, nrpe-cephmon]
+  - [ "nrpe-cephmon:monitors", "nagios-server:monitors" ]
+  - [ ceph-osd, nrpe-cephosd]
+  - [ "nrpe-cephosd:monitors", "nagios-server:monitors" ]
+  - [ cinder, nrpe-cinder]
+  - [ cinder-hacluster, nrpe-cinder]
+  - [ "nrpe-cinder:monitors", "nagios-server:monitors" ]
+  - [ glance, nrpe-glance]
+  - [ glance-hacluster, nrpe-glance]
+  - [ "nrpe-glance:monitors", "nagios-server:monitors" ]
+  - [ ceph-radosgw, nrpe-radosgw]
+  - [ ceph-radosgw-hacluster, nrpe-radosgw]
+  - [ "nrpe-radosgw:monitors", "nagios-server:monitors" ]
+# nagios keystone
+  - [ keystone, nrpe-keystone]
+  - [ keystone-hacluster, nrpe-keystone]
+  - [ "nrpe-keystone:monitors", "nagios-server:monitors" ]
+# nagios horizon
+  - [ openstack-dashboard, nrpe-dashboard]
+  - [ horizon-hacluster, nrpe-dashboard]
+  - [ "nrpe-dashboard:monitors", "nagios-server:monitors" ]
+# nagios neutron
+  - [ neutron-api, nrpe-neutron]
+  - [ neutron-api-hacluster, nrpe-neutron]
+  - [ "nrpe-neutron:monitors", "nagios-server:monitors" ]
+  - [ network-host, nrpe-neutrongw]
+  - [ neutron-gateway, nrpe-neutrongw]
+  - [ "nrpe-neutrongw:monitors", "nagios-server:monitors" ]
+# nagios nova
+  - [ nova-cloud-controller, nrpe-nova]
+  - [ controller-hacluster, nrpe-nova]
+  - [ "nrpe-nova:monitors", "nagios-server:monitors" ]
+  - [ compute-host, nrpe-novacompute]
+  - [ nova-compute, nrpe-novacompute]
+  - [ "nrpe-novacompute:monitors", "nagios-server:monitors" ]
+# nagios percona
+  - [ percona-cluster, nrpe-percona]
+  - [ percona-hacluster, nrpe-percona]
+  - [ "nrpe-percona:monitors", "nagios-server:monitors" ]
+# nagios memcache
+  - [ "memcached:nrpe-external-master", "nrpe-memcache:nrpe-external-master" ]
+  - [ "nrpe-memcache:monitors", "nagios-server:monitors" ]
+# nagios rabbitmq
+  - [rabbitmq-server, nrpe-rabbitmq]
+  - [ "nrpe-rabbitmq:monitors", "nagios-server:monitors" ]
+# ceilometer
+  - [ "ceilometer:amqp", "rabbitmq-server:amqp" ]
+  - [ "ceilometer:identity-service", "keystone:identity-service" ]
+  - [ "ceilometer:identity-notifications", "keystone:identity-notifications" ]
+  - [ "ceilometer-agent:nova-ceilometer", "nova-compute:nova-ceilometer" ]
+  - [ "ceilometer:ceilometer-service", "ceilometer-agent:ceilometer-service" ]
+  - [ "ceilometer:juju-info", "defaultgw:juju-info" ]
+
diff --git a/bundles/openstack/napoli/bundle-openstack-cephproxy-base.yaml b/bundles/openstack/napoli/bundle-openstack-cephproxy-base.yaml
new file mode 100644
index 0000000000000000000000000000000000000000..45d5a8897d38ab48a7d81e9b02db0f968953a9d5
--- /dev/null
+++ b/bundles/openstack/napoli/bundle-openstack-cephproxy-base.yaml
@@ -0,0 +1,642 @@
+## Sample bundle for the deployment of OpenStack in a region of the
+## GARR Federated Cloud Platform.
+## This version connects to an external Ceph cluster via ceph-proxy charm.
+## This is the base bundle file, to be used in conjunction with an "overlay" file with custom parameters (passwords etc)
+
+## Deploy with the command:
+## juju deploy  --overlay ./bundle-openstack-ceph-overlay.yaml ./bundle-openstack-ceph-base.yaml 
+
+
+parameters:
+
+  # sources
+  #openstack-origin: &openstack_origin   cloud:xenial-queens
+  #series: &series  xenial
+  #dashboard-series: &dashboard_series xenial
+
+  openstack-origin: &openstack_origin   distro
+  series: &series  bionic
+  dashboard-series: &dashboard_series bionic
+
+  # Ceph configs
+  ceph-radosgw-lightweight-pool-pg-num:  &ceph_radosgw_lightweight_pool_pg_num  8
+  ceph-radosgw-rgw-buckets-pool-weight:  &ceph_radosgw_rgw_buckets_pool_weight  5
+  ceph-radosgw-config-flags:  &ceph_radosgw_config_flags
+
+  ceph-cinder-replication-count: &ceph_cinder_replication_count  3
+  ceph-glance-replication-count: &ceph_glance_replication_count  3
+  ceph-radosgw-replication-count: &ceph_radosgw_replication_count  3
+
+  # network defaults:
+  flat-network-providers: &flat_network_providers  ext_net
+  neutron-external-network: &neutron_external_network ext_net
+  network-device-mtu: &network_device_mtu  9000
+  instance-mtu: &instance_mtu	8000
+  enable-dvr: &dvr-mode		False
+  vlan-ranges: &vlan_ranges	physnet-ovs:801:801
+  enable-local-dhcp-and-metadata: &enable_local_dhcp_and_metadata   True
+  enable-ml2-dns: &enable_ml2_dns True
+  dns-domain: &dns_domain garr.cloud.na.
+  enable-dvr: &dvr_mode		False
+
+  # Change as appropriate
+  bridge-mappings: &bridge_mappings             ext_net:br-ex
+
+  # keystone/dashboard
+  preferred-api-version: &preferred_api_version     3
+
+  # nova-compute
+  worker-multiplier: &worker_multiplier             '1.0'
+  cpu-allocation-ratio: &cpu_allocation_ratio       '2.0'
+  ram-allocation-ratio: &ram_allocation_ratio       '1.5'
+  n-c-config-flags: &nova_compute_config_flags    "block_device_allocate_retries=600,block_device_allocate_retries_interval=5"
+
+  hugepages: &hugepages    '5%'
+  libvirt-image-backend: &libvirt_image_backend 	rbd
+  rbd-pool: &rbd_pool cinder-ceph
+  cpu-mode: &cpu-mode
+
+# Ceilometer
+  event-time-to-live: &celiometer_event_time_to_live -1
+  metering-time-to-live: &celiometer_metering_time_to_live -1
+
+# ------------------------------------------------------------------------------
+
+machines:
+  '0':
+    series: *series
+  '1':
+    series: *series
+  '2':
+    series: *series
+  '3':
+    series: *series
+  '4':
+    series: *series
+
+# ----------------------------------------------------------------------
+
+applications:
+
+  controller-host:
+    charm: cs:ubuntu
+    series: *series
+    annotations:
+      gui-x: '2000'
+      gui-y: '0'
+
+  compute-host:
+    charm: cs:ubuntu
+    series: *series
+    annotations:
+      gui-x: '2000'
+      gui-y: '500'
+
+  network-host:
+    charm: cs:ubuntu
+    series: *series
+    annotations:
+      gui-x: '2000'
+      gui-y: '800'
+
+  ntp:
+    charm: cs:ntp
+    series: *series
+    annotations:
+      gui-x: '2200'
+      gui-y: '500'
+
+  defaultgw:
+    charm: cs:~csd-garr/defaultgw
+    series: *series
+    annotations:
+      gui-x: '800'
+      gui-y: '0'
+
+  ceph-radosgw-hacluster:
+    charm: cs:hacluster
+    series: *series
+    options:
+      corosync_transport: 'unicast'
+      nagios_servicegroups: ceph,object,storage
+    annotations:
+      gui-x: '1000'
+      gui-y: '-200'
+
+  cinder-hacluster:
+    charm: cs:hacluster
+    series: *series
+    options:
+      corosync_transport: 'unicast'
+      nagios_servicegroups: ceph,block,storage
+    annotations:
+      gui-x: '1250'
+      gui-y: '350'
+
+  controller-hacluster:
+    charm: cs:hacluster
+    series: *series
+    options:
+      corosync_transport: 'unicast'
+      nagios_servicegroups: nova,compute
+    annotations:
+      gui-x: '-200'
+      gui-y: '500'
+
+  glance-hacluster:
+    charm: cs:hacluster
+    series: *series
+    options:
+      corosync_transport: 'unicast'
+      nagios_servicegroups: ceph,object,storage
+    annotations:
+      gui-x: '1200'
+      gui-y: '600'
+
+  horizon-hacluster:
+    charm: cs:hacluster
+    series: *series
+    options:
+      corosync_transport: 'unicast'
+      nagios_servicegroups: dashboard,web
+    annotations:
+      gui-x: '250'
+      gui-y: '50'
+
+  keystone-hacluster:
+    charm: cs:hacluster
+    series: *series
+    options:
+      corosync_transport: 'unicast'
+      nagios_servicegroups: keystone
+    annotations:
+      gui-x: '350'
+      gui-y: '350'
+
+  neutron-api-hacluster:
+    charm: cs:hacluster
+    series: *series
+    options:
+      corosync_transport: 'unicast'
+      nagios_servicegroups: neutron
+    annotations:
+      gui-x: '550'
+      gui-y: '1350'
+
+  percona-hacluster:
+    charm: cs:hacluster
+    series: *series
+    options:
+      corosync_transport: 'unicast'
+      nagios_servicegroups: database
+    annotations:
+      gui-x: '1300'
+      gui-y: '800'
+
+# Nagios
+  nagios-server:
+    charm: cs:nagios
+    series: *series
+    options:
+      monitor_self: true
+
+  nrpe-controller:
+    charm: cs:nrpe
+    series: *series
+    options:
+      swap: '-w 40% -c 25% -n ok'
+
+  nrpe-cinder:
+    charm: cs:nrpe
+    series: *series
+    options:
+      swap: '-w 40% -c 25% -n ok'
+
+  nrpe-glance:
+    charm: cs:nrpe
+    series: *series
+    options:
+      swap: '-w 40% -c 25% -n ok'
+
+  nrpe-radosgw:
+    charm: cs:nrpe
+    series: *series
+    options:
+      swap: '-w 40% -c 25% -n ok'
+
+  nrpe-keystone:
+    charm: cs:nrpe
+    series: *series
+    options:
+      swap: '-w 40% -c 25% -n ok'
+
+  nrpe-dashboard:
+    charm: cs:nrpe
+    series: *series
+    options:
+      swap: '-w 40% -c 25% -n ok'
+
+  nrpe-neutron:
+    charm: cs:nrpe
+    series: *series
+    options:
+      swap: '-w 40% -c 25% -n ok'
+
+  nrpe-neutrongw:
+    charm: cs:nrpe
+    series: *series
+    options:
+      swap: '-w 40% -c 25% -n ok'
+
+  nrpe-nova:
+    charm: cs:nrpe
+    series: *series
+    options:
+      swap: '-w 40% -c 25% -n ok'
+
+  nrpe-novacompute:
+    charm: cs:nrpe
+    series: *series
+    options:
+      swap: '-w 40% -c 25% -n ok'
+
+  nrpe-percona:
+    charm: cs:nrpe
+    series: *series
+    options:
+      swap: '-w 40% -c 25% -n ok'
+
+  nrpe-rabbitmq:
+    charm: cs:nrpe
+    series: *series
+    options:
+      swap: '-w 40% -c 25% -n ok'
+
+  nrpe-memcache:
+    charm: cs:nrpe
+    series: *series
+    options:
+      swap: '-w 40% -c 25% -n ok'
+
+  rabbitmq-server:
+    charm: cs:rabbitmq-server
+    series: *series
+    options:
+      min-cluster-size: 1
+      cluster-partition-handling: pause_minority
+      management_plugin: True
+      nagios_servicegroups: messaging
+      use-syslog: True
+    annotations:
+      gui-x: '400'
+      gui-y: '800'
+
+  percona-cluster:
+    charm: cs:percona-cluster
+    series: *series
+    options:
+      min-cluster-size: 2
+      innodb-buffer-pool-size: 10G
+      max-connections: 30000
+      nagios_servicegroups: database
+    annotations:
+      gui-x: '1000'
+      gui-y: '800'
+
+  keystone:
+    charm: cs:keystone
+    series: *series
+    options:
+      openstack-origin: *openstack_origin
+      action-managed-upgrade: True
+      debug: 'False'
+      verbose: 'False'
+      admin-user: admin
+      nagios_servicegroups: keystone
+      worker-multiplier: *worker_multiplier
+      preferred-api-version: *preferred_api_version
+      use-syslog: True
+    annotations:
+      gui-x: '500'
+      gui-y: '500'
+
+  openstack-dashboard:
+    charm: cs:openstack-dashboard
+    series: *series
+    options:
+      openstack-origin: *openstack_origin
+      action-managed-upgrade: True
+      debug: 'False'
+      endpoint-type: internalURL,publicURL
+      nagios_servicegroups: dashboard,web
+      use-syslog: True
+      webroot: '/'
+    annotations:
+      gui-x: '500'
+      gui-y: '0'
+
+  nova-compute:
+    charm: cs:nova-compute
+    series: *series
+    options:
+      openstack-origin: *openstack_origin
+      action-managed-upgrade: True
+      debug: 'False'
+      verbose: 'False'
+      config-flags: *nova_compute_config_flags
+      cpu-mode: *cpu-mode
+      enable-live-migration: True
+      enable-resize: True
+      migration-auth-type: ssh
+      libvirt-image-backend: *libvirt_image_backend
+      rbd-pool: *rbd_pool
+      nagios_servicegroups: nova,compute
+      use-internal-endpoints: True
+      enable-resize: True
+      enable-live-migration: True
+    annotations:
+      gui-x: '0'
+      gui-y: '200'
+
+  nova-cloud-controller:
+    charm: cs:nova-cloud-controller
+    series: *series
+    options:
+      openstack-origin: *openstack_origin
+      action-managed-upgrade: True
+      debug: 'False'
+      verbose: 'False'
+      console-access-protocol: 'vnc'
+      nagios_servicegroups: nova,compute
+      network-manager: neutron
+      cpu-allocation-ratio: *cpu_allocation_ratio
+      ram-allocation-ratio: *ram_allocation_ratio
+      service-guard: True
+      use-internal-endpoints: True
+      worker-multiplier: *worker_multiplier
+    annotations:
+      gui-x: '0'
+      gui-y: '450'
+
+  neutron-api:
+    charm: cs:neutron-api
+    series: *series
+    options:
+      openstack-origin: *openstack_origin
+      action-managed-upgrade: True
+      debug: 'False'
+      verbose: 'False'
+      enable-ml2-port-security: True
+      flat-network-providers: *flat_network_providers
+      nagios_servicegroups: neutron
+      neutron-security-groups: True
+      network-device-mtu: *network_device_mtu
+      use-internal-endpoints: True
+      use-syslog: True
+      worker-multiplier: *worker_multiplier
+      neutron-external-network: *neutron_external_network
+      enable-dvr: *dvr_mode
+      enable-ml2-dns: *enable_ml2_dns
+      dns-domain: *dns_domain
+    annotations:
+      gui-x: '500'
+      gui-y: '1100'
+
+  neutron-openvswitch:
+    charm: cs:neutron-openvswitch
+    series: *series
+    options:
+      debug: 'False'
+      verbose: 'False'
+      disable-security-groups: False
+      flat-network-providers: *flat_network_providers
+      use-syslog: True
+      enable-local-dhcp-and-metadata: *enable_local_dhcp_and_metadata
+    annotations:
+      gui-x: '1100'
+      gui-y: '1100'
+
+  cinder:
+    charm: cs:cinder
+    series: *series
+    options:
+      openstack-origin: *openstack_origin
+      action-managed-upgrade: True
+      block-device: None
+      glance-api-version: 2
+      nagios_servicegroups: ceph,block,storage
+      use-syslog: True
+      use-internal-endpoints: True
+      worker-multiplier: *worker_multiplier
+    annotations:
+      gui-x: '1000'
+      gui-y: '200'
+
+  cinder-ceph:
+    charm: cs:cinder-ceph
+    series: *series
+    options:
+      restrict-ceph-pools: True
+      ceph-osd-replication-count: *ceph_cinder_replication_count
+    annotations:
+      gui-x: '1330'
+      gui-y: '230'
+
+  ceph-proxy:
+    charm: cs:ceph-proxy
+    series: *series
+    options:
+      source: *openstack_origin
+    annotations:
+      gui-x: '1300'
+      gui-y: '0'
+
+  ceph-radosgw:
+    charm: cs:ceph-radosgw
+    series: *series
+    options:
+      source: *openstack_origin
+      ceph-osd-replication-count: *ceph_radosgw_replication_count
+      config-flags: *ceph_radosgw_config_flags
+      rgw-buckets-pool-weight:  *ceph_radosgw_rgw_buckets_pool_weight
+      rgw-lightweight-pool-pg-num: *ceph_radosgw_lightweight_pool_pg_num
+      nagios_servicegroups: ceph,object,storage
+      restrict-ceph-pools: True
+      use-syslog: True
+    annotations:
+      "gui-x": "1000"
+      "gui-y": "0"
+
+  glance:
+    charm: cs:glance
+    series: *series
+    options:
+      openstack-origin: *openstack_origin
+      ceph-osd-replication-count: *ceph_glance_replication_count
+      action-managed-upgrade: True
+      debug: 'False'
+      verbose: 'False'
+      nagios_servicegroups: ceph,object,storage
+      use-internal-endpoints: True
+      use-syslog: True
+      restrict-ceph-pools: True
+    annotations:
+      gui-x: '1000'
+      gui-y: '400'
+
+  memcached:
+    charm: cs:memcached
+    series: *series    
+    options:
+      allow-ufw-ip6-softfail: True
+    annotations:
+      gui-x: '100'
+      gui-y: '800'
+
+  neutron-gateway:
+    charm: cs:neutron-gateway
+    series: *series
+    options:
+      openstack-origin: *openstack_origin
+      bridge-mappings: *bridge_mappings
+      action-managed-upgrade: True
+      # Lower instance MTU to fit GRE tunnel (without changing switch config etc)
+      instance-mtu: *instance_mtu
+      nagios_servicegroups: neutron
+    annotations:
+      gui-x: '0'
+      gui-y: '1100'
+
+  ceilometer:
+    charm: cs:ceilometer
+    series: *series
+    options:
+      openstack-origin: *openstack_origin
+      action-managed-upgrade: True
+      debug: False
+      verbose: False
+      event-time-to-live: *celiometer_event_time_to_live
+      metering-time-to-live: *celiometer_metering_time_to_live
+    annotations:
+      gui-x: '450'
+      gui-y: '-250'
+
+  ceilometer-agent:
+    charm: cs:ceilometer-agent
+    series: *series
+    annotations:
+      gui-x: '200'
+      gui-y: '-150'
+
+# ------------------------------------------------------------------------------
+relations:
+  - [ ntp, controller-host ]
+  - [ ntp, compute-host ]
+  - [ ntp, network-host ]
+  - [ percona-cluster, percona-hacluster ]
+  - [ cinder, cinder-hacluster ]
+  - [ glance, glance-hacluster ]
+  - [ keystone, keystone-hacluster ]
+  - [ neutron-api, neutron-api-hacluster ]
+  - [ nova-cloud-controller, controller-hacluster ]
+  - [ openstack-dashboard, horizon-hacluster ]
+  - [ keystone, percona-cluster ]
+  - [ neutron-api, percona-cluster ]
+  - [ neutron-api, rabbitmq-server ]
+  - [ neutron-api, nova-cloud-controller ]
+  - [ neutron-api, keystone ]
+  - [ neutron-openvswitch, rabbitmq-server ]
+  - [ neutron-openvswitch, neutron-api ]
+  - [ neutron-openvswitch, nova-compute ]
+  - [ nova-cloud-controller, memcached ]
+  - [ "nova-cloud-controller:shared-db", "percona-cluster:shared-db" ]
+  - [ "nova-cloud-controller:amqp", "rabbitmq-server:amqp" ]
+  - [ nova-cloud-controller, glance ]
+  - [ nova-cloud-controller, keystone ]
+  - [ nova-compute, nova-cloud-controller ]
+  - [ "nova-compute:amqp", "rabbitmq-server:amqp" ]
+  - [ nova-compute, glance ]
+  - [ glance, percona-cluster ]
+  - [ glance, keystone ]
+  - [ "glance:image-service", "cinder:image-service" ]
+  - [ "glance:amqp", "rabbitmq-server:amqp" ]
+  - [ cinder, percona-cluster ]
+  - [ cinder, rabbitmq-server ]
+  - [ cinder, nova-cloud-controller ]
+  - [ cinder, keystone ]
+  - [ "openstack-dashboard:identity-service", "keystone:identity-service" ]
+  - [ "neutron-gateway:amqp", "rabbitmq-server:amqp" ]
+  - [ "neutron-gateway:neutron-plugin-api", "neutron-api:neutron-plugin-api" ]
+  - [ "nova-cloud-controller:quantum-network-service", "neutron-gateway:quantum-network-service" ]
+  - [ "cinder-ceph:ceph-access", "nova-compute:ceph-access" ]
+  - [ "ceph-proxy:client", "nova-compute:ceph" ]
+  - [ "ceph-proxy:client", "cinder-ceph:ceph" ]
+  - [ "cinder-ceph:storage-backend", "cinder:storage-backend" ]
+  - [ "ceph-proxy:client", "glance:ceph" ]
+# ceph-radosgw
+  - [ "ceph-radosgw:ha", "ceph-radosgw-hacluster:ha" ]
+  - [ "keystone:identity-service", "ceph-radosgw:identity-service" ]
+  - [ "ceph-radosgw:mon", "ceph-proxy:radosgw" ]
+# default-gw
+  - [ "ceph-radosgw:juju-info", "defaultgw:juju-info" ]
+  - [ "keystone:juju-info", "defaultgw:juju-info" ]
+  - [ "openstack-dashboard:juju-info", "defaultgw:juju-info" ]
+  - [ "nova-cloud-controller:juju-info", "defaultgw:juju-info" ]
+  - [ "glance:juju-info", "defaultgw:juju-info" ]
+  - [ "cinder:juju-info", "defaultgw:juju-info" ]
+  - [ "neutron-api:juju-info", "defaultgw:juju-info" ]
+# nagios server
+  - [ "nagios-server:juju-info", "defaultgw:juju-info" ]
+# nagios controllers (physical)
+  - [ controller-host, nrpe-controller]
+  - [ "nrpe-controller:monitors", "nagios-server:monitors" ]
+# nagios ceph
+  - [ cinder, nrpe-cinder]
+  - [ cinder-hacluster, nrpe-cinder]
+  - [ "nrpe-cinder:monitors", "nagios-server:monitors" ]
+  - [ glance, nrpe-glance]
+  - [ glance-hacluster, nrpe-glance]
+  - [ "nrpe-glance:monitors", "nagios-server:monitors" ]
+  - [ ceph-radosgw, nrpe-radosgw]
+  - [ ceph-radosgw-hacluster, nrpe-radosgw]
+  - [ "nrpe-radosgw:monitors", "nagios-server:monitors" ]
+# nagios keystone
+  - [ keystone, nrpe-keystone]
+  - [ keystone-hacluster, nrpe-keystone]
+  - [ "nrpe-keystone:monitors", "nagios-server:monitors" ]
+# nagios horizon
+  - [ openstack-dashboard, nrpe-dashboard]
+  - [ horizon-hacluster, nrpe-dashboard]
+  - [ "nrpe-dashboard:monitors", "nagios-server:monitors" ]
+# nagios neutron
+  - [ neutron-api, nrpe-neutron]
+  - [ neutron-api-hacluster, nrpe-neutron]
+  - [ "nrpe-neutron:monitors", "nagios-server:monitors" ]
+  - [ network-host, nrpe-neutrongw]
+  - [ neutron-gateway, nrpe-neutrongw]
+  - [ "nrpe-neutrongw:monitors", "nagios-server:monitors" ]
+# nagios nova
+  - [ nova-cloud-controller, nrpe-nova]
+  - [ controller-hacluster, nrpe-nova]
+  - [ "nrpe-nova:monitors", "nagios-server:monitors" ]
+  - [ compute-host, nrpe-novacompute]
+  - [ nova-compute, nrpe-novacompute]
+  - [ "nrpe-novacompute:monitors", "nagios-server:monitors" ]
+# nagios percona
+  - [ percona-cluster, nrpe-percona]
+  - [ percona-hacluster, nrpe-percona]
+  - [ "nrpe-percona:monitors", "nagios-server:monitors" ]
+# nagios memcache
+  - [ "memcached:nrpe-external-master", "nrpe-memcache:nrpe-external-master" ]
+  - [ "nrpe-memcache:monitors", "nagios-server:monitors" ]
+# nagios rabbitmq
+  - [rabbitmq-server, nrpe-rabbitmq]
+  - [ "nrpe-rabbitmq:monitors", "nagios-server:monitors" ]
+# ceilometer
+  - [ "ceilometer:amqp", "rabbitmq-server:amqp" ]
+  - [ "ceilometer:identity-service", "keystone:identity-service" ]
+  - [ "ceilometer:identity-notifications", "keystone:identity-notifications" ]
+  - [ "ceilometer-agent:nova-ceilometer", "nova-compute:nova-ceilometer" ]
+  - [ "ceilometer:ceilometer-service", "ceilometer-agent:ceilometer-service" ]
+  - [ "ceilometer:juju-info", "defaultgw:juju-info" ]
+
diff --git a/bundles/openstack/napoli/bundle_allinone.yaml b/bundles/openstack/napoli/bundle_allinone.yaml
new file mode 100644
index 0000000000000000000000000000000000000000..636dccfc386f7f8a5ace03ece848455e9eb867bd
--- /dev/null
+++ b/bundles/openstack/napoli/bundle_allinone.yaml
@@ -0,0 +1,1015 @@
+## Sample bundle for the deployment of OpenStack in a region of the
+## GARR Federated Cloud Platform.
+## This version deploys a local ceph.
+
+parameters:
+  # sources
+  openstack-origin: &openstack_origin   distro
+  series: &series  bionic
+  dashboard-series: &dashboard_series bionic
+
+  # Ceph configs
+  ceph-radosgw-lightweight-pool-pg-num:  &ceph_radosgw_lightweight_pool_pg_num  8
+  ceph-radosgw-rgw-buckets-pool-weight:  &ceph_radosgw_rgw_buckets_pool_weight  5
+  ceph-radosgw-config-flags:  &ceph_radosgw_config_flags
+
+  # network defaults:
+  flat-network-providers: &flat_network_providers  ext_net
+  neutron-external-network: &neutron_external_network ext_net
+  network-device-mtu: &network_device_mtu  9000
+  instance-mtu: &instance_mtu	8000
+  enable-dvr: &dvr_mode		False
+  vlan-ranges: &vlan_ranges	physnet-ovs:801:801
+  enable-local-dhcp-and-metadata: &enable_local_dhcp_and_metadata   True
+
+  # keystone/dashboard
+  preferred-api-version: &preferred_api_version     3
+
+  # nova-compute
+  worker-multiplier: &worker_multiplier             '1.0'
+  cpu-allocation-ratio: &cpu_allocation_ratio       '2.0'
+  ram-allocation-ratio: &ram_allocation_ratio       '1.5'
+  n-c-config-flags: &nova_compute_config_flags    "block_device_allocate_retries=600,block_device_allocate_retries_interval=5"
+
+  hugepages: &hugepages    '5%'
+  libvirt-image-backend: &libvirt_image_backend
+  cpu-mode: &cpu-mode
+
+# Ceilometer
+  event-time-to-live: &celiometer_event_time_to_live -1
+  metering-time-to-live: &celiometer_metering_time_to_live -1
+
+## Specific configuration file for a cloud region.
+## Edit values within <...> to represent your region.
+  # Region settings
+  region: &region                               garr-na2
+  # access-network: &access_network               <network_used_by_rabbit_and_percona>
+  # os-internal-network: &os_internal_network     <OpenStack_internal_network>
+  source_ntp: &source_ntp             ntp1.inrim.it
+  # os-data-network: &os_data_network   <OS_data_network>
+
+  # Nagios
+  nagios_context: &nagios_context               nagios
+  nagios_admin_email: &nagios_admin_email       csd-support@garr.it
+  nagios_admin_pwd: &nagiosadmin_pwd            '123grid@G4rr'
+  nagios_readonly_pwd: &nagiosro_pwd            '123grid@G4rr'
+
+  # Ceph configs
+  ceph-osd-partition: &ceph_osd_partition  "/dev/sdb" 
+  ceph-cinder-replication-count: &ceph_cinder_replication_count  1
+  ceph-glance-replication-count: &ceph_glance_replication_count  1
+  ceph-radosgw-replication-count: &ceph_radosgw_replication_count  1
+  ceph-radosgw-pool-prefix: &ceph_radosgw_pool_prefix    rgw
+
+  # vips (number of VIPs should match number of different bindings)
+
+  vip-ceilometer: &vip_ceilometer       10.6.4.100 90.147.153.100
+  vip-ceph-radosgw: &vip_ceph_radosgw   10.6.4.101 90.147.153.101
+  vip-cinder: &vip_cinder               10.6.4.102 90.147.153.102
+  vip-glance: &vip_glance               10.6.4.103 90.147.153.103
+  vip-heat: &vip_heat                   10.6.4.104 90.147.153.104
+  vip-dashboard: &vip_dashboard         10.6.4.105 90.147.153.105
+  vip-keystone: &vip_keystone           10.6.4.106 90.147.153.106
+  vip-percona: &vip_percona             10.6.4.107
+  vip-neutron: &vip_neutron             10.6.4.108 90.147.153.108
+  vip-nova: &vip_nova_cloud_controller  10.6.4.109 90.147.153.109
+  console-proxy-ip: &console_proxy_ip              90.147.153.109
+  # This is the gateway for public VIPs
+  default_public_gateway: &default_public_gateway     90.147.153.1
+
+  # hostnames
+  os-public-hostname: &os_public_hostname      keystone.na2.garrservices.it
+  os-internal-hostname: &os_internal_hostname  keystone.na2.garrservices.it
+  # this one could be identical to internal-hostname
+  os-admin-hostname: &os_admin_hostname        keystone.na2.garrservices.it
+
+  # network setup: should be the same cross-sites
+  ### Use network-space-* in bindings unless os-admin-* is usable instead
+  network-space-default: &network_space_default	space-os-mgmt
+   #network-space-default: &network_space_default	pubblica # temporary change
+  network-space-pub: &network_space_pub		space-pub
+# In the following we assume space-os-data is used both for compute-network
+# communication, and for ceph-OSD communication: can be split for better separation
+  network-space-os-data: &network_space_os_data	space-os-data
+  network-space-os-mgmt: &network_space_os_mgmt space-os-mgmt
+
+  # Change as appropriate
+  bridge-mappings: &bridge_mappings             ext_net:br-ex
+  data-port: &data_port                               "br-ex:bond0.401"
+
+  # secrets and passwords:
+  root-password: &root_password  '123percona@G4rr'
+  sst-password:  &sst_password   '123percona@G4rr'
+  admin-password: &admin_password  'ADMIN_g4rrXpr0gr3ss'
+  secret_dashboard: &secret_dashboard   '123grid@G4rr'
+  # encryption-key: &encryption_key       <encryption_key>
+#
+#  Set your corosync_keys by running (on your preferred machine):
+#  corosync-keygen ; cat /etc/corosync/authkey | base64 -w 0 ; echo " "
+  # corosync_key: &corosync_key   <corosync_key>
+
+  # keystone/dashboard
+  # CLA: ho usato pwgen 62 1
+  admin-token: &admin_token  Eig5JeiX5aiphohgiech6aozegh7ahfe5volei5zie2riemienai4ye3eiv3wi
+
+# ------------------------------------------------------------------------------
+machines:
+  '0':
+    constraints: arch=amd64 tags=staging-na-ctrl
+    series: *series
+  '1':
+    constraints: arch=amd64 tags=staging-na-ctrl
+    series: *series
+  '2':
+    constraints: arch=amd64 tags=staging-na-net
+    series: *series
+  '3':
+    constraints: arch=amd64 tags=staging-na-compute
+    series: *series
+  '4':
+    constraints: arch=amd64 tags=staging-na-compute
+    series: *series
+
+
+# ------------------------------------------------------------------------------
+services:
+
+  controller:
+    charm: cs:ubuntu
+    series: *series
+    num_units: 2
+    bindings:
+      "": *network_space_default
+    to:
+      - '0'
+      - '1'
+    annotations:
+      gui-x: '2000'
+      gui-y: '0'
+
+  compute-host:
+    charm: cs:ubuntu
+    series: *series
+    num_units: 2
+    to:
+      - '3'
+      - '4'
+    annotations:
+      gui-x: '2000'
+      gui-y: '500'
+
+  network-host:
+    charm: cs:ubuntu
+    series: *series
+    num_units: 1
+    to:
+      - '2'
+    annotations:
+      gui-x: '2000'
+      gui-y: '800'
+
+  ntp:
+    charm: cs:ntp
+    series: *series
+    options:
+      source: *source_ntp
+    annotations:
+      gui-x: '2200'
+      gui-y: '500'
+
+#   defaultgw:
+#     charm: cs:~csd-garr/defaultgw
+#     options:
+#       gateway: *default_public_gateway
+#     annotations:
+#       gui-x: '800'
+#       gui-y: '0'
+
+  ceph-radosgw-hacluster:
+    charm: cs:hacluster
+    series: *series
+    bindings:
+      "": *network_space_default
+    options:
+      # corosync_key: *corosync_key
+      nagios_context: *nagios_context
+      corosync_transport: 'unicast'
+      nagios_servicegroups: ceph,object,storage
+    annotations:
+      gui-x: '1000'
+      gui-y: '-200'
+
+  cinder-hacluster:
+    charm: cs:hacluster
+    series: *series
+    bindings:
+      "": *network_space_default
+    options:
+      # corosync_key: *corosync_key
+      nagios_context: *nagios_context
+      corosync_transport: 'unicast'
+      nagios_servicegroups: ceph,block,storage
+    annotations:
+      gui-x: '1250'
+      gui-y: '350'
+
+  controller-hacluster:
+    charm: cs:hacluster
+    series: *series
+    bindings:
+      "": *network_space_default
+    options:
+      # corosync_key: *corosync_key
+      nagios_context: *nagios_context
+      corosync_transport: 'unicast'
+      nagios_servicegroups: nova,compute
+    annotations:
+      gui-x: '-200'
+      gui-y: '500'
+
+  glance-hacluster:
+    charm: cs:hacluster
+    series: *series
+    bindings:
+      "": *network_space_default
+    options:
+      # corosync_key: *corosync_key
+      nagios_context: *nagios_context
+      corosync_transport: 'unicast'
+      nagios_servicegroups: ceph,object,storage
+    annotations:
+      gui-x: '1200'
+      gui-y: '600'
+
+  horizon-hacluster:
+    charm: cs:hacluster
+    series: *dashboard_series
+    bindings:
+      "": *network_space_default
+    options:
+      # corosync_key: *corosync_key
+      nagios_context: *nagios_context
+      corosync_transport: 'unicast'
+      nagios_servicegroups: dashboard,web
+    annotations:
+      gui-x: '250'
+      gui-y: '50'
+
+  keystone-hacluster:
+    charm: cs:hacluster
+    series: *series
+    bindings:
+      "": *network_space_default
+    options:
+      # corosync_key: *corosync_key
+      nagios_context: *nagios_context
+      corosync_transport: 'unicast'
+      nagios_servicegroups: keystone
+    annotations:
+      gui-x: '350'
+      gui-y: '350'
+
+  neutron-api-hacluster:
+    charm: cs:hacluster
+    series: *series
+    bindings:
+      "": *network_space_default
+    options:
+      # corosync_key: *corosync_key
+      nagios_context: *nagios_context
+      corosync_transport: 'unicast'
+      nagios_servicegroups: neutron
+    annotations:
+      gui-x: '550'
+      gui-y: '1350'
+
+  percona-hacluster:
+    charm: cs:hacluster
+    series: *series
+    bindings:
+      "": *network_space_default
+    options:
+      # corosync_key: *corosync_key
+      nagios_context: *nagios_context
+      corosync_transport: 'unicast'
+      nagios_servicegroups: database
+    annotations:
+      gui-x: '1300'
+      gui-y: '800'
+
+# Nagios
+  nagios-server:
+    charm: cs:nagios
+    series: *series
+    num_units: 1
+    bindings:
+      "": *network_space_default
+      website: *network_space_pub
+      #      website: *network_space_os_mgmt
+    options:
+      admin_email: *nagios_admin_email
+      password: *nagiosadmin_pwd
+      ro-password: *nagiosro_pwd
+      monitor_self: true
+    to:
+      - 'lxd:0'
+  nrpe-controller:
+    charm: cs:nrpe
+    series: *series
+    options:
+      swap: '-w 40% -c 25% -n ok'
+  nrpe-cinder:
+    charm: cs:nrpe
+    series: *series
+    options:
+      swap: '-w 40% -c 25% -n ok'
+  nrpe-cephmon:
+    charm: cs:nrpe
+    series: *series
+    options:
+      swap: '-w 40% -c 25% -n ok'
+  nrpe-cephosd:
+    charm: cs:nrpe
+    series: *series
+    options:
+      swap: '-w 40% -c 25% -n ok'
+  nrpe-glance:
+    charm: cs:nrpe
+    series: *series
+    options:
+      swap: '-w 40% -c 25% -n ok'
+  nrpe-radosgw:
+    charm: cs:nrpe
+    series: *series
+    options:
+      swap: '-w 40% -c 25% -n ok'
+  nrpe-keystone:
+    charm: cs:nrpe
+    series: *series
+    options:
+      swap: '-w 40% -c 25% -n ok'
+  nrpe-dashboard:
+    charm: cs:nrpe
+    series: *series
+    options:
+      swap: '-w 40% -c 25% -n ok'
+  nrpe-neutron:
+    charm: cs:nrpe
+    series: *series
+    options:
+      swap: '-w 40% -c 25% -n ok'
+  nrpe-neutrongw:
+    charm: cs:nrpe
+    series: *series
+    options:
+      swap: '-w 40% -c 25% -n ok'
+  nrpe-nova:
+    charm: cs:nrpe
+    series: *series
+    options:
+      swap: '-w 40% -c 25% -n ok'
+  nrpe-novacompute:
+    charm: cs:nrpe
+    series: *series
+    options:
+      swap: '-w 40% -c 25% -n ok'
+  nrpe-percona:
+    charm: cs:nrpe
+    series: *series
+    options:
+      swap: '-w 40% -c 25% -n ok'
+  nrpe-rabbitmq:
+    charm: cs:nrpe
+    series: *series
+    options:
+      swap: '-w 40% -c 25% -n ok'
+  nrpe-memcache:
+    charm: cs:nrpe
+    series: *series
+    options:
+      swap: '-w 40% -c 25% -n ok'
+
+  rabbitmq-server:
+    charm: cs:rabbitmq-server
+    series: *series
+    num_units: 3
+    bindings:
+      "": *network_space_default
+      amqp: *network_space_os_mgmt
+    options:
+      # access-network: *access_network
+      nagios_context: *nagios_context
+      min-cluster-size: 3
+      cluster-partition-handling: pause_minority
+      management_plugin: True
+      nagios_servicegroups: messaging
+      use-syslog: True
+    to:
+      - 'lxd:0'
+      - 'lxd:1'
+      - 'lxd:1'
+    annotations:
+      gui-x: '400'
+      gui-y: '800'
+
+  percona-cluster:
+    charm: cs:percona-cluster
+    series: *series
+    num_units: 3
+    bindings:
+      "": *network_space_default
+      shared-db: *network_space_os_mgmt
+      cluster: *network_space_os_mgmt
+    options:
+      # access-network: *access_network
+      # cluster-network: *access_network
+      nagios_context: *nagios_context
+      root-password: *root_password
+      sst-password: *sst_password
+      vip: *vip_percona
+      min-cluster-size: 3
+      innodb-buffer-pool-size: 10G
+      max-connections: 30000
+      nagios_servicegroups: database
+    to:
+      - 'lxd:0'
+      - 'lxd:0'
+      - 'lxd:1'
+    annotations:
+      gui-x: '1000'
+      gui-y: '800'
+
+  keystone:
+    charm: cs:keystone
+    series: *series
+    num_units: 3
+    bindings:
+      "": *network_space_default
+      public: *network_space_pub
+      admin: *network_space_os_mgmt
+      internal: *network_space_os_mgmt
+      shared-db: *network_space_os_mgmt
+      cluster: *network_space_os_mgmt
+    options:
+      admin-password: *admin_password
+      admin-token: *admin_token
+      nagios_context: *nagios_context
+      os-public-hostname: *os_public_hostname
+      region: *region
+      vip: *vip_keystone
+      openstack-origin: *openstack_origin
+      action-managed-upgrade: True
+      debug: 'False'
+      verbose: 'False'
+      admin-user: admin
+      nagios_servicegroups: keystone
+      worker-multiplier: *worker_multiplier
+      preferred-api-version: *preferred_api_version
+      region: *region
+      use-syslog: True
+    to:
+      - 'lxd:0'
+      - 'lxd:1'
+      - 'lxd:1'
+    annotations:
+      gui-x: '500'
+      gui-y: '500'
+
+  openstack-dashboard:
+    charm: cs:openstack-dashboard
+    series: *dashboard_series
+    num_units: 3
+    bindings:
+      "": *network_space_default
+      shared-db: *network_space_os_mgmt
+      cluster: *network_space_os_mgmt
+      website: *network_space_pub
+      dashboard-plugin: *network_space_os_mgmt
+      identity-service: *network_space_os_mgmt
+    options:
+      nagios_context: *nagios_context
+      secret: *secret_dashboard
+      vip: *vip_dashboard
+      openstack-origin: *openstack_origin
+      action-managed-upgrade: True
+      debug: 'False'
+      endpoint-type: internalURL,publicURL
+      nagios_servicegroups: dashboard,web
+      use-syslog: True
+      webroot: '/'
+    to:
+      - 'lxd:0'
+      - 'lxd:0'
+      - 'lxd:1'
+    annotations:
+      gui-x: '500'
+      gui-y: '0'
+
+  nova-compute:
+    charm: cs:nova-compute
+    series: *series
+    num_units: 2
+    bindings:
+      "": *network_space_default
+      amqp: *network_space_os_mgmt
+      cloud-compute: *network_space_os_mgmt
+      image-service: *network_space_os_mgmt
+      ceph: *network_space_os_mgmt
+      compute-peer: *network_space_os_mgmt
+      neutron-plugin: *network_space_os_mgmt
+    options:
+      # os-internal-network: *os_internal_network
+      nagios_context: *nagios_context
+      openstack-origin: *openstack_origin
+      action-managed-upgrade: True
+      debug: 'False'
+      verbose: 'False'
+      config-flags: *nova_compute_config_flags
+      cpu-mode: *cpu-mode
+      #enable-live-migration: False
+      enable-resize: False
+      migration-auth-type: ssh
+      libvirt-image-backend: *libvirt_image_backend
+      nagios_servicegroups: nova,compute
+      use-internal-endpoints: True
+      enable-resize: True
+      enable-live-migration: True
+    to:
+      - '3'
+      - '4'
+    annotations:
+      gui-x: '0'
+      gui-y: '200'
+
+  nova-cloud-controller:
+    charm: cs:nova-cloud-controller
+    series: *series
+    num_units: 3
+    bindings:
+      "": *network_space_default
+      public: *network_space_pub
+      admin: *network_space_os_mgmt
+      internal: *network_space_os_mgmt
+      amqp: *network_space_os_mgmt
+      cinder-volume-service: *network_space_os_mgmt
+      identity-service: *network_space_os_mgmt
+      image-service: *network_space_os_mgmt
+      quantum-network-service: *network_space_os_mgmt
+      cloud-compute: *network_space_os_mgmt
+      neutron-api: *network_space_os_mgmt
+#      cell: ###
+      memcache: *network_space_os_mgmt
+      shared-db: *network_space_os_mgmt
+      cluster: *network_space_os_mgmt
+    options:
+      region: *region
+      console-proxy-ip: *console_proxy_ip
+      nagios_context: *nagios_context
+      vip: *vip_nova_cloud_controller
+      openstack-origin: *openstack_origin
+      action-managed-upgrade: True
+      debug: 'False'
+      verbose: 'False'
+      region: *region
+      console-access-protocol: 'vnc'
+      nagios_servicegroups: nova,compute
+      network-manager: Neutron
+      cpu-allocation-ratio: *cpu_allocation_ratio
+      ram-allocation-ratio: *ram_allocation_ratio
+      service-guard: True
+      #single-nova-consoleauth: False
+      use-internal-endpoints: True
+      worker-multiplier: *worker_multiplier
+    to:
+      - 'lxd:0'
+      - 'lxd:0'
+      - 'lxd:1'
+    annotations:
+      gui-x: '0'
+      gui-y: '450'
+
+  neutron-api:
+    charm: cs:neutron-api
+    series: *series
+    num_units: 3
+    bindings:
+      "": *network_space_default
+      public: *network_space_pub
+      admin: *network_space_os_mgmt
+      internal: *network_space_os_mgmt
+      amqp: *network_space_os_mgmt
+      identity-service: *network_space_os_mgmt
+      neutron-api: *network_space_os_mgmt
+      neutron-plugin-api: *network_space_os_mgmt
+      shared-db: *network_space_os_mgmt
+      cluster: *network_space_os_mgmt
+    options:
+      region: *region
+      nagios_context: *nagios_context
+      neutron-external-network: *neutron_external_network
+      vip: *vip_neutron
+      openstack-origin: *openstack_origin
+      action-managed-upgrade: True
+      debug: 'False'
+      verbose: 'False'
+      region: *region
+      enable-ml2-port-security: True
+      flat-network-providers: *flat_network_providers
+      nagios_servicegroups: neutron
+      neutron-security-groups: True
+      network-device-mtu: *network_device_mtu
+      use-internal-endpoints: True
+      use-syslog: True
+      worker-multiplier: *worker_multiplier
+      enable-dvr: *dvr_mode
+    to:
+      - 'lxd:0'
+      - 'lxd:1'
+      - 'lxd:1'
+    annotations:
+      gui-x: '500'
+      gui-y: '1100'
+
+  neutron-openvswitch:
+    charm: cs:neutron-openvswitch
+    series: *series
+    bindings:
+      "": *network_space_default
+      amqp: *network_space_os_mgmt
+      data: *network_space_os_data
+      neutron-plugin: *network_space_os_mgmt
+      neutron-plugin-api: *network_space_os_mgmt
+    options:
+      # os-data-network: *os_data_network
+      debug: 'False'
+      verbose: 'False'
+      disable-security-groups: False
+      flat-network-providers: *flat_network_providers
+      use-syslog: True
+      enable-local-dhcp-and-metadata: *enable_local_dhcp_and_metadata
+    annotations:
+      gui-x: '1100'
+      gui-y: '1100'
+
+  cinder:
+    charm: cs:cinder
+    series: *series
+    num_units: 3
+    bindings:
+      "": *network_space_default
+      public: *network_space_pub
+      admin: *network_space_os_mgmt
+      internal: *network_space_os_mgmt
+      amqp: *network_space_os_mgmt
+      cinder-volume-service: *network_space_os_mgmt
+      identity-service: *network_space_os_mgmt
+      image-service: *network_space_os_mgmt
+      ceph: *network_space_os_mgmt
+      storage-backend: *network_space_os_mgmt
+      shared-db: *network_space_os_mgmt
+      cluster: *network_space_os_mgmt
+    options:
+      nagios_context: *nagios_context
+      region: *region
+      vip: *vip_cinder
+      openstack-origin: *openstack_origin
+      action-managed-upgrade: True
+      block-device: None
+      glance-api-version: 2
+      nagios_servicegroups: ceph,block,storage
+      region: *region
+      use-syslog: True
+      use-internal-endpoints: True
+      worker-multiplier: *worker_multiplier
+    to:
+      - 'lxd:0'
+      - 'lxd:1'
+      - 'lxd:1'
+    annotations:
+      gui-x: '1000'
+      gui-y: '200'
+
+  cinder-ceph:
+    charm: cs:cinder-ceph
+    series: *series
+    num_units: 0
+    bindings:
+      "": *network_space_default
+      ceph: *network_space_os_mgmt
+      storage-backend: *network_space_os_mgmt
+    options:
+      ceph-osd-replication-count: *ceph_cinder_replication_count
+      restrict-ceph-pools: True
+    annotations:
+      gui-x: '1330'
+      gui-y: '230'
+
+  ceph-mon:
+    charm: cs:ceph-mon
+    series: *series
+    num_units: 3 
+    bindings:
+      "": *network_space_default
+      public: *network_space_os_mgmt
+      client: *network_space_os_mgmt
+      radosgw: *network_space_os_mgmt
+      cluster: *network_space_os_mgmt
+      mon: *network_space_os_mgmt
+      osd: *network_space_os_mgmt
+    options:
+      nagios_context: *nagios_context
+      nagios_servicegroups: ceph,storage
+    to:
+      - 'lxd:0'
+      - 'lxd:1'
+      - 'lxd:1'
+    annotations:
+      gui-x: '1200'
+      gui-y: '400'
+
+  ceph-osd:
+    charm: cs:ceph-osd
+    series: *series
+    num_units: 2
+    bindings:
+      "": *network_space_default
+      public: *network_space_os_mgmt
+      cluster: *network_space_os_data
+      mon: *network_space_os_mgmt
+    options:
+      nagios_context: *nagios_context
+      osd-devices: *ceph_osd_partition
+      nagios_servicegroups: ceph,storage
+      osd-devices: *ceph_osd_partition
+      # osd-reformat: 'True'
+      osd-format: 'xfs'
+      use-syslog: True
+    to:
+      - '0'
+      - '1'
+    annotations:
+      gui-x: '1400'
+      gui-y: '400'
+
+  ceph-radosgw:
+    charm: cs:ceph-radosgw
+    series: *series
+    num_units: 3
+    bindings:
+      "": *network_space_default
+      public: *network_space_pub
+      admin: *network_space_os_mgmt
+      internal: *network_space_os_mgmt
+      cluster: *network_space_os_mgmt
+    options:
+      ceph-osd-replication-count: *ceph_radosgw_replication_count
+      config-flags: *ceph_radosgw_config_flags
+      nagios_context: *nagios_context
+      pool-prefix: *ceph_radosgw_pool_prefix
+      region: *region
+      rgw-buckets-pool-weight:  *ceph_radosgw_rgw_buckets_pool_weight
+      rgw-lightweight-pool-pg-num: *ceph_radosgw_lightweight_pool_pg_num
+      vip: *vip_ceph_radosgw
+      nagios_servicegroups: ceph,object,storage
+      restrict-ceph-pools: True
+      use-syslog: True
+    to:
+      - 'lxd:0'
+      - 'lxd:0'
+      - 'lxd:1'
+    annotations:
+      "gui-x": "1000"
+      "gui-y": "0"
+
+  glance:
+    charm: cs:glance
+    series: *series
+    num_units: 3
+    bindings:
+      "": *network_space_default
+      public: *network_space_pub
+      admin: *network_space_os_mgmt
+      internal: *network_space_os_mgmt
+      amqp: *network_space_os_mgmt
+      cinder-volume-service: *network_space_os_mgmt
+      identity-service: *network_space_os_mgmt
+      image-service: *network_space_os_mgmt
+      ceph: *network_space_os_mgmt
+      storage-backend: *network_space_os_mgmt
+      shared-db: *network_space_os_mgmt
+      cluster: *network_space_os_mgmt
+    options:
+      ceph-osd-replication-count: *ceph_glance_replication_count
+      region: *region
+      nagios_context: *nagios_context
+      vip: *vip_glance
+      openstack-origin: *openstack_origin
+      action-managed-upgrade: True
+      debug: 'False'
+      verbose: 'False'
+      region: *region
+      nagios_servicegroups: ceph,object,storage
+      use-internal-endpoints: True
+      use-syslog: True
+      restrict-ceph-pools: True
+    to:
+      - 'lxd:0'
+      - 'lxd:0'
+      - 'lxd:1'
+    annotations:
+      gui-x: '1000'
+      gui-y: '400'
+
+  memcached:
+    charm: cs:memcached
+    series: *series
+    num_units: 3
+    bindings:
+      "": *network_space_default
+      cache: *network_space_os_mgmt
+      cluster: *network_space_os_mgmt
+    options:
+      nagios_context: *nagios_context
+      allow-ufw-ip6-softfail: True
+    to:
+      - 'lxd:0'
+      - 'lxd:1'
+      - 'lxd:1'
+    annotations:
+      gui-x: '100'
+      gui-y: '800'
+
+  neutron-gateway:
+    charm: cs:neutron-gateway
+    series: *series
+    num_units: 1
+    bindings:
+      "": *network_space_default
+      data: *network_space_os_data
+      amqp: *network_space_os_mgmt
+      quantum-network-service: *network_space_os_mgmt
+      neutron-plugin-api: *network_space_os_mgmt
+      cluster: *network_space_os_mgmt
+    options:
+      bridge-mappings: *bridge_mappings
+      nagios_context: *nagios_context
+      # os-data-network: *os_data_network
+      openstack-origin: *openstack_origin
+      action-managed-upgrade: True
+      data-port: *data_port
+      # Lower instance MTU to fit GRE tunnel (without changing switch config etc)
+      instance-mtu: *instance_mtu
+      nagios_servicegroups: neutron
+    to:
+      - '2'
+    annotations:
+      gui-x: '0'
+      gui-y: '1100'
+
+#  ceilometer:
+#    charm: cs:ceilometer
+#    series: *series
+#    num_units: 1
+#    bindings:
+#      public: *network_space_pub
+#      admin: *network_space_os_mgmt
+#      internal: *network_space_os_mgmt
+#    options:
+#      region: *region
+#      action-managed-upgrade: True
+#      debug: False
+#      verbose: False
+#      event-time-to-live: *celiometer_event_time_to_live
+#      metering-time-to-live: *celiometer_metering_time_to_live
+#      region: *region
+#    to:
+#      - 'lxd:1'
+#    annotations:
+#      gui-x: '450'
+#      gui-y: '-250'
+
+#  ceilometer-agent:
+#    charm: cs:ceilometer-agent
+#    series: xenial
+#    options:
+#      action-managed-upgrade: True
+#    annotations:
+#      gui-x: '200'
+#      gui-y: '-150'
+
+# ------------------------------------------------------------------------------
+relations:
+  - [ ntp, controller ]
+#  - [ ntp, compute-host ]
+#  - [ ntp, network-host ]
+  - [ percona-cluster, percona-hacluster ]
+  - [ cinder, cinder-hacluster ]
+  - [ glance, glance-hacluster ]
+  - [ keystone, keystone-hacluster ]
+  - [ neutron-api, neutron-api-hacluster ]
+  - [ nova-cloud-controller, controller-hacluster ]
+  - [ openstack-dashboard, horizon-hacluster ]
+  - [ keystone, percona-cluster ]
+  - [ neutron-api, percona-cluster ]
+  - [ neutron-api, rabbitmq-server ]
+  - [ neutron-api, nova-cloud-controller ]
+  - [ neutron-api, keystone ]
+  - [ neutron-openvswitch, rabbitmq-server ]
+  - [ neutron-openvswitch, neutron-api ]
+  - [ neutron-openvswitch, nova-compute ]
+  - [ nova-cloud-controller, memcached ]
+  - [ "nova-cloud-controller:shared-db", "percona-cluster:shared-db" ]
+  - [ "nova-cloud-controller:amqp", "rabbitmq-server:amqp" ]
+  - [ nova-cloud-controller, glance ]
+  - [ nova-cloud-controller, keystone ]
+  - [ nova-compute, nova-cloud-controller ]
+  - [ "nova-compute:amqp", "rabbitmq-server:amqp" ]
+  - [ nova-compute, glance ]
+  - [ glance, percona-cluster ]
+  - [ glance, keystone ]
+  - [ "glance:image-service", "cinder:image-service" ]
+  - [ "glance:amqp", "rabbitmq-server:amqp" ]
+  - [ cinder, percona-cluster ]
+  - [ cinder, rabbitmq-server ]
+  - [ cinder, nova-cloud-controller ]
+  - [ cinder, keystone ]
+  - [ "openstack-dashboard:identity-service", "keystone:identity-service" ]
+  - [ "neutron-gateway:amqp", "rabbitmq-server:amqp" ]
+  - [ "neutron-gateway:neutron-plugin-api", "neutron-api:neutron-plugin-api" ]
+  - [ "nova-cloud-controller:quantum-network-service", "neutron-gateway:quantum-network-service" ]
+  - [ "cinder-ceph:ceph-access", "nova-compute:ceph-access" ]
+  - [ "ceph-mon:client", "nova-compute:ceph" ]
+  - [ "ceph-mon:client", "cinder-ceph:ceph" ]
+  - [ "cinder-ceph:storage-backend", "cinder:storage-backend" ]
+  - [ "ceph-mon:client", "glance:ceph" ]
+  - [ "ceph-osd:mon", "ceph-mon:osd" ]
+# ceph-radosgw
+  - [ "ceph-radosgw:ha", "ceph-radosgw-hacluster:ha" ]
+  - [ "keystone:identity-service", "ceph-radosgw:identity-service" ]
+  - [ "ceph-radosgw:mon", "ceph-mon:radosgw" ]
+#  - [ "ceph-radosgw:juju-info", "defaultgw:juju-info" ]
+# default-gw
+#  - [ "keystone:juju-info", "defaultgw:juju-info" ]
+#  - [ "openstack-dashboard:juju-info", "defaultgw:juju-info" ]
+#  - [ "nova-cloud-controller:juju-info", "defaultgw:juju-info" ]
+#  - [ "glance:juju-info", "defaultgw:juju-info" ]
+#  - [ "cinder:juju-info", "defaultgw:juju-info" ]
+#  - [ "neutron-api:juju-info", "defaultgw:juju-info" ]
+# nagios server
+#  - [ "nagios-server:juju-info", "defaultgw:juju-info" ]
+# nagios controllers (physical)
+  - [ controller, nrpe-controller]
+  - [ "nrpe-controller:monitors", "nagios-server:monitors" ]
+# nagios ceph
+  - [ ceph-mon, nrpe-cephmon]
+  - [ "nrpe-cephmon:monitors", "nagios-server:monitors" ]
+  - [ ceph-osd, nrpe-cephosd]
+  - [ "nrpe-cephosd:monitors", "nagios-server:monitors" ]
+  - [ cinder, nrpe-cinder]
+  - [ cinder-hacluster, nrpe-cinder]
+  - [ "nrpe-cinder:monitors", "nagios-server:monitors" ]
+  - [ glance, nrpe-glance]
+  - [ glance-hacluster, nrpe-glance]
+  - [ "nrpe-glance:monitors", "nagios-server:monitors" ]
+  - [ ceph-radosgw, nrpe-radosgw]
+  - [ ceph-radosgw-hacluster, nrpe-radosgw]
+  - [ "nrpe-radosgw:monitors", "nagios-server:monitors" ]
+# nagios keystone
+  - [ keystone, nrpe-keystone]
+  - [ keystone-hacluster, nrpe-keystone]
+  - [ "nrpe-keystone:monitors", "nagios-server:monitors" ]
+# nagios horizon
+  - [ openstack-dashboard, nrpe-dashboard]
+  - [ horizon-hacluster, nrpe-dashboard] 
+  - [ "nrpe-dashboard:monitors", "nagios-server:monitors" ] 
+# nagios neutron
+  - [ neutron-api, nrpe-neutron]
+  - [ neutron-api-hacluster, nrpe-neutron]
+  - [ "nrpe-neutron:monitors", "nagios-server:monitors" ]
+#  - [ network-host, nrpe-neutrongw]
+  - [ neutron-gateway, nrpe-neutrongw]
+  - [ "nrpe-neutrongw:monitors", "nagios-server:monitors" ]
+# nagios nova
+  - [ nova-cloud-controller, nrpe-nova]
+  - [ controller-hacluster, nrpe-nova]
+  - [ "nrpe-nova:monitors", "nagios-server:monitors" ]
+#  - [ compute-host, nrpe-novacompute]
+  - [ nova-compute, nrpe-novacompute]
+  - [ "nrpe-novacompute:monitors", "nagios-server:monitors" ]
+# nagios percona
+  - [ percona-cluster, nrpe-percona]
+  - [ percona-hacluster, nrpe-percona]
+  - [ "nrpe-percona:monitors", "nagios-server:monitors" ]
+# nagios memcache
+  - [ "memcached:nrpe-external-master", "nrpe-memcache:nrpe-external-master" ]
+  - [ "nrpe-memcache:monitors", "nagios-server:monitors" ]
+# nagios rabbitmq
+  - [rabbitmq-server, nrpe-rabbitmq]
+  - [ "nrpe-rabbitmq:monitors", "nagios-server:monitors" ]
+# ceilometer
+#  - [ "ceilometer:amqp", "rabbitmq-server:amqp" ]
+#  - [ "ceilometer:identity-service", "keystone:identity-service" ]
+#  - [ "ceilometer:identity-notifications", "keystone:identity-notifications" ]
+#  - [ "ceilometer-agent:nova-ceilometer", "nova-compute:nova-ceilometer" ]
+#  - [ "ceilometer:ceilometer-service", "ceilometer-agent:ceilometer-service" ]
+#  - [ "ceilometer:juju-info", "defaultgw:juju-info" ]
diff --git a/bundles/openstack/napoli/bundle_cephproxy.yaml b/bundles/openstack/napoli/bundle_cephproxy.yaml
new file mode 100644
index 0000000000000000000000000000000000000000..dcbbc8c5d2bc61ed363f984a91c4509be0f20f3a
--- /dev/null
+++ b/bundles/openstack/napoli/bundle_cephproxy.yaml
@@ -0,0 +1,1042 @@
+## Sample bundle for the deployment of OpenStack in a region of the
+## GARR Federated Cloud Platform.
+## This version deploys a local ceph.
+
+parameters:
+  # sources
+  openstack-origin: &openstack_origin   cloud:xenial-queens
+  series: &series  xenial
+  dashboard-series: &dashboard_series bionic
+
+  # Ceph proxy config
+  ceph-proxy-admin-key: &ceph_proxy_admin_key AQAIc7lcZDfDBxAAku93E8t4R+wDZWsEe/yXBA==
+  ceph-proxy-fsid: &ceph_proxy_fsid 6a3ce468-2e7e-49b4-8136-233916037d94
+  ceph-proxy-monitor-hosts: &ceph_proxy_monitor_hosts "10.6.3.21"
+
+
+  # Ceph configs
+  #ceph-radosgw-lightweight-pool-pg-num:  &ceph_radosgw_lightweight_pool_pg_num  8
+  #ceph-radosgw-rgw-buckets-pool-weight:  &ceph_radosgw_rgw_buckets_pool_weight  5
+  #ceph-radosgw-config-flags:  &ceph_radosgw_config_flags
+
+  # network defaults:
+  flat-network-providers: &flat_network_providers  ext_net
+  neutron-external-network: &neutron_external_network ext_net
+  network-device-mtu: &network_device_mtu  9000
+  instance-mtu: &instance_mtu	8000
+  enable-dvr: &dvr_mode		False
+  vlan-ranges: &vlan_ranges	physnet-ovs:801:801
+  enable-local-dhcp-and-metadata: &enable_local_dhcp_and_metadata   True
+  enable-ml2-dns: &enable_ml2_dns True
+  dns-domain: &dns_domain garr.cloud.na.
+
+  # keystone/dashboard
+  preferred-api-version: &preferred_api_version     3
+
+  # nova-compute
+  worker-multiplier: &worker_multiplier             '1.0'
+  cpu-allocation-ratio: &cpu_allocation_ratio       '2.0'
+  ram-allocation-ratio: &ram_allocation_ratio       '1.5'
+  n-c-config-flags: &nova_compute_config_flags    "block_device_allocate_retries=600,block_device_allocate_retries_interval=5"
+
+  hugepages: &hugepages    '5%'
+  libvirt-image-backend: &libvirt_image_backend rbd
+  rbd-pool: &rbd_pool cinder-ceph
+  cpu-mode: &cpu-mode
+
+# Ceilometer
+  event-time-to-live: &celiometer_event_time_to_live -1
+  metering-time-to-live: &celiometer_metering_time_to_live -1
+
+## Specific configuration file for a cloud region.
+## Edit values within <...> to represent your region.
+  # Region settings
+  region: &region                               garr-na2-staging
+  # access-network: &access_network               <network_used_by_rabbit_and_percona>
+  # os-internal-network: &os_internal_network     <OpenStack_internal_network>
+  source_ntp: &source_ntp             ntp1.inrim.it
+  # os-data-network: &os_data_network   <OS_data_network>
+
+  # Nagios
+  nagios_context: &nagios_context               nagios
+  nagios_admin_email: &nagios_admin_email       csd-support@garr.it
+  nagios_admin_pwd: &nagiosadmin_pwd            '123grid@G4rr'
+  nagios_readonly_pwd: &nagiosro_pwd            '123grid@G4rr'
+
+  # Ceph configs
+  #ceph-osd-partition: &ceph_osd_partition  "/dev/sdb" 
+  ceph-cinder-replication-count: &ceph_cinder_replication_count  3
+  #ceph-glance-replication-count: &ceph_glance_replication_count  1
+  #ceph-radosgw-replication-count: &ceph_radosgw_replication_count  1
+  #ceph-radosgw-pool-prefix: &ceph_radosgw_pool_prefix    rgw
+
+  # vips (number of VIPs should match number of different bindings)
+
+  vip-percona: &vip_percona             10.6.4.100
+  vip-ceilometer: &vip_ceilometer       10.6.4.101 90.147.153.101
+  vip-ceph-radosgw: &vip_ceph_radosgw   10.6.4.102 90.147.153.102
+  vip-cinder: &vip_cinder               10.6.4.103 90.147.153.103
+  vip-glance: &vip_glance               10.6.4.104 90.147.153.104
+  vip-heat: &vip_heat                   10.6.4.105 90.147.153.105
+  vip-dashboard: &vip_dashboard         10.6.4.106 90.147.153.106
+  vip-keystone: &vip_keystone           10.6.4.107 90.147.153.107
+  vip-neutron: &vip_neutron             10.6.4.108 90.147.153.108
+  vip-nova: &vip_nova_cloud_controller  10.6.4.109 90.147.153.109
+  console-proxy-ip: &console_proxy_ip              90.147.153.109
+  # This is the gateway for public VIPs
+  default_public_gateway: &default_public_gateway     90.147.153.1
+
+  # hostnames
+  os-public-hostname: &os_public_hostname      keystone.na2.garrservices.it
+  os-internal-hostname: &os_internal_hostname  keystone.na2.garrservices.it
+  # this one could be identical to internal-hostname
+  os-admin-hostname: &os_admin_hostname        keystone.na2.garrservices.it
+
+  # network setup: should be the same cross-sites
+  ### Use network-space-* in bindings unless os-admin-* is usable instead
+  network-space-default: &network_space_default	space-os-mgmt
+   #network-space-default: &network_space_default	pubblica # temporary change
+  network-space-pub: &network_space_pub		space-pub
+# In the following we assume space-os-data is used both for compute-network
+# communication, and for ceph-OSD communication: can be split for better separation
+  network-space-os-data: &network_space_os_data	space-os-data
+  network-space-os-mgmt: &network_space_os_mgmt space-os-mgmt
+
+  # Change as appropriate
+  bridge-mappings: &bridge_mappings             ext_net:br-ex
+  data-port: &data_port                               "br-ex:bond0.401"
+
+  # secrets and passwords:
+  root-password: &root_password  '123percona@G4rr'
+  sst-password:  &sst_password   '123percona@G4rr'
+  admin-password: &admin_password  'ADMIN_g4rrXpr0gr3ss'
+  secret_dashboard: &secret_dashboard   '123grid@G4rr'
+  # encryption-key: &encryption_key       <encryption_key>
+#
+#  Set your corosync_keys by running (on your preferred machine):
+#  corosync-keygen ; cat /etc/corosync/authkey | base64 -w 0 ; echo " "
+  # corosync_key: &corosync_key   <corosync_key>
+
+  # keystone/dashboard
+  # CLA: ho usato pwgen 62 1
+  admin-token: &admin_token  Eig5JeiX5aiphohgiech6aozegh7ahfe5volei5zie2riemienai4ye3eiv3wi
+
+# ------------------------------------------------------------------------------
+machines:
+  '0':
+    constraints: arch=amd64 tags=staging-na-ctrl
+    series: *series
+  '1':
+    constraints: arch=amd64 tags=staging-na-ctrl
+    series: *series
+  '2':
+    constraints: arch=amd64 tags=staging-na-net
+    series: *series
+  '3':
+    constraints: arch=amd64 tags=staging-na-net
+    series: *series
+  '4':
+    constraints: arch=amd64 tags=staging-na-compute
+    series: *series
+  '5':
+    constraints: arch=amd64 tags=staging-na-compute
+    series: *series
+
+
+# ------------------------------------------------------------------------------
+services:
+
+  controller:
+    charm: cs:ubuntu
+    series: *series
+    num_units: 2
+    bindings:
+      "": *network_space_default
+    to:
+      - '0'
+      - '1'
+    annotations:
+      gui-x: '2000'
+      gui-y: '0'
+
+  network-host:
+    charm: cs:ubuntu
+    series: *series
+    num_units: 2
+    to:
+      - '2'
+      - '3' 
+    annotations:
+      gui-x: '2000'
+      gui-y: '800'
+
+  compute-host:
+    charm: cs:ubuntu
+    series: *series
+    num_units: 2
+    to:
+      - '4'
+      - '5'
+    annotations:
+      gui-x: '2000'
+      gui-y: '500'
+
+  ntp:
+    charm: cs:ntp
+    series: *series
+    options:
+      source: *source_ntp
+    annotations:
+      gui-x: '2200'
+      gui-y: '500'
+
+  ceph-proxy:
+    charm: cs:ceph-proxy
+    series: *series
+    bindings:
+      "": *network_space_default
+    options:
+      admin-key: *ceph_proxy_admin_key
+      fsid: *ceph_proxy_fsid
+      monitor-hosts: *ceph_proxy_monitor_hosts
+      source: *openstack_origin
+    annotations:
+      gui-x: '1000'
+      gui-y: '-200'
+
+  ceph-radosgw-hacluster:
+    charm: cs:hacluster
+    series: *series
+    bindings:
+      "": *network_space_default
+    options:
+      # corosync_key: *corosync_key
+      nagios_context: *nagios_context
+      corosync_transport: 'unicast'
+      nagios_servicegroups: ceph,object,storage
+    annotations:
+      gui-x: '1000'
+      gui-y: '-200'
+
+  cinder-hacluster:
+    charm: cs:hacluster
+    series: *series
+    bindings:
+      "": *network_space_default
+    options:
+      # corosync_key: *corosync_key
+      nagios_context: *nagios_context
+      corosync_transport: 'unicast'
+      nagios_servicegroups: ceph,block,storage
+    annotations:
+      gui-x: '1250'
+      gui-y: '350'
+
+  controller-hacluster:
+    charm: cs:hacluster
+    series: *series
+    bindings:
+      "": *network_space_default
+    options:
+      # corosync_key: *corosync_key
+      nagios_context: *nagios_context
+      corosync_transport: 'unicast'
+      nagios_servicegroups: nova,compute
+    annotations:
+      gui-x: '-200'
+      gui-y: '500'
+
+  glance-hacluster:
+    charm: cs:hacluster
+    series: *series
+    bindings:
+      "": *network_space_default
+    options:
+      # corosync_key: *corosync_key
+      nagios_context: *nagios_context
+      corosync_transport: 'unicast'
+      nagios_servicegroups: ceph,object,storage
+    annotations:
+      gui-x: '1200'
+      gui-y: '600'
+
+  horizon-hacluster:
+    charm: cs:hacluster
+    series: *dashboard_series
+    bindings:
+      "": *network_space_default
+    options:
+      # corosync_key: *corosync_key
+      nagios_context: *nagios_context
+      corosync_transport: 'unicast'
+      nagios_servicegroups: dashboard,web
+    annotations:
+      gui-x: '250'
+      gui-y: '50'
+
+  keystone-hacluster:
+    charm: cs:hacluster
+    series: *series
+    bindings:
+      "": *network_space_default
+    options:
+      # corosync_key: *corosync_key
+      nagios_context: *nagios_context
+      corosync_transport: 'unicast'
+      nagios_servicegroups: keystone
+    annotations:
+      gui-x: '350'
+      gui-y: '350'
+
+  neutron-api-hacluster:
+    charm: cs:hacluster
+    series: *series
+    bindings:
+      "": *network_space_default
+    options:
+      # corosync_key: *corosync_key
+      nagios_context: *nagios_context
+      corosync_transport: 'unicast'
+      nagios_servicegroups: neutron
+    annotations:
+      gui-x: '550'
+      gui-y: '1350'
+
+  percona-hacluster:
+    charm: cs:hacluster
+    series: *series
+    bindings:
+      "": *network_space_default
+    options:
+      # corosync_key: *corosync_key
+      nagios_context: *nagios_context
+      corosync_transport: 'unicast'
+      nagios_servicegroups: database
+    annotations:
+      gui-x: '1300'
+      gui-y: '800'
+
+# Nagios
+  nagios-server:
+    charm: cs:nagios
+    series: *series
+    num_units: 1
+    bindings:
+      "": *network_space_default
+      website: *network_space_pub
+      #      website: *network_space_os_mgmt
+    options:
+      admin_email: *nagios_admin_email
+      password: *nagiosadmin_pwd
+      ro-password: *nagiosro_pwd
+      monitor_self: true
+    to:
+      - 'lxd:0'
+  nrpe-controller:
+    charm: cs:nrpe
+    series: *series
+    options:
+      swap: '-w 40% -c 25% -n ok'
+  nrpe-cinder:
+    charm: cs:nrpe
+    series: *series
+    options:
+      swap: '-w 40% -c 25% -n ok'
+#  nrpe-cephmon:
+#    charm: cs:nrpe
+#    series: *series
+#    options:
+#      swap: '-w 40% -c 25% -n ok'
+#  nrpe-cephosd:
+#    charm: cs:nrpe
+#    series: *series
+#    options:
+#      swap: '-w 40% -c 25% -n ok'
+  nrpe-glance:
+    charm: cs:nrpe
+    series: *series
+    options:
+      swap: '-w 40% -c 25% -n ok'
+  nrpe-radosgw:
+    charm: cs:nrpe
+    series: *series
+    options:
+      swap: '-w 40% -c 25% -n ok'
+  nrpe-keystone:
+    charm: cs:nrpe
+    series: *series
+    options:
+      swap: '-w 40% -c 25% -n ok'
+  nrpe-dashboard:
+    charm: cs:nrpe
+    series: *series
+    options:
+      swap: '-w 40% -c 25% -n ok'
+  nrpe-neutron:
+    charm: cs:nrpe
+    series: *series
+    options:
+      swap: '-w 40% -c 25% -n ok'
+  nrpe-neutrongw:
+    charm: cs:nrpe
+    series: *series
+    options:
+      swap: '-w 40% -c 25% -n ok'
+  nrpe-nova:
+    charm: cs:nrpe
+    series: *series
+    options:
+      swap: '-w 40% -c 25% -n ok'
+  nrpe-novacompute:
+    charm: cs:nrpe
+    series: *series
+    options:
+      swap: '-w 40% -c 25% -n ok'
+  nrpe-percona:
+    charm: cs:nrpe
+    series: *series
+    options:
+      swap: '-w 40% -c 25% -n ok'
+  nrpe-rabbitmq:
+    charm: cs:nrpe
+    series: *series
+    options:
+      swap: '-w 40% -c 25% -n ok'
+  nrpe-memcache:
+    charm: cs:nrpe
+    series: *series
+    options:
+      swap: '-w 40% -c 25% -n ok'
+
+  rabbitmq-server:
+    charm: cs:rabbitmq-server
+    series: *series
+    num_units: 3
+    bindings:
+      "": *network_space_default
+      amqp: *network_space_os_mgmt
+    options:
+      # access-network: *access_network
+      nagios_context: *nagios_context
+      min-cluster-size: 3
+      cluster-partition-handling: pause_minority
+      management_plugin: True
+      nagios_servicegroups: messaging
+      use-syslog: True
+    to:
+      - 'lxd:0'
+      - 'lxd:1'
+      - 'lxd:1'
+    annotations:
+      gui-x: '400'
+      gui-y: '800'
+
+  percona-cluster:
+    charm: cs:percona-cluster
+    series: *series
+    num_units: 3
+    bindings:
+      "": *network_space_default
+      shared-db: *network_space_os_mgmt
+      cluster: *network_space_os_mgmt
+    options:
+      # access-network: *access_network
+      # cluster-network: *access_network
+      nagios_context: *nagios_context
+      root-password: *root_password
+      sst-password: *sst_password
+      vip: *vip_percona
+      min-cluster-size: 3
+      innodb-buffer-pool-size: 10G
+      max-connections: 30000
+      nagios_servicegroups: database
+    to:
+      - 'lxd:0'
+      - 'lxd:0'
+      - 'lxd:1'
+    annotations:
+      gui-x: '1000'
+      gui-y: '800'
+
+  keystone:
+    charm: cs:keystone
+    series: *series
+    num_units: 3
+    bindings:
+      "": *network_space_default
+      public: *network_space_pub
+      admin: *network_space_os_mgmt
+      internal: *network_space_os_mgmt
+      shared-db: *network_space_os_mgmt
+      cluster: *network_space_os_mgmt
+    options:
+      admin-password: *admin_password
+      admin-token: *admin_token
+      nagios_context: *nagios_context
+      os-public-hostname: *os_public_hostname
+      region: *region
+      vip: *vip_keystone
+      openstack-origin: *openstack_origin
+      action-managed-upgrade: True
+      debug: 'False'
+      verbose: 'False'
+      admin-user: admin
+      nagios_servicegroups: keystone
+      worker-multiplier: *worker_multiplier
+      preferred-api-version: *preferred_api_version
+      region: *region
+      use-syslog: True
+    to:
+      - 'lxd:0'
+      - 'lxd:1'
+      - 'lxd:1'
+    annotations:
+      gui-x: '500'
+      gui-y: '500'
+
+  openstack-dashboard:
+    charm: cs:openstack-dashboard
+    series: *dashboard_series
+    num_units: 3
+    bindings:
+      "": *network_space_default
+      shared-db: *network_space_os_mgmt
+      cluster: *network_space_os_mgmt
+      website: *network_space_pub
+      dashboard-plugin: *network_space_os_mgmt
+      identity-service: *network_space_os_mgmt
+    options:
+      nagios_context: *nagios_context
+      secret: *secret_dashboard
+      vip: *vip_dashboard
+      openstack-origin: *openstack_origin
+      action-managed-upgrade: True
+      debug: 'False'
+      endpoint-type: internalURL,publicURL
+      nagios_servicegroups: dashboard,web
+      use-syslog: True
+      webroot: '/'
+    to:
+      - 'lxd:0'
+      - 'lxd:0'
+      - 'lxd:1'
+    annotations:
+      gui-x: '500'
+      gui-y: '0'
+
+  nova-compute:
+    charm: cs:nova-compute
+    series: *series
+    num_units: 2
+    bindings:
+      "": *network_space_default
+      amqp: *network_space_os_mgmt
+      cloud-compute: *network_space_os_mgmt
+      image-service: *network_space_os_mgmt
+      ceph: *network_space_os_mgmt
+      compute-peer: *network_space_os_mgmt
+      neutron-plugin: *network_space_os_mgmt
+    options:
+      # os-internal-network: *os_internal_network
+      nagios_context: *nagios_context
+      openstack-origin: *openstack_origin
+      action-managed-upgrade: True
+      debug: 'False'
+      verbose: 'False'
+      config-flags: *nova_compute_config_flags
+      cpu-mode: *cpu-mode
+      #enable-live-migration: False
+      enable-resize: False
+      migration-auth-type: ssh
+      libvirt-image-backend: *libvirt_image_backend
+      rbd-pool: *rbd_pool
+      nagios_servicegroups: nova,compute
+      use-internal-endpoints: True
+      enable-resize: True
+      enable-live-migration: True
+    to:
+      - '4'
+      - '5'
+    annotations:
+      gui-x: '0'
+      gui-y: '200'
+
+  nova-cloud-controller:
+    charm: cs:nova-cloud-controller
+    series: *series
+    num_units: 3
+    bindings:
+      "": *network_space_default
+      public: *network_space_pub
+      admin: *network_space_os_mgmt
+      internal: *network_space_os_mgmt
+      amqp: *network_space_os_mgmt
+      cinder-volume-service: *network_space_os_mgmt
+      identity-service: *network_space_os_mgmt
+      image-service: *network_space_os_mgmt
+      quantum-network-service: *network_space_os_mgmt
+      cloud-compute: *network_space_os_mgmt
+      neutron-api: *network_space_os_mgmt
+#      cell: ###
+      memcache: *network_space_os_mgmt
+      shared-db: *network_space_os_mgmt
+      cluster: *network_space_os_mgmt
+    options:
+      region: *region
+      console-proxy-ip: *console_proxy_ip
+      nagios_context: *nagios_context
+      vip: *vip_nova_cloud_controller
+      openstack-origin: *openstack_origin
+      action-managed-upgrade: True
+      debug: 'False'
+      verbose: 'False'
+      region: *region
+      console-access-protocol: 'vnc'
+      nagios_servicegroups: nova,compute
+      network-manager: Neutron
+      cpu-allocation-ratio: *cpu_allocation_ratio
+      ram-allocation-ratio: *ram_allocation_ratio
+      service-guard: True
+      #single-nova-consoleauth: False
+      use-internal-endpoints: True
+      worker-multiplier: *worker_multiplier
+    to:
+      - 'lxd:0'
+      - 'lxd:0'
+      - 'lxd:1'
+    annotations:
+      gui-x: '0'
+      gui-y: '450'
+
+  neutron-api:
+    charm: cs:neutron-api
+    series: *series
+    num_units: 3
+    bindings:
+      "": *network_space_default
+      public: *network_space_pub
+      admin: *network_space_os_mgmt
+      internal: *network_space_os_mgmt
+      amqp: *network_space_os_mgmt
+      identity-service: *network_space_os_mgmt
+      neutron-api: *network_space_os_mgmt
+      neutron-plugin-api: *network_space_os_mgmt
+      shared-db: *network_space_os_mgmt
+      cluster: *network_space_os_mgmt
+    options:
+      region: *region
+      nagios_context: *nagios_context
+      neutron-external-network: *neutron_external_network
+      vip: *vip_neutron
+      openstack-origin: *openstack_origin
+      action-managed-upgrade: True
+      debug: 'False'
+      verbose: 'False'
+      region: *region
+      enable-ml2-port-security: True
+      flat-network-providers: *flat_network_providers
+      nagios_servicegroups: neutron
+      neutron-security-groups: True
+      network-device-mtu: *network_device_mtu
+      use-internal-endpoints: True
+      use-syslog: True
+      worker-multiplier: *worker_multiplier
+      enable-dvr: *dvr_mode
+      enable-ml2-dns: *enable_ml2_dns 
+      dns-domain: *dns_domain
+    to:
+      - 'lxd:0'
+      - 'lxd:1'
+      - 'lxd:1'
+    annotations:
+      gui-x: '500'
+      gui-y: '1100'
+
+  neutron-openvswitch:
+    charm: cs:neutron-openvswitch
+    series: *series
+    bindings:
+      "": *network_space_default
+      amqp: *network_space_os_mgmt
+      data: *network_space_os_data
+      neutron-plugin: *network_space_os_mgmt
+      neutron-plugin-api: *network_space_os_mgmt
+    options:
+      # os-data-network: *os_data_network
+      debug: 'False'
+      verbose: 'False'
+      disable-security-groups: False
+      flat-network-providers: *flat_network_providers
+      use-syslog: True
+      enable-local-dhcp-and-metadata: *enable_local_dhcp_and_metadata
+    annotations:
+      gui-x: '1100'
+      gui-y: '1100'
+
+  cinder:
+    charm: cs:cinder
+    series: *series
+    num_units: 3
+    bindings:
+      "": *network_space_default
+      public: *network_space_pub
+      admin: *network_space_os_mgmt
+      internal: *network_space_os_mgmt
+      amqp: *network_space_os_mgmt
+      cinder-volume-service: *network_space_os_mgmt
+      identity-service: *network_space_os_mgmt
+      image-service: *network_space_os_mgmt
+      ceph: *network_space_os_mgmt
+      storage-backend: *network_space_os_mgmt
+      shared-db: *network_space_os_mgmt
+      cluster: *network_space_os_mgmt
+    options:
+      nagios_context: *nagios_context
+      region: *region
+      vip: *vip_cinder
+      openstack-origin: *openstack_origin
+      action-managed-upgrade: True
+      block-device: None
+      glance-api-version: 2
+      nagios_servicegroups: ceph,block,storage
+      region: *region
+      use-syslog: True
+      use-internal-endpoints: True
+      worker-multiplier: *worker_multiplier
+    to:
+      - 'lxd:0'
+      - 'lxd:1'
+      - 'lxd:1'
+    annotations:
+      gui-x: '1000'
+      gui-y: '200'
+
+  cinder-ceph:
+    charm: cs:cinder-ceph
+    series: *series
+    num_units: 0
+    bindings:
+      "": *network_space_default
+      ceph: *network_space_os_mgmt
+      storage-backend: *network_space_os_mgmt
+    options:
+      ceph-osd-replication-count: *ceph_cinder_replication_count
+      restrict-ceph-pools: True
+    annotations:
+      gui-x: '1330'
+      gui-y: '230'
+
+#  ceph-mon:
+#    charm: cs:ceph-mon
+#    series: *series
+#    num_units: 3 
+#    bindings:
+#      "": *network_space_default
+#      public: *network_space_os_mgmt
+#      client: *network_space_os_mgmt
+#      radosgw: *network_space_os_mgmt
+#      cluster: *network_space_os_mgmt
+#      mon: *network_space_os_mgmt
+#      osd: *network_space_os_mgmt
+#    options:
+#      nagios_context: *nagios_context
+#      nagios_servicegroups: ceph,storage
+#    to:
+#      - 'lxd:0'
+#      - 'lxd:1'
+#      - 'lxd:1'
+#    annotations:
+#      gui-x: '1200'
+#      gui-y: '400'
+#
+#  ceph-osd:
+#    charm: cs:ceph-osd
+#    series: *series
+#    num_units: 2
+#    bindings:
+#      "": *network_space_default
+#      public: *network_space_os_mgmt
+#      cluster: *network_space_os_data
+#      mon: *network_space_os_mgmt
+#    options:
+#      nagios_context: *nagios_context
+#      osd-devices: *ceph_osd_partition
+#      nagios_servicegroups: ceph,storage
+#      osd-devices: *ceph_osd_partition
+#      # osd-reformat: 'True'
+#      osd-format: 'xfs'
+#      use-syslog: True
+#    to:
+#      - '0'
+#      - '1'
+#    annotations:
+#      gui-x: '1400'
+#      gui-y: '400'
+
+  ceph-radosgw:
+    charm: cs:ceph-radosgw
+    series: *series
+    num_units: 3
+    bindings:
+      "": *network_space_default
+      public: *network_space_pub
+      admin: *network_space_os_mgmt
+      internal: *network_space_os_mgmt
+      cluster: *network_space_os_mgmt
+    options:
+      ceph-osd-replication-count: *ceph_radosgw_replication_count
+      config-flags: *ceph_radosgw_config_flags
+      nagios_context: *nagios_context
+      pool-prefix: *ceph_radosgw_pool_prefix
+      region: *region
+      rgw-buckets-pool-weight:  *ceph_radosgw_rgw_buckets_pool_weight
+      rgw-lightweight-pool-pg-num: *ceph_radosgw_lightweight_pool_pg_num
+      vip: *vip_ceph_radosgw
+      nagios_servicegroups: ceph,object,storage
+      restrict-ceph-pools: True
+      use-syslog: True
+    to:
+      - 'lxd:0'
+      - 'lxd:0'
+      - 'lxd:1'
+    annotations:
+      "gui-x": "1000"
+      "gui-y": "0"
+
+  glance:
+    charm: cs:glance
+    series: *series
+    num_units: 3
+    bindings:
+      "": *network_space_default
+      public: *network_space_pub
+      admin: *network_space_os_mgmt
+      internal: *network_space_os_mgmt
+      amqp: *network_space_os_mgmt
+      cinder-volume-service: *network_space_os_mgmt
+      identity-service: *network_space_os_mgmt
+      image-service: *network_space_os_mgmt
+      ceph: *network_space_os_mgmt
+      storage-backend: *network_space_os_mgmt
+      shared-db: *network_space_os_mgmt
+      cluster: *network_space_os_mgmt
+    options:
+      ceph-osd-replication-count: *ceph_glance_replication_count
+      region: *region
+      nagios_context: *nagios_context
+      vip: *vip_glance
+      openstack-origin: *openstack_origin
+      action-managed-upgrade: True
+      debug: 'False'
+      verbose: 'False'
+      region: *region
+      nagios_servicegroups: ceph,object,storage
+      use-internal-endpoints: True
+      use-syslog: True
+      restrict-ceph-pools: True
+    to:
+      - 'lxd:0'
+      - 'lxd:0'
+      - 'lxd:1'
+    annotations:
+      gui-x: '1000'
+      gui-y: '400'
+
+  memcached:
+    charm: cs:memcached
+    series: *series
+    num_units: 3
+    bindings:
+      "": *network_space_default
+      cache: *network_space_os_mgmt
+      cluster: *network_space_os_mgmt
+    options:
+      nagios_context: *nagios_context
+      allow-ufw-ip6-softfail: True
+    to:
+      - 'lxd:0'
+      - 'lxd:1'
+      - 'lxd:1'
+    annotations:
+      gui-x: '100'
+      gui-y: '800'
+
+  neutron-gateway:
+    charm: cs:neutron-gateway
+    series: *series
+    num_units: 2
+    bindings:
+      "": *network_space_default
+      data: *network_space_os_data
+      amqp: *network_space_os_mgmt
+      quantum-network-service: *network_space_os_mgmt
+      neutron-plugin-api: *network_space_os_mgmt
+      cluster: *network_space_os_mgmt
+    options:
+      bridge-mappings: *bridge_mappings
+      nagios_context: *nagios_context
+      # os-data-network: *os_data_network
+      openstack-origin: *openstack_origin
+      action-managed-upgrade: True
+      data-port: *data_port
+      # Lower instance MTU to fit GRE tunnel (without changing switch config etc)
+      instance-mtu: *instance_mtu
+      nagios_servicegroups: neutron
+    to:
+      - '2'
+      - '3'
+    annotations:
+      gui-x: '0'
+      gui-y: '1100'
+
+#  ceilometer:
+#    charm: cs:ceilometer
+#    series: *series
+#    num_units: 1
+#    bindings:
+#      public: *network_space_pub
+#      admin: *network_space_os_mgmt
+#      internal: *network_space_os_mgmt
+#    options:
+#      region: *region
+#      action-managed-upgrade: True
+#      debug: False
+#      verbose: False
+#      event-time-to-live: *celiometer_event_time_to_live
+#      metering-time-to-live: *celiometer_metering_time_to_live
+#      region: *region
+#    to:
+#      - 'lxd:1'
+#    annotations:
+#      gui-x: '450'
+#      gui-y: '-250'
+
+#  ceilometer-agent:
+#    charm: cs:ceilometer-agent
+#    series: xenial
+#    options:
+#      action-managed-upgrade: True
+#    annotations:
+#      gui-x: '200'
+#      gui-y: '-150'
+
+# ------------------------------------------------------------------------------
+relations:
+  - [ ntp, controller ]
+#  - [ ntp, compute-host ]
+#  - [ ntp, network-host ]
+  - [ percona-cluster, percona-hacluster ]
+  - [ cinder, cinder-hacluster ]
+  - [ glance, glance-hacluster ]
+  - [ keystone, keystone-hacluster ]
+  - [ neutron-api, neutron-api-hacluster ]
+  - [ nova-cloud-controller, controller-hacluster ]
+  - [ openstack-dashboard, horizon-hacluster ]
+  - [ keystone, percona-cluster ]
+  - [ neutron-api, percona-cluster ]
+  - [ neutron-api, rabbitmq-server ]
+  - [ neutron-api, nova-cloud-controller ]
+  - [ neutron-api, keystone ]
+  - [ neutron-openvswitch, rabbitmq-server ]
+  - [ neutron-openvswitch, neutron-api ]
+  - [ neutron-openvswitch, nova-compute ]
+  - [ nova-cloud-controller, memcached ]
+  - [ "nova-cloud-controller:shared-db", "percona-cluster:shared-db" ]
+  - [ "nova-cloud-controller:amqp", "rabbitmq-server:amqp" ]
+  - [ nova-cloud-controller, glance ]
+  - [ nova-cloud-controller, keystone ]
+  - [ nova-compute, nova-cloud-controller ]
+  - [ "nova-compute:amqp", "rabbitmq-server:amqp" ]
+  - [ nova-compute, glance ]
+  - [ glance, percona-cluster ]
+  - [ glance, keystone ]
+  - [ "glance:image-service", "cinder:image-service" ]
+  - [ "glance:amqp", "rabbitmq-server:amqp" ]
+  - [ cinder, percona-cluster ]
+  - [ cinder, rabbitmq-server ]
+  - [ cinder, nova-cloud-controller ]
+  - [ cinder, keystone ]
+  - [ "openstack-dashboard:identity-service", "keystone:identity-service" ]
+  - [ "neutron-gateway:amqp", "rabbitmq-server:amqp" ]
+  - [ "neutron-gateway:neutron-plugin-api", "neutron-api:neutron-plugin-api" ]
+  - [ "nova-cloud-controller:quantum-network-service", "neutron-gateway:quantum-network-service" ]
+  - [ "cinder-ceph:ceph-access", "nova-compute:ceph-access" ]
+#  - [ "ceph-mon:client", "nova-compute:ceph" ]
+#  - [ "ceph-mon:client", "cinder-ceph:ceph" ]
+  - [ "ceph-proxy:client", "nova-compute:ceph" ]
+  - [ "ceph-proxy:client", "cinder-ceph:ceph" ]
+  - [ "cinder-ceph:storage-backend", "cinder:storage-backend" ]
+  - [ "ceph-proxy:client", "glance:ceph" ]
+#  - [ "ceph-mon:client", "glance:ceph" ]
+#  - [ "ceph-osd:mon", "ceph-mon:osd" ]
+# ceph-radosgw
+  - [ "ceph-radosgw:ha", "ceph-radosgw-hacluster:ha" ]
+  - [ "keystone:identity-service", "ceph-radosgw:identity-service" ]
+  - [ "ceph-radosgw:mon", "ceph-proxy:radosgw" ]
+#  - [ "ceph-radosgw:mon", "ceph-mon:radosgw" ]
+#  - [ "ceph-radosgw:juju-info", "defaultgw:juju-info" ]
+# default-gw
+#  - [ "keystone:juju-info", "defaultgw:juju-info" ]
+#  - [ "openstack-dashboard:juju-info", "defaultgw:juju-info" ]
+#  - [ "nova-cloud-controller:juju-info", "defaultgw:juju-info" ]
+#  - [ "glance:juju-info", "defaultgw:juju-info" ]
+#  - [ "cinder:juju-info", "defaultgw:juju-info" ]
+#  - [ "neutron-api:juju-info", "defaultgw:juju-info" ]
+# nagios server
+#  - [ "nagios-server:juju-info", "defaultgw:juju-info" ]
+# nagios controllers (physical)
+  - [ controller, nrpe-controller]
+  - [ "nrpe-controller:monitors", "nagios-server:monitors" ]
+# nagios ceph
+#  - [ ceph-mon, nrpe-cephmon]
+#  - [ "nrpe-cephmon:monitors", "nagios-server:monitors" ]
+#  - [ ceph-osd, nrpe-cephosd]
+#  - [ "nrpe-cephosd:monitors", "nagios-server:monitors" ]
+  - [ cinder, nrpe-cinder]
+  - [ cinder-hacluster, nrpe-cinder]
+  - [ "nrpe-cinder:monitors", "nagios-server:monitors" ]
+  - [ glance, nrpe-glance]
+  - [ glance-hacluster, nrpe-glance]
+  - [ "nrpe-glance:monitors", "nagios-server:monitors" ]
+  - [ ceph-radosgw, nrpe-radosgw]
+  - [ ceph-radosgw-hacluster, nrpe-radosgw]
+  - [ "nrpe-radosgw:monitors", "nagios-server:monitors" ]
+# nagios keystone
+  - [ keystone, nrpe-keystone]
+  - [ keystone-hacluster, nrpe-keystone]
+  - [ "nrpe-keystone:monitors", "nagios-server:monitors" ]
+# nagios horizon
+  - [ openstack-dashboard, nrpe-dashboard]
+  - [ horizon-hacluster, nrpe-dashboard] 
+  - [ "nrpe-dashboard:monitors", "nagios-server:monitors" ] 
+# nagios neutron
+  - [ neutron-api, nrpe-neutron]
+  - [ neutron-api-hacluster, nrpe-neutron]
+  - [ "nrpe-neutron:monitors", "nagios-server:monitors" ]
+#  - [ network-host, nrpe-neutrongw]
+  - [ neutron-gateway, nrpe-neutrongw]
+  - [ "nrpe-neutrongw:monitors", "nagios-server:monitors" ]
+# nagios nova
+  - [ nova-cloud-controller, nrpe-nova]
+  - [ controller-hacluster, nrpe-nova]
+  - [ "nrpe-nova:monitors", "nagios-server:monitors" ]
+#  - [ compute-host, nrpe-novacompute]
+  - [ nova-compute, nrpe-novacompute]
+  - [ "nrpe-novacompute:monitors", "nagios-server:monitors" ]
+# nagios percona
+  - [ percona-cluster, nrpe-percona]
+  - [ percona-hacluster, nrpe-percona]
+  - [ "nrpe-percona:monitors", "nagios-server:monitors" ]
+# nagios memcache
+  - [ "memcached:nrpe-external-master", "nrpe-memcache:nrpe-external-master" ]
+  - [ "nrpe-memcache:monitors", "nagios-server:monitors" ]
+# nagios rabbitmq
+  - [rabbitmq-server, nrpe-rabbitmq]
+  - [ "nrpe-rabbitmq:monitors", "nagios-server:monitors" ]
+# ceilometer
+#  - [ "ceilometer:amqp", "rabbitmq-server:amqp" ]
+#  - [ "ceilometer:identity-service", "keystone:identity-service" ]
+#  - [ "ceilometer:identity-notifications", "keystone:identity-notifications" ]
+#  - [ "ceilometer-agent:nova-ceilometer", "nova-compute:nova-ceilometer" ]
+#  - [ "ceilometer:ceilometer-service", "ceilometer-agent:ceilometer-service" ]
+#  - [ "ceilometer:juju-info", "defaultgw:juju-info" ]
diff --git a/bundles/openstack/bundle-config.cephlocal.yaml b/bundles/openstack/old/bundle-config.cephlocal.yaml
similarity index 100%
rename from bundles/openstack/bundle-config.cephlocal.yaml
rename to bundles/openstack/old/bundle-config.cephlocal.yaml
diff --git a/bundles/openstack/bundle-config.cephlocal.yaml.ori b/bundles/openstack/old/bundle-config.cephlocal.yaml.ori
similarity index 100%
rename from bundles/openstack/bundle-config.cephlocal.yaml.ori
rename to bundles/openstack/old/bundle-config.cephlocal.yaml.ori
diff --git a/bundles/openstack/old/bundle-config.yaml b/bundles/openstack/old/bundle-config.yaml
new file mode 100644
index 0000000000000000000000000000000000000000..614ba9f24bd9133c91d852dffec5bb7b28d81ad0
--- /dev/null
+++ b/bundles/openstack/old/bundle-config.yaml
@@ -0,0 +1,371 @@
+## Specific configuration file for a cloud region.
+## Edit values within <...> to represent your region.
+
+parameters:
+  # Region settings
+  region: &region                               <region>
+  access-network: &access_network               <network_used_by_rabbit_and_percona>
+  os-internal-network: &os_internal_network     <OpenStack_internal_network>
+  source_ntp: &source_ntp             <NTP_server>
+  os-data-network: &os_data_network   <OS_data_network>
+
+  # Nagios
+  nagios_context: &nagios_context               <nagios_context>
+  nagios_admin_email: &nagios_admin_email       <nagiosadmin@domain.org>
+  nagios_admin_pwd: &nagiosadmin_pwd            <aVeryDifficultPwd>
+  nagios_readonly_pwd: &nagiosro_pwd            <aDifficultPwd>
+
+  # Ceph configs
+  ceph-fsid: &ceph_fsid   <FSID_here>
+  ceph-monitor-hosts: &ceph_monitor_hosts    [cephmon1:port[ cephmon2:port cephmon3:port]]
+  ceph-admin-key: &ceph_admin_key    <ceph_admin_key_here>
+
+  ceph-cinder-replication-count: &ceph_cinder_replication_count  2
+  ceph-glance-replication-count: &ceph_glance_replication_count  2
+  ceph-radosgw-replication-count: &ceph_radosgw_replication_count  2
+  ceph-radosgw-pool-prefix: &ceph_radosgw_pool_prefix    rgw
+
+  # vips (number of VIPs should match number of different bindings)
+
+  vip-ceilometer: &vip_ceilometer       <VIP_priv_8> <VIP_pub_8>
+  vip-ceph-radosgw: &vip_ceph_radosgw   <VIP_priv_7> <VIP_pub_7>
+  vip-cinder: &vip_cinder               <VIP_priv_0> <VIP_pub_0>
+  vip-glance: &vip_glance               <VIP_priv_5> <VIP_pub_5>
+  vip-heat: &vip_heat                   <VIP_priv_4> <VIP_pub_4>
+  vip-dashboard: &vip_dashboard         <VIP_pub_2>
+  vip-keystone: &vip_keystone           <VIP_priv_1> <VIP_pub_1>
+  vip-percona: &vip_percona             <VIP_priv_2>
+  vip-neutron: &vip_neutron             <VIP_priv_6> <VIP_pub_6>
+  vip-nova: &vip_nova_cloud_controller  <VIP_priv_3> <VIP_pub_3>
+  console-proxy-ip: &console_proxy_ip   <VIP_pub_3>
+  # This is the gateway for public VIPs
+  default_public_gateway: &default_public_gateway  <default_public_gateway_in_CIDR_notation>
+
+  # hostnames
+  os-public-hostname: &os_public_hostname  <keystone_public_hostname>
+  os-internal-hostname: &os_internal_hostname  <keystone_internal_hostname>
+  # this one could be identical to internal-hostname
+  os-admin-hostname: &os_admin_hostname  <keystone_admin_hostname>
+
+  # network setup: should be the same cross-sites
+  ### Use network-space-* in bindings unless os-admin-* is usable instead
+  network-space-default: &network_space_default	<MAAS_OS_mgmt_space>
+  network-space-pub: &network_space_pub		<MAAS_pub_space>
+  network-space-os-data: &network_space_os_data	<MAAS_OS_data_space>
+  network-space-os-mgmt: &network_space_os_mgmt	<MAAS_OS_mgmt_space>
+
+  # Change as appropriate
+  bridge-mappings: &bridge_mappings             ext_net:br-ex
+  data-port: &data_port				br-ex:bond0.188
+
+  # secrets and passwords:
+  root-password: &root_password  <root_password>
+  sst-password:  &sst_password   <sst_password>
+  admin-password: &admin_password  <admin_password>
+  secret_dashboard: &secret_dashboard   <secret>
+  encryption-key: &encryption_key       <encryption_key>
+#
+#  Set your corosync_keys by running (on your preferred machine):
+#  corosync-keygen ; cat /etc/corosync/authkey | base64 -w 0 ; echo " "
+  corosync_key: &corosync_key   <corosync_key>
+
+  # keystone/dashboard
+  admin-token: &admin_token  <admin_token>
+
+# ----------------------------------------------------------------------
+services:
+
+  controller:
+    bindings:
+      "": *network_space_default
+
+  ntp:
+    options:
+      source: *source_ntp
+
+  defaultgw:
+    options:
+      gateway: *default_public_gateway
+
+  ceph-radosgw-hacluster:
+    bindings:
+      "": *network_space_os_mgmt
+    options:
+      corosync_key: *corosync_key
+      nagios_context: *nagios_context
+
+  cinder-hacluster:
+    bindings:
+      "": *network_space_os_mgmt
+    options:
+      corosync_key: *corosync_key
+      nagios_context: *nagios_context
+
+  controller-hacluster:
+    bindings:
+      "": *network_space_os_mgmt
+    options:
+      corosync_key: *corosync_key
+      nagios_context: *nagios_context
+
+  glance-hacluster:
+    bindings:
+      "": *network_space_os_mgmt
+    options:
+      corosync_key: *corosync_key
+      nagios_context: *nagios_context
+
+  horizon-hacluster:
+    bindings:
+      "": *network_space_os_mgmt
+    options:
+      corosync_key: *corosync_key
+      nagios_context: *nagios_context
+
+  keystone-hacluster:
+    bindings:
+      "": *network_space_os_mgmt
+    options:
+      corosync_key: *corosync_key
+      nagios_context: *nagios_context
+
+  neutron-api-hacluster:
+    bindings:
+      "": *network_space_os_mgmt
+    options:
+      corosync_key: *corosync_key
+      nagios_context: *nagios_context
+
+  percona-hacluster:
+    bindings:
+      "": *network_space_os_mgmt
+    options:
+      corosync_key: *corosync_key
+      nagios_context: *nagios_context
+
+  nagios-server:
+    bindings:
+      "": *network_space_os_mgmt
+      website: *network_space_pub
+    options:
+      admin_email: *nagios_admin_email
+      password: *nagiosadmin_pwd
+      ro-password: *nagiosro_pwd
+
+  rabbitmq-server:
+    bindings:
+      "": *network_space_default
+      amqp: *network_space_os_mgmt
+    options:
+      access-network: *access_network
+      nagios_context: *nagios_context
+
+  percona-cluster:
+    bindings:
+      "": *network_space_default
+      shared-db: *network_space_os_mgmt
+      cluster: *network_space_os_mgmt
+    options:
+      access-network: *access_network
+      cluster-network: *access_network
+      nagios_context: *nagios_context
+      root-password: *root_password
+      sst-password: *sst_password
+      vip: *vip_percona
+
+  keystone:
+    bindings:
+      "": *network_space_default
+      public: *network_space_pub
+      admin: *network_space_os_mgmt
+      internal: *network_space_os_mgmt
+      shared-db: *network_space_os_mgmt
+      cluster: *network_space_os_mgmt
+    options:
+      admin-password: *admin_password
+      admin-token: *admin_token
+      nagios_context: *nagios_context
+      os-public-hostname: *os_public_hostname
+      region: *region
+      vip: *vip_keystone
+
+  openstack-dashboard:
+    bindings:
+      "": *network_space_default
+      shared-db: *network_space_os_mgmt
+      cluster: *network_space_os_mgmt
+      website: *network_space_pub
+      dashboard-plugin: *network_space_os_mgmt
+      identity-service: *network_space_os_mgmt
+    options:
+      nagios_context: *nagios_context
+      secret: *secret_dashboard
+      vip: *vip_dashboard
+
+  nova-compute:
+    bindings:
+      "": *network_space_default
+      amqp: *network_space_os_mgmt
+      cloud-compute: *network_space_os_mgmt
+      image-service: *network_space_os_mgmt
+      ceph: *network_space_os_mgmt
+      compute-peer: *network_space_os_mgmt
+      neutron-plugin: *network_space_os_mgmt
+    options:
+      os-internal-network: *os_internal_network
+      nagios_context: *nagios_context
+
+  nova-cloud-controller:
+    bindings:
+      "": *network_space_default
+      public: *network_space_pub
+      admin: *network_space_os_mgmt
+      internal: *network_space_os_mgmt
+      amqp: *network_space_os_mgmt
+      cinder-volume-service: *network_space_os_mgmt
+      identity-service: *network_space_os_mgmt
+      image-service: *network_space_os_mgmt
+      quantum-network-service: *network_space_os_mgmt
+      cloud-compute: *network_space_os_mgmt
+      neutron-api: *network_space_os_mgmt
+#      cell: ###
+      memcache: *network_space_os_mgmt
+      shared-db: *network_space_os_mgmt
+      cluster: *network_space_os_mgmt
+    options:
+      region: *region
+      console-proxy-ip: *console_proxy_ip
+      nagios_context: *nagios_context
+      vip: *vip_nova_cloud_controller
+
+  neutron-api:
+    bindings:
+      "": *network_space_default
+      public: *network_space_pub
+      admin: *network_space_os_mgmt
+      internal: *network_space_os_mgmt
+      amqp: *network_space_os_mgmt
+      identity-service: *network_space_os_mgmt
+      neutron-api: *network_space_os_mgmt
+      neutron-plugin-api: *network_space_os_mgmt
+      shared-db: *network_space_os_mgmt
+      cluster: *network_space_os_mgmt
+    options:
+      region: *region
+      nagios_context: *nagios_context
+      neutron-external-network: *neutron_external_network
+      vip: *vip_neutron
+
+  neutron-openvswitch:
+    bindings:
+      "": *network_space_default
+      amqp: *network_space_os_mgmt
+      data: *network_space_os_data
+      neutron-plugin: *network_space_os_mgmt
+      neutron-plugin-api: *network_space_os_mgmt
+    options:
+      os-data-network: *os_data_network
+
+  cinder:
+    bindings:
+      "": *network_space_default
+      public: *network_space_pub
+      admin: *network_space_os_mgmt
+      internal: *network_space_os_mgmt
+      amqp: *network_space_os_mgmt
+      cinder-volume-service: *network_space_os_mgmt
+      identity-service: *network_space_os_mgmt
+      image-service: *network_space_os_mgmt
+      ceph: *network_space_os_mgmt
+      storage-backend: *network_space_os_mgmt
+      shared-db: *network_space_os_mgmt
+      cluster: *network_space_os_mgmt
+    options:
+      nagios_context: *nagios_context
+      region: *region
+      vip: *vip_cinder
+
+  cinder-ceph:
+    bindings:
+      "": *network_space_default
+      ceph: *network_space_os_mgmt
+      storage-backend: *network_space_os_mgmt
+    options:
+      ceph-osd-replication-count: *ceph_cinder_replication_count
+
+  ceph-proxy:
+    bindings:
+      "": *network_space_default
+      public: *network_space_os_mgmt
+      client: *network_space_os_mgmt
+      radosgw: *network_space_os_mgmt
+    options:
+      fsid: *ceph_fsid
+      monitor-hosts: *ceph_monitor_hosts
+      admin-key: *ceph_admin_key
+
+  ceph-radosgw:
+    bindings:
+      "": *network_space_default
+      public: *network_space_pub
+      admin: *network_space_os_mgmt
+      internal: *network_space_os_mgmt
+      cluster: *network_space_os_mgmt
+    options:
+      ceph-osd-replication-count: *ceph_radosgw_replication_count
+      config-flags: *ceph_radosgw_config_flags
+      nagios_context: *nagios_context
+      pool-prefix: *ceph_radosgw_pool_prefix
+      region: *region
+      rgw-buckets-pool-weight:  *ceph_radosgw_rgw_buckets_pool_weight
+      rgw-lightweight-pool-pg-num: *ceph_radosgw_lightweight_pool_pg_num
+      vip: *vip_ceph_radosgw
+
+  glance:
+    bindings:
+      "": *network_space_default
+      public: *network_space_pub
+      admin: *network_space_os_mgmt
+      internal: *network_space_os_mgmt
+      amqp: *network_space_os_mgmt
+      cinder-volume-service: *network_space_os_mgmt
+      identity-service: *network_space_os_mgmt
+      image-service: *network_space_os_mgmt
+      ceph: *network_space_os_mgmt
+      storage-backend: *network_space_os_mgmt
+      shared-db: *network_space_os_mgmt
+      cluster: *network_space_os_mgmt
+    options:
+      ceph-osd-replication-count: *ceph_glance_replication_count
+      region: *region
+      nagios_context: *nagios_context
+      vip: *vip_glance
+
+  memcached:
+    bindings:
+      "": *network_space_default
+      cache: *network_space_os_mgmt
+      cluster: *network_space_os_mgmt
+    options:
+      nagios_context: *nagios_context
+
+  neutron-gateway:
+    bindings:
+      "": *network_space_default
+      data: *network_space_os_data
+      amqp: *network_space_os_mgmt
+      quantum-network-service: *network_space_os_mgmt
+      neutron-plugin-api: *network_space_os_mgmt
+      cluster: *network_space_os_mgmt
+    options:
+      bridge-mappings: *bridge_mappings
+      nagios_context: *nagios_context
+      os-data-network: *os_data_network
+
+  ceilometer:
+    bindings:
+      public: *network_space_pub
+      admin: *network_space_os_mgmt
+      internal: *network_space_os_mgmt
+    options:
+      region: *region
diff --git a/bundles/openstack/bundle.allinone.yaml b/bundles/openstack/old/bundle.allinone.yaml
similarity index 100%
rename from bundles/openstack/bundle.allinone.yaml
rename to bundles/openstack/old/bundle.allinone.yaml
diff --git a/bundles/openstack/bundle.cephlocal.allinone.yaml b/bundles/openstack/old/bundle.cephlocal.allinone.yaml
similarity index 100%
rename from bundles/openstack/bundle.cephlocal.allinone.yaml
rename to bundles/openstack/old/bundle.cephlocal.allinone.yaml
diff --git a/bundles/openstack/bundle.cephlocal.yaml b/bundles/openstack/old/bundle.cephlocal.yaml
similarity index 100%
rename from bundles/openstack/bundle.cephlocal.yaml
rename to bundles/openstack/old/bundle.cephlocal.yaml
diff --git a/bundles/openstack/bundle_nopasswd_00216760.yaml b/bundles/openstack/old/bundle_nopasswd_00216760.yaml
similarity index 100%
rename from bundles/openstack/bundle_nopasswd_00216760.yaml
rename to bundles/openstack/old/bundle_nopasswd_00216760.yaml
diff --git a/bundles/openstack/unipd/bundle.pd.federation.yaml b/bundles/openstack/unipd/bundle.pd.federation.yaml
new file mode 100644
index 0000000000000000000000000000000000000000..97458e62de6e6cda64837a27f48b8ce0f0148315
--- /dev/null
+++ b/bundles/openstack/unipd/bundle.pd.federation.yaml
@@ -0,0 +1,1006 @@
+## Sample bundle for the deployment of OpenStack in a region of the
+## GARR Federated Cloud Platform.
+## This version deploys a local ceph.
+
+parameters:
+  # sources
+  openstack-origin: &openstack_origin   distro
+  series: &series  bionic
+  dashboard-series: &dashboard_series bionic
+
+  # Ceph configs
+  ceph-radosgw-lightweight-pool-pg-num:  &ceph_radosgw_lightweight_pool_pg_num  8
+  ceph-radosgw-rgw-buckets-pool-weight:  &ceph_radosgw_rgw_buckets_pool_weight  5
+  ceph-radosgw-config-flags:  &ceph_radosgw_config_flags
+
+  # network defaults:
+  flat-network-providers: &flat_network_providers  ext_net
+  neutron-external-network: &neutron_external_network ext_net
+  network-device-mtu: &network_device_mtu  1500
+  instance-mtu: &instance_mtu	1400
+  enable-dvr: &dvr_mode		False
+  vlan-ranges: &vlan_ranges	physnet-ovs:801:801
+  enable-local-dhcp-and-metadata: &enable_local_dhcp_and_metadata   True
+
+  # keystone/dashboard
+  preferred-api-version: &preferred_api_version     3
+
+  # nova-compute
+  worker-multiplier: &worker_multiplier             '1.0'
+  cpu-allocation-ratio: &cpu_allocation_ratio       '2.0'
+  ram-allocation-ratio: &ram_allocation_ratio       '1.5'
+  n-c-config-flags: &nova_compute_config_flags    "block_device_allocate_retries=600,block_device_allocate_retries_interval=5"
+
+  hugepages: &hugepages    '5%'
+  libvirt-image-backend: &libvirt_image_backend
+  cpu-mode: &cpu-mode
+
+# Ceilometer
+  event-time-to-live: &celiometer_event_time_to_live -1
+  metering-time-to-live: &celiometer_metering_time_to_live -1
+
+## Specific configuration file for a cloud region.
+## Edit values within <...> to represent your region.
+  # Region settings
+  region: &region                               unipd-1
+  # access-network: &access_network               <network_used_by_rabbit_and_percona>
+  # os-internal-network: &os_internal_network     <OpenStack_internal_network>
+  source_ntp: &source_ntp             ntp1.inrim.it
+  # os-data-network: &os_data_network   <OS_data_network>
+
+  # Nagios
+  nagios_context: &nagios_context               nagios
+  nagios_admin_email: &nagios_admin_email       vittorio.gallo@unipd.it	
+  nagios_admin_pwd: &nagiosadmin_pwd            '!garr123'
+  nagios_readonly_pwd: &nagiosro_pwd            '!garr123'
+
+  # Ceph configs
+  ceph-osd-partition: &ceph_osd_partition  "/dev/sda /dev/sdb /dev/sdc /dev/sdd /dev/sde /dev/sdf /dev/sdg /dev/sdh /dev/sdi /dev/sdj /dev/sdk /dev/sdl /dev/sdm /dev/sdn /dev/sdo /dev/sdp /dev/sdq /dev/sdr /dev/sds /dev/sdt /dev/sdu /dev/sdv" 
+  ceph-cinder-replication-count: &ceph_cinder_replication_count  2
+  ceph-glance-replication-count: &ceph_glance_replication_count  2
+  ceph-radosgw-replication-count: &ceph_radosgw_replication_count  2
+  ceph-radosgw-pool-prefix: &ceph_radosgw_pool_prefix    rgw
+
+  # vips (number of VIPs should match number of different bindings)
+
+  vip-ceilometer: &vip_ceilometer       192.168.20.61 147.162.164.21
+  vip-ceph-radosgw: &vip_ceph_radosgw   192.168.20.62 147.162.164.22
+  vip-cinder: &vip_cinder               192.168.20.63 147.162.164.23
+  vip-glance: &vip_glance               192.168.20.64 147.162.164.24
+  vip-heat: &vip_heat                   192.168.20.65 147.162.164.25
+  vip-dashboard: &vip_dashboard                       147.162.164.26
+  vip-keystone: &vip_keystone           192.168.20.66 147.162.164.27
+  vip-percona: &vip_percona             192.168.20.67
+  vip-neutron: &vip_neutron             192.168.20.68 147.162.164.28
+  vip-nova: &vip_nova_cloud_controller  192.168.20.69 147.162.164.29
+  console-proxy-ip: &console_proxy_ip                 147.162.164.29
+  # This is the gateway for public VIPs
+  default_public_gateway: &default_public_gateway     147.162.164.1
+
+  # hostnames
+  os-public-hostname: &os_public_hostname      keystone.ict.unipd.it
+  os-internal-hostname: &os_internal_hostname  keystone.ict.unipd.it
+  # this one could be identical to internal-hostname
+  os-admin-hostname: &os_admin_hostname        keystone.ict.unipd.it
+
+  # network setup: should be the same cross-sites
+  ### Use network-space-* in bindings unless os-admin-* is usable instead
+  network-space-default: &network_space_default	openstack-mgt
+   #network-space-default: &network_space_default	pubblica # temporary change
+  network-space-pub: &network_space_pub		pubblica
+# In the following we assume space-os-data is used both for compute-network
+# communication, and for ceph-OSD communication: can be split for better separation
+  network-space-os-data: &network_space_os_data	openstack-mgt
+  network-space-os-mgmt: &network_space_os_mgmt openstack-mgt
+
+  # Change as appropriate
+  bridge-mappings: &bridge_mappings             ext_net:br-ex
+  data-port: &data_port				"br-ex:enp94s0f1.20"
+
+  # secrets and passwords:
+  root-password: &root_password  '!garr123'
+  sst-password:  &sst_password   '!garr123'
+  admin-password: &admin_password  '!garr123'
+  secret_dashboard: &secret_dashboard   garr123
+  # encryption-key: &encryption_key       <encryption_key>
+#
+#  Set your corosync_keys by running (on your preferred machine):
+#  corosync-keygen ; cat /etc/corosync/authkey | base64 -w 0 ; echo " "
+  # corosync_key: &corosync_key   <corosync_key>
+
+  # keystone/dashboard
+  # CLA: ho usato pwgen 62 1
+  admin-token: &admin_token  Eig5JeiX5aiphohgiech6aozegh7ahfe5volei5zie2riemienai4ye3eiv3wi
+
+# ------------------------------------------------------------------------------
+machines:
+  '0':
+    constraints: arch=amd64 tags=hyperconverged_host
+    series: *series
+  '1':
+    constraints: arch=amd64 tags=hyperconverged_host
+    series: *series
+
+# ------------------------------------------------------------------------------
+services:
+
+  controller:
+    charm: cs:ubuntu
+    series: *series
+    num_units: 2
+    bindings:
+      "": *network_space_default
+    to:
+      - '0'
+      - '1'
+    annotations:
+      gui-x: '2000'
+      gui-y: '0'
+
+#  compute-host:
+#    charm: cs:ubuntu
+#    series: *series
+#    num_units: 2
+#    to:
+#      - '3'
+#      - '4'
+#    annotations:
+#      gui-x: '2000'
+#      gui-y: '500'
+
+#  network-host:
+#    charm: cs:ubuntu
+#    series: *series
+#    num_units: 1
+#    to:
+#      - '0'
+#    annotations:
+#      gui-x: '2000'
+#      gui-y: '800'
+
+  ntp:
+    charm: cs:ntp
+    series: *series
+    options:
+      source: *source_ntp
+    annotations:
+      gui-x: '2200'
+      gui-y: '500'
+
+#   defaultgw:
+#     charm: cs:~csd-garr/defaultgw
+#     options:
+#       gateway: *default_public_gateway
+#     annotations:
+#       gui-x: '800'
+#       gui-y: '0'
+
+  ceph-radosgw-hacluster:
+    charm: cs:hacluster
+    series: *series
+    bindings:
+      "": *network_space_default
+    options:
+      # corosync_key: *corosync_key
+      nagios_context: *nagios_context
+      corosync_transport: 'unicast'
+      nagios_servicegroups: ceph,object,storage
+    annotations:
+      gui-x: '1000'
+      gui-y: '-200'
+
+  cinder-hacluster:
+    charm: cs:hacluster
+    series: *series
+    bindings:
+      "": *network_space_default
+    options:
+      # corosync_key: *corosync_key
+      nagios_context: *nagios_context
+      corosync_transport: 'unicast'
+      nagios_servicegroups: ceph,block,storage
+    annotations:
+      gui-x: '1250'
+      gui-y: '350'
+
+  controller-hacluster:
+    charm: cs:hacluster
+    series: *series
+    bindings:
+      "": *network_space_default
+    options:
+      # corosync_key: *corosync_key
+      nagios_context: *nagios_context
+      corosync_transport: 'unicast'
+      nagios_servicegroups: nova,compute
+    annotations:
+      gui-x: '-200'
+      gui-y: '500'
+
+  glance-hacluster:
+    charm: cs:hacluster
+    series: *series
+    bindings:
+      "": *network_space_default
+    options:
+      # corosync_key: *corosync_key
+      nagios_context: *nagios_context
+      corosync_transport: 'unicast'
+      nagios_servicegroups: ceph,object,storage
+    annotations:
+      gui-x: '1200'
+      gui-y: '600'
+
+  horizon-hacluster:
+    charm: cs:hacluster
+    series: *dashboard_series
+    bindings:
+      "": *network_space_default
+    options:
+      # corosync_key: *corosync_key
+      nagios_context: *nagios_context
+      corosync_transport: 'unicast'
+      nagios_servicegroups: dashboard,web
+    annotations:
+      gui-x: '250'
+      gui-y: '50'
+
+  keystone-hacluster:
+    charm: cs:hacluster
+    series: *series
+    bindings:
+      "": *network_space_default
+    options:
+      # corosync_key: *corosync_key
+      nagios_context: *nagios_context
+      corosync_transport: 'unicast'
+      nagios_servicegroups: keystone
+    annotations:
+      gui-x: '350'
+      gui-y: '350'
+
+  neutron-api-hacluster:
+    charm: cs:hacluster
+    series: *series
+    bindings:
+      "": *network_space_default
+    options:
+      # corosync_key: *corosync_key
+      nagios_context: *nagios_context
+      corosync_transport: 'unicast'
+      nagios_servicegroups: neutron
+    annotations:
+      gui-x: '550'
+      gui-y: '1350'
+
+  percona-hacluster:
+    charm: cs:hacluster
+    series: *series
+    bindings:
+      "": *network_space_default
+    options:
+      # corosync_key: *corosync_key
+      nagios_context: *nagios_context
+      corosync_transport: 'unicast'
+      nagios_servicegroups: database
+    annotations:
+      gui-x: '1300'
+      gui-y: '800'
+
+# Nagios
+  nagios-server:
+    charm: cs:nagios
+    series: *series
+    num_units: 1
+    bindings:
+      "": *network_space_default
+      website: *network_space_pub
+      #      website: *network_space_os_mgmt
+    options:
+      admin_email: *nagios_admin_email
+      password: *nagiosadmin_pwd
+      ro-password: *nagiosro_pwd
+      monitor_self: true
+    to:
+      - 'lxd:0'
+  nrpe-controller:
+    charm: cs:nrpe
+    series: *series
+    options:
+      swap: '-w 40% -c 25% -n ok'
+  nrpe-cinder:
+    charm: cs:nrpe
+    series: *series
+    options:
+      swap: '-w 40% -c 25% -n ok'
+  nrpe-cephmon:
+    charm: cs:nrpe
+    series: *series
+    options:
+      swap: '-w 40% -c 25% -n ok'
+  nrpe-cephosd:
+    charm: cs:nrpe
+    series: *series
+    options:
+      swap: '-w 40% -c 25% -n ok'
+  nrpe-glance:
+    charm: cs:nrpe
+    series: *series
+    options:
+      swap: '-w 40% -c 25% -n ok'
+  nrpe-radosgw:
+    charm: cs:nrpe
+    series: *series
+    options:
+      swap: '-w 40% -c 25% -n ok'
+  nrpe-keystone:
+    charm: cs:nrpe
+    series: *series
+    options:
+      swap: '-w 40% -c 25% -n ok'
+  nrpe-dashboard:
+    charm: cs:nrpe
+    series: *series
+    options:
+      swap: '-w 40% -c 25% -n ok'
+  nrpe-neutron:
+    charm: cs:nrpe
+    series: *series
+    options:
+      swap: '-w 40% -c 25% -n ok'
+  nrpe-neutrongw:
+    charm: cs:nrpe
+    series: *series
+    options:
+      swap: '-w 40% -c 25% -n ok'
+  nrpe-nova:
+    charm: cs:nrpe
+    series: *series
+    options:
+      swap: '-w 40% -c 25% -n ok'
+  nrpe-novacompute:
+    charm: cs:nrpe
+    series: *series
+    options:
+      swap: '-w 40% -c 25% -n ok'
+  nrpe-percona:
+    charm: cs:nrpe
+    series: *series
+    options:
+      swap: '-w 40% -c 25% -n ok'
+  nrpe-rabbitmq:
+    charm: cs:nrpe
+    series: *series
+    options:
+      swap: '-w 40% -c 25% -n ok'
+  nrpe-memcache:
+    charm: cs:nrpe
+    series: *series
+    options:
+      swap: '-w 40% -c 25% -n ok'
+
+  rabbitmq-server:
+    charm: cs:rabbitmq-server
+    series: *series
+    num_units: 3
+    bindings:
+      "": *network_space_default
+      amqp: *network_space_os_mgmt
+    options:
+      # access-network: *access_network
+      nagios_context: *nagios_context
+      min-cluster-size: 3
+      cluster-partition-handling: pause_minority
+      management_plugin: True
+      nagios_servicegroups: messaging
+      use-syslog: True
+    to:
+      - 'lxd:0'
+      - 'lxd:1'
+      - 'lxd:1'
+    annotations:
+      gui-x: '400'
+      gui-y: '800'
+
+  percona-cluster:
+    charm: cs:percona-cluster
+    series: *series
+    num_units: 3
+    bindings:
+      "": *network_space_default
+      shared-db: *network_space_os_mgmt
+      cluster: *network_space_os_mgmt
+    options:
+      # access-network: *access_network
+      # cluster-network: *access_network
+      nagios_context: *nagios_context
+      root-password: *root_password
+      sst-password: *sst_password
+      vip: *vip_percona
+      min-cluster-size: 3
+      innodb-buffer-pool-size: 10G
+      max-connections: 30000
+      nagios_servicegroups: database
+    to:
+      - 'lxd:0'
+      - 'lxd:0'
+      - 'lxd:1'
+    annotations:
+      gui-x: '1000'
+      gui-y: '800'
+
+  keystone:
+    charm: cs:keystone
+    series: *series
+    num_units: 3
+    bindings:
+      "": *network_space_default
+      public: *network_space_pub
+      admin: *network_space_os_mgmt
+      internal: *network_space_os_mgmt
+      shared-db: *network_space_os_mgmt
+      cluster: *network_space_os_mgmt
+    options:
+      admin-password: *admin_password
+      admin-token: *admin_token
+      nagios_context: *nagios_context
+      os-public-hostname: *os_public_hostname
+      region: *region
+      vip: *vip_keystone
+      openstack-origin: *openstack_origin
+      action-managed-upgrade: True
+      debug: 'False'
+      verbose: 'False'
+      admin-user: admin
+      nagios_servicegroups: keystone
+      worker-multiplier: *worker_multiplier
+      preferred-api-version: *preferred_api_version
+      region: *region
+      use-syslog: True
+    to:
+      - 'lxd:0'
+      - 'lxd:1'
+      - 'lxd:1'
+    annotations:
+      gui-x: '500'
+      gui-y: '500'
+
+  openstack-dashboard:
+    charm: cs:openstack-dashboard
+    series: *dashboard_series
+    num_units: 3
+    bindings:
+      "": *network_space_default
+      shared-db: *network_space_os_mgmt
+      cluster: *network_space_os_mgmt
+      website: *network_space_pub
+      dashboard-plugin: *network_space_os_mgmt
+      identity-service: *network_space_os_mgmt
+    options:
+      nagios_context: *nagios_context
+      secret: *secret_dashboard
+      vip: *vip_dashboard
+      openstack-origin: *openstack_origin
+      action-managed-upgrade: True
+      debug: 'False'
+      endpoint-type: internalURL,publicURL
+      nagios_servicegroups: dashboard,web
+      use-syslog: True
+      webroot: '/'
+    to:
+      - 'lxd:0'
+      - 'lxd:0'
+      - 'lxd:1'
+    annotations:
+      gui-x: '500'
+      gui-y: '0'
+
+  nova-compute:
+    charm: cs:nova-compute
+    series: *series
+    num_units: 2
+    bindings:
+      "": *network_space_default
+      amqp: *network_space_os_mgmt
+      cloud-compute: *network_space_os_mgmt
+      image-service: *network_space_os_mgmt
+      ceph: *network_space_os_mgmt
+      compute-peer: *network_space_os_mgmt
+      neutron-plugin: *network_space_os_mgmt
+    options:
+      # os-internal-network: *os_internal_network
+      nagios_context: *nagios_context
+      openstack-origin: *openstack_origin
+      action-managed-upgrade: True
+      debug: 'False'
+      verbose: 'False'
+      config-flags: *nova_compute_config_flags
+      cpu-mode: *cpu-mode
+      #enable-live-migration: False
+      enable-resize: False
+      migration-auth-type: ssh
+      libvirt-image-backend: *libvirt_image_backend
+      nagios_servicegroups: nova,compute
+      use-internal-endpoints: True
+      enable-resize: True
+      enable-live-migration: True
+    to:
+      - '0'
+      - 'lxd:1'
+    annotations:
+      gui-x: '0'
+      gui-y: '200'
+
+  nova-cloud-controller:
+    charm: cs:nova-cloud-controller
+    series: *series
+    num_units: 3
+    bindings:
+      "": *network_space_default
+      public: *network_space_pub
+      admin: *network_space_os_mgmt
+      internal: *network_space_os_mgmt
+      amqp: *network_space_os_mgmt
+      cinder-volume-service: *network_space_os_mgmt
+      identity-service: *network_space_os_mgmt
+      image-service: *network_space_os_mgmt
+      quantum-network-service: *network_space_os_mgmt
+      cloud-compute: *network_space_os_mgmt
+      neutron-api: *network_space_os_mgmt
+#      cell: ###
+      memcache: *network_space_os_mgmt
+      shared-db: *network_space_os_mgmt
+      cluster: *network_space_os_mgmt
+    options:
+      region: *region
+      console-proxy-ip: *console_proxy_ip
+      nagios_context: *nagios_context
+      vip: *vip_nova_cloud_controller
+      openstack-origin: *openstack_origin
+      action-managed-upgrade: True
+      debug: 'False'
+      verbose: 'False'
+      region: *region
+      console-access-protocol: 'vnc'
+      nagios_servicegroups: nova,compute
+      network-manager: Neutron
+      cpu-allocation-ratio: *cpu_allocation_ratio
+      ram-allocation-ratio: *ram_allocation_ratio
+      service-guard: True
+      single-nova-consoleauth: False
+      use-internal-endpoints: True
+      worker-multiplier: *worker_multiplier
+    to:
+      - 'lxd:0'
+      - 'lxd:0'
+      - 'lxd:1'
+    annotations:
+      gui-x: '0'
+      gui-y: '450'
+
+  neutron-api:
+    charm: cs:neutron-api
+    series: *series
+    num_units: 3
+    bindings:
+      "": *network_space_default
+      public: *network_space_pub
+      admin: *network_space_os_mgmt
+      internal: *network_space_os_mgmt
+      amqp: *network_space_os_mgmt
+      identity-service: *network_space_os_mgmt
+      neutron-api: *network_space_os_mgmt
+      neutron-plugin-api: *network_space_os_mgmt
+      shared-db: *network_space_os_mgmt
+      cluster: *network_space_os_mgmt
+    options:
+      region: *region
+      nagios_context: *nagios_context
+      neutron-external-network: *neutron_external_network
+      vip: *vip_neutron
+      openstack-origin: *openstack_origin
+      action-managed-upgrade: True
+      debug: 'False'
+      verbose: 'False'
+      region: *region
+      enable-ml2-port-security: True
+      flat-network-providers: *flat_network_providers
+      nagios_servicegroups: neutron
+      neutron-security-groups: True
+      network-device-mtu: *network_device_mtu
+      use-internal-endpoints: True
+      use-syslog: True
+      worker-multiplier: *worker_multiplier
+      enable-dvr: *dvr_mode
+    to:
+      - 'lxd:0'
+      - 'lxd:1'
+      - 'lxd:1'
+    annotations:
+      gui-x: '500'
+      gui-y: '1100'
+
+  neutron-openvswitch:
+    charm: cs:neutron-openvswitch
+    series: *series
+    bindings:
+      "": *network_space_default
+      amqp: *network_space_os_mgmt
+      data: *network_space_os_data
+      neutron-plugin: *network_space_os_mgmt
+      neutron-plugin-api: *network_space_os_mgmt
+    options:
+      # os-data-network: *os_data_network
+      debug: 'False'
+      verbose: 'False'
+      disable-security-groups: False
+      flat-network-providers: *flat_network_providers
+      use-syslog: True
+      enable-local-dhcp-and-metadata: *enable_local_dhcp_and_metadata
+    annotations:
+      gui-x: '1100'
+      gui-y: '1100'
+
+  cinder:
+    charm: cs:cinder
+    series: *series
+    num_units: 3
+    bindings:
+      "": *network_space_default
+      public: *network_space_pub
+      admin: *network_space_os_mgmt
+      internal: *network_space_os_mgmt
+      amqp: *network_space_os_mgmt
+      cinder-volume-service: *network_space_os_mgmt
+      identity-service: *network_space_os_mgmt
+      image-service: *network_space_os_mgmt
+      ceph: *network_space_os_mgmt
+      storage-backend: *network_space_os_mgmt
+      shared-db: *network_space_os_mgmt
+      cluster: *network_space_os_mgmt
+    options:
+      nagios_context: *nagios_context
+      region: *region
+      vip: *vip_cinder
+      openstack-origin: *openstack_origin
+      action-managed-upgrade: True
+      block-device: None
+      glance-api-version: 2
+      nagios_servicegroups: ceph,block,storage
+      region: *region
+      use-syslog: True
+      use-internal-endpoints: True
+      worker-multiplier: *worker_multiplier
+    to:
+      - 'lxd:0'
+      - 'lxd:1'
+      - 'lxd:1'
+    annotations:
+      gui-x: '1000'
+      gui-y: '200'
+
+  cinder-ceph:
+    charm: cs:cinder-ceph
+    series: *series
+    num_units: 0
+    bindings:
+      "": *network_space_default
+      ceph: *network_space_os_mgmt
+      storage-backend: *network_space_os_mgmt
+    options:
+      ceph-osd-replication-count: *ceph_cinder_replication_count
+      restrict-ceph-pools: True
+    annotations:
+      gui-x: '1330'
+      gui-y: '230'
+
+  ceph-mon:
+    charm: cs:ceph-mon
+    series: *series
+    num_units: 3 
+    bindings:
+      "": *network_space_default
+      public: *network_space_os_mgmt
+      client: *network_space_os_mgmt
+      radosgw: *network_space_os_mgmt
+      cluster: *network_space_os_mgmt
+      mon: *network_space_os_mgmt
+      osd: *network_space_os_mgmt
+    options:
+      nagios_context: *nagios_context
+      nagios_servicegroups: ceph,storage
+    to:
+      - 'lxd:0'
+      - 'lxd:1'
+      - 'lxd:1'
+    annotations:
+      gui-x: '1200'
+      gui-y: '400'
+
+  ceph-osd:
+    charm: cs:ceph-osd
+    series: *series
+    num_units: 2
+    bindings:
+      "": *network_space_default
+      public: *network_space_os_mgmt
+      cluster: *network_space_os_data
+      mon: *network_space_os_mgmt
+    options:
+      nagios_context: *nagios_context
+      osd-devices: *ceph_osd_partition
+      nagios_servicegroups: ceph,storage
+      osd-devices: *ceph_osd_partition
+      # osd-reformat: 'True'
+      osd-format: 'xfs'
+      use-syslog: True
+    to:
+      - '0'
+      - '1'
+    annotations:
+      gui-x: '1400'
+      gui-y: '400'
+
+  ceph-radosgw:
+    charm: cs:ceph-radosgw
+    series: *series
+    num_units: 3
+    bindings:
+      "": *network_space_default
+      public: *network_space_pub
+      admin: *network_space_os_mgmt
+      internal: *network_space_os_mgmt
+      cluster: *network_space_os_mgmt
+    options:
+      ceph-osd-replication-count: *ceph_radosgw_replication_count
+      config-flags: *ceph_radosgw_config_flags
+      nagios_context: *nagios_context
+      pool-prefix: *ceph_radosgw_pool_prefix
+      region: *region
+      rgw-buckets-pool-weight:  *ceph_radosgw_rgw_buckets_pool_weight
+      rgw-lightweight-pool-pg-num: *ceph_radosgw_lightweight_pool_pg_num
+      vip: *vip_ceph_radosgw
+      nagios_servicegroups: ceph,object,storage
+      region: *region
+      restrict-ceph-pools: True
+      use-syslog: True
+    to:
+      - 'lxd:0'
+      - 'lxd:0'
+      - 'lxd:1'
+    annotations:
+      "gui-x": "1000"
+      "gui-y": "0"
+
+  glance:
+    charm: cs:glance
+    series: *series
+    num_units: 3
+    bindings:
+      "": *network_space_default
+      public: *network_space_pub
+      admin: *network_space_os_mgmt
+      internal: *network_space_os_mgmt
+      amqp: *network_space_os_mgmt
+      cinder-volume-service: *network_space_os_mgmt
+      identity-service: *network_space_os_mgmt
+      image-service: *network_space_os_mgmt
+      ceph: *network_space_os_mgmt
+      storage-backend: *network_space_os_mgmt
+      shared-db: *network_space_os_mgmt
+      cluster: *network_space_os_mgmt
+    options:
+      ceph-osd-replication-count: *ceph_glance_replication_count
+      region: *region
+      nagios_context: *nagios_context
+      vip: *vip_glance
+      openstack-origin: *openstack_origin
+      action-managed-upgrade: True
+      debug: 'False'
+      verbose: 'False'
+      region: *region
+      nagios_servicegroups: ceph,object,storage
+      use-internal-endpoints: True
+      use-syslog: True
+      restrict-ceph-pools: True
+    to:
+      - 'lxd:0'
+      - 'lxd:0'
+      - 'lxd:1'
+    annotations:
+      gui-x: '1000'
+      gui-y: '400'
+
+  memcached:
+    charm: cs:memcached
+    series: *series
+    num_units: 3
+    bindings:
+      "": *network_space_default
+      cache: *network_space_os_mgmt
+      cluster: *network_space_os_mgmt
+    options:
+      nagios_context: *nagios_context
+      allow-ufw-ip6-softfail: True
+    to:
+      - 'lxd:0'
+      - 'lxd:1'
+      - 'lxd:1'
+    annotations:
+      gui-x: '100'
+      gui-y: '800'
+
+  neutron-gateway:
+    charm: cs:neutron-gateway
+    series: *series
+    num_units: 1
+    bindings:
+      "": *network_space_default
+      data: *network_space_os_data
+      amqp: *network_space_os_mgmt
+      quantum-network-service: *network_space_os_mgmt
+      neutron-plugin-api: *network_space_os_mgmt
+      cluster: *network_space_os_mgmt
+    options:
+      bridge-mappings: *bridge_mappings
+      nagios_context: *nagios_context
+      # os-data-network: *os_data_network
+      openstack-origin: *openstack_origin
+      action-managed-upgrade: True
+      data-port: *data_port
+      # Lower instance MTU to fit GRE tunnel (without changing switch config etc)
+      instance-mtu: *instance_mtu
+      nagios_servicegroups: neutron
+    to:
+      - '1'
+    annotations:
+      gui-x: '0'
+      gui-y: '1100'
+
+#  ceilometer:
+#    charm: cs:ceilometer
+#    series: *series
+#    num_units: 1
+#    bindings:
+#      public: *network_space_pub
+#      admin: *network_space_os_mgmt
+#      internal: *network_space_os_mgmt
+#    options:
+#      region: *region
+#      action-managed-upgrade: True
+#      debug: False
+#      verbose: False
+#      event-time-to-live: *celiometer_event_time_to_live
+#      metering-time-to-live: *celiometer_metering_time_to_live
+#      region: *region
+#    to:
+#      - 'lxd:1'
+#    annotations:
+#      gui-x: '450'
+#      gui-y: '-250'
+
+#  ceilometer-agent:
+#    charm: cs:ceilometer-agent
+#    series: xenial
+#    options:
+#      action-managed-upgrade: True
+#    annotations:
+#      gui-x: '200'
+#      gui-y: '-150'
+
+# ------------------------------------------------------------------------------
+relations:
+  - [ ntp, controller ]
+#  - [ ntp, compute-host ]
+#  - [ ntp, network-host ]
+  - [ percona-cluster, percona-hacluster ]
+  - [ cinder, cinder-hacluster ]
+  - [ glance, glance-hacluster ]
+  - [ keystone, keystone-hacluster ]
+  - [ neutron-api, neutron-api-hacluster ]
+  - [ nova-cloud-controller, controller-hacluster ]
+  - [ openstack-dashboard, horizon-hacluster ]
+  - [ keystone, percona-cluster ]
+  - [ neutron-api, percona-cluster ]
+  - [ neutron-api, rabbitmq-server ]
+  - [ neutron-api, nova-cloud-controller ]
+  - [ neutron-api, keystone ]
+  - [ neutron-openvswitch, rabbitmq-server ]
+  - [ neutron-openvswitch, neutron-api ]
+  - [ neutron-openvswitch, nova-compute ]
+  - [ nova-cloud-controller, memcached ]
+  - [ "nova-cloud-controller:shared-db", "percona-cluster:shared-db" ]
+  - [ "nova-cloud-controller:amqp", "rabbitmq-server:amqp" ]
+  - [ nova-cloud-controller, glance ]
+  - [ nova-cloud-controller, keystone ]
+  - [ nova-compute, nova-cloud-controller ]
+  - [ "nova-compute:amqp", "rabbitmq-server:amqp" ]
+  - [ nova-compute, glance ]
+  - [ glance, percona-cluster ]
+  - [ glance, keystone ]
+  - [ "glance:image-service", "cinder:image-service" ]
+  - [ "glance:amqp", "rabbitmq-server:amqp" ]
+  - [ cinder, percona-cluster ]
+  - [ cinder, rabbitmq-server ]
+  - [ cinder, nova-cloud-controller ]
+  - [ cinder, keystone ]
+  - [ "openstack-dashboard:identity-service", "keystone:identity-service" ]
+  - [ "neutron-gateway:amqp", "rabbitmq-server:amqp" ]
+  - [ "neutron-gateway:neutron-plugin-api", "neutron-api:neutron-plugin-api" ]
+  - [ "nova-cloud-controller:quantum-network-service", "neutron-gateway:quantum-network-service" ]
+  - [ "cinder-ceph:ceph-access", "nova-compute:ceph-access" ]
+  - [ "ceph-mon:client", "nova-compute:ceph" ]
+  - [ "ceph-mon:client", "cinder-ceph:ceph" ]
+  - [ "cinder-ceph:storage-backend", "cinder:storage-backend" ]
+  - [ "ceph-mon:client", "glance:ceph" ]
+  - [ "ceph-osd:mon", "ceph-mon:osd" ]
+# ceph-radosgw
+  - [ "ceph-radosgw:ha", "ceph-radosgw-hacluster:ha" ]
+  - [ "keystone:identity-service", "ceph-radosgw:identity-service" ]
+  - [ "ceph-radosgw:mon", "ceph-mon:radosgw" ]
+#  - [ "ceph-radosgw:juju-info", "defaultgw:juju-info" ]
+# default-gw
+#  - [ "keystone:juju-info", "defaultgw:juju-info" ]
+#  - [ "openstack-dashboard:juju-info", "defaultgw:juju-info" ]
+#  - [ "nova-cloud-controller:juju-info", "defaultgw:juju-info" ]
+#  - [ "glance:juju-info", "defaultgw:juju-info" ]
+#  - [ "cinder:juju-info", "defaultgw:juju-info" ]
+#  - [ "neutron-api:juju-info", "defaultgw:juju-info" ]
+# nagios server
+#  - [ "nagios-server:juju-info", "defaultgw:juju-info" ]
+# nagios controllers (physical)
+  - [ controller, nrpe-controller]
+  - [ "nrpe-controller:monitors", "nagios-server:monitors" ]
+# nagios ceph
+  - [ ceph-mon, nrpe-cephmon]
+  - [ "nrpe-cephmon:monitors", "nagios-server:monitors" ]
+  - [ ceph-osd, nrpe-cephosd]
+  - [ "nrpe-cephosd:monitors", "nagios-server:monitors" ]
+  - [ cinder, nrpe-cinder]
+  - [ cinder-hacluster, nrpe-cinder]
+  - [ "nrpe-cinder:monitors", "nagios-server:monitors" ]
+  - [ glance, nrpe-glance]
+  - [ glance-hacluster, nrpe-glance]
+  - [ "nrpe-glance:monitors", "nagios-server:monitors" ]
+  - [ ceph-radosgw, nrpe-radosgw]
+  - [ ceph-radosgw-hacluster, nrpe-radosgw]
+  - [ "nrpe-radosgw:monitors", "nagios-server:monitors" ]
+# nagios keystone
+  - [ keystone, nrpe-keystone]
+  - [ keystone-hacluster, nrpe-keystone]
+  - [ "nrpe-keystone:monitors", "nagios-server:monitors" ]
+# nagios horizon
+  - [ openstack-dashboard, nrpe-dashboard]
+  - [ horizon-hacluster, nrpe-dashboard] 
+  - [ "nrpe-dashboard:monitors", "nagios-server:monitors" ] 
+# nagios neutron
+  - [ neutron-api, nrpe-neutron]
+  - [ neutron-api-hacluster, nrpe-neutron]
+  - [ "nrpe-neutron:monitors", "nagios-server:monitors" ]
+#  - [ network-host, nrpe-neutrongw]
+  - [ neutron-gateway, nrpe-neutrongw]
+  - [ "nrpe-neutrongw:monitors", "nagios-server:monitors" ]
+# nagios nova
+  - [ nova-cloud-controller, nrpe-nova]
+  - [ controller-hacluster, nrpe-nova]
+  - [ "nrpe-nova:monitors", "nagios-server:monitors" ]
+#  - [ compute-host, nrpe-novacompute]
+  - [ nova-compute, nrpe-novacompute]
+  - [ "nrpe-novacompute:monitors", "nagios-server:monitors" ]
+# nagios percona
+  - [ percona-cluster, nrpe-percona]
+  - [ percona-hacluster, nrpe-percona]
+  - [ "nrpe-percona:monitors", "nagios-server:monitors" ]
+# nagios memcache
+  - [ "memcached:nrpe-external-master", "nrpe-memcache:nrpe-external-master" ]
+  - [ "nrpe-memcache:monitors", "nagios-server:monitors" ]
+# nagios rabbitmq
+  - [rabbitmq-server, nrpe-rabbitmq]
+  - [ "nrpe-rabbitmq:monitors", "nagios-server:monitors" ]
+# ceilometer
+#  - [ "ceilometer:amqp", "rabbitmq-server:amqp" ]
+#  - [ "ceilometer:identity-service", "keystone:identity-service" ]
+#  - [ "ceilometer:identity-notifications", "keystone:identity-notifications" ]
+#  - [ "ceilometer-agent:nova-ceilometer", "nova-compute:nova-ceilometer" ]
+#  - [ "ceilometer:ceilometer-service", "ceilometer-agent:ceilometer-service" ]
+#  - [ "ceilometer:juju-info", "defaultgw:juju-info" ]
diff --git a/bundles/openstack/unipd/bundle.yaml b/bundles/openstack/unipd/bundle.yaml
new file mode 100644
index 0000000000000000000000000000000000000000..c05e19a652784671247aa4c205dce35e13d6fae0
--- /dev/null
+++ b/bundles/openstack/unipd/bundle.yaml
@@ -0,0 +1,1010 @@
+## Sample bundle for the deployment of OpenStack in a region of the
+## GARR Federated Cloud Platform.
+## This version deploys a local ceph.
+
+parameters:
+  # sources
+  openstack-origin: &openstack_origin   distro
+  series: &series  bionic
+  dashboard-series: &dashboard_series bionic
+
+  # Ceph configs
+  ceph-radosgw-lightweight-pool-pg-num:  &ceph_radosgw_lightweight_pool_pg_num  8
+  ceph-radosgw-rgw-buckets-pool-weight:  &ceph_radosgw_rgw_buckets_pool_weight  5
+  ceph-radosgw-config-flags:  &ceph_radosgw_config_flags
+
+  # network defaults:
+  flat-network-providers: &flat_network_providers  ext_net
+  neutron-external-network: &neutron_external_network ext_net
+  network-device-mtu: &network_device_mtu  1500
+  instance-mtu: &instance_mtu	1400
+  enable-dvr: &dvr_mode		False
+  vlan-ranges: &vlan_ranges	physnet-ovs:801:801
+  enable-local-dhcp-and-metadata: &enable_local_dhcp_and_metadata   True
+  local-dns-domain: &local_dns_domain garr.cloud.na.
+
+  # keystone/dashboard
+  preferred-api-version: &preferred_api_version     3
+
+  # nova-compute
+  worker-multiplier: &worker_multiplier             '1.0'
+  cpu-allocation-ratio: &cpu_allocation_ratio       '2.0'
+  ram-allocation-ratio: &ram_allocation_ratio       '1.5'
+  n-c-config-flags: &nova_compute_config_flags    "block_device_allocate_retries=600,block_device_allocate_retries_interval=5"
+
+  hugepages: &hugepages    '5%'
+  libvirt-image-backend: &libvirt_image_backend
+  cpu-mode: &cpu-mode
+
+# Ceilometer
+  event-time-to-live: &celiometer_event_time_to_live -1
+  metering-time-to-live: &celiometer_metering_time_to_live -1
+
+## Specific configuration file for a cloud region.
+## Edit values within <...> to represent your region.
+  # Region settings
+  region: &region                               unipd-1
+  # access-network: &access_network               <network_used_by_rabbit_and_percona>
+  # os-internal-network: &os_internal_network     <OpenStack_internal_network>
+  source_ntp: &source_ntp             ntp1.inrim.it
+  # os-data-network: &os_data_network   <OS_data_network>
+
+  # Nagios
+  nagios_context: &nagios_context               nagios
+  nagios_admin_email: &nagios_admin_email       vittorio.gallo@unipd.it	
+  nagios_admin_pwd: &nagiosadmin_pwd            '!garr123'
+  nagios_readonly_pwd: &nagiosro_pwd            '!garr123'
+
+  # Ceph configs
+  ceph-osd-partition: &ceph_osd_partition  "/dev/sda /dev/sdb /dev/sdc /dev/sdd /dev/sde /dev/sdf /dev/sdg /dev/sdh /dev/sdi /dev/sdj /dev/sdk /dev/sdl /dev/sdm /dev/sdn /dev/sdo /dev/sdp /dev/sdq /dev/sdr /dev/sds /dev/sdt /dev/sdu /dev/sdv" 
+  ceph-cinder-replication-count: &ceph_cinder_replication_count  2
+  ceph-glance-replication-count: &ceph_glance_replication_count  2
+  ceph-radosgw-replication-count: &ceph_radosgw_replication_count  2
+  ceph-radosgw-pool-prefix: &ceph_radosgw_pool_prefix    rgw
+
+  # vips (number of VIPs should match number of different bindings)
+
+  vip-ceilometer: &vip_ceilometer       192.168.20.61 147.162.164.21
+  vip-ceph-radosgw: &vip_ceph_radosgw   192.168.20.62 147.162.164.22
+  vip-cinder: &vip_cinder               192.168.20.63 147.162.164.23
+  vip-glance: &vip_glance               192.168.20.64 147.162.164.24
+  vip-heat: &vip_heat                   192.168.20.65 147.162.164.25
+  vip-dashboard: &vip_dashboard                       147.162.164.26
+  vip-keystone: &vip_keystone           192.168.20.66 147.162.164.27
+  vip-percona: &vip_percona             192.168.20.67
+  vip-neutron: &vip_neutron             192.168.20.68 147.162.164.28
+  vip-nova: &vip_nova_cloud_controller  192.168.20.69 147.162.164.29
+  console-proxy-ip: &console_proxy_ip                 147.162.164.29
+  # This is the gateway for public VIPs
+  default_public_gateway: &default_public_gateway     147.162.164.1
+
+  # hostnames
+  os-public-hostname: &os_public_hostname      keystone.ict.unipd.it
+  os-internal-hostname: &os_internal_hostname  keystone.ict.unipd.it
+  # this one could be identical to internal-hostname
+  os-admin-hostname: &os_admin_hostname        keystone.ict.unipd.it
+
+  # network setup: should be the same cross-sites
+  ### Use network-space-* in bindings unless os-admin-* is usable instead
+  network-space-default: &network_space_default	openstack-mgt
+   #network-space-default: &network_space_default	pubblica # temporary change
+  network-space-pub: &network_space_pub		pubblica
+# In the following we assume space-os-data is used both for compute-network
+# communication, and for ceph-OSD communication: can be split for better separation
+  network-space-os-data: &network_space_os_data	openstack-mgt
+  network-space-os-mgmt: &network_space_os_mgmt openstack-mgt
+
+  # Change as appropriate
+  bridge-mappings: &bridge_mappings             ext_net:br-ex
+  data-port: &data_port                               "br-ex:enp94s0f1.20"
+
+  # secrets and passwords:
+  root-password: &root_password  '!garr123'
+  sst-password:  &sst_password   '!garr123'
+  admin-password: &admin_password  '!garr123'
+  secret_dashboard: &secret_dashboard   garr123
+  # encryption-key: &encryption_key       <encryption_key>
+#
+#  Set your corosync_keys by running (on your preferred machine):
+#  corosync-keygen ; cat /etc/corosync/authkey | base64 -w 0 ; echo " "
+  # corosync_key: &corosync_key   <corosync_key>
+
+  # keystone/dashboard
+  # CLA: ho usato pwgen 62 1
+  admin-token: &admin_token  Eig5JeiX5aiphohgiech6aozegh7ahfe5volei5zie2riemienai4ye3eiv3wi
+
+# ------------------------------------------------------------------------------
+machines:
+  '0':
+    constraints: arch=amd64 tags=hyperconverged_host
+    series: *series
+  '1':
+    constraints: arch=amd64 tags=hyperconverged_host
+    series: *series
+
+# ------------------------------------------------------------------------------
+services:
+
+  controller:
+    charm: cs:ubuntu
+    series: *series
+    num_units: 2
+    bindings:
+      "": *network_space_default
+    to:
+      - '0'
+      - '1'
+    annotations:
+      gui-x: '2000'
+      gui-y: '0'
+
+#  compute-host:
+#    charm: cs:ubuntu
+#    series: *series
+#    num_units: 2
+#    to:
+#      - '3'
+#      - '4'
+#    annotations:
+#      gui-x: '2000'
+#      gui-y: '500'
+
+#  network-host:
+#    charm: cs:ubuntu
+#    series: *series
+#    num_units: 1
+#    to:
+#      - '0'
+#    annotations:
+#      gui-x: '2000'
+#      gui-y: '800'
+
+  ntp:
+    charm: cs:ntp
+    series: *series
+    options:
+      source: *source_ntp
+    annotations:
+      gui-x: '2200'
+      gui-y: '500'
+
+#   defaultgw:
+#     charm: cs:~csd-garr/defaultgw
+#     options:
+#       gateway: *default_public_gateway
+#     annotations:
+#       gui-x: '800'
+#       gui-y: '0'
+
+  ceph-radosgw-hacluster:
+    charm: cs:hacluster
+    series: *series
+    bindings:
+      "": *network_space_default
+    options:
+      # corosync_key: *corosync_key
+      nagios_context: *nagios_context
+      corosync_transport: 'unicast'
+      nagios_servicegroups: ceph,object,storage
+    annotations:
+      gui-x: '1000'
+      gui-y: '-200'
+
+  cinder-hacluster:
+    charm: cs:hacluster
+    series: *series
+    bindings:
+      "": *network_space_default
+    options:
+      # corosync_key: *corosync_key
+      nagios_context: *nagios_context
+      corosync_transport: 'unicast'
+      nagios_servicegroups: ceph,block,storage
+    annotations:
+      gui-x: '1250'
+      gui-y: '350'
+
+  controller-hacluster:
+    charm: cs:hacluster
+    series: *series
+    bindings:
+      "": *network_space_default
+    options:
+      # corosync_key: *corosync_key
+      nagios_context: *nagios_context
+      corosync_transport: 'unicast'
+      nagios_servicegroups: nova,compute
+    annotations:
+      gui-x: '-200'
+      gui-y: '500'
+
+  glance-hacluster:
+    charm: cs:hacluster
+    series: *series
+    bindings:
+      "": *network_space_default
+    options:
+      # corosync_key: *corosync_key
+      nagios_context: *nagios_context
+      corosync_transport: 'unicast'
+      nagios_servicegroups: ceph,object,storage
+    annotations:
+      gui-x: '1200'
+      gui-y: '600'
+
+  horizon-hacluster:
+    charm: cs:hacluster
+    series: *dashboard_series
+    bindings:
+      "": *network_space_default
+    options:
+      # corosync_key: *corosync_key
+      nagios_context: *nagios_context
+      corosync_transport: 'unicast'
+      nagios_servicegroups: dashboard,web
+    annotations:
+      gui-x: '250'
+      gui-y: '50'
+
+  keystone-hacluster:
+    charm: cs:hacluster
+    series: *series
+    bindings:
+      "": *network_space_default
+    options:
+      # corosync_key: *corosync_key
+      nagios_context: *nagios_context
+      corosync_transport: 'unicast'
+      nagios_servicegroups: keystone
+    annotations:
+      gui-x: '350'
+      gui-y: '350'
+
+  neutron-api-hacluster:
+    charm: cs:hacluster
+    series: *series
+    bindings:
+      "": *network_space_default
+    options:
+      # corosync_key: *corosync_key
+      nagios_context: *nagios_context
+      corosync_transport: 'unicast'
+      nagios_servicegroups: neutron
+    annotations:
+      gui-x: '550'
+      gui-y: '1350'
+
+  percona-hacluster:
+    charm: cs:hacluster
+    series: *series
+    bindings:
+      "": *network_space_default
+    options:
+      # corosync_key: *corosync_key
+      nagios_context: *nagios_context
+      corosync_transport: 'unicast'
+      nagios_servicegroups: database
+    annotations:
+      gui-x: '1300'
+      gui-y: '800'
+
+# Nagios
+  nagios-server:
+    charm: cs:nagios
+    series: *series
+    num_units: 1
+    bindings:
+      "": *network_space_default
+      website: *network_space_pub
+      #      website: *network_space_os_mgmt
+    options:
+      admin_email: *nagios_admin_email
+      password: *nagiosadmin_pwd
+      ro-password: *nagiosro_pwd
+      monitor_self: true
+    to:
+      - 'lxd:0'
+  nrpe-controller:
+    charm: cs:nrpe
+    series: *series
+    options:
+      swap: '-w 40% -c 25% -n ok'
+  nrpe-cinder:
+    charm: cs:nrpe
+    series: *series
+    options:
+      swap: '-w 40% -c 25% -n ok'
+  nrpe-cephmon:
+    charm: cs:nrpe
+    series: *series
+    options:
+      swap: '-w 40% -c 25% -n ok'
+  nrpe-cephosd:
+    charm: cs:nrpe
+    series: *series
+    options:
+      swap: '-w 40% -c 25% -n ok'
+  nrpe-glance:
+    charm: cs:nrpe
+    series: *series
+    options:
+      swap: '-w 40% -c 25% -n ok'
+  nrpe-radosgw:
+    charm: cs:nrpe
+    series: *series
+    options:
+      swap: '-w 40% -c 25% -n ok'
+  nrpe-keystone:
+    charm: cs:nrpe
+    series: *series
+    options:
+      swap: '-w 40% -c 25% -n ok'
+  nrpe-dashboard:
+    charm: cs:nrpe
+    series: *series
+    options:
+      swap: '-w 40% -c 25% -n ok'
+  nrpe-neutron:
+    charm: cs:nrpe
+    series: *series
+    options:
+      swap: '-w 40% -c 25% -n ok'
+  nrpe-neutrongw:
+    charm: cs:nrpe
+    series: *series
+    options:
+      swap: '-w 40% -c 25% -n ok'
+  nrpe-nova:
+    charm: cs:nrpe
+    series: *series
+    options:
+      swap: '-w 40% -c 25% -n ok'
+  nrpe-novacompute:
+    charm: cs:nrpe
+    series: *series
+    options:
+      swap: '-w 40% -c 25% -n ok'
+  nrpe-percona:
+    charm: cs:nrpe
+    series: *series
+    options:
+      swap: '-w 40% -c 25% -n ok'
+  nrpe-rabbitmq:
+    charm: cs:nrpe
+    series: *series
+    options:
+      swap: '-w 40% -c 25% -n ok'
+  nrpe-memcache:
+    charm: cs:nrpe
+    series: *series
+    options:
+      swap: '-w 40% -c 25% -n ok'
+
+  rabbitmq-server:
+    charm: cs:rabbitmq-server
+    series: *series
+    num_units: 3
+    bindings:
+      "": *network_space_default
+      amqp: *network_space_os_mgmt
+    options:
+      # access-network: *access_network
+      nagios_context: *nagios_context
+      min-cluster-size: 3
+      cluster-partition-handling: pause_minority
+      management_plugin: True
+      nagios_servicegroups: messaging
+      use-syslog: True
+    to:
+      - 'lxd:0'
+      - 'lxd:1'
+      - 'lxd:1'
+    annotations:
+      gui-x: '400'
+      gui-y: '800'
+
+  percona-cluster:
+    charm: cs:percona-cluster
+    series: *series
+    num_units: 3
+    bindings:
+      "": *network_space_default
+      shared-db: *network_space_os_mgmt
+      cluster: *network_space_os_mgmt
+    options:
+      # access-network: *access_network
+      # cluster-network: *access_network
+      nagios_context: *nagios_context
+      root-password: *root_password
+      sst-password: *sst_password
+      vip: *vip_percona
+      min-cluster-size: 3
+      innodb-buffer-pool-size: 10G
+      max-connections: 30000
+      nagios_servicegroups: database
+    to:
+      - 'lxd:0'
+      - 'lxd:0'
+      - 'lxd:1'
+    annotations:
+      gui-x: '1000'
+      gui-y: '800'
+
+  keystone:
+    charm: cs:keystone
+    series: *series
+    num_units: 3
+    bindings:
+      "": *network_space_default
+      public: *network_space_pub
+      admin: *network_space_os_mgmt
+      internal: *network_space_os_mgmt
+      shared-db: *network_space_os_mgmt
+      cluster: *network_space_os_mgmt
+    options:
+      admin-password: *admin_password
+      admin-token: *admin_token
+      nagios_context: *nagios_context
+      os-public-hostname: *os_public_hostname
+      region: *region
+      vip: *vip_keystone
+      openstack-origin: *openstack_origin
+      action-managed-upgrade: True
+      debug: 'False'
+      verbose: 'False'
+      admin-user: admin
+      nagios_servicegroups: keystone
+      worker-multiplier: *worker_multiplier
+      preferred-api-version: *preferred_api_version
+      region: *region
+      use-syslog: True
+    to:
+      - 'lxd:0'
+      - 'lxd:1'
+      - 'lxd:1'
+    annotations:
+      gui-x: '500'
+      gui-y: '500'
+
+  openstack-dashboard:
+    charm: cs:openstack-dashboard
+    series: *dashboard_series
+    num_units: 3
+    bindings:
+      "": *network_space_default
+      shared-db: *network_space_os_mgmt
+      cluster: *network_space_os_mgmt
+      website: *network_space_pub
+      dashboard-plugin: *network_space_os_mgmt
+      identity-service: *network_space_os_mgmt
+    options:
+      nagios_context: *nagios_context
+      secret: *secret_dashboard
+      vip: *vip_dashboard
+      openstack-origin: *openstack_origin
+      action-managed-upgrade: True
+      debug: 'False'
+      endpoint-type: internalURL,publicURL
+      nagios_servicegroups: dashboard,web
+      use-syslog: True
+      webroot: '/'
+    to:
+      - 'lxd:0'
+      - 'lxd:0'
+      - 'lxd:1'
+    annotations:
+      gui-x: '500'
+      gui-y: '0'
+
+  nova-compute:
+    charm: cs:nova-compute
+    series: *series
+    num_units: 2
+    bindings:
+      "": *network_space_default
+      amqp: *network_space_os_mgmt
+      cloud-compute: *network_space_os_mgmt
+      image-service: *network_space_os_mgmt
+      ceph: *network_space_os_mgmt
+      compute-peer: *network_space_os_mgmt
+      neutron-plugin: *network_space_os_mgmt
+    options:
+      # os-internal-network: *os_internal_network
+      nagios_context: *nagios_context
+      openstack-origin: *openstack_origin
+      action-managed-upgrade: True
+      debug: 'False'
+      verbose: 'False'
+      config-flags: *nova_compute_config_flags
+      cpu-mode: *cpu-mode
+      #enable-live-migration: False
+      enable-resize: False
+      migration-auth-type: ssh
+      libvirt-image-backend: *libvirt_image_backend
+      nagios_servicegroups: nova,compute
+      use-internal-endpoints: True
+      enable-resize: True
+      enable-live-migration: True
+    to:
+      - 'lxd:0'
+      - 'lxd:1'
+    annotations:
+      gui-x: '0'
+      gui-y: '200'
+
+  nova-cloud-controller:
+    charm: cs:nova-cloud-controller
+    series: *series
+    num_units: 3
+    bindings:
+      "": *network_space_default
+      public: *network_space_pub
+      admin: *network_space_os_mgmt
+      internal: *network_space_os_mgmt
+      amqp: *network_space_os_mgmt
+      cinder-volume-service: *network_space_os_mgmt
+      identity-service: *network_space_os_mgmt
+      image-service: *network_space_os_mgmt
+      quantum-network-service: *network_space_os_mgmt
+      cloud-compute: *network_space_os_mgmt
+      neutron-api: *network_space_os_mgmt
+#      cell: ###
+      memcache: *network_space_os_mgmt
+      shared-db: *network_space_os_mgmt
+      cluster: *network_space_os_mgmt
+    options:
+      region: *region
+      console-proxy-ip: *console_proxy_ip
+      nagios_context: *nagios_context
+      vip: *vip_nova_cloud_controller
+      openstack-origin: *openstack_origin
+      action-managed-upgrade: True
+      debug: 'False'
+      verbose: 'False'
+      region: *region
+      console-access-protocol: 'vnc'
+      nagios_servicegroups: nova,compute
+      network-manager: Neutron
+      cpu-allocation-ratio: *cpu_allocation_ratio
+      ram-allocation-ratio: *ram_allocation_ratio
+      service-guard: True
+      single-nova-consoleauth: False
+      use-internal-endpoints: True
+      worker-multiplier: *worker_multiplier
+    to:
+      - 'lxd:0'
+      - 'lxd:0'
+      - 'lxd:1'
+    annotations:
+      gui-x: '0'
+      gui-y: '450'
+
+  neutron-api:
+    charm: cs:neutron-api
+    series: *series
+    num_units: 3
+    bindings:
+      "": *network_space_default
+      public: *network_space_pub
+      admin: *network_space_os_mgmt
+      internal: *network_space_os_mgmt
+      amqp: *network_space_os_mgmt
+      identity-service: *network_space_os_mgmt
+      neutron-api: *network_space_os_mgmt
+      neutron-plugin-api: *network_space_os_mgmt
+      shared-db: *network_space_os_mgmt
+      cluster: *network_space_os_mgmt
+    options:
+      region: *region
+      nagios_context: *nagios_context
+      neutron-external-network: *neutron_external_network
+      vip: *vip_neutron
+      openstack-origin: *openstack_origin
+      action-managed-upgrade: True
+      debug: 'False'
+      verbose: 'False'
+      region: *region
+      enable-ml2-port-security: True
+      flat-network-providers: *flat_network_providers
+      nagios_servicegroups: neutron
+      neutron-security-groups: True
+      network-device-mtu: *network_device_mtu
+      use-internal-endpoints: True
+      use-syslog: True
+      worker-multiplier: *worker_multiplier
+      enable-dvr: *dvr_mode
+      enable-ml2-dns: True
+      dns-domain: *local_dns_domain
+    to:
+      - 'lxd:0'
+      - 'lxd:1'
+      - 'lxd:1'
+    annotations:
+      gui-x: '500'
+      gui-y: '1100'
+
+  neutron-openvswitch:
+    charm: cs:neutron-openvswitch
+    series: *series
+    bindings:
+      "": *network_space_default
+      amqp: *network_space_os_mgmt
+      data: *network_space_os_data
+      neutron-plugin: *network_space_os_mgmt
+      neutron-plugin-api: *network_space_os_mgmt
+    options:
+      # os-data-network: *os_data_network
+      debug: 'False'
+      verbose: 'False'
+      disable-security-groups: False
+      flat-network-providers: *flat_network_providers
+      use-syslog: True
+      enable-local-dhcp-and-metadata: *enable_local_dhcp_and_metadata
+    annotations:
+      gui-x: '1100'
+      gui-y: '1100'
+
+  cinder:
+    charm: cs:cinder
+    series: *series
+    num_units: 3
+    bindings:
+      "": *network_space_default
+      public: *network_space_pub
+      admin: *network_space_os_mgmt
+      internal: *network_space_os_mgmt
+      amqp: *network_space_os_mgmt
+      cinder-volume-service: *network_space_os_mgmt
+      identity-service: *network_space_os_mgmt
+      image-service: *network_space_os_mgmt
+      ceph: *network_space_os_mgmt
+      storage-backend: *network_space_os_mgmt
+      shared-db: *network_space_os_mgmt
+      cluster: *network_space_os_mgmt
+    options:
+      nagios_context: *nagios_context
+      region: *region
+      vip: *vip_cinder
+      openstack-origin: *openstack_origin
+      action-managed-upgrade: True
+      block-device: None
+      glance-api-version: 2
+      nagios_servicegroups: ceph,block,storage
+      region: *region
+      use-syslog: True
+      use-internal-endpoints: True
+      worker-multiplier: *worker_multiplier
+    to:
+      - 'lxd:0'
+      - 'lxd:1'
+      - 'lxd:1'
+    annotations:
+      gui-x: '1000'
+      gui-y: '200'
+
+  cinder-ceph:
+    charm: cs:cinder-ceph
+    series: *series
+    num_units: 0
+    bindings:
+      "": *network_space_default
+      ceph: *network_space_os_mgmt
+      storage-backend: *network_space_os_mgmt
+    options:
+      ceph-osd-replication-count: *ceph_cinder_replication_count
+      restrict-ceph-pools: True
+    annotations:
+      gui-x: '1330'
+      gui-y: '230'
+
+  ceph-mon:
+    charm: cs:ceph-mon
+    series: *series
+    num_units: 3 
+    bindings:
+      "": *network_space_default
+      public: *network_space_os_mgmt
+      client: *network_space_os_mgmt
+      radosgw: *network_space_os_mgmt
+      cluster: *network_space_os_mgmt
+      mon: *network_space_os_mgmt
+      osd: *network_space_os_mgmt
+    options:
+      expected-osd-count: 1
+      nagios_context: *nagios_context
+      nagios_servicegroups: ceph,storage
+    to:
+      - 'lxd:0'
+      - 'lxd:1'
+      - 'lxd:1'
+    annotations:
+      gui-x: '1200'
+      gui-y: '400'
+
+  ceph-osd:
+    charm: cs:ceph-osd
+    series: *series
+    num_units: 2
+    bindings:
+      "": *network_space_default
+      public: *network_space_os_mgmt
+      cluster: *network_space_os_data
+      mon: *network_space_os_mgmt
+    options:
+      nagios_context: *nagios_context
+      osd-devices: *ceph_osd_partition
+      nagios_servicegroups: ceph,storage
+      osd-devices: *ceph_osd_partition
+      # osd-reformat: 'True'
+      osd-format: 'xfs'
+      use-syslog: True
+    to:
+      - '0'
+      - '1'
+    annotations:
+      gui-x: '1400'
+      gui-y: '400'
+
+  ceph-radosgw:
+    charm: cs:ceph-radosgw
+    series: *series
+    num_units: 3
+    bindings:
+      "": *network_space_default
+      public: *network_space_pub
+      admin: *network_space_os_mgmt
+      internal: *network_space_os_mgmt
+      cluster: *network_space_os_mgmt
+    options:
+      ceph-osd-replication-count: *ceph_radosgw_replication_count
+      config-flags: *ceph_radosgw_config_flags
+      nagios_context: *nagios_context
+      pool-prefix: *ceph_radosgw_pool_prefix
+      region: *region
+      rgw-buckets-pool-weight:  *ceph_radosgw_rgw_buckets_pool_weight
+      rgw-lightweight-pool-pg-num: *ceph_radosgw_lightweight_pool_pg_num
+      vip: *vip_ceph_radosgw
+      nagios_servicegroups: ceph,object,storage
+      restrict-ceph-pools: True
+      use-syslog: True
+    to:
+      - 'lxd:0'
+      - 'lxd:0'
+      - 'lxd:1'
+    annotations:
+      "gui-x": "1000"
+      "gui-y": "0"
+
+  glance:
+    charm: cs:glance
+    series: *series
+    num_units: 3
+    bindings:
+      "": *network_space_default
+      public: *network_space_pub
+      admin: *network_space_os_mgmt
+      internal: *network_space_os_mgmt
+      amqp: *network_space_os_mgmt
+      cinder-volume-service: *network_space_os_mgmt
+      identity-service: *network_space_os_mgmt
+      image-service: *network_space_os_mgmt
+      ceph: *network_space_os_mgmt
+      storage-backend: *network_space_os_mgmt
+      shared-db: *network_space_os_mgmt
+      cluster: *network_space_os_mgmt
+    options:
+      ceph-osd-replication-count: *ceph_glance_replication_count
+      region: *region
+      nagios_context: *nagios_context
+      vip: *vip_glance
+      openstack-origin: *openstack_origin
+      action-managed-upgrade: True
+      debug: 'False'
+      verbose: 'False'
+      region: *region
+      nagios_servicegroups: ceph,object,storage
+      use-internal-endpoints: True
+      use-syslog: True
+      restrict-ceph-pools: True
+    to:
+      - 'lxd:0'
+      - 'lxd:0'
+      - 'lxd:1'
+    annotations:
+      gui-x: '1000'
+      gui-y: '400'
+
+  memcached:
+    charm: cs:memcached
+    series: *series
+    num_units: 3
+    bindings:
+      "": *network_space_default
+      cache: *network_space_os_mgmt
+      cluster: *network_space_os_mgmt
+    options:
+      nagios_context: *nagios_context
+      allow-ufw-ip6-softfail: True
+    to:
+      - 'lxd:0'
+      - 'lxd:1'
+      - 'lxd:1'
+    annotations:
+      gui-x: '100'
+      gui-y: '800'
+
+  neutron-gateway:
+    charm: cs:neutron-gateway
+    series: *series
+    num_units: 2
+    bindings:
+      "": *network_space_default
+      data: *network_space_os_data
+      amqp: *network_space_os_mgmt
+      quantum-network-service: *network_space_os_mgmt
+      neutron-plugin-api: *network_space_os_mgmt
+      cluster: *network_space_os_mgmt
+    options:
+      bridge-mappings: *bridge_mappings
+      nagios_context: *nagios_context
+      # os-data-network: *os_data_network
+      openstack-origin: *openstack_origin
+      action-managed-upgrade: True
+      data-port: *data_port
+      # Lower instance MTU to fit GRE tunnel (without changing switch config etc)
+      instance-mtu: *instance_mtu
+      nagios_servicegroups: neutron
+    to:
+      - '0'
+      - '1'
+    annotations:
+      gui-x: '0'
+      gui-y: '1100'
+
+#  ceilometer:
+#    charm: cs:ceilometer
+#    series: *series
+#    num_units: 1
+#    bindings:
+#      public: *network_space_pub
+#      admin: *network_space_os_mgmt
+#      internal: *network_space_os_mgmt
+#    options:
+#      region: *region
+#      action-managed-upgrade: True
+#      debug: False
+#      verbose: False
+#      event-time-to-live: *celiometer_event_time_to_live
+#      metering-time-to-live: *celiometer_metering_time_to_live
+#      region: *region
+#    to:
+#      - 'lxd:1'
+#    annotations:
+#      gui-x: '450'
+#      gui-y: '-250'
+
+#  ceilometer-agent:
+#    charm: cs:ceilometer-agent
+#    series: xenial
+#    options:
+#      action-managed-upgrade: True
+#    annotations:
+#      gui-x: '200'
+#      gui-y: '-150'
+
+# ------------------------------------------------------------------------------
+relations:
+  - [ ntp, controller ]
+#  - [ ntp, compute-host ]
+#  - [ ntp, network-host ]
+  - [ percona-cluster, percona-hacluster ]
+  - [ cinder, cinder-hacluster ]
+  - [ glance, glance-hacluster ]
+  - [ keystone, keystone-hacluster ]
+  - [ neutron-api, neutron-api-hacluster ]
+  - [ nova-cloud-controller, controller-hacluster ]
+  - [ openstack-dashboard, horizon-hacluster ]
+  - [ keystone, percona-cluster ]
+  - [ neutron-api, percona-cluster ]
+  - [ neutron-api, rabbitmq-server ]
+  - [ neutron-api, nova-cloud-controller ]
+  - [ neutron-api, keystone ]
+  - [ neutron-openvswitch, rabbitmq-server ]
+  - [ neutron-openvswitch, neutron-api ]
+  - [ neutron-openvswitch, nova-compute ]
+  - [ nova-cloud-controller, memcached ]
+  - [ "nova-cloud-controller:shared-db", "percona-cluster:shared-db" ]
+  - [ "nova-cloud-controller:amqp", "rabbitmq-server:amqp" ]
+  - [ nova-cloud-controller, glance ]
+  - [ nova-cloud-controller, keystone ]
+  - [ nova-compute, nova-cloud-controller ]
+  - [ "nova-compute:amqp", "rabbitmq-server:amqp" ]
+  - [ nova-compute, glance ]
+  - [ glance, percona-cluster ]
+  - [ glance, keystone ]
+  - [ "glance:image-service", "cinder:image-service" ]
+  - [ "glance:amqp", "rabbitmq-server:amqp" ]
+  - [ cinder, percona-cluster ]
+  - [ cinder, rabbitmq-server ]
+  - [ cinder, nova-cloud-controller ]
+  - [ cinder, keystone ]
+  - [ "openstack-dashboard:identity-service", "keystone:identity-service" ]
+  - [ "neutron-gateway:amqp", "rabbitmq-server:amqp" ]
+  - [ "neutron-gateway:neutron-plugin-api", "neutron-api:neutron-plugin-api" ]
+  - [ "nova-cloud-controller:quantum-network-service", "neutron-gateway:quantum-network-service" ]
+  - [ "cinder-ceph:ceph-access", "nova-compute:ceph-access" ]
+  - [ "ceph-mon:client", "nova-compute:ceph" ]
+  - [ "ceph-mon:client", "cinder-ceph:ceph" ]
+  - [ "cinder-ceph:storage-backend", "cinder:storage-backend" ]
+  - [ "ceph-mon:client", "glance:ceph" ]
+  - [ "ceph-osd:mon", "ceph-mon:osd" ]
+# ceph-radosgw
+  - [ "ceph-radosgw:ha", "ceph-radosgw-hacluster:ha" ]
+  - [ "keystone:identity-service", "ceph-radosgw:identity-service" ]
+  - [ "ceph-radosgw:mon", "ceph-mon:radosgw" ]
+#  - [ "ceph-radosgw:juju-info", "defaultgw:juju-info" ]
+# default-gw
+#  - [ "keystone:juju-info", "defaultgw:juju-info" ]
+#  - [ "openstack-dashboard:juju-info", "defaultgw:juju-info" ]
+#  - [ "nova-cloud-controller:juju-info", "defaultgw:juju-info" ]
+#  - [ "glance:juju-info", "defaultgw:juju-info" ]
+#  - [ "cinder:juju-info", "defaultgw:juju-info" ]
+#  - [ "neutron-api:juju-info", "defaultgw:juju-info" ]
+# nagios server
+#  - [ "nagios-server:juju-info", "defaultgw:juju-info" ]
+# nagios controllers (physical)
+  - [ controller, nrpe-controller]
+  - [ "nrpe-controller:monitors", "nagios-server:monitors" ]
+# nagios ceph
+  - [ ceph-mon, nrpe-cephmon]
+  - [ "nrpe-cephmon:monitors", "nagios-server:monitors" ]
+  - [ ceph-osd, nrpe-cephosd]
+  - [ "nrpe-cephosd:monitors", "nagios-server:monitors" ]
+  - [ cinder, nrpe-cinder]
+  - [ cinder-hacluster, nrpe-cinder]
+  - [ "nrpe-cinder:monitors", "nagios-server:monitors" ]
+  - [ glance, nrpe-glance]
+  - [ glance-hacluster, nrpe-glance]
+  - [ "nrpe-glance:monitors", "nagios-server:monitors" ]
+  - [ ceph-radosgw, nrpe-radosgw]
+  - [ ceph-radosgw-hacluster, nrpe-radosgw]
+  - [ "nrpe-radosgw:monitors", "nagios-server:monitors" ]
+# nagios keystone
+  - [ keystone, nrpe-keystone]
+  - [ keystone-hacluster, nrpe-keystone]
+  - [ "nrpe-keystone:monitors", "nagios-server:monitors" ]
+# nagios horizon
+  - [ openstack-dashboard, nrpe-dashboard]
+  - [ horizon-hacluster, nrpe-dashboard] 
+  - [ "nrpe-dashboard:monitors", "nagios-server:monitors" ] 
+# nagios neutron
+  - [ neutron-api, nrpe-neutron]
+  - [ neutron-api-hacluster, nrpe-neutron]
+  - [ "nrpe-neutron:monitors", "nagios-server:monitors" ]
+#  - [ network-host, nrpe-neutrongw]
+  - [ neutron-gateway, nrpe-neutrongw]
+  - [ "nrpe-neutrongw:monitors", "nagios-server:monitors" ]
+# nagios nova
+  - [ nova-cloud-controller, nrpe-nova]
+  - [ controller-hacluster, nrpe-nova]
+  - [ "nrpe-nova:monitors", "nagios-server:monitors" ]
+#  - [ compute-host, nrpe-novacompute]
+  - [ nova-compute, nrpe-novacompute]
+  - [ "nrpe-novacompute:monitors", "nagios-server:monitors" ]
+# nagios percona
+  - [ percona-cluster, nrpe-percona]
+  - [ percona-hacluster, nrpe-percona]
+  - [ "nrpe-percona:monitors", "nagios-server:monitors" ]
+# nagios memcache
+  - [ "memcached:nrpe-external-master", "nrpe-memcache:nrpe-external-master" ]
+  - [ "nrpe-memcache:monitors", "nagios-server:monitors" ]
+# nagios rabbitmq
+  - [rabbitmq-server, nrpe-rabbitmq]
+  - [ "nrpe-rabbitmq:monitors", "nagios-server:monitors" ]
+# ceilometer
+#  - [ "ceilometer:amqp", "rabbitmq-server:amqp" ]
+#  - [ "ceilometer:identity-service", "keystone:identity-service" ]
+#  - [ "ceilometer:identity-notifications", "keystone:identity-notifications" ]
+#  - [ "ceilometer-agent:nova-ceilometer", "nova-compute:nova-ceilometer" ]
+#  - [ "ceilometer:ceilometer-service", "ceilometer-agent:ceilometer-service" ]
+#  - [ "ceilometer:juju-info", "defaultgw:juju-info" ]