From 4753b9a9a9d4bb4d521871824e0efae7e04cf1a2 Mon Sep 17 00:00:00 2001 From: Ilya Shakhat Date: Fri, 25 Apr 2014 19:52:59 +0400 Subject: [PATCH] Refactoring of default_data format * Removed term 'verification level' * Simplified list of releases * Simplified case of external CI Change-Id: I5e0cd2be6c28c2b498658e215c2387205ef51034 --- driverlog/dashboard/static/css/style.css | 12 - driverlog/dashboard/vault.py | 59 +-- driverlog/processor/main.py | 71 +-- etc/default_data.json | 616 +++-------------------- etc/default_data.schema.json | 62 +-- 5 files changed, 114 insertions(+), 706 deletions(-) diff --git a/driverlog/dashboard/static/css/style.css b/driverlog/dashboard/static/css/style.css index e1c7b16..4d7401d 100644 --- a/driverlog/dashboard/static/css/style.css +++ b/driverlog/dashboard/static/css/style.css @@ -404,18 +404,6 @@ body .ui-tooltip { opacity: 0.8; } -.verification_1 { - color: red; -} - -.verification_2 { - color: orange; -} - -.verification_3 { - color: #008000; -} - .not-specified { font-style: italic; color: #909090; diff --git a/driverlog/dashboard/vault.py b/driverlog/dashboard/vault.py index d0ae031..d2efd39 100644 --- a/driverlog/dashboard/vault.py +++ b/driverlog/dashboard/vault.py @@ -12,6 +12,7 @@ # implied. # See the License for the specific language governing permissions and # limitations under the License. + import re import flask @@ -24,32 +25,6 @@ from driverlog.openstack.common import log as logging LOG = logging.getLogger(__name__) -LEVELS = [ - { - 'level_id': 'self_verification', - 'level_name': 'self-verification', - }, - { - 'level_id': '3rd_party_verification', - 'level_name': '3rd-party verification', - }, - { - 'level_id': 'external_ci_verification', - 'level_name': 'verified by external CI' - } -] - - -def _build_levels_map(): - levels_map = dict() - index = 1 - for level in LEVELS: - level['level'] = index - levels_map[level['level_id']] = level - index += 1 - return levels_map - - def _build_projects_map(default_data): projects_map = {} for project in default_data['projects']: @@ -84,31 +59,13 @@ def _extend_drivers_info(): key=lambda x: x['name']) -def _build_drivers_map(default_data, levels_map, projects_map): +def _build_drivers_map(default_data, projects_map): driver_map = {} for driver in default_data['drivers']: driver['project_name'] = projects_map[driver['project_id']]['name'] - driver['os_versions_map'] = {} - - max_level = LEVELS[0] - for os_version in driver['os_versions']: - level = levels_map[os_version['verification']] - os_version['verification_name'] = level['level_name'] - os_version['level'] = level['level'] - if 'os_version' not in os_version: - os_version['os_version'] = 'master' - - if level['level'] > max_level['level']: - max_level = level - max_level['os_version'] = os_version['os_version'] - - driver['os_versions_map'][os_version['os_version']] = os_version - - driver.update(max_level) - key = (driver['project_id'].lower(), driver['vendor'].lower(), driver['name'].lower()) @@ -132,9 +89,6 @@ def get_vault(): conf = flask.current_app.config['CONF'] - levels_map = _build_levels_map() - vault['levels_map'] = levels_map - MEMCACHED_URI_PREFIX = r'^memcached:\/\/' stripped = re.sub(MEMCACHED_URI_PREFIX, '', conf.runtime_storage_uri) @@ -167,7 +121,7 @@ def get_vault(): vault['releases_map'] = releases_map drivers_map = _build_drivers_map( - vault['default_data'], vault['levels_map'], projects_map) + vault['default_data'], projects_map) vault['drivers_map'] = drivers_map _extend_drivers_info() @@ -176,19 +130,12 @@ def get_vault(): vault['update_hash'] = hashes['update_hash'] update = memcached.get('driverlog:update') - levels_map = vault['levels_map'] - for proj_vendor_driver, os_versions_map in update.iteritems(): ovm = os_versions_map['os_versions_map'] if proj_vendor_driver not in vault['drivers_map']: LOG.info('Unknown driver %s, ignoring', proj_vendor_driver) else: - for os_version, info in ovm.iteritems(): - level = levels_map[info['verification']] - info['verification_name'] = level['level_name'] - info['level'] = level['level'] - vault['drivers_map'][proj_vendor_driver][ 'os_versions_map'].update(ovm) diff --git a/driverlog/processor/main.py b/driverlog/processor/main.py index 3960bc0..6f6d6e9 100644 --- a/driverlog/processor/main.py +++ b/driverlog/processor/main.py @@ -12,9 +12,11 @@ # implied. # See the License for the specific language governing permissions and # limitations under the License. + import hashlib import json +import collections import re import memcache @@ -70,33 +72,29 @@ def update_generator(memcached, default_data, ci_ids_map, force_update=False): message = '' for comment in reversed(review['comments']): prefix = 'Patch Set %s:' % patch_number - if ((comment['reviewer']['username'] == ci) and + if ((comment['reviewer'].get('username') == ci) and (comment['message'].find(prefix) == 0)): message = comment['message'][len(prefix):].strip() break success = approval['value'] in ['1', '2'] - vendor = ci_ids_map[ci][0] - driver_name = ci_ids_map[ci][1] + for vendor_driver in ci_ids_map[ci]: + vendor, driver_name = vendor_driver - yield { - (project_id.lower(), vendor.lower(), - driver_name.lower()): { - 'os_versions_map': { - branch: { - 'project_id': project_id, - 'vendor': vendor, - 'name': driver_name, - 'verification': 'external_ci_verification', - 'success': success, - 'comment': message, - 'timestamp': approval['grantedOn'], - 'review_url': review_url + yield { + (project_id.lower(), vendor.lower(), + driver_name.lower()): { + 'os_versions_map': { + branch: { + 'success': success, + 'comment': message, + 'timestamp': approval['grantedOn'], + 'review_url': review_url + } } } - } - } + } last_id = rcs_inst.get_last_id() LOG.debug('RCS last id is: %s', last_id) @@ -132,14 +130,21 @@ def main(): LOG.critical('Unable to load default data') return not 0 - ci_ids_map = {} + ci_ids_map = collections.defaultdict(set) for driver in default_data['drivers']: vendor = driver['vendor'] driver_name = driver['name'] - for os_version in driver['os_versions']: - if os_version['verification'] == 'external_ci_verification': - ci_id = os_version['ci_id'] - ci_ids_map[ci_id] = (vendor, driver_name) + if 'ci_id' in driver: + ci_id = driver['ci_id'] + ci_ids_map[ci_id].add((vendor, driver_name)) + + driver['os_versions_map'] = {} + if 'releases' in driver: + for release in driver['releases']: + driver['os_versions_map'][release] = { + 'success': True, + 'comment': 'self-tested verification' + } update = {} if not cfg.CONF.force_update: @@ -156,17 +161,21 @@ def main(): if key not in update: update.update(record) else: - persisted_os_versions = update[key]['os_versions_map'] - for os_version, info in record[key]['os_versions_map'].iteritems(): - if os_version not in persisted_os_versions: - persisted_os_versions[os_version] = info - else: - persisted_os_versions[os_version].update(info) + os_version = record[key]['os_versions_map'].keys()[0] + info = record[key]['os_versions_map'].values()[0] + if os_version in update[key]['os_versions_map']: + update[key]['os_versions_map'][os_version].update(info) + else: + update[key]['os_versions_map'][os_version] = info memcache_inst.set('driverlog:default_data', default_data) memcache_inst.set('driverlog:update', update) - memcache_inst.set('driverlog:default_data_hash', _get_hash(default_data)) - if has_update: + + old_dd_hash = memcache_inst.get('driverlog:default_data_hash') + new_dd_hash = _get_hash(default_data) + memcache_inst.set('driverlog:default_data_hash', new_dd_hash) + + if has_update or old_dd_hash != new_dd_hash: memcache_inst.set('driverlog:update_hash', time.time()) diff --git a/etc/default_data.json b/etc/default_data.json index 251a578..ca882ba 100644 --- a/etc/default_data.json +++ b/etc/default_data.json @@ -68,92 +68,33 @@ "name": "Josh Durgin, Mike Perez, Edward Hope-Morley" }, "wiki": "http://docs.openstack.org/trunk/config-reference/content/ceph-rados.html", - "os_versions": [ - { - "os_version": "Cactus", - "verification": "self_verification", - "success": true - }, - { - "os_version": "Diablo", - "verification": "self_verification", - "success": true - }, - { - "os_version": "Folsom", - "verification": "self_verification", - "success": true - }, - { - "os_version": "Havana", - "verification": "self_verification", - "success": true - }, - { - "os_version": "Icehouse", - "verification": "self_verification" - } - ] + "releases": ["Cactus", "Diablo", "Essex", "Folsom", "Grizzly", "Havana", "Icehouse"] }, { "project_id": "openstack/cinder", "vendor": "Citrix", "name": "XenAPI Storage Manager volume driver", - "wiki": "http://docs.openstack.org/trunk/config-reference/content/xensm.html", - "os_versions": [ - ] + "wiki": "http://docs.openstack.org/trunk/config-reference/content/xensm.html" }, { "project_id": "openstack/cinder", "vendor": "Citrix", "name": "XenAPINFS", - "wiki": "http://docs.openstack.org/trunk/config-reference/content/xenapinfs.html", - "os_versions": [ - ] + "wiki": "http://docs.openstack.org/trunk/config-reference/content/xenapinfs.html" }, { "project_id": "openstack/cinder", "vendor": "Coraid", "name": "Coraid AoE driver", "wiki": "http://docs.openstack.org/trunk/config-reference/content/coraid_aoe_driver_configuration.html", - "os_versions": [ - { - "os_version": "Grizzly", - "verification": "self_verification" - }, - { - "os_version": "Havana", - "verification": "self_verification" - }, - { - "os_version": "Icehouse", - "verification": "self_verification" - } - ] + "releases": ["Grizzly", "Havana", "Icehouse"] }, { "project_id": "openstack/cinder", "vendor": "Dell", "name": "Dell EqualLogic volume driver", "wiki": "http://docs.openstack.org/trunk/config-reference/content/dell-equallogic-driver.html", - "os_versions": [ - { - "os_version": "Havana", - "verification": "self_verification", - "success": true - }, - { - "os_version": "Icehouse", - "verification": "3rd_party_verification", - "verifiers": [ - { - "name": "J M Jacob", - "launchpad_id": "jacob-jacob" - } - ], - "success": true - } - ] + "releases": ["Havana", "Icehouse"] }, { "project_id": "openstack/cinder", @@ -164,19 +105,7 @@ "email": "xing.yang@emc.com" }, "wiki": "http://docs.openstack.org/trunk/config-reference/content/emc-smis-iscsi-driver.html", - "os_versions": [ - { - "os_version": "Icehouse", - "verification": "3rd_party_verification", - "verifiers": [ - { - "name": "Xing Yang", - "launchpad_id": "xing-yang" - } - ], - "success": true - } - ] + "releases": ["Icehouse"] }, { "project_id": "openstack/cinder", @@ -186,18 +115,7 @@ "name": "Eric Harney" }, "wiki": "http://docs.openstack.org/trunk/config-reference/content/GlusterFS-driver.html", - "os_versions": [ - { - "os_version": "Grizzly", - "verification": "self_verification", - "success": true - }, - { - "os_version": "Havana", - "verification": "self_verification", - "success": true - } - ] + "releases": ["Grizzly", "Havana", "Icehouse"] }, { "project_id": "openstack/cinder", @@ -208,19 +126,7 @@ "email": "walter.boring@hp.com" }, "wiki": "http://docs.openstack.org/trunk/config-reference/content/hp-3par-driver.html", - "os_versions": [ - { - "os_version": "Icehouse", - "verification": "3rd_party_verification", - "verifiers": [ - { - "name": "Walt Boring", - "launchpad_id": "walter-boring" - } - ], - "success": true - } - ] + "releases": ["Icehouse"] }, { "project_id": "openstack/cinder", @@ -231,60 +137,21 @@ "email": "kurt.f.martin@hp.com" }, "wiki": "http://docs.openstack.org/trunk/config-reference/content/HPSan-driver.html", - "os_versions": [ - { - "os_version": "Diablo", - "verification": "self_verification", - "success": true - }, - { - "os_version": "Grizzly", - "verification": "self_verification", - "success": true - }, - { - "os_version": "Havana", - "verification": "self_verification", - "success": true - }, - { - "os_version": "Icehouse", - "verification": "3rd_party_verification", - "verifiers": [ - { - "name": "Jim Branen", - "launchpad_id": "james-branen" - } - ], - "success": true - } - ] + "releases": ["Diablo", "Essex", "Folsom", "Grizzly", "Havana", "Icehouse"] }, { "project_id": "openstack/cinder", "vendor": "Hitachi", "name": "HDS iSCSI volume driver", "wiki": "http://docs.openstack.org/trunk/config-reference/content/hds-volume-driver.html", - "os_versions": [ - { - "os_version": "Havana", - "verification": "self_verification", - "success": true - } - ] + "releases": ["Havana"] }, { "project_id": "openstack/cinder", "vendor": "Huawei", "name": "Huawei storage driver", "wiki": "http://docs.openstack.org/trunk/config-reference/content/huawei-storage-driver.html", - "os_versions": [ - { - "os_version": "Havana", - "verification": "self_verification", - "success": true - } - ] + "releases": ["Havana"] }, { "project_id": "openstack/cinder", @@ -295,29 +162,7 @@ "email": "openstack_storage_drivers@il.ibm.com" }, "wiki": "http://docs.openstack.org/trunk/config-reference/content/GPFS-driver.html", - "os_versions": [ - { - "os_version": "Folsom", - "verification": "self_verification", - "success": true - }, - { - "os_version": "Havana", - "verification": "self_verification", - "success": true - }, - { - "os_version": "Icehouse", - "verification": "3rd_party_verification", - "verifiers": [ - { - "name": "Bill Owen", - "launchpad_id": "billowen" - } - ], - "success": true - } - ] + "releases": ["Folsom", "Grizzly", "Havana", "Icehouse"] }, { "project_id": "openstack/cinder", @@ -328,19 +173,7 @@ "email": "openstack_storage_drivers@il.ibm.com" }, "wiki": "http://docs.openstack.org/trunk/config-reference/content/ibm-storwize-svc-driver.html", - "os_versions": [ - { - "os_version": "Icehouse", - "verification": "3rd_party_verification", - "verifiers": [ - { - "name": "Avishay Traeger", - "launchpad_id": "avishay-il" - } - ], - "success": true - } - ] + "releases": ["Icehouse"] }, { "project_id": "openstack/cinder", @@ -351,52 +184,14 @@ "email": "openstack_storage_drivers@il.ibm.com" }, "wiki": "http://docs.openstack.org/trunk/config-reference/content/ibm-xiv-driver.html", - "os_versions": [ - { - "os_version": "Folsom", - "verification": "self_verification", - "success": true - }, - { - "os_version": "Grizzly", - "verification": "self_verification", - "success": true - }, - { - "os_version": "Havana", - "verification": "self_verification", - "success": true - }, - { - "os_version": "Icehouse", - "verification": "3rd_party_verification", - "verifiers": [ - { - "name": "Alon Marx", - "launchpad_id": "alonma" - } - ], - "success": true - } - ] + "releases": ["Folsom", "Grizzly", "Havana", "Icehouse"] }, { "project_id": "openstack/cinder", "vendor": "Microsoft", "name": "Windows Server 2012", "wiki": "http://docs.openstack.org/trunk/config-reference/content/windows-volume-driver.html", - "os_versions": [ - { - "os_version": "Grizzly", - "verification": "self_verification", - "success": true - }, - { - "os_version": "Havana", - "verification": "self_verification", - "success": true - } - ] + "releases": ["Grizzly", "Havana", "Icehouse"] }, { "project_id": "openstack/cinder", @@ -407,42 +202,14 @@ "irc": "bswartz" }, "wiki": "http://docs.openstack.org/trunk/config-reference/content/netapp-volume-driver.html", - "os_versions": [ - { - "os_version": "Icehouse", - "verification": "3rd_party_verification", - "verifiers": [ - { - "name": "Andrew Kerr", - "launchpad_id": "andrew-kerr" - } - ], - "success": true - } - ] + "releases": ["Icehouse"] }, { "project_id": "openstack/cinder", "vendor": "Nexenta", "name": "Nexenta drivers", "wiki": "http://docs.openstack.org/trunk/config-reference/content/nexenta-driver.html", - "os_versions": [ - { - "os_version": "Essex", - "verification": "self_verification", - "success": true - }, - { - "os_version": "Grizzly", - "verification": "self_verification", - "success": true - }, - { - "os_version": "Havana", - "verification": "self_verification", - "success": true - } - ] + "releases": ["Essex", "Folsom", "Grizzly", "Havana", "Icehouse"] }, { "project_id": "openstack/cinder", @@ -453,77 +220,35 @@ "email": "john.griffith@solidfire.com" }, "wiki": "http://docs.openstack.org/trunk/config-reference/content/lvm-volume-driver.html", - "os_versions": [ - { - "os_version": "Folsom", - "verification": "self_verification", - "success": true - }, - { - "os_version": "Grizzly", - "verification": "self_verification", - "success": true - }, - { - "os_version": "Havana", - "verification": "self_verification", - "success": true - }, - { - "verification": "external_ci_verification", - "ci_id": "jenkins" - } - ] + "ci_id": "jenkins", + "releases": ["Folsom", "Grizzly", "Havana", "Icehouse"] }, { "project_id": "openstack/cinder", "vendor": "OpenStack Community", "name": "NFS", "wiki": "http://docs.openstack.org/trunk/config-reference/content/NFS-driver.html", - "os_versions": [ - { - "verification": "external_ci_verification", - "ci_id": "jenkins" - } - ] + "ci_id": "jenkins" }, { "project_id": "openstack/cinder", "vendor": "OpenStack Community", "name": "SheepDog Volume Driver", "wiki": "http://docs.openstack.org/trunk/config-reference/content/sheepdog-driver.html", - "os_versions": [ - { - "verification": "external_ci_verification", - "ci_id": "jenkins" - } - ] + "ci_id": "jenkins" }, { "project_id": "openstack/cinder", "vendor": "Oracle", "name": "Solaris (ZFS)", - "wiki": "https://github.com/openstack/cinder/blob/da2dbd35de752d4dd47859c8b9197b00c53dd872/etc/cinder/cinder.conf.sample", - "os_versions": [ - ] + "wiki": "https://github.com/openstack/cinder/blob/da2dbd35de752d4dd47859c8b9197b00c53dd872/etc/cinder/cinder.conf.sample" }, { "project_id": "openstack/cinder", "vendor": "Scality", "name": "Scality", "wiki": "https://github.com/openstack/cinder/blob/da2dbd35de752d4dd47859c8b9197b00c53dd872/etc/cinder/cinder.conf.sample", - "os_versions": [ - { - "os_version": "Grizzly", - "verification": "self_verification", - "success": true - }, - { - "os_version": "Havana", - "verification": "self_verification", - "success": true - } - ] + "releases": ["Grizzly", "Havana", "Icehouse"] }, { "project_id": "openstack/cinder", @@ -534,33 +259,7 @@ "email": "john.griffith@solidfire.com" }, "wiki": "http://docs.openstack.org/trunk/config-reference/content/solidfire-volume-driver.html", - "os_versions": [ - { - "os_version": "Folsom", - "verification": "self_verification", - "success": true - }, - { - "os_version": "Grizzly", - "verification": "self_verification", - "success": true - }, - { - "os_version": "Havana", - "verification": "self_verification", - "success": true - }, - { - "os_version": "Icehouse", - "verification": "3rd_party_verification", - "verifiers": [ - { - "name": "John Doe" - } - ], - "success": true - } - ] + "releases": ["Folsom", "Grizzly", "Havana", "Icehouse"] }, { "project_id": "openstack/cinder", @@ -571,37 +270,14 @@ "email": "sneelakantan@vmware.com" }, "wiki": "http://docs.openstack.org/trunk/config-reference/content/vmware-vmdk-driver.html", - "os_versions": [ - { - "os_version": "Icehouse", - "verification": "3rd_party_verification", - "verifiers": [ - { - "name": "satyadev svn", - "launchpad_id": "svnsatya" - } - ], - "success": true - } - ] + "releases": ["Icehouse"] }, { "project_id": "openstack/cinder", "vendor": "Zadara Storage", "name": "Zadara VPSA Cloud Block Storage", "wiki": "http://docs.openstack.org/trunk/config-reference/content/zadara-volume-driver.html", - "os_versions": [ - { - "os_version": "Folsom", - "verification": "self_verification", - "success": true - }, - { - "os_version": "Havana", - "verification": "self_verification", - "success": true - } - ] + "releases": ["Folsom", "Grizzly", "Havana", "Icehouse"] }, { "project_id": "openstack/neutron", @@ -611,9 +287,7 @@ "name": "Micheal Thompson", "irc": "layer427expert" }, - "wiki": "https://wiki.openstack.org/wiki/Neutron/LBaaS/A10Networks", - "os_versions": [ - ] + "wiki": "https://wiki.openstack.org/wiki/Neutron/LBaaS/A10Networks" }, { "project_id": "openstack/neutron", @@ -625,12 +299,7 @@ "irc": "Sukhdev" }, "wiki": "https://wiki.openstack.org/wiki/Arista-neutron-ml2-driver", - "os_versions": [ - { - "verification": "external_ci_verification", - "ci_id": "arista-test" - } - ] + "ci_id": "arista-test" }, { "project_id": "openstack/neutron", @@ -642,12 +311,7 @@ "irc": "kevinbenton" }, "wiki": "http://www.openflowhub.org/display/floodlightcontroller/Neutron+REST+Proxy+Plugin", - "os_versions": [ - { - "verification": "external_ci_verification", - "ci_id": "bsn" - } - ] + "ci_id": "bsn" }, { "project_id": "openstack/neutron", @@ -658,12 +322,7 @@ "irc": "shivh" }, "wiki": "https://wiki.openstack.org/wiki/Brocade-neutron-plugin", - "os_versions": [ - { - "verification": "external_ci_verification", - "ci_id": "bci" - } - ] + "ci_id": "bci" }, { "project_id": "openstack/neutron", @@ -675,12 +334,7 @@ "irc": "rcurran" }, "wiki": "https://wiki.openstack.org/wiki/Neutron/ML2/MechCiscoNexus", - "os_versions": [ - { - "verification": "external_ci_verification", - "ci_id": "cisco_neutron_ci" - } - ] + "ci_id": "cisco_neutron_ci" }, { "project_id": "openstack/neutron", @@ -691,20 +345,13 @@ "irc": "HenryG" }, "wiki": "https://wiki.openstack.org/wiki/Cisco-neutron", - "os_versions": [ - { - "verification": "external_ci_verification", - "ci_id": "cisco_neutron_ci" - } - ] + "ci_id": "cisco_neutron_ci" }, { "project_id": "openstack/neutron", "vendor": "Cloudbase", "name": "Cloudbase Hyper-V Plugin", - "wiki": "http://www.cloudbase.it/quantum-hyper-v-plugin/", - "os_versions": [ - ] + "wiki": "http://www.cloudbase.it/quantum-hyper-v-plugin/" }, { "project_id": "openstack/neutron", @@ -715,36 +362,25 @@ "irc": "ivar-lazzaro" }, "wiki": "https://wiki.openstack.org/wiki/Neutron/EmbraneNeutronPlugin", - "os_versions": [ - { - "verification": "external_ci_verification", - "ci_id": "eci" - } - ] + "ci_id": "eci" }, { "project_id": "openstack/neutron", "vendor": "Extreme Networks", "name": "Extreme Networks Plugin", - "wiki": "http://extrcdn.extremenetworks.com/wp-content/uploads/2014/02/SDN_OpenStack_Install_Guide_Final1.pdf", - "os_versions": [ - ] + "wiki": "http://extrcdn.extremenetworks.com/wp-content/uploads/2014/02/SDN_OpenStack_Install_Guide_Final1.pdf" }, { "project_id": "openstack/neutron", "vendor": "IBM", "name": "IBM SDN-VE Plugin", - "wiki": "http://docs.openstack.org/trunk/config-reference/content/networking-plugin-linuxbridge_agent.html", - "os_versions": [ - ] + "wiki": "http://docs.openstack.org/trunk/config-reference/content/networking-plugin-linuxbridge_agent.html" }, { "project_id": "openstack/neutron", "vendor": "Juniper", "name": "Juniper Networks plug-in for OpenStack Neutron", - "wiki": "http://www.juniper.net/techpubs/en_US/release-independent/junos/topics/topic-map/openstack-neutron-plugin.html", - "os_versions": [ - ] + "wiki": "http://www.juniper.net/techpubs/en_US/release-independent/junos/topics/topic-map/openstack-neutron-plugin.html" }, { "project_id": "openstack/neutron", @@ -756,12 +392,7 @@ "irc": "irenab" }, "wiki": "https://wiki.openstack.org/wiki/Mellanox-Neutron", - "os_versions": [ - { - "verification": "external_ci_verification", - "ci_id": "mellanox" - } - ] + "ci_id": "mellanox" }, { "project_id": "openstack/neutron", @@ -773,12 +404,7 @@ "irc": "luqas" }, "wiki": "https://wiki.openstack.org/wiki/Spec-QuantumMidoNetPlugin", - "os_versions": [ - { - "verification": "external_ci_verification", - "ci_id": "midokura" - } - ] + "ci_id": "midokura" }, { "project_id": "openstack/neutron", @@ -790,12 +416,7 @@ "email": "nec-openstack-ci@iaas.jp.nec.com" }, "wiki": "https://wiki.openstack.org/wiki/Neutron/NEC_OpenFlow_Plugin", - "os_versions": [ - { - "verification": "external_ci_verification", - "ci_id": "nec-openstack-ci" - } - ] + "ci_id": "nec-openstack-ci" }, { "project_id": "openstack/neutron", @@ -805,9 +426,7 @@ "maintainer": { "name": "Armando Migliaccio", "irc": "armax" - }, - "os_versions": [ - ] + } }, { "project_id": "openstack/neutron", @@ -818,32 +437,20 @@ "email": "nuage-ci@nuagenetworks.net", "irc": "rms_13" }, - "os_versions": [ - { - "verification": "external_ci_verification", - "ci_id": "nuage-ci" - } - ] + "ci_id": "nuage-ci" }, { "project_id": "openstack/neutron", "vendor": "One Convergence", "name": "One Convergence NVSD Controller", "wiki": "https://github.com/openstack/neutron/tree/master/neutron/plugins/oneconvergence", - "os_versions": [ - { - "verification": "external_ci_verification", - "ci_id": "oneconvergence" - } - ] + "ci_id": "oneconvergence" }, { "project_id": "openstack/neutron", "vendor": "OpenContrail", "name": "OpenContrail Plugin", - "wiki": "http://opencontrail.org/opencontrail-architecture-documentation/#section2_5", - "os_versions": [ - ] + "wiki": "http://opencontrail.org/opencontrail-architecture-documentation/#section2_5" }, { "project_id": "openstack/neutron", @@ -854,12 +461,7 @@ "irc": "mestery" }, "wiki": "http://openstack.redhat.com/OpenDaylight_integration", - "os_versions": [ - { - "verification": "external_ci_verification", - "ci_id": "odl-jenkins" - } - ] + "ci_id": "odl-jenkins" }, { "project_id": "openstack/neutron", @@ -870,12 +472,7 @@ "irc": "rkukura" }, "wiki": "http://docs.openstack.org/trunk/config-reference/content/networking-plugin-linuxbridge_agent.html", - "os_versions": [ - { - "verification": "external_ci_verification", - "ci_id": "jenkins" - } - ] + "ci_id": "jenkins" }, { "project_id": "openstack/neutron", @@ -886,24 +483,14 @@ "irc": "nati_ueno" }, "wiki": "http://docs.openstack.org/trunk/config-reference/content/networking-plugin-meta.html", - "os_versions": [ - { - "verification": "external_ci_verification", - "ci_id": "jenkins" - } - ] + "ci_id": "jenkins" }, { "project_id": "openstack/neutron", "vendor": "OpenStack Community", "name": "Open vSwitch Plugin", "wiki": "http://docs.openstack.org/grizzly/openstack-network/admin/content/under_the_hood_openvswitch.html", - "os_versions": [ - { - "verification": "external_ci_verification", - "ci_id": "jenkins" - } - ] + "ci_id": "jenkins" }, { "project_id": "openstack/neutron", @@ -915,20 +502,13 @@ "irc": "fawadkhaliq" }, "wiki": "https://wiki.openstack.org/wiki/PLUMgrid-Neutron", - "os_versions": [ - { - "verification": "external_ci_verification", - "ci_id": "plumgrid-ci" - } - ] + "ci_id": "plumgrid-ci" }, { "project_id": "openstack/neutron", "vendor": "Ruijie", "name": "Neutron Plugin", - "wiki": "https://github.com/ruijie/rgos_quantum_plugin/wiki/Quick-start-with-rgos-quantum-plugin", - "os_versions": [ - ] + "wiki": "https://github.com/ruijie/rgos_quantum_plugin/wiki/Quick-start-with-rgos-quantum-plugin" }, { "project_id": "openstack/neutron", @@ -939,12 +519,7 @@ "irc": "nati_ueno" }, "wiki": "https://github.com/osrg/ryu/wiki/configuration_openstack_havana_with_ryu", - "os_versions": [ - { - "verification": "external_ci_verification", - "ci_id": "neutronryu" - } - ] + "ci_id": "neutronryu" }, { "project_id": "openstack/neutron", @@ -957,12 +532,7 @@ "email": "tobbe@tail-f.com" }, "wiki": "https://wiki.openstack.org/wiki/Neutron/ML2/Tail-f-NCS-neutron-ml2-driver", - "os_versions": [ - { - "verification": "external_ci_verification", - "ci_id": "tailfncs" - } - ] + "ci_id": "tailfncs" }, { "project_id": "openstack/neutron", @@ -975,144 +545,88 @@ "irc": "garyduan" }, "wiki": "https://wiki.openstack.org/wiki/Neutron/vArmour-Firewall", - "os_versions": [ - { - "verification": "external_ci_verification", - "ci_id": "varmourci" - } - ] + "ci_id": "varmourci" }, { "project_id": "openstack/nova", "vendor": "Citrix", "name": "Xen", "wiki": "http://docs.openstack.org/trunk/config-reference/content/introduction-to-xen.html", - "os_versions": [ - { - "verification": "external_ci_verification", - "ci_id": "citrix_xenserver_ci" - } - ] + "ci_id": "citrix_xenserver_ci" }, { "project_id": "openstack/nova", "vendor": "IBM", "name": "PowerVM", - "wiki": "http://docs.openstack.org/trunk/config-reference/content/powervm.html", - "os_versions": [ - ] + "wiki": "http://docs.openstack.org/trunk/config-reference/content/powervm.html" }, { "project_id": "openstack/nova", "vendor": "Microsoft", "name": "Hyper-V virtualization platform", "wiki": "http://wiki.cloudbase.it/hyperv-tempest-exclusions", - "os_versions": [ - { - "verification": "external_ci_verification", - "ci_id": "hyper-v-ci" - } - ] + "ci_id": "hyper-v-ci" }, { "project_id": "openstack/nova", "vendor": "OpenStack Community", "name": "Baremetal driver", "wiki": "http://docs.openstack.org/trunk/config-reference/content/baremetal.html", - "os_versions": [ - { - "verification": "external_ci_verification", - "ci_id": "jenkins" - } - ] + "ci_id": "jenkins" }, { "project_id": "openstack/nova", "vendor": "OpenStack Community", "name": "Docker driver", "wiki": "http://docs.openstack.org/trunk/config-reference/content/docker.html", - "os_versions": [ - { - "verification": "external_ci_verification", - "ci_id": "jenkins" - } - ] + "ci_id": "jenkins" }, { "project_id": "openstack/nova", "vendor": "OpenStack Community", "name": "Ironic", - "wiki": "https://wiki.openstack.org/wiki/Ironic", - "os_versions": [ - ] + "wiki": "https://wiki.openstack.org/wiki/Ironic" }, { "project_id": "openstack/nova", "vendor": "OpenStack Community", "name": "KVM", "wiki": "http://docs.openstack.org/trunk/config-reference/content/kvm.html", - "os_versions": [ - { - "verification": "external_ci_verification", - "ci_id": "jenkins" - } - ] + "ci_id": "jenkins" }, { "project_id": "openstack/nova", "vendor": "OpenStack Community", "name": "LXC (Linux Containers)", "wiki": "http://docs.openstack.org/trunk/config-reference/content/lxc.html", - "os_versions": [ - { - "verification": "external_ci_verification", - "ci_id": "jenkins" - } - ] + "ci_id": "jenkins" }, { "project_id": "openstack/nova", "vendor": "OpenStack Community", "name": "QEMU", "wiki": "http://docs.openstack.org/trunk/config-reference/content/qemu.html", - "os_versions": [ - { - "verification": "external_ci_verification", - "ci_id": "jenkins" - } - ] + "ci_id": "jenkins" }, { "project_id": "openstack/nova", "vendor": "VMware", "name": "VMWare vShepre", "wiki": "http://docs.openstack.org/trunk/config-reference/content/vmware.html", - "os_versions": [ - { - "verification": "external_ci_verification", - "ci_id": "vmwareminesweeper" - } - ] + "ci_id": "vmwareminesweeper" }, { "project_id": "openstack/sahara", "vendor": "Hortonworks", "name": "Hortonworks Data Platform Plugin", - "wiki": "http://docs.openstack.org/developer/sahara/userdoc/hdp_plugin.html", - "os_versions": [ - ] + "wiki": "http://docs.openstack.org/developer/sahara/userdoc/hdp_plugin.html" }, { "project_id": "openstack/sahara", "vendor": "OpenStack Community", "name": "Vanilla Plugin", "wiki": "http://docs.openstack.org/developer/sahara/userdoc/vanilla_plugin.html", - "os_versions": [ - { - "verification": "external_ci_verification", - "ci_id": "savanna-ci" - } - ] + "ci_id": "savanna-ci" } ] } diff --git a/etc/default_data.schema.json b/etc/default_data.schema.json index 234aae3..17c5c19 100644 --- a/etc/default_data.schema.json +++ b/etc/default_data.schema.json @@ -59,19 +59,17 @@ "wiki": { "type": "string" }, - "os_versions": { + "releases": { "type": "array", "items": { - "type": "object", - "oneOf": [ - { "$ref": "#/definitions/self_verification" }, - { "$ref": "#/definitions/3rd_party_verification" }, - { "$ref": "#/definitions/external_ci_verification" } - ] + "type": "string" } + }, + "ci_id": { + "type": "string" } }, - "required": ["project_id", "vendor", "name", "os_versions"], + "required": ["project_id", "vendor", "name"], "additionalProperties": false } } @@ -96,54 +94,6 @@ }, "required": ["name"], "additionalProperties": false - }, - "self_verification": { - "properties": { - "verification": { - "enum": ["self_verification"] - }, - "os_version": { - "type": "string" - }, - "success": { - "type": "boolean" - } - }, - "required": ["verification", "os_version"], - "additionalProperties": false - }, - "3rd_party_verification": { - "properties": { - "verification": { - "enum": ["3rd_party_verification"] - }, - "os_version": { - "type": "string" - }, - "success": { - "type": "boolean" - }, - "verifiers": { - "type": "array", - "items": { - "$ref": "#/definitions/user" - } - } - }, - "required": ["verification", "os_version", "success", "verifiers"], - "additionalProperties": false - }, - "external_ci_verification": { - "properties": { - "verification": { - "enum": ["external_ci_verification"] - }, - "ci_id": { - "type": "string" - } - }, - "required": ["verification", "ci_id"], - "additionalProperties": false } } }