diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml
index 7315176839b57946fcd09e1bfdbcbf261d2cb946..dc0f6c7d3855ffa45a9ff2379b83ecbff44218a3 100644
--- a/.gitlab-ci.yml
+++ b/.gitlab-ci.yml
@@ -273,14 +273,14 @@ before_script:
       -e cloud_region=${CLOUD_REGION}
 
 # Test matrix. Leave the comments for markup scripts.
-.coreos_calico_sep_variables: &coreos_calico_sep_variables
+.coreos_calico_aio_variables: &coreos_calico_aio_variables
 # stage: deploy-gce-part1
   AUTHORIZATION_MODES: "{ 'authorization_modes':  [ 'RBAC' ] }"
   KUBE_NETWORK_PLUGIN: calico
   CLOUD_IMAGE: coreos-stable-1465-6-0-v20170817
   CLOUD_REGION: us-west1-b
   CLOUD_MACHINE_TYPE: "n1-standard-2"
-  CLUSTER_MODE: separate
+  CLUSTER_MODE: aio
   BOOTSTRAP_OS: coreos
   RESOLVCONF_MODE: host_resolvconf # This is required as long as the CoreOS stable channel uses docker < 1.12
   ##User-data to simply turn off coreos upgrades
@@ -412,13 +412,13 @@ before_script:
   STARTUP_SCRIPT: ""
 
 # Builds for PRs only (premoderated by unit-tests step) and triggers (auto)
-coreos-calico-sep:
+coreos-calico-aio:
   stage: deploy-gce-part1
   <<: *job
   <<: *gce
   variables:
     <<: *gce_variables
-    <<: *coreos_calico_sep_variables
+    <<: *coreos_calico_aio_variables
   when: on_success
   except: ['triggers']
   only: [/^pr-.*$/]
@@ -429,7 +429,7 @@ coreos-calico-sep-triggers:
   <<: *gce
   variables:
     <<: *gce_variables
-    <<: *coreos_calico_sep_variables
+    <<: *coreos_calico_aio_variables
   when: on_success
   only: ['triggers']
 
diff --git a/tests/cloud_playbooks/create-gce.yml b/tests/cloud_playbooks/create-gce.yml
index ee90b35b205e836330cd6fd42697c39c0336ab57..f222289ebfaa5bc9834d662af8d6e5bcf33b2f6d 100644
--- a/tests/cloud_playbooks/create-gce.yml
+++ b/tests/cloud_playbooks/create-gce.yml
@@ -15,6 +15,8 @@
         instance_names: >-
           {%- if mode in ['separate', 'separate-scale', 'ha', 'ha-scale'] -%}
           k8s-{{test_name}}-1,k8s-{{test_name}}-2,k8s-{{test_name}}-3
+          {%- elif mode == 'aio' -%}
+          k8s-{{test_name}}-1
           {%- else -%}
           k8s-{{test_name}}-1,k8s-{{test_name}}-2
           {%- endif -%}
diff --git a/tests/templates/inventory-gce.j2 b/tests/templates/inventory-gce.j2
index c77556f0b708359d237ade99afff9cbb5d7b89e2..4263e3e86f7139321a185aa7c6757cec6d74f3aa 100644
--- a/tests/templates/inventory-gce.j2
+++ b/tests/templates/inventory-gce.j2
@@ -1,7 +1,9 @@
 {% set node1 = gce.instance_data[0].name %}
-{% set node2 = gce.instance_data[1].name %}
 {{node1}} ansible_ssh_host={{gce.instance_data[0].public_ip}}
+{% if mode != "aio" %}
+{% set node2 = gce.instance_data[1].name %}
 {{node2}} ansible_ssh_host={{gce.instance_data[1].public_ip}}
+{% endif %}
 {% if mode is defined and mode in ["ha", "ha-scale", "separate", "separate-scale"] %}
 {% set node3 = gce.instance_data[2].name %}
 {{node3}} ansible_ssh_host={{gce.instance_data[2].public_ip}}
@@ -35,7 +37,7 @@
 {{node1}}
 {{node2}}
 {{node3}}
-{% else %}
+{% elif mode == "default" %}
 [kube-master]
 {{node1}}
 
@@ -45,6 +47,18 @@
 [etcd]
 {{node1}}
 
+[vault]
+{{node1}}
+{% elif mode == "aio" %}
+[kube-master]
+{{node1}}
+
+[kube-node]
+{{node1}}
+
+[etcd]
+{{node1}}
+
 [vault]
 {{node1}}
 {% endif %}