From 2226f7ca05628dd5f445dc8721bf236165e06cf0 Mon Sep 17 00:00:00 2001 From: Scott Schneider Date: Wed, 12 Feb 2014 10:29:45 -0800 Subject: [PATCH 1/4] Store annotation in JSON format --- vmware-host-pooler | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/vmware-host-pooler b/vmware-host-pooler index cf297bd..722e76a 100755 --- a/vmware-host-pooler +++ b/vmware-host-pooler @@ -1,5 +1,6 @@ #!/usr/bin/ruby +require 'json' require 'rbvmomi' require 'redis' require 'time' @@ -164,9 +165,10 @@ def clone_vm template, pool, folder, datastore # Annotate with creation time, origin template, etc. configSpec = RbVmomi::VIM.VirtualMachineConfigSpec( - :annotation => - 'Base template: ' + vm['template'] + "\n" + - 'Creation time: ' + Time.now.strftime("%Y-%m-%d %H:%M") + :annotation => JSON.pretty_generate({ + base_template: vm['template'], + creation_timestamp: Time.now + }) ) # Put the VM in the specified folder and resource pool From c4642d834dad574e5bcf6af9d66a5c72b027b60c Mon Sep 17 00:00:00 2001 From: Scott Schneider Date: Wed, 12 Feb 2014 10:47:35 -0800 Subject: [PATCH 2/4] Store VM hostname as 'name' annotation --- vmware-host-pooler | 1 + 1 file changed, 1 insertion(+) diff --git a/vmware-host-pooler b/vmware-host-pooler index 722e76a..b58db5b 100755 --- a/vmware-host-pooler +++ b/vmware-host-pooler @@ -166,6 +166,7 @@ def clone_vm template, pool, folder, datastore # Annotate with creation time, origin template, etc. configSpec = RbVmomi::VIM.VirtualMachineConfigSpec( :annotation => JSON.pretty_generate({ + name: vm['hostname'], base_template: vm['template'], creation_timestamp: Time.now }) From df9c8b5647746431041792b75428bc0c28ac77c6 Mon Sep 17 00:00:00 2001 From: Scott Schneider Date: Wed, 12 Feb 2014 10:48:09 -0800 Subject: [PATCH 3/4] Store creation_timestamp as UTC --- vmware-host-pooler | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/vmware-host-pooler b/vmware-host-pooler index b58db5b..4dc7052 100755 --- a/vmware-host-pooler +++ b/vmware-host-pooler @@ -168,7 +168,7 @@ def clone_vm template, pool, folder, datastore :annotation => JSON.pretty_generate({ name: vm['hostname'], base_template: vm['template'], - creation_timestamp: Time.now + creation_timestamp: Time.now.utc }) ) From efda9dfe42e310cae6e4d3c59abb365b4d996596 Mon Sep 17 00:00:00 2001 From: Scott Schneider Date: Wed, 12 Feb 2014 11:13:43 -0800 Subject: [PATCH 4/4] 'created_by' annotation --- vmware-host-pooler | 1 + 1 file changed, 1 insertion(+) diff --git a/vmware-host-pooler b/vmware-host-pooler index 4dc7052..0e62265 100755 --- a/vmware-host-pooler +++ b/vmware-host-pooler @@ -167,6 +167,7 @@ def clone_vm template, pool, folder, datastore configSpec = RbVmomi::VIM.VirtualMachineConfigSpec( :annotation => JSON.pretty_generate({ name: vm['hostname'], + created_by: $config[:vsphere]['username'], base_template: vm['template'], creation_timestamp: Time.now.utc })