diff --git a/roles/cephadm/tasks/main.yml b/roles/cephadm/tasks/main.yml
index 76263a20bf83680179e129b40824141e25dbb73f..3ce5e4024b87cf04640556fca098bb56202cf02a 100644
--- a/roles/cephadm/tasks/main.yml
+++ b/roles/cephadm/tasks/main.yml
@@ -1,12 +1,6 @@
 ---
 - include_tasks: pkg_{{ ansible_os_family | lower }}.yml
 
-- name: Install cephadm
-  package:
-    name: cephadm
-    state: present
-  become: True
-
 - name: Ensure /etc/ceph exists
   file:
     path: /etc/ceph
@@ -42,13 +36,15 @@
     mon_ip: "{{ hostvars[inventory_hostname]['ansible_'+api_interface_name].ipv4.address }}"
   command:
     cmd: >
-         cephadm bootstrap
+         cephadm
+         --docker
+         bootstrap
          --ssh-private-key=/etc/ceph/cephadm.id
          --ssh-public-key=/etc/ceph/cephadm.pub
          --skip-monitoring-stack
          --skip-dashboard
          --skip-firewalld
-         --mon-addrv='[v2:{{ mon_ip }}:3300,v1:{{ mon_ip }}:6789]'
+         --mon-ip {{ mon_ip }}
   become: True
   register: cephadm_bootstrap_output
 
@@ -74,7 +70,7 @@
   command:
     cmd: >
          cephadm shell --
-         bash /var/run/ceph/commands.sh
+         bash -x /var/run/ceph/commands.sh
   become: True
 
 # TODO(mnasiadka): Fix merge_configs to support tabs
diff --git a/roles/cephadm/tasks/pkg_debian.yml b/roles/cephadm/tasks/pkg_debian.yml
index eed23b7998888078ba8f716f7b208406d4272cd4..d08895257624a3620349a147413641b5cba6b98e 100644
--- a/roles/cephadm/tasks/pkg_debian.yml
+++ b/roles/cephadm/tasks/pkg_debian.yml
@@ -12,3 +12,9 @@
     filename: ceph
   become: True
   when: not cephadm_use_package_from_distribution | bool
+
+- name: Install cephadm
+  apt:
+    name: cephadm
+    install_recommends: False
+  become: True
diff --git a/roles/cephadm/tasks/pkg_redhat.yml b/roles/cephadm/tasks/pkg_redhat.yml
index 354cd5e5f9c6bcdd4a1c3987365b3773b983c29a..85708cef43931bcf7a98fc14013e319006e49675 100644
--- a/roles/cephadm/tasks/pkg_redhat.yml
+++ b/roles/cephadm/tasks/pkg_redhat.yml
@@ -21,3 +21,9 @@
   loop: "{{ cephadm_ceph_rpm_repos }}"
   become: True
   when: not cephadm_use_package_from_distribution
+
+- name: Install cephadm
+  dnf:
+    name: "cephadm"
+    install_weak_deps: False
+  become: True
diff --git a/tests/templates/globals-default.j2 b/tests/templates/globals-default.j2
index 896399adf64b79b05128b4d910ca4a103d288fad..a8851647b0c4999562e004a37fa2eefe1a660e78 100644
--- a/tests/templates/globals-default.j2
+++ b/tests/templates/globals-default.j2
@@ -118,6 +118,14 @@ enable_rabbitmq: "no"
 {% endif %}
 
 {% if scenario == "cephadm" %}
+{% if ansible_facts.distribution == "Rocky" %}
+docker_custom_config:
+  default-ulimits:
+    nofile:
+      Name: nofile
+      Hard: 1048576
+      Soft: 1048576
+{% endif %}
 # kolla-ansible vars
 enable_cinder: "yes"
 # External Ceph