Skip to content
Projects
Groups
Snippets
Help
This project
Loading...
Sign in / Register
Toggle navigation
K
k3s
Project
Project
Details
Activity
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Registry
Registry
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
Jacklull
k3s
Commits
a26c1205
Unverified
Commit
a26c1205
authored
Feb 21, 2018
by
Christoph Blecker
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
Bump dependencies for build tag fixes
bump github.com/vmware/govmomi/vim25 to HEAD bump bitbucket.org/bertimus9/systemstat to HEAD
parent
ecc5eb67
Expand all
Hide whitespace changes
Inline
Side-by-side
Showing
19 changed files
with
314 additions
and
79 deletions
+314
-79
Godeps.json
Godeps/Godeps.json
+0
-0
systemstat_ex.go
vendor/bitbucket.org/bertimus9/systemstat/systemstat_ex.go
+1
-9
BUILD
vendor/github.com/seccomp/libseccomp-golang/BUILD
+0
-1
.travis.yml
vendor/github.com/vmware/govmomi/.travis.yml
+1
-0
datacenter.go
vendor/github.com/vmware/govmomi/object/datacenter.go
+39
-0
datastore_file_manager.go
...ithub.com/vmware/govmomi/object/datastore_file_manager.go
+71
-7
types.go
vendor/github.com/vmware/govmomi/object/types.go
+3
-1
BUILD
vendor/github.com/vmware/govmomi/simulator/BUILD
+30
-1
datacenter.go
vendor/github.com/vmware/govmomi/simulator/datacenter.go
+56
-8
file_manager.go
vendor/github.com/vmware/govmomi/simulator/file_manager.go
+1
-1
folder.go
vendor/github.com/vmware/govmomi/simulator/folder.go
+1
-5
host_system.go
vendor/github.com/vmware/govmomi/simulator/host_system.go
+1
-3
model.go
vendor/github.com/vmware/govmomi/simulator/model.go
+15
-11
os_unix.go
vendor/github.com/vmware/govmomi/simulator/os_unix.go
+2
-0
registry.go
vendor/github.com/vmware/govmomi/simulator/registry.go
+2
-2
search_index.go
vendor/github.com/vmware/govmomi/simulator/search_index.go
+1
-1
view_manager.go
vendor/github.com/vmware/govmomi/simulator/view_manager.go
+1
-1
virtual_disk_manager.go
...thub.com/vmware/govmomi/simulator/virtual_disk_manager.go
+6
-0
virtual_machine.go
...or/github.com/vmware/govmomi/simulator/virtual_machine.go
+83
-28
No files found.
Godeps/Godeps.json
View file @
a26c1205
This diff is collapsed.
Click to expand it.
vendor/bitbucket.org/bertimus9/systemstat/systemstat_ex.go
View file @
a26c1205
...
@@ -7,7 +7,6 @@
...
@@ -7,7 +7,6 @@
package
systemstat
package
systemstat
import
(
import
(
"syscall"
"time"
"time"
)
)
...
@@ -30,15 +29,8 @@ func getMemSample(procfile string) (samp MemSample) {
...
@@ -30,15 +29,8 @@ func getMemSample(procfile string) (samp MemSample) {
}
}
func
getProcCPUSample
()
(
s
ProcCPUSample
)
{
func
getProcCPUSample
()
(
s
ProcCPUSample
)
{
var
processInfo
syscall
.
Rusage
notImplemented
(
"getProcCPUSample"
)
syscall
.
Getrusage
(
syscall
.
RUSAGE_SELF
,
&
processInfo
)
s
.
Time
=
time
.
Now
()
s
.
Time
=
time
.
Now
()
s
.
ProcMemUsedK
=
int64
(
processInfo
.
Maxrss
)
s
.
User
=
float64
(
processInfo
.
Utime
.
Usec
)
/
1000000
+
float64
(
processInfo
.
Utime
.
Sec
)
s
.
System
=
float64
(
processInfo
.
Stime
.
Usec
)
/
1000000
+
float64
(
processInfo
.
Stime
.
Sec
)
s
.
Total
=
s
.
User
+
s
.
System
return
return
}
}
...
...
vendor/github.com/seccomp/libseccomp-golang/BUILD
View file @
a26c1205
...
@@ -13,7 +13,6 @@ go_library(
...
@@ -13,7 +13,6 @@ go_library(
clinkopts = select({
clinkopts = select({
"@io_bazel_rules_go//go/platform:linux": [
"@io_bazel_rules_go//go/platform:linux": [
"-lseccomp",
"-lseccomp",
"-lseccomp",
],
],
"//conditions:default": [],
"//conditions:default": [],
}),
}),
...
...
vendor/github.com/vmware/govmomi/.travis.yml
View file @
a26c1205
...
@@ -10,3 +10,4 @@ before_install:
...
@@ -10,3 +10,4 @@ before_install:
script
:
script
:
-
make check test
-
make check test
-
GOOS=windows make install
vendor/github.com/vmware/govmomi/object/datacenter.go
View file @
a26c1205
...
@@ -88,3 +88,42 @@ func (d Datacenter) Destroy(ctx context.Context) (*Task, error) {
...
@@ -88,3 +88,42 @@ func (d Datacenter) Destroy(ctx context.Context) (*Task, error) {
return
NewTask
(
d
.
c
,
res
.
Returnval
),
nil
return
NewTask
(
d
.
c
,
res
.
Returnval
),
nil
}
}
// PowerOnVM powers on multiple virtual machines with a single vCenter call.
// If called against ESX, serially powers on the list of VMs and the returned *Task will always be nil.
func
(
d
Datacenter
)
PowerOnVM
(
ctx
context
.
Context
,
vm
[]
types
.
ManagedObjectReference
,
option
...
types
.
BaseOptionValue
)
(
*
Task
,
error
)
{
if
d
.
Client
()
.
IsVC
()
{
req
:=
types
.
PowerOnMultiVM_Task
{
This
:
d
.
Reference
(),
Vm
:
vm
,
Option
:
option
,
}
res
,
err
:=
methods
.
PowerOnMultiVM_Task
(
ctx
,
d
.
c
,
&
req
)
if
err
!=
nil
{
return
nil
,
err
}
return
NewTask
(
d
.
c
,
res
.
Returnval
),
nil
}
for
_
,
ref
:=
range
vm
{
obj
:=
NewVirtualMachine
(
d
.
Client
(),
ref
)
task
,
err
:=
obj
.
PowerOn
(
ctx
)
if
err
!=
nil
{
return
nil
,
err
}
err
=
task
.
Wait
(
ctx
)
if
err
!=
nil
{
// Ignore any InvalidPowerState fault, as it indicates the VM is already powered on
if
f
,
ok
:=
err
.
(
types
.
HasFault
);
ok
{
if
_
,
ok
=
f
.
Fault
()
.
(
*
types
.
InvalidPowerState
);
!
ok
{
return
nil
,
err
}
}
}
}
return
nil
,
nil
}
vendor/github.com/vmware/govmomi/object/datastore_file_manager.go
View file @
a26c1205
/*
/*
Copyright (c) 2017 VMware, Inc. All Rights Reserved.
Copyright (c) 2017
-2018
VMware, Inc. All Rights Reserved.
Licensed under the Apache License, Version 2.0 (the "License");
Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
you may not use this file except in compliance with the License.
...
@@ -26,6 +26,7 @@ import (
...
@@ -26,6 +26,7 @@ import (
"path"
"path"
"strings"
"strings"
"github.com/vmware/govmomi/vim25/progress"
"github.com/vmware/govmomi/vim25/soap"
"github.com/vmware/govmomi/vim25/soap"
)
)
...
@@ -36,7 +37,8 @@ type DatastoreFileManager struct {
...
@@ -36,7 +37,8 @@ type DatastoreFileManager struct {
FileManager
*
FileManager
FileManager
*
FileManager
VirtualDiskManager
*
VirtualDiskManager
VirtualDiskManager
*
VirtualDiskManager
Force
bool
Force
bool
DatacenterTarget
*
Datacenter
}
}
// NewFileManager creates a new instance of DatastoreFileManager
// NewFileManager creates a new instance of DatastoreFileManager
...
@@ -49,11 +51,25 @@ func (d Datastore) NewFileManager(dc *Datacenter, force bool) *DatastoreFileMana
...
@@ -49,11 +51,25 @@ func (d Datastore) NewFileManager(dc *Datacenter, force bool) *DatastoreFileMana
FileManager
:
NewFileManager
(
c
),
FileManager
:
NewFileManager
(
c
),
VirtualDiskManager
:
NewVirtualDiskManager
(
c
),
VirtualDiskManager
:
NewVirtualDiskManager
(
c
),
Force
:
force
,
Force
:
force
,
DatacenterTarget
:
dc
,
}
}
return
m
return
m
}
}
func
(
m
*
DatastoreFileManager
)
WithProgress
(
ctx
context
.
Context
,
s
progress
.
Sinker
)
context
.
Context
{
return
context
.
WithValue
(
ctx
,
m
,
s
)
}
func
(
m
*
DatastoreFileManager
)
wait
(
ctx
context
.
Context
,
task
*
Task
)
error
{
var
logger
progress
.
Sinker
if
s
,
ok
:=
ctx
.
Value
(
m
)
.
(
progress
.
Sinker
);
ok
{
logger
=
s
}
_
,
err
:=
task
.
WaitForResult
(
ctx
,
logger
)
return
err
}
// Delete dispatches to the appropriate Delete method based on file name extension
// Delete dispatches to the appropriate Delete method based on file name extension
func
(
m
*
DatastoreFileManager
)
Delete
(
ctx
context
.
Context
,
name
string
)
error
{
func
(
m
*
DatastoreFileManager
)
Delete
(
ctx
context
.
Context
,
name
string
)
error
{
switch
path
.
Ext
(
name
)
{
switch
path
.
Ext
(
name
)
{
...
@@ -73,7 +89,7 @@ func (m *DatastoreFileManager) DeleteFile(ctx context.Context, name string) erro
...
@@ -73,7 +89,7 @@ func (m *DatastoreFileManager) DeleteFile(ctx context.Context, name string) erro
return
err
return
err
}
}
return
task
.
Wait
(
ctx
)
return
m
.
wait
(
ctx
,
task
)
}
}
// DeleteVirtualDisk calls VirtualDiskManager.DeleteVirtualDisk
// DeleteVirtualDisk calls VirtualDiskManager.DeleteVirtualDisk
...
@@ -94,10 +110,58 @@ func (m *DatastoreFileManager) DeleteVirtualDisk(ctx context.Context, name strin
...
@@ -94,10 +110,58 @@ func (m *DatastoreFileManager) DeleteVirtualDisk(ctx context.Context, name strin
return
err
return
err
}
}
return
task
.
Wait
(
ctx
)
return
m
.
wait
(
ctx
,
task
)
}
// CopyFile calls FileManager.CopyDatastoreFile
func
(
m
*
DatastoreFileManager
)
CopyFile
(
ctx
context
.
Context
,
src
string
,
dst
string
)
error
{
srcp
:=
m
.
Path
(
src
)
dstp
:=
m
.
Path
(
dst
)
task
,
err
:=
m
.
FileManager
.
CopyDatastoreFile
(
ctx
,
srcp
.
String
(),
m
.
Datacenter
,
dstp
.
String
(),
m
.
DatacenterTarget
,
m
.
Force
)
if
err
!=
nil
{
return
err
}
return
m
.
wait
(
ctx
,
task
)
}
// Copy dispatches to the appropriate FileManager or VirtualDiskManager Copy method based on file name extension
func
(
m
*
DatastoreFileManager
)
Copy
(
ctx
context
.
Context
,
src
string
,
dst
string
)
error
{
srcp
:=
m
.
Path
(
src
)
dstp
:=
m
.
Path
(
dst
)
f
:=
m
.
FileManager
.
CopyDatastoreFile
if
srcp
.
IsVMDK
()
{
// types.VirtualDiskSpec=nil as it is not implemented by vCenter
f
=
func
(
ctx
context
.
Context
,
src
string
,
srcDC
*
Datacenter
,
dst
string
,
dstDC
*
Datacenter
,
force
bool
)
(
*
Task
,
error
)
{
return
m
.
VirtualDiskManager
.
CopyVirtualDisk
(
ctx
,
src
,
srcDC
,
dst
,
dstDC
,
nil
,
force
)
}
}
task
,
err
:=
f
(
ctx
,
srcp
.
String
(),
m
.
Datacenter
,
dstp
.
String
(),
m
.
DatacenterTarget
,
m
.
Force
)
if
err
!=
nil
{
return
err
}
return
m
.
wait
(
ctx
,
task
)
}
// MoveFile calls FileManager.MoveDatastoreFile
func
(
m
*
DatastoreFileManager
)
MoveFile
(
ctx
context
.
Context
,
src
string
,
dst
string
)
error
{
srcp
:=
m
.
Path
(
src
)
dstp
:=
m
.
Path
(
dst
)
task
,
err
:=
m
.
FileManager
.
MoveDatastoreFile
(
ctx
,
srcp
.
String
(),
m
.
Datacenter
,
dstp
.
String
(),
m
.
DatacenterTarget
,
m
.
Force
)
if
err
!=
nil
{
return
err
}
return
m
.
wait
(
ctx
,
task
)
}
}
// Move dispatches to the appropriate Move method based on file name extension
// Move dispatches to the appropriate
FileManager or VirtualDiskManager
Move method based on file name extension
func
(
m
*
DatastoreFileManager
)
Move
(
ctx
context
.
Context
,
src
string
,
dst
string
)
error
{
func
(
m
*
DatastoreFileManager
)
Move
(
ctx
context
.
Context
,
src
string
,
dst
string
)
error
{
srcp
:=
m
.
Path
(
src
)
srcp
:=
m
.
Path
(
src
)
dstp
:=
m
.
Path
(
dst
)
dstp
:=
m
.
Path
(
dst
)
...
@@ -108,12 +172,12 @@ func (m *DatastoreFileManager) Move(ctx context.Context, src string, dst string)
...
@@ -108,12 +172,12 @@ func (m *DatastoreFileManager) Move(ctx context.Context, src string, dst string)
f
=
m
.
VirtualDiskManager
.
MoveVirtualDisk
f
=
m
.
VirtualDiskManager
.
MoveVirtualDisk
}
}
task
,
err
:=
f
(
ctx
,
srcp
.
String
(),
m
.
Datacenter
,
dstp
.
String
(),
m
.
Datacenter
,
m
.
Force
)
task
,
err
:=
f
(
ctx
,
srcp
.
String
(),
m
.
Datacenter
,
dstp
.
String
(),
m
.
Datacenter
Target
,
m
.
Force
)
if
err
!=
nil
{
if
err
!=
nil
{
return
err
return
err
}
}
return
task
.
Wait
(
ctx
)
return
m
.
wait
(
ctx
,
task
)
}
}
// Path converts path name to a DatastorePath
// Path converts path name to a DatastorePath
...
...
vendor/github.com/vmware/govmomi/object/types.go
View file @
a26c1205
...
@@ -47,8 +47,10 @@ func NewReference(c *vim25.Client, e types.ManagedObjectReference) Reference {
...
@@ -47,8 +47,10 @@ func NewReference(c *vim25.Client, e types.ManagedObjectReference) Reference {
return
NewClusterComputeResource
(
c
,
e
)
return
NewClusterComputeResource
(
c
,
e
)
case
"HostSystem"
:
case
"HostSystem"
:
return
NewHostSystem
(
c
,
e
)
return
NewHostSystem
(
c
,
e
)
case
"Network"
,
"OpaqueNetwork"
:
case
"Network"
:
return
NewNetwork
(
c
,
e
)
return
NewNetwork
(
c
,
e
)
case
"OpaqueNetwork"
:
return
NewOpaqueNetwork
(
c
,
e
)
case
"ResourcePool"
:
case
"ResourcePool"
:
return
NewResourcePool
(
c
,
e
)
return
NewResourcePool
(
c
,
e
)
case
"DistributedVirtualSwitch"
:
case
"DistributedVirtualSwitch"
:
...
...
vendor/github.com/vmware/govmomi/simulator/BUILD
View file @
a26c1205
...
@@ -25,7 +25,6 @@ go_library(
...
@@ -25,7 +25,6 @@ go_library(
"license_manager.go",
"license_manager.go",
"model.go",
"model.go",
"option_manager.go",
"option_manager.go",
"os_unix.go",
"performance_manager.go",
"performance_manager.go",
"portgroup.go",
"portgroup.go",
"property_collector.go",
"property_collector.go",
...
@@ -44,6 +43,36 @@ go_library(
...
@@ -44,6 +43,36 @@ go_library(
"virtual_disk_manager.go",
"virtual_disk_manager.go",
"virtual_machine.go",
"virtual_machine.go",
] + select({
] + select({
"@io_bazel_rules_go//go/platform:android": [
"os_unix.go",
],
"@io_bazel_rules_go//go/platform:darwin": [
"os_unix.go",
],
"@io_bazel_rules_go//go/platform:dragonfly": [
"os_unix.go",
],
"@io_bazel_rules_go//go/platform:freebsd": [
"os_unix.go",
],
"@io_bazel_rules_go//go/platform:linux": [
"os_unix.go",
],
"@io_bazel_rules_go//go/platform:nacl": [
"os_unix.go",
],
"@io_bazel_rules_go//go/platform:netbsd": [
"os_unix.go",
],
"@io_bazel_rules_go//go/platform:openbsd": [
"os_unix.go",
],
"@io_bazel_rules_go//go/platform:plan9": [
"os_unix.go",
],
"@io_bazel_rules_go//go/platform:solaris": [
"os_unix.go",
],
"@io_bazel_rules_go//go/platform:windows": [
"@io_bazel_rules_go//go/platform:windows": [
"os_windows.go",
"os_windows.go",
],
],
...
...
vendor/github.com/vmware/govmomi/simulator/datacenter.go
View file @
a26c1205
...
@@ -20,15 +20,40 @@ import (
...
@@ -20,15 +20,40 @@ import (
"strings"
"strings"
"github.com/vmware/govmomi/simulator/esx"
"github.com/vmware/govmomi/simulator/esx"
"github.com/vmware/govmomi/vim25/methods"
"github.com/vmware/govmomi/vim25/mo"
"github.com/vmware/govmomi/vim25/mo"
"github.com/vmware/govmomi/vim25/soap"
"github.com/vmware/govmomi/vim25/types"
"github.com/vmware/govmomi/vim25/types"
)
)
type
Datacenter
struct
{
mo
.
Datacenter
isESX
bool
}
// NewDatacenter creates a Datacenter and its child folders.
func
NewDatacenter
(
f
*
Folder
)
*
Datacenter
{
dc
:=
&
Datacenter
{
isESX
:
f
.
Self
==
esx
.
RootFolder
.
Self
,
}
if
dc
.
isESX
{
dc
.
Datacenter
=
esx
.
Datacenter
}
f
.
putChild
(
dc
)
dc
.
createFolders
()
return
dc
}
// Create Datacenter Folders.
// Create Datacenter Folders.
// Every Datacenter has 4 inventory Folders: Vm, Host, Datastore and Network.
// Every Datacenter has 4 inventory Folders: Vm, Host, Datastore and Network.
// The ESX folder child types are limited to 1 type.
// The ESX folder child types are limited to 1 type.
// The VC folders have additional child types, including nested folders.
// The VC folders have additional child types, including nested folders.
func
createDatacenterFolders
(
dc
*
mo
.
Datacenter
,
isVC
bool
)
{
func
(
dc
*
Datacenter
)
createFolders
(
)
{
folders
:=
[]
struct
{
folders
:=
[]
struct
{
ref
*
types
.
ManagedObjectReference
ref
*
types
.
ManagedObjectReference
name
string
name
string
...
@@ -44,7 +69,11 @@ func createDatacenterFolders(dc *mo.Datacenter, isVC bool) {
...
@@ -44,7 +69,11 @@ func createDatacenterFolders(dc *mo.Datacenter, isVC bool) {
folder
:=
&
Folder
{}
folder
:=
&
Folder
{}
folder
.
Name
=
f
.
name
folder
.
Name
=
f
.
name
if
isVC
{
if
dc
.
isESX
{
folder
.
ChildType
=
f
.
types
[
:
1
]
folder
.
Self
=
*
f
.
ref
Map
.
PutEntity
(
dc
,
folder
)
}
else
{
folder
.
ChildType
=
f
.
types
folder
.
ChildType
=
f
.
types
e
:=
Map
.
PutEntity
(
dc
,
folder
)
e
:=
Map
.
PutEntity
(
dc
,
folder
)
...
@@ -52,10 +81,6 @@ func createDatacenterFolders(dc *mo.Datacenter, isVC bool) {
...
@@ -52,10 +81,6 @@ func createDatacenterFolders(dc *mo.Datacenter, isVC bool) {
ref
:=
e
.
Reference
()
ref
:=
e
.
Reference
()
f
.
ref
.
Type
=
ref
.
Type
f
.
ref
.
Type
=
ref
.
Type
f
.
ref
.
Value
=
ref
.
Value
f
.
ref
.
Value
=
ref
.
Value
}
else
{
folder
.
ChildType
=
f
.
types
[
:
1
]
folder
.
Self
=
*
f
.
ref
Map
.
PutEntity
(
dc
,
folder
)
}
}
}
}
...
@@ -67,7 +92,7 @@ func createDatacenterFolders(dc *mo.Datacenter, isVC bool) {
...
@@ -67,7 +92,7 @@ func createDatacenterFolders(dc *mo.Datacenter, isVC bool) {
network
.
Self
=
ref
network
.
Self
=
ref
network
.
Name
=
strings
.
Split
(
ref
.
Value
,
"-"
)[
1
]
network
.
Name
=
strings
.
Split
(
ref
.
Value
,
"-"
)[
1
]
network
.
Entity
()
.
Name
=
network
.
Name
network
.
Entity
()
.
Name
=
network
.
Name
if
isVC
{
if
!
dc
.
isESX
{
network
.
Self
.
Value
=
""
// we want a different moid per-DC
network
.
Self
.
Value
=
""
// we want a different moid per-DC
}
}
...
@@ -76,7 +101,7 @@ func createDatacenterFolders(dc *mo.Datacenter, isVC bool) {
...
@@ -76,7 +101,7 @@ func createDatacenterFolders(dc *mo.Datacenter, isVC bool) {
}
}
func
datacenterEventArgument
(
obj
mo
.
Entity
)
*
types
.
DatacenterEventArgument
{
func
datacenterEventArgument
(
obj
mo
.
Entity
)
*
types
.
DatacenterEventArgument
{
dc
,
ok
:=
obj
.
(
*
mo
.
Datacenter
)
dc
,
ok
:=
obj
.
(
*
Datacenter
)
if
!
ok
{
if
!
ok
{
dc
=
Map
.
getEntityDatacenter
(
obj
)
dc
=
Map
.
getEntityDatacenter
(
obj
)
}
}
...
@@ -85,3 +110,26 @@ func datacenterEventArgument(obj mo.Entity) *types.DatacenterEventArgument {
...
@@ -85,3 +110,26 @@ func datacenterEventArgument(obj mo.Entity) *types.DatacenterEventArgument {
EntityEventArgument
:
types
.
EntityEventArgument
{
Name
:
dc
.
Name
},
EntityEventArgument
:
types
.
EntityEventArgument
{
Name
:
dc
.
Name
},
}
}
}
}
func
(
dc
*
Datacenter
)
PowerOnMultiVMTask
(
ctx
*
Context
,
req
*
types
.
PowerOnMultiVM_Task
)
soap
.
HasFault
{
task
:=
CreateTask
(
dc
,
"powerOnMultiVM"
,
func
(
_
*
Task
)
(
types
.
AnyType
,
types
.
BaseMethodFault
)
{
if
dc
.
isESX
{
return
nil
,
new
(
types
.
NotImplemented
)
}
for
_
,
ref
:=
range
req
.
Vm
{
vm
:=
Map
.
Get
(
ref
)
.
(
*
VirtualMachine
)
Map
.
WithLock
(
vm
,
func
()
{
vm
.
PowerOnVMTask
(
ctx
,
&
types
.
PowerOnVM_Task
{})
})
}
return
nil
,
nil
})
return
&
methods
.
PowerOnMultiVM_TaskBody
{
Res
:
&
types
.
PowerOnMultiVM_TaskResponse
{
Returnval
:
task
.
Run
(),
},
}
}
vendor/github.com/vmware/govmomi/simulator/file_manager.go
View file @
a26c1205
...
@@ -80,7 +80,7 @@ func (f *FileManager) resolve(dc *types.ManagedObjectReference, name string) (st
...
@@ -80,7 +80,7 @@ func (f *FileManager) resolve(dc *types.ManagedObjectReference, name string) (st
}
}
}
}
folder
:=
Map
.
Get
(
*
dc
)
.
(
*
mo
.
Datacenter
)
.
DatastoreFolder
folder
:=
Map
.
Get
(
*
dc
)
.
(
*
Datacenter
)
.
DatastoreFolder
ds
,
fault
:=
f
.
findDatastore
(
Map
.
Get
(
folder
),
p
.
Datastore
)
ds
,
fault
:=
f
.
findDatastore
(
Map
.
Get
(
folder
),
p
.
Datastore
)
if
fault
!=
nil
{
if
fault
!=
nil
{
...
...
vendor/github.com/vmware/govmomi/simulator/folder.go
View file @
a26c1205
...
@@ -197,14 +197,10 @@ func (f *Folder) CreateDatacenter(ctx *Context, c *types.CreateDatacenter) soap.
...
@@ -197,14 +197,10 @@ func (f *Folder) CreateDatacenter(ctx *Context, c *types.CreateDatacenter) soap.
r
:=
&
methods
.
CreateDatacenterBody
{}
r
:=
&
methods
.
CreateDatacenterBody
{}
if
f
.
hasChildType
(
"Datacenter"
)
&&
f
.
hasChildType
(
"Folder"
)
{
if
f
.
hasChildType
(
"Datacenter"
)
&&
f
.
hasChildType
(
"Folder"
)
{
dc
:=
&
mo
.
Datacenter
{}
dc
:=
NewDatacenter
(
f
)
dc
.
Name
=
c
.
Name
dc
.
Name
=
c
.
Name
f
.
putChild
(
dc
)
createDatacenterFolders
(
dc
,
true
)
r
.
Res
=
&
types
.
CreateDatacenterResponse
{
r
.
Res
=
&
types
.
CreateDatacenterResponse
{
Returnval
:
dc
.
Self
,
Returnval
:
dc
.
Self
,
}
}
...
...
vendor/github.com/vmware/govmomi/simulator/host_system.go
View file @
a26c1205
...
@@ -113,9 +113,7 @@ func addComputeResource(s *types.ComputeResourceSummary, h *HostSystem) {
...
@@ -113,9 +113,7 @@ func addComputeResource(s *types.ComputeResourceSummary, h *HostSystem) {
// CreateDefaultESX creates a standalone ESX
// CreateDefaultESX creates a standalone ESX
// Adds objects of type: Datacenter, Network, ComputeResource, ResourcePool and HostSystem
// Adds objects of type: Datacenter, Network, ComputeResource, ResourcePool and HostSystem
func
CreateDefaultESX
(
f
*
Folder
)
{
func
CreateDefaultESX
(
f
*
Folder
)
{
dc
:=
&
esx
.
Datacenter
dc
:=
NewDatacenter
(
f
)
f
.
putChild
(
dc
)
createDatacenterFolders
(
dc
,
false
)
host
:=
NewHostSystem
(
esx
.
HostSystem
)
host
:=
NewHostSystem
(
esx
.
HostSystem
)
...
...
vendor/github.com/vmware/govmomi/simulator/model.go
View file @
a26c1205
...
@@ -164,6 +164,8 @@ func (m *Model) Create() error {
...
@@ -164,6 +164,8 @@ func (m *Model) Create() error {
// After all hosts are created, this var is used to mount the host datastores.
// After all hosts are created, this var is used to mount the host datastores.
var
hosts
[]
*
object
.
HostSystem
var
hosts
[]
*
object
.
HostSystem
hostMap
:=
make
(
map
[
string
][]
*
object
.
HostSystem
)
// We need to defer VM creation until after the datastores are created.
// We need to defer VM creation until after the datastores are created.
var
vms
[]
func
()
error
var
vms
[]
func
()
error
// 1 DVS per DC, added to all hosts
// 1 DVS per DC, added to all hosts
...
@@ -416,12 +418,14 @@ func (m *Model) Create() error {
...
@@ -416,12 +418,14 @@ func (m *Model) Create() error {
addMachine
(
name
,
nil
,
vapp
.
ResourcePool
,
folders
)
addMachine
(
name
,
nil
,
vapp
.
ResourcePool
,
folders
)
}
}
}
}
hostMap
[
dcName
]
=
hosts
hosts
=
nil
}
}
if
m
.
ServiceContent
.
RootFolder
==
esx
.
RootFolder
.
Reference
()
{
if
m
.
ServiceContent
.
RootFolder
==
esx
.
RootFolder
.
Reference
()
{
// ESX model
// ESX model
host
:=
object
.
NewHostSystem
(
client
,
esx
.
HostSystem
.
Reference
())
host
:=
object
.
NewHostSystem
(
client
,
esx
.
HostSystem
.
Reference
())
hosts
=
append
(
hosts
,
host
)
dc
:=
object
.
NewDatacenter
(
client
,
esx
.
Datacenter
.
Reference
())
dc
:=
object
.
NewDatacenter
(
client
,
esx
.
Datacenter
.
Reference
())
folders
,
err
:=
dc
.
Folders
(
ctx
)
folders
,
err
:=
dc
.
Folders
(
ctx
)
...
@@ -429,13 +433,17 @@ func (m *Model) Create() error {
...
@@ -429,13 +433,17 @@ func (m *Model) Create() error {
return
err
return
err
}
}
hostMap
[
dc
.
Reference
()
.
Value
]
=
append
(
hosts
,
host
)
addMachine
(
host
.
Reference
()
.
Value
,
host
,
nil
,
folders
)
addMachine
(
host
.
Reference
()
.
Value
,
host
,
nil
,
folders
)
}
}
for
i
:=
0
;
i
<
m
.
Datastore
;
i
++
{
for
dc
,
dchosts
:=
range
hostMap
{
err
:=
m
.
createLocalDatastore
(
m
.
fmtName
(
"LocalDS_"
,
i
),
hosts
)
for
i
:=
0
;
i
<
m
.
Datastore
;
i
++
{
if
err
!=
nil
{
err
:=
m
.
createLocalDatastore
(
dc
,
m
.
fmtName
(
"LocalDS_"
,
i
),
dchosts
)
return
err
if
err
!=
nil
{
return
err
}
}
}
}
}
...
@@ -449,13 +457,9 @@ func (m *Model) Create() error {
...
@@ -449,13 +457,9 @@ func (m *Model) Create() error {
return
nil
return
nil
}
}
var
tempDir
=
func
()
(
string
,
error
)
{
func
(
m
*
Model
)
createLocalDatastore
(
dc
string
,
name
string
,
hosts
[]
*
object
.
HostSystem
)
error
{
return
ioutil
.
TempDir
(
""
,
"govcsim-"
)
}
func
(
m
*
Model
)
createLocalDatastore
(
name
string
,
hosts
[]
*
object
.
HostSystem
)
error
{
ctx
:=
context
.
Background
()
ctx
:=
context
.
Background
()
dir
,
err
:=
tempDir
(
)
dir
,
err
:=
ioutil
.
TempDir
(
""
,
fmt
.
Sprintf
(
"govcsim-%s-%s-"
,
dc
,
name
)
)
if
err
!=
nil
{
if
err
!=
nil
{
return
err
return
err
}
}
...
...
vendor/github.com/vmware/govmomi/simulator/os_unix.go
View file @
a26c1205
//+build !windows
/*
/*
Copyright (c) 2017 VMware, Inc. All Rights Reserved.
Copyright (c) 2017 VMware, Inc. All Rights Reserved.
...
...
vendor/github.com/vmware/govmomi/simulator/registry.go
View file @
a26c1205
...
@@ -213,8 +213,8 @@ func (r *Registry) getEntityParent(item mo.Entity, kind string) mo.Entity {
...
@@ -213,8 +213,8 @@ func (r *Registry) getEntityParent(item mo.Entity, kind string) mo.Entity {
}
}
// getEntityDatacenter returns the Datacenter containing the given item
// getEntityDatacenter returns the Datacenter containing the given item
func
(
r
*
Registry
)
getEntityDatacenter
(
item
mo
.
Entity
)
*
mo
.
Datacenter
{
func
(
r
*
Registry
)
getEntityDatacenter
(
item
mo
.
Entity
)
*
Datacenter
{
return
r
.
getEntityParent
(
item
,
"Datacenter"
)
.
(
*
mo
.
Datacenter
)
return
r
.
getEntityParent
(
item
,
"Datacenter"
)
.
(
*
Datacenter
)
}
}
func
(
r
*
Registry
)
getEntityFolder
(
item
mo
.
Entity
,
kind
string
)
*
Folder
{
func
(
r
*
Registry
)
getEntityFolder
(
item
mo
.
Entity
,
kind
string
)
*
Folder
{
...
...
vendor/github.com/vmware/govmomi/simulator/search_index.go
View file @
a26c1205
...
@@ -94,7 +94,7 @@ func (s *SearchIndex) FindChild(req *types.FindChild) soap.HasFault {
...
@@ -94,7 +94,7 @@ func (s *SearchIndex) FindChild(req *types.FindChild) soap.HasFault {
var
children
[]
types
.
ManagedObjectReference
var
children
[]
types
.
ManagedObjectReference
switch
e
:=
obj
.
(
type
)
{
switch
e
:=
obj
.
(
type
)
{
case
*
mo
.
Datacenter
:
case
*
Datacenter
:
children
=
[]
types
.
ManagedObjectReference
{
e
.
VmFolder
,
e
.
HostFolder
,
e
.
DatastoreFolder
,
e
.
NetworkFolder
}
children
=
[]
types
.
ManagedObjectReference
{
e
.
VmFolder
,
e
.
HostFolder
,
e
.
DatastoreFolder
,
e
.
NetworkFolder
}
case
*
Folder
:
case
*
Folder
:
children
=
e
.
ChildEntity
children
=
e
.
ChildEntity
...
...
vendor/github.com/vmware/govmomi/simulator/view_manager.go
View file @
a26c1205
...
@@ -153,7 +153,7 @@ func walk(root mo.Reference, f func(child types.ManagedObjectReference)) {
...
@@ -153,7 +153,7 @@ func walk(root mo.Reference, f func(child types.ManagedObjectReference)) {
var
children
[]
types
.
ManagedObjectReference
var
children
[]
types
.
ManagedObjectReference
switch
e
:=
root
.
(
type
)
{
switch
e
:=
root
.
(
type
)
{
case
*
mo
.
Datacenter
:
case
*
Datacenter
:
children
=
[]
types
.
ManagedObjectReference
{
e
.
VmFolder
,
e
.
HostFolder
,
e
.
DatastoreFolder
,
e
.
NetworkFolder
}
children
=
[]
types
.
ManagedObjectReference
{
e
.
VmFolder
,
e
.
HostFolder
,
e
.
DatastoreFolder
,
e
.
NetworkFolder
}
case
*
Folder
:
case
*
Folder
:
children
=
e
.
ChildEntity
children
=
e
.
ChildEntity
...
...
vendor/github.com/vmware/govmomi/simulator/virtual_disk_manager.go
View file @
a26c1205
...
@@ -152,6 +152,12 @@ func (m *VirtualDiskManager) MoveVirtualDiskTask(req *types.MoveVirtualDisk_Task
...
@@ -152,6 +152,12 @@ func (m *VirtualDiskManager) MoveVirtualDiskTask(req *types.MoveVirtualDisk_Task
func
(
m
*
VirtualDiskManager
)
CopyVirtualDiskTask
(
req
*
types
.
CopyVirtualDisk_Task
)
soap
.
HasFault
{
func
(
m
*
VirtualDiskManager
)
CopyVirtualDiskTask
(
req
*
types
.
CopyVirtualDisk_Task
)
soap
.
HasFault
{
task
:=
CreateTask
(
m
,
"copyVirtualDisk"
,
func
(
*
Task
)
(
types
.
AnyType
,
types
.
BaseMethodFault
)
{
task
:=
CreateTask
(
m
,
"copyVirtualDisk"
,
func
(
*
Task
)
(
types
.
AnyType
,
types
.
BaseMethodFault
)
{
if
req
.
DestSpec
!=
nil
{
if
Map
.
IsVPX
()
{
return
nil
,
new
(
types
.
NotImplemented
)
}
}
fm
:=
Map
.
FileManager
()
fm
:=
Map
.
FileManager
()
dest
:=
m
.
names
(
req
.
DestName
)
dest
:=
m
.
names
(
req
.
DestName
)
...
...
vendor/github.com/vmware/govmomi/simulator/virtual_machine.go
View file @
a26c1205
...
@@ -513,19 +513,54 @@ func (vm *VirtualMachine) configureDevice(devices object.VirtualDeviceList, spec
...
@@ -513,19 +513,54 @@ func (vm *VirtualMachine) configureDevice(devices object.VirtualDeviceList, spec
return
nil
return
nil
}
}
func
removeDevice
(
devices
object
.
VirtualDeviceList
,
device
types
.
BaseVirtualDevice
)
object
.
VirtualDeviceList
{
func
(
vm
*
VirtualMachine
)
removeDevice
(
devices
object
.
VirtualDeviceList
,
spec
*
types
.
VirtualDeviceConfigSpec
)
object
.
VirtualDeviceList
{
var
result
object
.
VirtualDeviceList
key
:=
spec
.
Device
.
GetVirtualDevice
()
.
Key
for
i
,
d
:=
range
devices
{
for
i
,
d
:=
range
devices
{
if
d
.
GetVirtualDevice
()
.
Key
==
device
.
GetVirtualDevice
()
.
Key
{
if
d
.
GetVirtualDevice
()
.
Key
!=
key
{
result
=
append
(
result
,
devices
[
i
+
1
:
]
...
)
continue
break
}
}
result
=
append
(
result
,
d
)
devices
=
append
(
devices
[
:
i
],
devices
[
i
+
1
:
]
...
)
switch
device
:=
spec
.
Device
.
(
type
)
{
case
*
types
.
VirtualDisk
:
if
spec
.
FileOperation
==
types
.
VirtualDeviceConfigSpecFileOperationDestroy
{
var
file
string
switch
b
:=
device
.
Backing
.
(
type
)
{
case
types
.
BaseVirtualDeviceFileBackingInfo
:
file
=
b
.
GetVirtualDeviceFileBackingInfo
()
.
FileName
}
if
file
!=
""
{
dc
:=
Map
.
getEntityDatacenter
(
Map
.
Get
(
*
vm
.
Parent
)
.
(
mo
.
Entity
))
dm
:=
Map
.
VirtualDiskManager
()
dm
.
DeleteVirtualDiskTask
(
&
types
.
DeleteVirtualDisk_Task
{
Name
:
file
,
Datacenter
:
&
dc
.
Self
,
})
}
}
case
types
.
BaseVirtualEthernetCard
:
var
net
types
.
ManagedObjectReference
switch
b
:=
device
.
GetVirtualEthernetCard
()
.
Backing
.
(
type
)
{
case
*
types
.
VirtualEthernetCardNetworkBackingInfo
:
net
=
*
b
.
Network
case
*
types
.
VirtualEthernetCardDistributedVirtualPortBackingInfo
:
net
.
Type
=
"DistributedVirtualPortgroup"
net
.
Value
=
b
.
Port
.
PortgroupKey
}
RemoveReference
(
&
vm
.
Network
,
net
)
}
break
}
}
return
result
return
devices
}
}
func
(
vm
*
VirtualMachine
)
genVmdkPath
()
(
string
,
types
.
BaseMethodFault
)
{
func
(
vm
*
VirtualMachine
)
genVmdkPath
()
(
string
,
types
.
BaseMethodFault
)
{
...
@@ -559,9 +594,6 @@ func (vm *VirtualMachine) genVmdkPath() (string, types.BaseMethodFault) {
...
@@ -559,9 +594,6 @@ func (vm *VirtualMachine) genVmdkPath() (string, types.BaseMethodFault) {
}
}
func
(
vm
*
VirtualMachine
)
configureDevices
(
spec
*
types
.
VirtualMachineConfigSpec
)
types
.
BaseMethodFault
{
func
(
vm
*
VirtualMachine
)
configureDevices
(
spec
*
types
.
VirtualMachineConfigSpec
)
types
.
BaseMethodFault
{
dc
:=
Map
.
getEntityDatacenter
(
Map
.
Get
(
*
vm
.
Parent
)
.
(
mo
.
Entity
))
dm
:=
Map
.
VirtualDiskManager
()
devices
:=
object
.
VirtualDeviceList
(
vm
.
Config
.
Hardware
.
Device
)
devices
:=
object
.
VirtualDeviceList
(
vm
.
Config
.
Hardware
.
Device
)
for
i
,
change
:=
range
spec
.
DeviceChange
{
for
i
,
change
:=
range
spec
.
DeviceChange
{
...
@@ -577,7 +609,7 @@ func (vm *VirtualMachine) configureDevices(spec *types.VirtualMachineConfigSpec)
...
@@ -577,7 +609,7 @@ func (vm *VirtualMachine) configureDevices(spec *types.VirtualMachineConfigSpec)
}
}
// In this case, the CreateVM() spec included one of the default devices
// In this case, the CreateVM() spec included one of the default devices
devices
=
removeDevice
(
devices
,
device
)
devices
=
vm
.
removeDevice
(
devices
,
dspec
)
}
}
err
:=
vm
.
configureDevice
(
devices
,
dspec
)
err
:=
vm
.
configureDevice
(
devices
,
dspec
)
...
@@ -586,25 +618,23 @@ func (vm *VirtualMachine) configureDevices(spec *types.VirtualMachineConfigSpec)
...
@@ -586,25 +618,23 @@ func (vm *VirtualMachine) configureDevices(spec *types.VirtualMachineConfigSpec)
}
}
devices
=
append
(
devices
,
dspec
.
Device
)
devices
=
append
(
devices
,
dspec
.
Device
)
case
types
.
VirtualDeviceConfigSpecOperationRemove
:
case
types
.
VirtualDeviceConfigSpecOperationEdit
:
devices
=
removeDevice
(
devices
,
dspec
.
Device
)
rspec
:=
*
dspec
rspec
.
Device
=
devices
.
FindByKey
(
device
.
Key
)
disk
,
ok
:=
dspec
.
Device
.
(
*
types
.
VirtualDisk
)
if
rspec
.
Device
==
nil
{
if
ok
&&
dspec
.
FileOperation
==
types
.
VirtualDeviceConfigSpecFileOperationDestroy
{
return
invalid
var
file
string
}
devices
=
vm
.
removeDevice
(
devices
,
&
rspec
)
switch
b
:=
disk
.
Backing
.
(
type
)
{
device
.
DeviceInfo
=
nil
// regenerate summary + label
case
types
.
BaseVirtualDeviceFileBackingInfo
:
file
=
b
.
GetVirtualDeviceFileBackingInfo
()
.
FileName
}
if
file
!=
""
{
err
:=
vm
.
configureDevice
(
devices
,
dspec
)
dm
.
DeleteVirtualDiskTask
(
&
types
.
DeleteVirtualDisk_Task
{
if
err
!=
nil
{
Name
:
file
,
return
err
Datacenter
:
&
dc
.
Self
,
})
}
}
}
devices
=
append
(
devices
,
dspec
.
Device
)
case
types
.
VirtualDeviceConfigSpecOperationRemove
:
devices
=
vm
.
removeDevice
(
devices
,
dspec
)
}
}
}
}
...
@@ -795,6 +825,30 @@ func (vm *VirtualMachine) CloneVMTask(ctx *Context, req *types.CloneVM_Task) soa
...
@@ -795,6 +825,30 @@ func (vm *VirtualMachine) CloneVMTask(ctx *Context, req *types.CloneVM_Task) soa
},
},
}
}
for
_
,
device
:=
range
vm
.
Config
.
Hardware
.
Device
{
var
fop
types
.
VirtualDeviceConfigSpecFileOperation
switch
device
.
(
type
)
{
case
*
types
.
VirtualDisk
:
// TODO: consider VirtualMachineCloneSpec.DiskMoveType
fop
=
types
.
VirtualDeviceConfigSpecFileOperationCreate
device
=
&
types
.
VirtualDisk
{
VirtualDevice
:
types
.
VirtualDevice
{
Backing
:
&
types
.
VirtualDiskFlatVer2BackingInfo
{
DiskMode
:
string
(
types
.
VirtualDiskModePersistent
),
// Leave FileName empty so CreateVM will just create a new one under VmPathName
},
},
}
}
config
.
DeviceChange
=
append
(
config
.
DeviceChange
,
&
types
.
VirtualDeviceConfigSpec
{
Operation
:
types
.
VirtualDeviceConfigSpecOperationAdd
,
Device
:
device
,
FileOperation
:
fop
,
})
}
res
:=
folder
.
CreateVMTask
(
ctx
,
&
types
.
CreateVM_Task
{
res
:=
folder
.
CreateVMTask
(
ctx
,
&
types
.
CreateVM_Task
{
This
:
folder
.
Self
,
This
:
folder
.
Self
,
Config
:
config
,
Config
:
config
,
...
@@ -809,6 +863,7 @@ func (vm *VirtualMachine) CloneVMTask(ctx *Context, req *types.CloneVM_Task) soa
...
@@ -809,6 +863,7 @@ func (vm *VirtualMachine) CloneVMTask(ctx *Context, req *types.CloneVM_Task) soa
ref
:=
ctask
.
Info
.
Result
.
(
types
.
ManagedObjectReference
)
ref
:=
ctask
.
Info
.
Result
.
(
types
.
ManagedObjectReference
)
clone
:=
Map
.
Get
(
ref
)
.
(
*
VirtualMachine
)
clone
:=
Map
.
Get
(
ref
)
.
(
*
VirtualMachine
)
clone
.
configureDevices
(
&
types
.
VirtualMachineConfigSpec
{
DeviceChange
:
req
.
Spec
.
Location
.
DeviceChange
})
ctx
.
postEvent
(
&
types
.
VmClonedEvent
{
ctx
.
postEvent
(
&
types
.
VmClonedEvent
{
VmCloneEvent
:
types
.
VmCloneEvent
{
VmEvent
:
clone
.
event
()},
VmCloneEvent
:
types
.
VmCloneEvent
{
VmEvent
:
clone
.
event
()},
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment