Skip to content

Instantly share code, notes, and snippets.

@notmyname
Created September 27, 2018 21:04
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save notmyname/8bf3dbcb7195250eb76f2a1a8996fb00 to your computer and use it in GitHub Desktop.
Save notmyname/8bf3dbcb7195250eb76f2a1a8996fb00 to your computer and use it in GitHub Desktop.
import json
import pprint
try:
import urllib.request as urllib
except ImportError:
import urllib2 as urllib
from ascii_graph import Pyasciigraph
req = urllib.urlopen('https://zuul.openstack.org/api/status')
j = json.loads(req.read())
projects = {}
for pipeline in j['pipelines']:
for change_queue in pipeline['change_queues']:
for head in change_queue['heads']:
for change in head:
for job in change['jobs']:
if not job['result']:
node_count = 'multinode' in job['name'] and 2 or 1
if change['project'] in projects:
projects[change['project']] += node_count
else:
projects[change['project']] = node_count
# pprint.pprint(projects)
# print("total nodes: %s" % sum(projects.values()))
g = Pyasciigraph()
key_list = [(c, p) for p, c in projects.items()]
key_list.sort()
for line in g.graph('Node Count by Project', ((proj, count) for count, proj in key_list)):
print line
Node Count by Project
#####################################################################################################
1 openstack-infra/bindep
1 openstack-infra/elastic-recheck
1 openstack-infra/openstack-zuul-jobs
1 openstack-infra/zuul-sphinx
1 openstack/adjutant
1 openstack/airship-maas
1 openstack/airship-specs
1 openstack/ansible-role-chrony
1 openstack/ansible-role-redhat-subscription
1 openstack/api-site
1 openstack/ara-clients
1 openstack/ara-plugins
1 openstack/ara-server
1 openstack/blazar-nova
1 openstack/cinder-specs
1 openstack/cloudkitty-dashboard
1 openstack/fuel-devops
1 openstack/gerrit-dash-creator
1 openstack/governance
1 openstack/interop
1 openstack/ironic-specs
1 openstack/kayobe
1 openstack/keystone-specs
1 openstack/keystonemiddleware
1 openstack/mistral
1 openstack/monasca-specs
1 openstack/monasca-thresh
1 openstack/murano-pkg-check
1 openstack/networking-arista
1 openstack/networking-calico
1 openstack/networking-onos
1 openstack/networking-vpp
1 openstack/neutron-lib
1 openstack/nova-zvm-virt-driver
1 openstack/openstack-planet
1 openstack/oslo.vmware
1 openstack/ovsdbapp
1 openstack/panko
1 openstack/project-team-guide
1 openstack/puppet-openstack-guide
1 openstack/pyghmi
1 openstack/python-iotronicclient
1 openstack/python-karborclient
1 openstack/python-keystoneclient
1 openstack/python-magnumclient
1 openstack/python-muranoclient
1 openstack/python-openstackclient
1 openstack/python-redfish
1 openstack/python-senlinclient
1 openstack/python-solumclient
1 openstack/qa-specs
1 openstack/qinling-dashboard
1 openstack/rally-openstack
1 openstack/ranger
1 openstack/rsd-lib
1 openstack/sardonic
1 openstack/security-doc
1 openstack/senlin-tempest-plugin
1 openstack/stackviz
1 openstack/training-guides
1 openstack/tripleo-specs
1 openstack/trove-specs
1 openstack/valence
1 openstack/vmware-nsx-tempest-plugin
1 openstack/watcher-specs
1 openstack/watcher-tempest-plugin
2 openstack-infra/gerrit
2 openstack-infra/glean
2 openstack-infra/openstackid
2 openstack/airship-drydock
2 openstack/charm-glance
2 openstack/charm-tempest
2 openstack/dragonflow
2 openstack/freezer-web-ui
2 openstack/kuryr-tempest-plugin
2 openstack/magnum-ui
2 openstack/manila-ui
2 openstack/monasca-events-api
2 openstack/networking-opencontrail
2 openstack/openstack-ansible-os_masakari
2 openstack/openstack-ansible-os_monasca
2 openstack/puppet-ironic
2 openstack/puppet-octavia
2 openstack/rally
2 openstack/searchlight-ui
2 openstack/stx-gui
2 openstack/training-labs
2 openstack/tripleo-docs
2 openstack/zun-tempest-plugin
3 openstack-infra/irc-meetings
3 openstack-infra/shade
3 openstack/airship-armada
3 openstack/airship-deckhand
3 openstack/airship-in-a-bottle
3 openstack/charm-nova-cloud-controller
3 openstack/charm-vault
3 openstack/congress-dashboard
3 openstack/group-based-policy-ui
3 openstack/heat-dashboard
3 openstack/i18n
3 openstack/instack-undercloud
3 openstack/ironic-lib
3 openstack/ironic-tempest-plugin
3 openstack/ironic-ui
3 openstack/karbor
3 openstack/karbor-dashboard
3 openstack/keystoneauth
3 openstack/monasca-ui
3 openstack/networking-baremetal
3 openstack/neutron-fwaas-dashboard
3 openstack/neutron-vpnaas-dashboard
3 openstack/openstackdocstheme
3 openstack/oslo.limit
3 openstack/oslo.upgradecheck
3 openstack/patrole
3 openstack/paunch
3 openstack/python-qinlingclient
3 openstack/sahara-dashboard
3 openstack/solum
3 openstack/solum-dashboard
3 openstack/stx-fault
3 openstack/stx-metal
3 openstack/tacker
3 openstack/tripleo-ui
3 openstack/trove-dashboard
3 openstack/watcher
3 openstack/zaqar-ui
3 openstack/zun-ui
4 openstack/ansible-config_template
4 openstack/ansible-role-tripleo-modify-image
4 openstack/aodh
4 openstack/blazar
4 openstack/charm-nova-compute
4 openstack/glare
4 openstack/openstack-ansible-lxc_hosts
4 openstack/openstack-ansible-openstack_hosts
4 openstack/openstack-ansible-os_aodh
4 openstack/openstack-ansible-os_barbican
4 openstack/openstack-ansible-os_ceilometer
4 openstack/openstack-ansible-os_cloudkitty
4 openstack/openstack-ansible-os_designate
4 openstack/openstack-ansible-os_glance
4 openstack/openstack-ansible-os_gnocchi
4 openstack/openstack-ansible-os_heat
4 openstack/openstack-ansible-os_molteniron
4 openstack/openstack-ansible-os_monasca-agent
4 openstack/openstack-ansible-os_monasca-ui
4 openstack/openstack-ansible-os_sahara
4 openstack/openstack-ansible-os_swift
4 openstack/openstack-ansible-os_watcher
4 openstack/openstack-ansible-os_zaqar
4 openstack/openstack-ansible-pip_install
4 openstack/openstack-ansible-rabbitmq_server
4 openstack/openstack-ansible-repo_server
4 openstack/openstack-ansible-rsyslog_client
4 openstack/openstack-ansible-rsyslog_server
5 openstack-dev/pbr
5 openstack-infra/project-config
5 openstack/networking-cisco
5 openstack/openstack-ansible-os_tacker
5 openstack/os-net-config
5 openstack/python-monascaclient
5 openstack/python-neutronclient
5 openstack/python-troveclient
5 openstack/zun
6 openstack-dev/grenade
6 openstack-infra/zuul-jobs
6 openstack/charm-hacluster
6 openstack/designate-dashboard
6 openstack/murano-dashboard
6 openstack/neutron-lbaas-dashboard
6 openstack/openstack-ansible-os_blazar
6 openstack/openstack-helm-addons
6 openstack/openstack-manuals
6 openstack/oslosphinx
6 openstack/python-ironicclient
6 openstack/stackalytics
6 openstack/taskflow
7 openstack/airship-pegleg
7 openstack/ironic-inspector
7 openstack/networking-bigswitch
7 openstack/octavia-dashboard
7 openstack/osc-placement
7 openstack/searchlight
8 openstack/automaton
8 openstack/castellan
8 openstack/ceilometer-powervm
8 openstack/debtcollector
8 openstack/futurist
8 openstack/mox3
8 openstack/networking-midonet
8 openstack/networking-powervm
8 openstack/networking-sfc
8 openstack/nova-powervm
8 openstack/oslo.config
8 openstack/oslo.context
8 openstack/oslo.rootwrap
8 openstack/oslo.serialization
8 openstack/osprofiler
8 openstack/python-glanceclient
8 openstack/senlin
8 openstack/stevedore
8 openstack/tooz
9 openstack/airship-promenade
9 openstack/barbican
9 openstack/glance_store
9 openstack/os-traits
9 openstack/oslo.db
9 openstack/oslo.i18n
9 openstack/oslo.log
9 openstack/oslo.middleware
9 openstack/oslo.policy
9 openstack/oslo.privsep
9 openstack/oslo.reports
9 openstack/oslo.service
9 openstack/oslo.utils
9 openstack/oslo.versionedobjects
9 openstack/python-heatclient
9 openstack/stx-config
█ 10 openstack/monasca-common
█ 10 openstack/monasca-log-api
█ 10 openstack/networking-odl
█ 10 openstack/os-brick
█ 10 openstack/stx-ha
█ 10 openstack/tripleo-upgrade
█ 11 openstack/congress
█ 11 openstack/neutron-lbaas
█ 11 openstack/octavia-tempest-plugin
█ 11 openstack/openstack-ansible-os_octavia
█ 11 openstack/openstack-ansible-os_tempest
█ 12 openstack/heat-tempest-plugin
█ 12 openstack/networking-generic-switch
█ 12 openstack/os-vif
█ 12 openstack/os-win
█ 12 openstack/oslotest
█ 12 openstack/placement
█ 12 openstack/python-ironic-inspector-client
█ 12 openstack/senlin-dashboard
█ 13 openstack/ceilometer
█ 13 openstack/murano
█ 13 openstack/oslo.cache
█ 13 openstack/oslo.concurrency
█ 13 openstack/oslo.messaging
█ 14 openstack/networking-bagpipe
█ 15 openstack/networking-ansible
█ 15 openstack/python-zaqarclient
█ 15 openstack/tricircle
█ 15 openstack/vmware-nsxlib
█ 16 openstack/designate
█ 16 openstack/networking-bgpvpn
█ 16 openstack/neutron-vpnaas
█ 16 openstack/openstack-ansible-ceph_client
█ 16 openstack/openstack-ansible-os_keystone
█ 16 openstack/openstack-ansible-repo_build
█ 16 openstack/openstack-ansible-tests
█ 16 openstack/puppet-openstack-integration
█ 16 openstack/python-swiftclient
█ 16 openstack/python-tripleoclient
█ 16 openstack/zaqar
█ 17 openstack/bifrost
█ 17 openstack/neutron-fwaas
█ 17 openstack/openstack-ansible-os_nova
█ 17 openstack/python-novaclient
█ 17 openstack/trove
█ 19 openstack-infra/nodepool
██ 20 openstack/browbeat
██ 21 openstack/magnum
██ 21 openstack/neutron-dynamic-routing
██ 21 openstack/openstack-ansible-os_neutron
██ 22 openstack/openstack-ansible-galera_server
██ 22 openstack/puppet-glance
██ 22 openstack/tripleo-validations
██ 23 openstack/kolla-ansible
██ 23 openstack/openstack-ansible-os_cinder
██ 25 openstack/ironic-python-agent
██ 26 openstack/airship-shipyard
██ 27 openstack/vmware-nsx
██ 28 openstack/horizon
███ 33 openstack/kuryr-kubernetes
███ 33 openstack/openstack-ansible-os_ironic
███ 34 openstack/swift
███ 35 openstack/heat
███ 35 openstack/openstack-helm
███ 38 openstack/sahara
████ 44 openstack/octavia
████ 45 openstack/neutron-tempest-plugin
████ 45 openstack/puppet-cinder
████ 45 openstack/puppet-nova
████ 47 openstack/networking-ovn
█████ 49 openstack/puppet-neutron
█████ 55 openstack/glance
█████ 57 openstack/openstack-helm-infra
██████ 59 openstack-infra/zuul
██████ 61 openstack-infra/system-config
██████ 63 openstack/openstack-ansible-ops
██████ 64 openstack/manila
███████ 78 openstack/puppet-tripleo
████████ 79 openstack/tripleo-quickstart
████████ 83 openstack/openstack-ansible
████████ 87 openstack-dev/devstack
█████████ 94 openstack/keystone
█████████ 96 openstack/openstacksdk
█████████ 96 openstack/tempest
████████████ 125 openstack/kolla
█████████████ 130 openstack/cinder
██████████████ 143 openstack-infra/tripleo-ci
███████████████ 147 openstack/tripleo-common
████████████████ 162 openstack/requirements
████████████████████ 199 openstack/ironic
███████████████████████ 230 openstack/tripleo-quickstart-extras
███████████████████████████████████ 346 openstack/neutron
█████████████████████████████████████████████████ 483 openstack/tripleo-heat-templates
██████████████████████████████████████████████████ 488 openstack/nova
john@europa:~/Desktop$
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment