rados gtw

Change-Id: I261aa5d020b3059f7e272b6dbabac40da1413f18
diff --git a/ceph/files/jewel/ceph.conf.Debian b/ceph/files/jewel/ceph.conf.Debian
index 10e108a..9fe3a9d 100644
--- a/ceph/files/jewel/ceph.conf.Debian
+++ b/ceph/files/jewel/ceph.conf.Debian
@@ -12,10 +12,17 @@
 
 fsid = {{ common.fsid }}
 
+{%- if common.pg_num is defined %}
+osd pool default pg num = {{ common.pg_num }}
+{%- endif %}
+{%- if common.pgp_num is defined %}
+osd pool default pgp num = {{ common.pgp_num }}
+{%- endif %}
+
 ##Global key: value
 {%- for key_name, key in common.get('config', {}).get('global', {}).iteritems() %}
 
-{{ key_name }} = {{ key }} 
+{{ key_name }} = {{ key }}
 
 {%- endfor %}
 
diff --git a/ceph/files/kraken/ceph.conf.Debian b/ceph/files/kraken/ceph.conf.Debian
index 10e108a..9fe3a9d 100644
--- a/ceph/files/kraken/ceph.conf.Debian
+++ b/ceph/files/kraken/ceph.conf.Debian
@@ -12,10 +12,17 @@
 
 fsid = {{ common.fsid }}
 
+{%- if common.pg_num is defined %}
+osd pool default pg num = {{ common.pg_num }}
+{%- endif %}
+{%- if common.pgp_num is defined %}
+osd pool default pgp num = {{ common.pgp_num }}
+{%- endif %}
+
 ##Global key: value
 {%- for key_name, key in common.get('config', {}).get('global', {}).iteritems() %}
 
-{{ key_name }} = {{ key }} 
+{{ key_name }} = {{ key }}
 
 {%- endfor %}
 
diff --git a/ceph/files/luminous/ceph.conf.Debian b/ceph/files/luminous/ceph.conf.Debian
index d250cb9..9fe3a9d 100644
--- a/ceph/files/luminous/ceph.conf.Debian
+++ b/ceph/files/luminous/ceph.conf.Debian
@@ -12,6 +12,13 @@
 
 fsid = {{ common.fsid }}
 
+{%- if common.pg_num is defined %}
+osd pool default pg num = {{ common.pg_num }}
+{%- endif %}
+{%- if common.pgp_num is defined %}
+osd pool default pgp num = {{ common.pgp_num }}
+{%- endif %}
+
 ##Global key: value
 {%- for key_name, key in common.get('config', {}).get('global', {}).iteritems() %}
 
diff --git a/ceph/radosgw.sls b/ceph/radosgw.sls
index 0fbb605..d941039 100644
--- a/ceph/radosgw.sls
+++ b/ceph/radosgw.sls
@@ -3,6 +3,7 @@
 
 include:
 - ceph.common
+- ceph.setup.keyring
 
 ceph_radosgw_packages:
   pkg.installed:
@@ -19,6 +20,7 @@
 /var/lib/ceph/radosgw/ceph-radosgw.gateway/done:
   file.touch:
   - makedirs: true
+  - unless: "test -f /var/lib/ceph/radosgw/ceph-radosgw.gateway/done"
   - require:
     - pkg: ceph_radosgw_packages
 
diff --git a/metadata/service/radosgw/cluster.yml b/metadata/service/radosgw/cluster.yml
new file mode 100644
index 0000000..69f09f7
--- /dev/null
+++ b/metadata/service/radosgw/cluster.yml
@@ -0,0 +1,16 @@
+applications:
+- ceph
+classes:
+- service.ceph.common.cluster
+- service.ceph.support
+parameters:
+  _param:
+    ceph_radosgw_hostname: ${linux:system:name}
+    ceph_radosgw_bind_port: 8080
+  ceph:
+    radosgw:
+      enabled: true
+      hostname: ${_param:ceph_radosgw_hostname}
+      bind:
+        address: ${_param:single_address}
+        port: ${_param:ceph_radosgw_bind_port}
diff --git a/metadata/service/radosgw/keystonev3.yml b/metadata/service/radosgw/keystonev3.yml
deleted file mode 100644
index 8308746..0000000
--- a/metadata/service/radosgw/keystonev3.yml
+++ /dev/null
@@ -1,17 +0,0 @@
-classes:
-- service.ceph.radosgw.single
-parameters:
-  _param:
-    ceph_radosgw_keystone_host: 127.0.0.1
-    ceph_radosgw_keystone_user: admin
-  ceph:
-    radosgw:
-      identity:
-        engine: keystone
-        api_version: 3
-        host: ${_param:ceph_radosgw_keystone_host}
-        port: 5000
-        user: admin
-        password: ${_param:ceph_radosgw_keystone_password}
-        project: admin
-        domain: default
diff --git a/metadata/service/radosgw/single.yml b/metadata/service/radosgw/single.yml
index d4b532e..fe65d2d 100644
--- a/metadata/service/radosgw/single.yml
+++ b/metadata/service/radosgw/single.yml
@@ -1,14 +1,16 @@
 applications:
 - ceph
 classes:
-- service.ceph.common.cluster
+- service.ceph.common.single
 - service.ceph.support
 parameters:
   _param:
-    ceph_radosgw_hostname: radosgw
+    ceph_radosgw_hostname: ${linux:system:name}
+    ceph_radosgw_bind_port: 8080
   ceph:
     radosgw:
       enabled: true
       hostname: ${_param:ceph_radosgw_hostname}
       bind:
         address: ${_param:single_address}
+        port: ${_param:ceph_radosgw_bind_port}