@@ -700,7 +700,7 @@ func (n *NIMService) GetVolumesMounts() []corev1.Volume {
700700}
701701
702702// GetVolumes returns volumes for the NIMService container.
703- func (n * NIMService ) GetVolumes (modelPVC PersistentVolumeClaim ) []corev1.Volume {
703+ func (n * NIMService ) GetVolumes (modelPVC * PersistentVolumeClaim ) []corev1.Volume {
704704 // TODO: Fetch actual PVC name from associated NIMCache obj
705705 volumes := []corev1.Volume {
706706 {
@@ -712,15 +712,28 @@ func (n *NIMService) GetVolumes(modelPVC PersistentVolumeClaim) []corev1.Volume
712712 },
713713 },
714714 },
715- {
715+ }
716+ if modelPVC != nil {
717+ volumes = append (volumes , corev1.Volume {
716718 Name : "model-store" ,
717719 VolumeSource : corev1.VolumeSource {
718720 PersistentVolumeClaim : & corev1.PersistentVolumeClaimVolumeSource {
719721 ClaimName : modelPVC .Name ,
720722 ReadOnly : n .GetStorageReadOnly (),
721723 },
722724 },
723- },
725+ })
726+ } else {
727+ hostPathType := corev1 .HostPathDirectoryOrCreate
728+ volumes = append (volumes , corev1.Volume {
729+ Name : "model-store" ,
730+ VolumeSource : corev1.VolumeSource {
731+ HostPath : & corev1.HostPathVolumeSource {
732+ Path : * n .Spec .Storage .HostPath ,
733+ Type : & hostPathType ,
734+ },
735+ },
736+ })
724737 }
725738
726739 if n .GetProxySpec () != nil {
@@ -729,7 +742,7 @@ func (n *NIMService) GetVolumes(modelPVC PersistentVolumeClaim) []corev1.Volume
729742 return volumes
730743}
731744
732- func (n * NIMService ) GetLeaderVolumes (modelPVC PersistentVolumeClaim ) []corev1.Volume {
745+ func (n * NIMService ) GetLeaderVolumes (modelPVC * PersistentVolumeClaim ) []corev1.Volume {
733746 volumes := n .GetVolumes (modelPVC )
734747
735748 volumes = append (volumes ,
@@ -774,7 +787,7 @@ func (n *NIMService) GetLeaderVolumes(modelPVC PersistentVolumeClaim) []corev1.V
774787 return volumes
775788}
776789
777- func (n * NIMService ) GetWorkerVolumes (modelPVC PersistentVolumeClaim ) []corev1.Volume {
790+ func (n * NIMService ) GetWorkerVolumes (modelPVC * PersistentVolumeClaim ) []corev1.Volume {
778791 volumes := n .GetVolumes (modelPVC )
779792 volumes = append (volumes ,
780793 corev1.Volume {
@@ -814,12 +827,16 @@ func (n *NIMService) GetWorkerVolumes(modelPVC PersistentVolumeClaim) []corev1.V
814827}
815828
816829// GetVolumeMounts returns volumes for the NIMService container.
817- func (n * NIMService ) GetVolumeMounts (modelPVC PersistentVolumeClaim ) []corev1.VolumeMount {
830+ func (n * NIMService ) GetVolumeMounts (modelPVC * PersistentVolumeClaim ) []corev1.VolumeMount {
831+ subPath := ""
832+ if modelPVC != nil {
833+ subPath = modelPVC .SubPath
834+ }
818835 volumeMounts := []corev1.VolumeMount {
819836 {
820837 Name : "model-store" ,
821838 MountPath : "/model-store" ,
822- SubPath : modelPVC . SubPath ,
839+ SubPath : subPath ,
823840 },
824841 {
825842 Name : "dshm" ,
@@ -833,7 +850,7 @@ func (n *NIMService) GetVolumeMounts(modelPVC PersistentVolumeClaim) []corev1.Vo
833850 return volumeMounts
834851}
835852
836- func (n * NIMService ) GetWorkerVolumeMounts (modelPVC PersistentVolumeClaim ) []corev1.VolumeMount {
853+ func (n * NIMService ) GetWorkerVolumeMounts (modelPVC * PersistentVolumeClaim ) []corev1.VolumeMount {
837854 volumeMounts := n .GetVolumeMounts (modelPVC )
838855
839856 volumeMounts = append (volumeMounts ,
@@ -858,7 +875,7 @@ func (n *NIMService) GetWorkerVolumeMounts(modelPVC PersistentVolumeClaim) []cor
858875 return volumeMounts
859876}
860877
861- func (n * NIMService ) GetLeaderVolumeMounts (modelPVC PersistentVolumeClaim ) []corev1.VolumeMount {
878+ func (n * NIMService ) GetLeaderVolumeMounts (modelPVC * PersistentVolumeClaim ) []corev1.VolumeMount {
862879 volumeMounts := n .GetVolumeMounts (modelPVC )
863880 volumeMounts = append (volumeMounts ,
864881 corev1.VolumeMount {
0 commit comments