diff --git a/docs/vsphere.md b/docs/vsphere.md index 84d4d2ebc..8f91cf078 100644 --- a/docs/vsphere.md +++ b/docs/vsphere.md @@ -34,9 +34,9 @@ Then, in the same file, you need to declare your vCenter credential following th | vsphere_datastore | TRUE | string | | | Datastore name to use | | vsphere_working_dir | TRUE | string | | | Working directory from the view "VMs and template" in the vCenter where VM are placed | | vsphere_scsi_controller_type | TRUE | string | buslogic, pvscsi, parallel | pvscsi | SCSI controller name. Commonly "pvscsi". | -| vsphere_vm_uuid | FALSE | string | | | VM Instance UUID of virtual machine that host K8s master. Can be retrieved from instanceUuid property in VmConfigInfo, or as vc.uuid in VMX file or in `/sys/class/dmi/id/product_serial` (only optional for Kubernetes <= 1.9.2) | +| vsphere_vm_uuid | FALSE | string | | | VM Instance UUID of virtual machine that host K8s master. Can be retrieved from instanceUuid property in VmConfigInfo, or as vc.uuid in VMX file or in `/sys/class/dmi/id/product_serial` (Optional, only used for Kubernetes <= 1.9.2) | | vsphere_public_network | FALSE | string | | Blank | Name of the network the VMs are joined to | -| vsphere_resource_pool | FALSE | string | | Blank | Name of the Resource pool where the VMs are located (optional for Kubernetes >= 1.9.2) | +| vsphere_resource_pool | FALSE | string | | Blank | Name of the Resource pool where the VMs are located (Optional, only used for Kubernetes >= 1.9.2) | Example configuration diff --git a/roles/kubernetes/preinstall/templates/vsphere-cloud-config.j2 b/roles/kubernetes/preinstall/templates/vsphere-cloud-config.j2 index 94258135f..d82d72bf8 100644 --- a/roles/kubernetes/preinstall/templates/vsphere-cloud-config.j2 +++ b/roles/kubernetes/preinstall/templates/vsphere-cloud-config.j2 @@ -1,23 +1,35 @@ -{%- if kube_version | version_compare('v1.9.2', '>=') -%} - [Global] -datacenters = "{{ vsphere_datacenter }}" -insecure-flag = {{ vsphere_insecure }} +user = "{{ vsphere_user }}" password = "{{ vsphere_password }}" port = {{ vsphere_vcenter_port }} -user = "{{ vsphere_user }}" +insecure-flag = {{ vsphere_insecure }} + +{% if kube_version | version_compare('v1.9.2', '>=') %} +datacenters = "{{ vsphere_datacenter }}" +{% else %} +datastore = "{{ vsphere_datastore }}" +datacenter = "{{ vsphere_datacenter }}" +working-dir = "{{ vsphere_working_dir }}" +server = "{{ vsphere_vcenter_ip }}" +{% if vsphere_vm_uuid is defined and vsphere_vm_uuid != "" %} +vm-uuid = "{{ vsphere_vm_uuid }}" +{% endif %} +{% endif %} + +{% if kube_version | version_compare('v1.9.2', '>=') %} [VirtualCenter "{{ vsphere_vcenter_ip }}"] + [Workspace] server = "{{ vsphere_vcenter_ip }}" datacenter = "{{ vsphere_datacenter }}" folder = "{{ vsphere_working_dir }}" default-datastore = "{{ vsphere_datastore }}" - {% if vsphere_resource_pool is defined and vsphere_resource_pool != "" %} resourcepool-path = "{{ vsphere_resource_pool }}" {% endif %} +{% endif %} [Disk] @@ -26,30 +38,4 @@ scsicontrollertype = {{ vsphere_scsi_controller_type }} {% if vsphere_public_network is defined and vsphere_public_network != "" %} [Network] public-network = {{ vsphere_public_network }} -{% endif %} - -{%- else -%} - -[Global] -datacenter = "{{ vsphere_datacenter }}" -datastore = "{{ vsphere_datastore }}" -insecure-flag = {{ vsphere_insecure }} -password = "{{ vsphere_password }}" -port = {{ vsphere_vcenter_port }} -server = "{{ vsphere_vcenter_ip }}" -user = "{{ vsphere_user }}" -working-dir = "{{ vsphere_working_dir }}" -{% if vsphere_vm_uuid is defined %} -vm-uuid = {{ vsphere_vm_uuid }} -{% endif %} - -[Disk] -scsicontrollertype = {{ vsphere_scsi_controller_type }} - -{% if vsphere_public_network is defined and vsphere_public_network != "" %} -[Network] -public-network = {{ vsphere_public_network }} -{% endif %} - - -{%- endif -%} \ No newline at end of file +{% endif %} \ No newline at end of file