From 0c94eef7be75aa110ddbe6d6b58a0de39c83b713 Mon Sep 17 00:00:00 2001 From: Ian Wienand Date: Thu, 28 May 2020 16:41:01 +1000 Subject: [PATCH] Revert "dib-lint: use yamllint to parse YAML files" This reverts commit 6ee2995214ee5512c64244ce0ccc7fda639c2d36 and e85c2a6f035a016f80de3d5aebc026f28dfb6bc1. I missed that if you pip install and then run dib-lint, it's not going to pick up the .yamllint file shipped here. Thus it gives spurious errors. The reason for this was simply better duplicate key detection in yaml files, which caused us problems with the kernel installs. However, at this point it seems just the old "does it load" test from pyyaml will be enough. Change-Id: I87a9fc9bb119cfeffad48fc0fa0df31f0181825d --- .yamllint | 20 ------------------- bin/dib-lint | 12 ++++++++++- .../dib-run-parts/package-installs.yaml | 2 +- .../elements/growroot/package-installs.yaml | 2 +- .../yum-minimal/package-installs.yaml | 2 +- .../notes/yamllint-c07fd31780ec8d10.yaml | 5 ----- requirements.txt | 3 +-- test-requirements.txt | 2 ++ 8 files changed, 17 insertions(+), 31 deletions(-) delete mode 100644 .yamllint delete mode 100644 releasenotes/notes/yamllint-c07fd31780ec8d10.yaml diff --git a/.yamllint b/.yamllint deleted file mode 100644 index e31949dc..00000000 --- a/.yamllint +++ /dev/null @@ -1,20 +0,0 @@ -extends: default -ignore: | - .tox - -rules: - braces: - max-spaces-inside: 1 - level: error - brackets: - max-spaces-inside: 1 - level: error - document-start: disable - empty-lines: - max: 1 - max-end: 2 - indentation: - level: error - indent-sequences: consistent - line-length: disable - truthy: false diff --git a/bin/dib-lint b/bin/dib-lint index 5048bc9b..5cdeb0c2 100755 --- a/bin/dib-lint +++ b/bin/dib-lint @@ -276,7 +276,17 @@ fi echo "Checking YAML parsing..." for i in $(find $ELEMENTS_DIR -type f -name '*.yaml'); do echo "Parsing $i" - yamllint -s -f parsable $i + py_check=" +import yaml +import sys +try: + objs = yaml.safe_load(open('$i')) +except yaml.parser.ParserError: + sys.exit(1) +" + if ! python -c "$py_check"; then + error "$i is not a valid YAML file" + fi done echo "Checking pkg-map files..." for i in $(find $ELEMENTS_DIR -type f \ diff --git a/diskimage_builder/elements/dib-run-parts/package-installs.yaml b/diskimage_builder/elements/dib-run-parts/package-installs.yaml index 327cbd24..fbeb930b 100644 --- a/diskimage_builder/elements/dib-run-parts/package-installs.yaml +++ b/diskimage_builder/elements/dib-run-parts/package-installs.yaml @@ -1 +1 @@ -dib-utils: +dib-utils: \ No newline at end of file diff --git a/diskimage_builder/elements/growroot/package-installs.yaml b/diskimage_builder/elements/growroot/package-installs.yaml index a427345c..3482d8f6 100644 --- a/diskimage_builder/elements/growroot/package-installs.yaml +++ b/diskimage_builder/elements/growroot/package-installs.yaml @@ -1,2 +1,2 @@ growpart: -e2fsprogs: +e2fsprogs: \ No newline at end of file diff --git a/diskimage_builder/elements/yum-minimal/package-installs.yaml b/diskimage_builder/elements/yum-minimal/package-installs.yaml index 3ed6955e..1b66417c 100644 --- a/diskimage_builder/elements/yum-minimal/package-installs.yaml +++ b/diskimage_builder/elements/yum-minimal/package-installs.yaml @@ -17,4 +17,4 @@ linux-firmware-whence: # mirrors the default packages installed in upstream cloud images # to facilitate a basic network. NetworkManager: -dhcp-client: +dhcp-client: \ No newline at end of file diff --git a/releasenotes/notes/yamllint-c07fd31780ec8d10.yaml b/releasenotes/notes/yamllint-c07fd31780ec8d10.yaml deleted file mode 100644 index 6033750b..00000000 --- a/releasenotes/notes/yamllint-c07fd31780ec8d10.yaml +++ /dev/null @@ -1,5 +0,0 @@ ---- -fixes: - - | - A dependency on ``yamllint`` was added because it is now - required by dib-lint. diff --git a/requirements.txt b/requirements.txt index b8e8eafa..f4db1184 100644 --- a/requirements.txt +++ b/requirements.txt @@ -8,6 +8,5 @@ pbr!=2.1.0,>=2.0.0 # Apache-2.0 PyYAML>=3.12 # MIT six>=1.10.0 # MIT stevedore>=1.20.0 # Apache-2.0 -# NOTE(ianw) in here because dib-lint uses flake8 and yamllint +# NOTE(ianw) in here because dib-lint uses flake8 flake8<4.0.0,>=3.6.0 # MIT -yamllint>=1.23.0 diff --git a/test-requirements.txt b/test-requirements.txt index 560a57ad..31ac5c98 100644 --- a/test-requirements.txt +++ b/test-requirements.txt @@ -12,3 +12,5 @@ testrepository>=0.0.18 # Apache-2.0/BSD testtools>=2.2.0 # MIT coverage!=4.4,>=4.0 # Apache-2.0 + +yamllint>=1.23.0