[
https://issues.apache.org/jira/browse/YUNIKORN-182?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17848209#comment-17848209
]
Chia-Ping Tsai commented on YUNIKORN-182:
-----------------------------------------
Any updates? the k8shime has following warnings:
{quote}
WARN [config_reader] The configuration option `linters.govet.check-shadowing`
is deprecated. Please enable `shadow` instead, if you are not using
`enable-all`.
pkg/admission/conf/am_conf.go:121:39: Error return value of
`(k8s.io/client-go/tools/cache.SharedInformer).AddEventHandler` is not checked
(errcheck)
configMaps.Informer().AddEventHandler(&configMapUpdateHandler{conf:
acc})
^
pkg/cmd/shim/main.go:25: File is not `goimports`-ed with -local
github.com/apache/yunikorn (goimports)
pkg/plugin/predicates/predicate_manager_test.go:360: Function
'TestPodFitsSelector' is too long (694 > 120) (funlen)
func TestPodFitsSelector(t *testing.T) {
pkg/plugin/predicates/predicate_manager_test.go:1205: Function
'TestInterPodAffinity' is too long (944 > 120) (funlen)
func TestInterPodAffinity(t *testing.T) {
pkg/plugin/predicates/predicate_manager_test.go:228:14: G109: Potential Integer
overflow made by strconv.Atoi result conversion to int16/32 (gosec)
HostPort: int32(hostPort),
^
test/e2e/gang_scheduling/gang_scheduling_test.go:711:4: shadow: declaration of
"err" shadows declaration at line 696 (govet)
err := kClient.DeleteConfigMap(testConfigmap.Name, ns)
^
test/e2e/gang_scheduling/gang_scheduling_test.go:715:18: shadow: declaration of
"err" shadows declaration at line 696 (govet)
testConfigmap, err := kClient.CreateConfigMap(testConfigmap, ns)
^
test/e2e/framework/helpers/k8s/k8s_utils.go:719:46: Error return value of
`(k8s.io/client-go/tools/cache.SharedInformer).AddEventHandler` is not checked
(errcheck)
configMapInformer.Informer().AddEventHandler(eventHandler)
^
pkg/common/resource_test.go:150: Function 'TestParsePodResource' has too many
statements (91 > 80) (funlen)
func TestParsePodResource(t *testing.T) {
pkg/common/si_helper_test.go:71:13: string `pod-resource-test-00001` has 3
occurrences, make it a constant (goconst)
podName := "pod-resource-test-00001"
^
pkg/common/si_helper_test.go:72:15: string `important` has 3 occurrences, make
it a constant (goconst)
namespace := "important"
^
test/e2e/framework/helpers/common/utils.go:105:18: G404: Use of weak random
number generator (math/rand instead of crypto/rand) (gosec)
b[i] = letters[rand.Intn(len(letters))]
^
pkg/cache/external/scheduler_cache_test.go:310: Function
'TestGetNodesInfoPodsWithAffinity' is too long (155 > 120) (funlen)
func TestGetNodesInfoPodsWithAffinity(t *testing.T) {
pkg/client/apifactory.go:177:35: Error return value of
`(k8s.io/client-go/tools/cache.SharedInformer).AddEventHandlerWithResyncPeriod`
is not checked (errcheck)
AddEventHandlerWithResyncPeriod(handler, resyncPeriod)
^
pkg/client/apifactory.go:180:35: Error return value of
`(k8s.io/client-go/tools/cache.SharedInformer).AddEventHandlerWithResyncPeriod`
is not checked (errcheck)
AddEventHandlerWithResyncPeriod(handler, resyncPeriod)
^
pkg/client/apifactory.go:183:35: Error return value of
`(k8s.io/client-go/tools/cache.SharedInformer).AddEventHandlerWithResyncPeriod`
is not checked (errcheck)
AddEventHandlerWithResyncPeriod(handler, resyncPeriod)
^
pkg/client/apifactory.go:186:35: Error return value of
`(k8s.io/client-go/tools/cache.SharedInformer).AddEventHandlerWithResyncPeriod`
is not checked (errcheck)
AddEventHandlerWithResyncPeriod(handler, resyncPeriod)
^
pkg/client/apifactory.go:189:35: Error return value of
`(k8s.io/client-go/tools/cache.SharedInformer).AddEventHandlerWithResyncPeriod`
is not checked (errcheck)
AddEventHandlerWithResyncPeriod(handler, resyncPeriod)
^
pkg/client/apifactory.go:192:35: Error return value of
`(k8s.io/client-go/tools/cache.SharedInformer).AddEventHandlerWithResyncPeriod`
is not checked (errcheck)
AddEventHandlerWithResyncPeriod(handler, resyncPeriod)
^
pkg/client/apifactory.go:195:35: Error return value of
`(k8s.io/client-go/tools/cache.SharedInformer).AddEventHandlerWithResyncPeriod`
is not checked (errcheck)
AddEventHandlerWithResyncPeriod(handler, resyncPeriod)
^
pkg/client/kubeclient.go:141: pkg/client/kubeclient.go:141: Line contains
TODO/BUG/FIXME: "TODO make this configurable for pods" (godox)
// TODO make this configurable for pods
test/e2e/spark_jobs_scheduling/spark_jobs_scheduling_test.go:67:8: shadow:
declaration of "err" shadows declaration at line 46 (govet)
ns1, err := kClient.CreateNamespace(sparkNS, nil)
^
test/e2e/spark_jobs_scheduling/spark_jobs_scheduling_test.go:97:3: shadow:
declaration of "err" shadows declaration at line 46 (govet)
err := exec.Command(
^
test/e2e/spark_jobs_scheduling/spark_jobs_scheduling_test.go:56:3: ineffectual
assignment to sparkHome (ineffassign)
sparkHome = "/usr/local/"
^
pkg/cmd/admissioncontroller/main.go:143:15: G112: Potential Slowloris Attack
because ReadHeaderTimeout is not configured in the http.Server (gosec)
wh.server = &http.Server{
Addr: fmt.Sprintf(":%v", wh.port),
TLSConfig: &tls.Config{
MinVersion: tls.VersionTLS12, // No SSL,
TLS 1.0 or TLS 1.1 support
NextProtos: []string{"h2", "http/1.1"}, // prefer
HTTP/2 over HTTP/1.1
CipherSuites: wh.getCipherSuites(), // limit
cipher suite to secure ones
Certificates: []tls.Certificate{*certs},
},
Handler: mux,
}
pkg/admission/namespace_cache.go:61:40: Error return value of
`(k8s.io/client-go/tools/cache.SharedInformer).AddEventHandler` is not checked
(errcheck)
namespaces.Informer().AddEventHandler(&namespaceUpdateHandler{cache: nsc})
^
pkg/admission/priority_class_cache.go:44:45: Error return value of
`(k8s.io/client-go/tools/cache.SharedInformer).AddEventHandler` is not checked
(errcheck)
priorityClasses.Informer().AddEventHandler(&priorityClassUpdateHandler{cache:
pcc})
^
pkg/shim/scheduler_test.go:42:16: string `
partitions:
- name: default
queues:
- name: root
submitacl: "*"
queues:
- name: a
resources:
guaranteed:
memory: 100000000
vcore: 10
max:
memory: 150000000
vcore: 20
` has 3 occurrences, make it a constant (goconst)
configData := `
^
pkg/shim/scheduler_mock_test.go:165:26: func
`(*MockScheduler).removeApplication` is unused (unused)
func (fc *MockScheduler) removeApplication(appId string) error {
^
pkg/cache/task_state.go:317: Function 'newTaskState' is too long (124 > 120)
(funlen)
func newTaskState() *fsm.FSM {
pkg/cache/application_test.go:752: Function 'TestTryReservePostRestart' is too
long (123 > 120) (funlen)
func TestTryReservePostRestart(t *testing.T) {
pkg/cache/context_test.go:858: Function 'TestRecoverTask' is too long (138 >
120) (funlen)
func TestRecoverTask(t *testing.T) {
pkg/cache/context_test.go:1484: Function 'TestAddApplicationsWithTags' is too
long (145 > 120) (funlen)
func TestAddApplicationsWithTags(t *testing.T) {
pkg/cache/task_test.go:493: Function 'TestHandleSubmitTaskEvent' is too long
(123 > 120) (funlen)
func TestHandleSubmitTaskEvent(t *testing.T) {
pkg/cache/application_test.go:562:13: string `task02` has 3 occurrences, make
it a constant (goconst)
taskID2 := "task02"
^
pkg/cache/task_state_test.go:2: File is not `gofmt`-ed with `-s` (gofmt)
Licensed to the Apache Software Foundation (ASF) under one
or more contributor license agreements. See the NOTICE file
distributed with this work for additional information
regarding copyright ownership. The ASF licenses this file
to you 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.
pkg/cache/task_state_test.go:10: File is not `goimports`-ed with -local
github.com/apache/yunikorn (goimports)
http://www.apache.org/licenses/LICENSE-2.0
pkg/cache/context.go:788:8: ineffectual assignment to allBound (ineffassign)
var allBound = true
^
make: *** [Makefile:291:lint] 錯誤 1
{quote}
1. we can add log for those unchecked error
2. fix the license header (add new line)
3. add `min-occurrences = 5` to increase the threshold
4. remove unused variable/functions
5. fix the long function (this may be addressed by different PR)
Except for (5), other fixes should be included in single PR.
> fix lint issues
> ---------------
>
> Key: YUNIKORN-182
> URL: https://issues.apache.org/jira/browse/YUNIKORN-182
> Project: Apache YuniKorn
> Issue Type: Task
> Components: build
> Reporter: Wilfred Spiegelenburg
> Assignee: Tarun Parimi
> Priority: Minor
>
> When we added the lint test most major issues were fixed. There are still a
> lot of issues specially in tests that need to be fixed.
> This is a container Jira to track that work on both the k8shim as the core
> repos.
> Work should be split into multiple parts (per linter?)
--
This message was sent by Atlassian Jira
(v8.20.10#820010)
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]