Files
fission-src/pkg/apis/fission.io/v1/const.go
T
Ta-Ching ChenandGitHub 003c304105 Prevent newdeploy updates deployment if no resources changed (#1452)
We used to update timestamp in the deployment environment field 
in order to trigger a rolling update when the function referenced 
resources get updated. However, use timestamp means we are not 
able to avoid triggering a rolling update when executor tries to adopt 
orphaned deployment due to timestamp changed which is unwanted. 
In order to let executor adopt deployment without triggering a rolling 
update, we need an identical way to get a value that can reflect res-
ources changed without affecting by time.

To achieve this goal, the sum of the resource version of all referenced 
resources is a good fit for our scenario since the sum of the resource 
version is always the same as long as no resources changed.
2019-12-02 06:35:07 +08:00

108 lines
2.8 KiB
Go

/*
Copyright 2018 The Fission Authors.
Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.
*/
package v1
const (
EXECUTOR_INSTANCEID_LABEL string = "executorInstanceId"
DEFAULT_FUNCTION_TIMEOUT int = 60
)
const (
// ResourceVersionCount env variable is used for updating configmaps and secrets in pods
ResourceVersionCount string = "RESOURCE_VERSION_COUNT"
)
const (
ChecksumTypeSHA256 ChecksumType = "sha256"
)
const (
// ArchiveTypeLiteral means the package contents are specified in the Literal field of
// resource itself.
ArchiveTypeLiteral ArchiveType = "literal"
// ArchiveTypeUrl means the package contents are at the specified URL.
ArchiveTypeUrl ArchiveType = "url"
)
const (
BuildStatusPending = "pending"
BuildStatusRunning = "running"
BuildStatusSucceeded = "succeeded"
BuildStatusFailed = "failed"
BuildStatusNone = "none"
)
const (
AllowedFunctionsPerContainerSingle = "single"
AllowedFunctionsPerContainerInfinite = "infinite"
)
const (
ExecutorTypePoolmgr ExecutorType = "poolmgr"
ExecutorTypeNewdeploy ExecutorType = "newdeploy"
)
const (
StrategyTypeExecution = "execution"
)
const (
SharedVolumeUserfunc = "userfunc"
SharedVolumePackages = "packages"
SharedVolumeSecrets = "secrets"
SharedVolumeConfigmaps = "configmaps"
)
const (
MessageQueueTypeNats = "nats-streaming"
MessageQueueTypeASQ = "azure-storage-queue"
MessageQueueTypeKafka = "kafka"
)
const (
// FunctionReferenceFunctionName means that the function
// reference is simply by function name.
FunctionReferenceTypeFunctionName = "name"
FunctionReferenceTypeFunctionWeights = "function-weights"
// Other function reference types we'd like to support:
// Versioned function, latest version
// Versioned function. by semver "latest compatible"
// Set of function references (recursively), by percentage of traffic
)
const (
// failure type currently supported is http status code. This could be extended
// in the future.
FailureTypeStatusCode FailureType = "status-code"
// Status of canary config can be one of the following
CanaryConfigStatusPending = "pending"
CanaryConfigStatusSucceeded = "succeeded"
CanaryConfigStatusFailed = "failed"
CanaryConfigStatusAborted = "aborted"
// set a max number for iterations to prevent infinite processing of canary config
MaxIterationsForCanaryConfig = 10
)
const (
DefaultSpecializationTimeOut = 120
)