Compare commits

..

5 Commits

Author SHA1 Message Date
argo-bot
8d2b13d733 Bump version to 2.0.3 2021-05-27 17:30:05 +00:00
argo-bot
de34f01f84 Bump version to 2.0.3 2021-05-27 17:29:49 +00:00
Alexander Matyushentsev
968f047feb fix: add missing --container flag to 'argocd app logs' command (#6320)
Signed-off-by: Alexander Matyushentsev <AMatyushentsev@gmail.com>
2021-05-25 17:58:17 -07:00
Alexander Matyushentsev
eecefa28cb fix: grpc web proxy must ensure to read full header (#6319)
Signed-off-by: Alexander Matyushentsev <AMatyushentsev@gmail.com>
2021-05-25 17:58:13 -07:00
Alexander Matyushentsev
061e752f13 fix: controller should refresh app before running sync operation (#6294)
Signed-off-by: Alexander Matyushentsev <AMatyushentsev@gmail.com>
2021-05-21 13:33:11 -07:00
11 changed files with 36 additions and 34 deletions

View File

@@ -1 +1 @@
2.0.2
2.0.3

View File

@@ -276,6 +276,7 @@ func NewApplicationLogsCommand(clientOpts *argocdclient.ClientOptions) *cobra.Co
sinceSeconds int64
untilTime string
filter string
container string
)
var command = &cobra.Command{
Use: "logs APPNAME",
@@ -304,6 +305,7 @@ func NewApplicationLogsCommand(clientOpts *argocdclient.ClientOptions) *cobra.Co
SinceSeconds: sinceSeconds,
UntilTime: &untilTime,
Filter: &filter,
Container: container,
})
if err != nil {
log.Fatalf("failed to get pod logs: %v", err)
@@ -344,6 +346,7 @@ func NewApplicationLogsCommand(clientOpts *argocdclient.ClientOptions) *cobra.Co
command.Flags().Int64Var(&sinceSeconds, "since-seconds", 0, "A relative time in seconds before the current time from which to show logs")
command.Flags().StringVar(&untilTime, "until-time", "", "Show logs until this time")
command.Flags().StringVar(&filter, "filter", "", "Show logs contain this string")
command.Flags().StringVar(&container, "container", "", "Optional container name")
return command
}

View File

@@ -664,6 +664,18 @@ func (ctrl *ApplicationController) processAppOperationQueueItem() (processNext b
}
app := origApp.DeepCopy()
if app.Operation != nil {
// If we get here, we are about process an operation but we cannot rely on informer since it might has stale data.
// So always retrieve the latest version to ensure it is not stale to avoid unnecessary syncing.
// This code should be deleted when https://github.com/argoproj/argo-cd/pull/6294 is implemented.
freshApp, err := ctrl.applicationClientset.ArgoprojV1alpha1().Applications(ctrl.namespace).Get(context.Background(), app.ObjectMeta.Name, metav1.GetOptions{})
if err != nil {
log.Errorf("Failed to retrieve latest application state: %v", err)
return
}
app = freshApp
}
if app.Operation != nil {
ctrl.processRequestedAppOperation(app)
} else if app.DeletionTimestamp != nil && app.CascadedDeletion() {
@@ -944,20 +956,6 @@ func (ctrl *ApplicationController) processRequestedAppOperation(app *appv1.Appli
}()
terminating := false
if isOperationInProgress(app) {
// If we get here, we are about process an operation but we notice it is already in progress.
// We need to detect if the app object we pulled off the informer is stale and doesn't
// reflect the fact that the operation is completed. We don't want to perform the operation
// again. To detect this, always retrieve the latest version to ensure it is not stale.
freshApp, err := ctrl.applicationClientset.ArgoprojV1alpha1().Applications(ctrl.namespace).Get(context.Background(), app.ObjectMeta.Name, metav1.GetOptions{})
if err != nil {
logCtx.Errorf("Failed to retrieve latest application state: %v", err)
return
}
if !isOperationInProgress(freshApp) {
logCtx.Infof("Skipping operation on stale application state")
return
}
app = freshApp
state = app.Status.OperationState.DeepCopy()
terminating = state.Phase == synccommon.OperationTerminating
// Failed operation with retry strategy might have be in-progress and has completion time

View File

@@ -9,6 +9,7 @@ argocd app logs APPNAME [flags]
### Options
```
--container string Optional container name
--filter string Show logs contain this string
--follow Specify if the logs should be streamed
--group string Resource group

View File

@@ -5,7 +5,7 @@ kind: Kustomization
images:
- name: quay.io/argoproj/argocd
newName: quay.io/argoproj/argocd
newTag: v2.0.2
newTag: v2.0.3
resources:
- ./application-controller
- ./dex

View File

@@ -11,7 +11,7 @@ patchesStrategicMerge:
images:
- name: quay.io/argoproj/argocd
newName: quay.io/argoproj/argocd
newTag: v2.0.2
newTag: v2.0.3
resources:
- ../../base/application-controller
- ../../base/dex

View File

@@ -3178,7 +3178,7 @@ spec:
- -n
- /usr/local/bin/argocd
- /shared/argocd-dex
image: quay.io/argoproj/argocd:v2.0.2
image: quay.io/argoproj/argocd:v2.0.3
imagePullPolicy: Always
name: copyutil
volumeMounts:
@@ -3312,7 +3312,7 @@ spec:
- argocd-repo-server
- --redis
- argocd-redis-ha-haproxy:6379
image: quay.io/argoproj/argocd:v2.0.2
image: quay.io/argoproj/argocd:v2.0.3
imagePullPolicy: Always
livenessProbe:
failureThreshold: 3
@@ -3413,7 +3413,7 @@ spec:
env:
- name: ARGOCD_API_SERVER_REPLICAS
value: "2"
image: quay.io/argoproj/argocd:v2.0.2
image: quay.io/argoproj/argocd:v2.0.3
imagePullPolicy: Always
livenessProbe:
httpGet:
@@ -3508,7 +3508,7 @@ spec:
- "10"
- --redis
- argocd-redis-ha-haproxy:6379
image: quay.io/argoproj/argocd:v2.0.2
image: quay.io/argoproj/argocd:v2.0.3
imagePullPolicy: Always
livenessProbe:
httpGet:

View File

@@ -3093,7 +3093,7 @@ spec:
- -n
- /usr/local/bin/argocd
- /shared/argocd-dex
image: quay.io/argoproj/argocd:v2.0.2
image: quay.io/argoproj/argocd:v2.0.3
imagePullPolicy: Always
name: copyutil
volumeMounts:
@@ -3227,7 +3227,7 @@ spec:
- argocd-repo-server
- --redis
- argocd-redis-ha-haproxy:6379
image: quay.io/argoproj/argocd:v2.0.2
image: quay.io/argoproj/argocd:v2.0.3
imagePullPolicy: Always
livenessProbe:
failureThreshold: 3
@@ -3328,7 +3328,7 @@ spec:
env:
- name: ARGOCD_API_SERVER_REPLICAS
value: "2"
image: quay.io/argoproj/argocd:v2.0.2
image: quay.io/argoproj/argocd:v2.0.3
imagePullPolicy: Always
livenessProbe:
httpGet:
@@ -3423,7 +3423,7 @@ spec:
- "10"
- --redis
- argocd-redis-ha-haproxy:6379
image: quay.io/argoproj/argocd:v2.0.2
image: quay.io/argoproj/argocd:v2.0.3
imagePullPolicy: Always
livenessProbe:
httpGet:

View File

@@ -2544,7 +2544,7 @@ spec:
- -n
- /usr/local/bin/argocd
- /shared/argocd-dex
image: quay.io/argoproj/argocd:v2.0.2
image: quay.io/argoproj/argocd:v2.0.3
imagePullPolicy: Always
name: copyutil
volumeMounts:
@@ -2644,7 +2644,7 @@ spec:
- argocd-repo-server
- --redis
- argocd-redis:6379
image: quay.io/argoproj/argocd:v2.0.2
image: quay.io/argoproj/argocd:v2.0.3
imagePullPolicy: Always
livenessProbe:
failureThreshold: 3
@@ -2740,7 +2740,7 @@ spec:
- argocd-server
- --staticassets
- /shared/app
image: quay.io/argoproj/argocd:v2.0.2
image: quay.io/argoproj/argocd:v2.0.3
imagePullPolicy: Always
livenessProbe:
httpGet:
@@ -2833,7 +2833,7 @@ spec:
- "20"
- --operation-processors
- "10"
image: quay.io/argoproj/argocd:v2.0.2
image: quay.io/argoproj/argocd:v2.0.3
imagePullPolicy: Always
livenessProbe:
httpGet:

View File

@@ -2459,7 +2459,7 @@ spec:
- -n
- /usr/local/bin/argocd
- /shared/argocd-dex
image: quay.io/argoproj/argocd:v2.0.2
image: quay.io/argoproj/argocd:v2.0.3
imagePullPolicy: Always
name: copyutil
volumeMounts:
@@ -2559,7 +2559,7 @@ spec:
- argocd-repo-server
- --redis
- argocd-redis:6379
image: quay.io/argoproj/argocd:v2.0.2
image: quay.io/argoproj/argocd:v2.0.3
imagePullPolicy: Always
livenessProbe:
failureThreshold: 3
@@ -2655,7 +2655,7 @@ spec:
- argocd-server
- --staticassets
- /shared/app
image: quay.io/argoproj/argocd:v2.0.2
image: quay.io/argoproj/argocd:v2.0.3
imagePullPolicy: Always
livenessProbe:
httpGet:
@@ -2748,7 +2748,7 @@ spec:
- "20"
- --operation-processors
- "10"
image: quay.io/argoproj/argocd:v2.0.2
image: quay.io/argoproj/argocd:v2.0.3
imagePullPolicy: Always
livenessProbe:
httpGet:

View File

@@ -152,7 +152,7 @@ func (c *client) startGRPCProxy() (*grpc.Server, net.Listener, error) {
for {
header := make([]byte, frameHeaderLength)
if _, err := resp.Body.Read(header); err != nil {
if _, err := io.ReadAtLeast(resp.Body, header, frameHeaderLength); err != nil {
if err == io.EOF {
err = io.ErrUnexpectedEOF
}