From 29ea44025b18fb71cc86aec83daf69ab40fe897f Mon Sep 17 00:00:00 2001 From: Ralph Bean Date: Thu, 2 Mar 2017 13:00:34 -0500 Subject: [PATCH] Some more temporary bootstrapping utilities. --- bootstrap/bootstrap-master-1.json | 12 +++++++++++ bootstrap/delete-from-pdc.py | 18 +++++++++++++++++ bootstrap/fix-json.py | 27 +++++++++++++++++++++++++ bootstrap/fixed-bootstrap-master-1.json | 12 +++++++++++ bootstrap/print-bootstrapped.py | 9 +++++++++ 5 files changed, 78 insertions(+) create mode 100644 bootstrap/bootstrap-master-1.json create mode 100644 bootstrap/delete-from-pdc.py create mode 100644 bootstrap/fix-json.py create mode 100644 bootstrap/fixed-bootstrap-master-1.json create mode 100644 bootstrap/print-bootstrapped.py diff --git a/bootstrap/bootstrap-master-1.json b/bootstrap/bootstrap-master-1.json new file mode 100644 index 00000000..1a646a2d --- /dev/null +++ b/bootstrap/bootstrap-master-1.json @@ -0,0 +1,12 @@ +{ + "variant_uid": "bootstrap-master-1", + "variant_release": "1", + "variant_name": "bootstrap", + "build_deps": [], + "variant_type": "module", + "modulemd": "document: modulemd\r\nversion: 1\r\ndata:\r\n name: bootstrap\r\n stream: master\r\n version: 1\r\n summary: A fake bootstrap module, used to bootstrap the infrastructure.\r\n description: ...\r\n xmd:\r\n mbs_commit: ae993ba84f4bce554471382ccba917ef16265f11\r\n mbs_buildrequires:\r\n bootstrap:\r\n ref: ae993ba84f4bce554471382ccba917ef16265f11\r\n stream: master\r\n version: 1\r\n profiles:\r\n buildroot:\r\n rpms:\r\n - bash\r\n - bzip2\r\n - coreutils\r\n - cpio\r\n - diffutils\r\n - fedora-release\r\n - findutils\r\n - gawk\r\n - gcc\r\n - gcc-c++\r\n - grep\r\n - gzip\r\n - info\r\n - make\r\n - patch\r\n - redhat-rpm-config\r\n - rpm-build\r\n - sed\r\n - shadow-utils\r\n - tar\r\n - unzip\r\n - util-linux\r\n - which\r\n - xz\r\n srpm-buildroot:\r\n rpms:\r\n - bash\r\n - fedora-release\r\n - fedpkg-minimal\r\n - gnupg2\r\n - redhat-rpm-config\r\n - rpm-build\r\n - shadow-utils", + "koji_tag": "f26-modularity", + "runtime_deps": [], + "variant_id": "bootstrap", + "variant_version": "master" +} diff --git a/bootstrap/delete-from-pdc.py b/bootstrap/delete-from-pdc.py new file mode 100644 index 00000000..d4479106 --- /dev/null +++ b/bootstrap/delete-from-pdc.py @@ -0,0 +1,18 @@ +import json +import requests +import os +import sys + +import pdc_client + +servername, token = sys.argv[-2], sys.argv[-1] + +if os.path.basename(__file__) in (servername, token,): + raise ValueError("Provide a PDC server name defined in /etc/pdc.d/ and a token") + +print("Connecting to PDC server %r with token %r" % (servername, token)) +pdc = pdc_client.PDCClient(servername, token=token) + +print("Submitting DELETE.") +del pdc['unreleasedvariants']['bootstrap'] +print("Done.") diff --git a/bootstrap/fix-json.py b/bootstrap/fix-json.py new file mode 100644 index 00000000..ed071b0c --- /dev/null +++ b/bootstrap/fix-json.py @@ -0,0 +1,27 @@ +import json +import requests +import os +import sys +import yaml + +import pdc_client + +filename = 'bootstrap-master-1.json' +print("Reading %s" % filename) +with open(filename, 'r') as f: + entry = json.loads(f.read()) + +print entry['modulemd'] +modulemd = yaml.load(entry['modulemd']) +mbs = {} +mbs['commit'] = modulemd['data']['xmd']['mbs_commit'] +mbs['buildrequires'] = modulemd['data']['xmd']['mbs_buildrequires'] +del modulemd['data']['xmd']['mbs_commit'] +del modulemd['data']['xmd']['mbs_buildrequires'] +modulemd['data']['xmd']['mbs'] = mbs +entry['modulemd'] = yaml.dump(modulemd) + +filename = "fixed-" + filename +print("Writing %s" % filename) +with open(filename, 'w') as f: + entry = f.write(json.dumps(entry, indent=2)) diff --git a/bootstrap/fixed-bootstrap-master-1.json b/bootstrap/fixed-bootstrap-master-1.json new file mode 100644 index 00000000..b93d39f8 --- /dev/null +++ b/bootstrap/fixed-bootstrap-master-1.json @@ -0,0 +1,12 @@ +{ + "variant_uid": "bootstrap-master-1", + "variant_release": "1", + "build_deps": [], + "variant_name": "bootstrap", + "variant_type": "module", + "modulemd": "data:\n description: '...'\n name: bootstrap\n profiles:\n buildroot:\n rpms: [bash, bzip2, coreutils, cpio, diffutils, fedora-release, findutils, gawk,\n gcc, gcc-c++, grep, gzip, info, make, patch, redhat-rpm-config, rpm-build,\n sed, shadow-utils, tar, unzip, util-linux, which, xz]\n srpm-buildroot:\n rpms: [bash, fedora-release, fedpkg-minimal, gnupg2, redhat-rpm-config, rpm-build,\n shadow-utils]\n stream: master\n summary: A fake bootstrap module, used to bootstrap the infrastructure.\n version: 1\n xmd:\n mbs:\n buildrequires:\n bootstrap: {ref: ae993ba84f4bce554471382ccba917ef16265f11, stream: master,\n version: 1}\n commit: ae993ba84f4bce554471382ccba917ef16265f11\ndocument: modulemd\nversion: 1\n", + "koji_tag": "f26-modularity", + "runtime_deps": [], + "variant_id": "bootstrap", + "variant_version": "master" +} \ No newline at end of file diff --git a/bootstrap/print-bootstrapped.py b/bootstrap/print-bootstrapped.py new file mode 100644 index 00000000..2d09f293 --- /dev/null +++ b/bootstrap/print-bootstrapped.py @@ -0,0 +1,9 @@ +import requests +import yaml + +response = requests.get('https://pdc.fedoraproject.org/rest_api/v1/unreleasedvariants/?variant_version=master&page_size=-1&variant_id=bootstrap') + +data = response.json() +item = data[0] +item['modulemd'] = yaml.load(item['modulemd']) +print yaml.dump(item)