diff --git a/defaults/main.yml b/defaults/main.yml
index 5cc044e8321849c11b710a6529eedbfca78eea3d..6355f21478cf1ddbdd3e19c717ad0c9292099248 100644
--- a/defaults/main.yml
+++ b/defaults/main.yml
@@ -19,4 +19,15 @@ gitlab_runner_docker_image: ''
 gitlab_runner_tags: []
 # Docker privileged mode
 gitlab_runner_docker_privileged: false
-
+# Runner SSH user
+gitlab_runner_ssh_user: ''
+# Runner SSH host
+gitlab_runner_ssh_host: ''
+# Runner SSH port
+gitlab_runner_ssh_port: ''
+# Runner SSH password
+gitlab_runner_ssh_password: ''
+# Runner SSH identity file
+gitlab_runner_ssh_identity_file: ''
+# Runner Locked
+gitlab_runner_locked: 'false'
\ No newline at end of file
diff --git a/handlers/main.yml b/handlers/main.yml
index 84f1e43ec964baf9ca8f49caa70123684e669405..efc884cacedcfa3db75d437c665eaa42974e18c3 100644
--- a/handlers/main.yml
+++ b/handlers/main.yml
@@ -1,3 +1,4 @@
 ---
 - name: restart_gitlab_runner
   service: name=gitlab-runner state=restarted
+  become: yes
diff --git a/tasks/main.yml b/tasks/main.yml
index 6d964db158b6d53516312870fc85002fce194ac4..afd14acd65e6e3a1ed54a2fd10c3158e878320bb 100644
--- a/tasks/main.yml
+++ b/tasks/main.yml
@@ -1,15 +1,15 @@
 ---
 - name: Install GitLab Runner (Debian)
-  include: install-debian.yml
+  import_tasks: install-debian.yml
   when: ansible_os_family == 'Debian'
 
 - name: Install GitLab Runner (RedHat)
-  include: install-redhat.yml
+  import_tasks: install-redhat.yml
   when: ansible_os_family == 'RedHat'
 
 - name: Set global options
-  include: global-setup.yml
+  import_tasks: global-setup.yml
 
 - name: Register GitLab Runner
-  include: register-runner.yml
+  import_tasks: register-runner.yml
   when: gitlab_runner_registration_token != ''
diff --git a/tasks/register-runner.yml b/tasks/register-runner.yml
index cc72280338dadc0b2c242555609e81ab25df5757..94cce9c50291a7499aaefe74d49b1b26968e8410 100644
--- a/tasks/register-runner.yml
+++ b/tasks/register-runner.yml
@@ -12,11 +12,14 @@
     --description '{{ gitlab_runner_description }}'
     --tag-list '{{ gitlab_runner_tags | join(",") }}'
     --executor '{{ gitlab_runner_executor }}'
+    --locked='{{gitlab_runner_locked}}'
     --docker-image '{{ gitlab_runner_docker_image }}'
-    --docker-volumes [ "{{ gitlab_runner_docker_volumes | join('", "') }}" ]
-    --ssh-user '{{gitlab_runner_ssh_user}}'
-    --ssh-host '{{gitlab_runner_ssh_host}}'
-    --ssh-port '{{gitlab_runner_ssh_port}}'
-    --ssh-password '{{gitlab_runner_ssh_password}}'
-    --ssh-identity-file '{{gitlab_runner_ssh_identity_file}}'
-  when: configured_runners.stderr.find('\n{{ gitlab_runner_description }}') == -1
+    {% if gitlab_runner_docker_volumes is defined %}
+    --docker-volumes "{{ gitlab_runner_docker_volumes | join('" "') }}"
+    {% endif %}
+    --ssh-user '{{ gitlab_runner_ssh_user }}'
+    --ssh-host '{{ gitlab_runner_ssh_host }}'
+    --ssh-port '{{ gitlab_runner_ssh_port }}'
+    --ssh-password '{{ gitlab_runner_ssh_password }}'
+    --ssh-identity-file '{{ gitlab_runner_ssh_identity_file }}'
+  when: configured_runners.stderr.find('\n' + gitlab_runner_description) == -1