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 12:37
Elapsed21m36s
Revision
Buildergke-prow-ssd-pool-1a225945-vjcb
links{u'resultstore': {u'url': u'https://source.cloud.google.com/results/invocations/cd457527-53b0-4776-a104-99d913da0c6f/targets/test'}}
podf4d0ca48-da10-11e9-9368-d2ad95f0993d
resultstorehttps://source.cloud.google.com/results/invocations/cd457527-53b0-4776-a104-99d913da0c6f/targets/test
infra-commit2f64091d1
job-versionv1.17.0-alpha.0.1521+b8d8f1a35e4d3b
podf4d0ca48-da10-11e9-9368-d2ad95f0993d
revisionv1.17.0-alpha.0.1521+b8d8f1a35e4d3b

Test Failures


Up 12m13s

error creating cluster: error during gcloud container clusters create --quiet --project=k8s-jkns-e2e-gci-gke-alpha --region=us-central1 --machine-type=n1-standard-2 --image-type=gci --num-nodes=3 --network=bootstrap-e2e --cluster-version=1.17.0-alpha.0.1521+b8d8f1a35e4d3b 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 12:37:23.068] process 45 exited with code 0 after 0.0m
I0918 12:37:23.069] Will upload results to gs://kubernetes-jenkins/logs using pr-kubekins@kubernetes-jenkins-pull.iam.gserviceaccount.com
I0918 12:37:23.069] Root: /workspace
I0918 12:37:23.069] cd to /workspace
I0918 12:37:23.069] Configure environment...
I0918 12:37:23.069] Call:  git show -s --format=format:%ct HEAD
W0918 12:37:23.072] fatal: Not a git repository (or any of the parent directories): .git
I0918 12:37:23.073] process 57 exited with code 128 after 0.0m
W0918 12:37:23.073] Unable to print commit date for HEAD
I0918 12:37:23.074] Call:  gcloud auth activate-service-account --key-file=/etc/service-account/service-account.json
W0918 12:37:23.553] Activated service account credentials for: [pr-kubekins@kubernetes-jenkins-pull.iam.gserviceaccount.com]
I0918 12:37:23.896] process 58 exited with code 0 after 0.0m
I0918 12:37:23.896] Call:  gcloud config get-value account
... skipping 419 lines ...
W0918 12:39:19.974] 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 12:39:19.975] 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 12:39:19.975] WARNING: Your Pod address range (`--cluster-ipv4-cidr`) can accommodate at most 1008 node(s). 
W0918 12:39:19.976] 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 12:39:24.447] Creating cluster bootstrap-e2e in us-central1...
W0918 12:50:53.396] ..............................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................................done.
W0918 12:50:53.458] ERROR: (gcloud.container.clusters.create) Operation [<Operation
W0918 12:50:53.459]  clusterConditions: []
W0918 12:50:53.459]  detail: u'All cluster resources were brought up, but the cluster API is reporting that: component "kube-apiserver" from endpoint "gke-408954baeeaf17e08a36-e843" is unhealthy.'
W0918 12:50:53.459]  endTime: u'2019-09-18T12:50:49.078334584Z'
W0918 12:50:53.459]  name: u'operation-1568810364292-3b28f85a'
W0918 12:50:53.460]  nodepoolConditions: []
W0918 12:50:53.460]  operationType: OperationTypeValueValuesEnum(CREATE_CLUSTER, 1)
W0918 12:50:53.460]  selfLink: u'https://test-container.sandbox.googleapis.com/v1/projects/268325597942/locations/us-central1/operations/operation-1568810364292-3b28f85a'
W0918 12:50:53.460]  startTime: u'2019-09-18T12:39:24.292810012Z'
W0918 12:50:53.461]  status: StatusValueValuesEnum(DONE, 3)
W0918 12:50:53.461]  statusMessage: u'All cluster resources were brought up, but the cluster API is reporting that: component "kube-apiserver" from endpoint "gke-408954baeeaf17e08a36-e843" is unhealthy.'
W0918 12:50:53.461]  targetLink: u'https://test-container.sandbox.googleapis.com/v1/projects/268325597942/locations/us-central1/clusters/bootstrap-e2e'
W0918 12:50:53.462]  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-408954baeeaf17e08a36-e843" is unhealthy.
W0918 12:50:53.503] 2019/09/18 12:50:53 process.go:155: Step 'gcloud container clusters create --quiet --project=k8s-jkns-e2e-gci-gke-alpha --region=us-central1 --machine-type=n1-standard-2 --image-type=gci --num-nodes=3 --network=bootstrap-e2e --cluster-version=1.17.0-alpha.0.1521+b8d8f1a35e4d3b bootstrap-e2e' finished in 11m33.937054949s
W0918 12:50:53.989] 2019/09/18 12:50:53 process.go:153: Running: bash -c 
W0918 12:50:53.990] function log_dump_custom_get_instances() {
W0918 12:50:53.990]   if [[ $1 == "master" ]]; then
W0918 12:50:53.991]     return 0
W0918 12:50:53.991]   fi
... skipping 13 lines ...
I0918 12:50:54.096] No masters found?
I0918 12:50:54.096] Dumping logs from nodes locally to '/workspace/_artifacts'
I0918 12:50:54.096] Dumping logs for nodes provided by log_dump_custom_get_instances() function
W0918 12:50:55.427] WARNING: --filter : operator evaluation is changing for consistency across Google APIs.  metadata.created-by:*zones/us-central1-a/instanceGroupManagers/gke-bootstrap-e2e-default-pool-9a737058-grp currently matches but will not match in the near future.  Run `gcloud topic filters` for details.
I0918 12:51:54.597] Changing logfiles to be world-readable for download
I0918 12:51:54.710] Changing logfiles to be world-readable for download
W0918 12:51:55.158] ERROR: (gcloud.compute.ssh) could not parse resource []
W0918 12:51:55.272] ERROR: (gcloud.compute.ssh) could not parse resource []
I0918 12:51:56.437] Changing logfiles to be world-readable for download
W0918 12:51:56.978] ERROR: (gcloud.compute.ssh) could not parse resource []
I0918 12:51:57.500] Changing logfiles to be world-readable for download
I0918 12:51:57.618] Changing logfiles to be world-readable for download
I0918 12:51:57.692] Changing logfiles to be world-readable for download
I0918 12:51:57.837] Changing logfiles to be world-readable for download
I0918 12:51:57.971] Changing logfiles to be world-readable for download
I0918 12:51:58.029] Changing logfiles to be world-readable for download
W0918 12:51:58.447] ERROR: (gcloud.compute.ssh) could not parse resource []
W0918 12:51:58.480] ERROR: (gcloud.compute.ssh) could not parse resource []
W0918 12:51:58.514] ERROR: (gcloud.compute.ssh) could not parse resource []
W0918 12:51:58.757] ERROR: (gcloud.compute.ssh) could not parse resource []
W0918 12:51:58.777] ERROR: (gcloud.compute.ssh) could not parse resource []
W0918 12:51:58.926] ERROR: (gcloud.compute.ssh) could not parse resource []
W0918 12:52:00.823] ERROR: (gcloud.compute.ssh) could not parse resource []
W0918 12:52:00.951] ERROR: (gcloud.compute.ssh) could not parse resource []
W0918 12:52:02.550] ERROR: (gcloud.compute.ssh) could not parse resource []
W0918 12:52:04.158] ERROR: (gcloud.compute.ssh) could not parse resource []
W0918 12:52:04.262] ERROR: (gcloud.compute.ssh) could not parse resource []
W0918 12:52:04.352] ERROR: (gcloud.compute.ssh) could not parse resource []
W0918 12:52:04.487] ERROR: (gcloud.compute.ssh) could not parse resource []
W0918 12:52:04.591] ERROR: (gcloud.compute.ssh) could not parse resource []
W0918 12:52:04.686] ERROR: (gcloud.compute.ssh) could not parse resource []
W0918 12:52:06.421] ERROR: (gcloud.compute.ssh) could not parse resource []
W0918 12:52:06.541] ERROR: (gcloud.compute.ssh) could not parse resource []
W0918 12:52:08.166] ERROR: (gcloud.compute.ssh) could not parse resource []
W0918 12:52:10.059] ERROR: (gcloud.compute.ssh) could not parse resource []
W0918 12:52:10.109] ERROR: (gcloud.compute.ssh) could not parse resource []
W0918 12:52:10.321] ERROR: (gcloud.compute.ssh) could not parse resource []
W0918 12:52:10.395] ERROR: (gcloud.compute.ssh) could not parse resource []
W0918 12:52:10.445] ERROR: (gcloud.compute.ssh) could not parse resource []
W0918 12:52:10.570] ERROR: (gcloud.compute.ssh) could not parse resource []
W0918 12:52:11.987] ERROR: (gcloud.compute.ssh) could not parse resource []
W0918 12:52:12.113] ERROR: (gcloud.compute.ssh) could not parse resource []
W0918 12:52:13.718] ERROR: (gcloud.compute.ssh) could not parse resource []
W0918 12:52:15.803] ERROR: (gcloud.compute.ssh) could not parse resource []
W0918 12:52:15.962] ERROR: (gcloud.compute.ssh) could not parse resource []
W0918 12:52:16.071] ERROR: (gcloud.compute.ssh) could not parse resource []
W0918 12:52:16.148] ERROR: (gcloud.compute.ssh) could not parse resource []
W0918 12:52:16.202] ERROR: (gcloud.compute.ssh) could not parse resource []
W0918 12:52:16.311] ERROR: (gcloud.compute.ssh) could not parse resource []
W0918 12:52:17.552] ERROR: (gcloud.compute.ssh) could not parse resource []
W0918 12:52:17.664] ERROR: (gcloud.compute.ssh) could not parse resource []
W0918 12:52:19.316] ERROR: (gcloud.compute.ssh) could not parse resource []
W0918 12:52:21.574] ERROR: (gcloud.compute.ssh) could not parse resource []
W0918 12:52:21.826] ERROR: (gcloud.compute.ssh) could not parse resource []
W0918 12:52:21.829] ERROR: (gcloud.compute.ssh) could not parse resource []
W0918 12:52:21.938] ERROR: (gcloud.compute.ssh) could not parse resource []
W0918 12:52:22.005] ERROR: (gcloud.compute.ssh) could not parse resource []
W0918 12:52:22.065] ERROR: (gcloud.compute.ssh) could not parse resource []
W0918 12:52:23.108] ERROR: (gcloud.compute.ssh) could not parse resource []
I0918 12:52:23.209] 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-a84aa14c-0qg5
I0918 12:52:23.297] 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-a84aa14c-h2b6
W0918 12:52:23.398] ERROR: (gcloud.compute.ssh) could not parse resource []
W0918 12:52:23.716] ERROR: (gcloud.compute.instances.get-serial-port-output) could not parse resource []
W0918 12:52:23.823] ERROR: (gcloud.compute.instances.get-serial-port-output) could not parse resource []
W0918 12:52:24.298] ERROR: (gcloud.compute.scp) could not parse resource []
W0918 12:52:24.401] ERROR: (gcloud.compute.scp) could not parse resource []
W0918 12:52:24.877] ERROR: (gcloud.compute.ssh) could not parse resource []
I0918 12:52:24.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-a84aa14c-w93b
W0918 12:52:25.430] ERROR: (gcloud.compute.instances.get-serial-port-output) could not parse resource []
W0918 12:52:25.970] ERROR: (gcloud.compute.scp) could not parse resource []
W0918 12:52:27.282] ERROR: (gcloud.compute.ssh) could not parse resource []
I0918 12:52:27.384] 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-014207a6-9djq
W0918 12:52:27.663] ERROR: (gcloud.compute.ssh) could not parse resource []
W0918 12:52:27.665] ERROR: (gcloud.compute.ssh) could not parse resource []
I0918 12:52:27.765] 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-9a737058-jjhj
I0918 12:52:27.766] 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-9a737058-sp6d
W0918 12:52:27.867] ERROR: (gcloud.compute.ssh) could not parse resource []
W0918 12:52:27.868] ERROR: (gcloud.compute.ssh) could not parse resource []
W0918 12:52:27.959] ERROR: (gcloud.compute.ssh) could not parse resource []
I0918 12:52:28.060] 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-9a737058-11bm
I0918 12:52:28.060] 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-014207a6-8frn
I0918 12:52:28.063] 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-014207a6-1mh8
W0918 12:52:28.221] ERROR: (gcloud.compute.instances.get-serial-port-output) could not parse resource []
W0918 12:52:28.664] ERROR: (gcloud.compute.instances.get-serial-port-output) could not parse resource []
W0918 12:52:28.718] ERROR: (gcloud.compute.instances.get-serial-port-output) could not parse resource []
W0918 12:52:28.859] ERROR: (gcloud.compute.instances.get-serial-port-output) could not parse resource []
W0918 12:52:28.899] ERROR: (gcloud.compute.instances.get-serial-port-output) could not parse resource []
W0918 12:52:29.030] ERROR: (gcloud.compute.instances.get-serial-port-output) could not parse resource []
W0918 12:52:29.206] ERROR: (gcloud.compute.scp) could not parse resource []
W0918 12:52:29.600] ERROR: (gcloud.compute.scp) could not parse resource []
W0918 12:52:29.664] ERROR: (gcloud.compute.scp) could not parse resource []
W0918 12:52:29.753] ERROR: (gcloud.compute.scp) could not parse resource []
W0918 12:52:29.827] ERROR: (gcloud.compute.scp) could not parse resource []
W0918 12:52:29.951] ERROR: (gcloud.compute.scp) could not parse resource []
W0918 12:52:30.028] Project: k8s-jkns-e2e-gci-gke-alpha
W0918 12:52:30.028] Network Project: k8s-jkns-e2e-gci-gke-alpha
W0918 12:52:30.028] Zone: 
W0918 12:52:32.798] INSTANCE_GROUPS=
W0918 12:52:32.799] NODE_NAMES=
W0918 12:52:32.799] 2019/09/18 12:52:32 process.go:155: Step 'bash -c 
... skipping 21 lines ...
W0918 12:57:31.046] 2019/09/18 12:57:31 process.go:155: Step 'gcloud compute firewall-rules describe e2e-ports-9a737058 --project=k8s-jkns-e2e-gci-gke-alpha --format=value(name)' finished in 771.60369ms
W0918 12:57:31.046] 2019/09/18 12:57:31 gke.go:631: Found no rules for firewall 'e2e-ports-9a737058', assuming resources are clean
W0918 12:57:31.763] 2019/09/18 12:57:31 process.go:153: Running: gcloud compute networks delete -q bootstrap-e2e --project=k8s-jkns-e2e-gci-gke-alpha
W0918 12:58:46.663] Deleted [https://www.googleapis.com/compute/v1/projects/k8s-jkns-e2e-gci-gke-alpha/global/networks/bootstrap-e2e].
W0918 12:58:46.751] 2019/09/18 12:58:46 process.go:155: Step 'gcloud compute networks delete -q bootstrap-e2e --project=k8s-jkns-e2e-gci-gke-alpha' finished in 1m14.988563423s
W0918 12:58:46.752] 2019/09/18 12:58:46 process.go:96: Saved XML output to /workspace/_artifacts/junit_runner.xml.
W0918 12:58:51.065] 2019/09/18 12:58:51 main.go:319: Something went wrong: starting e2e cluster: error creating cluster: error during gcloud container clusters create --quiet --project=k8s-jkns-e2e-gci-gke-alpha --region=us-central1 --machine-type=n1-standard-2 --image-type=gci --num-nodes=3 --network=bootstrap-e2e --cluster-version=1.17.0-alpha.0.1521+b8d8f1a35e4d3b bootstrap-e2e: exit status 1
W0918 12:58:51.065] Traceback (most recent call last):
W0918 12:58:51.066]   File "/workspace/./test-infra/jenkins/../scenarios/kubernetes_e2e.py", line 778, in <module>
W0918 12:58:51.066]     main(parse_args())
W0918 12:58:51.066]   File "/workspace/./test-infra/jenkins/../scenarios/kubernetes_e2e.py", line 626, in main
W0918 12:58:51.066]     mode.start(runner_args)
W0918 12:58:51.067]   File "/workspace/./test-infra/jenkins/../scenarios/kubernetes_e2e.py", line 262, in start
W0918 12:58:51.067]     check_env(env, self.command, *args)
W0918 12:58:51.067]   File "/workspace/./test-infra/jenkins/../scenarios/kubernetes_e2e.py", line 111, in check_env
W0918 12:58:51.067]     subprocess.check_call(cmd, env=env)
W0918 12:58:51.067]   File "/usr/lib/python2.7/subprocess.py", line 186, in check_call
W0918 12:58:51.068]     raise CalledProcessError(retcode, cmd)
W0918 12:58:51.068] 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 12:58:51.074] Command failed
I0918 12:58:51.075] process 260 exited with code 1 after 21.4m
E0918 12:58:51.075] FAIL: ci-kubernetes-e2e-gke-regional-slow
I0918 12:58:51.075] Call:  gcloud auth activate-service-account --key-file=/etc/service-account/service-account.json
W0918 12:58:51.539] Activated service account credentials for: [pr-kubekins@kubernetes-jenkins-pull.iam.gserviceaccount.com]
I0918 12:58:51.583] process 3771 exited with code 0 after 0.0m
I0918 12:58:51.583] Call:  gcloud config get-value account
I0918 12:58:51.857] process 3783 exited with code 0 after 0.0m
I0918 12:58:51.858] Will upload results to gs://kubernetes-jenkins/logs using pr-kubekins@kubernetes-jenkins-pull.iam.gserviceaccount.com
I0918 12:58:51.858] Upload result and artifacts...
I0918 12:58:51.858] Gubernator results at https://gubernator.k8s.io/build/kubernetes-jenkins/logs/ci-kubernetes-e2e-gke-regional-slow/1174301338515804160
I0918 12:58:51.858] Call:  gsutil ls gs://kubernetes-jenkins/logs/ci-kubernetes-e2e-gke-regional-slow/1174301338515804160/artifacts
W0918 12:58:52.871] CommandException: One or more URLs matched no objects.
E0918 12:58:52.979] Command failed
I0918 12:58:52.979] process 3795 exited with code 1 after 0.0m
W0918 12:58:52.980] Remote dir gs://kubernetes-jenkins/logs/ci-kubernetes-e2e-gke-regional-slow/1174301338515804160/artifacts not exist yet
I0918 12:58:52.980] 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/1174301338515804160/artifacts
I0918 12:58:54.852] process 3937 exited with code 0 after 0.0m
I0918 12:58:54.853] Call:  git rev-parse HEAD
W0918 12:58:54.857] fatal: Not a git repository (or any of the parent directories): .git
E0918 12:58:54.857] Command failed
I0918 12:58:54.858] process 4488 exited with code 128 after 0.0m
I0918 12:58:54.858] Call:  git rev-parse HEAD
I0918 12:58:54.862] process 4489 exited with code 0 after 0.0m
I0918 12:58:54.863] Call:  gsutil stat gs://kubernetes-jenkins/logs/ci-kubernetes-e2e-gke-regional-slow/jobResultsCache.json
I0918 12:58:55.945] process 4490 exited with code 0 after 0.0m
I0918 12:58:55.946] Call:  gsutil -q cat 'gs://kubernetes-jenkins/logs/ci-kubernetes-e2e-gke-regional-slow/jobResultsCache.json#1568806743439153'
... skipping 8 lines ...