# Validation failed in API: Cluster name is required

**URL:** <https://forums.suse.com/t/validation-failed-in-api-cluster-name-is-required/15985>\
**Category:** SUSE Rancher Prime\
**Created:** [December 2, 2019, 10:28pm UTC](https://forums.suse.com/t/validation-failed-in-api-cluster-name-is-required/15985 "2019-12-02T22:28:57Z")\
**Posts on this page:** 2\
**Page:** 1

<div class="post-metadata">

**Author:** ![huegelc](https://sea2.discourse-cdn.com/flex022/user_avatar/forums.suse.com/huegelc/32/5678_2.png) [@huegelc](https://forums.suse.com/u/huegelc)\
**Post date:** [December 2, 2019, 10:28pm UTC](https://forums.suse.com/t/validation-failed-in-api-cluster-name-is-required/15985/1 "2019-12-02T22:28:57Z")

</div>

I get this error `Validation failed in API: Cluster name is required` when I want to deploy an cluster with with this yaml template:

```
# 
# Cluster Config
# 
docker_root_dir: /var/lib/docker

enable_cluster_alerting: false
# This setting is not enforced. Clusters
# created with this sample template
# would have alerting turned off by default,
# but end users could still turn alerting
# on or off.
cluster_name: pci-k8s-prod 

enable_cluster_monitoring: false 
# This setting is not enforced. Clusters
# created with this sample template
# would have monitoring turned on
# by default, but end users could still
# turn monitoring on or off.

enable_network_policy: false
local_cluster_auth_endpoint:
  enabled: true
# 
# Rancher Config
# 
rancher_kubernetes_engine_config: # Your RKE template config goes here.
  addon_job_timeout: 30
  authentication:
    strategy: x509
  ignore_docker_version: true
# 
# # Currently only nginx ingress provider is supported.
# # To disable ingress controller, set `provider: none`
# # To enable ingress on specific nodes, use the node_selector, eg:
# provider: nginx
# node_selector:
# app: ingress
# 
  ingress:
    provider: nginx
  kubernetes_version: v1.16.3-rancher1-1
  monitoring:
    provider: metrics-server
# 
# If you are using calico on AWS
# 
# network:
# plugin: calico
# calico_network_provider:
# cloud_provider: aws
# 
# # To specify flannel interface
# 
# network:
# plugin: flannel
# flannel_network_provider:
# iface: eth1
# 
# # To specify flannel interface for canal plugin
# 
# network:
# plugin: canal
# canal_network_provider:
# iface: eth1
# 
  network:
    plugin: none
# 
    services:
      kube-api:
        service_cluster_ip_range: 10.2.228.0/22
      kube-controller:
        cluster_cidr: 10.2.225.0/24
        service_cluster_ip_range: 10.2.228.0/22
      kubelet:
        cluster_domain: cluster.local
        cluster_dns_server: 10.2.228.66
 
  services:
    etcd:
      backup_config:
        enabled: true
        interval_hours: 12
        retention: 6
        safe_timestamp: false
      creation: 12h
      extra_args:
        election-timeout: 5000
        heartbeat-interval: 500
      gid: 0
      retention: 72h
      snapshot: false
      uid: 0
    kube_api:
      always_pull_images: false
      pod_security_policy: false
      service_node_port_range: 30000-32767
  ssh_agent_auth: false
windows_prefered_cluster: false
addons_include:
  - https://example.com/f/04f3a82acabf493b947b/?dl=1

```

Any clue whats wrong here? Thanks

---

<div class="post-metadata">

**Author:** ![huegelc](https://sea2.discourse-cdn.com/flex022/user_avatar/forums.suse.com/huegelc/32/5678_2.png) [@huegelc](https://forums.suse.com/u/huegelc)\
**Post date:** [December 21, 2019, 12:03am UTC](https://forums.suse.com/t/validation-failed-in-api-cluster-name-is-required/15985/3 "2019-12-21T00:03:34Z")

</div>

Correct template format:

```
# 
# Cluster Config
# 
docker_root_dir: /var/lib/docker
name:<your_cluster_name>
enable_cluster_alerting: false
enable_cluster_monitoring: false
enable_network_policy: false
local_cluster_auth_endpoint:
 enabled: true
# 
# Rancher Config
# 
rancher_kubernetes_engine_config:
 addon_job_timeout: 30
 addons_include:
   - 'https://example.com/f/86f70557asa9900140a18077/?dl=1'
 authentication:
   strategy: x509
 ignore_docker_version: true
# 
# # Currently only nginx ingress provider is supported.
# # To disable ingress controller, set `provider: none`
# # To enable ingress on specific nodes, use the node_selector, eg:
# provider: nginx
# node_selector:
# app: ingress
# 
 ingress:
   provider: nginx
 kubernetes_version: v1.16.3-rancher1-1
 monitoring:
   provider: metrics-server
# 
# If you are using calico on AWS
# 
# network:
# plugin: calico
# calico_network_provider:
# cloud_provider: aws
# 
# # To specify flannel interface
# 
# network:
# plugin: flannel
# flannel_network_provider:
# iface: eth1
# 
# # To specify flannel interface for canal plugin
# 
# network:
# plugin: canal
# canal_network_provider:
# iface: eth1
# 
 network:
   plugin: none
# 
# services:
# kube-api:
# service_cluster_ip_range: 10.43.0.0/16
# kube-controller:
# cluster_cidr: 10.42.0.0/16
# service_cluster_ip_range: 10.43.0.0/16
# kubelet:
# cluster_domain: cluster.local
# cluster_dns_server: 10.43.0.10
# 
 services:
   etcd:
     backup_config:
       enabled: true
       interval_hours: 12
       retention: 6
       safe_timestamp: false
     creation: 12h
     extra_args:
       election-timeout: '5000'
       heartbeat-interval: '500'
     gid: 0
     retention: 72h
     snapshot: false
     uid: 0
   kube_api:
     always_pull_images: false
     pod_security_policy: false
     service_cluster_ip_range: 10.2.228.0/22
     service_node_port_range: 30000-32767
   kube_controller:
     cluster_cidr: 10.2.225.0/24
     service_cluster_ip_range: 10.2.228.0/22
   kubelet:
     cluster_dns_server: 10.2.228.66
     cluster_domain: pci-k8s-prod.local
     fail_swap_on: false
     generate_serving_certificate: false
 ssh_agent_auth: false
windows_prefered_cluster: false
```
