From cf63e9f16a8ea1ca449a530d4478525f14fa883d 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 dd8e7f12b64b2d8c77d3d1269d82ae9a987d2e01 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 0bf866fac6d0f42a15026cc1e54d94cf1c256a1b 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 3cd244d90902228c93f5055822f48337ff10e9f2 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 })