Refactoring of default_data format

* Removed term 'verification level'
* Simplified list of releases
* Simplified case of external CI

Change-Id: I5e0cd2be6c28c2b498658e215c2387205ef51034
This commit is contained in:
Ilya Shakhat 2014-04-25 19:52:59 +04:00
parent 440c7a37d5
commit 4753b9a9a9
5 changed files with 114 additions and 706 deletions

View File

@ -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;

View File

@ -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)

View File

@ -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())

View File

@ -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"
}
]
}

View File

@ -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
}
}
}