Skip to content

Commit

Permalink
Fix few comments
Browse files Browse the repository at this point in the history
  • Loading branch information
andreyvelich committed Jul 21, 2020
1 parent 263d58b commit 44b0ae6
Show file tree
Hide file tree
Showing 6 changed files with 27 additions and 18 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -170,6 +170,7 @@ const (
LongRunning ResumePolicyType = "LongRunning"
// FromVolume indicates that volume is attached to experiment's
// suggestion. Suggestion data can be retained in the volume.
// When experiment is succeeded suggestion deployment and service are deleted.
FromVolume ResumePolicyType = "FromVolume"
)

Expand Down
18 changes: 13 additions & 5 deletions pkg/apis/controller/suggestions/v1beta1/util.go
Original file line number Diff line number Diff line change
Expand Up @@ -90,26 +90,34 @@ func (suggestion *Suggestion) MarkSuggestionStatusCreated(reason, message string
suggestion.setCondition(SuggestionCreated, v1.ConditionTrue, reason, message)
}

// MarkSuggestionStatusRunning sets suggestion Running status.
func (suggestion *Suggestion) MarkSuggestionStatusRunning(status v1.ConditionStatus, reason, message string) {
//suggestion.removeCondition(SuggestionRestarting)
// When suggestion is restrating we need to remove succeeded status from suggestion.
// That should happen only when ResumePolicy = FromVolume
suggestion.removeCondition(SuggestionSucceeded)
suggestion.setCondition(SuggestionRunning, status, reason, message)
}

// MarkSuggestionStatusSucceeded sets suggestion Succeeded status to true.
// Suggestion can be succeeded only if ResumeExperiment = Never or ResumeExperiment = FromVolume
func (suggestion *Suggestion) MarkSuggestionStatusSucceeded(reason, message string) {

// When suggestion is Succeeded suggestion Running status is false
runningCond := getCondition(suggestion, SuggestionRunning)
succeededReason := "Suggestion is succeeded"
if runningCond != nil {
suggestion.setCondition(SuggestionRunning, v1.ConditionFalse, runningCond.Reason, runningCond.Message)
msg := "Suggestion is not running"
suggestion.setCondition(SuggestionRunning, v1.ConditionFalse, succeededReason, msg)
}
// When suggestion is Succeeded deployment must be not ready

// When suggestion is Succeeded suggestion DeploymentReady status is false
deploymentReadyCond := getCondition(suggestion, SuggestionDeploymentReady)
if deploymentReadyCond != nil {
suggestion.setCondition(SuggestionDeploymentReady, v1.ConditionFalse, deploymentReadyCond.Reason, deploymentReadyCond.Message)
msg := "Deployment is not ready"
suggestion.setCondition(SuggestionDeploymentReady, v1.ConditionFalse, succeededReason, msg)
}
suggestion.setCondition(SuggestionSucceeded, v1.ConditionTrue, reason, message)

suggestion.setCondition(SuggestionSucceeded, v1.ConditionTrue, reason, message)
}

func (suggestion *Suggestion) MarkSuggestionStatusFailed(reason, message string) {
Expand Down
10 changes: 5 additions & 5 deletions pkg/controller.v1beta1/consts/const.go
Original file line number Diff line number Diff line change
Expand Up @@ -149,20 +149,20 @@ const (
// UnavailableMetricValue is the value when metric was not reported or metric value can't be converted to float64
UnavailableMetricValue = "unavailable"

// DefaultSuggestionVolumeLocalPathPrefix is the default cluster local path for suggestion volume
// Whole local path = /tmp/katib/suggestions/<suggestion-name>-<suggestion-namespace>
// DefaultSuggestionVolumeLocalPathPrefix is the default cluster local path prefix for suggestion volume
// Full local path = /tmp/katib/suggestions/<suggestion-name>-<suggestion-namespace>
DefaultSuggestionVolumeLocalPathPrefix = "/tmp/katib/suggestions/"

// DefaultSuggestionStorageClass is the default value for suggestion's volume storage class
DefaultSuggestionStorageClass = "katib-suggestion"
// DefaultSuggestionStorageClassName is the default value for suggestion's volume storage class name
DefaultSuggestionStorageClassName = "katib-suggestion"

// DefaultSuggestionVolumeAccessMode is the default value for suggestion's volume access mode
DefaultSuggestionVolumeAccessMode = corev1.ReadWriteOnce

// DefaultSuggestionVolumeStorage is the default value for suggestion's volume storage
DefaultSuggestionVolumeStorage = "1Gi"

// ContainerSuggestionVolumeName is the name of volume that mounted on suggestion container
// ContainerSuggestionVolumeName is the volume name that mounted on suggestion container
ContainerSuggestionVolumeName = "suggestion-volume"

// DefaultContainerSuggestionVolumeMountPath is the default mount path in suggestion container
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -234,7 +234,7 @@ func TestReconcileExperiment(t *testing.T) {
mgrStopped.Wait()
}()

// Create the Experiment object and expect the Reconcile and Deployment to be created
// Create the experiment object and expect the Reconcile and Deployment to be created
err = c.Create(context.TODO(), instance)
// The instance object may not be a valid object because it might be missing some required fields.
// Please modify the instance object by adding required fields and then remove the following if statement.
Expand Down
6 changes: 3 additions & 3 deletions pkg/controller.v1beta1/experiment/experiment_util.go
Original file line number Diff line number Diff line change
Expand Up @@ -155,11 +155,11 @@ func (r *ReconcileExperiment) restartSuggestion(instance *experimentsv1beta1.Exp
return err
}

logger.Info("Suggestion is restarting, suggestion status is not running")
logger.Info("Suggestion is restarting, suggestion Running status is false")
suggestion := original.DeepCopy()
reason := "Experiment is restarting, suggestion deployment is not ready"
reason := "Experiment is restarting"
msg := "Suggestion is not running"
// Mark suggestion status not running because deployment is not ready
// Mark suggestion status not running because experiment is restarting and suggestion deployment is not ready
suggestion.MarkSuggestionStatusRunning(corev1.ConditionFalse, reason, msg)

if err := r.UpdateSuggestionStatus(suggestion); err != nil {
Expand Down
8 changes: 4 additions & 4 deletions pkg/controller.v1beta1/suggestion/composer/composer.go
Original file line number Diff line number Diff line change
Expand Up @@ -252,12 +252,12 @@ func (g *General) desiredContainer(s *suggestionsv1beta1.Suggestion, suggestionC
}

// DesiredVolume returns desired PVC and PV for suggestion.
// If StorageClassName != DefaultSuggestionStorageClass returns only PVC.
// If StorageClassName != DefaultSuggestionStorageClassName returns only PVC.
func (g *General) DesiredVolume(s *suggestionsv1beta1.Suggestion) (*corev1.PersistentVolumeClaim, *corev1.PersistentVolume, error) {
persistentVolumeName := s.Name + "-" + s.Namespace

// TODO (andreyvelich): Enable to specify these values from Katib config
storageClassName := consts.DefaultSuggestionStorageClass
storageClassName := consts.DefaultSuggestionStorageClassName
persistentVolumePath := consts.DefaultSuggestionVolumeLocalPathPrefix + persistentVolumeName
volumeAccessModes := consts.DefaultSuggestionVolumeAccessMode

Expand Down Expand Up @@ -291,7 +291,7 @@ func (g *General) DesiredVolume(s *suggestionsv1beta1.Suggestion) (*corev1.Persi

var pv *corev1.PersistentVolume
// Create PV with local hostPath by default
if storageClassName == consts.DefaultSuggestionStorageClass {
if storageClassName == consts.DefaultSuggestionStorageClassName {
localLabel := map[string]string{"type": "local"}

pv = &corev1.PersistentVolume{
Expand All @@ -300,7 +300,7 @@ func (g *General) DesiredVolume(s *suggestionsv1beta1.Suggestion) (*corev1.Persi
Labels: localLabel,
},
Spec: corev1.PersistentVolumeSpec{
StorageClassName: consts.DefaultSuggestionStorageClass,
StorageClassName: consts.DefaultSuggestionStorageClassName,
AccessModes: []corev1.PersistentVolumeAccessMode{
volumeAccessModes,
},
Expand Down

0 comments on commit 44b0ae6

Please sign in to comment.