This job view page is being replaced by Spyglass soon. Check out the new job view.
ResultFAILURE
Tests 1 failed / 6 succeeded
Started2019-09-18 14:39
Elapsed21m52s
Revision
Buildergke-prow-ssd-pool-1a225945-qrg4
links{u'resultstore': {u'url': u'https://source.cloud.google.com/results/invocations/3934236f-e940-4eeb-a593-f65d0cd43ab6/targets/test'}}
podffd32b0a-da21-11e9-9368-d2ad95f0993d
resultstorehttps://source.cloud.google.com/results/invocations/3934236f-e940-4eeb-a593-f65d0cd43ab6/targets/test
infra-commit2f64091d1
job-versionv1.17.0-alpha.0.1524+9243fcdd656bc8
podffd32b0a-da21-11e9-9368-d2ad95f0993d
revisionv1.17.0-alpha.0.1524+9243fcdd656bc8

Test Failures


Up 11m39s

error creating cluster: error during gcloud container clusters create --quiet --project=k8s-jkns-gke-ubuntu-serial --region=us-central1 --machine-type=n1-standard-2 --image-type=gci --num-nodes=3 --network=bootstrap-e2e --cluster-version=1.17.0-alpha.0.1524+9243fcdd656bc8 bootstrap-e2e: exit status 1
				from junit_runner.xml

Filter through log files | View test history on testgrid


Show 6 Passed Tests

Error lines from build-log.txt

... skipping 12 lines ...
I0918 14:39:24.205] process 44 exited with code 0 after 0.0m
I0918 14:39:24.205] Will upload results to gs://kubernetes-jenkins/logs using pr-kubekins@kubernetes-jenkins-pull.iam.gserviceaccount.com
I0918 14:39:24.206] Root: /workspace
I0918 14:39:24.206] cd to /workspace
I0918 14:39:24.206] Configure environment...
I0918 14:39:24.206] Call:  git show -s --format=format:%ct HEAD
W0918 14:39:24.210] fatal: Not a git repository (or any of the parent directories): .git
I0918 14:39:24.210] process 56 exited with code 128 after 0.0m
W0918 14:39:24.211] Unable to print commit date for HEAD
I0918 14:39:24.211] Call:  gcloud auth activate-service-account --key-file=/etc/service-account/service-account.json
W0918 14:39:24.723] Activated service account credentials for: [pr-kubekins@kubernetes-jenkins-pull.iam.gserviceaccount.com]
I0918 14:39:25.056] process 57 exited with code 0 after 0.0m
I0918 14:39:25.056] Call:  gcloud config get-value account
... skipping 423 lines ...
W0918 14:41:28.604] WARNING: Currently VPC-native is not the default mode during cluster creation. In the future, this will become the default mode and can be disabled using `--no-enable-ip-alias` flag. Use `--[no-]enable-ip-alias` flag to suppress this warning.
W0918 14:41:28.605] WARNING: Starting in 1.12, default node pools in new clusters will have their legacy Compute Engine instance metadata endpoints disabled by default. To create a cluster with legacy instance metadata endpoints disabled in the default node pool, run `clusters create` with the flag `--metadata disable-legacy-endpoints=true`.
W0918 14:41:28.606] WARNING: Your Pod address range (`--cluster-ipv4-cidr`) can accommodate at most 1008 node(s). 
W0918 14:41:28.607] This will disable the autorepair feature for nodes. Please see https://cloud.google.com/kubernetes-engine/docs/node-auto-repair for more information on node autorepairs.
W0918 14:41:32.865] Creating cluster bootstrap-e2e in us-central1...
W0918 14:52:26.961] ..............................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................done.
W0918 14:52:27.025] ERROR: (gcloud.container.clusters.create) Operation [<Operation
W0918 14:52:27.025]  clusterConditions: []
W0918 14:52:27.025]  detail: u'All cluster resources were brought up, but the cluster API is reporting that: component "kube-apiserver" from endpoint "gke-3233133debd0cedac44f-60fa" is unhealthy.'
W0918 14:52:27.026]  endTime: u'2019-09-18T14:52:23.28433423Z'
W0918 14:52:27.026]  name: u'operation-1568817692797-057c2a5f'
W0918 14:52:27.026]  nodepoolConditions: []
W0918 14:52:27.026]  operationType: OperationTypeValueValuesEnum(CREATE_CLUSTER, 1)
W0918 14:52:27.026]  selfLink: u'https://test-container.sandbox.googleapis.com/v1/projects/252195469807/locations/us-central1/operations/operation-1568817692797-057c2a5f'
W0918 14:52:27.026]  startTime: u'2019-09-18T14:41:32.797911053Z'
W0918 14:52:27.026]  status: StatusValueValuesEnum(DONE, 3)
W0918 14:52:27.027]  statusMessage: u'All cluster resources were brought up, but the cluster API is reporting that: component "kube-apiserver" from endpoint "gke-3233133debd0cedac44f-60fa" is unhealthy.'
W0918 14:52:27.027]  targetLink: u'https://test-container.sandbox.googleapis.com/v1/projects/252195469807/locations/us-central1/clusters/bootstrap-e2e'
W0918 14:52:27.027]  zone: u'us-central1'>] finished with error: All cluster resources were brought up, but the cluster API is reporting that: component "kube-apiserver" from endpoint "gke-3233133debd0cedac44f-60fa" is unhealthy.
W0918 14:52:27.097] 2019/09/18 14:52:27 process.go:155: Step 'gcloud container clusters create --quiet --project=k8s-jkns-gke-ubuntu-serial --region=us-central1 --machine-type=n1-standard-2 --image-type=gci --num-nodes=3 --network=bootstrap-e2e --cluster-version=1.17.0-alpha.0.1524+9243fcdd656bc8 bootstrap-e2e' finished in 10m59.053174822s
W0918 14:52:27.761] 2019/09/18 14:52:27 process.go:153: Running: bash -c 
W0918 14:52:27.762] function log_dump_custom_get_instances() {
W0918 14:52:27.762]   if [[ $1 == "master" ]]; then
W0918 14:52:27.762]     return 0
W0918 14:52:27.762]   fi
... skipping 12 lines ...
I0918 14:52:27.866] Dumping logs from master locally to '/workspace/_artifacts'
I0918 14:52:27.867] No masters found?
I0918 14:52:27.868] Dumping logs from nodes locally to '/workspace/_artifacts'
I0918 14:52:27.868] Dumping logs for nodes provided by log_dump_custom_get_instances() function
W0918 14:52:29.365] WARNING: --filter : operator evaluation is changing for consistency across Google APIs.  metadata.created-by:*zones/us-central1-a/instanceGroupManagers/gke-bootstrap-e2e-default-pool-e9736cb0-grp currently matches but will not match in the near future.  Run `gcloud topic filters` for details.
I0918 14:53:30.258] Changing logfiles to be world-readable for download
W0918 14:53:30.854] ERROR: (gcloud.compute.ssh) could not parse resource []
I0918 14:53:32.131] Changing logfiles to be world-readable for download
I0918 14:53:32.717] Changing logfiles to be world-readable for download
W0918 14:53:32.995] ERROR: (gcloud.compute.ssh) could not parse resource []
W0918 14:53:33.559] ERROR: (gcloud.compute.ssh) could not parse resource []
I0918 14:53:34.371] Changing logfiles to be world-readable for download
I0918 14:53:34.651] Changing logfiles to be world-readable for download
I0918 14:53:34.668] Changing logfiles to be world-readable for download
I0918 14:53:34.689] Changing logfiles to be world-readable for download
I0918 14:53:34.767] Changing logfiles to be world-readable for download
I0918 14:53:34.854] Changing logfiles to be world-readable for download
W0918 14:53:35.552] ERROR: (gcloud.compute.ssh) could not parse resource []
W0918 14:53:35.596] ERROR: (gcloud.compute.ssh) could not parse resource []
W0918 14:53:35.693] ERROR: (gcloud.compute.ssh) could not parse resource []
W0918 14:53:35.750] ERROR: (gcloud.compute.ssh) could not parse resource []
W0918 14:53:35.787] ERROR: (gcloud.compute.ssh) could not parse resource []
W0918 14:53:35.808] ERROR: (gcloud.compute.ssh) could not parse resource []
W0918 14:53:36.531] ERROR: (gcloud.compute.ssh) could not parse resource []
W0918 14:53:38.699] ERROR: (gcloud.compute.ssh) could not parse resource []
W0918 14:53:39.328] ERROR: (gcloud.compute.ssh) could not parse resource []
W0918 14:53:41.764] ERROR: (gcloud.compute.ssh) could not parse resource []
W0918 14:53:41.815] ERROR: (gcloud.compute.ssh) could not parse resource []
W0918 14:53:42.070] ERROR: (gcloud.compute.ssh) could not parse resource []
W0918 14:53:42.163] ERROR: (gcloud.compute.ssh) could not parse resource []
W0918 14:53:42.260] ERROR: (gcloud.compute.ssh) could not parse resource []
W0918 14:53:42.261] ERROR: (gcloud.compute.ssh) could not parse resource []
W0918 14:53:42.966] ERROR: (gcloud.compute.ssh) could not parse resource []
W0918 14:53:44.556] ERROR: (gcloud.compute.ssh) could not parse resource []
W0918 14:53:45.299] ERROR: (gcloud.compute.ssh) could not parse resource []
W0918 14:53:47.885] ERROR: (gcloud.compute.ssh) could not parse resource []
W0918 14:53:48.007] ERROR: (gcloud.compute.ssh) could not parse resource []
W0918 14:53:48.443] ERROR: (gcloud.compute.ssh) could not parse resource []
W0918 14:53:48.451] ERROR: (gcloud.compute.ssh) could not parse resource []
W0918 14:53:48.592] ERROR: (gcloud.compute.ssh) could not parse resource []
W0918 14:53:48.794] ERROR: (gcloud.compute.ssh) could not parse resource []
W0918 14:53:49.169] ERROR: (gcloud.compute.ssh) could not parse resource []
W0918 14:53:50.489] ERROR: (gcloud.compute.ssh) could not parse resource []
W0918 14:53:51.253] ERROR: (gcloud.compute.ssh) could not parse resource []
W0918 14:53:54.293] ERROR: (gcloud.compute.ssh) could not parse resource []
W0918 14:53:54.474] ERROR: (gcloud.compute.ssh) could not parse resource []
W0918 14:53:54.783] ERROR: (gcloud.compute.ssh) could not parse resource []
W0918 14:53:54.898] ERROR: (gcloud.compute.ssh) could not parse resource []
W0918 14:53:55.017] ERROR: (gcloud.compute.ssh) could not parse resource []
W0918 14:53:55.236] ERROR: (gcloud.compute.ssh) could not parse resource []
W0918 14:53:55.261] ERROR: (gcloud.compute.ssh) could not parse resource []
W0918 14:53:56.443] ERROR: (gcloud.compute.ssh) could not parse resource []
W0918 14:53:57.221] ERROR: (gcloud.compute.ssh) could not parse resource []
W0918 14:54:00.495] ERROR: (gcloud.compute.ssh) could not parse resource []
W0918 14:54:00.945] ERROR: (gcloud.compute.ssh) could not parse resource []
W0918 14:54:01.309] ERROR: (gcloud.compute.ssh) could not parse resource []
W0918 14:54:01.319] ERROR: (gcloud.compute.ssh) could not parse resource []
W0918 14:54:01.650] ERROR: (gcloud.compute.ssh) could not parse resource []
W0918 14:54:01.907] ERROR: (gcloud.compute.ssh) could not parse resource []
W0918 14:54:01.974] ERROR: (gcloud.compute.ssh) could not parse resource []
I0918 14:54:02.076] Copying 'kern.log kube-proxy.log fluentd.log node-problem-detector.log kubelet.cov docker/log kubelet.log supervisor/supervisord.log supervisor/kubelet-stdout.log supervisor/kubelet-stderr.log supervisor/docker-stdout.log supervisor/docker-stderr.log' from gke-bootstrap-e2e-default-pool-e9736cb0-ptvl
W0918 14:54:03.064] ERROR: (gcloud.compute.ssh) could not parse resource []
I0918 14:54:03.181] Copying 'kern.log kube-proxy.log fluentd.log node-problem-detector.log kubelet.cov docker/log kubelet.log supervisor/supervisord.log supervisor/kubelet-stdout.log supervisor/kubelet-stderr.log supervisor/docker-stdout.log supervisor/docker-stderr.log' from gke-bootstrap-e2e-default-pool-e9736cb0-nn7j
W0918 14:54:03.628] ERROR: (gcloud.compute.instances.get-serial-port-output) could not parse resource []
W0918 14:54:03.828] ERROR: (gcloud.compute.ssh) could not parse resource []
I0918 14:54:03.984] Copying 'kern.log kube-proxy.log fluentd.log node-problem-detector.log kubelet.cov docker/log kubelet.log supervisor/supervisord.log supervisor/kubelet-stdout.log supervisor/kubelet-stderr.log supervisor/docker-stdout.log supervisor/docker-stderr.log' from gke-bootstrap-e2e-default-pool-083691be-b94g
W0918 14:54:04.837] ERROR: (gcloud.compute.instances.get-serial-port-output) could not parse resource []
W0918 14:54:04.990] ERROR: (gcloud.compute.scp) could not parse resource []
W0918 14:54:05.261] ERROR: (gcloud.compute.instances.get-serial-port-output) could not parse resource []
W0918 14:54:06.419] ERROR: (gcloud.compute.scp) could not parse resource []
W0918 14:54:06.541] ERROR: (gcloud.compute.scp) could not parse resource []
W0918 14:54:06.875] ERROR: (gcloud.compute.ssh) could not parse resource []
I0918 14:54:06.978] Copying 'kern.log kube-proxy.log fluentd.log node-problem-detector.log kubelet.cov docker/log kubelet.log supervisor/supervisord.log supervisor/kubelet-stdout.log supervisor/kubelet-stderr.log supervisor/docker-stdout.log supervisor/docker-stderr.log' from gke-bootstrap-e2e-default-pool-4231a395-3bq2
W0918 14:54:07.510] ERROR: (gcloud.compute.ssh) could not parse resource []
I0918 14:54:07.667] Copying 'kern.log kube-proxy.log fluentd.log node-problem-detector.log kubelet.cov docker/log kubelet.log supervisor/supervisord.log supervisor/kubelet-stdout.log supervisor/kubelet-stderr.log supervisor/docker-stdout.log supervisor/docker-stderr.log' from gke-bootstrap-e2e-default-pool-4231a395-mj7s
W0918 14:54:08.105] ERROR: (gcloud.compute.ssh) could not parse resource []
I0918 14:54:08.223] Copying 'kern.log kube-proxy.log fluentd.log node-problem-detector.log kubelet.cov docker/log kubelet.log supervisor/supervisord.log supervisor/kubelet-stdout.log supervisor/kubelet-stderr.log supervisor/docker-stdout.log supervisor/docker-stderr.log' from gke-bootstrap-e2e-default-pool-083691be-s0tn
W0918 14:54:08.615] ERROR: (gcloud.compute.ssh) could not parse resource []
I0918 14:54:08.722] Copying 'kern.log kube-proxy.log fluentd.log node-problem-detector.log kubelet.cov docker/log kubelet.log supervisor/supervisord.log supervisor/kubelet-stdout.log supervisor/kubelet-stderr.log supervisor/docker-stdout.log supervisor/docker-stderr.log' from gke-bootstrap-e2e-default-pool-4231a395-hsq1
W0918 14:54:08.823] ERROR: (gcloud.compute.ssh) could not parse resource []
W0918 14:54:08.879] ERROR: (gcloud.compute.ssh) could not parse resource []
W0918 14:54:08.883] ERROR: (gcloud.compute.instances.get-serial-port-output) could not parse resource []
I0918 14:54:08.995] Copying 'kern.log kube-proxy.log fluentd.log node-problem-detector.log kubelet.cov docker/log kubelet.log supervisor/supervisord.log supervisor/kubelet-stdout.log supervisor/kubelet-stderr.log supervisor/docker-stdout.log supervisor/docker-stderr.log' from gke-bootstrap-e2e-default-pool-083691be-mtkx
I0918 14:54:09.030] Copying 'kern.log kube-proxy.log fluentd.log node-problem-detector.log kubelet.cov docker/log kubelet.log supervisor/supervisord.log supervisor/kubelet-stdout.log supervisor/kubelet-stderr.log supervisor/docker-stdout.log supervisor/docker-stderr.log' from gke-bootstrap-e2e-default-pool-e9736cb0-x335
W0918 14:54:09.330] ERROR: (gcloud.compute.instances.get-serial-port-output) could not parse resource []
W0918 14:54:09.660] ERROR: (gcloud.compute.instances.get-serial-port-output) could not parse resource []
W0918 14:54:10.285] ERROR: (gcloud.compute.instances.get-serial-port-output) could not parse resource []
W0918 14:54:10.628] ERROR: (gcloud.compute.instances.get-serial-port-output) could not parse resource []
W0918 14:54:10.717] ERROR: (gcloud.compute.scp) could not parse resource []
W0918 14:54:10.790] ERROR: (gcloud.compute.instances.get-serial-port-output) could not parse resource []
W0918 14:54:11.255] ERROR: (gcloud.compute.scp) could not parse resource []
W0918 14:54:11.922] ERROR: (gcloud.compute.scp) could not parse resource []
W0918 14:54:12.390] ERROR: (gcloud.compute.scp) could not parse resource []
W0918 14:54:12.480] ERROR: (gcloud.compute.scp) could not parse resource []
W0918 14:54:12.506] ERROR: (gcloud.compute.scp) could not parse resource []
W0918 14:54:12.642] Project: k8s-jkns-gke-ubuntu-serial
W0918 14:54:12.643] Network Project: k8s-jkns-gke-ubuntu-serial
W0918 14:54:12.643] Zone: 
W0918 14:54:16.485] INSTANCE_GROUPS=
W0918 14:54:16.485] NODE_NAMES=
W0918 14:54:16.485] 2019/09/18 14:54:16 process.go:155: Step 'bash -c 
... skipping 21 lines ...
W0918 15:00:05.471] 2019/09/18 15:00:05 process.go:155: Step 'gcloud compute firewall-rules describe e2e-ports-e9736cb0 --project=k8s-jkns-gke-ubuntu-serial --format=value(name)' finished in 901.758402ms
W0918 15:00:05.471] 2019/09/18 15:00:05 gke.go:631: Found no rules for firewall 'e2e-ports-e9736cb0', assuming resources are clean
W0918 15:00:06.331] 2019/09/18 15:00:06 process.go:153: Running: gcloud compute networks delete -q bootstrap-e2e --project=k8s-jkns-gke-ubuntu-serial
W0918 15:01:05.301] Deleted [https://www.googleapis.com/compute/v1/projects/k8s-jkns-gke-ubuntu-serial/global/networks/bootstrap-e2e].
W0918 15:01:05.397] 2019/09/18 15:01:05 process.go:155: Step 'gcloud compute networks delete -q bootstrap-e2e --project=k8s-jkns-gke-ubuntu-serial' finished in 59.064881958s
W0918 15:01:05.397] 2019/09/18 15:01:05 process.go:96: Saved XML output to /workspace/_artifacts/junit_runner.xml.
W0918 15:01:07.675] 2019/09/18 15:01:07 main.go:319: Something went wrong: starting e2e cluster: error creating cluster: error during gcloud container clusters create --quiet --project=k8s-jkns-gke-ubuntu-serial --region=us-central1 --machine-type=n1-standard-2 --image-type=gci --num-nodes=3 --network=bootstrap-e2e --cluster-version=1.17.0-alpha.0.1524+9243fcdd656bc8 bootstrap-e2e: exit status 1
W0918 15:01:07.675] Traceback (most recent call last):
W0918 15:01:07.675]   File "/workspace/./test-infra/jenkins/../scenarios/kubernetes_e2e.py", line 778, in <module>
W0918 15:01:07.675]     main(parse_args())
W0918 15:01:07.675]   File "/workspace/./test-infra/jenkins/../scenarios/kubernetes_e2e.py", line 626, in main
W0918 15:01:07.675]     mode.start(runner_args)
W0918 15:01:07.676]   File "/workspace/./test-infra/jenkins/../scenarios/kubernetes_e2e.py", line 262, in start
W0918 15:01:07.676]     check_env(env, self.command, *args)
W0918 15:01:07.676]   File "/workspace/./test-infra/jenkins/../scenarios/kubernetes_e2e.py", line 111, in check_env
W0918 15:01:07.676]     subprocess.check_call(cmd, env=env)
W0918 15:01:07.676]   File "/usr/lib/python2.7/subprocess.py", line 186, in check_call
W0918 15:01:07.676]     raise CalledProcessError(retcode, cmd)
W0918 15:01:07.677] subprocess.CalledProcessError: Command '('kubetest', '--dump=/workspace/_artifacts', '--gcp-service-account=/etc/service-account/service-account.json', '--up', '--down', '--test', '--deployment=gke', '--provider=gke', '--cluster=bootstrap-e2e', '--gcp-network=bootstrap-e2e', '--check-leaked-resources', '--extract=ci/latest', '--gcp-cloud-sdk=gs://cloud-sdk-testing/ci/staging', '--gcp-node-image=gci', '--gcp-region=us-central1', '--ginkgo-parallel', '--gke-environment=test', '--test_args=--gce-multizone=true --gce-multimaster=true --ginkgo.focus=\\[Slow\\] --ginkgo.skip=\\[Serial\\]|\\[Disruptive\\]|\\[Flaky\\]|\\[Feature:.+\\] --minStartupPods=8', '--timeout=150m')' returned non-zero exit status 1
E0918 15:01:07.687] Command failed
I0918 15:01:07.687] process 259 exited with code 1 after 21.7m
E0918 15:01:07.687] FAIL: ci-kubernetes-e2e-gke-regional-slow
I0918 15:01:07.687] Call:  gcloud auth activate-service-account --key-file=/etc/service-account/service-account.json
W0918 15:01:08.203] Activated service account credentials for: [pr-kubekins@kubernetes-jenkins-pull.iam.gserviceaccount.com]
I0918 15:01:08.258] process 3784 exited with code 0 after 0.0m
I0918 15:01:08.259] Call:  gcloud config get-value account
I0918 15:01:08.563] process 3796 exited with code 0 after 0.0m
I0918 15:01:08.563] Will upload results to gs://kubernetes-jenkins/logs using pr-kubekins@kubernetes-jenkins-pull.iam.gserviceaccount.com
I0918 15:01:08.563] Upload result and artifacts...
I0918 15:01:08.563] Gubernator results at https://gubernator.k8s.io/build/kubernetes-jenkins/logs/ci-kubernetes-e2e-gke-regional-slow/1174332041781579776
I0918 15:01:08.564] Call:  gsutil ls gs://kubernetes-jenkins/logs/ci-kubernetes-e2e-gke-regional-slow/1174332041781579776/artifacts
W0918 15:01:09.649] CommandException: One or more URLs matched no objects.
E0918 15:01:09.787] Command failed
I0918 15:01:09.787] process 3808 exited with code 1 after 0.0m
W0918 15:01:09.787] Remote dir gs://kubernetes-jenkins/logs/ci-kubernetes-e2e-gke-regional-slow/1174332041781579776/artifacts not exist yet
I0918 15:01:09.788] Call:  gsutil -m -q -o GSUtil:use_magicfile=True cp -r -c -z log,txt,xml /workspace/_artifacts gs://kubernetes-jenkins/logs/ci-kubernetes-e2e-gke-regional-slow/1174332041781579776/artifacts
I0918 15:01:11.966] process 3950 exited with code 0 after 0.0m
I0918 15:01:11.967] Call:  git rev-parse HEAD
W0918 15:01:11.971] fatal: Not a git repository (or any of the parent directories): .git
E0918 15:01:11.971] Command failed
I0918 15:01:11.972] process 4501 exited with code 128 after 0.0m
I0918 15:01:11.972] Call:  git rev-parse HEAD
I0918 15:01:11.976] process 4502 exited with code 0 after 0.0m
I0918 15:01:11.976] Call:  gsutil stat gs://kubernetes-jenkins/logs/ci-kubernetes-e2e-gke-regional-slow/jobResultsCache.json
I0918 15:01:13.130] process 4503 exited with code 0 after 0.0m
I0918 15:01:13.131] Call:  gsutil -q cat 'gs://kubernetes-jenkins/logs/ci-kubernetes-e2e-gke-regional-slow/jobResultsCache.json#1568815146575648'
... skipping 8 lines ...