From ff9c76f69b6c6ecc47aae4e701596ee4998bb4af Mon Sep 17 00:00:00 2001 From: Daniel Canter Date: Wed, 21 Apr 2021 10:51:39 -0700 Subject: [PATCH] Move around HCS schema and resource path definitions As both the V1 and V2 HCS schema are tied to HCS itself, it makes more sense to have the schema definitions co-located under the hcs package. The resource paths are also tied to HCS and in preparation of some work where we'll need the resourcepaths available outside of the uvm and gcs packages, move the resource paths for both virtual machines and containers to their own package. Signed-off-by: Daniel Canter --- cmd/containerd-shim-runhcs-v1/task_hcs.go | 4 ++-- cmd/runhcs/kill.go | 2 +- cmd/runhcs/ps.go | 2 +- computestorage/storage.go | 2 +- container.go | 2 +- interface.go | 2 +- internal/cmd/cmd.go | 2 +- internal/cmd/cmd_test.go | 2 +- internal/cow/cow.go | 4 ++-- internal/cpugroup/cpugroup.go | 2 +- internal/credentials/credentials.go | 2 +- internal/gcs/container.go | 4 ++-- internal/gcs/guestconnection.go | 2 +- internal/gcs/protocol.go | 4 ++-- internal/gcs/resourcepaths.go | 10 -------- internal/guestrequest/types.go | 2 +- internal/hcs/resourcepaths/silo.go | 11 +++++++++ internal/hcs/resourcepaths/virtualmachine.go | 24 +++++++++++++++++++ internal/{ => hcs}/schema1/schema1.go | 2 +- internal/{ => hcs}/schema2/attachment.go | 0 internal/{ => hcs}/schema2/battery.go | 0 .../schema2/cache_query_stats_response.go | 0 internal/{ => hcs}/schema2/chipset.go | 0 internal/{ => hcs}/schema2/close_handle.go | 0 internal/{ => hcs}/schema2/com_port.go | 0 internal/{ => hcs}/schema2/compute_system.go | 0 internal/{ => hcs}/schema2/configuration.go | 0 internal/{ => hcs}/schema2/console_size.go | 0 internal/{ => hcs}/schema2/container.go | 0 ...r_credential_guard_add_instance_request.go | 0 ...edential_guard_hv_socket_service_config.go | 0 .../container_credential_guard_instance.go | 0 ...ainer_credential_guard_modify_operation.go | 0 ...iner_credential_guard_operation_request.go | 0 ...redential_guard_remove_instance_request.go | 0 .../container_credential_guard_state.go | 0 .../container_credential_guard_system_info.go | 0 .../schema2/container_memory_information.go | 0 internal/{ => hcs}/schema2/cpu_group.go | 0 .../{ => hcs}/schema2/cpu_group_affinity.go | 0 .../{ => hcs}/schema2/cpu_group_config.go | 0 .../schema2/cpu_group_configurations.go | 0 .../{ => hcs}/schema2/cpu_group_operations.go | 0 .../{ => hcs}/schema2/cpu_group_property.go | 0 .../schema2/create_group_operation.go | 0 .../schema2/delete_group_operation.go | 0 internal/{ => hcs}/schema2/device.go | 0 internal/{ => hcs}/schema2/devices.go | 0 .../{ => hcs}/schema2/enhanced_mode_video.go | 0 .../{ => hcs}/schema2/flexible_io_device.go | 0 .../{ => hcs}/schema2/guest_connection.go | 0 .../schema2/guest_connection_info.go | 0 .../schema2/guest_crash_reporting.go | 0 internal/{ => hcs}/schema2/guest_os.go | 0 internal/{ => hcs}/schema2/guest_state.go | 0 .../schema2/host_processor_modify_request.go | 0 internal/{ => hcs}/schema2/hosted_system.go | 0 internal/{ => hcs}/schema2/hv_socket.go | 0 internal/{ => hcs}/schema2/hv_socket_2.go | 0 .../{ => hcs}/schema2/hv_socket_address.go | 0 .../schema2/hv_socket_service_config.go | 0 .../schema2/hv_socket_system_config.go | 0 .../schema2/interrupt_moderation_mode.go | 0 internal/{ => hcs}/schema2/iov_settings.go | 0 internal/{ => hcs}/schema2/keyboard.go | 0 internal/{ => hcs}/schema2/layer.go | 0 .../{ => hcs}/schema2/linux_kernel_direct.go | 0 .../{ => hcs}/schema2/logical_processor.go | 0 .../{ => hcs}/schema2/mapped_directory.go | 0 internal/{ => hcs}/schema2/mapped_pipe.go | 0 internal/{ => hcs}/schema2/memory.go | 0 internal/{ => hcs}/schema2/memory_2.go | 0 .../schema2/memory_information_for_vm.go | 0 internal/{ => hcs}/schema2/memory_stats.go | 0 .../{ => hcs}/schema2/modification_request.go | 0 .../schema2/modify_setting_request.go | 0 internal/{ => hcs}/schema2/mouse.go | 0 internal/{ => hcs}/schema2/network_adapter.go | 0 internal/{ => hcs}/schema2/networking.go | 0 .../{ => hcs}/schema2/pause_notification.go | 0 internal/{ => hcs}/schema2/pause_options.go | 0 internal/{ => hcs}/schema2/plan9.go | 0 internal/{ => hcs}/schema2/plan9_share.go | 0 internal/{ => hcs}/schema2/process_details.go | 0 .../schema2/process_modify_request.go | 0 .../{ => hcs}/schema2/process_parameters.go | 0 internal/{ => hcs}/schema2/process_status.go | 0 internal/{ => hcs}/schema2/processor.go | 0 internal/{ => hcs}/schema2/processor_2.go | 0 internal/{ => hcs}/schema2/processor_stats.go | 0 .../{ => hcs}/schema2/processor_topology.go | 0 internal/{ => hcs}/schema2/properties.go | 0 internal/{ => hcs}/schema2/property_query.go | 0 internal/{ => hcs}/schema2/property_type.go | 0 .../schema2/rdp_connection_options.go | 0 .../{ => hcs}/schema2/registry_changes.go | 0 internal/{ => hcs}/schema2/registry_key.go | 0 internal/{ => hcs}/schema2/registry_value.go | 0 internal/{ => hcs}/schema2/restore_state.go | 0 internal/{ => hcs}/schema2/save_options.go | 0 internal/{ => hcs}/schema2/scsi.go | 0 .../{ => hcs}/schema2/service_properties.go | 0 .../schema2/shared_memory_configuration.go | 0 .../{ => hcs}/schema2/shared_memory_region.go | 0 .../schema2/shared_memory_region_info.go | 0 internal/{ => hcs}/schema2/silo_properties.go | 0 internal/{ => hcs}/schema2/statistics.go | 0 internal/{ => hcs}/schema2/storage.go | 0 internal/{ => hcs}/schema2/storage_qo_s.go | 0 internal/{ => hcs}/schema2/storage_stats.go | 0 internal/{ => hcs}/schema2/topology.go | 0 internal/{ => hcs}/schema2/uefi.go | 0 internal/{ => hcs}/schema2/uefi_boot_entry.go | 0 internal/{ => hcs}/schema2/version.go | 0 internal/{ => hcs}/schema2/video_monitor.go | 0 internal/{ => hcs}/schema2/virtual_machine.go | 0 .../{ => hcs}/schema2/virtual_node_info.go | 0 .../schema2/virtual_p_mem_controller.go | 0 .../{ => hcs}/schema2/virtual_p_mem_device.go | 0 .../{ => hcs}/schema2/virtual_pci_device.go | 0 .../{ => hcs}/schema2/virtual_pci_function.go | 0 internal/{ => hcs}/schema2/virtual_smb.go | 0 .../{ => hcs}/schema2/virtual_smb_share.go | 0 .../schema2/virtual_smb_share_options.go | 0 internal/{ => hcs}/schema2/vm_memory.go | 0 .../{ => hcs}/schema2/vm_processor_limits.go | 0 .../schema2/windows_crash_reporting.go | 0 internal/hcs/service.go | 2 +- internal/hcs/system.go | 4 ++-- internal/hcsoci/clone.go | 12 ++++------ internal/hcsoci/create.go | 2 +- internal/hcsoci/hcsdoc_lcow.go | 2 +- internal/hcsoci/hcsdoc_wcow.go | 4 ++-- internal/jobcontainers/jobcontainer.go | 4 ++-- internal/layers/layers.go | 2 +- internal/processorinfo/host_information.go | 2 +- internal/schemaversion/schemaversion.go | 2 +- internal/uvm/capabilities.go | 2 +- internal/uvm/clone.go | 2 +- internal/uvm/combine_layers.go | 2 +- internal/uvm/computeagent.go | 2 +- internal/uvm/cpugroups.go | 5 ++-- internal/uvm/cpulimits_update.go | 5 ++-- internal/uvm/create.go | 2 +- internal/uvm/create_lcow.go | 2 +- internal/uvm/create_wcow.go | 2 +- internal/uvm/guest_request.go | 2 +- internal/uvm/hvsocket.go | 7 +++--- internal/uvm/memory_update.go | 5 ++-- internal/uvm/modify.go | 2 +- internal/uvm/network.go | 9 +++---- internal/uvm/pipes.go | 7 +++--- internal/uvm/plan9.go | 7 +++--- internal/uvm/resourcepaths.go | 24 ------------------- internal/uvm/scsi.go | 7 +++--- internal/uvm/share.go | 2 +- internal/uvm/start.go | 4 ++-- internal/uvm/stats.go | 2 +- internal/uvm/types.go | 2 +- internal/uvm/virtual_device.go | 7 +++--- internal/uvm/vpmem.go | 7 +++--- internal/uvm/vsmb.go | 7 +++--- 162 files changed, 127 insertions(+), 119 deletions(-) delete mode 100644 internal/gcs/resourcepaths.go create mode 100644 internal/hcs/resourcepaths/silo.go create mode 100644 internal/hcs/resourcepaths/virtualmachine.go rename internal/{ => hcs}/schema1/schema1.go (99%) rename internal/{ => hcs}/schema2/attachment.go (100%) rename internal/{ => hcs}/schema2/battery.go (100%) rename internal/{ => hcs}/schema2/cache_query_stats_response.go (100%) rename internal/{ => hcs}/schema2/chipset.go (100%) rename internal/{ => hcs}/schema2/close_handle.go (100%) rename internal/{ => hcs}/schema2/com_port.go (100%) rename internal/{ => hcs}/schema2/compute_system.go (100%) rename internal/{ => hcs}/schema2/configuration.go (100%) rename internal/{ => hcs}/schema2/console_size.go (100%) rename internal/{ => hcs}/schema2/container.go (100%) rename internal/{ => hcs}/schema2/container_credential_guard_add_instance_request.go (100%) rename internal/{ => hcs}/schema2/container_credential_guard_hv_socket_service_config.go (100%) rename internal/{ => hcs}/schema2/container_credential_guard_instance.go (100%) rename internal/{ => hcs}/schema2/container_credential_guard_modify_operation.go (100%) rename internal/{ => hcs}/schema2/container_credential_guard_operation_request.go (100%) rename internal/{ => hcs}/schema2/container_credential_guard_remove_instance_request.go (100%) rename internal/{ => hcs}/schema2/container_credential_guard_state.go (100%) rename internal/{ => hcs}/schema2/container_credential_guard_system_info.go (100%) rename internal/{ => hcs}/schema2/container_memory_information.go (100%) rename internal/{ => hcs}/schema2/cpu_group.go (100%) rename internal/{ => hcs}/schema2/cpu_group_affinity.go (100%) rename internal/{ => hcs}/schema2/cpu_group_config.go (100%) rename internal/{ => hcs}/schema2/cpu_group_configurations.go (100%) rename internal/{ => hcs}/schema2/cpu_group_operations.go (100%) rename internal/{ => hcs}/schema2/cpu_group_property.go (100%) rename internal/{ => hcs}/schema2/create_group_operation.go (100%) rename internal/{ => hcs}/schema2/delete_group_operation.go (100%) rename internal/{ => hcs}/schema2/device.go (100%) rename internal/{ => hcs}/schema2/devices.go (100%) rename internal/{ => hcs}/schema2/enhanced_mode_video.go (100%) rename internal/{ => hcs}/schema2/flexible_io_device.go (100%) rename internal/{ => hcs}/schema2/guest_connection.go (100%) rename internal/{ => hcs}/schema2/guest_connection_info.go (100%) rename internal/{ => hcs}/schema2/guest_crash_reporting.go (100%) rename internal/{ => hcs}/schema2/guest_os.go (100%) rename internal/{ => hcs}/schema2/guest_state.go (100%) rename internal/{ => hcs}/schema2/host_processor_modify_request.go (100%) rename internal/{ => hcs}/schema2/hosted_system.go (100%) rename internal/{ => hcs}/schema2/hv_socket.go (100%) rename internal/{ => hcs}/schema2/hv_socket_2.go (100%) rename internal/{ => hcs}/schema2/hv_socket_address.go (100%) rename internal/{ => hcs}/schema2/hv_socket_service_config.go (100%) rename internal/{ => hcs}/schema2/hv_socket_system_config.go (100%) rename internal/{ => hcs}/schema2/interrupt_moderation_mode.go (100%) rename internal/{ => hcs}/schema2/iov_settings.go (100%) rename internal/{ => hcs}/schema2/keyboard.go (100%) rename internal/{ => hcs}/schema2/layer.go (100%) rename internal/{ => hcs}/schema2/linux_kernel_direct.go (100%) rename internal/{ => hcs}/schema2/logical_processor.go (100%) rename internal/{ => hcs}/schema2/mapped_directory.go (100%) rename internal/{ => hcs}/schema2/mapped_pipe.go (100%) rename internal/{ => hcs}/schema2/memory.go (100%) rename internal/{ => hcs}/schema2/memory_2.go (100%) rename internal/{ => hcs}/schema2/memory_information_for_vm.go (100%) rename internal/{ => hcs}/schema2/memory_stats.go (100%) rename internal/{ => hcs}/schema2/modification_request.go (100%) rename internal/{ => hcs}/schema2/modify_setting_request.go (100%) rename internal/{ => hcs}/schema2/mouse.go (100%) rename internal/{ => hcs}/schema2/network_adapter.go (100%) rename internal/{ => hcs}/schema2/networking.go (100%) rename internal/{ => hcs}/schema2/pause_notification.go (100%) rename internal/{ => hcs}/schema2/pause_options.go (100%) rename internal/{ => hcs}/schema2/plan9.go (100%) rename internal/{ => hcs}/schema2/plan9_share.go (100%) rename internal/{ => hcs}/schema2/process_details.go (100%) rename internal/{ => hcs}/schema2/process_modify_request.go (100%) rename internal/{ => hcs}/schema2/process_parameters.go (100%) rename internal/{ => hcs}/schema2/process_status.go (100%) rename internal/{ => hcs}/schema2/processor.go (100%) rename internal/{ => hcs}/schema2/processor_2.go (100%) rename internal/{ => hcs}/schema2/processor_stats.go (100%) rename internal/{ => hcs}/schema2/processor_topology.go (100%) rename internal/{ => hcs}/schema2/properties.go (100%) rename internal/{ => hcs}/schema2/property_query.go (100%) rename internal/{ => hcs}/schema2/property_type.go (100%) rename internal/{ => hcs}/schema2/rdp_connection_options.go (100%) rename internal/{ => hcs}/schema2/registry_changes.go (100%) rename internal/{ => hcs}/schema2/registry_key.go (100%) rename internal/{ => hcs}/schema2/registry_value.go (100%) rename internal/{ => hcs}/schema2/restore_state.go (100%) rename internal/{ => hcs}/schema2/save_options.go (100%) rename internal/{ => hcs}/schema2/scsi.go (100%) rename internal/{ => hcs}/schema2/service_properties.go (100%) rename internal/{ => hcs}/schema2/shared_memory_configuration.go (100%) rename internal/{ => hcs}/schema2/shared_memory_region.go (100%) rename internal/{ => hcs}/schema2/shared_memory_region_info.go (100%) rename internal/{ => hcs}/schema2/silo_properties.go (100%) rename internal/{ => hcs}/schema2/statistics.go (100%) rename internal/{ => hcs}/schema2/storage.go (100%) rename internal/{ => hcs}/schema2/storage_qo_s.go (100%) rename internal/{ => hcs}/schema2/storage_stats.go (100%) rename internal/{ => hcs}/schema2/topology.go (100%) rename internal/{ => hcs}/schema2/uefi.go (100%) rename internal/{ => hcs}/schema2/uefi_boot_entry.go (100%) rename internal/{ => hcs}/schema2/version.go (100%) rename internal/{ => hcs}/schema2/video_monitor.go (100%) rename internal/{ => hcs}/schema2/virtual_machine.go (100%) rename internal/{ => hcs}/schema2/virtual_node_info.go (100%) rename internal/{ => hcs}/schema2/virtual_p_mem_controller.go (100%) rename internal/{ => hcs}/schema2/virtual_p_mem_device.go (100%) rename internal/{ => hcs}/schema2/virtual_pci_device.go (100%) rename internal/{ => hcs}/schema2/virtual_pci_function.go (100%) rename internal/{ => hcs}/schema2/virtual_smb.go (100%) rename internal/{ => hcs}/schema2/virtual_smb_share.go (100%) rename internal/{ => hcs}/schema2/virtual_smb_share_options.go (100%) rename internal/{ => hcs}/schema2/vm_memory.go (100%) rename internal/{ => hcs}/schema2/vm_processor_limits.go (100%) rename internal/{ => hcs}/schema2/windows_crash_reporting.go (100%) delete mode 100644 internal/uvm/resourcepaths.go diff --git a/cmd/containerd-shim-runhcs-v1/task_hcs.go b/cmd/containerd-shim-runhcs-v1/task_hcs.go index ddbb2e7c5d..4d0fa50b1c 100644 --- a/cmd/containerd-shim-runhcs-v1/task_hcs.go +++ b/cmd/containerd-shim-runhcs-v1/task_hcs.go @@ -24,12 +24,12 @@ import ( "github.com/Microsoft/hcsshim/internal/cmd" "github.com/Microsoft/hcsshim/internal/cow" "github.com/Microsoft/hcsshim/internal/hcs" + "github.com/Microsoft/hcsshim/internal/hcs/schema1" + hcsschema "github.com/Microsoft/hcsshim/internal/hcs/schema2" "github.com/Microsoft/hcsshim/internal/hcsoci" "github.com/Microsoft/hcsshim/internal/log" "github.com/Microsoft/hcsshim/internal/oci" "github.com/Microsoft/hcsshim/internal/resources" - "github.com/Microsoft/hcsshim/internal/schema1" - hcsschema "github.com/Microsoft/hcsshim/internal/schema2" "github.com/Microsoft/hcsshim/internal/shimdiag" "github.com/Microsoft/hcsshim/internal/uvm" "github.com/Microsoft/hcsshim/osversion" diff --git a/cmd/runhcs/kill.go b/cmd/runhcs/kill.go index 6edf9eaa4b..1e7328c824 100644 --- a/cmd/runhcs/kill.go +++ b/cmd/runhcs/kill.go @@ -5,7 +5,7 @@ import ( "github.com/Microsoft/hcsshim/internal/appargs" "github.com/Microsoft/hcsshim/internal/hcs" - "github.com/Microsoft/hcsshim/internal/schema1" + "github.com/Microsoft/hcsshim/internal/hcs/schema1" "github.com/Microsoft/hcsshim/internal/signals" "github.com/Microsoft/hcsshim/osversion" "github.com/urfave/cli" diff --git a/cmd/runhcs/ps.go b/cmd/runhcs/ps.go index 00a5a7ce3f..d83181b967 100644 --- a/cmd/runhcs/ps.go +++ b/cmd/runhcs/ps.go @@ -7,7 +7,7 @@ import ( "os" "github.com/Microsoft/hcsshim/internal/appargs" - "github.com/Microsoft/hcsshim/internal/schema1" + "github.com/Microsoft/hcsshim/internal/hcs/schema1" "github.com/urfave/cli" ) diff --git a/computestorage/storage.go b/computestorage/storage.go index 9cd283d4b3..95aff9c184 100644 --- a/computestorage/storage.go +++ b/computestorage/storage.go @@ -4,7 +4,7 @@ package computestorage import ( - hcsschema "github.com/Microsoft/hcsshim/internal/schema2" + hcsschema "github.com/Microsoft/hcsshim/internal/hcs/schema2" ) //go:generate go run ../mksyscall_windows.go -output zsyscall_windows.go storage.go diff --git a/container.go b/container.go index 7205a62c5e..bfd722898e 100644 --- a/container.go +++ b/container.go @@ -8,8 +8,8 @@ import ( "time" "github.com/Microsoft/hcsshim/internal/hcs" + "github.com/Microsoft/hcsshim/internal/hcs/schema1" "github.com/Microsoft/hcsshim/internal/mergemaps" - "github.com/Microsoft/hcsshim/internal/schema1" ) // ContainerProperties holds the properties for a container and the processes running in that container diff --git a/interface.go b/interface.go index 5b91e0cc55..300eb59966 100644 --- a/interface.go +++ b/interface.go @@ -4,7 +4,7 @@ import ( "io" "time" - "github.com/Microsoft/hcsshim/internal/schema1" + "github.com/Microsoft/hcsshim/internal/hcs/schema1" ) // ProcessConfig is used as both the input of Container.CreateProcess diff --git a/internal/cmd/cmd.go b/internal/cmd/cmd.go index d0b3868892..eea00e8796 100644 --- a/internal/cmd/cmd.go +++ b/internal/cmd/cmd.go @@ -12,7 +12,7 @@ import ( "time" "github.com/Microsoft/hcsshim/internal/cow" - hcsschema "github.com/Microsoft/hcsshim/internal/schema2" + hcsschema "github.com/Microsoft/hcsshim/internal/hcs/schema2" specs "github.com/opencontainers/runtime-spec/specs-go" "github.com/sirupsen/logrus" "golang.org/x/sync/errgroup" diff --git a/internal/cmd/cmd_test.go b/internal/cmd/cmd_test.go index 2dd40201ac..e077ecf492 100644 --- a/internal/cmd/cmd_test.go +++ b/internal/cmd/cmd_test.go @@ -15,7 +15,7 @@ import ( "time" "github.com/Microsoft/hcsshim/internal/cow" - hcsschema "github.com/Microsoft/hcsshim/internal/schema2" + hcsschema "github.com/Microsoft/hcsshim/internal/hcs/schema2" ) type localProcessHost struct { diff --git a/internal/cow/cow.go b/internal/cow/cow.go index b8e2d4f30f..900d5fa8d7 100644 --- a/internal/cow/cow.go +++ b/internal/cow/cow.go @@ -4,8 +4,8 @@ import ( "context" "io" - "github.com/Microsoft/hcsshim/internal/schema1" - hcsschema "github.com/Microsoft/hcsshim/internal/schema2" + "github.com/Microsoft/hcsshim/internal/hcs/schema1" + hcsschema "github.com/Microsoft/hcsshim/internal/hcs/schema2" ) // Process is the interface for an OS process running in a container or utility VM. diff --git a/internal/cpugroup/cpugroup.go b/internal/cpugroup/cpugroup.go index 41caf24106..3707e82576 100644 --- a/internal/cpugroup/cpugroup.go +++ b/internal/cpugroup/cpugroup.go @@ -8,7 +8,7 @@ import ( "strings" "github.com/Microsoft/hcsshim/internal/hcs" - hcsschema "github.com/Microsoft/hcsshim/internal/schema2" + hcsschema "github.com/Microsoft/hcsshim/internal/hcs/schema2" ) const NullGroupID = "00000000-0000-0000-0000-000000000000" diff --git a/internal/credentials/credentials.go b/internal/credentials/credentials.go index e8fef907ef..d1df180994 100644 --- a/internal/credentials/credentials.go +++ b/internal/credentials/credentials.go @@ -12,8 +12,8 @@ import ( "fmt" "github.com/Microsoft/hcsshim/internal/hcs" + hcsschema "github.com/Microsoft/hcsshim/internal/hcs/schema2" "github.com/Microsoft/hcsshim/internal/log" - hcsschema "github.com/Microsoft/hcsshim/internal/schema2" ) // Container Credential Guard is in HCS's own words "The solution to diff --git a/internal/gcs/container.go b/internal/gcs/container.go index 8e4ca07905..de4758435c 100644 --- a/internal/gcs/container.go +++ b/internal/gcs/container.go @@ -7,10 +7,10 @@ import ( "time" "github.com/Microsoft/hcsshim/internal/cow" + "github.com/Microsoft/hcsshim/internal/hcs/schema1" + hcsschema "github.com/Microsoft/hcsshim/internal/hcs/schema2" "github.com/Microsoft/hcsshim/internal/log" "github.com/Microsoft/hcsshim/internal/oc" - "github.com/Microsoft/hcsshim/internal/schema1" - hcsschema "github.com/Microsoft/hcsshim/internal/schema2" "go.opencensus.io/trace" ) diff --git a/internal/gcs/guestconnection.go b/internal/gcs/guestconnection.go index 765e6d69c4..02c08e4eb9 100644 --- a/internal/gcs/guestconnection.go +++ b/internal/gcs/guestconnection.go @@ -15,10 +15,10 @@ import ( "github.com/Microsoft/go-winio" "github.com/Microsoft/go-winio/pkg/guid" "github.com/Microsoft/hcsshim/internal/cow" + "github.com/Microsoft/hcsshim/internal/hcs/schema1" "github.com/Microsoft/hcsshim/internal/log" "github.com/Microsoft/hcsshim/internal/logfields" "github.com/Microsoft/hcsshim/internal/oc" - "github.com/Microsoft/hcsshim/internal/schema1" "github.com/sirupsen/logrus" "go.opencensus.io/trace" ) diff --git a/internal/gcs/protocol.go b/internal/gcs/protocol.go index f1a8346195..5a32a2c1ce 100644 --- a/internal/gcs/protocol.go +++ b/internal/gcs/protocol.go @@ -5,8 +5,8 @@ import ( "fmt" "github.com/Microsoft/go-winio/pkg/guid" - "github.com/Microsoft/hcsshim/internal/schema1" - hcsschema "github.com/Microsoft/hcsshim/internal/schema2" + "github.com/Microsoft/hcsshim/internal/hcs/schema1" + hcsschema "github.com/Microsoft/hcsshim/internal/hcs/schema2" ) // LinuxGcsVsockPort is the vsock port number that the Linux GCS will diff --git a/internal/gcs/resourcepaths.go b/internal/gcs/resourcepaths.go deleted file mode 100644 index 20b57b710a..0000000000 --- a/internal/gcs/resourcepaths.go +++ /dev/null @@ -1,10 +0,0 @@ -package gcs - -const ( - // silo container resources paths - siloDeviceResourcePath string = "Container/Devices/Generic" //nolint - siloMappedDirectoryResourcePath string = "Container/MappedDirectories" //nolint - siloMappedPipeResourcePath string = "Container/MappedPipes" //nolint - siloMemoryResourcePath string = "Container/Memory/SizeInMB" //nolint - siloRegistryFlushStatePath string = "Container/RegistryFlushState" //nolint -) diff --git a/internal/guestrequest/types.go b/internal/guestrequest/types.go index 67f56e28f8..1b32adb42a 100644 --- a/internal/guestrequest/types.go +++ b/internal/guestrequest/types.go @@ -1,7 +1,7 @@ package guestrequest import ( - hcsschema "github.com/Microsoft/hcsshim/internal/schema2" + hcsschema "github.com/Microsoft/hcsshim/internal/hcs/schema2" ) // Arguably, many of these (at least CombinedLayers) should have been generated diff --git a/internal/hcs/resourcepaths/silo.go b/internal/hcs/resourcepaths/silo.go new file mode 100644 index 0000000000..f426d32a1e --- /dev/null +++ b/internal/hcs/resourcepaths/silo.go @@ -0,0 +1,11 @@ +package resourcepaths + +//nolint:deadcode,varcheck +const ( + // silo container resources paths + SiloDeviceResourcePath string = "Container/Devices/Generic" + SiloMappedDirectoryResourcePath string = "Container/MappedDirectories" + SiloMappedPipeResourcePath string = "Container/MappedPipes" + SiloMemoryResourcePath string = "Container/Memory/SizeInMB" + SiloRegistryFlushStatePath string = "Container/RegistryFlushState" +) diff --git a/internal/hcs/resourcepaths/virtualmachine.go b/internal/hcs/resourcepaths/virtualmachine.go new file mode 100644 index 0000000000..87fc7574d7 --- /dev/null +++ b/internal/hcs/resourcepaths/virtualmachine.go @@ -0,0 +1,24 @@ +package resourcepaths + +//nolint:deadcode,varcheck +const ( + GPUResourcePath string = "VirtualMachine/ComputeTopology/Gpu" + MemoryResourcePath string = "VirtualMachine/ComputeTopology/Memory/SizeInMB" + CPUGroupResourcePath string = "VirtualMachine/ComputeTopology/Processor/CpuGroup" + IdledResourcePath string = "VirtualMachine/ComputeTopology/Processor/IdledProcessors" + CPUFrequencyPowerCapResourcePath string = "VirtualMachine/ComputeTopology/Processor/CpuFrequencyPowerCap" + CPULimitsResourcePath string = "VirtualMachine/ComputeTopology/Processor/Limits" + SerialResourceFormat string = "VirtualMachine/Devices/ComPorts/%d" + FlexibleIovResourceFormat string = "VirtualMachine/Devices/FlexibleIov/%s" + LicensingResourcePath string = "VirtualMachine/Devices/Licensing" + MappedPipeResourceFormat string = "VirtualMachine/Devices/MappedPipes/%s" + NetworkResourceFormat string = "VirtualMachine/Devices/NetworkAdapters/%s" + Plan9ShareResourcePath string = "VirtualMachine/Devices/Plan9/Shares" + SCSIResourceFormat string = "VirtualMachine/Devices/Scsi/%s/Attachments/%d" + SharedMemoryRegionResourcePath string = "VirtualMachine/Devices/SharedMemory/Regions" + VirtualPCIResourceFormat string = "VirtualMachine/Devices/VirtualPci/%s" + VPMemControllerResourceFormat string = "VirtualMachine/Devices/VirtualPMem/Devices/%d" + VPMemDeviceResourceFormat string = "VirtualMachine/Devices/VirtualPMem/Devices/%d/Mappings/%d" + VSMBShareResourcePath string = "VirtualMachine/Devices/VirtualSmb/Shares" + HvSocketConfigResourceFormat string = "VirtualMachine/Devices/HvSocket/HvSocketConfig/ServiceTable/%s" +) diff --git a/internal/schema1/schema1.go b/internal/hcs/schema1/schema1.go similarity index 99% rename from internal/schema1/schema1.go rename to internal/hcs/schema1/schema1.go index b468ad6365..b621c55938 100644 --- a/internal/schema1/schema1.go +++ b/internal/hcs/schema1/schema1.go @@ -5,7 +5,7 @@ import ( "time" "github.com/Microsoft/go-winio/pkg/guid" - hcsschema "github.com/Microsoft/hcsshim/internal/schema2" + hcsschema "github.com/Microsoft/hcsshim/internal/hcs/schema2" ) // ProcessConfig is used as both the input of Container.CreateProcess diff --git a/internal/schema2/attachment.go b/internal/hcs/schema2/attachment.go similarity index 100% rename from internal/schema2/attachment.go rename to internal/hcs/schema2/attachment.go diff --git a/internal/schema2/battery.go b/internal/hcs/schema2/battery.go similarity index 100% rename from internal/schema2/battery.go rename to internal/hcs/schema2/battery.go diff --git a/internal/schema2/cache_query_stats_response.go b/internal/hcs/schema2/cache_query_stats_response.go similarity index 100% rename from internal/schema2/cache_query_stats_response.go rename to internal/hcs/schema2/cache_query_stats_response.go diff --git a/internal/schema2/chipset.go b/internal/hcs/schema2/chipset.go similarity index 100% rename from internal/schema2/chipset.go rename to internal/hcs/schema2/chipset.go diff --git a/internal/schema2/close_handle.go b/internal/hcs/schema2/close_handle.go similarity index 100% rename from internal/schema2/close_handle.go rename to internal/hcs/schema2/close_handle.go diff --git a/internal/schema2/com_port.go b/internal/hcs/schema2/com_port.go similarity index 100% rename from internal/schema2/com_port.go rename to internal/hcs/schema2/com_port.go diff --git a/internal/schema2/compute_system.go b/internal/hcs/schema2/compute_system.go similarity index 100% rename from internal/schema2/compute_system.go rename to internal/hcs/schema2/compute_system.go diff --git a/internal/schema2/configuration.go b/internal/hcs/schema2/configuration.go similarity index 100% rename from internal/schema2/configuration.go rename to internal/hcs/schema2/configuration.go diff --git a/internal/schema2/console_size.go b/internal/hcs/schema2/console_size.go similarity index 100% rename from internal/schema2/console_size.go rename to internal/hcs/schema2/console_size.go diff --git a/internal/schema2/container.go b/internal/hcs/schema2/container.go similarity index 100% rename from internal/schema2/container.go rename to internal/hcs/schema2/container.go diff --git a/internal/schema2/container_credential_guard_add_instance_request.go b/internal/hcs/schema2/container_credential_guard_add_instance_request.go similarity index 100% rename from internal/schema2/container_credential_guard_add_instance_request.go rename to internal/hcs/schema2/container_credential_guard_add_instance_request.go diff --git a/internal/schema2/container_credential_guard_hv_socket_service_config.go b/internal/hcs/schema2/container_credential_guard_hv_socket_service_config.go similarity index 100% rename from internal/schema2/container_credential_guard_hv_socket_service_config.go rename to internal/hcs/schema2/container_credential_guard_hv_socket_service_config.go diff --git a/internal/schema2/container_credential_guard_instance.go b/internal/hcs/schema2/container_credential_guard_instance.go similarity index 100% rename from internal/schema2/container_credential_guard_instance.go rename to internal/hcs/schema2/container_credential_guard_instance.go diff --git a/internal/schema2/container_credential_guard_modify_operation.go b/internal/hcs/schema2/container_credential_guard_modify_operation.go similarity index 100% rename from internal/schema2/container_credential_guard_modify_operation.go rename to internal/hcs/schema2/container_credential_guard_modify_operation.go diff --git a/internal/schema2/container_credential_guard_operation_request.go b/internal/hcs/schema2/container_credential_guard_operation_request.go similarity index 100% rename from internal/schema2/container_credential_guard_operation_request.go rename to internal/hcs/schema2/container_credential_guard_operation_request.go diff --git a/internal/schema2/container_credential_guard_remove_instance_request.go b/internal/hcs/schema2/container_credential_guard_remove_instance_request.go similarity index 100% rename from internal/schema2/container_credential_guard_remove_instance_request.go rename to internal/hcs/schema2/container_credential_guard_remove_instance_request.go diff --git a/internal/schema2/container_credential_guard_state.go b/internal/hcs/schema2/container_credential_guard_state.go similarity index 100% rename from internal/schema2/container_credential_guard_state.go rename to internal/hcs/schema2/container_credential_guard_state.go diff --git a/internal/schema2/container_credential_guard_system_info.go b/internal/hcs/schema2/container_credential_guard_system_info.go similarity index 100% rename from internal/schema2/container_credential_guard_system_info.go rename to internal/hcs/schema2/container_credential_guard_system_info.go diff --git a/internal/schema2/container_memory_information.go b/internal/hcs/schema2/container_memory_information.go similarity index 100% rename from internal/schema2/container_memory_information.go rename to internal/hcs/schema2/container_memory_information.go diff --git a/internal/schema2/cpu_group.go b/internal/hcs/schema2/cpu_group.go similarity index 100% rename from internal/schema2/cpu_group.go rename to internal/hcs/schema2/cpu_group.go diff --git a/internal/schema2/cpu_group_affinity.go b/internal/hcs/schema2/cpu_group_affinity.go similarity index 100% rename from internal/schema2/cpu_group_affinity.go rename to internal/hcs/schema2/cpu_group_affinity.go diff --git a/internal/schema2/cpu_group_config.go b/internal/hcs/schema2/cpu_group_config.go similarity index 100% rename from internal/schema2/cpu_group_config.go rename to internal/hcs/schema2/cpu_group_config.go diff --git a/internal/schema2/cpu_group_configurations.go b/internal/hcs/schema2/cpu_group_configurations.go similarity index 100% rename from internal/schema2/cpu_group_configurations.go rename to internal/hcs/schema2/cpu_group_configurations.go diff --git a/internal/schema2/cpu_group_operations.go b/internal/hcs/schema2/cpu_group_operations.go similarity index 100% rename from internal/schema2/cpu_group_operations.go rename to internal/hcs/schema2/cpu_group_operations.go diff --git a/internal/schema2/cpu_group_property.go b/internal/hcs/schema2/cpu_group_property.go similarity index 100% rename from internal/schema2/cpu_group_property.go rename to internal/hcs/schema2/cpu_group_property.go diff --git a/internal/schema2/create_group_operation.go b/internal/hcs/schema2/create_group_operation.go similarity index 100% rename from internal/schema2/create_group_operation.go rename to internal/hcs/schema2/create_group_operation.go diff --git a/internal/schema2/delete_group_operation.go b/internal/hcs/schema2/delete_group_operation.go similarity index 100% rename from internal/schema2/delete_group_operation.go rename to internal/hcs/schema2/delete_group_operation.go diff --git a/internal/schema2/device.go b/internal/hcs/schema2/device.go similarity index 100% rename from internal/schema2/device.go rename to internal/hcs/schema2/device.go diff --git a/internal/schema2/devices.go b/internal/hcs/schema2/devices.go similarity index 100% rename from internal/schema2/devices.go rename to internal/hcs/schema2/devices.go diff --git a/internal/schema2/enhanced_mode_video.go b/internal/hcs/schema2/enhanced_mode_video.go similarity index 100% rename from internal/schema2/enhanced_mode_video.go rename to internal/hcs/schema2/enhanced_mode_video.go diff --git a/internal/schema2/flexible_io_device.go b/internal/hcs/schema2/flexible_io_device.go similarity index 100% rename from internal/schema2/flexible_io_device.go rename to internal/hcs/schema2/flexible_io_device.go diff --git a/internal/schema2/guest_connection.go b/internal/hcs/schema2/guest_connection.go similarity index 100% rename from internal/schema2/guest_connection.go rename to internal/hcs/schema2/guest_connection.go diff --git a/internal/schema2/guest_connection_info.go b/internal/hcs/schema2/guest_connection_info.go similarity index 100% rename from internal/schema2/guest_connection_info.go rename to internal/hcs/schema2/guest_connection_info.go diff --git a/internal/schema2/guest_crash_reporting.go b/internal/hcs/schema2/guest_crash_reporting.go similarity index 100% rename from internal/schema2/guest_crash_reporting.go rename to internal/hcs/schema2/guest_crash_reporting.go diff --git a/internal/schema2/guest_os.go b/internal/hcs/schema2/guest_os.go similarity index 100% rename from internal/schema2/guest_os.go rename to internal/hcs/schema2/guest_os.go diff --git a/internal/schema2/guest_state.go b/internal/hcs/schema2/guest_state.go similarity index 100% rename from internal/schema2/guest_state.go rename to internal/hcs/schema2/guest_state.go diff --git a/internal/schema2/host_processor_modify_request.go b/internal/hcs/schema2/host_processor_modify_request.go similarity index 100% rename from internal/schema2/host_processor_modify_request.go rename to internal/hcs/schema2/host_processor_modify_request.go diff --git a/internal/schema2/hosted_system.go b/internal/hcs/schema2/hosted_system.go similarity index 100% rename from internal/schema2/hosted_system.go rename to internal/hcs/schema2/hosted_system.go diff --git a/internal/schema2/hv_socket.go b/internal/hcs/schema2/hv_socket.go similarity index 100% rename from internal/schema2/hv_socket.go rename to internal/hcs/schema2/hv_socket.go diff --git a/internal/schema2/hv_socket_2.go b/internal/hcs/schema2/hv_socket_2.go similarity index 100% rename from internal/schema2/hv_socket_2.go rename to internal/hcs/schema2/hv_socket_2.go diff --git a/internal/schema2/hv_socket_address.go b/internal/hcs/schema2/hv_socket_address.go similarity index 100% rename from internal/schema2/hv_socket_address.go rename to internal/hcs/schema2/hv_socket_address.go diff --git a/internal/schema2/hv_socket_service_config.go b/internal/hcs/schema2/hv_socket_service_config.go similarity index 100% rename from internal/schema2/hv_socket_service_config.go rename to internal/hcs/schema2/hv_socket_service_config.go diff --git a/internal/schema2/hv_socket_system_config.go b/internal/hcs/schema2/hv_socket_system_config.go similarity index 100% rename from internal/schema2/hv_socket_system_config.go rename to internal/hcs/schema2/hv_socket_system_config.go diff --git a/internal/schema2/interrupt_moderation_mode.go b/internal/hcs/schema2/interrupt_moderation_mode.go similarity index 100% rename from internal/schema2/interrupt_moderation_mode.go rename to internal/hcs/schema2/interrupt_moderation_mode.go diff --git a/internal/schema2/iov_settings.go b/internal/hcs/schema2/iov_settings.go similarity index 100% rename from internal/schema2/iov_settings.go rename to internal/hcs/schema2/iov_settings.go diff --git a/internal/schema2/keyboard.go b/internal/hcs/schema2/keyboard.go similarity index 100% rename from internal/schema2/keyboard.go rename to internal/hcs/schema2/keyboard.go diff --git a/internal/schema2/layer.go b/internal/hcs/schema2/layer.go similarity index 100% rename from internal/schema2/layer.go rename to internal/hcs/schema2/layer.go diff --git a/internal/schema2/linux_kernel_direct.go b/internal/hcs/schema2/linux_kernel_direct.go similarity index 100% rename from internal/schema2/linux_kernel_direct.go rename to internal/hcs/schema2/linux_kernel_direct.go diff --git a/internal/schema2/logical_processor.go b/internal/hcs/schema2/logical_processor.go similarity index 100% rename from internal/schema2/logical_processor.go rename to internal/hcs/schema2/logical_processor.go diff --git a/internal/schema2/mapped_directory.go b/internal/hcs/schema2/mapped_directory.go similarity index 100% rename from internal/schema2/mapped_directory.go rename to internal/hcs/schema2/mapped_directory.go diff --git a/internal/schema2/mapped_pipe.go b/internal/hcs/schema2/mapped_pipe.go similarity index 100% rename from internal/schema2/mapped_pipe.go rename to internal/hcs/schema2/mapped_pipe.go diff --git a/internal/schema2/memory.go b/internal/hcs/schema2/memory.go similarity index 100% rename from internal/schema2/memory.go rename to internal/hcs/schema2/memory.go diff --git a/internal/schema2/memory_2.go b/internal/hcs/schema2/memory_2.go similarity index 100% rename from internal/schema2/memory_2.go rename to internal/hcs/schema2/memory_2.go diff --git a/internal/schema2/memory_information_for_vm.go b/internal/hcs/schema2/memory_information_for_vm.go similarity index 100% rename from internal/schema2/memory_information_for_vm.go rename to internal/hcs/schema2/memory_information_for_vm.go diff --git a/internal/schema2/memory_stats.go b/internal/hcs/schema2/memory_stats.go similarity index 100% rename from internal/schema2/memory_stats.go rename to internal/hcs/schema2/memory_stats.go diff --git a/internal/schema2/modification_request.go b/internal/hcs/schema2/modification_request.go similarity index 100% rename from internal/schema2/modification_request.go rename to internal/hcs/schema2/modification_request.go diff --git a/internal/schema2/modify_setting_request.go b/internal/hcs/schema2/modify_setting_request.go similarity index 100% rename from internal/schema2/modify_setting_request.go rename to internal/hcs/schema2/modify_setting_request.go diff --git a/internal/schema2/mouse.go b/internal/hcs/schema2/mouse.go similarity index 100% rename from internal/schema2/mouse.go rename to internal/hcs/schema2/mouse.go diff --git a/internal/schema2/network_adapter.go b/internal/hcs/schema2/network_adapter.go similarity index 100% rename from internal/schema2/network_adapter.go rename to internal/hcs/schema2/network_adapter.go diff --git a/internal/schema2/networking.go b/internal/hcs/schema2/networking.go similarity index 100% rename from internal/schema2/networking.go rename to internal/hcs/schema2/networking.go diff --git a/internal/schema2/pause_notification.go b/internal/hcs/schema2/pause_notification.go similarity index 100% rename from internal/schema2/pause_notification.go rename to internal/hcs/schema2/pause_notification.go diff --git a/internal/schema2/pause_options.go b/internal/hcs/schema2/pause_options.go similarity index 100% rename from internal/schema2/pause_options.go rename to internal/hcs/schema2/pause_options.go diff --git a/internal/schema2/plan9.go b/internal/hcs/schema2/plan9.go similarity index 100% rename from internal/schema2/plan9.go rename to internal/hcs/schema2/plan9.go diff --git a/internal/schema2/plan9_share.go b/internal/hcs/schema2/plan9_share.go similarity index 100% rename from internal/schema2/plan9_share.go rename to internal/hcs/schema2/plan9_share.go diff --git a/internal/schema2/process_details.go b/internal/hcs/schema2/process_details.go similarity index 100% rename from internal/schema2/process_details.go rename to internal/hcs/schema2/process_details.go diff --git a/internal/schema2/process_modify_request.go b/internal/hcs/schema2/process_modify_request.go similarity index 100% rename from internal/schema2/process_modify_request.go rename to internal/hcs/schema2/process_modify_request.go diff --git a/internal/schema2/process_parameters.go b/internal/hcs/schema2/process_parameters.go similarity index 100% rename from internal/schema2/process_parameters.go rename to internal/hcs/schema2/process_parameters.go diff --git a/internal/schema2/process_status.go b/internal/hcs/schema2/process_status.go similarity index 100% rename from internal/schema2/process_status.go rename to internal/hcs/schema2/process_status.go diff --git a/internal/schema2/processor.go b/internal/hcs/schema2/processor.go similarity index 100% rename from internal/schema2/processor.go rename to internal/hcs/schema2/processor.go diff --git a/internal/schema2/processor_2.go b/internal/hcs/schema2/processor_2.go similarity index 100% rename from internal/schema2/processor_2.go rename to internal/hcs/schema2/processor_2.go diff --git a/internal/schema2/processor_stats.go b/internal/hcs/schema2/processor_stats.go similarity index 100% rename from internal/schema2/processor_stats.go rename to internal/hcs/schema2/processor_stats.go diff --git a/internal/schema2/processor_topology.go b/internal/hcs/schema2/processor_topology.go similarity index 100% rename from internal/schema2/processor_topology.go rename to internal/hcs/schema2/processor_topology.go diff --git a/internal/schema2/properties.go b/internal/hcs/schema2/properties.go similarity index 100% rename from internal/schema2/properties.go rename to internal/hcs/schema2/properties.go diff --git a/internal/schema2/property_query.go b/internal/hcs/schema2/property_query.go similarity index 100% rename from internal/schema2/property_query.go rename to internal/hcs/schema2/property_query.go diff --git a/internal/schema2/property_type.go b/internal/hcs/schema2/property_type.go similarity index 100% rename from internal/schema2/property_type.go rename to internal/hcs/schema2/property_type.go diff --git a/internal/schema2/rdp_connection_options.go b/internal/hcs/schema2/rdp_connection_options.go similarity index 100% rename from internal/schema2/rdp_connection_options.go rename to internal/hcs/schema2/rdp_connection_options.go diff --git a/internal/schema2/registry_changes.go b/internal/hcs/schema2/registry_changes.go similarity index 100% rename from internal/schema2/registry_changes.go rename to internal/hcs/schema2/registry_changes.go diff --git a/internal/schema2/registry_key.go b/internal/hcs/schema2/registry_key.go similarity index 100% rename from internal/schema2/registry_key.go rename to internal/hcs/schema2/registry_key.go diff --git a/internal/schema2/registry_value.go b/internal/hcs/schema2/registry_value.go similarity index 100% rename from internal/schema2/registry_value.go rename to internal/hcs/schema2/registry_value.go diff --git a/internal/schema2/restore_state.go b/internal/hcs/schema2/restore_state.go similarity index 100% rename from internal/schema2/restore_state.go rename to internal/hcs/schema2/restore_state.go diff --git a/internal/schema2/save_options.go b/internal/hcs/schema2/save_options.go similarity index 100% rename from internal/schema2/save_options.go rename to internal/hcs/schema2/save_options.go diff --git a/internal/schema2/scsi.go b/internal/hcs/schema2/scsi.go similarity index 100% rename from internal/schema2/scsi.go rename to internal/hcs/schema2/scsi.go diff --git a/internal/schema2/service_properties.go b/internal/hcs/schema2/service_properties.go similarity index 100% rename from internal/schema2/service_properties.go rename to internal/hcs/schema2/service_properties.go diff --git a/internal/schema2/shared_memory_configuration.go b/internal/hcs/schema2/shared_memory_configuration.go similarity index 100% rename from internal/schema2/shared_memory_configuration.go rename to internal/hcs/schema2/shared_memory_configuration.go diff --git a/internal/schema2/shared_memory_region.go b/internal/hcs/schema2/shared_memory_region.go similarity index 100% rename from internal/schema2/shared_memory_region.go rename to internal/hcs/schema2/shared_memory_region.go diff --git a/internal/schema2/shared_memory_region_info.go b/internal/hcs/schema2/shared_memory_region_info.go similarity index 100% rename from internal/schema2/shared_memory_region_info.go rename to internal/hcs/schema2/shared_memory_region_info.go diff --git a/internal/schema2/silo_properties.go b/internal/hcs/schema2/silo_properties.go similarity index 100% rename from internal/schema2/silo_properties.go rename to internal/hcs/schema2/silo_properties.go diff --git a/internal/schema2/statistics.go b/internal/hcs/schema2/statistics.go similarity index 100% rename from internal/schema2/statistics.go rename to internal/hcs/schema2/statistics.go diff --git a/internal/schema2/storage.go b/internal/hcs/schema2/storage.go similarity index 100% rename from internal/schema2/storage.go rename to internal/hcs/schema2/storage.go diff --git a/internal/schema2/storage_qo_s.go b/internal/hcs/schema2/storage_qo_s.go similarity index 100% rename from internal/schema2/storage_qo_s.go rename to internal/hcs/schema2/storage_qo_s.go diff --git a/internal/schema2/storage_stats.go b/internal/hcs/schema2/storage_stats.go similarity index 100% rename from internal/schema2/storage_stats.go rename to internal/hcs/schema2/storage_stats.go diff --git a/internal/schema2/topology.go b/internal/hcs/schema2/topology.go similarity index 100% rename from internal/schema2/topology.go rename to internal/hcs/schema2/topology.go diff --git a/internal/schema2/uefi.go b/internal/hcs/schema2/uefi.go similarity index 100% rename from internal/schema2/uefi.go rename to internal/hcs/schema2/uefi.go diff --git a/internal/schema2/uefi_boot_entry.go b/internal/hcs/schema2/uefi_boot_entry.go similarity index 100% rename from internal/schema2/uefi_boot_entry.go rename to internal/hcs/schema2/uefi_boot_entry.go diff --git a/internal/schema2/version.go b/internal/hcs/schema2/version.go similarity index 100% rename from internal/schema2/version.go rename to internal/hcs/schema2/version.go diff --git a/internal/schema2/video_monitor.go b/internal/hcs/schema2/video_monitor.go similarity index 100% rename from internal/schema2/video_monitor.go rename to internal/hcs/schema2/video_monitor.go diff --git a/internal/schema2/virtual_machine.go b/internal/hcs/schema2/virtual_machine.go similarity index 100% rename from internal/schema2/virtual_machine.go rename to internal/hcs/schema2/virtual_machine.go diff --git a/internal/schema2/virtual_node_info.go b/internal/hcs/schema2/virtual_node_info.go similarity index 100% rename from internal/schema2/virtual_node_info.go rename to internal/hcs/schema2/virtual_node_info.go diff --git a/internal/schema2/virtual_p_mem_controller.go b/internal/hcs/schema2/virtual_p_mem_controller.go similarity index 100% rename from internal/schema2/virtual_p_mem_controller.go rename to internal/hcs/schema2/virtual_p_mem_controller.go diff --git a/internal/schema2/virtual_p_mem_device.go b/internal/hcs/schema2/virtual_p_mem_device.go similarity index 100% rename from internal/schema2/virtual_p_mem_device.go rename to internal/hcs/schema2/virtual_p_mem_device.go diff --git a/internal/schema2/virtual_pci_device.go b/internal/hcs/schema2/virtual_pci_device.go similarity index 100% rename from internal/schema2/virtual_pci_device.go rename to internal/hcs/schema2/virtual_pci_device.go diff --git a/internal/schema2/virtual_pci_function.go b/internal/hcs/schema2/virtual_pci_function.go similarity index 100% rename from internal/schema2/virtual_pci_function.go rename to internal/hcs/schema2/virtual_pci_function.go diff --git a/internal/schema2/virtual_smb.go b/internal/hcs/schema2/virtual_smb.go similarity index 100% rename from internal/schema2/virtual_smb.go rename to internal/hcs/schema2/virtual_smb.go diff --git a/internal/schema2/virtual_smb_share.go b/internal/hcs/schema2/virtual_smb_share.go similarity index 100% rename from internal/schema2/virtual_smb_share.go rename to internal/hcs/schema2/virtual_smb_share.go diff --git a/internal/schema2/virtual_smb_share_options.go b/internal/hcs/schema2/virtual_smb_share_options.go similarity index 100% rename from internal/schema2/virtual_smb_share_options.go rename to internal/hcs/schema2/virtual_smb_share_options.go diff --git a/internal/schema2/vm_memory.go b/internal/hcs/schema2/vm_memory.go similarity index 100% rename from internal/schema2/vm_memory.go rename to internal/hcs/schema2/vm_memory.go diff --git a/internal/schema2/vm_processor_limits.go b/internal/hcs/schema2/vm_processor_limits.go similarity index 100% rename from internal/schema2/vm_processor_limits.go rename to internal/hcs/schema2/vm_processor_limits.go diff --git a/internal/schema2/windows_crash_reporting.go b/internal/hcs/schema2/windows_crash_reporting.go similarity index 100% rename from internal/schema2/windows_crash_reporting.go rename to internal/hcs/schema2/windows_crash_reporting.go diff --git a/internal/hcs/service.go b/internal/hcs/service.go index 3a5f012501..dd6af412f1 100644 --- a/internal/hcs/service.go +++ b/internal/hcs/service.go @@ -4,7 +4,7 @@ import ( "context" "encoding/json" - hcsschema "github.com/Microsoft/hcsshim/internal/schema2" + hcsschema "github.com/Microsoft/hcsshim/internal/hcs/schema2" "github.com/Microsoft/hcsshim/internal/vmcompute" ) diff --git a/internal/hcs/system.go b/internal/hcs/system.go index cea11dee7f..221f1c7fbc 100644 --- a/internal/hcs/system.go +++ b/internal/hcs/system.go @@ -9,10 +9,10 @@ import ( "syscall" "github.com/Microsoft/hcsshim/internal/cow" + "github.com/Microsoft/hcsshim/internal/hcs/schema1" + hcsschema "github.com/Microsoft/hcsshim/internal/hcs/schema2" "github.com/Microsoft/hcsshim/internal/log" "github.com/Microsoft/hcsshim/internal/oc" - "github.com/Microsoft/hcsshim/internal/schema1" - hcsschema "github.com/Microsoft/hcsshim/internal/schema2" "github.com/Microsoft/hcsshim/internal/timeout" "github.com/Microsoft/hcsshim/internal/vmcompute" "go.opencensus.io/trace" diff --git a/internal/hcsoci/clone.go b/internal/hcsoci/clone.go index 4d26f21d0b..f2a103ffaa 100644 --- a/internal/hcsoci/clone.go +++ b/internal/hcsoci/clone.go @@ -7,13 +7,9 @@ import ( "fmt" "github.com/Microsoft/hcsshim/internal/cow" + "github.com/Microsoft/hcsshim/internal/hcs/resourcepaths" + hcsschema "github.com/Microsoft/hcsshim/internal/hcs/schema2" "github.com/Microsoft/hcsshim/internal/requesttype" - hcsschema "github.com/Microsoft/hcsshim/internal/schema2" -) - -const ( - MappedDirectoryResourcePath = "Container/MappedDirectories" - MappedPipeResourcePath = "Container/MappedPipes" ) // Usually mounts specified in the container config are added in the container doc @@ -26,7 +22,7 @@ func addMountsToClone(ctx context.Context, c cow.Container, mounts *mountsConfig for _, md := range mounts.mdsv2 { requestDocument := &hcsschema.ModifySettingRequest{ RequestType: requesttype.Add, - ResourcePath: MappedDirectoryResourcePath, + ResourcePath: resourcepaths.SiloMappedDirectoryResourcePath, Settings: md, } err := c.Modify(ctx, requestDocument) @@ -38,7 +34,7 @@ func addMountsToClone(ctx context.Context, c cow.Container, mounts *mountsConfig for _, mp := range mounts.mpsv2 { requestDocument := &hcsschema.ModifySettingRequest{ RequestType: requesttype.Add, - ResourcePath: MappedPipeResourcePath, + ResourcePath: resourcepaths.SiloMappedPipeResourcePath, Settings: mp, } err := c.Modify(ctx, requestDocument) diff --git a/internal/hcsoci/create.go b/internal/hcsoci/create.go index 546e3516c2..d1b0a729c1 100644 --- a/internal/hcsoci/create.go +++ b/internal/hcsoci/create.go @@ -14,10 +14,10 @@ import ( "github.com/Microsoft/hcsshim/internal/clone" "github.com/Microsoft/hcsshim/internal/cow" "github.com/Microsoft/hcsshim/internal/hcs" + hcsschema "github.com/Microsoft/hcsshim/internal/hcs/schema2" "github.com/Microsoft/hcsshim/internal/log" "github.com/Microsoft/hcsshim/internal/oci" "github.com/Microsoft/hcsshim/internal/resources" - hcsschema "github.com/Microsoft/hcsshim/internal/schema2" "github.com/Microsoft/hcsshim/internal/schemaversion" "github.com/Microsoft/hcsshim/internal/uvm" specs "github.com/opencontainers/runtime-spec/specs-go" diff --git a/internal/hcsoci/hcsdoc_lcow.go b/internal/hcsoci/hcsdoc_lcow.go index 7352557c1d..4b202e2d2a 100644 --- a/internal/hcsoci/hcsdoc_lcow.go +++ b/internal/hcsoci/hcsdoc_lcow.go @@ -6,8 +6,8 @@ import ( "context" "encoding/json" + hcsschema "github.com/Microsoft/hcsshim/internal/hcs/schema2" "github.com/Microsoft/hcsshim/internal/log" - hcsschema "github.com/Microsoft/hcsshim/internal/schema2" "github.com/Microsoft/hcsshim/internal/schemaversion" specs "github.com/opencontainers/runtime-spec/specs-go" ) diff --git a/internal/hcsoci/hcsdoc_wcow.go b/internal/hcsoci/hcsdoc_wcow.go index c183126c42..38ebb8310b 100644 --- a/internal/hcsoci/hcsdoc_wcow.go +++ b/internal/hcsoci/hcsdoc_wcow.go @@ -9,12 +9,12 @@ import ( "regexp" "strings" + "github.com/Microsoft/hcsshim/internal/hcs/schema1" + hcsschema "github.com/Microsoft/hcsshim/internal/hcs/schema2" "github.com/Microsoft/hcsshim/internal/layers" "github.com/Microsoft/hcsshim/internal/log" "github.com/Microsoft/hcsshim/internal/oci" "github.com/Microsoft/hcsshim/internal/processorinfo" - "github.com/Microsoft/hcsshim/internal/schema1" - hcsschema "github.com/Microsoft/hcsshim/internal/schema2" "github.com/Microsoft/hcsshim/internal/uvm" "github.com/Microsoft/hcsshim/internal/uvmfolder" "github.com/Microsoft/hcsshim/internal/wclayer" diff --git a/internal/jobcontainers/jobcontainer.go b/internal/jobcontainers/jobcontainer.go index 636d054e21..80ae9e8501 100644 --- a/internal/jobcontainers/jobcontainer.go +++ b/internal/jobcontainers/jobcontainer.go @@ -15,12 +15,12 @@ import ( "github.com/Microsoft/go-winio/pkg/guid" "github.com/Microsoft/hcsshim/internal/cow" "github.com/Microsoft/hcsshim/internal/hcs" + "github.com/Microsoft/hcsshim/internal/hcs/schema1" + hcsschema "github.com/Microsoft/hcsshim/internal/hcs/schema2" "github.com/Microsoft/hcsshim/internal/jobobject" "github.com/Microsoft/hcsshim/internal/layers" "github.com/Microsoft/hcsshim/internal/log" "github.com/Microsoft/hcsshim/internal/queue" - "github.com/Microsoft/hcsshim/internal/schema1" - hcsschema "github.com/Microsoft/hcsshim/internal/schema2" "github.com/Microsoft/hcsshim/internal/winapi" specs "github.com/opencontainers/runtime-spec/specs-go" "github.com/pkg/errors" diff --git a/internal/layers/layers.go b/internal/layers/layers.go index 123b87ebb1..b5ab18a7ca 100644 --- a/internal/layers/layers.go +++ b/internal/layers/layers.go @@ -8,9 +8,9 @@ import ( "fmt" "path/filepath" + hcsschema "github.com/Microsoft/hcsshim/internal/hcs/schema2" "github.com/Microsoft/hcsshim/internal/log" "github.com/Microsoft/hcsshim/internal/ospath" - hcsschema "github.com/Microsoft/hcsshim/internal/schema2" "github.com/Microsoft/hcsshim/internal/uvm" uvmpkg "github.com/Microsoft/hcsshim/internal/uvm" "github.com/Microsoft/hcsshim/internal/wclayer" diff --git a/internal/processorinfo/host_information.go b/internal/processorinfo/host_information.go index 60f31a295e..f179857a63 100644 --- a/internal/processorinfo/host_information.go +++ b/internal/processorinfo/host_information.go @@ -7,7 +7,7 @@ import ( "fmt" "github.com/Microsoft/hcsshim/internal/hcs" - hcsschema "github.com/Microsoft/hcsshim/internal/schema2" + hcsschema "github.com/Microsoft/hcsshim/internal/hcs/schema2" ) // HostProcessorInfo queries HCS for the host's processor information, including topology diff --git a/internal/schemaversion/schemaversion.go b/internal/schemaversion/schemaversion.go index aa9b6f774e..cd8484799a 100644 --- a/internal/schemaversion/schemaversion.go +++ b/internal/schemaversion/schemaversion.go @@ -6,7 +6,7 @@ import ( "encoding/json" "fmt" - hcsschema "github.com/Microsoft/hcsshim/internal/schema2" + hcsschema "github.com/Microsoft/hcsshim/internal/hcs/schema2" "github.com/Microsoft/hcsshim/osversion" "github.com/sirupsen/logrus" ) diff --git a/internal/uvm/capabilities.go b/internal/uvm/capabilities.go index 14aedab529..d76bfdbef4 100644 --- a/internal/uvm/capabilities.go +++ b/internal/uvm/capabilities.go @@ -1,6 +1,6 @@ package uvm -import "github.com/Microsoft/hcsshim/internal/schema1" +import "github.com/Microsoft/hcsshim/internal/hcs/schema1" // SignalProcessSupported returns `true` if the guest supports the capability to // signal a process. diff --git a/internal/uvm/clone.go b/internal/uvm/clone.go index 5a7977b482..9cc574612a 100644 --- a/internal/uvm/clone.go +++ b/internal/uvm/clone.go @@ -5,7 +5,7 @@ import ( "fmt" "github.com/Microsoft/hcsshim/internal/cow" - hcsschema "github.com/Microsoft/hcsshim/internal/schema2" + hcsschema "github.com/Microsoft/hcsshim/internal/hcs/schema2" "github.com/pkg/errors" ) diff --git a/internal/uvm/combine_layers.go b/internal/uvm/combine_layers.go index c523faee09..74c0ac70e2 100644 --- a/internal/uvm/combine_layers.go +++ b/internal/uvm/combine_layers.go @@ -4,8 +4,8 @@ import ( "context" "github.com/Microsoft/hcsshim/internal/guestrequest" + hcsschema "github.com/Microsoft/hcsshim/internal/hcs/schema2" "github.com/Microsoft/hcsshim/internal/requesttype" - hcsschema "github.com/Microsoft/hcsshim/internal/schema2" ) // CombineLayersWCOW combines `layerPaths` with `containerRootPath` into the diff --git a/internal/uvm/computeagent.go b/internal/uvm/computeagent.go index a3d6ac62e0..3ccacd878f 100644 --- a/internal/uvm/computeagent.go +++ b/internal/uvm/computeagent.go @@ -6,8 +6,8 @@ import ( "github.com/Microsoft/go-winio" "github.com/Microsoft/hcsshim/internal/computeagent" + hcsschema "github.com/Microsoft/hcsshim/internal/hcs/schema2" "github.com/Microsoft/hcsshim/internal/hns" - hcsschema "github.com/Microsoft/hcsshim/internal/schema2" "github.com/Microsoft/hcsshim/pkg/octtrpc" "github.com/containerd/ttrpc" "github.com/pkg/errors" diff --git a/internal/uvm/cpugroups.go b/internal/uvm/cpugroups.go index eb57f77a4f..2035321bb0 100644 --- a/internal/uvm/cpugroups.go +++ b/internal/uvm/cpugroups.go @@ -6,7 +6,8 @@ import ( "fmt" "github.com/Microsoft/hcsshim/internal/cpugroup" - hcsschema "github.com/Microsoft/hcsshim/internal/schema2" + "github.com/Microsoft/hcsshim/internal/hcs/resourcepaths" + hcsschema "github.com/Microsoft/hcsshim/internal/hcs/schema2" ) // ReleaseCPUGroup unsets the cpugroup from the VM @@ -33,7 +34,7 @@ func (uvm *UtilityVM) SetCPUGroup(ctx context.Context, id string) error { // setCPUGroup sets the VM's cpugroup func (uvm *UtilityVM) setCPUGroup(ctx context.Context, id string) error { req := &hcsschema.ModifySettingRequest{ - ResourcePath: cpuGroupResourcePath, + ResourcePath: resourcepaths.CPUGroupResourcePath, Settings: &hcsschema.CpuGroup{ Id: id, }, diff --git a/internal/uvm/cpulimits_update.go b/internal/uvm/cpulimits_update.go index 4ea66178f9..264da31a28 100644 --- a/internal/uvm/cpulimits_update.go +++ b/internal/uvm/cpulimits_update.go @@ -3,13 +3,14 @@ package uvm import ( "context" - hcsschema "github.com/Microsoft/hcsshim/internal/schema2" + "github.com/Microsoft/hcsshim/internal/hcs/resourcepaths" + hcsschema "github.com/Microsoft/hcsshim/internal/hcs/schema2" ) // UpdateCPULimits updates the CPU limits of the utility vm func (uvm *UtilityVM) UpdateCPULimits(ctx context.Context, limits *hcsschema.ProcessorLimits) error { req := &hcsschema.ModifySettingRequest{ - ResourcePath: cpuLimitsResourcePath, + ResourcePath: resourcepaths.CPULimitsResourcePath, Settings: limits, } diff --git a/internal/uvm/create.go b/internal/uvm/create.go index 9092e929f0..72d09f5dca 100644 --- a/internal/uvm/create.go +++ b/internal/uvm/create.go @@ -10,10 +10,10 @@ import ( "github.com/Microsoft/hcsshim/internal/cow" "github.com/Microsoft/hcsshim/internal/hcs" + hcsschema "github.com/Microsoft/hcsshim/internal/hcs/schema2" "github.com/Microsoft/hcsshim/internal/log" "github.com/Microsoft/hcsshim/internal/logfields" "github.com/Microsoft/hcsshim/internal/oc" - hcsschema "github.com/Microsoft/hcsshim/internal/schema2" "github.com/Microsoft/hcsshim/internal/schemaversion" "github.com/Microsoft/hcsshim/osversion" "github.com/sirupsen/logrus" diff --git a/internal/uvm/create_lcow.go b/internal/uvm/create_lcow.go index d1ba2d3f41..764abb5e1e 100644 --- a/internal/uvm/create_lcow.go +++ b/internal/uvm/create_lcow.go @@ -15,11 +15,11 @@ import ( "github.com/Microsoft/go-winio" "github.com/Microsoft/go-winio/pkg/guid" "github.com/Microsoft/hcsshim/internal/gcs" + hcsschema "github.com/Microsoft/hcsshim/internal/hcs/schema2" "github.com/Microsoft/hcsshim/internal/log" "github.com/Microsoft/hcsshim/internal/logfields" "github.com/Microsoft/hcsshim/internal/oc" "github.com/Microsoft/hcsshim/internal/processorinfo" - hcsschema "github.com/Microsoft/hcsshim/internal/schema2" "github.com/Microsoft/hcsshim/internal/schemaversion" "github.com/Microsoft/hcsshim/osversion" "github.com/pkg/errors" diff --git a/internal/uvm/create_wcow.go b/internal/uvm/create_wcow.go index 5a873e8c50..d01ad4bf6b 100644 --- a/internal/uvm/create_wcow.go +++ b/internal/uvm/create_wcow.go @@ -9,12 +9,12 @@ import ( "github.com/Microsoft/go-winio" "github.com/Microsoft/go-winio/pkg/guid" "github.com/Microsoft/hcsshim/internal/gcs" + hcsschema "github.com/Microsoft/hcsshim/internal/hcs/schema2" "github.com/Microsoft/hcsshim/internal/log" "github.com/Microsoft/hcsshim/internal/logfields" "github.com/Microsoft/hcsshim/internal/ncproxyttrpc" "github.com/Microsoft/hcsshim/internal/oc" "github.com/Microsoft/hcsshim/internal/processorinfo" - hcsschema "github.com/Microsoft/hcsshim/internal/schema2" "github.com/Microsoft/hcsshim/internal/schemaversion" "github.com/Microsoft/hcsshim/internal/uvmfolder" "github.com/Microsoft/hcsshim/internal/wclayer" diff --git a/internal/uvm/guest_request.go b/internal/uvm/guest_request.go index 09462d29a3..5459859453 100644 --- a/internal/uvm/guest_request.go +++ b/internal/uvm/guest_request.go @@ -3,7 +3,7 @@ package uvm import ( "context" - hcsschema "github.com/Microsoft/hcsshim/internal/schema2" + hcsschema "github.com/Microsoft/hcsshim/internal/hcs/schema2" ) // GuestRequest send an arbitrary guest request to the UVM. diff --git a/internal/uvm/hvsocket.go b/internal/uvm/hvsocket.go index 15ed2628fb..48f7730761 100644 --- a/internal/uvm/hvsocket.go +++ b/internal/uvm/hvsocket.go @@ -4,8 +4,9 @@ import ( "context" "fmt" + "github.com/Microsoft/hcsshim/internal/hcs/resourcepaths" + hcsschema "github.com/Microsoft/hcsshim/internal/hcs/schema2" "github.com/Microsoft/hcsshim/internal/requesttype" - hcsschema "github.com/Microsoft/hcsshim/internal/schema2" ) // UpdateHvSocketService calls HCS to update/create the hvsocket service for @@ -27,7 +28,7 @@ import ( func (uvm *UtilityVM) UpdateHvSocketService(ctx context.Context, sid string, doc *hcsschema.HvSocketServiceConfig) error { request := &hcsschema.ModifySettingRequest{ RequestType: requesttype.Update, - ResourcePath: fmt.Sprintf(hvsocketConfigResourceFormat, sid), + ResourcePath: fmt.Sprintf(resourcepaths.HvSocketConfigResourceFormat, sid), Settings: doc, } return uvm.modify(ctx, request) @@ -37,7 +38,7 @@ func (uvm *UtilityVM) UpdateHvSocketService(ctx context.Context, sid string, doc func (uvm *UtilityVM) RemoveHvSocketService(ctx context.Context, sid string) error { request := &hcsschema.ModifySettingRequest{ RequestType: requesttype.Remove, - ResourcePath: fmt.Sprintf(hvsocketConfigResourceFormat, sid), + ResourcePath: fmt.Sprintf(resourcepaths.HvSocketConfigResourceFormat, sid), } return uvm.modify(ctx, request) } diff --git a/internal/uvm/memory_update.go b/internal/uvm/memory_update.go index 67ab63254f..058ffff013 100644 --- a/internal/uvm/memory_update.go +++ b/internal/uvm/memory_update.go @@ -4,7 +4,8 @@ import ( "context" "fmt" - hcsschema "github.com/Microsoft/hcsshim/internal/schema2" + "github.com/Microsoft/hcsshim/internal/hcs/resourcepaths" + hcsschema "github.com/Microsoft/hcsshim/internal/hcs/schema2" ) const ( @@ -19,7 +20,7 @@ func (uvm *UtilityVM) UpdateMemory(ctx context.Context, sizeInBytes uint64) erro requestedSizeInMB := sizeInBytes / bytesPerMB actual := uvm.normalizeMemorySize(ctx, requestedSizeInMB) req := &hcsschema.ModifySettingRequest{ - ResourcePath: memoryResourcePath, + ResourcePath: resourcepaths.MemoryResourcePath, Settings: actual, } return uvm.modify(ctx, req) diff --git a/internal/uvm/modify.go b/internal/uvm/modify.go index 0a0817f1ab..72b391756c 100644 --- a/internal/uvm/modify.go +++ b/internal/uvm/modify.go @@ -4,9 +4,9 @@ import ( "context" "fmt" + hcsschema "github.com/Microsoft/hcsshim/internal/hcs/schema2" "github.com/Microsoft/hcsshim/internal/log" "github.com/Microsoft/hcsshim/internal/requesttype" - hcsschema "github.com/Microsoft/hcsshim/internal/schema2" ) // Modify modifies the compute system by sending a request to HCS. diff --git a/internal/uvm/network.go b/internal/uvm/network.go index 65d7450b6b..fcec86de66 100644 --- a/internal/uvm/network.go +++ b/internal/uvm/network.go @@ -11,10 +11,11 @@ import ( "github.com/Microsoft/go-winio/pkg/guid" "github.com/Microsoft/hcsshim/hcn" "github.com/Microsoft/hcsshim/internal/guestrequest" + "github.com/Microsoft/hcsshim/internal/hcs/resourcepaths" + hcsschema "github.com/Microsoft/hcsshim/internal/hcs/schema2" "github.com/Microsoft/hcsshim/internal/hns" "github.com/Microsoft/hcsshim/internal/log" "github.com/Microsoft/hcsshim/internal/requesttype" - hcsschema "github.com/Microsoft/hcsshim/internal/schema2" "github.com/Microsoft/hcsshim/osversion" "github.com/sirupsen/logrus" ) @@ -548,7 +549,7 @@ func (uvm *UtilityVM) addNIC(ctx context.Context, id string, endpoint *hns.HNSEn // Then the Add itself request := hcsschema.ModifySettingRequest{ RequestType: requesttype.Add, - ResourcePath: fmt.Sprintf(networkResourceFormat, id), + ResourcePath: fmt.Sprintf(resourcepaths.NetworkResourceFormat, id), Settings: hcsschema.NetworkAdapter{ EndpointId: endpoint.Id, MacAddress: endpoint.MacAddress, @@ -596,7 +597,7 @@ func (uvm *UtilityVM) addNIC(ctx context.Context, id string, endpoint *hns.HNSEn func (uvm *UtilityVM) removeNIC(ctx context.Context, id string, endpoint *hns.HNSEndpoint) error { request := hcsschema.ModifySettingRequest{ RequestType: requesttype.Remove, - ResourcePath: fmt.Sprintf(networkResourceFormat, id), + ResourcePath: fmt.Sprintf(resourcepaths.NetworkResourceFormat, id), Settings: hcsschema.NetworkAdapter{ EndpointId: endpoint.Id, MacAddress: endpoint.MacAddress, @@ -647,7 +648,7 @@ func (uvm *UtilityVM) RemoveAllNICs(ctx context.Context) error { func (uvm *UtilityVM) UpdateNIC(ctx context.Context, id string, settings *hcsschema.NetworkAdapter) error { req := &hcsschema.ModifySettingRequest{ RequestType: requesttype.Update, - ResourcePath: fmt.Sprintf(networkResourceFormat, id), + ResourcePath: fmt.Sprintf(resourcepaths.NetworkResourceFormat, id), Settings: settings, } return uvm.modify(ctx, req) diff --git a/internal/uvm/pipes.go b/internal/uvm/pipes.go index bfb062e270..ba08aedbdb 100644 --- a/internal/uvm/pipes.go +++ b/internal/uvm/pipes.go @@ -5,8 +5,9 @@ import ( "fmt" "strings" + "github.com/Microsoft/hcsshim/internal/hcs/resourcepaths" + hcsschema "github.com/Microsoft/hcsshim/internal/hcs/schema2" "github.com/Microsoft/hcsshim/internal/requesttype" - hcsschema "github.com/Microsoft/hcsshim/internal/schema2" specs "github.com/opencontainers/runtime-spec/specs-go" ) @@ -31,7 +32,7 @@ func (pipe *PipeMount) Release(ctx context.Context) error { func (uvm *UtilityVM) AddPipe(ctx context.Context, hostPath string) (*PipeMount, error) { modification := &hcsschema.ModifySettingRequest{ RequestType: requesttype.Add, - ResourcePath: fmt.Sprintf(mappedPipeResourceFormat, hostPath), + ResourcePath: fmt.Sprintf(resourcepaths.MappedPipeResourceFormat, hostPath), } if err := uvm.modify(ctx, modification); err != nil { return nil, err @@ -43,7 +44,7 @@ func (uvm *UtilityVM) AddPipe(ctx context.Context, hostPath string) (*PipeMount, func (uvm *UtilityVM) RemovePipe(ctx context.Context, hostPath string) error { modification := &hcsschema.ModifySettingRequest{ RequestType: requesttype.Remove, - ResourcePath: fmt.Sprintf(mappedPipeResourceFormat, hostPath), + ResourcePath: fmt.Sprintf(resourcepaths.MappedPipeResourceFormat, hostPath), } if err := uvm.modify(ctx, modification); err != nil { return err diff --git a/internal/uvm/plan9.go b/internal/uvm/plan9.go index cd8408479a..755fbdb731 100644 --- a/internal/uvm/plan9.go +++ b/internal/uvm/plan9.go @@ -7,8 +7,9 @@ import ( "strconv" "github.com/Microsoft/hcsshim/internal/guestrequest" + "github.com/Microsoft/hcsshim/internal/hcs/resourcepaths" + hcsschema "github.com/Microsoft/hcsshim/internal/hcs/schema2" "github.com/Microsoft/hcsshim/internal/requesttype" - hcsschema "github.com/Microsoft/hcsshim/internal/schema2" "github.com/Microsoft/hcsshim/osversion" ) @@ -77,7 +78,7 @@ func (uvm *UtilityVM) AddPlan9(ctx context.Context, hostPath string, uvmPath str Flags: flags, AllowedFiles: allowedNames, }, - ResourcePath: plan9ShareResourcePath, + ResourcePath: resourcepaths.Plan9ShareResourcePath, GuestRequest: guestrequest.GuestRequest{ ResourceType: guestrequest.ResourceTypeMappedDirectory, RequestType: requesttype.Add, @@ -115,7 +116,7 @@ func (uvm *UtilityVM) RemovePlan9(ctx context.Context, share *Plan9Share) error AccessName: share.name, Port: plan9Port, }, - ResourcePath: plan9ShareResourcePath, + ResourcePath: resourcepaths.Plan9ShareResourcePath, GuestRequest: guestrequest.GuestRequest{ ResourceType: guestrequest.ResourceTypeMappedDirectory, RequestType: requesttype.Remove, diff --git a/internal/uvm/resourcepaths.go b/internal/uvm/resourcepaths.go deleted file mode 100644 index 81f90d4122..0000000000 --- a/internal/uvm/resourcepaths.go +++ /dev/null @@ -1,24 +0,0 @@ -package uvm - -//nolint:deadcode,varcheck -const ( - gpuResourcePath string = "VirtualMachine/ComputeTopology/Gpu" - memoryResourcePath string = "VirtualMachine/ComputeTopology/Memory/SizeInMB" - cpuGroupResourcePath string = "VirtualMachine/ComputeTopology/Processor/CpuGroup" - idledResourcePath string = "VirtualMachine/ComputeTopology/Processor/IdledProcessors" - cpuFrequencyPowerCapResourcePath string = "VirtualMachine/ComputeTopology/Processor/CpuFrequencyPowerCap" - cpuLimitsResourcePath string = "VirtualMachine/ComputeTopology/Processor/Limits" - serialResourceFormat string = "VirtualMachine/Devices/ComPorts/%d" - flexibleIovResourceFormat string = "VirtualMachine/Devices/FlexibleIov/%s" - licensingResourcePath string = "VirtualMachine/Devices/Licensing" - mappedPipeResourceFormat string = "VirtualMachine/Devices/MappedPipes/%s" - networkResourceFormat string = "VirtualMachine/Devices/NetworkAdapters/%s" - plan9ShareResourcePath string = "VirtualMachine/Devices/Plan9/Shares" - scsiResourceFormat string = "VirtualMachine/Devices/Scsi/%s/Attachments/%d" - sharedMemoryRegionResourcePath string = "VirtualMachine/Devices/SharedMemory/Regions" - virtualPciResourceFormat string = "VirtualMachine/Devices/VirtualPci/%s" - vPMemControllerResourceFormat string = "VirtualMachine/Devices/VirtualPMem/Devices/%d" - vPMemDeviceResourceFormat string = "VirtualMachine/Devices/VirtualPMem/Devices/%d/Mappings/%d" - vSmbShareResourcePath string = "VirtualMachine/Devices/VirtualSmb/Shares" - hvsocketConfigResourceFormat string = "VirtualMachine/Devices/HvSocket/HvSocketConfig/ServiceTable/%s" -) diff --git a/internal/uvm/scsi.go b/internal/uvm/scsi.go index 563891ea0a..fdb9c8bc13 100644 --- a/internal/uvm/scsi.go +++ b/internal/uvm/scsi.go @@ -13,9 +13,10 @@ import ( "github.com/Microsoft/go-winio/pkg/security" "github.com/Microsoft/hcsshim/internal/copyfile" "github.com/Microsoft/hcsshim/internal/guestrequest" + "github.com/Microsoft/hcsshim/internal/hcs/resourcepaths" + hcsschema "github.com/Microsoft/hcsshim/internal/hcs/schema2" "github.com/Microsoft/hcsshim/internal/log" "github.com/Microsoft/hcsshim/internal/requesttype" - hcsschema "github.com/Microsoft/hcsshim/internal/schema2" "github.com/Microsoft/hcsshim/internal/wclayer" "github.com/pkg/errors" "github.com/sirupsen/logrus" @@ -173,7 +174,7 @@ func (uvm *UtilityVM) RemoveSCSI(ctx context.Context, hostPath string) error { scsiModification := &hcsschema.ModifySettingRequest{ RequestType: requesttype.Remove, - ResourcePath: fmt.Sprintf(scsiResourceFormat, strconv.Itoa(sm.Controller), sm.LUN), + ResourcePath: fmt.Sprintf(resourcepaths.SCSIResourceFormat, strconv.Itoa(sm.Controller), sm.LUN), } // Include the GuestRequest so that the GCS ejects the disk cleanly if the @@ -293,7 +294,7 @@ func (uvm *UtilityVM) addSCSIActual(ctx context.Context, hostPath, uvmPath, atta Type_: attachmentType, ReadOnly: readOnly, }, - ResourcePath: fmt.Sprintf(scsiResourceFormat, strconv.Itoa(sm.Controller), sm.LUN), + ResourcePath: fmt.Sprintf(resourcepaths.SCSIResourceFormat, strconv.Itoa(sm.Controller), sm.LUN), } if sm.UVMPath != "" { diff --git a/internal/uvm/share.go b/internal/uvm/share.go index ad0adfddaa..e72d7d10c5 100644 --- a/internal/uvm/share.go +++ b/internal/uvm/share.go @@ -7,8 +7,8 @@ import ( "path/filepath" "github.com/Microsoft/hcsshim/internal/guestrequest" + hcsschema "github.com/Microsoft/hcsshim/internal/hcs/schema2" "github.com/Microsoft/hcsshim/internal/requesttype" - hcsschema "github.com/Microsoft/hcsshim/internal/schema2" ) // Share shares in file(s) from `reqHostPath` on the host machine to `reqUVMPath` inside the UVM. diff --git a/internal/uvm/start.go b/internal/uvm/start.go index 81c8a479d8..b5bc4e3635 100644 --- a/internal/uvm/start.go +++ b/internal/uvm/start.go @@ -15,11 +15,11 @@ import ( "github.com/Microsoft/hcsshim/internal/gcs" "github.com/Microsoft/hcsshim/internal/guestrequest" + "github.com/Microsoft/hcsshim/internal/hcs/schema1" + hcsschema "github.com/Microsoft/hcsshim/internal/hcs/schema2" "github.com/Microsoft/hcsshim/internal/log" "github.com/Microsoft/hcsshim/internal/logfields" "github.com/Microsoft/hcsshim/internal/requesttype" - "github.com/Microsoft/hcsshim/internal/schema1" - hcsschema "github.com/Microsoft/hcsshim/internal/schema2" "github.com/sirupsen/logrus" "golang.org/x/sync/errgroup" ) diff --git a/internal/uvm/stats.go b/internal/uvm/stats.go index 4154caba7e..73bb65da89 100644 --- a/internal/uvm/stats.go +++ b/internal/uvm/stats.go @@ -7,8 +7,8 @@ import ( "github.com/Microsoft/go-winio/pkg/guid" "github.com/Microsoft/go-winio/pkg/process" "github.com/Microsoft/hcsshim/cmd/containerd-shim-runhcs-v1/stats" + hcsschema "github.com/Microsoft/hcsshim/internal/hcs/schema2" "github.com/Microsoft/hcsshim/internal/log" - hcsschema "github.com/Microsoft/hcsshim/internal/schema2" "github.com/pkg/errors" "github.com/sirupsen/logrus" "golang.org/x/sys/windows" diff --git a/internal/uvm/types.go b/internal/uvm/types.go index 7d0b3ccb8b..1cc53cdec7 100644 --- a/internal/uvm/types.go +++ b/internal/uvm/types.go @@ -9,9 +9,9 @@ import ( "github.com/Microsoft/go-winio/pkg/guid" "github.com/Microsoft/hcsshim/internal/gcs" "github.com/Microsoft/hcsshim/internal/hcs" + "github.com/Microsoft/hcsshim/internal/hcs/schema1" "github.com/Microsoft/hcsshim/internal/hns" "github.com/Microsoft/hcsshim/internal/ncproxyttrpc" - "github.com/Microsoft/hcsshim/internal/schema1" "golang.org/x/sys/windows" ) diff --git a/internal/uvm/virtual_device.go b/internal/uvm/virtual_device.go index d06453793f..66d71e08d0 100644 --- a/internal/uvm/virtual_device.go +++ b/internal/uvm/virtual_device.go @@ -6,8 +6,9 @@ import ( "github.com/Microsoft/go-winio/pkg/guid" "github.com/Microsoft/hcsshim/internal/guestrequest" + "github.com/Microsoft/hcsshim/internal/hcs/resourcepaths" + hcsschema "github.com/Microsoft/hcsshim/internal/hcs/schema2" "github.com/Microsoft/hcsshim/internal/requesttype" - hcsschema "github.com/Microsoft/hcsshim/internal/schema2" ) const ( @@ -92,7 +93,7 @@ func (uvm *UtilityVM) AssignDevice(ctx context.Context, deviceID string) (*VPCID } request := &hcsschema.ModifySettingRequest{ - ResourcePath: fmt.Sprintf(virtualPciResourceFormat, vmBusGUID), + ResourcePath: fmt.Sprintf(resourcepaths.VirtualPCIResourceFormat, vmBusGUID), RequestType: requesttype.Add, Settings: targetDevice} @@ -140,7 +141,7 @@ func (uvm *UtilityVM) removeDevice(ctx context.Context, deviceInstanceID string) if vpci.refCount == 0 { delete(uvm.vpciDevices, deviceInstanceID) return uvm.modify(ctx, &hcsschema.ModifySettingRequest{ - ResourcePath: fmt.Sprintf(virtualPciResourceFormat, vpci.VMBusGUID), + ResourcePath: fmt.Sprintf(resourcepaths.VirtualPCIResourceFormat, vpci.VMBusGUID), RequestType: requesttype.Remove, }) } diff --git a/internal/uvm/vpmem.go b/internal/uvm/vpmem.go index e50b484848..6d883220eb 100644 --- a/internal/uvm/vpmem.go +++ b/internal/uvm/vpmem.go @@ -7,9 +7,10 @@ import ( "os" "github.com/Microsoft/hcsshim/internal/guestrequest" + "github.com/Microsoft/hcsshim/internal/hcs/resourcepaths" + hcsschema "github.com/Microsoft/hcsshim/internal/hcs/schema2" "github.com/Microsoft/hcsshim/internal/log" "github.com/Microsoft/hcsshim/internal/requesttype" - hcsschema "github.com/Microsoft/hcsshim/internal/schema2" "github.com/sirupsen/logrus" ) @@ -90,7 +91,7 @@ func (uvm *UtilityVM) AddVPMEM(ctx context.Context, hostPath string) (_ string, ReadOnly: true, ImageFormat: "Vhd1", }, - ResourcePath: fmt.Sprintf(vPMemControllerResourceFormat, deviceNumber), + ResourcePath: fmt.Sprintf(resourcepaths.VPMemControllerResourceFormat, deviceNumber), } uvmPath := fmt.Sprintf(lcowVPMEMLayerFmt, deviceNumber) @@ -138,7 +139,7 @@ func (uvm *UtilityVM) RemoveVPMEM(ctx context.Context, hostPath string) (err err if device.refCount == 1 { modification := &hcsschema.ModifySettingRequest{ RequestType: requesttype.Remove, - ResourcePath: fmt.Sprintf(vPMemControllerResourceFormat, deviceNumber), + ResourcePath: fmt.Sprintf(resourcepaths.VPMemControllerResourceFormat, deviceNumber), GuestRequest: guestrequest.GuestRequest{ ResourceType: guestrequest.ResourceTypeVPMemDevice, RequestType: requesttype.Remove, diff --git a/internal/uvm/vsmb.go b/internal/uvm/vsmb.go index 1f29fbd0bf..f01009774e 100644 --- a/internal/uvm/vsmb.go +++ b/internal/uvm/vsmb.go @@ -10,9 +10,10 @@ import ( "strconv" "unsafe" + "github.com/Microsoft/hcsshim/internal/hcs/resourcepaths" + hcsschema "github.com/Microsoft/hcsshim/internal/hcs/schema2" "github.com/Microsoft/hcsshim/internal/log" "github.com/Microsoft/hcsshim/internal/requesttype" - hcsschema "github.com/Microsoft/hcsshim/internal/schema2" "github.com/Microsoft/hcsshim/internal/winapi" "github.com/Microsoft/hcsshim/osversion" "github.com/sirupsen/logrus" @@ -232,7 +233,7 @@ func (uvm *UtilityVM) AddVSMB(ctx context.Context, hostPath string, options *hcs Path: hostPath, AllowedFiles: newAllowedFiles, }, - ResourcePath: vSmbShareResourcePath, + ResourcePath: resourcepaths.VSMBShareResourcePath, } if err := uvm.modify(ctx, modification); err != nil { return nil, err @@ -280,7 +281,7 @@ func (uvm *UtilityVM) RemoveVSMB(ctx context.Context, hostPath string, readOnly modification := &hcsschema.ModifySettingRequest{ RequestType: requesttype.Remove, Settings: hcsschema.VirtualSmbShare{Name: share.name}, - ResourcePath: vSmbShareResourcePath, + ResourcePath: resourcepaths.VSMBShareResourcePath, } if err := uvm.modify(ctx, modification); err != nil { return fmt.Errorf("failed to remove vsmb share %s from %s: %+v: %s", hostPath, uvm.id, modification, err)