MCPcopy Create free account
hub / github.com/devnullvoid/pvetui / QueueOCIPullStorageContent

Method QueueOCIPullStorageContent

pkg/mockpve/state.go:958–981  ·  view source on GitHub ↗
(node, storage string, params map[string]interface{})

Source from the content-addressed store, hash-verified

956}
957
958func (s *MockState) QueueOCIPullStorageContent(node, storage string, params map[string]interface{}) (string, error) {
959 reference := getStringParam(params, "reference", "")
960 filename := getStringParam(params, "filename", "")
961
962 if strings.TrimSpace(reference) == "" {
963 return "", fmt.Errorf("reference is required")
964 }
965
966 storageEntry, err := s.getStorage(node, storage)
967 if err != nil {
968 return "", err
969 }
970 if err := validateStorageDownloadContent(storageEntry, "import"); err != nil {
971 return "", err
972 }
973
974 volume := buildOCIStorageVolume(node, storage, reference, filename)
975 return s.createTaskWithCompletion(node, "ocipull", volume.VolID, "root@pam", func() {
976 s.mu.Lock()
977 defer s.mu.Unlock()
978 s.addStorageVolumeLocked(volume)
979 s.recalculateStorageUsageLocked()
980 }), nil
981}
982
983func (s *MockState) addStorageVolumeLocked(volume *MockStorageVolume) {
984 key := storageContentKey(volume.Node, volume.Storage)

Callers 1

Calls 7

getStorageMethod · 0.95
getStringParamFunction · 0.85
buildOCIStorageVolumeFunction · 0.85

Tested by

no test coverage detected