@@ -689,7 +689,7 @@ func (n *NIMService) GetVolumesMounts() []corev1.Volume {
689689}
690690
691691// GetVolumes returns volumes for the NIMService container.
692- func (n * NIMService ) GetVolumes (modelPVC PersistentVolumeClaim ) []corev1.Volume {
692+ func (n * NIMService ) GetVolumes (modelPVC * PersistentVolumeClaim ) []corev1.Volume {
693693 // TODO: Fetch actual PVC name from associated NIMCache obj
694694 volumes := []corev1.Volume {
695695 {
@@ -701,15 +701,28 @@ func (n *NIMService) GetVolumes(modelPVC PersistentVolumeClaim) []corev1.Volume
701701 },
702702 },
703703 },
704- {
704+ }
705+ if modelPVC != nil {
706+ volumes = append (volumes , corev1.Volume {
705707 Name : "model-store" ,
706708 VolumeSource : corev1.VolumeSource {
707709 PersistentVolumeClaim : & corev1.PersistentVolumeClaimVolumeSource {
708710 ClaimName : modelPVC .Name ,
709711 ReadOnly : n .GetStorageReadOnly (),
710712 },
711713 },
712- },
714+ })
715+ } else {
716+ hostPathType := corev1 .HostPathDirectoryOrCreate
717+ volumes = append (volumes , corev1.Volume {
718+ Name : "model-store" ,
719+ VolumeSource : corev1.VolumeSource {
720+ HostPath : & corev1.HostPathVolumeSource {
721+ Path : * n .Spec .Storage .HostPath ,
722+ Type : & hostPathType ,
723+ },
724+ },
725+ })
713726 }
714727
715728 if n .GetProxySpec () != nil {
@@ -718,7 +731,7 @@ func (n *NIMService) GetVolumes(modelPVC PersistentVolumeClaim) []corev1.Volume
718731 return volumes
719732}
720733
721- func (n * NIMService ) GetLeaderVolumes (modelPVC PersistentVolumeClaim ) []corev1.Volume {
734+ func (n * NIMService ) GetLeaderVolumes (modelPVC * PersistentVolumeClaim ) []corev1.Volume {
722735 volumes := n .GetVolumes (modelPVC )
723736
724737 volumes = append (volumes ,
@@ -763,7 +776,7 @@ func (n *NIMService) GetLeaderVolumes(modelPVC PersistentVolumeClaim) []corev1.V
763776 return volumes
764777}
765778
766- func (n * NIMService ) GetWorkerVolumes (modelPVC PersistentVolumeClaim ) []corev1.Volume {
779+ func (n * NIMService ) GetWorkerVolumes (modelPVC * PersistentVolumeClaim ) []corev1.Volume {
767780 volumes := n .GetVolumes (modelPVC )
768781 volumes = append (volumes ,
769782 corev1.Volume {
@@ -803,12 +816,16 @@ func (n *NIMService) GetWorkerVolumes(modelPVC PersistentVolumeClaim) []corev1.V
803816}
804817
805818// GetVolumeMounts returns volumes for the NIMService container.
806- func (n * NIMService ) GetVolumeMounts (modelPVC PersistentVolumeClaim ) []corev1.VolumeMount {
819+ func (n * NIMService ) GetVolumeMounts (modelPVC * PersistentVolumeClaim ) []corev1.VolumeMount {
820+ subPath := ""
821+ if modelPVC != nil {
822+ subPath = modelPVC .SubPath
823+ }
807824 volumeMounts := []corev1.VolumeMount {
808825 {
809826 Name : "model-store" ,
810827 MountPath : "/model-store" ,
811- SubPath : modelPVC . SubPath ,
828+ SubPath : subPath ,
812829 },
813830 {
814831 Name : "dshm" ,
@@ -822,7 +839,7 @@ func (n *NIMService) GetVolumeMounts(modelPVC PersistentVolumeClaim) []corev1.Vo
822839 return volumeMounts
823840}
824841
825- func (n * NIMService ) GetWorkerVolumeMounts (modelPVC PersistentVolumeClaim ) []corev1.VolumeMount {
842+ func (n * NIMService ) GetWorkerVolumeMounts (modelPVC * PersistentVolumeClaim ) []corev1.VolumeMount {
826843 volumeMounts := n .GetVolumeMounts (modelPVC )
827844
828845 volumeMounts = append (volumeMounts ,
@@ -847,7 +864,7 @@ func (n *NIMService) GetWorkerVolumeMounts(modelPVC PersistentVolumeClaim) []cor
847864 return volumeMounts
848865}
849866
850- func (n * NIMService ) GetLeaderVolumeMounts (modelPVC PersistentVolumeClaim ) []corev1.VolumeMount {
867+ func (n * NIMService ) GetLeaderVolumeMounts (modelPVC * PersistentVolumeClaim ) []corev1.VolumeMount {
851868 volumeMounts := n .GetVolumeMounts (modelPVC )
852869 volumeMounts = append (volumeMounts ,
853870 corev1.VolumeMount {
0 commit comments